; LLVM IR from aws/s2n-tls :: tests/unit (s2n_psk_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_psk = type { i32, %struct.s2n_blob, %struct.s2n_blob, i32, i32, i64, %struct.s2n_blob, %struct.s2n_early_data_config, i64 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_early_data_config = type { i32, i8, ptr, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_crypto_parameters = type { ptr, %struct.s2n_session_key, %struct.s2n_session_key, %struct.s2n_hmac_state, %struct.s2n_hmac_state, [16 x i8], [16 x i8], [8 x i8], [8 x i8] }
%struct.s2n_session_key = type { ptr }
%struct.s2n_hmac_state = type { i32, i16, i32, i16, i8, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, [128 x i8], [64 x i8] }
%struct.s2n_hash_state = type { ptr, i32, i8, i64, %union.anon.0 }
%union.anon.0 = type { %struct.s2n_hash_evp_digest }
%struct.s2n_hash_evp_digest = type { %struct.s2n_evp_digest, %struct.s2n_evp_digest }
%struct.s2n_evp_digest = type { ptr, ptr }
%struct.s2n_config = type { i32, ptr, ptr, %struct.certs_by_type, %struct.s2n_blob, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, ptr, i64, ptr, i64, i64, ptr, ptr, ptr, ptr, ptr, ptr, i32, i8, i32, i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i8, i8, %struct.s2n_x509_trust_store, i16, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, ptr, i32, i32, ptr, ptr, i32, %struct.s2n_blob }
%struct.certs_by_type = type { [4 x ptr] }
%struct.s2n_x509_trust_store = type { ptr, i8 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@s2n_errno = external thread_local global i32, align 4
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str.76 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [71 x i8], align 1
@stderr = external global ptr, align 8
@.str.78 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [83 x i8], align 1
@__const.main.test_value_1 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [92 x i8], align 1
@__const.main.test_value_2 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [86 x i8], align 1
@__const.main.test_value_1.110 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [90 x i8], align 1
@__const.main.test_value_2.118 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [84 x i8], align 1
@__const.main.test_bad_value = external hidden unnamed_addr constant [6 x i8], align 1
@__const.main.test_identity = external hidden unnamed_addr constant [9 x i8], align 1
@__const.main.test_secret = external hidden unnamed_addr constant [7 x i8], align 1
@__const.main.test_early_secret = external hidden unnamed_addr constant [13 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [46 x i8], align 1
@__const.main.test_value = external hidden unnamed_addr constant [11 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [99 x i8], align 1
@__const.main.test_value.161 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [78 x i8], align 1
@__const.main.test_identity_data = external hidden unnamed_addr constant [19 x i8], align 16
@__const.main.test_secret_data = external hidden unnamed_addr constant [17 x i8], align 16
@.str.172 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [45 x i8], align 1
@__const.main.test_value.183 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [54 x i8], align 1
@__const.main.test_value.197 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [51 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.212 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [365 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [955 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [1025 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.249 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.254 = external hidden unnamed_addr constant [115 x i8], align 1
@__const.main.identity_0 = external hidden unnamed_addr constant [9 x i8], align 1
@__const.main.secret_0 = external hidden unnamed_addr constant [7 x i8], align 1
@__const.main.identity_1 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.255 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.256 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.257 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.258 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.259 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.260 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.261 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.262 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.263 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.264 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.265 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.266 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.267 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.268 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.269 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.270 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.271 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.272 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.273 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.274 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.275 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.276 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.277 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.278 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.279 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.280 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.281 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.282 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.283 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.284 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.285 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.286 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.287 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.288 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.289 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.290 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.291 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.292 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.293 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.294 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.295 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.296 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.297 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.298 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.299 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.300 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.301 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.302 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.303 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.304 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.305 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.306 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.307 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.308 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.309 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.310 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.311 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.312 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.313 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.314 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.315 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.316 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.317 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.318 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.319 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.320 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.321 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.322 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.323 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.324 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.325 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.326 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.327 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.328 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.329 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.330 = external hidden unnamed_addr constant [84 x i8], align 1
@__const.main.psk_identity = external hidden unnamed_addr constant [9 x i8], align 1
@.str.331 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.332 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.333 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.334 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.335 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.336 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.337 = external hidden unnamed_addr constant [57 x i8], align 1
@__const.main.psk_identity.338 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.339 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.340 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.341 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.342 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.343 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.344 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.345 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.346 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.347 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.348 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.349 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.350 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.351 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.352 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.353 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.354 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.355 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.356 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.357 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.358 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.359 = external hidden unnamed_addr constant [25 x i8], align 1

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local ptr @s2n_external_psk_new() #0

declare i32 @s2n_free(ptr noundef) #4

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_set_identity(ptr noundef, ptr noundef, i16 noundef zeroext) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_set_secret(ptr noundef, ptr noundef, i16 noundef zeroext) #0

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_wipe(ptr noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_free(ptr noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_parameters_init(ptr noundef) #0

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_parameters_wipe(ptr noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_parameters_wipe_secrets(ptr noundef) #0

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_finish_psk_extension(ptr noundef) #0

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef, ptr noundef, i16 noundef zeroext) #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_validate_keying_material(ptr noundef) #0

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

755:                                              ; preds = %2
  br label %756

756:                                              ; preds = %755
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %757 = load ptr, ptr @stdout, align 8, !tbaa !9
  %758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %757, ptr noundef @.str.76, ptr noundef @.str.77) #11
  %759 = load ptr, ptr @stdout, align 8, !tbaa !9
  %760 = call i32 @fflush(ptr noundef %759)
  br label %761

761:                                              ; preds = %756
  %762 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %763 = icmp eq i32 %762, -1
  br i1 %763, label %764, label %815

764:                                              ; preds = %761
  br label %765

765:                                              ; preds = %764
  br label %766

766:                                              ; preds = %765
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %767 = call ptr @__errno_location() #12
  %768 = load i32, ptr %767, align 4, !tbaa !5
  store i32 %768, ptr %6, align 4, !tbaa !5
  %769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %770 = call i32 @s2n_print_stacktrace(ptr noundef %769)
  %771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %772 = trunc i8 %771 to i1
  br i1 %772, label %773, label %795

773:                                              ; preds = %766
  %774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %775 = call i32 @fileno(ptr noundef %774) #11
  %776 = call i32 @isatty(i32 noundef %775) #11
  %777 = icmp ne i32 %776, 0
  br i1 %777, label %778, label %795

778:                                              ; preds = %773
  %779 = load i32, ptr %6, align 4, !tbaa !5
  %780 = call ptr @__errno_location() #12
  store i32 %779, ptr %780, align 4, !tbaa !5
  %781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %782 = load i32, ptr @test_count, align 4, !tbaa !5
  %783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %784 = load i32, ptr %783, align 4, !tbaa !5
  %785 = call ptr @s2n_strerror(i32 noundef %784, ptr noundef @.str.80)
  %786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %787 = load i32, ptr %786, align 4, !tbaa !5
  %788 = call ptr @s2n_strerror_debug(i32 noundef %787, ptr noundef @.str.80)
  %789 = call ptr @__errno_location() #12
  %790 = load i32, ptr %789, align 4, !tbaa !5
  %791 = call ptr @strerror(i32 noundef %790) #11
  %792 = call ptr @__errno_location() #12
  %793 = load i32, ptr %792, align 4, !tbaa !5
  %794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %781, ptr noundef @.str.78, i32 noundef %782, ptr noundef @.str.79, ptr noundef @.str.77, i32 noundef 27, ptr noundef %785, ptr noundef %788, ptr noundef %791, i32 noundef %793) #11
  br label %812

795:                                              ; preds = %773, %766
  %796 = load i32, ptr %6, align 4, !tbaa !5
  %797 = call ptr @__errno_location() #12
  store i32 %796, ptr %797, align 4, !tbaa !5
  %798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %799 = load i32, ptr @test_count, align 4, !tbaa !5
  %800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %801 = load i32, ptr %800, align 4, !tbaa !5
  %802 = call ptr @s2n_strerror(i32 noundef %801, ptr noundef @.str.80)
  %803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %804 = load i32, ptr %803, align 4, !tbaa !5
  %805 = call ptr @s2n_strerror_debug(i32 noundef %804, ptr noundef @.str.80)
  %806 = call ptr @__errno_location() #12
  %807 = load i32, ptr %806, align 4, !tbaa !5
  %808 = call ptr @strerror(i32 noundef %807) #11
  %809 = call ptr @__errno_location() #12
  %810 = load i32, ptr %809, align 4, !tbaa !5
  %811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %798, ptr noundef @.str.81, i32 noundef %799, ptr noundef @.str.79, ptr noundef @.str.77, i32 noundef 27, ptr noundef %802, ptr noundef %805, ptr noundef %808, i32 noundef %810) #11
  br label %812

812:                                              ; preds = %795, %778
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %813

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

814:                                              ; No predecessors!
  br label %815

815:                                              ; preds = %814, %761
  br label %816

816:                                              ; preds = %815
  br label %817

817:                                              ; preds = %816
  %818 = load i32, ptr @test_count, align 4, !tbaa !5
  %819 = add nsw i32 %818, 1
  store i32 %819, ptr @test_count, align 4, !tbaa !5
  %820 = call i32 @s2n_enable_atexit()
  %821 = icmp eq i32 %820, -1
  br i1 %821, label %822, label %873

822:                                              ; preds = %817
  br label %823

823:                                              ; preds = %822
  br label %824

824:                                              ; preds = %823
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %825 = call ptr @__errno_location() #12
  %826 = load i32, ptr %825, align 4, !tbaa !5
  store i32 %826, ptr %7, align 4, !tbaa !5
  %827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %828 = call i32 @s2n_print_stacktrace(ptr noundef %827)
  %829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %830 = trunc i8 %829 to i1
  br i1 %830, label %831, label %853

831:                                              ; preds = %824
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = call i32 @fileno(ptr noundef %832) #11
  %834 = call i32 @isatty(i32 noundef %833) #11
  %835 = icmp ne i32 %834, 0
  br i1 %835, label %836, label %853

836:                                              ; preds = %831
  %837 = load i32, ptr %7, align 4, !tbaa !5
  %838 = call ptr @__errno_location() #12
  store i32 %837, ptr %838, align 4, !tbaa !5
  %839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %840 = load i32, ptr @test_count, align 4, !tbaa !5
  %841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %842 = load i32, ptr %841, align 4, !tbaa !5
  %843 = call ptr @s2n_strerror(i32 noundef %842, ptr noundef @.str.80)
  %844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %845 = load i32, ptr %844, align 4, !tbaa !5
  %846 = call ptr @s2n_strerror_debug(i32 noundef %845, ptr noundef @.str.80)
  %847 = call ptr @__errno_location() #12
  %848 = load i32, ptr %847, align 4, !tbaa !5
  %849 = call ptr @strerror(i32 noundef %848) #11
  %850 = call ptr @__errno_location() #12
  %851 = load i32, ptr %850, align 4, !tbaa !5
  %852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %839, ptr noundef @.str.78, i32 noundef %840, ptr noundef @.str.82, ptr noundef @.str.77, i32 noundef 27, ptr noundef %843, ptr noundef %846, ptr noundef %849, i32 noundef %851) #11
  br label %870

853:                                              ; preds = %831, %824
  %854 = load i32, ptr %7, align 4, !tbaa !5
  %855 = call ptr @__errno_location() #12
  store i32 %854, ptr %855, align 4, !tbaa !5
  %856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %857 = load i32, ptr @test_count, align 4, !tbaa !5
  %858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %859 = load i32, ptr %858, align 4, !tbaa !5
  %860 = call ptr @s2n_strerror(i32 noundef %859, ptr noundef @.str.80)
  %861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %862 = load i32, ptr %861, align 4, !tbaa !5
  %863 = call ptr @s2n_strerror_debug(i32 noundef %862, ptr noundef @.str.80)
  %864 = call ptr @__errno_location() #12
  %865 = load i32, ptr %864, align 4, !tbaa !5
  %866 = call ptr @strerror(i32 noundef %865) #11
  %867 = call ptr @__errno_location() #12
  %868 = load i32, ptr %867, align 4, !tbaa !5
  %869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %856, ptr noundef @.str.81, i32 noundef %857, ptr noundef @.str.82, ptr noundef @.str.77, i32 noundef 27, ptr noundef %860, ptr noundef %863, ptr noundef %866, i32 noundef %868) #11
  br label %870

870:                                              ; preds = %853, %836
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %871

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

872:                                              ; No predecessors!
  br label %873

873:                                              ; preds = %872, %817
  br label %874

874:                                              ; preds = %873
  br label %875

875:                                              ; preds = %874
  br label %876

876:                                              ; preds = %875
  %877 = call i32 @s2n_init()
  %878 = icmp eq i32 %877, -1
  br i1 %878, label %879, label %930

879:                                              ; preds = %876
  br label %880

880:                                              ; preds = %879
  br label %881

881:                                              ; preds = %880
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %882 = call ptr @__errno_location() #12
  %883 = load i32, ptr %882, align 4, !tbaa !5
  store i32 %883, ptr %8, align 4, !tbaa !5
  %884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %885 = call i32 @s2n_print_stacktrace(ptr noundef %884)
  %886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %887 = trunc i8 %886 to i1
  br i1 %887, label %888, label %910

888:                                              ; preds = %881
  %889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %890 = call i32 @fileno(ptr noundef %889) #11
  %891 = call i32 @isatty(i32 noundef %890) #11
  %892 = icmp ne i32 %891, 0
  br i1 %892, label %893, label %910

893:                                              ; preds = %888
  %894 = load i32, ptr %8, align 4, !tbaa !5
  %895 = call ptr @__errno_location() #12
  store i32 %894, ptr %895, align 4, !tbaa !5
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = load i32, ptr @test_count, align 4, !tbaa !5
  %898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %899 = load i32, ptr %898, align 4, !tbaa !5
  %900 = call ptr @s2n_strerror(i32 noundef %899, ptr noundef @.str.80)
  %901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %902 = load i32, ptr %901, align 4, !tbaa !5
  %903 = call ptr @s2n_strerror_debug(i32 noundef %902, ptr noundef @.str.80)
  %904 = call ptr @__errno_location() #12
  %905 = load i32, ptr %904, align 4, !tbaa !5
  %906 = call ptr @strerror(i32 noundef %905) #11
  %907 = call ptr @__errno_location() #12
  %908 = load i32, ptr %907, align 4, !tbaa !5
  %909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %896, ptr noundef @.str.78, i32 noundef %897, ptr noundef @.str.83, ptr noundef @.str.77, i32 noundef 27, ptr noundef %900, ptr noundef %903, ptr noundef %906, i32 noundef %908) #11
  br label %927

910:                                              ; preds = %888, %881
  %911 = load i32, ptr %8, align 4, !tbaa !5
  %912 = call ptr @__errno_location() #12
  store i32 %911, ptr %912, align 4, !tbaa !5
  %913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %914 = load i32, ptr @test_count, align 4, !tbaa !5
  %915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %916 = load i32, ptr %915, align 4, !tbaa !5
  %917 = call ptr @s2n_strerror(i32 noundef %916, ptr noundef @.str.80)
  %918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %919 = load i32, ptr %918, align 4, !tbaa !5
  %920 = call ptr @s2n_strerror_debug(i32 noundef %919, ptr noundef @.str.80)
  %921 = call ptr @__errno_location() #12
  %922 = load i32, ptr %921, align 4, !tbaa !5
  %923 = call ptr @strerror(i32 noundef %922) #11
  %924 = call ptr @__errno_location() #12
  %925 = load i32, ptr %924, align 4, !tbaa !5
  %926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %913, ptr noundef @.str.81, i32 noundef %914, ptr noundef @.str.83, ptr noundef @.str.77, i32 noundef 27, ptr noundef %917, ptr noundef %920, ptr noundef %923, i32 noundef %925) #11
  br label %927

927:                                              ; preds = %910, %893
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %928

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

929:                                              ; No predecessors!
  br label %930

930:                                              ; preds = %929, %876
  br label %931

931:                                              ; preds = %930
  br label %932

932:                                              ; preds = %931
  br label %933

933:                                              ; preds = %932
  br label %934

934:                                              ; preds = %933
  br label %935

935:                                              ; preds = %934
  %936 = load i32, ptr @test_count, align 4, !tbaa !5
  %937 = add nsw i32 %936, 1
  store i32 %937, ptr @test_count, align 4, !tbaa !5
  %938 = call i32 @s2n_psk_init(ptr noundef null, i32 noundef 1)
  %939 = getelementptr inbounds %struct.s2n_result, ptr %9, i32 0, i32 0
  store i32 %938, ptr %939, align 4
  %940 = getelementptr inbounds %struct.s2n_result, ptr %9, i32 0, i32 0
  %941 = load i32, ptr %940, align 4
  %942 = call zeroext i1 @s2n_result_is_error(i32 %941)
  br i1 %942, label %994, label %943

943:                                              ; preds = %935
  br label %944

944:                                              ; preds = %943
  br label %945

945:                                              ; preds = %944
  call void @llvm.lifetime.start.p0(i64 4, ptr %10) #11
  %946 = call ptr @__errno_location() #12
  %947 = load i32, ptr %946, align 4, !tbaa !5
  store i32 %947, ptr %10, align 4, !tbaa !5
  %948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %949 = call i32 @s2n_print_stacktrace(ptr noundef %948)
  %950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %951 = trunc i8 %950 to i1
  br i1 %951, label %952, label %974

952:                                              ; preds = %945
  %953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %954 = call i32 @fileno(ptr noundef %953) #11
  %955 = call i32 @isatty(i32 noundef %954) #11
  %956 = icmp ne i32 %955, 0
  br i1 %956, label %957, label %974

957:                                              ; preds = %952
  %958 = load i32, ptr %10, align 4, !tbaa !5
  %959 = call ptr @__errno_location() #12
  store i32 %958, ptr %959, align 4, !tbaa !5
  %960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %961 = load i32, ptr @test_count, align 4, !tbaa !5
  %962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %963 = load i32, ptr %962, align 4, !tbaa !5
  %964 = call ptr @s2n_strerror(i32 noundef %963, ptr noundef @.str.80)
  %965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %966 = load i32, ptr %965, align 4, !tbaa !5
  %967 = call ptr @s2n_strerror_debug(i32 noundef %966, ptr noundef @.str.80)
  %968 = call ptr @__errno_location() #12
  %969 = load i32, ptr %968, align 4, !tbaa !5
  %970 = call ptr @strerror(i32 noundef %969) #11
  %971 = call ptr @__errno_location() #12
  %972 = load i32, ptr %971, align 4, !tbaa !5
  %973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %960, ptr noundef @.str.78, i32 noundef %961, ptr noundef @.str.84, ptr noundef @.str.77, i32 noundef 32, ptr noundef %964, ptr noundef %967, ptr noundef %970, i32 noundef %972) #11
  br label %991

974:                                              ; preds = %952, %945
  %975 = load i32, ptr %10, align 4, !tbaa !5
  %976 = call ptr @__errno_location() #12
  store i32 %975, ptr %976, align 4, !tbaa !5
  %977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %978 = load i32, ptr @test_count, align 4, !tbaa !5
  %979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %980 = load i32, ptr %979, align 4, !tbaa !5
  %981 = call ptr @s2n_strerror(i32 noundef %980, ptr noundef @.str.80)
  %982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %983 = load i32, ptr %982, align 4, !tbaa !5
  %984 = call ptr @s2n_strerror_debug(i32 noundef %983, ptr noundef @.str.80)
  %985 = call ptr @__errno_location() #12
  %986 = load i32, ptr %985, align 4, !tbaa !5
  %987 = call ptr @strerror(i32 noundef %986) #11
  %988 = call ptr @__errno_location() #12
  %989 = load i32, ptr %988, align 4, !tbaa !5
  %990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %977, ptr noundef @.str.81, i32 noundef %978, ptr noundef @.str.84, ptr noundef @.str.77, i32 noundef 32, ptr noundef %981, ptr noundef %984, ptr noundef %987, i32 noundef %989) #11
  br label %991

991:                                              ; preds = %974, %957
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #11
  br label %992

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

993:                                              ; No predecessors!
  br label %994

994:                                              ; preds = %993, %935
  br label %995

995:                                              ; preds = %994
  br label %996

996:                                              ; preds = %995
  %997 = load i32, ptr @test_count, align 4, !tbaa !5
  %998 = add nsw i32 %997, 1
  store i32 %998, ptr @test_count, align 4, !tbaa !5
  %999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1000 = load i32, ptr %999, align 4, !tbaa !5
  %1001 = icmp eq i32 %1000, 402653193
  br i1 %1001, label %1053, label %1002

1002:                                             ; preds = %996
  br label %1003

1003:                                             ; preds = %1002
  br label %1004

1004:                                             ; preds = %1003
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #11
  %1005 = call ptr @__errno_location() #12
  %1006 = load i32, ptr %1005, align 4, !tbaa !5
  store i32 %1006, ptr %11, align 4, !tbaa !5
  %1007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1008 = call i32 @s2n_print_stacktrace(ptr noundef %1007)
  %1009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1010 = trunc i8 %1009 to i1
  br i1 %1010, label %1011, label %1033

1011:                                             ; preds = %1004
  %1012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1013 = call i32 @fileno(ptr noundef %1012) #11
  %1014 = call i32 @isatty(i32 noundef %1013) #11
  %1015 = icmp ne i32 %1014, 0
  br i1 %1015, label %1016, label %1033

1016:                                             ; preds = %1011
  %1017 = load i32, ptr %11, align 4, !tbaa !5
  %1018 = call ptr @__errno_location() #12
  store i32 %1017, ptr %1018, align 4, !tbaa !5
  %1019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1020 = load i32, ptr @test_count, align 4, !tbaa !5
  %1021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1022 = load i32, ptr %1021, align 4, !tbaa !5
  %1023 = call ptr @s2n_strerror(i32 noundef %1022, ptr noundef @.str.80)
  %1024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1025 = load i32, ptr %1024, align 4, !tbaa !5
  %1026 = call ptr @s2n_strerror_debug(i32 noundef %1025, ptr noundef @.str.80)
  %1027 = call ptr @__errno_location() #12
  %1028 = load i32, ptr %1027, align 4, !tbaa !5
  %1029 = call ptr @strerror(i32 noundef %1028) #11
  %1030 = call ptr @__errno_location() #12
  %1031 = load i32, ptr %1030, align 4, !tbaa !5
  %1032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1019, ptr noundef @.str.78, i32 noundef %1020, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 32, ptr noundef %1023, ptr noundef %1026, ptr noundef %1029, i32 noundef %1031) #11
  br label %1050

1033:                                             ; preds = %1011, %1004
  %1034 = load i32, ptr %11, align 4, !tbaa !5
  %1035 = call ptr @__errno_location() #12
  store i32 %1034, ptr %1035, align 4, !tbaa !5
  %1036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1037 = load i32, ptr @test_count, align 4, !tbaa !5
  %1038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1039 = load i32, ptr %1038, align 4, !tbaa !5
  %1040 = call ptr @s2n_strerror(i32 noundef %1039, ptr noundef @.str.80)
  %1041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1042 = load i32, ptr %1041, align 4, !tbaa !5
  %1043 = call ptr @s2n_strerror_debug(i32 noundef %1042, ptr noundef @.str.80)
  %1044 = call ptr @__errno_location() #12
  %1045 = load i32, ptr %1044, align 4, !tbaa !5
  %1046 = call ptr @strerror(i32 noundef %1045) #11
  %1047 = call ptr @__errno_location() #12
  %1048 = load i32, ptr %1047, align 4, !tbaa !5
  %1049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1036, ptr noundef @.str.81, i32 noundef %1037, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 32, ptr noundef %1040, ptr noundef %1043, ptr noundef %1046, i32 noundef %1048) #11
  br label %1050

1050:                                             ; preds = %1033, %1016
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #11
  br label %1051

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

1052:                                             ; No predecessors!
  br label %1053

1053:                                             ; preds = %1052, %996
  br label %1054

1054:                                             ; preds = %1053
  br label %1055

1055:                                             ; preds = %1054
  %1056 = load i32, ptr @test_count, align 4, !tbaa !5
  %1057 = add nsw i32 %1056, 1
  store i32 %1057, ptr @test_count, align 4, !tbaa !5
  %1058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1059 = load i32, ptr %1058, align 4, !tbaa !5
  %1060 = call ptr @s2n_strerror_debug(i32 noundef %1059, ptr noundef @.str.80)
  %1061 = icmp eq ptr %1060, null
  br i1 %1061, label %1062, label %1113

1062:                                             ; preds = %1055
  br label %1063

1063:                                             ; preds = %1062
  br label %1064

1064:                                             ; preds = %1063
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #11
  %1065 = call ptr @__errno_location() #12
  %1066 = load i32, ptr %1065, align 4, !tbaa !5
  store i32 %1066, ptr %12, align 4, !tbaa !5
  %1067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1068 = call i32 @s2n_print_stacktrace(ptr noundef %1067)
  %1069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1070 = trunc i8 %1069 to i1
  br i1 %1070, label %1071, label %1093

1071:                                             ; preds = %1064
  %1072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1073 = call i32 @fileno(ptr noundef %1072) #11
  %1074 = call i32 @isatty(i32 noundef %1073) #11
  %1075 = icmp ne i32 %1074, 0
  br i1 %1075, label %1076, label %1093

1076:                                             ; preds = %1071
  %1077 = load i32, ptr %12, align 4, !tbaa !5
  %1078 = call ptr @__errno_location() #12
  store i32 %1077, ptr %1078, align 4, !tbaa !5
  %1079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1080 = load i32, ptr @test_count, align 4, !tbaa !5
  %1081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1082 = load i32, ptr %1081, align 4, !tbaa !5
  %1083 = call ptr @s2n_strerror(i32 noundef %1082, ptr noundef @.str.80)
  %1084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = call ptr @s2n_strerror_debug(i32 noundef %1085, ptr noundef @.str.80)
  %1087 = call ptr @__errno_location() #12
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = call ptr @strerror(i32 noundef %1088) #11
  %1090 = call ptr @__errno_location() #12
  %1091 = load i32, ptr %1090, align 4, !tbaa !5
  %1092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1079, ptr noundef @.str.78, i32 noundef %1080, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 32, ptr noundef %1083, ptr noundef %1086, ptr noundef %1089, i32 noundef %1091) #11
  br label %1110

1093:                                             ; preds = %1071, %1064
  %1094 = load i32, ptr %12, align 4, !tbaa !5
  %1095 = call ptr @__errno_location() #12
  store i32 %1094, ptr %1095, align 4, !tbaa !5
  %1096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1097 = load i32, ptr @test_count, align 4, !tbaa !5
  %1098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1099 = load i32, ptr %1098, align 4, !tbaa !5
  %1100 = call ptr @s2n_strerror(i32 noundef %1099, ptr noundef @.str.80)
  %1101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1102 = load i32, ptr %1101, align 4, !tbaa !5
  %1103 = call ptr @s2n_strerror_debug(i32 noundef %1102, ptr noundef @.str.80)
  %1104 = call ptr @__errno_location() #12
  %1105 = load i32, ptr %1104, align 4, !tbaa !5
  %1106 = call ptr @strerror(i32 noundef %1105) #11
  %1107 = call ptr @__errno_location() #12
  %1108 = load i32, ptr %1107, align 4, !tbaa !5
  %1109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1096, ptr noundef @.str.81, i32 noundef %1097, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 32, ptr noundef %1100, ptr noundef %1103, ptr noundef %1106, i32 noundef %1108) #11
  br label %1110

1110:                                             ; preds = %1093, %1076
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  br label %1111

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

1112:                                             ; No predecessors!
  br label %1113

1113:                                             ; preds = %1112, %1055
  br label %1114

1114:                                             ; preds = %1113
  br label %1115

1115:                                             ; preds = %1114
  br label %1116

1116:                                             ; preds = %1115
  %1117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1117, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1118 = call ptr @__errno_location() #12
  store i32 0, ptr %1118, align 4, !tbaa !5
  br label %1119

1119:                                             ; preds = %1116
  br label %1120

1120:                                             ; preds = %1119
  call void @llvm.lifetime.start.p0(i64 168, ptr %13) #11
  br label %1121

1121:                                             ; preds = %1120
  %1122 = load i32, ptr @test_count, align 4, !tbaa !5
  %1123 = add nsw i32 %1122, 1
  store i32 %1123, ptr @test_count, align 4, !tbaa !5
  %1124 = call i32 @s2n_psk_init(ptr noundef %13, i32 noundef 1)
  %1125 = getelementptr inbounds %struct.s2n_result, ptr %14, i32 0, i32 0
  store i32 %1124, ptr %1125, align 4
  %1126 = getelementptr inbounds %struct.s2n_result, ptr %14, i32 0, i32 0
  %1127 = load i32, ptr %1126, align 4
  %1128 = call zeroext i1 @s2n_result_is_ok(i32 %1127)
  br i1 %1128, label %1182, label %1129

1129:                                             ; preds = %1121
  br label %1130

1130:                                             ; preds = %1129
  br label %1131

1131:                                             ; preds = %1130
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #11
  %1132 = call ptr @__errno_location() #12
  %1133 = load i32, ptr %1132, align 4, !tbaa !5
  store i32 %1133, ptr %15, align 4, !tbaa !5
  %1134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1135 = call i32 @s2n_print_stacktrace(ptr noundef %1134)
  %1136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1137 = trunc i8 %1136 to i1
  br i1 %1137, label %1138, label %1160

1138:                                             ; preds = %1131
  %1139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1140 = call i32 @fileno(ptr noundef %1139) #11
  %1141 = call i32 @isatty(i32 noundef %1140) #11
  %1142 = icmp ne i32 %1141, 0
  br i1 %1142, label %1143, label %1160

1143:                                             ; preds = %1138
  %1144 = load i32, ptr %15, align 4, !tbaa !5
  %1145 = call ptr @__errno_location() #12
  store i32 %1144, ptr %1145, align 4, !tbaa !5
  %1146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1147 = load i32, ptr @test_count, align 4, !tbaa !5
  %1148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1149 = load i32, ptr %1148, align 4, !tbaa !5
  %1150 = call ptr @s2n_strerror(i32 noundef %1149, ptr noundef @.str.80)
  %1151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1152 = load i32, ptr %1151, align 4, !tbaa !5
  %1153 = call ptr @s2n_strerror_debug(i32 noundef %1152, ptr noundef @.str.80)
  %1154 = call ptr @__errno_location() #12
  %1155 = load i32, ptr %1154, align 4, !tbaa !5
  %1156 = call ptr @strerror(i32 noundef %1155) #11
  %1157 = call ptr @__errno_location() #12
  %1158 = load i32, ptr %1157, align 4, !tbaa !5
  %1159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1146, ptr noundef @.str.78, i32 noundef %1147, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 36, ptr noundef %1150, ptr noundef %1153, ptr noundef %1156, i32 noundef %1158) #11
  br label %1177

1160:                                             ; preds = %1138, %1131
  %1161 = load i32, ptr %15, align 4, !tbaa !5
  %1162 = call ptr @__errno_location() #12
  store i32 %1161, ptr %1162, align 4, !tbaa !5
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = load i32, ptr @test_count, align 4, !tbaa !5
  %1165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1166 = load i32, ptr %1165, align 4, !tbaa !5
  %1167 = call ptr @s2n_strerror(i32 noundef %1166, ptr noundef @.str.80)
  %1168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1169 = load i32, ptr %1168, align 4, !tbaa !5
  %1170 = call ptr @s2n_strerror_debug(i32 noundef %1169, ptr noundef @.str.80)
  %1171 = call ptr @__errno_location() #12
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  %1173 = call ptr @strerror(i32 noundef %1172) #11
  %1174 = call ptr @__errno_location() #12
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1163, ptr noundef @.str.81, i32 noundef %1164, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 36, ptr noundef %1167, ptr noundef %1170, ptr noundef %1173, i32 noundef %1175) #11
  br label %1177

1177:                                             ; preds = %1160, %1143
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %1178

1178:                                             ; preds = %1177
  br label %1179

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

1180:                                             ; No predecessors!
  br label %1181

1181:                                             ; preds = %1180
  br label %1182

1182:                                             ; preds = %1181, %1121
  br label %1183

1183:                                             ; preds = %1182
  br label %1184

1184:                                             ; preds = %1183
  br label %1185

1185:                                             ; preds = %1184
  %1186 = load i32, ptr @test_count, align 4, !tbaa !5
  %1187 = add nsw i32 %1186, 1
  store i32 %1187, ptr @test_count, align 4, !tbaa !5
  %1188 = getelementptr inbounds %struct.s2n_psk, ptr %13, i32 0, i32 0
  %1189 = load i32, ptr %1188, align 8, !tbaa !15
  %1190 = icmp eq i32 %1189, 1
  br i1 %1190, label %1244, label %1191

1191:                                             ; preds = %1185
  br label %1192

1192:                                             ; preds = %1191
  br label %1193

1193:                                             ; preds = %1192
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #11
  %1194 = call ptr @__errno_location() #12
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  store i32 %1195, ptr %16, align 4, !tbaa !5
  %1196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1197 = call i32 @s2n_print_stacktrace(ptr noundef %1196)
  %1198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1199 = trunc i8 %1198 to i1
  br i1 %1199, label %1200, label %1222

1200:                                             ; preds = %1193
  %1201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1202 = call i32 @fileno(ptr noundef %1201) #11
  %1203 = call i32 @isatty(i32 noundef %1202) #11
  %1204 = icmp ne i32 %1203, 0
  br i1 %1204, label %1205, label %1222

1205:                                             ; preds = %1200
  %1206 = load i32, ptr %16, align 4, !tbaa !5
  %1207 = call ptr @__errno_location() #12
  store i32 %1206, ptr %1207, align 4, !tbaa !5
  %1208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1209 = load i32, ptr @test_count, align 4, !tbaa !5
  %1210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1211 = load i32, ptr %1210, align 4, !tbaa !5
  %1212 = call ptr @s2n_strerror(i32 noundef %1211, ptr noundef @.str.80)
  %1213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1214 = load i32, ptr %1213, align 4, !tbaa !5
  %1215 = call ptr @s2n_strerror_debug(i32 noundef %1214, ptr noundef @.str.80)
  %1216 = call ptr @__errno_location() #12
  %1217 = load i32, ptr %1216, align 4, !tbaa !5
  %1218 = call ptr @strerror(i32 noundef %1217) #11
  %1219 = call ptr @__errno_location() #12
  %1220 = load i32, ptr %1219, align 4, !tbaa !5
  %1221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1208, ptr noundef @.str.78, i32 noundef %1209, ptr noundef @.str.88, ptr noundef @.str.77, i32 noundef 37, ptr noundef %1212, ptr noundef %1215, ptr noundef %1218, i32 noundef %1220) #11
  br label %1239

1222:                                             ; preds = %1200, %1193
  %1223 = load i32, ptr %16, align 4, !tbaa !5
  %1224 = call ptr @__errno_location() #12
  store i32 %1223, ptr %1224, align 4, !tbaa !5
  %1225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1226 = load i32, ptr @test_count, align 4, !tbaa !5
  %1227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1228 = load i32, ptr %1227, align 4, !tbaa !5
  %1229 = call ptr @s2n_strerror(i32 noundef %1228, ptr noundef @.str.80)
  %1230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1231 = load i32, ptr %1230, align 4, !tbaa !5
  %1232 = call ptr @s2n_strerror_debug(i32 noundef %1231, ptr noundef @.str.80)
  %1233 = call ptr @__errno_location() #12
  %1234 = load i32, ptr %1233, align 4, !tbaa !5
  %1235 = call ptr @strerror(i32 noundef %1234) #11
  %1236 = call ptr @__errno_location() #12
  %1237 = load i32, ptr %1236, align 4, !tbaa !5
  %1238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1225, ptr noundef @.str.81, i32 noundef %1226, ptr noundef @.str.88, ptr noundef @.str.77, i32 noundef 37, ptr noundef %1229, ptr noundef %1232, ptr noundef %1235, i32 noundef %1237) #11
  br label %1239

1239:                                             ; preds = %1222, %1205
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  br label %1240

1240:                                             ; preds = %1239
  br label %1241

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

1242:                                             ; No predecessors!
  br label %1243

1243:                                             ; preds = %1242
  br label %1244

1244:                                             ; preds = %1243, %1185
  br label %1245

1245:                                             ; preds = %1244
  br label %1246

1246:                                             ; preds = %1245
  br label %1247

1247:                                             ; preds = %1246
  %1248 = load i32, ptr @test_count, align 4, !tbaa !5
  %1249 = add nsw i32 %1248, 1
  store i32 %1249, ptr @test_count, align 4, !tbaa !5
  %1250 = getelementptr inbounds %struct.s2n_psk, ptr %13, i32 0, i32 3
  %1251 = load i32, ptr %1250, align 8, !tbaa !20
  %1252 = icmp eq i32 %1251, 4
  br i1 %1252, label %1306, label %1253

1253:                                             ; preds = %1247
  br label %1254

1254:                                             ; preds = %1253
  br label %1255

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

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

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

1284:                                             ; preds = %1262, %1255
  %1285 = load i32, ptr %17, align 4, !tbaa !5
  %1286 = call ptr @__errno_location() #12
  store i32 %1285, ptr %1286, align 4, !tbaa !5
  %1287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1288 = load i32, ptr @test_count, align 4, !tbaa !5
  %1289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1290 = load i32, ptr %1289, align 4, !tbaa !5
  %1291 = call ptr @s2n_strerror(i32 noundef %1290, ptr noundef @.str.80)
  %1292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1293 = load i32, ptr %1292, align 4, !tbaa !5
  %1294 = call ptr @s2n_strerror_debug(i32 noundef %1293, ptr noundef @.str.80)
  %1295 = call ptr @__errno_location() #12
  %1296 = load i32, ptr %1295, align 4, !tbaa !5
  %1297 = call ptr @strerror(i32 noundef %1296) #11
  %1298 = call ptr @__errno_location() #12
  %1299 = load i32, ptr %1298, align 4, !tbaa !5
  %1300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1287, ptr noundef @.str.81, i32 noundef %1288, ptr noundef @.str.89, ptr noundef @.str.77, i32 noundef 38, ptr noundef %1291, ptr noundef %1294, ptr noundef %1297, i32 noundef %1299) #11
  br label %1301

1301:                                             ; preds = %1284, %1267
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  br label %1302

1302:                                             ; preds = %1301
  br label %1303

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

1304:                                             ; No predecessors!
  br label %1305

1305:                                             ; preds = %1304
  br label %1306

1306:                                             ; preds = %1305, %1247
  br label %1307

1307:                                             ; preds = %1306
  br label %1308

1308:                                             ; preds = %1307
  br label %1309

1309:                                             ; preds = %1308
  %1310 = load i32, ptr @test_count, align 4, !tbaa !5
  %1311 = add nsw i32 %1310, 1
  store i32 %1311, ptr @test_count, align 4, !tbaa !5
  %1312 = getelementptr inbounds %struct.s2n_psk, ptr %13, i32 0, i32 4
  %1313 = load i32, ptr %1312, align 4, !tbaa !21
  %1314 = icmp eq i32 %1313, 0
  br i1 %1314, label %1368, label %1315

1315:                                             ; preds = %1309
  br label %1316

1316:                                             ; preds = %1315
  br label %1317

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

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

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

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

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

1364:                                             ; preds = %1363
  br label %1365

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

1366:                                             ; No predecessors!
  br label %1367

1367:                                             ; preds = %1366
  br label %1368

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

1369:                                             ; preds = %1368
  br label %1370

1370:                                             ; preds = %1369
  br label %1371

1371:                                             ; preds = %1370
  %1372 = load i32, ptr @test_count, align 4, !tbaa !5
  %1373 = add nsw i32 %1372, 1
  store i32 %1373, ptr @test_count, align 4, !tbaa !5
  %1374 = getelementptr inbounds %struct.s2n_psk, ptr %13, i32 0, i32 5
  %1375 = load i64, ptr %1374, align 8, !tbaa !22
  %1376 = icmp eq i64 %1375, 0
  br i1 %1376, label %1430, label %1377

1377:                                             ; preds = %1371
  br label %1378

1378:                                             ; preds = %1377
  br label %1379

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

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

1391:                                             ; preds = %1386
  %1392 = load i32, ptr %19, align 4, !tbaa !5
  %1393 = call ptr @__errno_location() #12
  store i32 %1392, ptr %1393, align 4, !tbaa !5
  %1394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1395 = load i32, ptr @test_count, align 4, !tbaa !5
  %1396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1397 = load i32, ptr %1396, align 4, !tbaa !5
  %1398 = call ptr @s2n_strerror(i32 noundef %1397, ptr noundef @.str.80)
  %1399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1400 = load i32, ptr %1399, align 4, !tbaa !5
  %1401 = call ptr @s2n_strerror_debug(i32 noundef %1400, ptr noundef @.str.80)
  %1402 = call ptr @__errno_location() #12
  %1403 = load i32, ptr %1402, align 4, !tbaa !5
  %1404 = call ptr @strerror(i32 noundef %1403) #11
  %1405 = call ptr @__errno_location() #12
  %1406 = load i32, ptr %1405, align 4, !tbaa !5
  %1407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1394, ptr noundef @.str.78, i32 noundef %1395, ptr noundef @.str.91, ptr noundef @.str.77, i32 noundef 40, ptr noundef %1398, ptr noundef %1401, ptr noundef %1404, i32 noundef %1406) #11
  br label %1425

1408:                                             ; preds = %1386, %1379
  %1409 = load i32, ptr %19, align 4, !tbaa !5
  %1410 = call ptr @__errno_location() #12
  store i32 %1409, ptr %1410, align 4, !tbaa !5
  %1411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1412 = load i32, ptr @test_count, align 4, !tbaa !5
  %1413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1414 = load i32, ptr %1413, align 4, !tbaa !5
  %1415 = call ptr @s2n_strerror(i32 noundef %1414, ptr noundef @.str.80)
  %1416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1417 = load i32, ptr %1416, align 4, !tbaa !5
  %1418 = call ptr @s2n_strerror_debug(i32 noundef %1417, ptr noundef @.str.80)
  %1419 = call ptr @__errno_location() #12
  %1420 = load i32, ptr %1419, align 4, !tbaa !5
  %1421 = call ptr @strerror(i32 noundef %1420) #11
  %1422 = call ptr @__errno_location() #12
  %1423 = load i32, ptr %1422, align 4, !tbaa !5
  %1424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1411, ptr noundef @.str.81, i32 noundef %1412, ptr noundef @.str.91, ptr noundef @.str.77, i32 noundef 40, ptr noundef %1415, ptr noundef %1418, ptr noundef %1421, i32 noundef %1423) #11
  br label %1425

1425:                                             ; preds = %1408, %1391
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %1426

1426:                                             ; preds = %1425
  br label %1427

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

1428:                                             ; No predecessors!
  br label %1429

1429:                                             ; preds = %1428
  br label %1430

1430:                                             ; preds = %1429, %1371
  br label %1431

1431:                                             ; preds = %1430
  br label %1432

1432:                                             ; preds = %1431
  br label %1433

1433:                                             ; preds = %1432
  %1434 = load i32, ptr @test_count, align 4, !tbaa !5
  %1435 = add nsw i32 %1434, 1
  store i32 %1435, ptr @test_count, align 4, !tbaa !5
  %1436 = getelementptr inbounds %struct.s2n_psk, ptr %13, i32 0, i32 7
  %1437 = getelementptr inbounds %struct.s2n_early_data_config, ptr %1436, i32 0, i32 0
  %1438 = load i32, ptr %1437, align 8, !tbaa !23
  %1439 = icmp eq i32 %1438, 0
  br i1 %1439, label %1493, label %1440

1440:                                             ; preds = %1433
  br label %1441

1441:                                             ; preds = %1440
  br label %1442

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

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

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

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

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

1489:                                             ; preds = %1488
  br label %1490

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

1491:                                             ; No predecessors!
  br label %1492

1492:                                             ; preds = %1491
  br label %1493

1493:                                             ; preds = %1492, %1433
  br label %1494

1494:                                             ; preds = %1493
  br label %1495

1495:                                             ; preds = %1494
  br label %1496

1496:                                             ; preds = %1495
  %1497 = load i32, ptr @test_count, align 4, !tbaa !5
  %1498 = add nsw i32 %1497, 1
  store i32 %1498, ptr @test_count, align 4, !tbaa !5
  %1499 = call i32 @s2n_psk_init(ptr noundef %13, i32 noundef 0)
  %1500 = getelementptr inbounds %struct.s2n_result, ptr %21, i32 0, i32 0
  store i32 %1499, ptr %1500, align 4
  %1501 = getelementptr inbounds %struct.s2n_result, ptr %21, i32 0, i32 0
  %1502 = load i32, ptr %1501, align 4
  %1503 = call zeroext i1 @s2n_result_is_ok(i32 %1502)
  br i1 %1503, label %1557, label %1504

1504:                                             ; preds = %1496
  br label %1505

1505:                                             ; preds = %1504
  br label %1506

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

1513:                                             ; preds = %1506
  %1514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1515 = call i32 @fileno(ptr noundef %1514) #11
  %1516 = call i32 @isatty(i32 noundef %1515) #11
  %1517 = icmp ne i32 %1516, 0
  br i1 %1517, label %1518, label %1535

1518:                                             ; preds = %1513
  %1519 = load i32, ptr %22, align 4, !tbaa !5
  %1520 = call ptr @__errno_location() #12
  store i32 %1519, ptr %1520, align 4, !tbaa !5
  %1521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1522 = load i32, ptr @test_count, align 4, !tbaa !5
  %1523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1524 = load i32, ptr %1523, align 4, !tbaa !5
  %1525 = call ptr @s2n_strerror(i32 noundef %1524, ptr noundef @.str.80)
  %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_debug(i32 noundef %1527, ptr noundef @.str.80)
  %1529 = call ptr @__errno_location() #12
  %1530 = load i32, ptr %1529, align 4, !tbaa !5
  %1531 = call ptr @strerror(i32 noundef %1530) #11
  %1532 = call ptr @__errno_location() #12
  %1533 = load i32, ptr %1532, align 4, !tbaa !5
  %1534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1521, ptr noundef @.str.78, i32 noundef %1522, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 43, ptr noundef %1525, ptr noundef %1528, ptr noundef %1531, i32 noundef %1533) #11
  br label %1552

1535:                                             ; preds = %1513, %1506
  %1536 = load i32, ptr %22, align 4, !tbaa !5
  %1537 = call ptr @__errno_location() #12
  store i32 %1536, ptr %1537, align 4, !tbaa !5
  %1538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1539 = load i32, ptr @test_count, align 4, !tbaa !5
  %1540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1541 = load i32, ptr %1540, align 4, !tbaa !5
  %1542 = call ptr @s2n_strerror(i32 noundef %1541, ptr noundef @.str.80)
  %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_debug(i32 noundef %1544, ptr noundef @.str.80)
  %1546 = call ptr @__errno_location() #12
  %1547 = load i32, ptr %1546, align 4, !tbaa !5
  %1548 = call ptr @strerror(i32 noundef %1547) #11
  %1549 = call ptr @__errno_location() #12
  %1550 = load i32, ptr %1549, align 4, !tbaa !5
  %1551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1538, ptr noundef @.str.81, i32 noundef %1539, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 43, ptr noundef %1542, ptr noundef %1545, ptr noundef %1548, i32 noundef %1550) #11
  br label %1552

1552:                                             ; preds = %1535, %1518
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %1553

1553:                                             ; preds = %1552
  br label %1554

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

1555:                                             ; No predecessors!
  br label %1556

1556:                                             ; preds = %1555
  br label %1557

1557:                                             ; preds = %1556, %1496
  br label %1558

1558:                                             ; preds = %1557
  br label %1559

1559:                                             ; preds = %1558
  br label %1560

1560:                                             ; preds = %1559
  %1561 = load i32, ptr @test_count, align 4, !tbaa !5
  %1562 = add nsw i32 %1561, 1
  store i32 %1562, ptr @test_count, align 4, !tbaa !5
  %1563 = getelementptr inbounds %struct.s2n_psk, ptr %13, i32 0, i32 0
  %1564 = load i32, ptr %1563, align 8, !tbaa !15
  %1565 = icmp eq i32 %1564, 0
  br i1 %1565, label %1619, label %1566

1566:                                             ; preds = %1560
  br label %1567

1567:                                             ; preds = %1566
  br label %1568

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

1575:                                             ; preds = %1568
  %1576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1577 = call i32 @fileno(ptr noundef %1576) #11
  %1578 = call i32 @isatty(i32 noundef %1577) #11
  %1579 = icmp ne i32 %1578, 0
  br i1 %1579, label %1580, label %1597

1580:                                             ; preds = %1575
  %1581 = load i32, ptr %23, align 4, !tbaa !5
  %1582 = call ptr @__errno_location() #12
  store i32 %1581, ptr %1582, align 4, !tbaa !5
  %1583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1584 = load i32, ptr @test_count, align 4, !tbaa !5
  %1585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1586 = load i32, ptr %1585, align 4, !tbaa !5
  %1587 = call ptr @s2n_strerror(i32 noundef %1586, ptr noundef @.str.80)
  %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_debug(i32 noundef %1589, ptr noundef @.str.80)
  %1591 = call ptr @__errno_location() #12
  %1592 = load i32, ptr %1591, align 4, !tbaa !5
  %1593 = call ptr @strerror(i32 noundef %1592) #11
  %1594 = call ptr @__errno_location() #12
  %1595 = load i32, ptr %1594, align 4, !tbaa !5
  %1596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1583, ptr noundef @.str.78, i32 noundef %1584, ptr noundef @.str.94, ptr noundef @.str.77, i32 noundef 44, ptr noundef %1587, ptr noundef %1590, ptr noundef %1593, i32 noundef %1595) #11
  br label %1614

1597:                                             ; preds = %1575, %1568
  %1598 = load i32, ptr %23, align 4, !tbaa !5
  %1599 = call ptr @__errno_location() #12
  store i32 %1598, ptr %1599, align 4, !tbaa !5
  %1600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1601 = load i32, ptr @test_count, align 4, !tbaa !5
  %1602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1603 = load i32, ptr %1602, align 4, !tbaa !5
  %1604 = call ptr @s2n_strerror(i32 noundef %1603, ptr noundef @.str.80)
  %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_debug(i32 noundef %1606, ptr noundef @.str.80)
  %1608 = call ptr @__errno_location() #12
  %1609 = load i32, ptr %1608, align 4, !tbaa !5
  %1610 = call ptr @strerror(i32 noundef %1609) #11
  %1611 = call ptr @__errno_location() #12
  %1612 = load i32, ptr %1611, align 4, !tbaa !5
  %1613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1600, ptr noundef @.str.81, i32 noundef %1601, ptr noundef @.str.94, ptr noundef @.str.77, i32 noundef 44, ptr noundef %1604, ptr noundef %1607, ptr noundef %1610, i32 noundef %1612) #11
  br label %1614

1614:                                             ; preds = %1597, %1580
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  br label %1615

1615:                                             ; preds = %1614
  br label %1616

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

1617:                                             ; No predecessors!
  br label %1618

1618:                                             ; preds = %1617
  br label %1619

1619:                                             ; preds = %1618, %1560
  br label %1620

1620:                                             ; preds = %1619
  br label %1621

1621:                                             ; preds = %1620
  br label %1622

1622:                                             ; preds = %1621
  %1623 = load i32, ptr @test_count, align 4, !tbaa !5
  %1624 = add nsw i32 %1623, 1
  store i32 %1624, ptr @test_count, align 4, !tbaa !5
  %1625 = getelementptr inbounds %struct.s2n_psk, ptr %13, i32 0, i32 3
  %1626 = load i32, ptr %1625, align 8, !tbaa !20
  %1627 = icmp eq i32 %1626, 4
  br i1 %1627, label %1681, label %1628

1628:                                             ; preds = %1622
  br label %1629

1629:                                             ; preds = %1628
  br label %1630

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

1637:                                             ; preds = %1630
  %1638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1639 = call i32 @fileno(ptr noundef %1638) #11
  %1640 = call i32 @isatty(i32 noundef %1639) #11
  %1641 = icmp ne i32 %1640, 0
  br i1 %1641, label %1642, label %1659

1642:                                             ; preds = %1637
  %1643 = load i32, ptr %24, align 4, !tbaa !5
  %1644 = call ptr @__errno_location() #12
  store i32 %1643, ptr %1644, align 4, !tbaa !5
  %1645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1646 = load i32, ptr @test_count, align 4, !tbaa !5
  %1647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1648 = load i32, ptr %1647, align 4, !tbaa !5
  %1649 = call ptr @s2n_strerror(i32 noundef %1648, ptr noundef @.str.80)
  %1650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1651 = load i32, ptr %1650, align 4, !tbaa !5
  %1652 = call ptr @s2n_strerror_debug(i32 noundef %1651, ptr noundef @.str.80)
  %1653 = call ptr @__errno_location() #12
  %1654 = load i32, ptr %1653, align 4, !tbaa !5
  %1655 = call ptr @strerror(i32 noundef %1654) #11
  %1656 = call ptr @__errno_location() #12
  %1657 = load i32, ptr %1656, align 4, !tbaa !5
  %1658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1645, ptr noundef @.str.78, i32 noundef %1646, ptr noundef @.str.89, ptr noundef @.str.77, i32 noundef 45, ptr noundef %1649, ptr noundef %1652, ptr noundef %1655, i32 noundef %1657) #11
  br label %1676

1659:                                             ; preds = %1637, %1630
  %1660 = load i32, ptr %24, align 4, !tbaa !5
  %1661 = call ptr @__errno_location() #12
  store i32 %1660, ptr %1661, align 4, !tbaa !5
  %1662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1663 = load i32, ptr @test_count, align 4, !tbaa !5
  %1664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1665 = load i32, ptr %1664, align 4, !tbaa !5
  %1666 = call ptr @s2n_strerror(i32 noundef %1665, ptr noundef @.str.80)
  %1667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1668 = load i32, ptr %1667, align 4, !tbaa !5
  %1669 = call ptr @s2n_strerror_debug(i32 noundef %1668, ptr noundef @.str.80)
  %1670 = call ptr @__errno_location() #12
  %1671 = load i32, ptr %1670, align 4, !tbaa !5
  %1672 = call ptr @strerror(i32 noundef %1671) #11
  %1673 = call ptr @__errno_location() #12
  %1674 = load i32, ptr %1673, align 4, !tbaa !5
  %1675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1662, ptr noundef @.str.81, i32 noundef %1663, ptr noundef @.str.89, ptr noundef @.str.77, i32 noundef 45, ptr noundef %1666, ptr noundef %1669, ptr noundef %1672, i32 noundef %1674) #11
  br label %1676

1676:                                             ; preds = %1659, %1642
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %1677

1677:                                             ; preds = %1676
  br label %1678

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

1679:                                             ; No predecessors!
  br label %1680

1680:                                             ; preds = %1679
  br label %1681

1681:                                             ; preds = %1680, %1622
  br label %1682

1682:                                             ; preds = %1681
  br label %1683

1683:                                             ; preds = %1682
  br label %1684

1684:                                             ; preds = %1683
  %1685 = load i32, ptr @test_count, align 4, !tbaa !5
  %1686 = add nsw i32 %1685, 1
  store i32 %1686, ptr @test_count, align 4, !tbaa !5
  %1687 = getelementptr inbounds %struct.s2n_psk, ptr %13, i32 0, i32 4
  %1688 = load i32, ptr %1687, align 4, !tbaa !21
  %1689 = icmp eq i32 %1688, 0
  br i1 %1689, label %1743, label %1690

1690:                                             ; preds = %1684
  br label %1691

1691:                                             ; preds = %1690
  br label %1692

1692:                                             ; preds = %1691
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #11
  %1693 = call ptr @__errno_location() #12
  %1694 = load i32, ptr %1693, align 4, !tbaa !5
  store i32 %1694, ptr %25, align 4, !tbaa !5
  %1695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1696 = call i32 @s2n_print_stacktrace(ptr noundef %1695)
  %1697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1698 = trunc i8 %1697 to i1
  br i1 %1698, label %1699, label %1721

1699:                                             ; preds = %1692
  %1700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1701 = call i32 @fileno(ptr noundef %1700) #11
  %1702 = call i32 @isatty(i32 noundef %1701) #11
  %1703 = icmp ne i32 %1702, 0
  br i1 %1703, label %1704, label %1721

1704:                                             ; preds = %1699
  %1705 = load i32, ptr %25, align 4, !tbaa !5
  %1706 = call ptr @__errno_location() #12
  store i32 %1705, ptr %1706, align 4, !tbaa !5
  %1707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1708 = load i32, ptr @test_count, align 4, !tbaa !5
  %1709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1710 = load i32, ptr %1709, align 4, !tbaa !5
  %1711 = call ptr @s2n_strerror(i32 noundef %1710, ptr noundef @.str.80)
  %1712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1713 = load i32, ptr %1712, align 4, !tbaa !5
  %1714 = call ptr @s2n_strerror_debug(i32 noundef %1713, ptr noundef @.str.80)
  %1715 = call ptr @__errno_location() #12
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = call ptr @strerror(i32 noundef %1716) #11
  %1718 = call ptr @__errno_location() #12
  %1719 = load i32, ptr %1718, align 4, !tbaa !5
  %1720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1707, ptr noundef @.str.78, i32 noundef %1708, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 46, ptr noundef %1711, ptr noundef %1714, ptr noundef %1717, i32 noundef %1719) #11
  br label %1738

1721:                                             ; preds = %1699, %1692
  %1722 = load i32, ptr %25, align 4, !tbaa !5
  %1723 = call ptr @__errno_location() #12
  store i32 %1722, ptr %1723, align 4, !tbaa !5
  %1724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1725 = load i32, ptr @test_count, align 4, !tbaa !5
  %1726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1727 = load i32, ptr %1726, align 4, !tbaa !5
  %1728 = call ptr @s2n_strerror(i32 noundef %1727, ptr noundef @.str.80)
  %1729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1730 = load i32, ptr %1729, align 4, !tbaa !5
  %1731 = call ptr @s2n_strerror_debug(i32 noundef %1730, ptr noundef @.str.80)
  %1732 = call ptr @__errno_location() #12
  %1733 = load i32, ptr %1732, align 4, !tbaa !5
  %1734 = call ptr @strerror(i32 noundef %1733) #11
  %1735 = call ptr @__errno_location() #12
  %1736 = load i32, ptr %1735, align 4, !tbaa !5
  %1737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1724, ptr noundef @.str.81, i32 noundef %1725, ptr noundef @.str.90, ptr noundef @.str.77, i32 noundef 46, ptr noundef %1728, ptr noundef %1731, ptr noundef %1734, i32 noundef %1736) #11
  br label %1738

1738:                                             ; preds = %1721, %1704
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #11
  br label %1739

1739:                                             ; preds = %1738
  br label %1740

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

1741:                                             ; No predecessors!
  br label %1742

1742:                                             ; preds = %1741
  br label %1743

1743:                                             ; preds = %1742, %1684
  br label %1744

1744:                                             ; preds = %1743
  br label %1745

1745:                                             ; preds = %1744
  br label %1746

1746:                                             ; preds = %1745
  %1747 = load i32, ptr @test_count, align 4, !tbaa !5
  %1748 = add nsw i32 %1747, 1
  store i32 %1748, ptr @test_count, align 4, !tbaa !5
  %1749 = getelementptr inbounds %struct.s2n_psk, ptr %13, i32 0, i32 5
  %1750 = load i64, ptr %1749, align 8, !tbaa !22
  %1751 = icmp eq i64 %1750, 0
  br i1 %1751, label %1805, label %1752

1752:                                             ; preds = %1746
  br label %1753

1753:                                             ; preds = %1752
  br label %1754

1754:                                             ; preds = %1753
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #11
  %1755 = call ptr @__errno_location() #12
  %1756 = load i32, ptr %1755, align 4, !tbaa !5
  store i32 %1756, ptr %26, align 4, !tbaa !5
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = call i32 @s2n_print_stacktrace(ptr noundef %1757)
  %1759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1760 = trunc i8 %1759 to i1
  br i1 %1760, label %1761, label %1783

1761:                                             ; preds = %1754
  %1762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1763 = call i32 @fileno(ptr noundef %1762) #11
  %1764 = call i32 @isatty(i32 noundef %1763) #11
  %1765 = icmp ne i32 %1764, 0
  br i1 %1765, label %1766, label %1783

1766:                                             ; preds = %1761
  %1767 = load i32, ptr %26, align 4, !tbaa !5
  %1768 = call ptr @__errno_location() #12
  store i32 %1767, ptr %1768, align 4, !tbaa !5
  %1769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1770 = load i32, ptr @test_count, align 4, !tbaa !5
  %1771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1772 = load i32, ptr %1771, align 4, !tbaa !5
  %1773 = call ptr @s2n_strerror(i32 noundef %1772, ptr noundef @.str.80)
  %1774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1775 = load i32, ptr %1774, align 4, !tbaa !5
  %1776 = call ptr @s2n_strerror_debug(i32 noundef %1775, ptr noundef @.str.80)
  %1777 = call ptr @__errno_location() #12
  %1778 = load i32, ptr %1777, align 4, !tbaa !5
  %1779 = call ptr @strerror(i32 noundef %1778) #11
  %1780 = call ptr @__errno_location() #12
  %1781 = load i32, ptr %1780, align 4, !tbaa !5
  %1782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1769, ptr noundef @.str.78, i32 noundef %1770, ptr noundef @.str.91, ptr noundef @.str.77, i32 noundef 47, ptr noundef %1773, ptr noundef %1776, ptr noundef %1779, i32 noundef %1781) #11
  br label %1800

1783:                                             ; preds = %1761, %1754
  %1784 = load i32, ptr %26, align 4, !tbaa !5
  %1785 = call ptr @__errno_location() #12
  store i32 %1784, ptr %1785, align 4, !tbaa !5
  %1786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1787 = load i32, ptr @test_count, align 4, !tbaa !5
  %1788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1789 = load i32, ptr %1788, align 4, !tbaa !5
  %1790 = call ptr @s2n_strerror(i32 noundef %1789, ptr noundef @.str.80)
  %1791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1792 = load i32, ptr %1791, align 4, !tbaa !5
  %1793 = call ptr @s2n_strerror_debug(i32 noundef %1792, ptr noundef @.str.80)
  %1794 = call ptr @__errno_location() #12
  %1795 = load i32, ptr %1794, align 4, !tbaa !5
  %1796 = call ptr @strerror(i32 noundef %1795) #11
  %1797 = call ptr @__errno_location() #12
  %1798 = load i32, ptr %1797, align 4, !tbaa !5
  %1799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1786, ptr noundef @.str.81, i32 noundef %1787, ptr noundef @.str.91, ptr noundef @.str.77, i32 noundef 47, ptr noundef %1790, ptr noundef %1793, ptr noundef %1796, i32 noundef %1798) #11
  br label %1800

1800:                                             ; preds = %1783, %1766
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  br label %1801

1801:                                             ; preds = %1800
  br label %1802

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

1803:                                             ; No predecessors!
  br label %1804

1804:                                             ; preds = %1803
  br label %1805

1805:                                             ; preds = %1804, %1746
  br label %1806

1806:                                             ; preds = %1805
  br label %1807

1807:                                             ; preds = %1806
  br label %1808

1808:                                             ; preds = %1807
  %1809 = load i32, ptr @test_count, align 4, !tbaa !5
  %1810 = add nsw i32 %1809, 1
  store i32 %1810, ptr @test_count, align 4, !tbaa !5
  %1811 = getelementptr inbounds %struct.s2n_psk, ptr %13, i32 0, i32 7
  %1812 = getelementptr inbounds %struct.s2n_early_data_config, ptr %1811, i32 0, i32 0
  %1813 = load i32, ptr %1812, align 8, !tbaa !23
  %1814 = icmp eq i32 %1813, 0
  br i1 %1814, label %1868, label %1815

1815:                                             ; preds = %1808
  br label %1816

1816:                                             ; preds = %1815
  br label %1817

1817:                                             ; preds = %1816
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #11
  %1818 = call ptr @__errno_location() #12
  %1819 = load i32, ptr %1818, align 4, !tbaa !5
  store i32 %1819, ptr %27, align 4, !tbaa !5
  %1820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1821 = call i32 @s2n_print_stacktrace(ptr noundef %1820)
  %1822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1823 = trunc i8 %1822 to i1
  br i1 %1823, label %1824, label %1846

1824:                                             ; preds = %1817
  %1825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1826 = call i32 @fileno(ptr noundef %1825) #11
  %1827 = call i32 @isatty(i32 noundef %1826) #11
  %1828 = icmp ne i32 %1827, 0
  br i1 %1828, label %1829, label %1846

1829:                                             ; preds = %1824
  %1830 = load i32, ptr %27, align 4, !tbaa !5
  %1831 = call ptr @__errno_location() #12
  store i32 %1830, ptr %1831, align 4, !tbaa !5
  %1832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1833 = load i32, ptr @test_count, align 4, !tbaa !5
  %1834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1835 = load i32, ptr %1834, align 4, !tbaa !5
  %1836 = call ptr @s2n_strerror(i32 noundef %1835, ptr noundef @.str.80)
  %1837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1838 = load i32, ptr %1837, align 4, !tbaa !5
  %1839 = call ptr @s2n_strerror_debug(i32 noundef %1838, ptr noundef @.str.80)
  %1840 = call ptr @__errno_location() #12
  %1841 = load i32, ptr %1840, align 4, !tbaa !5
  %1842 = call ptr @strerror(i32 noundef %1841) #11
  %1843 = call ptr @__errno_location() #12
  %1844 = load i32, ptr %1843, align 4, !tbaa !5
  %1845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1832, ptr noundef @.str.78, i32 noundef %1833, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 48, ptr noundef %1836, ptr noundef %1839, ptr noundef %1842, i32 noundef %1844) #11
  br label %1863

1846:                                             ; preds = %1824, %1817
  %1847 = load i32, ptr %27, align 4, !tbaa !5
  %1848 = call ptr @__errno_location() #12
  store i32 %1847, ptr %1848, align 4, !tbaa !5
  %1849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1850 = load i32, ptr @test_count, align 4, !tbaa !5
  %1851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1852 = load i32, ptr %1851, align 4, !tbaa !5
  %1853 = call ptr @s2n_strerror(i32 noundef %1852, ptr noundef @.str.80)
  %1854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1855 = load i32, ptr %1854, align 4, !tbaa !5
  %1856 = call ptr @s2n_strerror_debug(i32 noundef %1855, ptr noundef @.str.80)
  %1857 = call ptr @__errno_location() #12
  %1858 = load i32, ptr %1857, align 4, !tbaa !5
  %1859 = call ptr @strerror(i32 noundef %1858) #11
  %1860 = call ptr @__errno_location() #12
  %1861 = load i32, ptr %1860, align 4, !tbaa !5
  %1862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1849, ptr noundef @.str.81, i32 noundef %1850, ptr noundef @.str.92, ptr noundef @.str.77, i32 noundef 48, ptr noundef %1853, ptr noundef %1856, ptr noundef %1859, i32 noundef %1861) #11
  br label %1863

1863:                                             ; preds = %1846, %1829
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %1864

1864:                                             ; preds = %1863
  br label %1865

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

1866:                                             ; No predecessors!
  br label %1867

1867:                                             ; preds = %1866
  br label %1868

1868:                                             ; preds = %1867, %1808
  br label %1869

1869:                                             ; preds = %1868
  br label %1870

1870:                                             ; preds = %1869
  %1871 = call i32 @s2n_psk_wipe(ptr noundef %13)
  %1872 = getelementptr inbounds %struct.s2n_result, ptr %28, i32 0, i32 0
  store i32 %1871, ptr %1872, align 4
  call void @llvm.lifetime.end.p0(i64 168, ptr %13) #11
  call void @llvm.lifetime.start.p0(i64 168, ptr %29) #11
  br label %1873

1873:                                             ; preds = %1870
  %1874 = load i32, ptr @test_count, align 4, !tbaa !5
  %1875 = add nsw i32 %1874, 1
  store i32 %1875, ptr @test_count, align 4, !tbaa !5
  %1876 = call i32 @s2n_psk_init(ptr noundef %29, i32 noundef 1)
  %1877 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  store i32 %1876, ptr %1877, align 4
  %1878 = getelementptr inbounds %struct.s2n_result, ptr %30, i32 0, i32 0
  %1879 = load i32, ptr %1878, align 4
  %1880 = call zeroext i1 @s2n_result_is_ok(i32 %1879)
  br i1 %1880, label %1934, label %1881

1881:                                             ; preds = %1873
  br label %1882

1882:                                             ; preds = %1881
  br label %1883

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

1890:                                             ; preds = %1883
  %1891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1892 = call i32 @fileno(ptr noundef %1891) #11
  %1893 = call i32 @isatty(i32 noundef %1892) #11
  %1894 = icmp ne i32 %1893, 0
  br i1 %1894, label %1895, label %1912

1895:                                             ; preds = %1890
  %1896 = load i32, ptr %31, align 4, !tbaa !5
  %1897 = call ptr @__errno_location() #12
  store i32 %1896, ptr %1897, align 4, !tbaa !5
  %1898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1899 = load i32, ptr @test_count, align 4, !tbaa !5
  %1900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1901 = load i32, ptr %1900, align 4, !tbaa !5
  %1902 = call ptr @s2n_strerror(i32 noundef %1901, ptr noundef @.str.80)
  %1903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = call ptr @s2n_strerror_debug(i32 noundef %1904, ptr noundef @.str.80)
  %1906 = call ptr @__errno_location() #12
  %1907 = load i32, ptr %1906, align 4, !tbaa !5
  %1908 = call ptr @strerror(i32 noundef %1907) #11
  %1909 = call ptr @__errno_location() #12
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  %1911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1898, ptr noundef @.str.78, i32 noundef %1899, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 54, ptr noundef %1902, ptr noundef %1905, ptr noundef %1908, i32 noundef %1910) #11
  br label %1929

1912:                                             ; preds = %1890, %1883
  %1913 = load i32, ptr %31, align 4, !tbaa !5
  %1914 = call ptr @__errno_location() #12
  store i32 %1913, ptr %1914, align 4, !tbaa !5
  %1915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1916 = load i32, ptr @test_count, align 4, !tbaa !5
  %1917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1918 = load i32, ptr %1917, align 4, !tbaa !5
  %1919 = call ptr @s2n_strerror(i32 noundef %1918, ptr noundef @.str.80)
  %1920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1921 = load i32, ptr %1920, align 4, !tbaa !5
  %1922 = call ptr @s2n_strerror_debug(i32 noundef %1921, ptr noundef @.str.80)
  %1923 = call ptr @__errno_location() #12
  %1924 = load i32, ptr %1923, align 4, !tbaa !5
  %1925 = call ptr @strerror(i32 noundef %1924) #11
  %1926 = call ptr @__errno_location() #12
  %1927 = load i32, ptr %1926, align 4, !tbaa !5
  %1928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1915, ptr noundef @.str.81, i32 noundef %1916, ptr noundef @.str.95, ptr noundef @.str.77, i32 noundef 54, ptr noundef %1919, ptr noundef %1922, ptr noundef %1925, i32 noundef %1927) #11
  br label %1929

1929:                                             ; preds = %1912, %1895
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1930

1930:                                             ; preds = %1929
  br label %1931

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

1932:                                             ; No predecessors!
  br label %1933

1933:                                             ; preds = %1932
  br label %1934

1934:                                             ; preds = %1933, %1873
  br label %1935

1935:                                             ; preds = %1934
  br label %1936

1936:                                             ; preds = %1935
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #11
  %1937 = call ptr @s2n_external_psk_new()
  store ptr %1937, ptr %32, align 8, !tbaa !9
  br label %1938

1938:                                             ; preds = %1936
  %1939 = load i32, ptr @test_count, align 4, !tbaa !5
  %1940 = add nsw i32 %1939, 1
  store i32 %1940, ptr @test_count, align 4, !tbaa !5
  %1941 = load ptr, ptr %32, align 8, !tbaa !9
  %1942 = icmp eq ptr %1941, null
  br i1 %1942, label %1943, label %1996

1943:                                             ; preds = %1938
  br label %1944

1944:                                             ; preds = %1943
  br label %1945

1945:                                             ; preds = %1944
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1946 = call ptr @__errno_location() #12
  %1947 = load i32, ptr %1946, align 4, !tbaa !5
  store i32 %1947, ptr %33, align 4, !tbaa !5
  %1948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1949 = call i32 @s2n_print_stacktrace(ptr noundef %1948)
  %1950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1951 = trunc i8 %1950 to i1
  br i1 %1951, label %1952, label %1974

1952:                                             ; preds = %1945
  %1953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1954 = call i32 @fileno(ptr noundef %1953) #11
  %1955 = call i32 @isatty(i32 noundef %1954) #11
  %1956 = icmp ne i32 %1955, 0
  br i1 %1956, label %1957, label %1974

1957:                                             ; preds = %1952
  %1958 = load i32, ptr %33, align 4, !tbaa !5
  %1959 = call ptr @__errno_location() #12
  store i32 %1958, ptr %1959, align 4, !tbaa !5
  %1960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1961 = load i32, ptr @test_count, align 4, !tbaa !5
  %1962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1963 = load i32, ptr %1962, align 4, !tbaa !5
  %1964 = call ptr @s2n_strerror(i32 noundef %1963, ptr noundef @.str.80)
  %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.80)
  %1968 = call ptr @__errno_location() #12
  %1969 = load i32, ptr %1968, align 4, !tbaa !5
  %1970 = call ptr @strerror(i32 noundef %1969) #11
  %1971 = call ptr @__errno_location() #12
  %1972 = load i32, ptr %1971, align 4, !tbaa !5
  %1973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1960, ptr noundef @.str.78, i32 noundef %1961, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 57, ptr noundef %1964, ptr noundef %1967, ptr noundef %1970, i32 noundef %1972) #11
  br label %1991

1974:                                             ; preds = %1952, %1945
  %1975 = load i32, ptr %33, align 4, !tbaa !5
  %1976 = call ptr @__errno_location() #12
  store i32 %1975, ptr %1976, align 4, !tbaa !5
  %1977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1978 = load i32, ptr @test_count, align 4, !tbaa !5
  %1979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1980 = load i32, ptr %1979, align 4, !tbaa !5
  %1981 = call ptr @s2n_strerror(i32 noundef %1980, ptr noundef @.str.80)
  %1982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1983 = load i32, ptr %1982, align 4, !tbaa !5
  %1984 = call ptr @s2n_strerror_debug(i32 noundef %1983, ptr noundef @.str.80)
  %1985 = call ptr @__errno_location() #12
  %1986 = load i32, ptr %1985, align 4, !tbaa !5
  %1987 = call ptr @strerror(i32 noundef %1986) #11
  %1988 = call ptr @__errno_location() #12
  %1989 = load i32, ptr %1988, align 4, !tbaa !5
  %1990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1977, ptr noundef @.str.81, i32 noundef %1978, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 57, ptr noundef %1981, ptr noundef %1984, ptr noundef %1987, i32 noundef %1989) #11
  br label %1991

1991:                                             ; preds = %1974, %1957
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1992

1992:                                             ; preds = %1991
  br label %1993

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

1994:                                             ; No predecessors!
  br label %1995

1995:                                             ; preds = %1994
  br label %1996

1996:                                             ; preds = %1995, %1938
  br label %1997

1997:                                             ; preds = %1996
  br label %1998

1998:                                             ; preds = %1997
  br label %1999

1999:                                             ; preds = %1998
  br label %2000

2000:                                             ; preds = %1999
  %2001 = load i32, ptr @test_count, align 4, !tbaa !5
  %2002 = add nsw i32 %2001, 1
  store i32 %2002, ptr @test_count, align 4, !tbaa !5
  %2003 = load ptr, ptr %32, align 8, !tbaa !9
  %2004 = call i32 @memcmp(ptr noundef %2003, ptr noundef %29, i64 noundef 168) #14
  %2005 = icmp eq i32 %2004, 0
  br i1 %2005, label %2059, label %2006

2006:                                             ; preds = %2000
  br label %2007

2007:                                             ; preds = %2006
  br label %2008

2008:                                             ; preds = %2007
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #11
  %2009 = call ptr @__errno_location() #12
  %2010 = load i32, ptr %2009, align 4, !tbaa !5
  store i32 %2010, ptr %34, align 4, !tbaa !5
  %2011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2012 = call i32 @s2n_print_stacktrace(ptr noundef %2011)
  %2013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2014 = trunc i8 %2013 to i1
  br i1 %2014, label %2015, label %2037

2015:                                             ; preds = %2008
  %2016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2017 = call i32 @fileno(ptr noundef %2016) #11
  %2018 = call i32 @isatty(i32 noundef %2017) #11
  %2019 = icmp ne i32 %2018, 0
  br i1 %2019, label %2020, label %2037

2020:                                             ; preds = %2015
  %2021 = load i32, ptr %34, align 4, !tbaa !5
  %2022 = call ptr @__errno_location() #12
  store i32 %2021, ptr %2022, align 4, !tbaa !5
  %2023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2024 = load i32, ptr @test_count, align 4, !tbaa !5
  %2025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2026 = load i32, ptr %2025, align 4, !tbaa !5
  %2027 = call ptr @s2n_strerror(i32 noundef %2026, ptr noundef @.str.80)
  %2028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2029 = load i32, ptr %2028, align 4, !tbaa !5
  %2030 = call ptr @s2n_strerror_debug(i32 noundef %2029, ptr noundef @.str.80)
  %2031 = call ptr @__errno_location() #12
  %2032 = load i32, ptr %2031, align 4, !tbaa !5
  %2033 = call ptr @strerror(i32 noundef %2032) #11
  %2034 = call ptr @__errno_location() #12
  %2035 = load i32, ptr %2034, align 4, !tbaa !5
  %2036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2023, ptr noundef @.str.78, i32 noundef %2024, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 59, ptr noundef %2027, ptr noundef %2030, ptr noundef %2033, i32 noundef %2035) #11
  br label %2054

2037:                                             ; preds = %2015, %2008
  %2038 = load i32, ptr %34, align 4, !tbaa !5
  %2039 = call ptr @__errno_location() #12
  store i32 %2038, ptr %2039, align 4, !tbaa !5
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = load i32, ptr @test_count, align 4, !tbaa !5
  %2042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2043 = load i32, ptr %2042, align 4, !tbaa !5
  %2044 = call ptr @s2n_strerror(i32 noundef %2043, ptr noundef @.str.80)
  %2045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2046 = load i32, ptr %2045, align 4, !tbaa !5
  %2047 = call ptr @s2n_strerror_debug(i32 noundef %2046, ptr noundef @.str.80)
  %2048 = call ptr @__errno_location() #12
  %2049 = load i32, ptr %2048, align 4, !tbaa !5
  %2050 = call ptr @strerror(i32 noundef %2049) #11
  %2051 = call ptr @__errno_location() #12
  %2052 = load i32, ptr %2051, align 4, !tbaa !5
  %2053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2040, ptr noundef @.str.81, i32 noundef %2041, ptr noundef @.str.97, ptr noundef @.str.77, i32 noundef 59, ptr noundef %2044, ptr noundef %2047, ptr noundef %2050, i32 noundef %2052) #11
  br label %2054

2054:                                             ; preds = %2037, %2020
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  br label %2055

2055:                                             ; preds = %2054
  br label %2056

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

2057:                                             ; No predecessors!
  br label %2058

2058:                                             ; preds = %2057
  br label %2059

2059:                                             ; preds = %2058, %2000
  br label %2060

2060:                                             ; preds = %2059
  br label %2061

2061:                                             ; preds = %2060
  br label %2062

2062:                                             ; preds = %2061
  br label %2063

2063:                                             ; preds = %2062
  %2064 = call i32 @s2n_psk_free(ptr noundef %32)
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #11
  %2065 = call i32 @s2n_psk_wipe(ptr noundef %29)
  %2066 = getelementptr inbounds %struct.s2n_result, ptr %35, i32 0, i32 0
  store i32 %2065, ptr %2066, align 4
  call void @llvm.lifetime.end.p0(i64 168, ptr %29) #11
  call void @llvm.lifetime.start.p0(i64 168, ptr %36) #11
  br label %2067

2067:                                             ; preds = %2063
  %2068 = load i32, ptr @test_count, align 4, !tbaa !5
  %2069 = add nsw i32 %2068, 1
  store i32 %2069, ptr @test_count, align 4, !tbaa !5
  %2070 = call i32 @s2n_psk_init(ptr noundef %36, i32 noundef 1)
  %2071 = getelementptr inbounds %struct.s2n_result, ptr %37, i32 0, i32 0
  store i32 %2070, ptr %2071, align 4
  %2072 = getelementptr inbounds %struct.s2n_result, ptr %37, i32 0, i32 0
  %2073 = load i32, ptr %2072, align 4
  %2074 = call zeroext i1 @s2n_result_is_ok(i32 %2073)
  br i1 %2074, label %2128, label %2075

2075:                                             ; preds = %2067
  br label %2076

2076:                                             ; preds = %2075
  br label %2077

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

2084:                                             ; preds = %2077
  %2085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2086 = call i32 @fileno(ptr noundef %2085) #11
  %2087 = call i32 @isatty(i32 noundef %2086) #11
  %2088 = icmp ne i32 %2087, 0
  br i1 %2088, label %2089, label %2106

2089:                                             ; preds = %2084
  %2090 = load i32, ptr %38, align 4, !tbaa !5
  %2091 = call ptr @__errno_location() #12
  store i32 %2090, ptr %2091, align 4, !tbaa !5
  %2092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2093 = load i32, ptr @test_count, align 4, !tbaa !5
  %2094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  %2096 = call ptr @s2n_strerror(i32 noundef %2095, ptr noundef @.str.80)
  %2097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2098 = load i32, ptr %2097, align 4, !tbaa !5
  %2099 = call ptr @s2n_strerror_debug(i32 noundef %2098, ptr noundef @.str.80)
  %2100 = call ptr @__errno_location() #12
  %2101 = load i32, ptr %2100, align 4, !tbaa !5
  %2102 = call ptr @strerror(i32 noundef %2101) #11
  %2103 = call ptr @__errno_location() #12
  %2104 = load i32, ptr %2103, align 4, !tbaa !5
  %2105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2092, ptr noundef @.str.78, i32 noundef %2093, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 65, ptr noundef %2096, ptr noundef %2099, ptr noundef %2102, i32 noundef %2104) #11
  br label %2123

2106:                                             ; preds = %2084, %2077
  %2107 = load i32, ptr %38, align 4, !tbaa !5
  %2108 = call ptr @__errno_location() #12
  store i32 %2107, ptr %2108, align 4, !tbaa !5
  %2109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2110 = load i32, ptr @test_count, align 4, !tbaa !5
  %2111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call ptr @s2n_strerror(i32 noundef %2112, ptr noundef @.str.80)
  %2114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call ptr @s2n_strerror_debug(i32 noundef %2115, ptr noundef @.str.80)
  %2117 = call ptr @__errno_location() #12
  %2118 = load i32, ptr %2117, align 4, !tbaa !5
  %2119 = call ptr @strerror(i32 noundef %2118) #11
  %2120 = call ptr @__errno_location() #12
  %2121 = load i32, ptr %2120, align 4, !tbaa !5
  %2122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2109, ptr noundef @.str.81, i32 noundef %2110, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 65, ptr noundef %2113, ptr noundef %2116, ptr noundef %2119, i32 noundef %2121) #11
  br label %2123

2123:                                             ; preds = %2106, %2089
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %2124

2124:                                             ; preds = %2123
  br label %2125

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

2126:                                             ; No predecessors!
  br label %2127

2127:                                             ; preds = %2126
  br label %2128

2128:                                             ; preds = %2127, %2067
  br label %2129

2129:                                             ; preds = %2128
  br label %2130

2130:                                             ; preds = %2129
  call void @llvm.lifetime.start.p0(i64 11, ptr %39) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %39, ptr align 1 @__const.main.test_value_1, i64 11, i1 false)
  br label %2131

2131:                                             ; preds = %2130
  br label %2132

2132:                                             ; preds = %2131
  br label %2133

2133:                                             ; preds = %2132
  %2134 = load i32, ptr @test_count, align 4, !tbaa !5
  %2135 = add nsw i32 %2134, 1
  store i32 %2135, ptr @test_count, align 4, !tbaa !5
  %2136 = getelementptr inbounds [11 x i8], ptr %39, i64 0, i64 0
  %2137 = call i32 @s2n_psk_set_identity(ptr noundef null, ptr noundef %2136, i16 noundef zeroext 1)
  %2138 = icmp eq i32 %2137, -1
  br i1 %2138, label %2192, label %2139

2139:                                             ; preds = %2133
  br label %2140

2140:                                             ; preds = %2139
  br label %2141

2141:                                             ; preds = %2140
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  %2142 = call ptr @__errno_location() #12
  %2143 = load i32, ptr %2142, align 4, !tbaa !5
  store i32 %2143, ptr %40, align 4, !tbaa !5
  %2144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2145 = call i32 @s2n_print_stacktrace(ptr noundef %2144)
  %2146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2147 = trunc i8 %2146 to i1
  br i1 %2147, label %2148, label %2170

2148:                                             ; preds = %2141
  %2149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2150 = call i32 @fileno(ptr noundef %2149) #11
  %2151 = call i32 @isatty(i32 noundef %2150) #11
  %2152 = icmp ne i32 %2151, 0
  br i1 %2152, label %2153, label %2170

2153:                                             ; preds = %2148
  %2154 = load i32, ptr %40, align 4, !tbaa !5
  %2155 = call ptr @__errno_location() #12
  store i32 %2154, ptr %2155, align 4, !tbaa !5
  %2156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2157 = load i32, ptr @test_count, align 4, !tbaa !5
  %2158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2159 = load i32, ptr %2158, align 4, !tbaa !5
  %2160 = call ptr @s2n_strerror(i32 noundef %2159, ptr noundef @.str.80)
  %2161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2162 = load i32, ptr %2161, align 4, !tbaa !5
  %2163 = call ptr @s2n_strerror_debug(i32 noundef %2162, ptr noundef @.str.80)
  %2164 = call ptr @__errno_location() #12
  %2165 = load i32, ptr %2164, align 4, !tbaa !5
  %2166 = call ptr @strerror(i32 noundef %2165) #11
  %2167 = call ptr @__errno_location() #12
  %2168 = load i32, ptr %2167, align 4, !tbaa !5
  %2169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2156, ptr noundef @.str.78, i32 noundef %2157, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 70, ptr noundef %2160, ptr noundef %2163, ptr noundef %2166, i32 noundef %2168) #11
  br label %2187

2170:                                             ; preds = %2148, %2141
  %2171 = load i32, ptr %40, align 4, !tbaa !5
  %2172 = call ptr @__errno_location() #12
  store i32 %2171, ptr %2172, align 4, !tbaa !5
  %2173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2174 = load i32, ptr @test_count, align 4, !tbaa !5
  %2175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2176 = load i32, ptr %2175, align 4, !tbaa !5
  %2177 = call ptr @s2n_strerror(i32 noundef %2176, ptr noundef @.str.80)
  %2178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2179 = load i32, ptr %2178, align 4, !tbaa !5
  %2180 = call ptr @s2n_strerror_debug(i32 noundef %2179, ptr noundef @.str.80)
  %2181 = call ptr @__errno_location() #12
  %2182 = load i32, ptr %2181, align 4, !tbaa !5
  %2183 = call ptr @strerror(i32 noundef %2182) #11
  %2184 = call ptr @__errno_location() #12
  %2185 = load i32, ptr %2184, align 4, !tbaa !5
  %2186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2173, ptr noundef @.str.81, i32 noundef %2174, ptr noundef @.str.98, ptr noundef @.str.77, i32 noundef 70, ptr noundef %2177, ptr noundef %2180, ptr noundef %2183, i32 noundef %2185) #11
  br label %2187

2187:                                             ; preds = %2170, %2153
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %2188

2188:                                             ; preds = %2187
  br label %2189

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

2190:                                             ; No predecessors!
  br label %2191

2191:                                             ; preds = %2190
  br label %2192

2192:                                             ; preds = %2191, %2133
  br label %2193

2193:                                             ; preds = %2192
  br label %2194

2194:                                             ; preds = %2193
  br label %2195

2195:                                             ; preds = %2194
  %2196 = load i32, ptr @test_count, align 4, !tbaa !5
  %2197 = add nsw i32 %2196, 1
  store i32 %2197, 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 = icmp eq i32 %2199, 402653193
  br i1 %2200, label %2254, label %2201

2201:                                             ; preds = %2195
  br label %2202

2202:                                             ; preds = %2201
  br label %2203

2203:                                             ; preds = %2202
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #11
  %2204 = call ptr @__errno_location() #12
  %2205 = load i32, ptr %2204, align 4, !tbaa !5
  store i32 %2205, ptr %41, align 4, !tbaa !5
  %2206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2207 = call i32 @s2n_print_stacktrace(ptr noundef %2206)
  %2208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2209 = trunc i8 %2208 to i1
  br i1 %2209, label %2210, label %2232

2210:                                             ; preds = %2203
  %2211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2212 = call i32 @fileno(ptr noundef %2211) #11
  %2213 = call i32 @isatty(i32 noundef %2212) #11
  %2214 = icmp ne i32 %2213, 0
  br i1 %2214, label %2215, label %2232

2215:                                             ; preds = %2210
  %2216 = load i32, ptr %41, align 4, !tbaa !5
  %2217 = call ptr @__errno_location() #12
  store i32 %2216, ptr %2217, align 4, !tbaa !5
  %2218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2219 = load i32, ptr @test_count, align 4, !tbaa !5
  %2220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2221 = load i32, ptr %2220, align 4, !tbaa !5
  %2222 = call ptr @s2n_strerror(i32 noundef %2221, ptr noundef @.str.80)
  %2223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2224 = load i32, ptr %2223, align 4, !tbaa !5
  %2225 = call ptr @s2n_strerror_debug(i32 noundef %2224, ptr noundef @.str.80)
  %2226 = call ptr @__errno_location() #12
  %2227 = load i32, ptr %2226, align 4, !tbaa !5
  %2228 = call ptr @strerror(i32 noundef %2227) #11
  %2229 = call ptr @__errno_location() #12
  %2230 = load i32, ptr %2229, align 4, !tbaa !5
  %2231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2218, ptr noundef @.str.78, i32 noundef %2219, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 70, ptr noundef %2222, ptr noundef %2225, ptr noundef %2228, i32 noundef %2230) #11
  br label %2249

2232:                                             ; preds = %2210, %2203
  %2233 = load i32, ptr %41, align 4, !tbaa !5
  %2234 = call ptr @__errno_location() #12
  store i32 %2233, ptr %2234, align 4, !tbaa !5
  %2235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2236 = load i32, ptr @test_count, align 4, !tbaa !5
  %2237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2238 = load i32, ptr %2237, align 4, !tbaa !5
  %2239 = call ptr @s2n_strerror(i32 noundef %2238, ptr noundef @.str.80)
  %2240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2241 = load i32, ptr %2240, align 4, !tbaa !5
  %2242 = call ptr @s2n_strerror_debug(i32 noundef %2241, ptr noundef @.str.80)
  %2243 = call ptr @__errno_location() #12
  %2244 = load i32, ptr %2243, align 4, !tbaa !5
  %2245 = call ptr @strerror(i32 noundef %2244) #11
  %2246 = call ptr @__errno_location() #12
  %2247 = load i32, ptr %2246, align 4, !tbaa !5
  %2248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2235, ptr noundef @.str.81, i32 noundef %2236, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 70, ptr noundef %2239, ptr noundef %2242, ptr noundef %2245, i32 noundef %2247) #11
  br label %2249

2249:                                             ; preds = %2232, %2215
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %2250

2250:                                             ; preds = %2249
  br label %2251

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

2252:                                             ; No predecessors!
  br label %2253

2253:                                             ; preds = %2252
  br label %2254

2254:                                             ; preds = %2253, %2195
  br label %2255

2255:                                             ; preds = %2254
  br label %2256

2256:                                             ; preds = %2255
  br label %2257

2257:                                             ; preds = %2256
  %2258 = load i32, ptr @test_count, align 4, !tbaa !5
  %2259 = add nsw i32 %2258, 1
  store i32 %2259, ptr @test_count, align 4, !tbaa !5
  %2260 = 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_debug(i32 noundef %2261, ptr noundef @.str.80)
  %2263 = icmp eq ptr %2262, null
  br i1 %2263, label %2264, label %2317

2264:                                             ; preds = %2257
  br label %2265

2265:                                             ; preds = %2264
  br label %2266

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

2273:                                             ; preds = %2266
  %2274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2275 = call i32 @fileno(ptr noundef %2274) #11
  %2276 = call i32 @isatty(i32 noundef %2275) #11
  %2277 = icmp ne i32 %2276, 0
  br i1 %2277, label %2278, label %2295

2278:                                             ; preds = %2273
  %2279 = load i32, ptr %42, align 4, !tbaa !5
  %2280 = call ptr @__errno_location() #12
  store i32 %2279, ptr %2280, align 4, !tbaa !5
  %2281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2282 = load i32, ptr @test_count, align 4, !tbaa !5
  %2283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2284 = load i32, ptr %2283, align 4, !tbaa !5
  %2285 = call ptr @s2n_strerror(i32 noundef %2284, ptr noundef @.str.80)
  %2286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2287 = load i32, ptr %2286, align 4, !tbaa !5
  %2288 = call ptr @s2n_strerror_debug(i32 noundef %2287, ptr noundef @.str.80)
  %2289 = call ptr @__errno_location() #12
  %2290 = load i32, ptr %2289, align 4, !tbaa !5
  %2291 = call ptr @strerror(i32 noundef %2290) #11
  %2292 = call ptr @__errno_location() #12
  %2293 = load i32, ptr %2292, align 4, !tbaa !5
  %2294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2281, ptr noundef @.str.78, i32 noundef %2282, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 70, ptr noundef %2285, ptr noundef %2288, ptr noundef %2291, i32 noundef %2293) #11
  br label %2312

2295:                                             ; preds = %2273, %2266
  %2296 = load i32, ptr %42, align 4, !tbaa !5
  %2297 = call ptr @__errno_location() #12
  store i32 %2296, ptr %2297, align 4, !tbaa !5
  %2298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2299 = load i32, ptr @test_count, align 4, !tbaa !5
  %2300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2301 = load i32, ptr %2300, align 4, !tbaa !5
  %2302 = call ptr @s2n_strerror(i32 noundef %2301, ptr noundef @.str.80)
  %2303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2304 = load i32, ptr %2303, align 4, !tbaa !5
  %2305 = call ptr @s2n_strerror_debug(i32 noundef %2304, ptr noundef @.str.80)
  %2306 = call ptr @__errno_location() #12
  %2307 = load i32, ptr %2306, align 4, !tbaa !5
  %2308 = call ptr @strerror(i32 noundef %2307) #11
  %2309 = call ptr @__errno_location() #12
  %2310 = load i32, ptr %2309, align 4, !tbaa !5
  %2311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2298, ptr noundef @.str.81, i32 noundef %2299, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 70, ptr noundef %2302, ptr noundef %2305, ptr noundef %2308, i32 noundef %2310) #11
  br label %2312

2312:                                             ; preds = %2295, %2278
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %2313

2313:                                             ; preds = %2312
  br label %2314

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

2315:                                             ; No predecessors!
  br label %2316

2316:                                             ; preds = %2315
  br label %2317

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

2318:                                             ; preds = %2317
  br label %2319

2319:                                             ; preds = %2318
  br label %2320

2320:                                             ; preds = %2319
  br label %2321

2321:                                             ; preds = %2320
  br label %2322

2322:                                             ; preds = %2321
  %2323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2323, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2324 = call ptr @__errno_location() #12
  store i32 0, ptr %2324, align 4, !tbaa !5
  br label %2325

2325:                                             ; preds = %2322
  br label %2326

2326:                                             ; preds = %2325
  br label %2327

2327:                                             ; preds = %2326
  br label %2328

2328:                                             ; preds = %2327
  br label %2329

2329:                                             ; preds = %2328
  br label %2330

2330:                                             ; preds = %2329
  br label %2331

2331:                                             ; preds = %2330
  %2332 = load i32, ptr @test_count, align 4, !tbaa !5
  %2333 = add nsw i32 %2332, 1
  store i32 %2333, ptr @test_count, align 4, !tbaa !5
  %2334 = call i32 @s2n_psk_set_identity(ptr noundef %36, ptr noundef null, i16 noundef zeroext 1)
  %2335 = icmp eq i32 %2334, -1
  br i1 %2335, label %2389, label %2336

2336:                                             ; preds = %2331
  br label %2337

2337:                                             ; preds = %2336
  br label %2338

2338:                                             ; preds = %2337
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #11
  %2339 = call ptr @__errno_location() #12
  %2340 = load i32, ptr %2339, align 4, !tbaa !5
  store i32 %2340, ptr %43, align 4, !tbaa !5
  %2341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2342 = call i32 @s2n_print_stacktrace(ptr noundef %2341)
  %2343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2344 = trunc i8 %2343 to i1
  br i1 %2344, label %2345, label %2367

2345:                                             ; preds = %2338
  %2346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2347 = call i32 @fileno(ptr noundef %2346) #11
  %2348 = call i32 @isatty(i32 noundef %2347) #11
  %2349 = icmp ne i32 %2348, 0
  br i1 %2349, label %2350, label %2367

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

2367:                                             ; preds = %2345, %2338
  %2368 = load i32, ptr %43, align 4, !tbaa !5
  %2369 = call ptr @__errno_location() #12
  store i32 %2368, ptr %2369, align 4, !tbaa !5
  %2370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2371 = load i32, ptr @test_count, align 4, !tbaa !5
  %2372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2373 = load i32, ptr %2372, align 4, !tbaa !5
  %2374 = call ptr @s2n_strerror(i32 noundef %2373, ptr noundef @.str.80)
  %2375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2376 = load i32, ptr %2375, align 4, !tbaa !5
  %2377 = call ptr @s2n_strerror_debug(i32 noundef %2376, ptr noundef @.str.80)
  %2378 = call ptr @__errno_location() #12
  %2379 = load i32, ptr %2378, align 4, !tbaa !5
  %2380 = call ptr @strerror(i32 noundef %2379) #11
  %2381 = call ptr @__errno_location() #12
  %2382 = load i32, ptr %2381, align 4, !tbaa !5
  %2383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2370, ptr noundef @.str.81, i32 noundef %2371, ptr noundef @.str.99, ptr noundef @.str.77, i32 noundef 72, ptr noundef %2374, ptr noundef %2377, ptr noundef %2380, i32 noundef %2382) #11
  br label %2384

2384:                                             ; preds = %2367, %2350
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #11
  br label %2385

2385:                                             ; preds = %2384
  br label %2386

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

2387:                                             ; No predecessors!
  br label %2388

2388:                                             ; preds = %2387
  br label %2389

2389:                                             ; preds = %2388, %2331
  br label %2390

2390:                                             ; preds = %2389
  br label %2391

2391:                                             ; preds = %2390
  br label %2392

2392:                                             ; preds = %2391
  %2393 = load i32, ptr @test_count, align 4, !tbaa !5
  %2394 = add nsw i32 %2393, 1
  store i32 %2394, ptr @test_count, align 4, !tbaa !5
  %2395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2396 = load i32, ptr %2395, align 4, !tbaa !5
  %2397 = icmp eq i32 %2396, 402653193
  br i1 %2397, label %2451, label %2398

2398:                                             ; preds = %2392
  br label %2399

2399:                                             ; preds = %2398
  br label %2400

2400:                                             ; preds = %2399
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #11
  %2401 = call ptr @__errno_location() #12
  %2402 = load i32, ptr %2401, align 4, !tbaa !5
  store i32 %2402, ptr %44, align 4, !tbaa !5
  %2403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2404 = call i32 @s2n_print_stacktrace(ptr noundef %2403)
  %2405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2406 = trunc i8 %2405 to i1
  br i1 %2406, label %2407, label %2429

2407:                                             ; preds = %2400
  %2408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2409 = call i32 @fileno(ptr noundef %2408) #11
  %2410 = call i32 @isatty(i32 noundef %2409) #11
  %2411 = icmp ne i32 %2410, 0
  br i1 %2411, label %2412, label %2429

2412:                                             ; preds = %2407
  %2413 = load i32, ptr %44, align 4, !tbaa !5
  %2414 = call ptr @__errno_location() #12
  store i32 %2413, ptr %2414, align 4, !tbaa !5
  %2415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2416 = load i32, ptr @test_count, align 4, !tbaa !5
  %2417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2418 = load i32, ptr %2417, align 4, !tbaa !5
  %2419 = call ptr @s2n_strerror(i32 noundef %2418, ptr noundef @.str.80)
  %2420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2421 = load i32, ptr %2420, align 4, !tbaa !5
  %2422 = call ptr @s2n_strerror_debug(i32 noundef %2421, ptr noundef @.str.80)
  %2423 = call ptr @__errno_location() #12
  %2424 = load i32, ptr %2423, align 4, !tbaa !5
  %2425 = call ptr @strerror(i32 noundef %2424) #11
  %2426 = call ptr @__errno_location() #12
  %2427 = load i32, ptr %2426, align 4, !tbaa !5
  %2428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2415, ptr noundef @.str.78, i32 noundef %2416, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 72, ptr noundef %2419, ptr noundef %2422, ptr noundef %2425, i32 noundef %2427) #11
  br label %2446

2429:                                             ; preds = %2407, %2400
  %2430 = load i32, ptr %44, align 4, !tbaa !5
  %2431 = call ptr @__errno_location() #12
  store i32 %2430, ptr %2431, align 4, !tbaa !5
  %2432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2433 = load i32, ptr @test_count, align 4, !tbaa !5
  %2434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2435 = load i32, ptr %2434, align 4, !tbaa !5
  %2436 = call ptr @s2n_strerror(i32 noundef %2435, ptr noundef @.str.80)
  %2437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2438 = load i32, ptr %2437, align 4, !tbaa !5
  %2439 = call ptr @s2n_strerror_debug(i32 noundef %2438, ptr noundef @.str.80)
  %2440 = call ptr @__errno_location() #12
  %2441 = load i32, ptr %2440, align 4, !tbaa !5
  %2442 = call ptr @strerror(i32 noundef %2441) #11
  %2443 = call ptr @__errno_location() #12
  %2444 = load i32, ptr %2443, align 4, !tbaa !5
  %2445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2432, ptr noundef @.str.81, i32 noundef %2433, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 72, ptr noundef %2436, ptr noundef %2439, ptr noundef %2442, i32 noundef %2444) #11
  br label %2446

2446:                                             ; preds = %2429, %2412
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #11
  br label %2447

2447:                                             ; preds = %2446
  br label %2448

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

2449:                                             ; No predecessors!
  br label %2450

2450:                                             ; preds = %2449
  br label %2451

2451:                                             ; preds = %2450, %2392
  br label %2452

2452:                                             ; preds = %2451
  br label %2453

2453:                                             ; preds = %2452
  br label %2454

2454:                                             ; preds = %2453
  %2455 = load i32, ptr @test_count, align 4, !tbaa !5
  %2456 = add nsw i32 %2455, 1
  store i32 %2456, ptr @test_count, align 4, !tbaa !5
  %2457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2458 = load i32, ptr %2457, align 4, !tbaa !5
  %2459 = call ptr @s2n_strerror_debug(i32 noundef %2458, ptr noundef @.str.80)
  %2460 = icmp eq ptr %2459, null
  br i1 %2460, label %2461, label %2514

2461:                                             ; preds = %2454
  br label %2462

2462:                                             ; preds = %2461
  br label %2463

2463:                                             ; preds = %2462
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #11
  %2464 = call ptr @__errno_location() #12
  %2465 = load i32, ptr %2464, align 4, !tbaa !5
  store i32 %2465, ptr %45, align 4, !tbaa !5
  %2466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2467 = call i32 @s2n_print_stacktrace(ptr noundef %2466)
  %2468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2469 = trunc i8 %2468 to i1
  br i1 %2469, label %2470, label %2492

2470:                                             ; preds = %2463
  %2471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2472 = call i32 @fileno(ptr noundef %2471) #11
  %2473 = call i32 @isatty(i32 noundef %2472) #11
  %2474 = icmp ne i32 %2473, 0
  br i1 %2474, label %2475, label %2492

2475:                                             ; preds = %2470
  %2476 = load i32, ptr %45, align 4, !tbaa !5
  %2477 = call ptr @__errno_location() #12
  store i32 %2476, ptr %2477, align 4, !tbaa !5
  %2478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2479 = load i32, ptr @test_count, align 4, !tbaa !5
  %2480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2481 = load i32, ptr %2480, align 4, !tbaa !5
  %2482 = call ptr @s2n_strerror(i32 noundef %2481, ptr noundef @.str.80)
  %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_debug(i32 noundef %2484, ptr noundef @.str.80)
  %2486 = call ptr @__errno_location() #12
  %2487 = load i32, ptr %2486, align 4, !tbaa !5
  %2488 = call ptr @strerror(i32 noundef %2487) #11
  %2489 = call ptr @__errno_location() #12
  %2490 = load i32, ptr %2489, align 4, !tbaa !5
  %2491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2478, ptr noundef @.str.78, i32 noundef %2479, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 72, ptr noundef %2482, ptr noundef %2485, ptr noundef %2488, i32 noundef %2490) #11
  br label %2509

2492:                                             ; preds = %2470, %2463
  %2493 = load i32, ptr %45, align 4, !tbaa !5
  %2494 = call ptr @__errno_location() #12
  store i32 %2493, ptr %2494, align 4, !tbaa !5
  %2495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2496 = load i32, ptr @test_count, align 4, !tbaa !5
  %2497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2498 = load i32, ptr %2497, align 4, !tbaa !5
  %2499 = call ptr @s2n_strerror(i32 noundef %2498, ptr noundef @.str.80)
  %2500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2501 = load i32, ptr %2500, align 4, !tbaa !5
  %2502 = call ptr @s2n_strerror_debug(i32 noundef %2501, ptr noundef @.str.80)
  %2503 = call ptr @__errno_location() #12
  %2504 = load i32, ptr %2503, align 4, !tbaa !5
  %2505 = call ptr @strerror(i32 noundef %2504) #11
  %2506 = call ptr @__errno_location() #12
  %2507 = load i32, ptr %2506, align 4, !tbaa !5
  %2508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2495, ptr noundef @.str.81, i32 noundef %2496, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 72, ptr noundef %2499, ptr noundef %2502, ptr noundef %2505, i32 noundef %2507) #11
  br label %2509

2509:                                             ; preds = %2492, %2475
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  br label %2510

2510:                                             ; preds = %2509
  br label %2511

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

2512:                                             ; No predecessors!
  br label %2513

2513:                                             ; preds = %2512
  br label %2514

2514:                                             ; preds = %2513, %2454
  br label %2515

2515:                                             ; preds = %2514
  br label %2516

2516:                                             ; preds = %2515
  br label %2517

2517:                                             ; preds = %2516
  br label %2518

2518:                                             ; preds = %2517
  br label %2519

2519:                                             ; preds = %2518
  %2520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2520, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2521 = call ptr @__errno_location() #12
  store i32 0, ptr %2521, align 4, !tbaa !5
  br label %2522

2522:                                             ; preds = %2519
  br label %2523

2523:                                             ; preds = %2522
  br label %2524

2524:                                             ; preds = %2523
  br label %2525

2525:                                             ; preds = %2524
  br label %2526

2526:                                             ; preds = %2525
  br label %2527

2527:                                             ; preds = %2526
  br label %2528

2528:                                             ; preds = %2527
  %2529 = load i32, ptr @test_count, align 4, !tbaa !5
  %2530 = add nsw i32 %2529, 1
  store i32 %2530, ptr @test_count, align 4, !tbaa !5
  %2531 = getelementptr inbounds [11 x i8], ptr %39, i64 0, i64 0
  %2532 = call i32 @s2n_psk_set_identity(ptr noundef %36, ptr noundef %2531, i16 noundef zeroext 0)
  %2533 = icmp eq i32 %2532, -1
  br i1 %2533, label %2587, label %2534

2534:                                             ; preds = %2528
  br label %2535

2535:                                             ; preds = %2534
  br label %2536

2536:                                             ; preds = %2535
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #11
  %2537 = call ptr @__errno_location() #12
  %2538 = load i32, ptr %2537, align 4, !tbaa !5
  store i32 %2538, ptr %46, align 4, !tbaa !5
  %2539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2540 = call i32 @s2n_print_stacktrace(ptr noundef %2539)
  %2541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2542 = trunc i8 %2541 to i1
  br i1 %2542, label %2543, label %2565

2543:                                             ; preds = %2536
  %2544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2545 = call i32 @fileno(ptr noundef %2544) #11
  %2546 = call i32 @isatty(i32 noundef %2545) #11
  %2547 = icmp ne i32 %2546, 0
  br i1 %2547, label %2548, label %2565

2548:                                             ; preds = %2543
  %2549 = load i32, ptr %46, align 4, !tbaa !5
  %2550 = call ptr @__errno_location() #12
  store i32 %2549, ptr %2550, align 4, !tbaa !5
  %2551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2552 = load i32, ptr @test_count, align 4, !tbaa !5
  %2553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2554 = load i32, ptr %2553, align 4, !tbaa !5
  %2555 = call ptr @s2n_strerror(i32 noundef %2554, ptr noundef @.str.80)
  %2556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2557 = load i32, ptr %2556, align 4, !tbaa !5
  %2558 = call ptr @s2n_strerror_debug(i32 noundef %2557, ptr noundef @.str.80)
  %2559 = call ptr @__errno_location() #12
  %2560 = load i32, ptr %2559, align 4, !tbaa !5
  %2561 = call ptr @strerror(i32 noundef %2560) #11
  %2562 = call ptr @__errno_location() #12
  %2563 = load i32, ptr %2562, align 4, !tbaa !5
  %2564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2551, ptr noundef @.str.78, i32 noundef %2552, ptr noundef @.str.100, ptr noundef @.str.77, i32 noundef 74, ptr noundef %2555, ptr noundef %2558, ptr noundef %2561, i32 noundef %2563) #11
  br label %2582

2565:                                             ; preds = %2543, %2536
  %2566 = load i32, ptr %46, align 4, !tbaa !5
  %2567 = call ptr @__errno_location() #12
  store i32 %2566, ptr %2567, align 4, !tbaa !5
  %2568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2569 = load i32, ptr @test_count, align 4, !tbaa !5
  %2570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2571 = load i32, ptr %2570, align 4, !tbaa !5
  %2572 = call ptr @s2n_strerror(i32 noundef %2571, ptr noundef @.str.80)
  %2573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2574 = load i32, ptr %2573, align 4, !tbaa !5
  %2575 = call ptr @s2n_strerror_debug(i32 noundef %2574, ptr noundef @.str.80)
  %2576 = call ptr @__errno_location() #12
  %2577 = load i32, ptr %2576, align 4, !tbaa !5
  %2578 = call ptr @strerror(i32 noundef %2577) #11
  %2579 = call ptr @__errno_location() #12
  %2580 = load i32, ptr %2579, align 4, !tbaa !5
  %2581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2568, ptr noundef @.str.81, i32 noundef %2569, ptr noundef @.str.100, ptr noundef @.str.77, i32 noundef 74, ptr noundef %2572, ptr noundef %2575, ptr noundef %2578, i32 noundef %2580) #11
  br label %2582

2582:                                             ; preds = %2565, %2548
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %2583

2583:                                             ; preds = %2582
  br label %2584

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

2585:                                             ; No predecessors!
  br label %2586

2586:                                             ; preds = %2585
  br label %2587

2587:                                             ; preds = %2586, %2528
  br label %2588

2588:                                             ; preds = %2587
  br label %2589

2589:                                             ; preds = %2588
  br label %2590

2590:                                             ; preds = %2589
  %2591 = load i32, ptr @test_count, align 4, !tbaa !5
  %2592 = add nsw i32 %2591, 1
  store i32 %2592, ptr @test_count, align 4, !tbaa !5
  %2593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2594 = load i32, ptr %2593, align 4, !tbaa !5
  %2595 = icmp eq i32 %2594, 469762089
  br i1 %2595, label %2649, label %2596

2596:                                             ; preds = %2590
  br label %2597

2597:                                             ; preds = %2596
  br label %2598

2598:                                             ; preds = %2597
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #11
  %2599 = call ptr @__errno_location() #12
  %2600 = load i32, ptr %2599, align 4, !tbaa !5
  store i32 %2600, ptr %47, align 4, !tbaa !5
  %2601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2602 = call i32 @s2n_print_stacktrace(ptr noundef %2601)
  %2603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2604 = trunc i8 %2603 to i1
  br i1 %2604, label %2605, label %2627

2605:                                             ; preds = %2598
  %2606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2607 = call i32 @fileno(ptr noundef %2606) #11
  %2608 = call i32 @isatty(i32 noundef %2607) #11
  %2609 = icmp ne i32 %2608, 0
  br i1 %2609, label %2610, label %2627

2610:                                             ; preds = %2605
  %2611 = load i32, ptr %47, 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.80)
  %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.80)
  %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.78, i32 noundef %2614, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 74, ptr noundef %2617, ptr noundef %2620, ptr noundef %2623, i32 noundef %2625) #11
  br label %2644

2627:                                             ; preds = %2605, %2598
  %2628 = load i32, ptr %47, align 4, !tbaa !5
  %2629 = call ptr @__errno_location() #12
  store i32 %2628, ptr %2629, align 4, !tbaa !5
  %2630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2631 = load i32, ptr @test_count, align 4, !tbaa !5
  %2632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2633 = load i32, ptr %2632, align 4, !tbaa !5
  %2634 = call ptr @s2n_strerror(i32 noundef %2633, ptr noundef @.str.80)
  %2635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2636 = load i32, ptr %2635, align 4, !tbaa !5
  %2637 = call ptr @s2n_strerror_debug(i32 noundef %2636, ptr noundef @.str.80)
  %2638 = call ptr @__errno_location() #12
  %2639 = load i32, ptr %2638, align 4, !tbaa !5
  %2640 = call ptr @strerror(i32 noundef %2639) #11
  %2641 = call ptr @__errno_location() #12
  %2642 = load i32, ptr %2641, align 4, !tbaa !5
  %2643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2630, ptr noundef @.str.81, i32 noundef %2631, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 74, ptr noundef %2634, ptr noundef %2637, ptr noundef %2640, i32 noundef %2642) #11
  br label %2644

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

2645:                                             ; preds = %2644
  br label %2646

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

2647:                                             ; No predecessors!
  br label %2648

2648:                                             ; preds = %2647
  br label %2649

2649:                                             ; preds = %2648, %2590
  br label %2650

2650:                                             ; preds = %2649
  br label %2651

2651:                                             ; preds = %2650
  br label %2652

2652:                                             ; preds = %2651
  %2653 = load i32, ptr @test_count, align 4, !tbaa !5
  %2654 = add nsw i32 %2653, 1
  store i32 %2654, ptr @test_count, align 4, !tbaa !5
  %2655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2656 = load i32, ptr %2655, align 4, !tbaa !5
  %2657 = call ptr @s2n_strerror_debug(i32 noundef %2656, ptr noundef @.str.80)
  %2658 = icmp eq ptr %2657, null
  br i1 %2658, label %2659, label %2712

2659:                                             ; preds = %2652
  br label %2660

2660:                                             ; preds = %2659
  br label %2661

2661:                                             ; preds = %2660
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #11
  %2662 = call ptr @__errno_location() #12
  %2663 = load i32, ptr %2662, align 4, !tbaa !5
  store i32 %2663, ptr %48, align 4, !tbaa !5
  %2664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2665 = call i32 @s2n_print_stacktrace(ptr noundef %2664)
  %2666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2667 = trunc i8 %2666 to i1
  br i1 %2667, label %2668, label %2690

2668:                                             ; preds = %2661
  %2669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2670 = call i32 @fileno(ptr noundef %2669) #11
  %2671 = call i32 @isatty(i32 noundef %2670) #11
  %2672 = icmp ne i32 %2671, 0
  br i1 %2672, label %2673, label %2690

2673:                                             ; preds = %2668
  %2674 = load i32, ptr %48, align 4, !tbaa !5
  %2675 = call ptr @__errno_location() #12
  store i32 %2674, ptr %2675, align 4, !tbaa !5
  %2676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2677 = load i32, ptr @test_count, align 4, !tbaa !5
  %2678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2679 = load i32, ptr %2678, align 4, !tbaa !5
  %2680 = call ptr @s2n_strerror(i32 noundef %2679, ptr noundef @.str.80)
  %2681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2682 = load i32, ptr %2681, align 4, !tbaa !5
  %2683 = call ptr @s2n_strerror_debug(i32 noundef %2682, ptr noundef @.str.80)
  %2684 = call ptr @__errno_location() #12
  %2685 = load i32, ptr %2684, align 4, !tbaa !5
  %2686 = call ptr @strerror(i32 noundef %2685) #11
  %2687 = call ptr @__errno_location() #12
  %2688 = load i32, ptr %2687, align 4, !tbaa !5
  %2689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2676, ptr noundef @.str.78, i32 noundef %2677, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 74, ptr noundef %2680, ptr noundef %2683, ptr noundef %2686, i32 noundef %2688) #11
  br label %2707

2690:                                             ; preds = %2668, %2661
  %2691 = load i32, ptr %48, align 4, !tbaa !5
  %2692 = call ptr @__errno_location() #12
  store i32 %2691, ptr %2692, align 4, !tbaa !5
  %2693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2694 = load i32, ptr @test_count, align 4, !tbaa !5
  %2695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2696 = load i32, ptr %2695, align 4, !tbaa !5
  %2697 = call ptr @s2n_strerror(i32 noundef %2696, ptr noundef @.str.80)
  %2698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2699 = load i32, ptr %2698, align 4, !tbaa !5
  %2700 = call ptr @s2n_strerror_debug(i32 noundef %2699, ptr noundef @.str.80)
  %2701 = call ptr @__errno_location() #12
  %2702 = load i32, ptr %2701, align 4, !tbaa !5
  %2703 = call ptr @strerror(i32 noundef %2702) #11
  %2704 = call ptr @__errno_location() #12
  %2705 = load i32, ptr %2704, align 4, !tbaa !5
  %2706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2693, ptr noundef @.str.81, i32 noundef %2694, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 74, ptr noundef %2697, ptr noundef %2700, ptr noundef %2703, i32 noundef %2705) #11
  br label %2707

2707:                                             ; preds = %2690, %2673
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  br label %2708

2708:                                             ; preds = %2707
  br label %2709

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

2710:                                             ; No predecessors!
  br label %2711

2711:                                             ; preds = %2710
  br label %2712

2712:                                             ; preds = %2711, %2652
  br label %2713

2713:                                             ; preds = %2712
  br label %2714

2714:                                             ; preds = %2713
  br label %2715

2715:                                             ; preds = %2714
  br label %2716

2716:                                             ; preds = %2715
  br label %2717

2717:                                             ; preds = %2716
  %2718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2718, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2719 = call ptr @__errno_location() #12
  store i32 0, ptr %2719, align 4, !tbaa !5
  br label %2720

2720:                                             ; preds = %2717
  br label %2721

2721:                                             ; preds = %2720
  br label %2722

2722:                                             ; preds = %2721
  br label %2723

2723:                                             ; preds = %2722
  br label %2724

2724:                                             ; preds = %2723
  %2725 = load i32, ptr @test_count, align 4, !tbaa !5
  %2726 = add nsw i32 %2725, 1
  store i32 %2726, ptr @test_count, align 4, !tbaa !5
  %2727 = getelementptr inbounds [11 x i8], ptr %39, i64 0, i64 0
  %2728 = call i32 @s2n_psk_set_identity(ptr noundef %36, ptr noundef %2727, i16 noundef zeroext 11)
  %2729 = icmp eq i32 %2728, -1
  br i1 %2729, label %2730, label %2783

2730:                                             ; preds = %2724
  br label %2731

2731:                                             ; preds = %2730
  br label %2732

2732:                                             ; preds = %2731
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #11
  %2733 = call ptr @__errno_location() #12
  %2734 = load i32, ptr %2733, align 4, !tbaa !5
  store i32 %2734, ptr %49, align 4, !tbaa !5
  %2735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2736 = call i32 @s2n_print_stacktrace(ptr noundef %2735)
  %2737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2738 = trunc i8 %2737 to i1
  br i1 %2738, label %2739, label %2761

2739:                                             ; preds = %2732
  %2740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2741 = call i32 @fileno(ptr noundef %2740) #11
  %2742 = call i32 @isatty(i32 noundef %2741) #11
  %2743 = icmp ne i32 %2742, 0
  br i1 %2743, label %2744, label %2761

2744:                                             ; preds = %2739
  %2745 = load i32, ptr %49, align 4, !tbaa !5
  %2746 = call ptr @__errno_location() #12
  store i32 %2745, ptr %2746, align 4, !tbaa !5
  %2747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2748 = load i32, ptr @test_count, align 4, !tbaa !5
  %2749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2750 = load i32, ptr %2749, align 4, !tbaa !5
  %2751 = call ptr @s2n_strerror(i32 noundef %2750, ptr noundef @.str.80)
  %2752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2753 = load i32, ptr %2752, align 4, !tbaa !5
  %2754 = call ptr @s2n_strerror_debug(i32 noundef %2753, ptr noundef @.str.80)
  %2755 = call ptr @__errno_location() #12
  %2756 = load i32, ptr %2755, align 4, !tbaa !5
  %2757 = call ptr @strerror(i32 noundef %2756) #11
  %2758 = call ptr @__errno_location() #12
  %2759 = load i32, ptr %2758, align 4, !tbaa !5
  %2760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2747, ptr noundef @.str.78, i32 noundef %2748, ptr noundef @.str.102, ptr noundef @.str.77, i32 noundef 76, ptr noundef %2751, ptr noundef %2754, ptr noundef %2757, i32 noundef %2759) #11
  br label %2778

2761:                                             ; preds = %2739, %2732
  %2762 = load i32, ptr %49, align 4, !tbaa !5
  %2763 = call ptr @__errno_location() #12
  store i32 %2762, ptr %2763, align 4, !tbaa !5
  %2764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2765 = load i32, ptr @test_count, align 4, !tbaa !5
  %2766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2767 = load i32, ptr %2766, align 4, !tbaa !5
  %2768 = call ptr @s2n_strerror(i32 noundef %2767, ptr noundef @.str.80)
  %2769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2770 = load i32, ptr %2769, align 4, !tbaa !5
  %2771 = call ptr @s2n_strerror_debug(i32 noundef %2770, ptr noundef @.str.80)
  %2772 = call ptr @__errno_location() #12
  %2773 = load i32, ptr %2772, align 4, !tbaa !5
  %2774 = call ptr @strerror(i32 noundef %2773) #11
  %2775 = call ptr @__errno_location() #12
  %2776 = load i32, ptr %2775, align 4, !tbaa !5
  %2777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2764, ptr noundef @.str.81, i32 noundef %2765, ptr noundef @.str.102, ptr noundef @.str.77, i32 noundef 76, ptr noundef %2768, ptr noundef %2771, ptr noundef %2774, i32 noundef %2776) #11
  br label %2778

2778:                                             ; preds = %2761, %2744
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2779

2779:                                             ; preds = %2778
  br label %2780

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

2781:                                             ; No predecessors!
  br label %2782

2782:                                             ; preds = %2781
  br label %2783

2783:                                             ; preds = %2782, %2724
  br label %2784

2784:                                             ; preds = %2783
  br label %2785

2785:                                             ; preds = %2784
  br label %2786

2786:                                             ; preds = %2785
  %2787 = load i32, ptr @test_count, align 4, !tbaa !5
  %2788 = add nsw i32 %2787, 1
  store i32 %2788, ptr @test_count, align 4, !tbaa !5
  %2789 = getelementptr inbounds %struct.s2n_psk, ptr %36, i32 0, i32 1
  %2790 = getelementptr inbounds %struct.s2n_blob, ptr %2789, i32 0, i32 1
  %2791 = load i32, ptr %2790, align 8, !tbaa !24
  %2792 = zext i32 %2791 to i64
  %2793 = icmp eq i64 %2792, 11
  br i1 %2793, label %2847, label %2794

2794:                                             ; preds = %2786
  br label %2795

2795:                                             ; preds = %2794
  br label %2796

2796:                                             ; preds = %2795
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  %2797 = call ptr @__errno_location() #12
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  store i32 %2798, ptr %50, align 4, !tbaa !5
  %2799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2800 = call i32 @s2n_print_stacktrace(ptr noundef %2799)
  %2801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2802 = trunc i8 %2801 to i1
  br i1 %2802, label %2803, label %2825

2803:                                             ; preds = %2796
  %2804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2805 = call i32 @fileno(ptr noundef %2804) #11
  %2806 = call i32 @isatty(i32 noundef %2805) #11
  %2807 = icmp ne i32 %2806, 0
  br i1 %2807, label %2808, label %2825

2808:                                             ; preds = %2803
  %2809 = load i32, ptr %50, 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.80)
  %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.80)
  %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.78, i32 noundef %2812, ptr noundef @.str.103, ptr noundef @.str.77, i32 noundef 77, ptr noundef %2815, ptr noundef %2818, ptr noundef %2821, i32 noundef %2823) #11
  br label %2842

2825:                                             ; preds = %2803, %2796
  %2826 = load i32, ptr %50, align 4, !tbaa !5
  %2827 = call ptr @__errno_location() #12
  store i32 %2826, ptr %2827, align 4, !tbaa !5
  %2828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2829 = load i32, ptr @test_count, align 4, !tbaa !5
  %2830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2831 = load i32, ptr %2830, align 4, !tbaa !5
  %2832 = call ptr @s2n_strerror(i32 noundef %2831, ptr noundef @.str.80)
  %2833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2834 = load i32, ptr %2833, align 4, !tbaa !5
  %2835 = call ptr @s2n_strerror_debug(i32 noundef %2834, ptr noundef @.str.80)
  %2836 = call ptr @__errno_location() #12
  %2837 = load i32, ptr %2836, align 4, !tbaa !5
  %2838 = call ptr @strerror(i32 noundef %2837) #11
  %2839 = call ptr @__errno_location() #12
  %2840 = load i32, ptr %2839, align 4, !tbaa !5
  %2841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2828, ptr noundef @.str.81, i32 noundef %2829, ptr noundef @.str.103, ptr noundef @.str.77, i32 noundef 77, ptr noundef %2832, ptr noundef %2835, ptr noundef %2838, i32 noundef %2840) #11
  br label %2842

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

2843:                                             ; preds = %2842
  br label %2844

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

2845:                                             ; No predecessors!
  br label %2846

2846:                                             ; preds = %2845
  br label %2847

2847:                                             ; preds = %2846, %2786
  br label %2848

2848:                                             ; preds = %2847
  br label %2849

2849:                                             ; preds = %2848
  br label %2850

2850:                                             ; preds = %2849
  br label %2851

2851:                                             ; preds = %2850
  %2852 = load i32, ptr @test_count, align 4, !tbaa !5
  %2853 = add nsw i32 %2852, 1
  store i32 %2853, ptr @test_count, align 4, !tbaa !5
  %2854 = getelementptr inbounds %struct.s2n_psk, ptr %36, i32 0, i32 1
  %2855 = getelementptr inbounds %struct.s2n_blob, ptr %2854, i32 0, i32 0
  %2856 = load ptr, ptr %2855, align 8, !tbaa !25
  %2857 = call i32 @memcmp(ptr noundef %2856, ptr noundef @.str.104, i64 noundef 11) #14
  %2858 = icmp eq i32 %2857, 0
  br i1 %2858, label %2912, label %2859

2859:                                             ; preds = %2851
  br label %2860

2860:                                             ; preds = %2859
  br label %2861

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

2868:                                             ; preds = %2861
  %2869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2870 = call i32 @fileno(ptr noundef %2869) #11
  %2871 = call i32 @isatty(i32 noundef %2870) #11
  %2872 = icmp ne i32 %2871, 0
  br i1 %2872, label %2873, label %2890

2873:                                             ; preds = %2868
  %2874 = load i32, ptr %51, align 4, !tbaa !5
  %2875 = call ptr @__errno_location() #12
  store i32 %2874, ptr %2875, align 4, !tbaa !5
  %2876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2877 = load i32, ptr @test_count, align 4, !tbaa !5
  %2878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2879 = load i32, ptr %2878, align 4, !tbaa !5
  %2880 = call ptr @s2n_strerror(i32 noundef %2879, ptr noundef @.str.80)
  %2881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2882 = load i32, ptr %2881, align 4, !tbaa !5
  %2883 = call ptr @s2n_strerror_debug(i32 noundef %2882, ptr noundef @.str.80)
  %2884 = call ptr @__errno_location() #12
  %2885 = load i32, ptr %2884, align 4, !tbaa !5
  %2886 = call ptr @strerror(i32 noundef %2885) #11
  %2887 = call ptr @__errno_location() #12
  %2888 = load i32, ptr %2887, align 4, !tbaa !5
  %2889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2876, ptr noundef @.str.78, i32 noundef %2877, ptr noundef @.str.105, ptr noundef @.str.77, i32 noundef 78, ptr noundef %2880, ptr noundef %2883, ptr noundef %2886, i32 noundef %2888) #11
  br label %2907

2890:                                             ; preds = %2868, %2861
  %2891 = load i32, ptr %51, align 4, !tbaa !5
  %2892 = call ptr @__errno_location() #12
  store i32 %2891, ptr %2892, align 4, !tbaa !5
  %2893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2894 = load i32, ptr @test_count, align 4, !tbaa !5
  %2895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2896 = load i32, ptr %2895, align 4, !tbaa !5
  %2897 = call ptr @s2n_strerror(i32 noundef %2896, ptr noundef @.str.80)
  %2898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2899 = load i32, ptr %2898, align 4, !tbaa !5
  %2900 = call ptr @s2n_strerror_debug(i32 noundef %2899, ptr noundef @.str.80)
  %2901 = call ptr @__errno_location() #12
  %2902 = load i32, ptr %2901, align 4, !tbaa !5
  %2903 = call ptr @strerror(i32 noundef %2902) #11
  %2904 = call ptr @__errno_location() #12
  %2905 = load i32, ptr %2904, align 4, !tbaa !5
  %2906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2893, ptr noundef @.str.81, i32 noundef %2894, ptr noundef @.str.105, ptr noundef @.str.77, i32 noundef 78, ptr noundef %2897, ptr noundef %2900, ptr noundef %2903, i32 noundef %2905) #11
  br label %2907

2907:                                             ; preds = %2890, %2873
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %2908

2908:                                             ; preds = %2907
  br label %2909

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

2910:                                             ; No predecessors!
  br label %2911

2911:                                             ; preds = %2910
  br label %2912

2912:                                             ; preds = %2911, %2851
  br label %2913

2913:                                             ; preds = %2912
  br label %2914

2914:                                             ; preds = %2913
  br label %2915

2915:                                             ; preds = %2914
  br label %2916

2916:                                             ; preds = %2915
  %2917 = getelementptr inbounds [11 x i8], ptr %39, i64 0, i64 0
  store i8 65, ptr %2917, align 1, !tbaa !26
  br label %2918

2918:                                             ; preds = %2916
  br label %2919

2919:                                             ; preds = %2918
  %2920 = load i32, ptr @test_count, align 4, !tbaa !5
  %2921 = add nsw i32 %2920, 1
  store i32 %2921, ptr @test_count, align 4, !tbaa !5
  %2922 = getelementptr inbounds %struct.s2n_psk, ptr %36, i32 0, i32 1
  %2923 = getelementptr inbounds %struct.s2n_blob, ptr %2922, i32 0, i32 0
  %2924 = load ptr, ptr %2923, align 8, !tbaa !25
  %2925 = call i32 @memcmp(ptr noundef %2924, ptr noundef @.str.104, i64 noundef 11) #14
  %2926 = icmp eq i32 %2925, 0
  br i1 %2926, label %2980, label %2927

2927:                                             ; preds = %2919
  br label %2928

2928:                                             ; preds = %2927
  br label %2929

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

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

2941:                                             ; preds = %2936
  %2942 = load i32, ptr %52, align 4, !tbaa !5
  %2943 = call ptr @__errno_location() #12
  store i32 %2942, ptr %2943, align 4, !tbaa !5
  %2944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2945 = load i32, ptr @test_count, align 4, !tbaa !5
  %2946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2947 = load i32, ptr %2946, align 4, !tbaa !5
  %2948 = call ptr @s2n_strerror(i32 noundef %2947, ptr noundef @.str.80)
  %2949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2950 = load i32, ptr %2949, align 4, !tbaa !5
  %2951 = call ptr @s2n_strerror_debug(i32 noundef %2950, ptr noundef @.str.80)
  %2952 = call ptr @__errno_location() #12
  %2953 = load i32, ptr %2952, align 4, !tbaa !5
  %2954 = call ptr @strerror(i32 noundef %2953) #11
  %2955 = call ptr @__errno_location() #12
  %2956 = load i32, ptr %2955, align 4, !tbaa !5
  %2957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2944, ptr noundef @.str.78, i32 noundef %2945, ptr noundef @.str.105, ptr noundef @.str.77, i32 noundef 82, ptr noundef %2948, ptr noundef %2951, ptr noundef %2954, i32 noundef %2956) #11
  br label %2975

2958:                                             ; preds = %2936, %2929
  %2959 = load i32, ptr %52, align 4, !tbaa !5
  %2960 = call ptr @__errno_location() #12
  store i32 %2959, ptr %2960, align 4, !tbaa !5
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = load i32, ptr @test_count, align 4, !tbaa !5
  %2963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2964 = load i32, ptr %2963, align 4, !tbaa !5
  %2965 = call ptr @s2n_strerror(i32 noundef %2964, ptr noundef @.str.80)
  %2966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2967 = load i32, ptr %2966, align 4, !tbaa !5
  %2968 = call ptr @s2n_strerror_debug(i32 noundef %2967, ptr noundef @.str.80)
  %2969 = call ptr @__errno_location() #12
  %2970 = load i32, ptr %2969, align 4, !tbaa !5
  %2971 = call ptr @strerror(i32 noundef %2970) #11
  %2972 = call ptr @__errno_location() #12
  %2973 = load i32, ptr %2972, align 4, !tbaa !5
  %2974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2961, ptr noundef @.str.81, i32 noundef %2962, ptr noundef @.str.105, ptr noundef @.str.77, i32 noundef 82, ptr noundef %2965, ptr noundef %2968, ptr noundef %2971, i32 noundef %2973) #11
  br label %2975

2975:                                             ; preds = %2958, %2941
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #11
  br label %2976

2976:                                             ; preds = %2975
  br label %2977

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

2978:                                             ; No predecessors!
  br label %2979

2979:                                             ; preds = %2978
  br label %2980

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

2981:                                             ; preds = %2980
  br label %2982

2982:                                             ; preds = %2981
  br label %2983

2983:                                             ; preds = %2982
  br label %2984

2984:                                             ; preds = %2983
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %53, ptr align 1 @__const.main.test_value_2, i64 8, i1 false)
  br label %2985

2985:                                             ; preds = %2984
  %2986 = load i32, ptr @test_count, align 4, !tbaa !5
  %2987 = add nsw i32 %2986, 1
  store i32 %2987, ptr @test_count, align 4, !tbaa !5
  %2988 = getelementptr inbounds [8 x i8], ptr %53, i64 0, i64 0
  %2989 = call i32 @s2n_psk_set_identity(ptr noundef %36, ptr noundef %2988, i16 noundef zeroext 8)
  %2990 = icmp eq i32 %2989, -1
  br i1 %2990, label %2991, label %3044

2991:                                             ; preds = %2985
  br label %2992

2992:                                             ; preds = %2991
  br label %2993

2993:                                             ; preds = %2992
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #11
  %2994 = call ptr @__errno_location() #12
  %2995 = load i32, ptr %2994, align 4, !tbaa !5
  store i32 %2995, ptr %54, align 4, !tbaa !5
  %2996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2997 = call i32 @s2n_print_stacktrace(ptr noundef %2996)
  %2998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2999 = trunc i8 %2998 to i1
  br i1 %2999, label %3000, label %3022

3000:                                             ; preds = %2993
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = call i32 @fileno(ptr noundef %3001) #11
  %3003 = call i32 @isatty(i32 noundef %3002) #11
  %3004 = icmp ne i32 %3003, 0
  br i1 %3004, label %3005, label %3022

3005:                                             ; preds = %3000
  %3006 = load i32, ptr %54, align 4, !tbaa !5
  %3007 = call ptr @__errno_location() #12
  store i32 %3006, ptr %3007, align 4, !tbaa !5
  %3008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3009 = load i32, ptr @test_count, align 4, !tbaa !5
  %3010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3011 = load i32, ptr %3010, align 4, !tbaa !5
  %3012 = call ptr @s2n_strerror(i32 noundef %3011, ptr noundef @.str.80)
  %3013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3014 = load i32, ptr %3013, align 4, !tbaa !5
  %3015 = call ptr @s2n_strerror_debug(i32 noundef %3014, ptr noundef @.str.80)
  %3016 = call ptr @__errno_location() #12
  %3017 = load i32, ptr %3016, align 4, !tbaa !5
  %3018 = call ptr @strerror(i32 noundef %3017) #11
  %3019 = call ptr @__errno_location() #12
  %3020 = load i32, ptr %3019, align 4, !tbaa !5
  %3021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3008, ptr noundef @.str.78, i32 noundef %3009, ptr noundef @.str.106, ptr noundef @.str.77, i32 noundef 86, ptr noundef %3012, ptr noundef %3015, ptr noundef %3018, i32 noundef %3020) #11
  br label %3039

3022:                                             ; preds = %3000, %2993
  %3023 = load i32, ptr %54, align 4, !tbaa !5
  %3024 = call ptr @__errno_location() #12
  store i32 %3023, ptr %3024, align 4, !tbaa !5
  %3025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3026 = load i32, ptr @test_count, align 4, !tbaa !5
  %3027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3028 = load i32, ptr %3027, align 4, !tbaa !5
  %3029 = call ptr @s2n_strerror(i32 noundef %3028, ptr noundef @.str.80)
  %3030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3031 = load i32, ptr %3030, align 4, !tbaa !5
  %3032 = call ptr @s2n_strerror_debug(i32 noundef %3031, ptr noundef @.str.80)
  %3033 = call ptr @__errno_location() #12
  %3034 = load i32, ptr %3033, align 4, !tbaa !5
  %3035 = call ptr @strerror(i32 noundef %3034) #11
  %3036 = call ptr @__errno_location() #12
  %3037 = load i32, ptr %3036, align 4, !tbaa !5
  %3038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3025, ptr noundef @.str.81, i32 noundef %3026, ptr noundef @.str.106, ptr noundef @.str.77, i32 noundef 86, ptr noundef %3029, ptr noundef %3032, ptr noundef %3035, i32 noundef %3037) #11
  br label %3039

3039:                                             ; preds = %3022, %3005
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %3040

3040:                                             ; preds = %3039
  br label %3041

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

3042:                                             ; No predecessors!
  br label %3043

3043:                                             ; preds = %3042
  br label %3044

3044:                                             ; preds = %3043, %2985
  br label %3045

3045:                                             ; preds = %3044
  br label %3046

3046:                                             ; preds = %3045
  br label %3047

3047:                                             ; preds = %3046
  %3048 = load i32, ptr @test_count, align 4, !tbaa !5
  %3049 = add nsw i32 %3048, 1
  store i32 %3049, ptr @test_count, align 4, !tbaa !5
  %3050 = getelementptr inbounds %struct.s2n_psk, ptr %36, i32 0, i32 1
  %3051 = getelementptr inbounds %struct.s2n_blob, ptr %3050, i32 0, i32 1
  %3052 = load i32, ptr %3051, align 8, !tbaa !24
  %3053 = zext i32 %3052 to i64
  %3054 = icmp eq i64 %3053, 8
  br i1 %3054, label %3108, label %3055

3055:                                             ; preds = %3047
  br label %3056

3056:                                             ; preds = %3055
  br label %3057

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

3064:                                             ; preds = %3057
  %3065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3066 = call i32 @fileno(ptr noundef %3065) #11
  %3067 = call i32 @isatty(i32 noundef %3066) #11
  %3068 = icmp ne i32 %3067, 0
  br i1 %3068, label %3069, label %3086

3069:                                             ; preds = %3064
  %3070 = load i32, ptr %55, align 4, !tbaa !5
  %3071 = call ptr @__errno_location() #12
  store i32 %3070, ptr %3071, align 4, !tbaa !5
  %3072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3073 = load i32, ptr @test_count, align 4, !tbaa !5
  %3074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3075 = load i32, ptr %3074, align 4, !tbaa !5
  %3076 = call ptr @s2n_strerror(i32 noundef %3075, ptr noundef @.str.80)
  %3077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3078 = load i32, ptr %3077, align 4, !tbaa !5
  %3079 = call ptr @s2n_strerror_debug(i32 noundef %3078, ptr noundef @.str.80)
  %3080 = call ptr @__errno_location() #12
  %3081 = load i32, ptr %3080, align 4, !tbaa !5
  %3082 = call ptr @strerror(i32 noundef %3081) #11
  %3083 = call ptr @__errno_location() #12
  %3084 = load i32, ptr %3083, align 4, !tbaa !5
  %3085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3072, ptr noundef @.str.78, i32 noundef %3073, ptr noundef @.str.107, ptr noundef @.str.77, i32 noundef 87, ptr noundef %3076, ptr noundef %3079, ptr noundef %3082, i32 noundef %3084) #11
  br label %3103

3086:                                             ; preds = %3064, %3057
  %3087 = load i32, ptr %55, align 4, !tbaa !5
  %3088 = call ptr @__errno_location() #12
  store i32 %3087, ptr %3088, align 4, !tbaa !5
  %3089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3090 = load i32, ptr @test_count, align 4, !tbaa !5
  %3091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3092 = load i32, ptr %3091, align 4, !tbaa !5
  %3093 = call ptr @s2n_strerror(i32 noundef %3092, ptr noundef @.str.80)
  %3094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3095 = load i32, ptr %3094, align 4, !tbaa !5
  %3096 = call ptr @s2n_strerror_debug(i32 noundef %3095, ptr noundef @.str.80)
  %3097 = call ptr @__errno_location() #12
  %3098 = load i32, ptr %3097, align 4, !tbaa !5
  %3099 = call ptr @strerror(i32 noundef %3098) #11
  %3100 = call ptr @__errno_location() #12
  %3101 = load i32, ptr %3100, align 4, !tbaa !5
  %3102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3089, ptr noundef @.str.81, i32 noundef %3090, ptr noundef @.str.107, ptr noundef @.str.77, i32 noundef 87, ptr noundef %3093, ptr noundef %3096, ptr noundef %3099, i32 noundef %3101) #11
  br label %3103

3103:                                             ; preds = %3086, %3069
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %3104

3104:                                             ; preds = %3103
  br label %3105

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

3106:                                             ; No predecessors!
  br label %3107

3107:                                             ; preds = %3106
  br label %3108

3108:                                             ; preds = %3107, %3047
  br label %3109

3109:                                             ; preds = %3108
  br label %3110

3110:                                             ; preds = %3109
  br label %3111

3111:                                             ; preds = %3110
  br label %3112

3112:                                             ; preds = %3111
  %3113 = load i32, ptr @test_count, align 4, !tbaa !5
  %3114 = add nsw i32 %3113, 1
  store i32 %3114, ptr @test_count, align 4, !tbaa !5
  %3115 = getelementptr inbounds %struct.s2n_psk, ptr %36, i32 0, i32 1
  %3116 = getelementptr inbounds %struct.s2n_blob, ptr %3115, i32 0, i32 0
  %3117 = load ptr, ptr %3116, align 8, !tbaa !25
  %3118 = call i32 @memcmp(ptr noundef %3117, ptr noundef @.str.108, i64 noundef 8) #14
  %3119 = icmp eq i32 %3118, 0
  br i1 %3119, label %3173, label %3120

3120:                                             ; preds = %3112
  br label %3121

3121:                                             ; preds = %3120
  br label %3122

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

3129:                                             ; preds = %3122
  %3130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3131 = call i32 @fileno(ptr noundef %3130) #11
  %3132 = call i32 @isatty(i32 noundef %3131) #11
  %3133 = icmp ne i32 %3132, 0
  br i1 %3133, label %3134, label %3151

3134:                                             ; preds = %3129
  %3135 = load i32, ptr %56, align 4, !tbaa !5
  %3136 = call ptr @__errno_location() #12
  store i32 %3135, ptr %3136, align 4, !tbaa !5
  %3137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3138 = load i32, ptr @test_count, align 4, !tbaa !5
  %3139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3140 = load i32, ptr %3139, align 4, !tbaa !5
  %3141 = call ptr @s2n_strerror(i32 noundef %3140, ptr noundef @.str.80)
  %3142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3143 = load i32, ptr %3142, align 4, !tbaa !5
  %3144 = call ptr @s2n_strerror_debug(i32 noundef %3143, ptr noundef @.str.80)
  %3145 = call ptr @__errno_location() #12
  %3146 = load i32, ptr %3145, align 4, !tbaa !5
  %3147 = call ptr @strerror(i32 noundef %3146) #11
  %3148 = call ptr @__errno_location() #12
  %3149 = load i32, ptr %3148, align 4, !tbaa !5
  %3150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3137, ptr noundef @.str.78, i32 noundef %3138, ptr noundef @.str.109, ptr noundef @.str.77, i32 noundef 88, ptr noundef %3141, ptr noundef %3144, ptr noundef %3147, i32 noundef %3149) #11
  br label %3168

3151:                                             ; preds = %3129, %3122
  %3152 = load i32, ptr %56, align 4, !tbaa !5
  %3153 = call ptr @__errno_location() #12
  store i32 %3152, ptr %3153, align 4, !tbaa !5
  %3154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3155 = load i32, ptr @test_count, align 4, !tbaa !5
  %3156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3157 = load i32, ptr %3156, align 4, !tbaa !5
  %3158 = call ptr @s2n_strerror(i32 noundef %3157, ptr noundef @.str.80)
  %3159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3160 = load i32, ptr %3159, align 4, !tbaa !5
  %3161 = call ptr @s2n_strerror_debug(i32 noundef %3160, ptr noundef @.str.80)
  %3162 = call ptr @__errno_location() #12
  %3163 = load i32, ptr %3162, align 4, !tbaa !5
  %3164 = call ptr @strerror(i32 noundef %3163) #11
  %3165 = call ptr @__errno_location() #12
  %3166 = load i32, ptr %3165, align 4, !tbaa !5
  %3167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3154, ptr noundef @.str.81, i32 noundef %3155, ptr noundef @.str.109, ptr noundef @.str.77, i32 noundef 88, ptr noundef %3158, ptr noundef %3161, ptr noundef %3164, i32 noundef %3166) #11
  br label %3168

3168:                                             ; preds = %3151, %3134
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #11
  br label %3169

3169:                                             ; preds = %3168
  br label %3170

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

3171:                                             ; No predecessors!
  br label %3172

3172:                                             ; preds = %3171
  br label %3173

3173:                                             ; preds = %3172, %3112
  br label %3174

3174:                                             ; preds = %3173
  br label %3175

3175:                                             ; preds = %3174
  br label %3176

3176:                                             ; preds = %3175
  br label %3177

3177:                                             ; preds = %3176
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #11
  call void @llvm.lifetime.end.p0(i64 11, ptr %39) #11
  %3178 = call i32 @s2n_psk_wipe(ptr noundef %36)
  %3179 = getelementptr inbounds %struct.s2n_result, ptr %57, i32 0, i32 0
  store i32 %3178, ptr %3179, align 4
  call void @llvm.lifetime.end.p0(i64 168, ptr %36) #11
  call void @llvm.lifetime.start.p0(i64 168, ptr %58) #11
  br label %3180

3180:                                             ; preds = %3177
  %3181 = load i32, ptr @test_count, align 4, !tbaa !5
  %3182 = add nsw i32 %3181, 1
  store i32 %3182, ptr @test_count, align 4, !tbaa !5
  %3183 = call i32 @s2n_psk_init(ptr noundef %58, i32 noundef 1)
  %3184 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  store i32 %3183, ptr %3184, align 4
  %3185 = getelementptr inbounds %struct.s2n_result, ptr %59, i32 0, i32 0
  %3186 = load i32, ptr %3185, align 4
  %3187 = call zeroext i1 @s2n_result_is_ok(i32 %3186)
  br i1 %3187, label %3241, label %3188

3188:                                             ; preds = %3180
  br label %3189

3189:                                             ; preds = %3188
  br label %3190

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

3197:                                             ; preds = %3190
  %3198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3199 = call i32 @fileno(ptr noundef %3198) #11
  %3200 = call i32 @isatty(i32 noundef %3199) #11
  %3201 = icmp ne i32 %3200, 0
  br i1 %3201, label %3202, label %3219

3202:                                             ; preds = %3197
  %3203 = load i32, ptr %60, align 4, !tbaa !5
  %3204 = call ptr @__errno_location() #12
  store i32 %3203, ptr %3204, align 4, !tbaa !5
  %3205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3206 = load i32, ptr @test_count, align 4, !tbaa !5
  %3207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3208 = load i32, ptr %3207, align 4, !tbaa !5
  %3209 = call ptr @s2n_strerror(i32 noundef %3208, ptr noundef @.str.80)
  %3210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3211 = load i32, ptr %3210, align 4, !tbaa !5
  %3212 = call ptr @s2n_strerror_debug(i32 noundef %3211, ptr noundef @.str.80)
  %3213 = call ptr @__errno_location() #12
  %3214 = load i32, ptr %3213, align 4, !tbaa !5
  %3215 = call ptr @strerror(i32 noundef %3214) #11
  %3216 = call ptr @__errno_location() #12
  %3217 = load i32, ptr %3216, align 4, !tbaa !5
  %3218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3205, ptr noundef @.str.78, i32 noundef %3206, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 94, ptr noundef %3209, ptr noundef %3212, ptr noundef %3215, i32 noundef %3217) #11
  br label %3236

3219:                                             ; preds = %3197, %3190
  %3220 = load i32, ptr %60, align 4, !tbaa !5
  %3221 = call ptr @__errno_location() #12
  store i32 %3220, ptr %3221, align 4, !tbaa !5
  %3222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3223 = load i32, ptr @test_count, align 4, !tbaa !5
  %3224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3225 = load i32, ptr %3224, align 4, !tbaa !5
  %3226 = call ptr @s2n_strerror(i32 noundef %3225, ptr noundef @.str.80)
  %3227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3228 = load i32, ptr %3227, align 4, !tbaa !5
  %3229 = call ptr @s2n_strerror_debug(i32 noundef %3228, ptr noundef @.str.80)
  %3230 = call ptr @__errno_location() #12
  %3231 = load i32, ptr %3230, align 4, !tbaa !5
  %3232 = call ptr @strerror(i32 noundef %3231) #11
  %3233 = call ptr @__errno_location() #12
  %3234 = load i32, ptr %3233, align 4, !tbaa !5
  %3235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3222, ptr noundef @.str.81, i32 noundef %3223, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 94, ptr noundef %3226, ptr noundef %3229, ptr noundef %3232, i32 noundef %3234) #11
  br label %3236

3236:                                             ; preds = %3219, %3202
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %3237

3237:                                             ; preds = %3236
  br label %3238

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

3239:                                             ; No predecessors!
  br label %3240

3240:                                             ; preds = %3239
  br label %3241

3241:                                             ; preds = %3240, %3180
  br label %3242

3242:                                             ; preds = %3241
  br label %3243

3243:                                             ; preds = %3242
  call void @llvm.lifetime.start.p0(i64 11, ptr %61) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %61, ptr align 1 @__const.main.test_value_1.110, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 5, ptr %62) #11
  call void @llvm.memset.p0.i64(ptr align 1 %62, i8 0, i64 5, i1 false)
  br label %3244

3244:                                             ; preds = %3243
  br label %3245

3245:                                             ; preds = %3244
  br label %3246

3246:                                             ; preds = %3245
  %3247 = load i32, ptr @test_count, align 4, !tbaa !5
  %3248 = add nsw i32 %3247, 1
  store i32 %3248, ptr @test_count, align 4, !tbaa !5
  %3249 = getelementptr inbounds [11 x i8], ptr %61, i64 0, i64 0
  %3250 = call i32 @s2n_psk_set_secret(ptr noundef null, ptr noundef %3249, i16 noundef zeroext 1)
  %3251 = icmp eq i32 %3250, -1
  br i1 %3251, label %3305, label %3252

3252:                                             ; preds = %3246
  br label %3253

3253:                                             ; preds = %3252
  br label %3254

3254:                                             ; preds = %3253
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #11
  %3255 = call ptr @__errno_location() #12
  %3256 = load i32, ptr %3255, align 4, !tbaa !5
  store i32 %3256, ptr %63, align 4, !tbaa !5
  %3257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3258 = call i32 @s2n_print_stacktrace(ptr noundef %3257)
  %3259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3260 = trunc i8 %3259 to i1
  br i1 %3260, label %3261, label %3283

3261:                                             ; preds = %3254
  %3262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3263 = call i32 @fileno(ptr noundef %3262) #11
  %3264 = call i32 @isatty(i32 noundef %3263) #11
  %3265 = icmp ne i32 %3264, 0
  br i1 %3265, label %3266, label %3283

3266:                                             ; preds = %3261
  %3267 = load i32, ptr %63, align 4, !tbaa !5
  %3268 = call ptr @__errno_location() #12
  store i32 %3267, ptr %3268, align 4, !tbaa !5
  %3269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3270 = load i32, ptr @test_count, align 4, !tbaa !5
  %3271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3272 = load i32, ptr %3271, align 4, !tbaa !5
  %3273 = call ptr @s2n_strerror(i32 noundef %3272, ptr noundef @.str.80)
  %3274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3275 = load i32, ptr %3274, align 4, !tbaa !5
  %3276 = call ptr @s2n_strerror_debug(i32 noundef %3275, ptr noundef @.str.80)
  %3277 = call ptr @__errno_location() #12
  %3278 = load i32, ptr %3277, align 4, !tbaa !5
  %3279 = call ptr @strerror(i32 noundef %3278) #11
  %3280 = call ptr @__errno_location() #12
  %3281 = load i32, ptr %3280, align 4, !tbaa !5
  %3282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3269, ptr noundef @.str.78, i32 noundef %3270, ptr noundef @.str.111, ptr noundef @.str.77, i32 noundef 100, ptr noundef %3273, ptr noundef %3276, ptr noundef %3279, i32 noundef %3281) #11
  br label %3300

3283:                                             ; preds = %3261, %3254
  %3284 = load i32, ptr %63, align 4, !tbaa !5
  %3285 = call ptr @__errno_location() #12
  store i32 %3284, ptr %3285, align 4, !tbaa !5
  %3286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3287 = load i32, ptr @test_count, align 4, !tbaa !5
  %3288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3289 = load i32, ptr %3288, align 4, !tbaa !5
  %3290 = call ptr @s2n_strerror(i32 noundef %3289, ptr noundef @.str.80)
  %3291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3292 = load i32, ptr %3291, align 4, !tbaa !5
  %3293 = call ptr @s2n_strerror_debug(i32 noundef %3292, ptr noundef @.str.80)
  %3294 = call ptr @__errno_location() #12
  %3295 = load i32, ptr %3294, align 4, !tbaa !5
  %3296 = call ptr @strerror(i32 noundef %3295) #11
  %3297 = call ptr @__errno_location() #12
  %3298 = load i32, ptr %3297, align 4, !tbaa !5
  %3299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3286, ptr noundef @.str.81, i32 noundef %3287, ptr noundef @.str.111, ptr noundef @.str.77, i32 noundef 100, ptr noundef %3290, ptr noundef %3293, ptr noundef %3296, i32 noundef %3298) #11
  br label %3300

3300:                                             ; preds = %3283, %3266
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %3301

3301:                                             ; preds = %3300
  br label %3302

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

3303:                                             ; No predecessors!
  br label %3304

3304:                                             ; preds = %3303
  br label %3305

3305:                                             ; preds = %3304, %3246
  br label %3306

3306:                                             ; preds = %3305
  br label %3307

3307:                                             ; preds = %3306
  br label %3308

3308:                                             ; preds = %3307
  %3309 = load i32, ptr @test_count, align 4, !tbaa !5
  %3310 = add nsw i32 %3309, 1
  store i32 %3310, ptr @test_count, align 4, !tbaa !5
  %3311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3312 = load i32, ptr %3311, align 4, !tbaa !5
  %3313 = icmp eq i32 %3312, 402653193
  br i1 %3313, label %3367, label %3314

3314:                                             ; preds = %3308
  br label %3315

3315:                                             ; preds = %3314
  br label %3316

3316:                                             ; preds = %3315
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %3317 = call ptr @__errno_location() #12
  %3318 = load i32, ptr %3317, align 4, !tbaa !5
  store i32 %3318, ptr %64, align 4, !tbaa !5
  %3319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3320 = call i32 @s2n_print_stacktrace(ptr noundef %3319)
  %3321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3322 = trunc i8 %3321 to i1
  br i1 %3322, label %3323, label %3345

3323:                                             ; preds = %3316
  %3324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3325 = call i32 @fileno(ptr noundef %3324) #11
  %3326 = call i32 @isatty(i32 noundef %3325) #11
  %3327 = icmp ne i32 %3326, 0
  br i1 %3327, label %3328, label %3345

3328:                                             ; preds = %3323
  %3329 = load i32, ptr %64, align 4, !tbaa !5
  %3330 = call ptr @__errno_location() #12
  store i32 %3329, ptr %3330, align 4, !tbaa !5
  %3331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3332 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3334, ptr noundef @.str.80)
  %3336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3337 = load i32, ptr %3336, align 4, !tbaa !5
  %3338 = call ptr @s2n_strerror_debug(i32 noundef %3337, ptr noundef @.str.80)
  %3339 = call ptr @__errno_location() #12
  %3340 = load i32, ptr %3339, align 4, !tbaa !5
  %3341 = call ptr @strerror(i32 noundef %3340) #11
  %3342 = call ptr @__errno_location() #12
  %3343 = load i32, ptr %3342, align 4, !tbaa !5
  %3344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3331, ptr noundef @.str.78, i32 noundef %3332, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 100, ptr noundef %3335, ptr noundef %3338, ptr noundef %3341, i32 noundef %3343) #11
  br label %3362

3345:                                             ; preds = %3323, %3316
  %3346 = load i32, ptr %64, align 4, !tbaa !5
  %3347 = call ptr @__errno_location() #12
  store i32 %3346, ptr %3347, align 4, !tbaa !5
  %3348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3349 = load i32, ptr @test_count, align 4, !tbaa !5
  %3350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3351 = load i32, ptr %3350, align 4, !tbaa !5
  %3352 = call ptr @s2n_strerror(i32 noundef %3351, ptr noundef @.str.80)
  %3353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3354 = load i32, ptr %3353, align 4, !tbaa !5
  %3355 = call ptr @s2n_strerror_debug(i32 noundef %3354, ptr noundef @.str.80)
  %3356 = call ptr @__errno_location() #12
  %3357 = load i32, ptr %3356, align 4, !tbaa !5
  %3358 = call ptr @strerror(i32 noundef %3357) #11
  %3359 = call ptr @__errno_location() #12
  %3360 = load i32, ptr %3359, align 4, !tbaa !5
  %3361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3348, ptr noundef @.str.81, i32 noundef %3349, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 100, ptr noundef %3352, ptr noundef %3355, ptr noundef %3358, i32 noundef %3360) #11
  br label %3362

3362:                                             ; preds = %3345, %3328
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %3363

3363:                                             ; preds = %3362
  br label %3364

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

3365:                                             ; No predecessors!
  br label %3366

3366:                                             ; preds = %3365
  br label %3367

3367:                                             ; preds = %3366, %3308
  br label %3368

3368:                                             ; preds = %3367
  br label %3369

3369:                                             ; preds = %3368
  br label %3370

3370:                                             ; preds = %3369
  %3371 = load i32, ptr @test_count, align 4, !tbaa !5
  %3372 = add nsw i32 %3371, 1
  store i32 %3372, ptr @test_count, align 4, !tbaa !5
  %3373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3374 = load i32, ptr %3373, align 4, !tbaa !5
  %3375 = call ptr @s2n_strerror_debug(i32 noundef %3374, ptr noundef @.str.80)
  %3376 = icmp eq ptr %3375, null
  br i1 %3376, label %3377, label %3430

3377:                                             ; preds = %3370
  br label %3378

3378:                                             ; preds = %3377
  br label %3379

3379:                                             ; preds = %3378
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #11
  %3380 = call ptr @__errno_location() #12
  %3381 = load i32, ptr %3380, align 4, !tbaa !5
  store i32 %3381, ptr %65, align 4, !tbaa !5
  %3382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3383 = call i32 @s2n_print_stacktrace(ptr noundef %3382)
  %3384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3385 = trunc i8 %3384 to i1
  br i1 %3385, label %3386, label %3408

3386:                                             ; preds = %3379
  %3387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3388 = call i32 @fileno(ptr noundef %3387) #11
  %3389 = call i32 @isatty(i32 noundef %3388) #11
  %3390 = icmp ne i32 %3389, 0
  br i1 %3390, label %3391, label %3408

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

3408:                                             ; preds = %3386, %3379
  %3409 = load i32, ptr %65, align 4, !tbaa !5
  %3410 = call ptr @__errno_location() #12
  store i32 %3409, ptr %3410, align 4, !tbaa !5
  %3411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3412 = load i32, ptr @test_count, align 4, !tbaa !5
  %3413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3414 = load i32, ptr %3413, align 4, !tbaa !5
  %3415 = call ptr @s2n_strerror(i32 noundef %3414, ptr noundef @.str.80)
  %3416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3417 = load i32, ptr %3416, align 4, !tbaa !5
  %3418 = call ptr @s2n_strerror_debug(i32 noundef %3417, ptr noundef @.str.80)
  %3419 = call ptr @__errno_location() #12
  %3420 = load i32, ptr %3419, align 4, !tbaa !5
  %3421 = call ptr @strerror(i32 noundef %3420) #11
  %3422 = call ptr @__errno_location() #12
  %3423 = load i32, ptr %3422, align 4, !tbaa !5
  %3424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3411, ptr noundef @.str.81, i32 noundef %3412, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 100, ptr noundef %3415, ptr noundef %3418, ptr noundef %3421, i32 noundef %3423) #11
  br label %3425

3425:                                             ; preds = %3408, %3391
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  br label %3426

3426:                                             ; preds = %3425
  br label %3427

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

3428:                                             ; No predecessors!
  br label %3429

3429:                                             ; preds = %3428
  br label %3430

3430:                                             ; preds = %3429, %3370
  br label %3431

3431:                                             ; preds = %3430
  br label %3432

3432:                                             ; preds = %3431
  br label %3433

3433:                                             ; preds = %3432
  br label %3434

3434:                                             ; preds = %3433
  br label %3435

3435:                                             ; preds = %3434
  %3436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3436, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3437 = call ptr @__errno_location() #12
  store i32 0, ptr %3437, align 4, !tbaa !5
  br label %3438

3438:                                             ; preds = %3435
  br label %3439

3439:                                             ; preds = %3438
  br label %3440

3440:                                             ; preds = %3439
  br label %3441

3441:                                             ; preds = %3440
  br label %3442

3442:                                             ; preds = %3441
  br label %3443

3443:                                             ; preds = %3442
  br label %3444

3444:                                             ; preds = %3443
  %3445 = load i32, ptr @test_count, align 4, !tbaa !5
  %3446 = add nsw i32 %3445, 1
  store i32 %3446, ptr @test_count, align 4, !tbaa !5
  %3447 = call i32 @s2n_psk_set_secret(ptr noundef %58, ptr noundef null, i16 noundef zeroext 1)
  %3448 = icmp eq i32 %3447, -1
  br i1 %3448, label %3502, label %3449

3449:                                             ; preds = %3444
  br label %3450

3450:                                             ; preds = %3449
  br label %3451

3451:                                             ; preds = %3450
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #11
  %3452 = call ptr @__errno_location() #12
  %3453 = load i32, ptr %3452, align 4, !tbaa !5
  store i32 %3453, ptr %66, align 4, !tbaa !5
  %3454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3455 = call i32 @s2n_print_stacktrace(ptr noundef %3454)
  %3456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3457 = trunc i8 %3456 to i1
  br i1 %3457, label %3458, label %3480

3458:                                             ; preds = %3451
  %3459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3460 = call i32 @fileno(ptr noundef %3459) #11
  %3461 = call i32 @isatty(i32 noundef %3460) #11
  %3462 = icmp ne i32 %3461, 0
  br i1 %3462, label %3463, label %3480

3463:                                             ; preds = %3458
  %3464 = load i32, ptr %66, align 4, !tbaa !5
  %3465 = call ptr @__errno_location() #12
  store i32 %3464, ptr %3465, align 4, !tbaa !5
  %3466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3467 = load i32, ptr @test_count, align 4, !tbaa !5
  %3468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3469 = load i32, ptr %3468, align 4, !tbaa !5
  %3470 = call ptr @s2n_strerror(i32 noundef %3469, ptr noundef @.str.80)
  %3471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3472 = load i32, ptr %3471, align 4, !tbaa !5
  %3473 = call ptr @s2n_strerror_debug(i32 noundef %3472, ptr noundef @.str.80)
  %3474 = call ptr @__errno_location() #12
  %3475 = load i32, ptr %3474, align 4, !tbaa !5
  %3476 = call ptr @strerror(i32 noundef %3475) #11
  %3477 = call ptr @__errno_location() #12
  %3478 = load i32, ptr %3477, align 4, !tbaa !5
  %3479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3466, ptr noundef @.str.78, i32 noundef %3467, ptr noundef @.str.112, ptr noundef @.str.77, i32 noundef 102, ptr noundef %3470, ptr noundef %3473, ptr noundef %3476, i32 noundef %3478) #11
  br label %3497

3480:                                             ; preds = %3458, %3451
  %3481 = load i32, ptr %66, align 4, !tbaa !5
  %3482 = call ptr @__errno_location() #12
  store i32 %3481, ptr %3482, align 4, !tbaa !5
  %3483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3484 = load i32, ptr @test_count, align 4, !tbaa !5
  %3485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3486 = load i32, ptr %3485, align 4, !tbaa !5
  %3487 = call ptr @s2n_strerror(i32 noundef %3486, ptr noundef @.str.80)
  %3488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3489 = load i32, ptr %3488, align 4, !tbaa !5
  %3490 = call ptr @s2n_strerror_debug(i32 noundef %3489, ptr noundef @.str.80)
  %3491 = call ptr @__errno_location() #12
  %3492 = load i32, ptr %3491, align 4, !tbaa !5
  %3493 = call ptr @strerror(i32 noundef %3492) #11
  %3494 = call ptr @__errno_location() #12
  %3495 = load i32, ptr %3494, align 4, !tbaa !5
  %3496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3483, ptr noundef @.str.81, i32 noundef %3484, ptr noundef @.str.112, ptr noundef @.str.77, i32 noundef 102, ptr noundef %3487, ptr noundef %3490, ptr noundef %3493, i32 noundef %3495) #11
  br label %3497

3497:                                             ; preds = %3480, %3463
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  br label %3498

3498:                                             ; preds = %3497
  br label %3499

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

3500:                                             ; No predecessors!
  br label %3501

3501:                                             ; preds = %3500
  br label %3502

3502:                                             ; preds = %3501, %3444
  br label %3503

3503:                                             ; preds = %3502
  br label %3504

3504:                                             ; preds = %3503
  br label %3505

3505:                                             ; preds = %3504
  %3506 = load i32, ptr @test_count, align 4, !tbaa !5
  %3507 = add nsw i32 %3506, 1
  store i32 %3507, ptr @test_count, align 4, !tbaa !5
  %3508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3509 = load i32, ptr %3508, align 4, !tbaa !5
  %3510 = icmp eq i32 %3509, 402653193
  br i1 %3510, label %3564, label %3511

3511:                                             ; preds = %3505
  br label %3512

3512:                                             ; preds = %3511
  br label %3513

3513:                                             ; preds = %3512
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %3514 = call ptr @__errno_location() #12
  %3515 = load i32, ptr %3514, align 4, !tbaa !5
  store i32 %3515, ptr %67, align 4, !tbaa !5
  %3516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3517 = call i32 @s2n_print_stacktrace(ptr noundef %3516)
  %3518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3519 = trunc i8 %3518 to i1
  br i1 %3519, label %3520, label %3542

3520:                                             ; preds = %3513
  %3521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3522 = call i32 @fileno(ptr noundef %3521) #11
  %3523 = call i32 @isatty(i32 noundef %3522) #11
  %3524 = icmp ne i32 %3523, 0
  br i1 %3524, label %3525, label %3542

3525:                                             ; preds = %3520
  %3526 = load i32, ptr %67, align 4, !tbaa !5
  %3527 = call ptr @__errno_location() #12
  store i32 %3526, ptr %3527, align 4, !tbaa !5
  %3528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3529 = load i32, ptr @test_count, align 4, !tbaa !5
  %3530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3531 = load i32, ptr %3530, align 4, !tbaa !5
  %3532 = call ptr @s2n_strerror(i32 noundef %3531, ptr noundef @.str.80)
  %3533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3534 = load i32, ptr %3533, align 4, !tbaa !5
  %3535 = call ptr @s2n_strerror_debug(i32 noundef %3534, ptr noundef @.str.80)
  %3536 = call ptr @__errno_location() #12
  %3537 = load i32, ptr %3536, align 4, !tbaa !5
  %3538 = call ptr @strerror(i32 noundef %3537) #11
  %3539 = call ptr @__errno_location() #12
  %3540 = load i32, ptr %3539, align 4, !tbaa !5
  %3541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3528, ptr noundef @.str.78, i32 noundef %3529, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 102, ptr noundef %3532, ptr noundef %3535, ptr noundef %3538, i32 noundef %3540) #11
  br label %3559

3542:                                             ; preds = %3520, %3513
  %3543 = load i32, ptr %67, align 4, !tbaa !5
  %3544 = call ptr @__errno_location() #12
  store i32 %3543, ptr %3544, align 4, !tbaa !5
  %3545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3546 = load i32, ptr @test_count, align 4, !tbaa !5
  %3547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3548 = load i32, ptr %3547, align 4, !tbaa !5
  %3549 = call ptr @s2n_strerror(i32 noundef %3548, ptr noundef @.str.80)
  %3550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3551 = load i32, ptr %3550, align 4, !tbaa !5
  %3552 = call ptr @s2n_strerror_debug(i32 noundef %3551, ptr noundef @.str.80)
  %3553 = call ptr @__errno_location() #12
  %3554 = load i32, ptr %3553, align 4, !tbaa !5
  %3555 = call ptr @strerror(i32 noundef %3554) #11
  %3556 = call ptr @__errno_location() #12
  %3557 = load i32, ptr %3556, align 4, !tbaa !5
  %3558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3545, ptr noundef @.str.81, i32 noundef %3546, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 102, ptr noundef %3549, ptr noundef %3552, ptr noundef %3555, i32 noundef %3557) #11
  br label %3559

3559:                                             ; preds = %3542, %3525
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3560

3560:                                             ; preds = %3559
  br label %3561

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

3562:                                             ; No predecessors!
  br label %3563

3563:                                             ; preds = %3562
  br label %3564

3564:                                             ; preds = %3563, %3505
  br label %3565

3565:                                             ; preds = %3564
  br label %3566

3566:                                             ; preds = %3565
  br label %3567

3567:                                             ; preds = %3566
  %3568 = load i32, ptr @test_count, align 4, !tbaa !5
  %3569 = add nsw i32 %3568, 1
  store i32 %3569, ptr @test_count, align 4, !tbaa !5
  %3570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3571 = load i32, ptr %3570, align 4, !tbaa !5
  %3572 = call ptr @s2n_strerror_debug(i32 noundef %3571, ptr noundef @.str.80)
  %3573 = icmp eq ptr %3572, null
  br i1 %3573, label %3574, label %3627

3574:                                             ; preds = %3567
  br label %3575

3575:                                             ; preds = %3574
  br label %3576

3576:                                             ; preds = %3575
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #11
  %3577 = call ptr @__errno_location() #12
  %3578 = load i32, ptr %3577, align 4, !tbaa !5
  store i32 %3578, ptr %68, align 4, !tbaa !5
  %3579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3580 = call i32 @s2n_print_stacktrace(ptr noundef %3579)
  %3581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3582 = trunc i8 %3581 to i1
  br i1 %3582, label %3583, label %3605

3583:                                             ; preds = %3576
  %3584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3585 = call i32 @fileno(ptr noundef %3584) #11
  %3586 = call i32 @isatty(i32 noundef %3585) #11
  %3587 = icmp ne i32 %3586, 0
  br i1 %3587, label %3588, label %3605

3588:                                             ; preds = %3583
  %3589 = load i32, ptr %68, align 4, !tbaa !5
  %3590 = call ptr @__errno_location() #12
  store i32 %3589, ptr %3590, align 4, !tbaa !5
  %3591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3592 = load i32, ptr @test_count, align 4, !tbaa !5
  %3593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3594 = load i32, ptr %3593, align 4, !tbaa !5
  %3595 = call ptr @s2n_strerror(i32 noundef %3594, ptr noundef @.str.80)
  %3596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3597 = load i32, ptr %3596, align 4, !tbaa !5
  %3598 = call ptr @s2n_strerror_debug(i32 noundef %3597, ptr noundef @.str.80)
  %3599 = call ptr @__errno_location() #12
  %3600 = load i32, ptr %3599, align 4, !tbaa !5
  %3601 = call ptr @strerror(i32 noundef %3600) #11
  %3602 = call ptr @__errno_location() #12
  %3603 = load i32, ptr %3602, align 4, !tbaa !5
  %3604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3591, ptr noundef @.str.78, i32 noundef %3592, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 102, ptr noundef %3595, ptr noundef %3598, ptr noundef %3601, i32 noundef %3603) #11
  br label %3622

3605:                                             ; preds = %3583, %3576
  %3606 = load i32, ptr %68, align 4, !tbaa !5
  %3607 = call ptr @__errno_location() #12
  store i32 %3606, ptr %3607, align 4, !tbaa !5
  %3608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3609 = load i32, ptr @test_count, align 4, !tbaa !5
  %3610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3611 = load i32, ptr %3610, align 4, !tbaa !5
  %3612 = call ptr @s2n_strerror(i32 noundef %3611, ptr noundef @.str.80)
  %3613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3614 = load i32, ptr %3613, align 4, !tbaa !5
  %3615 = call ptr @s2n_strerror_debug(i32 noundef %3614, ptr noundef @.str.80)
  %3616 = call ptr @__errno_location() #12
  %3617 = load i32, ptr %3616, align 4, !tbaa !5
  %3618 = call ptr @strerror(i32 noundef %3617) #11
  %3619 = call ptr @__errno_location() #12
  %3620 = load i32, ptr %3619, align 4, !tbaa !5
  %3621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3608, ptr noundef @.str.81, i32 noundef %3609, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 102, ptr noundef %3612, ptr noundef %3615, ptr noundef %3618, i32 noundef %3620) #11
  br label %3622

3622:                                             ; preds = %3605, %3588
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  br label %3623

3623:                                             ; preds = %3622
  br label %3624

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

3625:                                             ; No predecessors!
  br label %3626

3626:                                             ; preds = %3625
  br label %3627

3627:                                             ; preds = %3626, %3567
  br label %3628

3628:                                             ; preds = %3627
  br label %3629

3629:                                             ; preds = %3628
  br label %3630

3630:                                             ; preds = %3629
  br label %3631

3631:                                             ; preds = %3630
  br label %3632

3632:                                             ; preds = %3631
  %3633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3633, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3634 = call ptr @__errno_location() #12
  store i32 0, ptr %3634, align 4, !tbaa !5
  br label %3635

3635:                                             ; preds = %3632
  br label %3636

3636:                                             ; preds = %3635
  br label %3637

3637:                                             ; preds = %3636
  br label %3638

3638:                                             ; preds = %3637
  br label %3639

3639:                                             ; preds = %3638
  br label %3640

3640:                                             ; preds = %3639
  br label %3641

3641:                                             ; preds = %3640
  %3642 = load i32, ptr @test_count, align 4, !tbaa !5
  %3643 = add nsw i32 %3642, 1
  store i32 %3643, ptr @test_count, align 4, !tbaa !5
  %3644 = getelementptr inbounds [11 x i8], ptr %61, i64 0, i64 0
  %3645 = call i32 @s2n_psk_set_secret(ptr noundef %58, ptr noundef %3644, i16 noundef zeroext 0)
  %3646 = icmp eq i32 %3645, -1
  br i1 %3646, label %3700, label %3647

3647:                                             ; preds = %3641
  br label %3648

3648:                                             ; preds = %3647
  br label %3649

3649:                                             ; preds = %3648
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  %3650 = call ptr @__errno_location() #12
  %3651 = load i32, ptr %3650, align 4, !tbaa !5
  store i32 %3651, ptr %69, align 4, !tbaa !5
  %3652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3653 = call i32 @s2n_print_stacktrace(ptr noundef %3652)
  %3654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3655 = trunc i8 %3654 to i1
  br i1 %3655, label %3656, label %3678

3656:                                             ; preds = %3649
  %3657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3658 = call i32 @fileno(ptr noundef %3657) #11
  %3659 = call i32 @isatty(i32 noundef %3658) #11
  %3660 = icmp ne i32 %3659, 0
  br i1 %3660, label %3661, label %3678

3661:                                             ; preds = %3656
  %3662 = load i32, ptr %69, align 4, !tbaa !5
  %3663 = call ptr @__errno_location() #12
  store i32 %3662, ptr %3663, align 4, !tbaa !5
  %3664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3665 = load i32, ptr @test_count, align 4, !tbaa !5
  %3666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3667 = load i32, ptr %3666, align 4, !tbaa !5
  %3668 = call ptr @s2n_strerror(i32 noundef %3667, ptr noundef @.str.80)
  %3669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3670 = load i32, ptr %3669, align 4, !tbaa !5
  %3671 = call ptr @s2n_strerror_debug(i32 noundef %3670, ptr noundef @.str.80)
  %3672 = call ptr @__errno_location() #12
  %3673 = load i32, ptr %3672, align 4, !tbaa !5
  %3674 = call ptr @strerror(i32 noundef %3673) #11
  %3675 = call ptr @__errno_location() #12
  %3676 = load i32, ptr %3675, align 4, !tbaa !5
  %3677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3664, ptr noundef @.str.78, i32 noundef %3665, ptr noundef @.str.113, ptr noundef @.str.77, i32 noundef 104, ptr noundef %3668, ptr noundef %3671, ptr noundef %3674, i32 noundef %3676) #11
  br label %3695

3678:                                             ; preds = %3656, %3649
  %3679 = load i32, ptr %69, align 4, !tbaa !5
  %3680 = call ptr @__errno_location() #12
  store i32 %3679, ptr %3680, align 4, !tbaa !5
  %3681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3682 = load i32, ptr @test_count, align 4, !tbaa !5
  %3683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3684 = load i32, ptr %3683, align 4, !tbaa !5
  %3685 = call ptr @s2n_strerror(i32 noundef %3684, ptr noundef @.str.80)
  %3686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3687 = load i32, ptr %3686, align 4, !tbaa !5
  %3688 = call ptr @s2n_strerror_debug(i32 noundef %3687, ptr noundef @.str.80)
  %3689 = call ptr @__errno_location() #12
  %3690 = load i32, ptr %3689, align 4, !tbaa !5
  %3691 = call ptr @strerror(i32 noundef %3690) #11
  %3692 = call ptr @__errno_location() #12
  %3693 = load i32, ptr %3692, align 4, !tbaa !5
  %3694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3681, ptr noundef @.str.81, i32 noundef %3682, ptr noundef @.str.113, ptr noundef @.str.77, i32 noundef 104, ptr noundef %3685, ptr noundef %3688, ptr noundef %3691, i32 noundef %3693) #11
  br label %3695

3695:                                             ; preds = %3678, %3661
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %3696

3696:                                             ; preds = %3695
  br label %3697

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

3698:                                             ; No predecessors!
  br label %3699

3699:                                             ; preds = %3698
  br label %3700

3700:                                             ; preds = %3699, %3641
  br label %3701

3701:                                             ; preds = %3700
  br label %3702

3702:                                             ; preds = %3701
  br label %3703

3703:                                             ; preds = %3702
  %3704 = load i32, ptr @test_count, align 4, !tbaa !5
  %3705 = add nsw i32 %3704, 1
  store i32 %3705, ptr @test_count, align 4, !tbaa !5
  %3706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3707 = load i32, ptr %3706, align 4, !tbaa !5
  %3708 = icmp eq i32 %3707, 469762089
  br i1 %3708, label %3762, label %3709

3709:                                             ; preds = %3703
  br label %3710

3710:                                             ; preds = %3709
  br label %3711

3711:                                             ; preds = %3710
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3712 = call ptr @__errno_location() #12
  %3713 = load i32, ptr %3712, align 4, !tbaa !5
  store i32 %3713, ptr %70, align 4, !tbaa !5
  %3714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3715 = call i32 @s2n_print_stacktrace(ptr noundef %3714)
  %3716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3717 = trunc i8 %3716 to i1
  br i1 %3717, label %3718, label %3740

3718:                                             ; preds = %3711
  %3719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3720 = call i32 @fileno(ptr noundef %3719) #11
  %3721 = call i32 @isatty(i32 noundef %3720) #11
  %3722 = icmp ne i32 %3721, 0
  br i1 %3722, label %3723, label %3740

3723:                                             ; preds = %3718
  %3724 = load i32, ptr %70, align 4, !tbaa !5
  %3725 = call ptr @__errno_location() #12
  store i32 %3724, ptr %3725, align 4, !tbaa !5
  %3726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3727 = load i32, ptr @test_count, align 4, !tbaa !5
  %3728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3729 = load i32, ptr %3728, align 4, !tbaa !5
  %3730 = call ptr @s2n_strerror(i32 noundef %3729, ptr noundef @.str.80)
  %3731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3732 = load i32, ptr %3731, align 4, !tbaa !5
  %3733 = call ptr @s2n_strerror_debug(i32 noundef %3732, ptr noundef @.str.80)
  %3734 = call ptr @__errno_location() #12
  %3735 = load i32, ptr %3734, align 4, !tbaa !5
  %3736 = call ptr @strerror(i32 noundef %3735) #11
  %3737 = call ptr @__errno_location() #12
  %3738 = load i32, ptr %3737, align 4, !tbaa !5
  %3739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3726, ptr noundef @.str.78, i32 noundef %3727, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 104, ptr noundef %3730, ptr noundef %3733, ptr noundef %3736, i32 noundef %3738) #11
  br label %3757

3740:                                             ; preds = %3718, %3711
  %3741 = load i32, ptr %70, align 4, !tbaa !5
  %3742 = call ptr @__errno_location() #12
  store i32 %3741, ptr %3742, align 4, !tbaa !5
  %3743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3744 = load i32, ptr @test_count, align 4, !tbaa !5
  %3745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3746 = load i32, ptr %3745, align 4, !tbaa !5
  %3747 = call ptr @s2n_strerror(i32 noundef %3746, ptr noundef @.str.80)
  %3748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3749 = load i32, ptr %3748, align 4, !tbaa !5
  %3750 = call ptr @s2n_strerror_debug(i32 noundef %3749, ptr noundef @.str.80)
  %3751 = call ptr @__errno_location() #12
  %3752 = load i32, ptr %3751, align 4, !tbaa !5
  %3753 = call ptr @strerror(i32 noundef %3752) #11
  %3754 = call ptr @__errno_location() #12
  %3755 = load i32, ptr %3754, align 4, !tbaa !5
  %3756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3743, ptr noundef @.str.81, i32 noundef %3744, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 104, ptr noundef %3747, ptr noundef %3750, ptr noundef %3753, i32 noundef %3755) #11
  br label %3757

3757:                                             ; preds = %3740, %3723
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3758

3758:                                             ; preds = %3757
  br label %3759

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

3760:                                             ; No predecessors!
  br label %3761

3761:                                             ; preds = %3760
  br label %3762

3762:                                             ; preds = %3761, %3703
  br label %3763

3763:                                             ; preds = %3762
  br label %3764

3764:                                             ; preds = %3763
  br label %3765

3765:                                             ; preds = %3764
  %3766 = load i32, ptr @test_count, align 4, !tbaa !5
  %3767 = add nsw i32 %3766, 1
  store i32 %3767, ptr @test_count, align 4, !tbaa !5
  %3768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3769 = load i32, ptr %3768, align 4, !tbaa !5
  %3770 = call ptr @s2n_strerror_debug(i32 noundef %3769, ptr noundef @.str.80)
  %3771 = icmp eq ptr %3770, null
  br i1 %3771, label %3772, label %3825

3772:                                             ; preds = %3765
  br label %3773

3773:                                             ; preds = %3772
  br label %3774

3774:                                             ; preds = %3773
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %3775 = call ptr @__errno_location() #12
  %3776 = load i32, ptr %3775, align 4, !tbaa !5
  store i32 %3776, ptr %71, align 4, !tbaa !5
  %3777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3778 = call i32 @s2n_print_stacktrace(ptr noundef %3777)
  %3779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3780 = trunc i8 %3779 to i1
  br i1 %3780, label %3781, label %3803

3781:                                             ; preds = %3774
  %3782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3783 = call i32 @fileno(ptr noundef %3782) #11
  %3784 = call i32 @isatty(i32 noundef %3783) #11
  %3785 = icmp ne i32 %3784, 0
  br i1 %3785, label %3786, label %3803

3786:                                             ; preds = %3781
  %3787 = load i32, ptr %71, align 4, !tbaa !5
  %3788 = call ptr @__errno_location() #12
  store i32 %3787, ptr %3788, align 4, !tbaa !5
  %3789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3790 = load i32, ptr @test_count, align 4, !tbaa !5
  %3791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3792 = load i32, ptr %3791, align 4, !tbaa !5
  %3793 = call ptr @s2n_strerror(i32 noundef %3792, ptr noundef @.str.80)
  %3794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3795 = load i32, ptr %3794, align 4, !tbaa !5
  %3796 = call ptr @s2n_strerror_debug(i32 noundef %3795, ptr noundef @.str.80)
  %3797 = call ptr @__errno_location() #12
  %3798 = load i32, ptr %3797, align 4, !tbaa !5
  %3799 = call ptr @strerror(i32 noundef %3798) #11
  %3800 = call ptr @__errno_location() #12
  %3801 = load i32, ptr %3800, align 4, !tbaa !5
  %3802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3789, ptr noundef @.str.78, i32 noundef %3790, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 104, ptr noundef %3793, ptr noundef %3796, ptr noundef %3799, i32 noundef %3801) #11
  br label %3820

3803:                                             ; preds = %3781, %3774
  %3804 = load i32, ptr %71, align 4, !tbaa !5
  %3805 = call ptr @__errno_location() #12
  store i32 %3804, ptr %3805, align 4, !tbaa !5
  %3806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3807 = load i32, ptr @test_count, align 4, !tbaa !5
  %3808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3809 = load i32, ptr %3808, align 4, !tbaa !5
  %3810 = call ptr @s2n_strerror(i32 noundef %3809, ptr noundef @.str.80)
  %3811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3812 = load i32, ptr %3811, align 4, !tbaa !5
  %3813 = call ptr @s2n_strerror_debug(i32 noundef %3812, ptr noundef @.str.80)
  %3814 = call ptr @__errno_location() #12
  %3815 = load i32, ptr %3814, align 4, !tbaa !5
  %3816 = call ptr @strerror(i32 noundef %3815) #11
  %3817 = call ptr @__errno_location() #12
  %3818 = load i32, ptr %3817, align 4, !tbaa !5
  %3819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3806, ptr noundef @.str.81, i32 noundef %3807, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 104, ptr noundef %3810, ptr noundef %3813, ptr noundef %3816, i32 noundef %3818) #11
  br label %3820

3820:                                             ; preds = %3803, %3786
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %3821

3821:                                             ; preds = %3820
  br label %3822

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

3823:                                             ; No predecessors!
  br label %3824

3824:                                             ; preds = %3823
  br label %3825

3825:                                             ; preds = %3824, %3765
  br label %3826

3826:                                             ; preds = %3825
  br label %3827

3827:                                             ; preds = %3826
  br label %3828

3828:                                             ; preds = %3827
  br label %3829

3829:                                             ; preds = %3828
  br label %3830

3830:                                             ; preds = %3829
  %3831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3831, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3832 = call ptr @__errno_location() #12
  store i32 0, ptr %3832, align 4, !tbaa !5
  br label %3833

3833:                                             ; preds = %3830
  br label %3834

3834:                                             ; preds = %3833
  br label %3835

3835:                                             ; preds = %3834
  br label %3836

3836:                                             ; preds = %3835
  br label %3837

3837:                                             ; preds = %3836
  br label %3838

3838:                                             ; preds = %3837
  br label %3839

3839:                                             ; preds = %3838
  %3840 = load i32, ptr @test_count, align 4, !tbaa !5
  %3841 = add nsw i32 %3840, 1
  store i32 %3841, ptr @test_count, align 4, !tbaa !5
  %3842 = getelementptr inbounds [5 x i8], ptr %62, i64 0, i64 0
  %3843 = call i32 @s2n_psk_set_secret(ptr noundef %58, ptr noundef %3842, i16 noundef zeroext 5)
  %3844 = icmp eq i32 %3843, -1
  br i1 %3844, label %3898, label %3845

3845:                                             ; preds = %3839
  br label %3846

3846:                                             ; preds = %3845
  br label %3847

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

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

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

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

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

3894:                                             ; preds = %3893
  br label %3895

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

3896:                                             ; No predecessors!
  br label %3897

3897:                                             ; preds = %3896
  br label %3898

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

3899:                                             ; preds = %3898
  br label %3900

3900:                                             ; preds = %3899
  br label %3901

3901:                                             ; preds = %3900
  %3902 = load i32, ptr @test_count, align 4, !tbaa !5
  %3903 = add nsw i32 %3902, 1
  store i32 %3903, ptr @test_count, align 4, !tbaa !5
  %3904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3905 = load i32, ptr %3904, align 4, !tbaa !5
  %3906 = icmp eq i32 %3905, 469762089
  br i1 %3906, label %3960, label %3907

3907:                                             ; preds = %3901
  br label %3908

3908:                                             ; preds = %3907
  br label %3909

3909:                                             ; preds = %3908
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #11
  %3910 = call ptr @__errno_location() #12
  %3911 = load i32, ptr %3910, align 4, !tbaa !5
  store i32 %3911, ptr %73, align 4, !tbaa !5
  %3912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3913 = call i32 @s2n_print_stacktrace(ptr noundef %3912)
  %3914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3915 = trunc i8 %3914 to i1
  br i1 %3915, label %3916, label %3938

3916:                                             ; preds = %3909
  %3917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3918 = call i32 @fileno(ptr noundef %3917) #11
  %3919 = call i32 @isatty(i32 noundef %3918) #11
  %3920 = icmp ne i32 %3919, 0
  br i1 %3920, label %3921, label %3938

3921:                                             ; preds = %3916
  %3922 = load i32, ptr %73, align 4, !tbaa !5
  %3923 = call ptr @__errno_location() #12
  store i32 %3922, ptr %3923, align 4, !tbaa !5
  %3924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3925 = load i32, ptr @test_count, align 4, !tbaa !5
  %3926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3927 = load i32, ptr %3926, align 4, !tbaa !5
  %3928 = call ptr @s2n_strerror(i32 noundef %3927, ptr noundef @.str.80)
  %3929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3930 = load i32, ptr %3929, align 4, !tbaa !5
  %3931 = call ptr @s2n_strerror_debug(i32 noundef %3930, ptr noundef @.str.80)
  %3932 = call ptr @__errno_location() #12
  %3933 = load i32, ptr %3932, align 4, !tbaa !5
  %3934 = call ptr @strerror(i32 noundef %3933) #11
  %3935 = call ptr @__errno_location() #12
  %3936 = load i32, ptr %3935, align 4, !tbaa !5
  %3937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3924, ptr noundef @.str.78, i32 noundef %3925, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 106, ptr noundef %3928, ptr noundef %3931, ptr noundef %3934, i32 noundef %3936) #11
  br label %3955

3938:                                             ; preds = %3916, %3909
  %3939 = load i32, ptr %73, align 4, !tbaa !5
  %3940 = call ptr @__errno_location() #12
  store i32 %3939, ptr %3940, align 4, !tbaa !5
  %3941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3942 = load i32, ptr @test_count, align 4, !tbaa !5
  %3943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3944 = load i32, ptr %3943, align 4, !tbaa !5
  %3945 = call ptr @s2n_strerror(i32 noundef %3944, ptr noundef @.str.80)
  %3946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3947 = load i32, ptr %3946, align 4, !tbaa !5
  %3948 = call ptr @s2n_strerror_debug(i32 noundef %3947, ptr noundef @.str.80)
  %3949 = call ptr @__errno_location() #12
  %3950 = load i32, ptr %3949, align 4, !tbaa !5
  %3951 = call ptr @strerror(i32 noundef %3950) #11
  %3952 = call ptr @__errno_location() #12
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  %3954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3941, ptr noundef @.str.81, i32 noundef %3942, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 106, ptr noundef %3945, ptr noundef %3948, ptr noundef %3951, i32 noundef %3953) #11
  br label %3955

3955:                                             ; preds = %3938, %3921
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %3956

3956:                                             ; preds = %3955
  br label %3957

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

3958:                                             ; No predecessors!
  br label %3959

3959:                                             ; preds = %3958
  br label %3960

3960:                                             ; preds = %3959, %3901
  br label %3961

3961:                                             ; preds = %3960
  br label %3962

3962:                                             ; preds = %3961
  br label %3963

3963:                                             ; preds = %3962
  %3964 = load i32, ptr @test_count, align 4, !tbaa !5
  %3965 = add nsw i32 %3964, 1
  store i32 %3965, ptr @test_count, align 4, !tbaa !5
  %3966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3967 = load i32, ptr %3966, align 4, !tbaa !5
  %3968 = call ptr @s2n_strerror_debug(i32 noundef %3967, ptr noundef @.str.80)
  %3969 = icmp eq ptr %3968, null
  br i1 %3969, label %3970, label %4023

3970:                                             ; preds = %3963
  br label %3971

3971:                                             ; preds = %3970
  br label %3972

3972:                                             ; preds = %3971
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #11
  %3973 = call ptr @__errno_location() #12
  %3974 = load i32, ptr %3973, align 4, !tbaa !5
  store i32 %3974, ptr %74, align 4, !tbaa !5
  %3975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3976 = call i32 @s2n_print_stacktrace(ptr noundef %3975)
  %3977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3978 = trunc i8 %3977 to i1
  br i1 %3978, label %3979, label %4001

3979:                                             ; preds = %3972
  %3980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3981 = call i32 @fileno(ptr noundef %3980) #11
  %3982 = call i32 @isatty(i32 noundef %3981) #11
  %3983 = icmp ne i32 %3982, 0
  br i1 %3983, label %3984, label %4001

3984:                                             ; preds = %3979
  %3985 = load i32, ptr %74, align 4, !tbaa !5
  %3986 = call ptr @__errno_location() #12
  store i32 %3985, ptr %3986, align 4, !tbaa !5
  %3987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3988 = load i32, ptr @test_count, align 4, !tbaa !5
  %3989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3990 = load i32, ptr %3989, align 4, !tbaa !5
  %3991 = call ptr @s2n_strerror(i32 noundef %3990, ptr noundef @.str.80)
  %3992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3993 = load i32, ptr %3992, align 4, !tbaa !5
  %3994 = call ptr @s2n_strerror_debug(i32 noundef %3993, ptr noundef @.str.80)
  %3995 = call ptr @__errno_location() #12
  %3996 = load i32, ptr %3995, align 4, !tbaa !5
  %3997 = call ptr @strerror(i32 noundef %3996) #11
  %3998 = call ptr @__errno_location() #12
  %3999 = load i32, ptr %3998, align 4, !tbaa !5
  %4000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3987, ptr noundef @.str.78, i32 noundef %3988, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 106, ptr noundef %3991, ptr noundef %3994, ptr noundef %3997, i32 noundef %3999) #11
  br label %4018

4001:                                             ; preds = %3979, %3972
  %4002 = load i32, ptr %74, align 4, !tbaa !5
  %4003 = call ptr @__errno_location() #12
  store i32 %4002, ptr %4003, align 4, !tbaa !5
  %4004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4005 = load i32, ptr @test_count, align 4, !tbaa !5
  %4006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4007 = load i32, ptr %4006, align 4, !tbaa !5
  %4008 = call ptr @s2n_strerror(i32 noundef %4007, ptr noundef @.str.80)
  %4009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4010 = load i32, ptr %4009, align 4, !tbaa !5
  %4011 = call ptr @s2n_strerror_debug(i32 noundef %4010, ptr noundef @.str.80)
  %4012 = call ptr @__errno_location() #12
  %4013 = load i32, ptr %4012, align 4, !tbaa !5
  %4014 = call ptr @strerror(i32 noundef %4013) #11
  %4015 = call ptr @__errno_location() #12
  %4016 = load i32, ptr %4015, align 4, !tbaa !5
  %4017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4004, ptr noundef @.str.81, i32 noundef %4005, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 106, ptr noundef %4008, ptr noundef %4011, ptr noundef %4014, i32 noundef %4016) #11
  br label %4018

4018:                                             ; preds = %4001, %3984
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %4019

4019:                                             ; preds = %4018
  br label %4020

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

4021:                                             ; No predecessors!
  br label %4022

4022:                                             ; preds = %4021
  br label %4023

4023:                                             ; preds = %4022, %3963
  br label %4024

4024:                                             ; preds = %4023
  br label %4025

4025:                                             ; preds = %4024
  br label %4026

4026:                                             ; preds = %4025
  br label %4027

4027:                                             ; preds = %4026
  br label %4028

4028:                                             ; preds = %4027
  %4029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4029, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4030 = call ptr @__errno_location() #12
  store i32 0, ptr %4030, align 4, !tbaa !5
  br label %4031

4031:                                             ; preds = %4028
  br label %4032

4032:                                             ; preds = %4031
  br label %4033

4033:                                             ; preds = %4032
  br label %4034

4034:                                             ; preds = %4033
  br label %4035

4035:                                             ; preds = %4034
  %4036 = load i32, ptr @test_count, align 4, !tbaa !5
  %4037 = add nsw i32 %4036, 1
  store i32 %4037, ptr @test_count, align 4, !tbaa !5
  %4038 = getelementptr inbounds [11 x i8], ptr %61, i64 0, i64 0
  %4039 = call i32 @s2n_psk_set_secret(ptr noundef %58, ptr noundef %4038, i16 noundef zeroext 11)
  %4040 = icmp eq i32 %4039, -1
  br i1 %4040, label %4041, label %4094

4041:                                             ; preds = %4035
  br label %4042

4042:                                             ; preds = %4041
  br label %4043

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

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

4055:                                             ; preds = %4050
  %4056 = load i32, ptr %75, align 4, !tbaa !5
  %4057 = call ptr @__errno_location() #12
  store i32 %4056, ptr %4057, align 4, !tbaa !5
  %4058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4059 = load i32, ptr @test_count, align 4, !tbaa !5
  %4060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4061 = load i32, ptr %4060, align 4, !tbaa !5
  %4062 = call ptr @s2n_strerror(i32 noundef %4061, ptr noundef @.str.80)
  %4063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4064 = load i32, ptr %4063, align 4, !tbaa !5
  %4065 = call ptr @s2n_strerror_debug(i32 noundef %4064, ptr noundef @.str.80)
  %4066 = call ptr @__errno_location() #12
  %4067 = load i32, ptr %4066, align 4, !tbaa !5
  %4068 = call ptr @strerror(i32 noundef %4067) #11
  %4069 = call ptr @__errno_location() #12
  %4070 = load i32, ptr %4069, align 4, !tbaa !5
  %4071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4058, ptr noundef @.str.78, i32 noundef %4059, ptr noundef @.str.115, ptr noundef @.str.77, i32 noundef 108, ptr noundef %4062, ptr noundef %4065, ptr noundef %4068, i32 noundef %4070) #11
  br label %4089

4072:                                             ; preds = %4050, %4043
  %4073 = load i32, ptr %75, align 4, !tbaa !5
  %4074 = call ptr @__errno_location() #12
  store i32 %4073, ptr %4074, align 4, !tbaa !5
  %4075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4076 = load i32, ptr @test_count, align 4, !tbaa !5
  %4077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4078 = load i32, ptr %4077, align 4, !tbaa !5
  %4079 = call ptr @s2n_strerror(i32 noundef %4078, ptr noundef @.str.80)
  %4080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4081 = load i32, ptr %4080, align 4, !tbaa !5
  %4082 = call ptr @s2n_strerror_debug(i32 noundef %4081, ptr noundef @.str.80)
  %4083 = call ptr @__errno_location() #12
  %4084 = load i32, ptr %4083, align 4, !tbaa !5
  %4085 = call ptr @strerror(i32 noundef %4084) #11
  %4086 = call ptr @__errno_location() #12
  %4087 = load i32, ptr %4086, align 4, !tbaa !5
  %4088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4075, ptr noundef @.str.81, i32 noundef %4076, ptr noundef @.str.115, ptr noundef @.str.77, i32 noundef 108, ptr noundef %4079, ptr noundef %4082, ptr noundef %4085, i32 noundef %4087) #11
  br label %4089

4089:                                             ; preds = %4072, %4055
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %4090

4090:                                             ; preds = %4089
  br label %4091

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

4092:                                             ; No predecessors!
  br label %4093

4093:                                             ; preds = %4092
  br label %4094

4094:                                             ; preds = %4093, %4035
  br label %4095

4095:                                             ; preds = %4094
  br label %4096

4096:                                             ; preds = %4095
  br label %4097

4097:                                             ; preds = %4096
  %4098 = load i32, ptr @test_count, align 4, !tbaa !5
  %4099 = add nsw i32 %4098, 1
  store i32 %4099, ptr @test_count, align 4, !tbaa !5
  %4100 = getelementptr inbounds %struct.s2n_psk, ptr %58, i32 0, i32 2
  %4101 = getelementptr inbounds %struct.s2n_blob, ptr %4100, i32 0, i32 1
  %4102 = load i32, ptr %4101, align 8, !tbaa !27
  %4103 = zext i32 %4102 to i64
  %4104 = icmp eq i64 %4103, 11
  br i1 %4104, label %4158, label %4105

4105:                                             ; preds = %4097
  br label %4106

4106:                                             ; preds = %4105
  br label %4107

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

4114:                                             ; preds = %4107
  %4115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4116 = call i32 @fileno(ptr noundef %4115) #11
  %4117 = call i32 @isatty(i32 noundef %4116) #11
  %4118 = icmp ne i32 %4117, 0
  br i1 %4118, label %4119, label %4136

4119:                                             ; preds = %4114
  %4120 = load i32, ptr %76, align 4, !tbaa !5
  %4121 = call ptr @__errno_location() #12
  store i32 %4120, ptr %4121, align 4, !tbaa !5
  %4122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4123 = load i32, ptr @test_count, align 4, !tbaa !5
  %4124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4125 = load i32, ptr %4124, align 4, !tbaa !5
  %4126 = call ptr @s2n_strerror(i32 noundef %4125, ptr noundef @.str.80)
  %4127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4128 = load i32, ptr %4127, align 4, !tbaa !5
  %4129 = call ptr @s2n_strerror_debug(i32 noundef %4128, ptr noundef @.str.80)
  %4130 = call ptr @__errno_location() #12
  %4131 = load i32, ptr %4130, align 4, !tbaa !5
  %4132 = call ptr @strerror(i32 noundef %4131) #11
  %4133 = call ptr @__errno_location() #12
  %4134 = load i32, ptr %4133, align 4, !tbaa !5
  %4135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4122, ptr noundef @.str.78, i32 noundef %4123, ptr noundef @.str.116, ptr noundef @.str.77, i32 noundef 109, ptr noundef %4126, ptr noundef %4129, ptr noundef %4132, i32 noundef %4134) #11
  br label %4153

4136:                                             ; preds = %4114, %4107
  %4137 = load i32, ptr %76, align 4, !tbaa !5
  %4138 = call ptr @__errno_location() #12
  store i32 %4137, ptr %4138, align 4, !tbaa !5
  %4139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4140 = load i32, ptr @test_count, align 4, !tbaa !5
  %4141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4142 = load i32, ptr %4141, align 4, !tbaa !5
  %4143 = call ptr @s2n_strerror(i32 noundef %4142, ptr noundef @.str.80)
  %4144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4145 = load i32, ptr %4144, align 4, !tbaa !5
  %4146 = call ptr @s2n_strerror_debug(i32 noundef %4145, ptr noundef @.str.80)
  %4147 = call ptr @__errno_location() #12
  %4148 = load i32, ptr %4147, align 4, !tbaa !5
  %4149 = call ptr @strerror(i32 noundef %4148) #11
  %4150 = call ptr @__errno_location() #12
  %4151 = load i32, ptr %4150, align 4, !tbaa !5
  %4152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4139, ptr noundef @.str.81, i32 noundef %4140, ptr noundef @.str.116, ptr noundef @.str.77, i32 noundef 109, ptr noundef %4143, ptr noundef %4146, ptr noundef %4149, i32 noundef %4151) #11
  br label %4153

4153:                                             ; preds = %4136, %4119
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %4154

4154:                                             ; preds = %4153
  br label %4155

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

4156:                                             ; No predecessors!
  br label %4157

4157:                                             ; preds = %4156
  br label %4158

4158:                                             ; preds = %4157, %4097
  br label %4159

4159:                                             ; preds = %4158
  br label %4160

4160:                                             ; preds = %4159
  br label %4161

4161:                                             ; preds = %4160
  br label %4162

4162:                                             ; preds = %4161
  %4163 = load i32, ptr @test_count, align 4, !tbaa !5
  %4164 = add nsw i32 %4163, 1
  store i32 %4164, ptr @test_count, align 4, !tbaa !5
  %4165 = getelementptr inbounds %struct.s2n_psk, ptr %58, i32 0, i32 2
  %4166 = getelementptr inbounds %struct.s2n_blob, ptr %4165, i32 0, i32 0
  %4167 = load ptr, ptr %4166, align 8, !tbaa !28
  %4168 = call i32 @memcmp(ptr noundef %4167, ptr noundef @.str.104, i64 noundef 11) #14
  %4169 = icmp eq i32 %4168, 0
  br i1 %4169, label %4223, label %4170

4170:                                             ; preds = %4162
  br label %4171

4171:                                             ; preds = %4170
  br label %4172

4172:                                             ; preds = %4171
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #11
  %4173 = call ptr @__errno_location() #12
  %4174 = load i32, ptr %4173, align 4, !tbaa !5
  store i32 %4174, ptr %77, align 4, !tbaa !5
  %4175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4176 = call i32 @s2n_print_stacktrace(ptr noundef %4175)
  %4177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4178 = trunc i8 %4177 to i1
  br i1 %4178, label %4179, label %4201

4179:                                             ; preds = %4172
  %4180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4181 = call i32 @fileno(ptr noundef %4180) #11
  %4182 = call i32 @isatty(i32 noundef %4181) #11
  %4183 = icmp ne i32 %4182, 0
  br i1 %4183, label %4184, label %4201

4184:                                             ; preds = %4179
  %4185 = load i32, ptr %77, align 4, !tbaa !5
  %4186 = call ptr @__errno_location() #12
  store i32 %4185, ptr %4186, align 4, !tbaa !5
  %4187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4188 = load i32, ptr @test_count, align 4, !tbaa !5
  %4189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4190 = load i32, ptr %4189, align 4, !tbaa !5
  %4191 = call ptr @s2n_strerror(i32 noundef %4190, ptr noundef @.str.80)
  %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_debug(i32 noundef %4193, ptr noundef @.str.80)
  %4195 = call ptr @__errno_location() #12
  %4196 = load i32, ptr %4195, align 4, !tbaa !5
  %4197 = call ptr @strerror(i32 noundef %4196) #11
  %4198 = call ptr @__errno_location() #12
  %4199 = load i32, ptr %4198, align 4, !tbaa !5
  %4200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4187, ptr noundef @.str.78, i32 noundef %4188, ptr noundef @.str.117, ptr noundef @.str.77, i32 noundef 110, ptr noundef %4191, ptr noundef %4194, ptr noundef %4197, i32 noundef %4199) #11
  br label %4218

4201:                                             ; preds = %4179, %4172
  %4202 = load i32, ptr %77, align 4, !tbaa !5
  %4203 = call ptr @__errno_location() #12
  store i32 %4202, ptr %4203, align 4, !tbaa !5
  %4204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4205 = load i32, ptr @test_count, align 4, !tbaa !5
  %4206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4207 = load i32, ptr %4206, align 4, !tbaa !5
  %4208 = call ptr @s2n_strerror(i32 noundef %4207, ptr noundef @.str.80)
  %4209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4210 = load i32, ptr %4209, align 4, !tbaa !5
  %4211 = call ptr @s2n_strerror_debug(i32 noundef %4210, ptr noundef @.str.80)
  %4212 = call ptr @__errno_location() #12
  %4213 = load i32, ptr %4212, align 4, !tbaa !5
  %4214 = call ptr @strerror(i32 noundef %4213) #11
  %4215 = call ptr @__errno_location() #12
  %4216 = load i32, ptr %4215, align 4, !tbaa !5
  %4217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4204, ptr noundef @.str.81, i32 noundef %4205, ptr noundef @.str.117, ptr noundef @.str.77, i32 noundef 110, ptr noundef %4208, ptr noundef %4211, ptr noundef %4214, i32 noundef %4216) #11
  br label %4218

4218:                                             ; preds = %4201, %4184
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %4219

4219:                                             ; preds = %4218
  br label %4220

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

4221:                                             ; No predecessors!
  br label %4222

4222:                                             ; preds = %4221
  br label %4223

4223:                                             ; preds = %4222, %4162
  br label %4224

4224:                                             ; preds = %4223
  br label %4225

4225:                                             ; preds = %4224
  br label %4226

4226:                                             ; preds = %4225
  br label %4227

4227:                                             ; preds = %4226
  %4228 = getelementptr inbounds [11 x i8], ptr %61, i64 0, i64 0
  store i8 65, ptr %4228, align 1, !tbaa !26
  br label %4229

4229:                                             ; preds = %4227
  br label %4230

4230:                                             ; preds = %4229
  %4231 = load i32, ptr @test_count, align 4, !tbaa !5
  %4232 = add nsw i32 %4231, 1
  store i32 %4232, ptr @test_count, align 4, !tbaa !5
  %4233 = getelementptr inbounds %struct.s2n_psk, ptr %58, i32 0, i32 2
  %4234 = getelementptr inbounds %struct.s2n_blob, ptr %4233, i32 0, i32 0
  %4235 = load ptr, ptr %4234, align 8, !tbaa !28
  %4236 = call i32 @memcmp(ptr noundef %4235, ptr noundef @.str.104, i64 noundef 11) #14
  %4237 = icmp eq i32 %4236, 0
  br i1 %4237, label %4291, label %4238

4238:                                             ; preds = %4230
  br label %4239

4239:                                             ; preds = %4238
  br label %4240

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

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

4252:                                             ; preds = %4247
  %4253 = load i32, ptr %78, align 4, !tbaa !5
  %4254 = call ptr @__errno_location() #12
  store i32 %4253, ptr %4254, align 4, !tbaa !5
  %4255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4256 = load i32, ptr @test_count, align 4, !tbaa !5
  %4257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4258 = load i32, ptr %4257, align 4, !tbaa !5
  %4259 = call ptr @s2n_strerror(i32 noundef %4258, ptr noundef @.str.80)
  %4260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4261 = load i32, ptr %4260, align 4, !tbaa !5
  %4262 = call ptr @s2n_strerror_debug(i32 noundef %4261, ptr noundef @.str.80)
  %4263 = call ptr @__errno_location() #12
  %4264 = load i32, ptr %4263, align 4, !tbaa !5
  %4265 = call ptr @strerror(i32 noundef %4264) #11
  %4266 = call ptr @__errno_location() #12
  %4267 = load i32, ptr %4266, align 4, !tbaa !5
  %4268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4255, ptr noundef @.str.78, i32 noundef %4256, ptr noundef @.str.117, ptr noundef @.str.77, i32 noundef 114, ptr noundef %4259, ptr noundef %4262, ptr noundef %4265, i32 noundef %4267) #11
  br label %4286

4269:                                             ; preds = %4247, %4240
  %4270 = load i32, ptr %78, align 4, !tbaa !5
  %4271 = call ptr @__errno_location() #12
  store i32 %4270, ptr %4271, align 4, !tbaa !5
  %4272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4273 = load i32, ptr @test_count, align 4, !tbaa !5
  %4274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4275 = load i32, ptr %4274, align 4, !tbaa !5
  %4276 = call ptr @s2n_strerror(i32 noundef %4275, ptr noundef @.str.80)
  %4277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4278 = load i32, ptr %4277, align 4, !tbaa !5
  %4279 = call ptr @s2n_strerror_debug(i32 noundef %4278, ptr noundef @.str.80)
  %4280 = call ptr @__errno_location() #12
  %4281 = load i32, ptr %4280, align 4, !tbaa !5
  %4282 = call ptr @strerror(i32 noundef %4281) #11
  %4283 = call ptr @__errno_location() #12
  %4284 = load i32, ptr %4283, align 4, !tbaa !5
  %4285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4272, ptr noundef @.str.81, i32 noundef %4273, ptr noundef @.str.117, ptr noundef @.str.77, i32 noundef 114, ptr noundef %4276, ptr noundef %4279, ptr noundef %4282, i32 noundef %4284) #11
  br label %4286

4286:                                             ; preds = %4269, %4252
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %4287

4287:                                             ; preds = %4286
  br label %4288

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

4289:                                             ; No predecessors!
  br label %4290

4290:                                             ; preds = %4289
  br label %4291

4291:                                             ; preds = %4290, %4230
  br label %4292

4292:                                             ; preds = %4291
  br label %4293

4293:                                             ; preds = %4292
  br label %4294

4294:                                             ; preds = %4293
  br label %4295

4295:                                             ; preds = %4294
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %79, ptr align 1 @__const.main.test_value_2.118, i64 8, i1 false)
  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 = getelementptr inbounds [8 x i8], ptr %79, i64 0, i64 0
  %4300 = call i32 @s2n_psk_set_secret(ptr noundef %58, ptr noundef %4299, i16 noundef zeroext 8)
  %4301 = icmp eq i32 %4300, -1
  br i1 %4301, label %4302, label %4355

4302:                                             ; preds = %4296
  br label %4303

4303:                                             ; preds = %4302
  br label %4304

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

4311:                                             ; preds = %4304
  %4312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4313 = call i32 @fileno(ptr noundef %4312) #11
  %4314 = call i32 @isatty(i32 noundef %4313) #11
  %4315 = icmp ne i32 %4314, 0
  br i1 %4315, label %4316, label %4333

4316:                                             ; preds = %4311
  %4317 = load i32, ptr %80, align 4, !tbaa !5
  %4318 = call ptr @__errno_location() #12
  store i32 %4317, ptr %4318, align 4, !tbaa !5
  %4319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4320 = load i32, ptr @test_count, align 4, !tbaa !5
  %4321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4322 = load i32, ptr %4321, align 4, !tbaa !5
  %4323 = call ptr @s2n_strerror(i32 noundef %4322, ptr noundef @.str.80)
  %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_debug(i32 noundef %4325, ptr noundef @.str.80)
  %4327 = call ptr @__errno_location() #12
  %4328 = load i32, ptr %4327, align 4, !tbaa !5
  %4329 = call ptr @strerror(i32 noundef %4328) #11
  %4330 = call ptr @__errno_location() #12
  %4331 = load i32, ptr %4330, align 4, !tbaa !5
  %4332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4319, ptr noundef @.str.78, i32 noundef %4320, ptr noundef @.str.119, ptr noundef @.str.77, i32 noundef 118, ptr noundef %4323, ptr noundef %4326, ptr noundef %4329, i32 noundef %4331) #11
  br label %4350

4333:                                             ; preds = %4311, %4304
  %4334 = load i32, ptr %80, align 4, !tbaa !5
  %4335 = call ptr @__errno_location() #12
  store i32 %4334, ptr %4335, align 4, !tbaa !5
  %4336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4337 = load i32, ptr @test_count, align 4, !tbaa !5
  %4338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4339 = load i32, ptr %4338, align 4, !tbaa !5
  %4340 = call ptr @s2n_strerror(i32 noundef %4339, ptr noundef @.str.80)
  %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_debug(i32 noundef %4342, ptr noundef @.str.80)
  %4344 = call ptr @__errno_location() #12
  %4345 = load i32, ptr %4344, align 4, !tbaa !5
  %4346 = call ptr @strerror(i32 noundef %4345) #11
  %4347 = call ptr @__errno_location() #12
  %4348 = load i32, ptr %4347, align 4, !tbaa !5
  %4349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4336, ptr noundef @.str.81, i32 noundef %4337, ptr noundef @.str.119, ptr noundef @.str.77, i32 noundef 118, ptr noundef %4340, ptr noundef %4343, ptr noundef %4346, i32 noundef %4348) #11
  br label %4350

4350:                                             ; preds = %4333, %4316
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %4351

4351:                                             ; preds = %4350
  br label %4352

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

4353:                                             ; No predecessors!
  br label %4354

4354:                                             ; preds = %4353
  br label %4355

4355:                                             ; preds = %4354, %4296
  br label %4356

4356:                                             ; preds = %4355
  br label %4357

4357:                                             ; preds = %4356
  br label %4358

4358:                                             ; preds = %4357
  %4359 = load i32, ptr @test_count, align 4, !tbaa !5
  %4360 = add nsw i32 %4359, 1
  store i32 %4360, ptr @test_count, align 4, !tbaa !5
  %4361 = getelementptr inbounds %struct.s2n_psk, ptr %58, i32 0, i32 2
  %4362 = getelementptr inbounds %struct.s2n_blob, ptr %4361, i32 0, i32 1
  %4363 = load i32, ptr %4362, align 8, !tbaa !27
  %4364 = zext i32 %4363 to i64
  %4365 = icmp eq i64 %4364, 8
  br i1 %4365, label %4419, label %4366

4366:                                             ; preds = %4358
  br label %4367

4367:                                             ; preds = %4366
  br label %4368

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

4375:                                             ; preds = %4368
  %4376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4377 = call i32 @fileno(ptr noundef %4376) #11
  %4378 = call i32 @isatty(i32 noundef %4377) #11
  %4379 = icmp ne i32 %4378, 0
  br i1 %4379, label %4380, label %4397

4380:                                             ; preds = %4375
  %4381 = load i32, ptr %81, align 4, !tbaa !5
  %4382 = call ptr @__errno_location() #12
  store i32 %4381, ptr %4382, align 4, !tbaa !5
  %4383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4384 = load i32, ptr @test_count, align 4, !tbaa !5
  %4385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4386 = load i32, ptr %4385, align 4, !tbaa !5
  %4387 = call ptr @s2n_strerror(i32 noundef %4386, ptr noundef @.str.80)
  %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_debug(i32 noundef %4389, ptr noundef @.str.80)
  %4391 = call ptr @__errno_location() #12
  %4392 = load i32, ptr %4391, align 4, !tbaa !5
  %4393 = call ptr @strerror(i32 noundef %4392) #11
  %4394 = call ptr @__errno_location() #12
  %4395 = load i32, ptr %4394, align 4, !tbaa !5
  %4396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4383, ptr noundef @.str.78, i32 noundef %4384, ptr noundef @.str.120, ptr noundef @.str.77, i32 noundef 119, ptr noundef %4387, ptr noundef %4390, ptr noundef %4393, i32 noundef %4395) #11
  br label %4414

4397:                                             ; preds = %4375, %4368
  %4398 = load i32, ptr %81, align 4, !tbaa !5
  %4399 = call ptr @__errno_location() #12
  store i32 %4398, ptr %4399, align 4, !tbaa !5
  %4400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4401 = load i32, ptr @test_count, align 4, !tbaa !5
  %4402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4403 = load i32, ptr %4402, align 4, !tbaa !5
  %4404 = call ptr @s2n_strerror(i32 noundef %4403, ptr noundef @.str.80)
  %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_debug(i32 noundef %4406, ptr noundef @.str.80)
  %4408 = call ptr @__errno_location() #12
  %4409 = load i32, ptr %4408, align 4, !tbaa !5
  %4410 = call ptr @strerror(i32 noundef %4409) #11
  %4411 = call ptr @__errno_location() #12
  %4412 = load i32, ptr %4411, align 4, !tbaa !5
  %4413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4400, ptr noundef @.str.81, i32 noundef %4401, ptr noundef @.str.120, ptr noundef @.str.77, i32 noundef 119, ptr noundef %4404, ptr noundef %4407, ptr noundef %4410, i32 noundef %4412) #11
  br label %4414

4414:                                             ; preds = %4397, %4380
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %4415

4415:                                             ; preds = %4414
  br label %4416

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

4417:                                             ; No predecessors!
  br label %4418

4418:                                             ; preds = %4417
  br label %4419

4419:                                             ; preds = %4418, %4358
  br label %4420

4420:                                             ; preds = %4419
  br label %4421

4421:                                             ; preds = %4420
  br label %4422

4422:                                             ; preds = %4421
  br label %4423

4423:                                             ; preds = %4422
  %4424 = load i32, ptr @test_count, align 4, !tbaa !5
  %4425 = add nsw i32 %4424, 1
  store i32 %4425, ptr @test_count, align 4, !tbaa !5
  %4426 = getelementptr inbounds %struct.s2n_psk, ptr %58, i32 0, i32 2
  %4427 = getelementptr inbounds %struct.s2n_blob, ptr %4426, i32 0, i32 0
  %4428 = load ptr, ptr %4427, align 8, !tbaa !28
  %4429 = call i32 @memcmp(ptr noundef %4428, ptr noundef @.str.108, i64 noundef 8) #14
  %4430 = icmp eq i32 %4429, 0
  br i1 %4430, label %4484, label %4431

4431:                                             ; preds = %4423
  br label %4432

4432:                                             ; preds = %4431
  br label %4433

4433:                                             ; preds = %4432
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #11
  %4434 = call ptr @__errno_location() #12
  %4435 = load i32, ptr %4434, align 4, !tbaa !5
  store i32 %4435, ptr %82, 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 %82, 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.80)
  %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.80)
  %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.78, i32 noundef %4449, ptr noundef @.str.121, ptr noundef @.str.77, i32 noundef 120, ptr noundef %4452, ptr noundef %4455, ptr noundef %4458, i32 noundef %4460) #11
  br label %4479

4462:                                             ; preds = %4440, %4433
  %4463 = load i32, ptr %82, 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.80)
  %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.80)
  %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.81, i32 noundef %4466, ptr noundef @.str.121, ptr noundef @.str.77, i32 noundef 120, 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 %82) #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, %4423
  br label %4485

4485:                                             ; preds = %4484
  br label %4486

4486:                                             ; preds = %4485
  br label %4487

4487:                                             ; preds = %4486
  br label %4488

4488:                                             ; preds = %4487
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #11
  call void @llvm.lifetime.end.p0(i64 5, ptr %62) #11
  call void @llvm.lifetime.end.p0(i64 11, ptr %61) #11
  %4489 = call i32 @s2n_psk_wipe(ptr noundef %58)
  %4490 = getelementptr inbounds %struct.s2n_result, ptr %83, i32 0, i32 0
  store i32 %4489, ptr %4490, align 4
  call void @llvm.lifetime.end.p0(i64 168, ptr %58) #11
  call void @llvm.lifetime.start.p0(i64 6, ptr %84) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %84, ptr align 1 @__const.main.test_bad_value, i64 6, i1 false)
  call void @llvm.lifetime.start.p0(i64 9, ptr %85) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %85, ptr align 1 @__const.main.test_identity, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 7, ptr %86) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %86, ptr align 1 @__const.main.test_secret, i64 7, i1 false)
  call void @llvm.lifetime.start.p0(i64 13, ptr %87) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %87, ptr align 1 @__const.main.test_early_secret, i64 13, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #11
  store i32 5, ptr %88, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #11
  %4491 = call ptr @s2n_external_psk_new()
  store ptr %4491, ptr %89, align 8, !tbaa !9
  br label %4492

4492:                                             ; preds = %4488
  %4493 = load i32, ptr @test_count, align 4, !tbaa !5
  %4494 = add nsw i32 %4493, 1
  store i32 %4494, ptr @test_count, align 4, !tbaa !5
  %4495 = load ptr, ptr %89, align 8, !tbaa !9
  %4496 = icmp eq ptr %4495, null
  br i1 %4496, label %4497, label %4550

4497:                                             ; preds = %4492
  br label %4498

4498:                                             ; preds = %4497
  br label %4499

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

4506:                                             ; preds = %4499
  %4507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4508 = call i32 @fileno(ptr noundef %4507) #11
  %4509 = call i32 @isatty(i32 noundef %4508) #11
  %4510 = icmp ne i32 %4509, 0
  br i1 %4510, label %4511, label %4528

4511:                                             ; preds = %4506
  %4512 = load i32, ptr %90, align 4, !tbaa !5
  %4513 = call ptr @__errno_location() #12
  store i32 %4512, ptr %4513, align 4, !tbaa !5
  %4514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4515 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4517, ptr noundef @.str.80)
  %4519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4520 = load i32, ptr %4519, align 4, !tbaa !5
  %4521 = call ptr @s2n_strerror_debug(i32 noundef %4520, ptr noundef @.str.80)
  %4522 = call ptr @__errno_location() #12
  %4523 = load i32, ptr %4522, align 4, !tbaa !5
  %4524 = call ptr @strerror(i32 noundef %4523) #11
  %4525 = call ptr @__errno_location() #12
  %4526 = load i32, ptr %4525, align 4, !tbaa !5
  %4527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4514, ptr noundef @.str.78, i32 noundef %4515, ptr noundef @.str.122, ptr noundef @.str.77, i32 noundef 132, ptr noundef %4518, ptr noundef %4521, ptr noundef %4524, i32 noundef %4526) #11
  br label %4545

4528:                                             ; preds = %4506, %4499
  %4529 = load i32, ptr %90, align 4, !tbaa !5
  %4530 = call ptr @__errno_location() #12
  store i32 %4529, ptr %4530, align 4, !tbaa !5
  %4531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4532 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4534, ptr noundef @.str.80)
  %4536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4537 = load i32, ptr %4536, align 4, !tbaa !5
  %4538 = call ptr @s2n_strerror_debug(i32 noundef %4537, ptr noundef @.str.80)
  %4539 = call ptr @__errno_location() #12
  %4540 = load i32, ptr %4539, align 4, !tbaa !5
  %4541 = call ptr @strerror(i32 noundef %4540) #11
  %4542 = call ptr @__errno_location() #12
  %4543 = load i32, ptr %4542, align 4, !tbaa !5
  %4544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4531, ptr noundef @.str.81, i32 noundef %4532, ptr noundef @.str.122, ptr noundef @.str.77, i32 noundef 132, ptr noundef %4535, ptr noundef %4538, ptr noundef %4541, i32 noundef %4543) #11
  br label %4545

4545:                                             ; preds = %4528, %4511
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %4546

4546:                                             ; preds = %4545
  br label %4547

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

4548:                                             ; No predecessors!
  br label %4549

4549:                                             ; preds = %4548
  br label %4550

4550:                                             ; preds = %4549, %4492
  br label %4551

4551:                                             ; preds = %4550
  br label %4552

4552:                                             ; preds = %4551
  br label %4553

4553:                                             ; preds = %4552
  %4554 = load i32, ptr @test_count, align 4, !tbaa !5
  %4555 = add nsw i32 %4554, 1
  store i32 %4555, ptr @test_count, align 4, !tbaa !5
  %4556 = load ptr, ptr %89, align 8, !tbaa !9
  %4557 = getelementptr inbounds [9 x i8], ptr %85, i64 0, i64 0
  %4558 = call i32 @s2n_psk_set_identity(ptr noundef %4556, ptr noundef %4557, i16 noundef zeroext 9)
  %4559 = icmp eq i32 %4558, -1
  br i1 %4559, label %4560, label %4613

4560:                                             ; preds = %4553
  br label %4561

4561:                                             ; preds = %4560
  br label %4562

4562:                                             ; preds = %4561
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #11
  %4563 = call ptr @__errno_location() #12
  %4564 = load i32, ptr %4563, align 4, !tbaa !5
  store i32 %4564, ptr %91, align 4, !tbaa !5
  %4565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4566 = call i32 @s2n_print_stacktrace(ptr noundef %4565)
  %4567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4568 = trunc i8 %4567 to i1
  br i1 %4568, label %4569, label %4591

4569:                                             ; preds = %4562
  %4570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4571 = call i32 @fileno(ptr noundef %4570) #11
  %4572 = call i32 @isatty(i32 noundef %4571) #11
  %4573 = icmp ne i32 %4572, 0
  br i1 %4573, label %4574, label %4591

4574:                                             ; preds = %4569
  %4575 = load i32, ptr %91, align 4, !tbaa !5
  %4576 = call ptr @__errno_location() #12
  store i32 %4575, ptr %4576, align 4, !tbaa !5
  %4577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4578 = load i32, ptr @test_count, align 4, !tbaa !5
  %4579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4580 = load i32, ptr %4579, align 4, !tbaa !5
  %4581 = call ptr @s2n_strerror(i32 noundef %4580, ptr noundef @.str.80)
  %4582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4583 = load i32, ptr %4582, align 4, !tbaa !5
  %4584 = call ptr @s2n_strerror_debug(i32 noundef %4583, ptr noundef @.str.80)
  %4585 = call ptr @__errno_location() #12
  %4586 = load i32, ptr %4585, align 4, !tbaa !5
  %4587 = call ptr @strerror(i32 noundef %4586) #11
  %4588 = call ptr @__errno_location() #12
  %4589 = load i32, ptr %4588, align 4, !tbaa !5
  %4590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4577, ptr noundef @.str.78, i32 noundef %4578, ptr noundef @.str.123, ptr noundef @.str.77, i32 noundef 133, ptr noundef %4581, ptr noundef %4584, ptr noundef %4587, i32 noundef %4589) #11
  br label %4608

4591:                                             ; preds = %4569, %4562
  %4592 = load i32, ptr %91, align 4, !tbaa !5
  %4593 = call ptr @__errno_location() #12
  store i32 %4592, ptr %4593, align 4, !tbaa !5
  %4594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4595 = load i32, ptr @test_count, align 4, !tbaa !5
  %4596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4597 = load i32, ptr %4596, align 4, !tbaa !5
  %4598 = call ptr @s2n_strerror(i32 noundef %4597, ptr noundef @.str.80)
  %4599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4600 = load i32, ptr %4599, align 4, !tbaa !5
  %4601 = call ptr @s2n_strerror_debug(i32 noundef %4600, ptr noundef @.str.80)
  %4602 = call ptr @__errno_location() #12
  %4603 = load i32, ptr %4602, align 4, !tbaa !5
  %4604 = call ptr @strerror(i32 noundef %4603) #11
  %4605 = call ptr @__errno_location() #12
  %4606 = load i32, ptr %4605, align 4, !tbaa !5
  %4607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4594, ptr noundef @.str.81, i32 noundef %4595, ptr noundef @.str.123, ptr noundef @.str.77, i32 noundef 133, ptr noundef %4598, ptr noundef %4601, ptr noundef %4604, i32 noundef %4606) #11
  br label %4608

4608:                                             ; preds = %4591, %4574
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %4609

4609:                                             ; preds = %4608
  br label %4610

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

4611:                                             ; No predecessors!
  br label %4612

4612:                                             ; preds = %4611
  br label %4613

4613:                                             ; preds = %4612, %4553
  br label %4614

4614:                                             ; preds = %4613
  br label %4615

4615:                                             ; preds = %4614
  br label %4616

4616:                                             ; preds = %4615
  %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 ptr, ptr %89, align 8, !tbaa !9
  %4620 = getelementptr inbounds [7 x i8], ptr %86, i64 0, i64 0
  %4621 = call i32 @s2n_psk_set_secret(ptr noundef %4619, ptr noundef %4620, i16 noundef zeroext 7)
  %4622 = icmp eq i32 %4621, -1
  br i1 %4622, label %4623, label %4676

4623:                                             ; preds = %4616
  br label %4624

4624:                                             ; preds = %4623
  br label %4625

4625:                                             ; preds = %4624
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %4626 = call ptr @__errno_location() #12
  %4627 = load i32, ptr %4626, align 4, !tbaa !5
  store i32 %4627, ptr %92, align 4, !tbaa !5
  %4628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4629 = call i32 @s2n_print_stacktrace(ptr noundef %4628)
  %4630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4631 = trunc i8 %4630 to i1
  br i1 %4631, label %4632, label %4654

4632:                                             ; preds = %4625
  %4633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4634 = call i32 @fileno(ptr noundef %4633) #11
  %4635 = call i32 @isatty(i32 noundef %4634) #11
  %4636 = icmp ne i32 %4635, 0
  br i1 %4636, label %4637, label %4654

4637:                                             ; preds = %4632
  %4638 = load i32, ptr %92, align 4, !tbaa !5
  %4639 = call ptr @__errno_location() #12
  store i32 %4638, ptr %4639, align 4, !tbaa !5
  %4640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4641 = load i32, ptr @test_count, align 4, !tbaa !5
  %4642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4643 = load i32, ptr %4642, align 4, !tbaa !5
  %4644 = call ptr @s2n_strerror(i32 noundef %4643, ptr noundef @.str.80)
  %4645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4646 = load i32, ptr %4645, align 4, !tbaa !5
  %4647 = call ptr @s2n_strerror_debug(i32 noundef %4646, ptr noundef @.str.80)
  %4648 = call ptr @__errno_location() #12
  %4649 = load i32, ptr %4648, align 4, !tbaa !5
  %4650 = call ptr @strerror(i32 noundef %4649) #11
  %4651 = call ptr @__errno_location() #12
  %4652 = load i32, ptr %4651, align 4, !tbaa !5
  %4653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4640, ptr noundef @.str.78, i32 noundef %4641, ptr noundef @.str.124, ptr noundef @.str.77, i32 noundef 134, ptr noundef %4644, ptr noundef %4647, ptr noundef %4650, i32 noundef %4652) #11
  br label %4671

4654:                                             ; preds = %4632, %4625
  %4655 = load i32, ptr %92, align 4, !tbaa !5
  %4656 = call ptr @__errno_location() #12
  store i32 %4655, ptr %4656, align 4, !tbaa !5
  %4657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4658 = load i32, ptr @test_count, align 4, !tbaa !5
  %4659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4660 = load i32, ptr %4659, align 4, !tbaa !5
  %4661 = call ptr @s2n_strerror(i32 noundef %4660, ptr noundef @.str.80)
  %4662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4663 = load i32, ptr %4662, align 4, !tbaa !5
  %4664 = call ptr @s2n_strerror_debug(i32 noundef %4663, ptr noundef @.str.80)
  %4665 = call ptr @__errno_location() #12
  %4666 = load i32, ptr %4665, align 4, !tbaa !5
  %4667 = call ptr @strerror(i32 noundef %4666) #11
  %4668 = call ptr @__errno_location() #12
  %4669 = load i32, ptr %4668, align 4, !tbaa !5
  %4670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4657, ptr noundef @.str.81, i32 noundef %4658, ptr noundef @.str.124, ptr noundef @.str.77, i32 noundef 134, ptr noundef %4661, ptr noundef %4664, ptr noundef %4667, i32 noundef %4669) #11
  br label %4671

4671:                                             ; preds = %4654, %4637
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4672

4672:                                             ; preds = %4671
  br label %4673

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

4674:                                             ; No predecessors!
  br label %4675

4675:                                             ; preds = %4674
  br label %4676

4676:                                             ; preds = %4675, %4616
  br label %4677

4677:                                             ; preds = %4676
  br label %4678

4678:                                             ; preds = %4677
  br label %4679

4679:                                             ; preds = %4678
  %4680 = load i32, ptr @test_count, align 4, !tbaa !5
  %4681 = add nsw i32 %4680, 1
  store i32 %4681, ptr @test_count, align 4, !tbaa !5
  %4682 = load ptr, ptr %89, align 8, !tbaa !9
  %4683 = getelementptr inbounds %struct.s2n_psk, ptr %4682, i32 0, i32 6
  %4684 = call i32 @s2n_alloc(ptr noundef %4683, i32 noundef 13)
  %4685 = icmp eq i32 %4684, -1
  br i1 %4685, label %4686, label %4739

4686:                                             ; preds = %4679
  br label %4687

4687:                                             ; preds = %4686
  br label %4688

4688:                                             ; preds = %4687
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  %4689 = call ptr @__errno_location() #12
  %4690 = load i32, ptr %4689, align 4, !tbaa !5
  store i32 %4690, ptr %93, align 4, !tbaa !5
  %4691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4692 = call i32 @s2n_print_stacktrace(ptr noundef %4691)
  %4693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4694 = trunc i8 %4693 to i1
  br i1 %4694, label %4695, label %4717

4695:                                             ; preds = %4688
  %4696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4697 = call i32 @fileno(ptr noundef %4696) #11
  %4698 = call i32 @isatty(i32 noundef %4697) #11
  %4699 = icmp ne i32 %4698, 0
  br i1 %4699, label %4700, label %4717

4700:                                             ; preds = %4695
  %4701 = load i32, ptr %93, align 4, !tbaa !5
  %4702 = call ptr @__errno_location() #12
  store i32 %4701, ptr %4702, align 4, !tbaa !5
  %4703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4704 = load i32, ptr @test_count, align 4, !tbaa !5
  %4705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4706 = load i32, ptr %4705, align 4, !tbaa !5
  %4707 = call ptr @s2n_strerror(i32 noundef %4706, ptr noundef @.str.80)
  %4708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4709 = load i32, ptr %4708, align 4, !tbaa !5
  %4710 = call ptr @s2n_strerror_debug(i32 noundef %4709, ptr noundef @.str.80)
  %4711 = call ptr @__errno_location() #12
  %4712 = load i32, ptr %4711, align 4, !tbaa !5
  %4713 = call ptr @strerror(i32 noundef %4712) #11
  %4714 = call ptr @__errno_location() #12
  %4715 = load i32, ptr %4714, align 4, !tbaa !5
  %4716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4703, ptr noundef @.str.78, i32 noundef %4704, ptr noundef @.str.125, ptr noundef @.str.77, i32 noundef 135, ptr noundef %4707, ptr noundef %4710, ptr noundef %4713, i32 noundef %4715) #11
  br label %4734

4717:                                             ; preds = %4695, %4688
  %4718 = load i32, ptr %93, align 4, !tbaa !5
  %4719 = call ptr @__errno_location() #12
  store i32 %4718, ptr %4719, align 4, !tbaa !5
  %4720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4721 = load i32, ptr @test_count, align 4, !tbaa !5
  %4722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4723 = load i32, ptr %4722, align 4, !tbaa !5
  %4724 = call ptr @s2n_strerror(i32 noundef %4723, ptr noundef @.str.80)
  %4725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4726 = load i32, ptr %4725, align 4, !tbaa !5
  %4727 = call ptr @s2n_strerror_debug(i32 noundef %4726, ptr noundef @.str.80)
  %4728 = call ptr @__errno_location() #12
  %4729 = load i32, ptr %4728, align 4, !tbaa !5
  %4730 = call ptr @strerror(i32 noundef %4729) #11
  %4731 = call ptr @__errno_location() #12
  %4732 = load i32, ptr %4731, align 4, !tbaa !5
  %4733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4720, ptr noundef @.str.81, i32 noundef %4721, ptr noundef @.str.125, ptr noundef @.str.77, i32 noundef 135, ptr noundef %4724, ptr noundef %4727, ptr noundef %4730, i32 noundef %4732) #11
  br label %4734

4734:                                             ; preds = %4717, %4700
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4735

4735:                                             ; preds = %4734
  br label %4736

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

4737:                                             ; No predecessors!
  br label %4738

4738:                                             ; preds = %4737
  br label %4739

4739:                                             ; preds = %4738, %4679
  br label %4740

4740:                                             ; preds = %4739
  br label %4741

4741:                                             ; preds = %4740
  br label %4742

4742:                                             ; preds = %4741
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #11
  %4743 = load ptr, ptr %89, align 8, !tbaa !9
  %4744 = getelementptr inbounds %struct.s2n_psk, ptr %4743, i32 0, i32 6
  %4745 = getelementptr inbounds %struct.s2n_blob, ptr %4744, i32 0, i32 1
  %4746 = load i32, ptr %4745, align 8, !tbaa !29
  store i32 %4746, ptr %94, align 4, !tbaa !5
  %4747 = load i32, ptr %94, align 4, !tbaa !5
  %4748 = icmp ne i32 %4747, 0
  br i1 %4748, label %4749, label %4812

4749:                                             ; preds = %4742
  %4750 = load ptr, ptr %89, align 8, !tbaa !9
  %4751 = getelementptr inbounds %struct.s2n_psk, ptr %4750, i32 0, i32 6
  %4752 = getelementptr inbounds %struct.s2n_blob, ptr %4751, i32 0, i32 0
  %4753 = load ptr, ptr %4752, align 8, !tbaa !30
  %4754 = getelementptr inbounds [13 x i8], ptr %87, i64 0, i64 0
  %4755 = load i32, ptr %94, align 4, !tbaa !5
  %4756 = zext i32 %4755 to i64
  call void @llvm.memmove.p0.p0.i64(ptr align 1 %4753, ptr align 1 %4754, i64 %4756, i1 false)
  %4757 = icmp eq ptr %4753, null
  br i1 %4757, label %4758, label %4811

4758:                                             ; preds = %4749
  br label %4759

4759:                                             ; preds = %4758
  br label %4760

4760:                                             ; preds = %4759
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #11
  %4761 = call ptr @__errno_location() #12
  %4762 = load i32, ptr %4761, align 4, !tbaa !5
  store i32 %4762, ptr %95, align 4, !tbaa !5
  %4763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4764 = call i32 @s2n_print_stacktrace(ptr noundef %4763)
  %4765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4766 = trunc i8 %4765 to i1
  br i1 %4766, label %4767, label %4789

4767:                                             ; preds = %4760
  %4768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4769 = call i32 @fileno(ptr noundef %4768) #11
  %4770 = call i32 @isatty(i32 noundef %4769) #11
  %4771 = icmp ne i32 %4770, 0
  br i1 %4771, label %4772, label %4789

4772:                                             ; preds = %4767
  %4773 = load i32, ptr %95, align 4, !tbaa !5
  %4774 = call ptr @__errno_location() #12
  store i32 %4773, ptr %4774, align 4, !tbaa !5
  %4775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4776 = load i32, ptr @test_count, align 4, !tbaa !5
  %4777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4778 = load i32, ptr %4777, align 4, !tbaa !5
  %4779 = call ptr @s2n_strerror(i32 noundef %4778, ptr noundef @.str.80)
  %4780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4781 = load i32, ptr %4780, align 4, !tbaa !5
  %4782 = call ptr @s2n_strerror_debug(i32 noundef %4781, ptr noundef @.str.80)
  %4783 = call ptr @__errno_location() #12
  %4784 = load i32, ptr %4783, align 4, !tbaa !5
  %4785 = call ptr @strerror(i32 noundef %4784) #11
  %4786 = call ptr @__errno_location() #12
  %4787 = load i32, ptr %4786, align 4, !tbaa !5
  %4788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4775, ptr noundef @.str.78, i32 noundef %4776, ptr noundef @.str.126, ptr noundef @.str.77, i32 noundef 136, ptr noundef %4779, ptr noundef %4782, ptr noundef %4785, i32 noundef %4787) #11
  br label %4806

4789:                                             ; preds = %4767, %4760
  %4790 = load i32, ptr %95, align 4, !tbaa !5
  %4791 = call ptr @__errno_location() #12
  store i32 %4790, ptr %4791, align 4, !tbaa !5
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = load i32, ptr @test_count, align 4, !tbaa !5
  %4794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4795 = load i32, ptr %4794, align 4, !tbaa !5
  %4796 = call ptr @s2n_strerror(i32 noundef %4795, ptr noundef @.str.80)
  %4797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4798 = load i32, ptr %4797, align 4, !tbaa !5
  %4799 = call ptr @s2n_strerror_debug(i32 noundef %4798, ptr noundef @.str.80)
  %4800 = call ptr @__errno_location() #12
  %4801 = load i32, ptr %4800, align 4, !tbaa !5
  %4802 = call ptr @strerror(i32 noundef %4801) #11
  %4803 = call ptr @__errno_location() #12
  %4804 = load i32, ptr %4803, align 4, !tbaa !5
  %4805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4792, ptr noundef @.str.81, i32 noundef %4793, ptr noundef @.str.126, ptr noundef @.str.77, i32 noundef 136, ptr noundef %4796, ptr noundef %4799, ptr noundef %4802, i32 noundef %4804) #11
  br label %4806

4806:                                             ; preds = %4789, %4772
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4807

4807:                                             ; preds = %4806
  br label %4808

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

4809:                                             ; No predecessors!
  br label %4810

4810:                                             ; preds = %4809
  br label %4811

4811:                                             ; preds = %4810, %4749
  br label %4812

4812:                                             ; preds = %4811, %4742
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #11
  br label %4813

4813:                                             ; preds = %4812
  br label %4814

4814:                                             ; preds = %4813
  %4815 = load ptr, ptr %89, align 8, !tbaa !9
  %4816 = getelementptr inbounds %struct.s2n_psk, ptr %4815, i32 0, i32 3
  store i32 5, ptr %4816, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #11
  %4817 = call ptr @s2n_external_psk_new()
  store ptr %4817, ptr %96, align 8, !tbaa !9
  br label %4818

4818:                                             ; preds = %4814
  %4819 = load i32, ptr @test_count, align 4, !tbaa !5
  %4820 = add nsw i32 %4819, 1
  store i32 %4820, ptr @test_count, align 4, !tbaa !5
  %4821 = load ptr, ptr %96, align 8, !tbaa !9
  %4822 = getelementptr inbounds [6 x i8], ptr %84, i64 0, i64 0
  %4823 = call i32 @s2n_psk_set_identity(ptr noundef %4821, ptr noundef %4822, i16 noundef zeroext 6)
  %4824 = icmp eq i32 %4823, -1
  br i1 %4824, label %4825, label %4878

4825:                                             ; preds = %4818
  br label %4826

4826:                                             ; preds = %4825
  br label %4827

4827:                                             ; preds = %4826
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #11
  %4828 = call ptr @__errno_location() #12
  %4829 = load i32, ptr %4828, align 4, !tbaa !5
  store i32 %4829, ptr %97, align 4, !tbaa !5
  %4830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4831 = call i32 @s2n_print_stacktrace(ptr noundef %4830)
  %4832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4833 = trunc i8 %4832 to i1
  br i1 %4833, label %4834, label %4856

4834:                                             ; preds = %4827
  %4835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4836 = call i32 @fileno(ptr noundef %4835) #11
  %4837 = call i32 @isatty(i32 noundef %4836) #11
  %4838 = icmp ne i32 %4837, 0
  br i1 %4838, label %4839, label %4856

4839:                                             ; preds = %4834
  %4840 = load i32, ptr %97, align 4, !tbaa !5
  %4841 = call ptr @__errno_location() #12
  store i32 %4840, ptr %4841, align 4, !tbaa !5
  %4842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4843 = load i32, ptr @test_count, align 4, !tbaa !5
  %4844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4845 = load i32, ptr %4844, align 4, !tbaa !5
  %4846 = call ptr @s2n_strerror(i32 noundef %4845, ptr noundef @.str.80)
  %4847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4848 = load i32, ptr %4847, align 4, !tbaa !5
  %4849 = call ptr @s2n_strerror_debug(i32 noundef %4848, ptr noundef @.str.80)
  %4850 = call ptr @__errno_location() #12
  %4851 = load i32, ptr %4850, align 4, !tbaa !5
  %4852 = call ptr @strerror(i32 noundef %4851) #11
  %4853 = call ptr @__errno_location() #12
  %4854 = load i32, ptr %4853, align 4, !tbaa !5
  %4855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4842, ptr noundef @.str.78, i32 noundef %4843, ptr noundef @.str.127, ptr noundef @.str.77, i32 noundef 140, ptr noundef %4846, ptr noundef %4849, ptr noundef %4852, i32 noundef %4854) #11
  br label %4873

4856:                                             ; preds = %4834, %4827
  %4857 = load i32, ptr %97, align 4, !tbaa !5
  %4858 = call ptr @__errno_location() #12
  store i32 %4857, ptr %4858, align 4, !tbaa !5
  %4859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4860 = load i32, ptr @test_count, align 4, !tbaa !5
  %4861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4862 = load i32, ptr %4861, align 4, !tbaa !5
  %4863 = call ptr @s2n_strerror(i32 noundef %4862, ptr noundef @.str.80)
  %4864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4865 = load i32, ptr %4864, align 4, !tbaa !5
  %4866 = call ptr @s2n_strerror_debug(i32 noundef %4865, ptr noundef @.str.80)
  %4867 = call ptr @__errno_location() #12
  %4868 = load i32, ptr %4867, align 4, !tbaa !5
  %4869 = call ptr @strerror(i32 noundef %4868) #11
  %4870 = call ptr @__errno_location() #12
  %4871 = load i32, ptr %4870, align 4, !tbaa !5
  %4872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4859, ptr noundef @.str.81, i32 noundef %4860, ptr noundef @.str.127, ptr noundef @.str.77, i32 noundef 140, ptr noundef %4863, ptr noundef %4866, ptr noundef %4869, i32 noundef %4871) #11
  br label %4873

4873:                                             ; preds = %4856, %4839
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %4874

4874:                                             ; preds = %4873
  br label %4875

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

4876:                                             ; No predecessors!
  br label %4877

4877:                                             ; preds = %4876
  br label %4878

4878:                                             ; preds = %4877, %4818
  br label %4879

4879:                                             ; preds = %4878
  br label %4880

4880:                                             ; preds = %4879
  br label %4881

4881:                                             ; preds = %4880
  %4882 = load i32, ptr @test_count, align 4, !tbaa !5
  %4883 = add nsw i32 %4882, 1
  store i32 %4883, ptr @test_count, align 4, !tbaa !5
  %4884 = load ptr, ptr %96, align 8, !tbaa !9
  %4885 = getelementptr inbounds [6 x i8], ptr %84, i64 0, i64 0
  %4886 = call i32 @s2n_psk_set_secret(ptr noundef %4884, ptr noundef %4885, i16 noundef zeroext 6)
  %4887 = icmp eq i32 %4886, -1
  br i1 %4887, label %4888, label %4941

4888:                                             ; preds = %4881
  br label %4889

4889:                                             ; preds = %4888
  br label %4890

4890:                                             ; preds = %4889
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #11
  %4891 = call ptr @__errno_location() #12
  %4892 = load i32, ptr %4891, align 4, !tbaa !5
  store i32 %4892, ptr %98, align 4, !tbaa !5
  %4893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4894 = call i32 @s2n_print_stacktrace(ptr noundef %4893)
  %4895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4896 = trunc i8 %4895 to i1
  br i1 %4896, label %4897, label %4919

4897:                                             ; preds = %4890
  %4898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4899 = call i32 @fileno(ptr noundef %4898) #11
  %4900 = call i32 @isatty(i32 noundef %4899) #11
  %4901 = icmp ne i32 %4900, 0
  br i1 %4901, label %4902, label %4919

4902:                                             ; preds = %4897
  %4903 = load i32, ptr %98, align 4, !tbaa !5
  %4904 = call ptr @__errno_location() #12
  store i32 %4903, ptr %4904, align 4, !tbaa !5
  %4905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4906 = load i32, ptr @test_count, align 4, !tbaa !5
  %4907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4908 = load i32, ptr %4907, align 4, !tbaa !5
  %4909 = call ptr @s2n_strerror(i32 noundef %4908, ptr noundef @.str.80)
  %4910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4911 = load i32, ptr %4910, align 4, !tbaa !5
  %4912 = call ptr @s2n_strerror_debug(i32 noundef %4911, ptr noundef @.str.80)
  %4913 = call ptr @__errno_location() #12
  %4914 = load i32, ptr %4913, align 4, !tbaa !5
  %4915 = call ptr @strerror(i32 noundef %4914) #11
  %4916 = call ptr @__errno_location() #12
  %4917 = load i32, ptr %4916, align 4, !tbaa !5
  %4918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4905, ptr noundef @.str.78, i32 noundef %4906, ptr noundef @.str.128, ptr noundef @.str.77, i32 noundef 141, ptr noundef %4909, ptr noundef %4912, ptr noundef %4915, i32 noundef %4917) #11
  br label %4936

4919:                                             ; preds = %4897, %4890
  %4920 = load i32, ptr %98, align 4, !tbaa !5
  %4921 = call ptr @__errno_location() #12
  store i32 %4920, ptr %4921, align 4, !tbaa !5
  %4922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4923 = load i32, ptr @test_count, align 4, !tbaa !5
  %4924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4925 = load i32, ptr %4924, align 4, !tbaa !5
  %4926 = call ptr @s2n_strerror(i32 noundef %4925, ptr noundef @.str.80)
  %4927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4928 = load i32, ptr %4927, align 4, !tbaa !5
  %4929 = call ptr @s2n_strerror_debug(i32 noundef %4928, ptr noundef @.str.80)
  %4930 = call ptr @__errno_location() #12
  %4931 = load i32, ptr %4930, align 4, !tbaa !5
  %4932 = call ptr @strerror(i32 noundef %4931) #11
  %4933 = call ptr @__errno_location() #12
  %4934 = load i32, ptr %4933, align 4, !tbaa !5
  %4935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4922, ptr noundef @.str.81, i32 noundef %4923, ptr noundef @.str.128, ptr noundef @.str.77, i32 noundef 141, ptr noundef %4926, ptr noundef %4929, ptr noundef %4932, i32 noundef %4934) #11
  br label %4936

4936:                                             ; preds = %4919, %4902
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %4937

4937:                                             ; preds = %4936
  br label %4938

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

4939:                                             ; No predecessors!
  br label %4940

4940:                                             ; preds = %4939
  br label %4941

4941:                                             ; preds = %4940, %4881
  br label %4942

4942:                                             ; preds = %4941
  br label %4943

4943:                                             ; preds = %4942
  br label %4944

4944:                                             ; preds = %4943
  %4945 = load i32, ptr @test_count, align 4, !tbaa !5
  %4946 = add nsw i32 %4945, 1
  store i32 %4946, ptr @test_count, align 4, !tbaa !5
  %4947 = load ptr, ptr %96, align 8, !tbaa !9
  %4948 = icmp eq ptr %4947, null
  br i1 %4948, label %4949, label %5002

4949:                                             ; preds = %4944
  br label %4950

4950:                                             ; preds = %4949
  br label %4951

4951:                                             ; preds = %4950
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #11
  %4952 = call ptr @__errno_location() #12
  %4953 = load i32, ptr %4952, align 4, !tbaa !5
  store i32 %4953, ptr %99, align 4, !tbaa !5
  %4954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4955 = call i32 @s2n_print_stacktrace(ptr noundef %4954)
  %4956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4957 = trunc i8 %4956 to i1
  br i1 %4957, label %4958, label %4980

4958:                                             ; preds = %4951
  %4959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4960 = call i32 @fileno(ptr noundef %4959) #11
  %4961 = call i32 @isatty(i32 noundef %4960) #11
  %4962 = icmp ne i32 %4961, 0
  br i1 %4962, label %4963, label %4980

4963:                                             ; preds = %4958
  %4964 = load i32, ptr %99, align 4, !tbaa !5
  %4965 = call ptr @__errno_location() #12
  store i32 %4964, ptr %4965, align 4, !tbaa !5
  %4966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4967 = load i32, ptr @test_count, align 4, !tbaa !5
  %4968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4969 = load i32, ptr %4968, align 4, !tbaa !5
  %4970 = call ptr @s2n_strerror(i32 noundef %4969, ptr noundef @.str.80)
  %4971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4972 = load i32, ptr %4971, align 4, !tbaa !5
  %4973 = call ptr @s2n_strerror_debug(i32 noundef %4972, ptr noundef @.str.80)
  %4974 = call ptr @__errno_location() #12
  %4975 = load i32, ptr %4974, align 4, !tbaa !5
  %4976 = call ptr @strerror(i32 noundef %4975) #11
  %4977 = call ptr @__errno_location() #12
  %4978 = load i32, ptr %4977, align 4, !tbaa !5
  %4979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4966, ptr noundef @.str.78, i32 noundef %4967, ptr noundef @.str.129, ptr noundef @.str.77, i32 noundef 142, ptr noundef %4970, ptr noundef %4973, ptr noundef %4976, i32 noundef %4978) #11
  br label %4997

4980:                                             ; preds = %4958, %4951
  %4981 = load i32, ptr %99, align 4, !tbaa !5
  %4982 = call ptr @__errno_location() #12
  store i32 %4981, ptr %4982, align 4, !tbaa !5
  %4983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4984 = load i32, ptr @test_count, align 4, !tbaa !5
  %4985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4986 = load i32, ptr %4985, align 4, !tbaa !5
  %4987 = call ptr @s2n_strerror(i32 noundef %4986, ptr noundef @.str.80)
  %4988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4989 = load i32, ptr %4988, align 4, !tbaa !5
  %4990 = call ptr @s2n_strerror_debug(i32 noundef %4989, ptr noundef @.str.80)
  %4991 = call ptr @__errno_location() #12
  %4992 = load i32, ptr %4991, align 4, !tbaa !5
  %4993 = call ptr @strerror(i32 noundef %4992) #11
  %4994 = call ptr @__errno_location() #12
  %4995 = load i32, ptr %4994, align 4, !tbaa !5
  %4996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4983, ptr noundef @.str.81, i32 noundef %4984, ptr noundef @.str.129, ptr noundef @.str.77, i32 noundef 142, ptr noundef %4987, ptr noundef %4990, ptr noundef %4993, i32 noundef %4995) #11
  br label %4997

4997:                                             ; preds = %4980, %4963
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %4998

4998:                                             ; preds = %4997
  br label %4999

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

5000:                                             ; No predecessors!
  br label %5001

5001:                                             ; preds = %5000
  br label %5002

5002:                                             ; preds = %5001, %4944
  br label %5003

5003:                                             ; preds = %5002
  br label %5004

5004:                                             ; preds = %5003
  br label %5005

5005:                                             ; preds = %5004
  %5006 = load i32, ptr @test_count, align 4, !tbaa !5
  %5007 = add nsw i32 %5006, 1
  store i32 %5007, ptr @test_count, align 4, !tbaa !5
  %5008 = load ptr, ptr %89, align 8, !tbaa !9
  %5009 = getelementptr inbounds %struct.s2n_psk, ptr %5008, i32 0, i32 1
  %5010 = getelementptr inbounds %struct.s2n_blob, ptr %5009, i32 0, i32 0
  %5011 = load ptr, ptr %5010, align 8, !tbaa !25
  %5012 = load ptr, ptr %96, align 8, !tbaa !9
  %5013 = getelementptr inbounds %struct.s2n_psk, ptr %5012, i32 0, i32 1
  %5014 = getelementptr inbounds %struct.s2n_blob, ptr %5013, i32 0, i32 0
  %5015 = load ptr, ptr %5014, align 8, !tbaa !25
  %5016 = icmp eq ptr %5011, %5015
  br i1 %5016, label %5017, label %5070

5017:                                             ; preds = %5005
  br label %5018

5018:                                             ; preds = %5017
  br label %5019

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

5026:                                             ; preds = %5019
  %5027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5028 = call i32 @fileno(ptr noundef %5027) #11
  %5029 = call i32 @isatty(i32 noundef %5028) #11
  %5030 = icmp ne i32 %5029, 0
  br i1 %5030, label %5031, label %5048

5031:                                             ; preds = %5026
  %5032 = load i32, ptr %100, align 4, !tbaa !5
  %5033 = call ptr @__errno_location() #12
  store i32 %5032, ptr %5033, align 4, !tbaa !5
  %5034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5035 = load i32, ptr @test_count, align 4, !tbaa !5
  %5036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5037 = load i32, ptr %5036, align 4, !tbaa !5
  %5038 = call ptr @s2n_strerror(i32 noundef %5037, ptr noundef @.str.80)
  %5039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5040 = load i32, ptr %5039, align 4, !tbaa !5
  %5041 = call ptr @s2n_strerror_debug(i32 noundef %5040, ptr noundef @.str.80)
  %5042 = call ptr @__errno_location() #12
  %5043 = load i32, ptr %5042, align 4, !tbaa !5
  %5044 = call ptr @strerror(i32 noundef %5043) #11
  %5045 = call ptr @__errno_location() #12
  %5046 = load i32, ptr %5045, align 4, !tbaa !5
  %5047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5034, ptr noundef @.str.78, i32 noundef %5035, ptr noundef @.str.130, ptr noundef @.str.77, i32 noundef 145, ptr noundef %5038, ptr noundef %5041, ptr noundef %5044, i32 noundef %5046) #11
  br label %5065

5048:                                             ; preds = %5026, %5019
  %5049 = load i32, ptr %100, align 4, !tbaa !5
  %5050 = call ptr @__errno_location() #12
  store i32 %5049, ptr %5050, align 4, !tbaa !5
  %5051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5052 = load i32, ptr @test_count, align 4, !tbaa !5
  %5053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5054 = load i32, ptr %5053, align 4, !tbaa !5
  %5055 = call ptr @s2n_strerror(i32 noundef %5054, ptr noundef @.str.80)
  %5056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5057 = load i32, ptr %5056, align 4, !tbaa !5
  %5058 = call ptr @s2n_strerror_debug(i32 noundef %5057, ptr noundef @.str.80)
  %5059 = call ptr @__errno_location() #12
  %5060 = load i32, ptr %5059, align 4, !tbaa !5
  %5061 = call ptr @strerror(i32 noundef %5060) #11
  %5062 = call ptr @__errno_location() #12
  %5063 = load i32, ptr %5062, align 4, !tbaa !5
  %5064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5051, ptr noundef @.str.81, i32 noundef %5052, ptr noundef @.str.130, ptr noundef @.str.77, i32 noundef 145, ptr noundef %5055, ptr noundef %5058, ptr noundef %5061, i32 noundef %5063) #11
  br label %5065

5065:                                             ; preds = %5048, %5031
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #11
  br label %5066

5066:                                             ; preds = %5065
  br label %5067

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

5068:                                             ; No predecessors!
  br label %5069

5069:                                             ; preds = %5068
  br label %5070

5070:                                             ; preds = %5069, %5005
  br label %5071

5071:                                             ; preds = %5070
  br label %5072

5072:                                             ; preds = %5071
  br label %5073

5073:                                             ; preds = %5072
  %5074 = load i32, ptr @test_count, align 4, !tbaa !5
  %5075 = add nsw i32 %5074, 1
  store i32 %5075, ptr @test_count, align 4, !tbaa !5
  %5076 = load ptr, ptr %89, align 8, !tbaa !9
  %5077 = getelementptr inbounds %struct.s2n_psk, ptr %5076, i32 0, i32 2
  %5078 = getelementptr inbounds %struct.s2n_blob, ptr %5077, i32 0, i32 0
  %5079 = load ptr, ptr %5078, align 8, !tbaa !28
  %5080 = load ptr, ptr %96, align 8, !tbaa !9
  %5081 = getelementptr inbounds %struct.s2n_psk, ptr %5080, i32 0, i32 2
  %5082 = getelementptr inbounds %struct.s2n_blob, ptr %5081, i32 0, i32 0
  %5083 = load ptr, ptr %5082, align 8, !tbaa !28
  %5084 = icmp eq ptr %5079, %5083
  br i1 %5084, label %5085, label %5138

5085:                                             ; preds = %5073
  br label %5086

5086:                                             ; preds = %5085
  br label %5087

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

5094:                                             ; preds = %5087
  %5095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5096 = call i32 @fileno(ptr noundef %5095) #11
  %5097 = call i32 @isatty(i32 noundef %5096) #11
  %5098 = icmp ne i32 %5097, 0
  br i1 %5098, label %5099, label %5116

5099:                                             ; preds = %5094
  %5100 = load i32, ptr %101, align 4, !tbaa !5
  %5101 = call ptr @__errno_location() #12
  store i32 %5100, ptr %5101, align 4, !tbaa !5
  %5102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5103 = load i32, ptr @test_count, align 4, !tbaa !5
  %5104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5105 = load i32, ptr %5104, align 4, !tbaa !5
  %5106 = call ptr @s2n_strerror(i32 noundef %5105, ptr noundef @.str.80)
  %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_debug(i32 noundef %5108, ptr noundef @.str.80)
  %5110 = call ptr @__errno_location() #12
  %5111 = load i32, ptr %5110, align 4, !tbaa !5
  %5112 = call ptr @strerror(i32 noundef %5111) #11
  %5113 = call ptr @__errno_location() #12
  %5114 = load i32, ptr %5113, align 4, !tbaa !5
  %5115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5102, ptr noundef @.str.78, i32 noundef %5103, ptr noundef @.str.131, ptr noundef @.str.77, i32 noundef 146, ptr noundef %5106, ptr noundef %5109, ptr noundef %5112, i32 noundef %5114) #11
  br label %5133

5116:                                             ; preds = %5094, %5087
  %5117 = load i32, ptr %101, align 4, !tbaa !5
  %5118 = call ptr @__errno_location() #12
  store i32 %5117, ptr %5118, align 4, !tbaa !5
  %5119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5120 = load i32, ptr @test_count, align 4, !tbaa !5
  %5121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5122 = load i32, ptr %5121, align 4, !tbaa !5
  %5123 = call ptr @s2n_strerror(i32 noundef %5122, ptr noundef @.str.80)
  %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_debug(i32 noundef %5125, ptr noundef @.str.80)
  %5127 = call ptr @__errno_location() #12
  %5128 = load i32, ptr %5127, align 4, !tbaa !5
  %5129 = call ptr @strerror(i32 noundef %5128) #11
  %5130 = call ptr @__errno_location() #12
  %5131 = load i32, ptr %5130, align 4, !tbaa !5
  %5132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5119, ptr noundef @.str.81, i32 noundef %5120, ptr noundef @.str.131, ptr noundef @.str.77, i32 noundef 146, ptr noundef %5123, ptr noundef %5126, ptr noundef %5129, i32 noundef %5131) #11
  br label %5133

5133:                                             ; preds = %5116, %5099
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %5134

5134:                                             ; preds = %5133
  br label %5135

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

5136:                                             ; No predecessors!
  br label %5137

5137:                                             ; preds = %5136
  br label %5138

5138:                                             ; preds = %5137, %5073
  br label %5139

5139:                                             ; preds = %5138
  br label %5140

5140:                                             ; preds = %5139
  br label %5141

5141:                                             ; preds = %5140
  %5142 = load i32, ptr @test_count, align 4, !tbaa !5
  %5143 = add nsw i32 %5142, 1
  store i32 %5143, ptr @test_count, align 4, !tbaa !5
  %5144 = load ptr, ptr %89, align 8, !tbaa !9
  %5145 = getelementptr inbounds %struct.s2n_psk, ptr %5144, i32 0, i32 6
  %5146 = getelementptr inbounds %struct.s2n_blob, ptr %5145, i32 0, i32 0
  %5147 = load ptr, ptr %5146, align 8, !tbaa !30
  %5148 = load ptr, ptr %96, align 8, !tbaa !9
  %5149 = getelementptr inbounds %struct.s2n_psk, ptr %5148, i32 0, i32 6
  %5150 = getelementptr inbounds %struct.s2n_blob, ptr %5149, i32 0, i32 0
  %5151 = load ptr, ptr %5150, align 8, !tbaa !30
  %5152 = icmp eq ptr %5147, %5151
  br i1 %5152, label %5153, label %5206

5153:                                             ; preds = %5141
  br label %5154

5154:                                             ; preds = %5153
  br label %5155

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

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

5167:                                             ; preds = %5162
  %5168 = load i32, ptr %102, align 4, !tbaa !5
  %5169 = call ptr @__errno_location() #12
  store i32 %5168, ptr %5169, align 4, !tbaa !5
  %5170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5171 = load i32, ptr @test_count, align 4, !tbaa !5
  %5172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5173 = load i32, ptr %5172, align 4, !tbaa !5
  %5174 = call ptr @s2n_strerror(i32 noundef %5173, ptr noundef @.str.80)
  %5175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5176 = load i32, ptr %5175, align 4, !tbaa !5
  %5177 = call ptr @s2n_strerror_debug(i32 noundef %5176, ptr noundef @.str.80)
  %5178 = call ptr @__errno_location() #12
  %5179 = load i32, ptr %5178, align 4, !tbaa !5
  %5180 = call ptr @strerror(i32 noundef %5179) #11
  %5181 = call ptr @__errno_location() #12
  %5182 = load i32, ptr %5181, align 4, !tbaa !5
  %5183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5170, ptr noundef @.str.78, i32 noundef %5171, ptr noundef @.str.132, ptr noundef @.str.77, i32 noundef 147, ptr noundef %5174, ptr noundef %5177, ptr noundef %5180, i32 noundef %5182) #11
  br label %5201

5184:                                             ; preds = %5162, %5155
  %5185 = load i32, ptr %102, align 4, !tbaa !5
  %5186 = call ptr @__errno_location() #12
  store i32 %5185, ptr %5186, align 4, !tbaa !5
  %5187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5188 = load i32, ptr @test_count, align 4, !tbaa !5
  %5189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5190 = load i32, ptr %5189, align 4, !tbaa !5
  %5191 = call ptr @s2n_strerror(i32 noundef %5190, ptr noundef @.str.80)
  %5192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5193 = load i32, ptr %5192, align 4, !tbaa !5
  %5194 = call ptr @s2n_strerror_debug(i32 noundef %5193, ptr noundef @.str.80)
  %5195 = call ptr @__errno_location() #12
  %5196 = load i32, ptr %5195, align 4, !tbaa !5
  %5197 = call ptr @strerror(i32 noundef %5196) #11
  %5198 = call ptr @__errno_location() #12
  %5199 = load i32, ptr %5198, align 4, !tbaa !5
  %5200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5187, ptr noundef @.str.81, i32 noundef %5188, ptr noundef @.str.132, ptr noundef @.str.77, i32 noundef 147, ptr noundef %5191, ptr noundef %5194, ptr noundef %5197, i32 noundef %5199) #11
  br label %5201

5201:                                             ; preds = %5184, %5167
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %5202

5202:                                             ; preds = %5201
  br label %5203

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

5204:                                             ; No predecessors!
  br label %5205

5205:                                             ; preds = %5204
  br label %5206

5206:                                             ; preds = %5205, %5141
  br label %5207

5207:                                             ; preds = %5206
  br label %5208

5208:                                             ; preds = %5207
  br label %5209

5209:                                             ; preds = %5208
  %5210 = load i32, ptr @test_count, align 4, !tbaa !5
  %5211 = add nsw i32 %5210, 1
  store i32 %5211, ptr @test_count, align 4, !tbaa !5
  %5212 = load ptr, ptr %96, align 8, !tbaa !9
  %5213 = load ptr, ptr %89, align 8, !tbaa !9
  %5214 = call i32 @s2n_psk_clone(ptr noundef %5212, ptr noundef %5213)
  %5215 = getelementptr inbounds %struct.s2n_result, ptr %103, i32 0, i32 0
  store i32 %5214, ptr %5215, align 4
  %5216 = getelementptr inbounds %struct.s2n_result, ptr %103, i32 0, i32 0
  %5217 = load i32, ptr %5216, align 4
  %5218 = call zeroext i1 @s2n_result_is_ok(i32 %5217)
  br i1 %5218, label %5272, label %5219

5219:                                             ; preds = %5209
  br label %5220

5220:                                             ; preds = %5219
  br label %5221

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

5228:                                             ; preds = %5221
  %5229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5230 = call i32 @fileno(ptr noundef %5229) #11
  %5231 = call i32 @isatty(i32 noundef %5230) #11
  %5232 = icmp ne i32 %5231, 0
  br i1 %5232, label %5233, label %5250

5233:                                             ; preds = %5228
  %5234 = load i32, ptr %104, align 4, !tbaa !5
  %5235 = call ptr @__errno_location() #12
  store i32 %5234, ptr %5235, align 4, !tbaa !5
  %5236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5237 = load i32, ptr @test_count, align 4, !tbaa !5
  %5238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5239 = load i32, ptr %5238, align 4, !tbaa !5
  %5240 = call ptr @s2n_strerror(i32 noundef %5239, ptr noundef @.str.80)
  %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_debug(i32 noundef %5242, ptr noundef @.str.80)
  %5244 = call ptr @__errno_location() #12
  %5245 = load i32, ptr %5244, align 4, !tbaa !5
  %5246 = call ptr @strerror(i32 noundef %5245) #11
  %5247 = call ptr @__errno_location() #12
  %5248 = load i32, ptr %5247, align 4, !tbaa !5
  %5249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5236, ptr noundef @.str.78, i32 noundef %5237, ptr noundef @.str.133, ptr noundef @.str.77, i32 noundef 149, ptr noundef %5240, ptr noundef %5243, ptr noundef %5246, i32 noundef %5248) #11
  br label %5267

5250:                                             ; preds = %5228, %5221
  %5251 = load i32, ptr %104, align 4, !tbaa !5
  %5252 = call ptr @__errno_location() #12
  store i32 %5251, ptr %5252, align 4, !tbaa !5
  %5253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5254 = load i32, ptr @test_count, align 4, !tbaa !5
  %5255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5256 = load i32, ptr %5255, align 4, !tbaa !5
  %5257 = call ptr @s2n_strerror(i32 noundef %5256, ptr noundef @.str.80)
  %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_debug(i32 noundef %5259, ptr noundef @.str.80)
  %5261 = call ptr @__errno_location() #12
  %5262 = load i32, ptr %5261, align 4, !tbaa !5
  %5263 = call ptr @strerror(i32 noundef %5262) #11
  %5264 = call ptr @__errno_location() #12
  %5265 = load i32, ptr %5264, align 4, !tbaa !5
  %5266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5253, ptr noundef @.str.81, i32 noundef %5254, ptr noundef @.str.133, ptr noundef @.str.77, i32 noundef 149, ptr noundef %5257, ptr noundef %5260, ptr noundef %5263, i32 noundef %5265) #11
  br label %5267

5267:                                             ; preds = %5250, %5233
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %5268

5268:                                             ; preds = %5267
  br label %5269

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

5270:                                             ; No predecessors!
  br label %5271

5271:                                             ; preds = %5270
  br label %5272

5272:                                             ; preds = %5271, %5209
  br label %5273

5273:                                             ; preds = %5272
  br label %5274

5274:                                             ; preds = %5273
  br label %5275

5275:                                             ; preds = %5274
  %5276 = load i32, ptr @test_count, align 4, !tbaa !5
  %5277 = add nsw i32 %5276, 1
  store i32 %5277, ptr @test_count, align 4, !tbaa !5
  %5278 = call i32 @s2n_psk_free(ptr noundef %89)
  %5279 = icmp eq i32 %5278, -1
  br i1 %5279, label %5280, label %5333

5280:                                             ; preds = %5275
  br label %5281

5281:                                             ; preds = %5280
  br label %5282

5282:                                             ; preds = %5281
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #11
  %5283 = call ptr @__errno_location() #12
  %5284 = load i32, ptr %5283, align 4, !tbaa !5
  store i32 %5284, ptr %105, align 4, !tbaa !5
  %5285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5286 = call i32 @s2n_print_stacktrace(ptr noundef %5285)
  %5287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5288 = trunc i8 %5287 to i1
  br i1 %5288, label %5289, label %5311

5289:                                             ; preds = %5282
  %5290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5291 = call i32 @fileno(ptr noundef %5290) #11
  %5292 = call i32 @isatty(i32 noundef %5291) #11
  %5293 = icmp ne i32 %5292, 0
  br i1 %5293, label %5294, label %5311

5294:                                             ; preds = %5289
  %5295 = load i32, ptr %105, align 4, !tbaa !5
  %5296 = call ptr @__errno_location() #12
  store i32 %5295, ptr %5296, align 4, !tbaa !5
  %5297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5298 = load i32, ptr @test_count, align 4, !tbaa !5
  %5299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5300 = load i32, ptr %5299, align 4, !tbaa !5
  %5301 = call ptr @s2n_strerror(i32 noundef %5300, ptr noundef @.str.80)
  %5302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5303 = load i32, ptr %5302, align 4, !tbaa !5
  %5304 = call ptr @s2n_strerror_debug(i32 noundef %5303, ptr noundef @.str.80)
  %5305 = call ptr @__errno_location() #12
  %5306 = load i32, ptr %5305, align 4, !tbaa !5
  %5307 = call ptr @strerror(i32 noundef %5306) #11
  %5308 = call ptr @__errno_location() #12
  %5309 = load i32, ptr %5308, align 4, !tbaa !5
  %5310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5297, ptr noundef @.str.78, i32 noundef %5298, ptr noundef @.str.134, ptr noundef @.str.77, i32 noundef 152, ptr noundef %5301, ptr noundef %5304, ptr noundef %5307, i32 noundef %5309) #11
  br label %5328

5311:                                             ; preds = %5289, %5282
  %5312 = load i32, ptr %105, align 4, !tbaa !5
  %5313 = call ptr @__errno_location() #12
  store i32 %5312, ptr %5313, align 4, !tbaa !5
  %5314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5315 = load i32, ptr @test_count, align 4, !tbaa !5
  %5316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5317 = load i32, ptr %5316, align 4, !tbaa !5
  %5318 = call ptr @s2n_strerror(i32 noundef %5317, ptr noundef @.str.80)
  %5319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5320 = load i32, ptr %5319, align 4, !tbaa !5
  %5321 = call ptr @s2n_strerror_debug(i32 noundef %5320, ptr noundef @.str.80)
  %5322 = call ptr @__errno_location() #12
  %5323 = load i32, ptr %5322, align 4, !tbaa !5
  %5324 = call ptr @strerror(i32 noundef %5323) #11
  %5325 = call ptr @__errno_location() #12
  %5326 = load i32, ptr %5325, align 4, !tbaa !5
  %5327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5314, ptr noundef @.str.81, i32 noundef %5315, ptr noundef @.str.134, ptr noundef @.str.77, i32 noundef 152, ptr noundef %5318, ptr noundef %5321, ptr noundef %5324, i32 noundef %5326) #11
  br label %5328

5328:                                             ; preds = %5311, %5294
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  br label %5329

5329:                                             ; preds = %5328
  br label %5330

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

5331:                                             ; No predecessors!
  br label %5332

5332:                                             ; preds = %5331
  br label %5333

5333:                                             ; preds = %5332, %5275
  br label %5334

5334:                                             ; preds = %5333
  br label %5335

5335:                                             ; preds = %5334
  br label %5336

5336:                                             ; preds = %5335
  %5337 = load i32, ptr @test_count, align 4, !tbaa !5
  %5338 = add nsw i32 %5337, 1
  store i32 %5338, ptr @test_count, align 4, !tbaa !5
  %5339 = load ptr, ptr %96, align 8, !tbaa !9
  %5340 = getelementptr inbounds %struct.s2n_psk, ptr %5339, i32 0, i32 1
  %5341 = getelementptr inbounds %struct.s2n_blob, ptr %5340, i32 0, i32 1
  %5342 = load i32, ptr %5341, align 8, !tbaa !24
  %5343 = zext i32 %5342 to i64
  %5344 = icmp eq i64 %5343, 9
  br i1 %5344, label %5398, label %5345

5345:                                             ; preds = %5336
  br label %5346

5346:                                             ; preds = %5345
  br label %5347

5347:                                             ; preds = %5346
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #11
  %5348 = call ptr @__errno_location() #12
  %5349 = load i32, ptr %5348, align 4, !tbaa !5
  store i32 %5349, ptr %106, align 4, !tbaa !5
  %5350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5351 = call i32 @s2n_print_stacktrace(ptr noundef %5350)
  %5352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5353 = trunc i8 %5352 to i1
  br i1 %5353, label %5354, label %5376

5354:                                             ; preds = %5347
  %5355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5356 = call i32 @fileno(ptr noundef %5355) #11
  %5357 = call i32 @isatty(i32 noundef %5356) #11
  %5358 = icmp ne i32 %5357, 0
  br i1 %5358, label %5359, label %5376

5359:                                             ; preds = %5354
  %5360 = load i32, ptr %106, align 4, !tbaa !5
  %5361 = call ptr @__errno_location() #12
  store i32 %5360, ptr %5361, align 4, !tbaa !5
  %5362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5363 = load i32, ptr @test_count, align 4, !tbaa !5
  %5364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5365 = load i32, ptr %5364, align 4, !tbaa !5
  %5366 = call ptr @s2n_strerror(i32 noundef %5365, ptr noundef @.str.80)
  %5367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5368 = load i32, ptr %5367, align 4, !tbaa !5
  %5369 = call ptr @s2n_strerror_debug(i32 noundef %5368, ptr noundef @.str.80)
  %5370 = call ptr @__errno_location() #12
  %5371 = load i32, ptr %5370, align 4, !tbaa !5
  %5372 = call ptr @strerror(i32 noundef %5371) #11
  %5373 = call ptr @__errno_location() #12
  %5374 = load i32, ptr %5373, align 4, !tbaa !5
  %5375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5362, ptr noundef @.str.78, i32 noundef %5363, ptr noundef @.str.135, ptr noundef @.str.77, i32 noundef 155, ptr noundef %5366, ptr noundef %5369, ptr noundef %5372, i32 noundef %5374) #11
  br label %5393

5376:                                             ; preds = %5354, %5347
  %5377 = load i32, ptr %106, align 4, !tbaa !5
  %5378 = call ptr @__errno_location() #12
  store i32 %5377, ptr %5378, align 4, !tbaa !5
  %5379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5380 = load i32, ptr @test_count, align 4, !tbaa !5
  %5381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5382 = load i32, ptr %5381, align 4, !tbaa !5
  %5383 = call ptr @s2n_strerror(i32 noundef %5382, ptr noundef @.str.80)
  %5384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5385 = load i32, ptr %5384, align 4, !tbaa !5
  %5386 = call ptr @s2n_strerror_debug(i32 noundef %5385, ptr noundef @.str.80)
  %5387 = call ptr @__errno_location() #12
  %5388 = load i32, ptr %5387, align 4, !tbaa !5
  %5389 = call ptr @strerror(i32 noundef %5388) #11
  %5390 = call ptr @__errno_location() #12
  %5391 = load i32, ptr %5390, align 4, !tbaa !5
  %5392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5379, ptr noundef @.str.81, i32 noundef %5380, ptr noundef @.str.135, ptr noundef @.str.77, i32 noundef 155, ptr noundef %5383, ptr noundef %5386, ptr noundef %5389, i32 noundef %5391) #11
  br label %5393

5393:                                             ; preds = %5376, %5359
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %5394

5394:                                             ; preds = %5393
  br label %5395

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

5396:                                             ; No predecessors!
  br label %5397

5397:                                             ; preds = %5396
  br label %5398

5398:                                             ; preds = %5397, %5336
  br label %5399

5399:                                             ; preds = %5398
  br label %5400

5400:                                             ; preds = %5399
  br label %5401

5401:                                             ; preds = %5400
  br label %5402

5402:                                             ; preds = %5401
  %5403 = load i32, ptr @test_count, align 4, !tbaa !5
  %5404 = add nsw i32 %5403, 1
  store i32 %5404, ptr @test_count, align 4, !tbaa !5
  %5405 = load ptr, ptr %96, align 8, !tbaa !9
  %5406 = getelementptr inbounds %struct.s2n_psk, ptr %5405, i32 0, i32 1
  %5407 = getelementptr inbounds %struct.s2n_blob, ptr %5406, i32 0, i32 0
  %5408 = load ptr, ptr %5407, align 8, !tbaa !25
  %5409 = getelementptr inbounds [9 x i8], ptr %85, i64 0, i64 0
  %5410 = call i32 @memcmp(ptr noundef %5408, ptr noundef %5409, i64 noundef 9) #14
  %5411 = icmp eq i32 %5410, 0
  br i1 %5411, label %5465, label %5412

5412:                                             ; preds = %5402
  br label %5413

5413:                                             ; preds = %5412
  br label %5414

5414:                                             ; preds = %5413
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #11
  %5415 = call ptr @__errno_location() #12
  %5416 = load i32, ptr %5415, align 4, !tbaa !5
  store i32 %5416, ptr %107, align 4, !tbaa !5
  %5417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5418 = call i32 @s2n_print_stacktrace(ptr noundef %5417)
  %5419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5420 = trunc i8 %5419 to i1
  br i1 %5420, label %5421, label %5443

5421:                                             ; preds = %5414
  %5422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5423 = call i32 @fileno(ptr noundef %5422) #11
  %5424 = call i32 @isatty(i32 noundef %5423) #11
  %5425 = icmp ne i32 %5424, 0
  br i1 %5425, label %5426, label %5443

5426:                                             ; preds = %5421
  %5427 = load i32, ptr %107, align 4, !tbaa !5
  %5428 = call ptr @__errno_location() #12
  store i32 %5427, ptr %5428, align 4, !tbaa !5
  %5429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5430 = load i32, ptr @test_count, align 4, !tbaa !5
  %5431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5432 = load i32, ptr %5431, align 4, !tbaa !5
  %5433 = call ptr @s2n_strerror(i32 noundef %5432, ptr noundef @.str.80)
  %5434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5435 = load i32, ptr %5434, align 4, !tbaa !5
  %5436 = call ptr @s2n_strerror_debug(i32 noundef %5435, ptr noundef @.str.80)
  %5437 = call ptr @__errno_location() #12
  %5438 = load i32, ptr %5437, align 4, !tbaa !5
  %5439 = call ptr @strerror(i32 noundef %5438) #11
  %5440 = call ptr @__errno_location() #12
  %5441 = load i32, ptr %5440, align 4, !tbaa !5
  %5442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5429, ptr noundef @.str.78, i32 noundef %5430, ptr noundef @.str.136, ptr noundef @.str.77, i32 noundef 156, ptr noundef %5433, ptr noundef %5436, ptr noundef %5439, i32 noundef %5441) #11
  br label %5460

5443:                                             ; preds = %5421, %5414
  %5444 = load i32, ptr %107, align 4, !tbaa !5
  %5445 = call ptr @__errno_location() #12
  store i32 %5444, ptr %5445, align 4, !tbaa !5
  %5446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5447 = load i32, ptr @test_count, align 4, !tbaa !5
  %5448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5449 = load i32, ptr %5448, align 4, !tbaa !5
  %5450 = call ptr @s2n_strerror(i32 noundef %5449, ptr noundef @.str.80)
  %5451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5452 = load i32, ptr %5451, align 4, !tbaa !5
  %5453 = call ptr @s2n_strerror_debug(i32 noundef %5452, ptr noundef @.str.80)
  %5454 = call ptr @__errno_location() #12
  %5455 = load i32, ptr %5454, align 4, !tbaa !5
  %5456 = call ptr @strerror(i32 noundef %5455) #11
  %5457 = call ptr @__errno_location() #12
  %5458 = load i32, ptr %5457, align 4, !tbaa !5
  %5459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5446, ptr noundef @.str.81, i32 noundef %5447, ptr noundef @.str.136, ptr noundef @.str.77, i32 noundef 156, ptr noundef %5450, ptr noundef %5453, ptr noundef %5456, i32 noundef %5458) #11
  br label %5460

5460:                                             ; preds = %5443, %5426
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %5461

5461:                                             ; preds = %5460
  br label %5462

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

5463:                                             ; No predecessors!
  br label %5464

5464:                                             ; preds = %5463
  br label %5465

5465:                                             ; preds = %5464, %5402
  br label %5466

5466:                                             ; preds = %5465
  br label %5467

5467:                                             ; preds = %5466
  br label %5468

5468:                                             ; preds = %5467
  br label %5469

5469:                                             ; preds = %5468
  br label %5470

5470:                                             ; preds = %5469
  %5471 = load i32, ptr @test_count, align 4, !tbaa !5
  %5472 = add nsw i32 %5471, 1
  store i32 %5472, ptr @test_count, align 4, !tbaa !5
  %5473 = load ptr, ptr %96, align 8, !tbaa !9
  %5474 = getelementptr inbounds %struct.s2n_psk, ptr %5473, i32 0, i32 2
  %5475 = getelementptr inbounds %struct.s2n_blob, ptr %5474, i32 0, i32 1
  %5476 = load i32, ptr %5475, align 8, !tbaa !27
  %5477 = zext i32 %5476 to i64
  %5478 = icmp eq i64 %5477, 7
  br i1 %5478, label %5532, label %5479

5479:                                             ; preds = %5470
  br label %5480

5480:                                             ; preds = %5479
  br label %5481

5481:                                             ; preds = %5480
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #11
  %5482 = call ptr @__errno_location() #12
  %5483 = load i32, ptr %5482, align 4, !tbaa !5
  store i32 %5483, ptr %108, align 4, !tbaa !5
  %5484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5485 = call i32 @s2n_print_stacktrace(ptr noundef %5484)
  %5486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5487 = trunc i8 %5486 to i1
  br i1 %5487, label %5488, label %5510

5488:                                             ; preds = %5481
  %5489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5490 = call i32 @fileno(ptr noundef %5489) #11
  %5491 = call i32 @isatty(i32 noundef %5490) #11
  %5492 = icmp ne i32 %5491, 0
  br i1 %5492, label %5493, label %5510

5493:                                             ; preds = %5488
  %5494 = load i32, ptr %108, align 4, !tbaa !5
  %5495 = call ptr @__errno_location() #12
  store i32 %5494, ptr %5495, align 4, !tbaa !5
  %5496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5497 = load i32, ptr @test_count, align 4, !tbaa !5
  %5498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5499 = load i32, ptr %5498, align 4, !tbaa !5
  %5500 = call ptr @s2n_strerror(i32 noundef %5499, ptr noundef @.str.80)
  %5501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5502 = load i32, ptr %5501, align 4, !tbaa !5
  %5503 = call ptr @s2n_strerror_debug(i32 noundef %5502, ptr noundef @.str.80)
  %5504 = call ptr @__errno_location() #12
  %5505 = load i32, ptr %5504, align 4, !tbaa !5
  %5506 = call ptr @strerror(i32 noundef %5505) #11
  %5507 = call ptr @__errno_location() #12
  %5508 = load i32, ptr %5507, align 4, !tbaa !5
  %5509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5496, ptr noundef @.str.78, i32 noundef %5497, ptr noundef @.str.137, ptr noundef @.str.77, i32 noundef 159, ptr noundef %5500, ptr noundef %5503, ptr noundef %5506, i32 noundef %5508) #11
  br label %5527

5510:                                             ; preds = %5488, %5481
  %5511 = load i32, ptr %108, align 4, !tbaa !5
  %5512 = call ptr @__errno_location() #12
  store i32 %5511, ptr %5512, align 4, !tbaa !5
  %5513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5514 = load i32, ptr @test_count, align 4, !tbaa !5
  %5515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5516 = load i32, ptr %5515, align 4, !tbaa !5
  %5517 = call ptr @s2n_strerror(i32 noundef %5516, ptr noundef @.str.80)
  %5518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5519 = load i32, ptr %5518, align 4, !tbaa !5
  %5520 = call ptr @s2n_strerror_debug(i32 noundef %5519, ptr noundef @.str.80)
  %5521 = call ptr @__errno_location() #12
  %5522 = load i32, ptr %5521, align 4, !tbaa !5
  %5523 = call ptr @strerror(i32 noundef %5522) #11
  %5524 = call ptr @__errno_location() #12
  %5525 = load i32, ptr %5524, align 4, !tbaa !5
  %5526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5513, ptr noundef @.str.81, i32 noundef %5514, ptr noundef @.str.137, ptr noundef @.str.77, i32 noundef 159, ptr noundef %5517, ptr noundef %5520, ptr noundef %5523, i32 noundef %5525) #11
  br label %5527

5527:                                             ; preds = %5510, %5493
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %5528

5528:                                             ; preds = %5527
  br label %5529

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

5530:                                             ; No predecessors!
  br label %5531

5531:                                             ; preds = %5530
  br label %5532

5532:                                             ; preds = %5531, %5470
  br label %5533

5533:                                             ; preds = %5532
  br label %5534

5534:                                             ; preds = %5533
  br label %5535

5535:                                             ; preds = %5534
  br label %5536

5536:                                             ; preds = %5535
  %5537 = load i32, ptr @test_count, align 4, !tbaa !5
  %5538 = add nsw i32 %5537, 1
  store i32 %5538, ptr @test_count, align 4, !tbaa !5
  %5539 = load ptr, ptr %96, align 8, !tbaa !9
  %5540 = getelementptr inbounds %struct.s2n_psk, ptr %5539, i32 0, i32 2
  %5541 = getelementptr inbounds %struct.s2n_blob, ptr %5540, i32 0, i32 0
  %5542 = load ptr, ptr %5541, align 8, !tbaa !28
  %5543 = getelementptr inbounds [7 x i8], ptr %86, i64 0, i64 0
  %5544 = call i32 @memcmp(ptr noundef %5542, ptr noundef %5543, i64 noundef 7) #14
  %5545 = icmp eq i32 %5544, 0
  br i1 %5545, label %5599, label %5546

5546:                                             ; preds = %5536
  br label %5547

5547:                                             ; preds = %5546
  br label %5548

5548:                                             ; preds = %5547
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  %5549 = call ptr @__errno_location() #12
  %5550 = load i32, ptr %5549, align 4, !tbaa !5
  store i32 %5550, ptr %109, align 4, !tbaa !5
  %5551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5552 = call i32 @s2n_print_stacktrace(ptr noundef %5551)
  %5553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5554 = trunc i8 %5553 to i1
  br i1 %5554, label %5555, label %5577

5555:                                             ; preds = %5548
  %5556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5557 = call i32 @fileno(ptr noundef %5556) #11
  %5558 = call i32 @isatty(i32 noundef %5557) #11
  %5559 = icmp ne i32 %5558, 0
  br i1 %5559, label %5560, label %5577

5560:                                             ; preds = %5555
  %5561 = load i32, ptr %109, align 4, !tbaa !5
  %5562 = call ptr @__errno_location() #12
  store i32 %5561, ptr %5562, align 4, !tbaa !5
  %5563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5564 = load i32, ptr @test_count, align 4, !tbaa !5
  %5565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5566 = load i32, ptr %5565, align 4, !tbaa !5
  %5567 = call ptr @s2n_strerror(i32 noundef %5566, ptr noundef @.str.80)
  %5568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5569 = load i32, ptr %5568, align 4, !tbaa !5
  %5570 = call ptr @s2n_strerror_debug(i32 noundef %5569, ptr noundef @.str.80)
  %5571 = call ptr @__errno_location() #12
  %5572 = load i32, ptr %5571, align 4, !tbaa !5
  %5573 = call ptr @strerror(i32 noundef %5572) #11
  %5574 = call ptr @__errno_location() #12
  %5575 = load i32, ptr %5574, align 4, !tbaa !5
  %5576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5563, ptr noundef @.str.78, i32 noundef %5564, ptr noundef @.str.138, ptr noundef @.str.77, i32 noundef 160, ptr noundef %5567, ptr noundef %5570, ptr noundef %5573, i32 noundef %5575) #11
  br label %5594

5577:                                             ; preds = %5555, %5548
  %5578 = load i32, ptr %109, align 4, !tbaa !5
  %5579 = call ptr @__errno_location() #12
  store i32 %5578, ptr %5579, align 4, !tbaa !5
  %5580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5581 = load i32, ptr @test_count, align 4, !tbaa !5
  %5582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5583 = load i32, ptr %5582, align 4, !tbaa !5
  %5584 = call ptr @s2n_strerror(i32 noundef %5583, ptr noundef @.str.80)
  %5585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5586 = load i32, ptr %5585, align 4, !tbaa !5
  %5587 = call ptr @s2n_strerror_debug(i32 noundef %5586, ptr noundef @.str.80)
  %5588 = call ptr @__errno_location() #12
  %5589 = load i32, ptr %5588, align 4, !tbaa !5
  %5590 = call ptr @strerror(i32 noundef %5589) #11
  %5591 = call ptr @__errno_location() #12
  %5592 = load i32, ptr %5591, align 4, !tbaa !5
  %5593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5580, ptr noundef @.str.81, i32 noundef %5581, ptr noundef @.str.138, ptr noundef @.str.77, i32 noundef 160, ptr noundef %5584, ptr noundef %5587, ptr noundef %5590, i32 noundef %5592) #11
  br label %5594

5594:                                             ; preds = %5577, %5560
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %5595

5595:                                             ; preds = %5594
  br label %5596

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

5597:                                             ; No predecessors!
  br label %5598

5598:                                             ; preds = %5597
  br label %5599

5599:                                             ; preds = %5598, %5536
  br label %5600

5600:                                             ; preds = %5599
  br label %5601

5601:                                             ; preds = %5600
  br label %5602

5602:                                             ; preds = %5601
  br label %5603

5603:                                             ; preds = %5602
  br label %5604

5604:                                             ; preds = %5603
  %5605 = load i32, ptr @test_count, align 4, !tbaa !5
  %5606 = add nsw i32 %5605, 1
  store i32 %5606, ptr @test_count, align 4, !tbaa !5
  %5607 = load ptr, ptr %96, align 8, !tbaa !9
  %5608 = getelementptr inbounds %struct.s2n_psk, ptr %5607, i32 0, i32 6
  %5609 = getelementptr inbounds %struct.s2n_blob, ptr %5608, i32 0, i32 1
  %5610 = load i32, ptr %5609, align 8, !tbaa !29
  %5611 = zext i32 %5610 to i64
  %5612 = icmp eq i64 %5611, 13
  br i1 %5612, label %5666, label %5613

5613:                                             ; preds = %5604
  br label %5614

5614:                                             ; preds = %5613
  br label %5615

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

5622:                                             ; preds = %5615
  %5623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5624 = call i32 @fileno(ptr noundef %5623) #11
  %5625 = call i32 @isatty(i32 noundef %5624) #11
  %5626 = icmp ne i32 %5625, 0
  br i1 %5626, label %5627, label %5644

5627:                                             ; preds = %5622
  %5628 = load i32, ptr %110, align 4, !tbaa !5
  %5629 = call ptr @__errno_location() #12
  store i32 %5628, ptr %5629, align 4, !tbaa !5
  %5630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5631 = load i32, ptr @test_count, align 4, !tbaa !5
  %5632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5633 = load i32, ptr %5632, align 4, !tbaa !5
  %5634 = call ptr @s2n_strerror(i32 noundef %5633, ptr noundef @.str.80)
  %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_debug(i32 noundef %5636, ptr noundef @.str.80)
  %5638 = call ptr @__errno_location() #12
  %5639 = load i32, ptr %5638, align 4, !tbaa !5
  %5640 = call ptr @strerror(i32 noundef %5639) #11
  %5641 = call ptr @__errno_location() #12
  %5642 = load i32, ptr %5641, align 4, !tbaa !5
  %5643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5630, ptr noundef @.str.78, i32 noundef %5631, ptr noundef @.str.139, ptr noundef @.str.77, i32 noundef 163, ptr noundef %5634, ptr noundef %5637, ptr noundef %5640, i32 noundef %5642) #11
  br label %5661

5644:                                             ; preds = %5622, %5615
  %5645 = load i32, ptr %110, align 4, !tbaa !5
  %5646 = call ptr @__errno_location() #12
  store i32 %5645, ptr %5646, align 4, !tbaa !5
  %5647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5648 = load i32, ptr @test_count, align 4, !tbaa !5
  %5649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5650 = load i32, ptr %5649, align 4, !tbaa !5
  %5651 = call ptr @s2n_strerror(i32 noundef %5650, ptr noundef @.str.80)
  %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_debug(i32 noundef %5653, ptr noundef @.str.80)
  %5655 = call ptr @__errno_location() #12
  %5656 = load i32, ptr %5655, align 4, !tbaa !5
  %5657 = call ptr @strerror(i32 noundef %5656) #11
  %5658 = call ptr @__errno_location() #12
  %5659 = load i32, ptr %5658, align 4, !tbaa !5
  %5660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5647, ptr noundef @.str.81, i32 noundef %5648, ptr noundef @.str.139, ptr noundef @.str.77, i32 noundef 163, ptr noundef %5651, ptr noundef %5654, ptr noundef %5657, i32 noundef %5659) #11
  br label %5661

5661:                                             ; preds = %5644, %5627
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %5662

5662:                                             ; preds = %5661
  br label %5663

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

5664:                                             ; No predecessors!
  br label %5665

5665:                                             ; preds = %5664
  br label %5666

5666:                                             ; preds = %5665, %5604
  br label %5667

5667:                                             ; preds = %5666
  br label %5668

5668:                                             ; preds = %5667
  br label %5669

5669:                                             ; preds = %5668
  br label %5670

5670:                                             ; preds = %5669
  %5671 = load i32, ptr @test_count, align 4, !tbaa !5
  %5672 = add nsw i32 %5671, 1
  store i32 %5672, ptr @test_count, align 4, !tbaa !5
  %5673 = load ptr, ptr %96, align 8, !tbaa !9
  %5674 = getelementptr inbounds %struct.s2n_psk, ptr %5673, i32 0, i32 6
  %5675 = getelementptr inbounds %struct.s2n_blob, ptr %5674, i32 0, i32 0
  %5676 = load ptr, ptr %5675, align 8, !tbaa !30
  %5677 = getelementptr inbounds [13 x i8], ptr %87, i64 0, i64 0
  %5678 = call i32 @memcmp(ptr noundef %5676, ptr noundef %5677, i64 noundef 13) #14
  %5679 = icmp eq i32 %5678, 0
  br i1 %5679, label %5733, label %5680

5680:                                             ; preds = %5670
  br label %5681

5681:                                             ; preds = %5680
  br label %5682

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

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

5694:                                             ; preds = %5689
  %5695 = load i32, ptr %111, align 4, !tbaa !5
  %5696 = call ptr @__errno_location() #12
  store i32 %5695, ptr %5696, align 4, !tbaa !5
  %5697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5698 = load i32, ptr @test_count, align 4, !tbaa !5
  %5699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5700 = load i32, ptr %5699, align 4, !tbaa !5
  %5701 = call ptr @s2n_strerror(i32 noundef %5700, ptr noundef @.str.80)
  %5702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5703 = load i32, ptr %5702, align 4, !tbaa !5
  %5704 = call ptr @s2n_strerror_debug(i32 noundef %5703, ptr noundef @.str.80)
  %5705 = call ptr @__errno_location() #12
  %5706 = load i32, ptr %5705, align 4, !tbaa !5
  %5707 = call ptr @strerror(i32 noundef %5706) #11
  %5708 = call ptr @__errno_location() #12
  %5709 = load i32, ptr %5708, align 4, !tbaa !5
  %5710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5697, ptr noundef @.str.78, i32 noundef %5698, ptr noundef @.str.140, ptr noundef @.str.77, i32 noundef 164, ptr noundef %5701, ptr noundef %5704, ptr noundef %5707, i32 noundef %5709) #11
  br label %5728

5711:                                             ; preds = %5689, %5682
  %5712 = load i32, ptr %111, align 4, !tbaa !5
  %5713 = call ptr @__errno_location() #12
  store i32 %5712, ptr %5713, align 4, !tbaa !5
  %5714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5715 = load i32, ptr @test_count, align 4, !tbaa !5
  %5716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5717 = load i32, ptr %5716, align 4, !tbaa !5
  %5718 = call ptr @s2n_strerror(i32 noundef %5717, ptr noundef @.str.80)
  %5719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5720 = load i32, ptr %5719, align 4, !tbaa !5
  %5721 = call ptr @s2n_strerror_debug(i32 noundef %5720, ptr noundef @.str.80)
  %5722 = call ptr @__errno_location() #12
  %5723 = load i32, ptr %5722, align 4, !tbaa !5
  %5724 = call ptr @strerror(i32 noundef %5723) #11
  %5725 = call ptr @__errno_location() #12
  %5726 = load i32, ptr %5725, align 4, !tbaa !5
  %5727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5714, ptr noundef @.str.81, i32 noundef %5715, ptr noundef @.str.140, ptr noundef @.str.77, i32 noundef 164, ptr noundef %5718, ptr noundef %5721, ptr noundef %5724, i32 noundef %5726) #11
  br label %5728

5728:                                             ; preds = %5711, %5694
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %5729

5729:                                             ; preds = %5728
  br label %5730

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

5731:                                             ; No predecessors!
  br label %5732

5732:                                             ; preds = %5731
  br label %5733

5733:                                             ; preds = %5732, %5670
  br label %5734

5734:                                             ; preds = %5733
  br label %5735

5735:                                             ; preds = %5734
  br label %5736

5736:                                             ; preds = %5735
  br label %5737

5737:                                             ; preds = %5736
  br label %5738

5738:                                             ; preds = %5737
  %5739 = load i32, ptr @test_count, align 4, !tbaa !5
  %5740 = add nsw i32 %5739, 1
  store i32 %5740, ptr @test_count, align 4, !tbaa !5
  %5741 = load ptr, ptr %96, align 8, !tbaa !9
  %5742 = getelementptr inbounds %struct.s2n_psk, ptr %5741, i32 0, i32 3
  %5743 = load i32, ptr %5742, align 8, !tbaa !20
  %5744 = icmp eq i32 %5743, 5
  br i1 %5744, label %5798, label %5745

5745:                                             ; preds = %5738
  br label %5746

5746:                                             ; preds = %5745
  br label %5747

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

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

5759:                                             ; preds = %5754
  %5760 = load i32, ptr %112, align 4, !tbaa !5
  %5761 = call ptr @__errno_location() #12
  store i32 %5760, ptr %5761, align 4, !tbaa !5
  %5762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5763 = load i32, ptr @test_count, align 4, !tbaa !5
  %5764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5765 = load i32, ptr %5764, align 4, !tbaa !5
  %5766 = call ptr @s2n_strerror(i32 noundef %5765, ptr noundef @.str.80)
  %5767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5768 = load i32, ptr %5767, align 4, !tbaa !5
  %5769 = call ptr @s2n_strerror_debug(i32 noundef %5768, ptr noundef @.str.80)
  %5770 = call ptr @__errno_location() #12
  %5771 = load i32, ptr %5770, align 4, !tbaa !5
  %5772 = call ptr @strerror(i32 noundef %5771) #11
  %5773 = call ptr @__errno_location() #12
  %5774 = load i32, ptr %5773, align 4, !tbaa !5
  %5775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5762, ptr noundef @.str.78, i32 noundef %5763, ptr noundef @.str.141, ptr noundef @.str.77, i32 noundef 167, ptr noundef %5766, ptr noundef %5769, ptr noundef %5772, i32 noundef %5774) #11
  br label %5793

5776:                                             ; preds = %5754, %5747
  %5777 = load i32, ptr %112, align 4, !tbaa !5
  %5778 = call ptr @__errno_location() #12
  store i32 %5777, ptr %5778, align 4, !tbaa !5
  %5779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5780 = load i32, ptr @test_count, align 4, !tbaa !5
  %5781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5782 = load i32, ptr %5781, align 4, !tbaa !5
  %5783 = call ptr @s2n_strerror(i32 noundef %5782, ptr noundef @.str.80)
  %5784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5785 = load i32, ptr %5784, align 4, !tbaa !5
  %5786 = call ptr @s2n_strerror_debug(i32 noundef %5785, ptr noundef @.str.80)
  %5787 = call ptr @__errno_location() #12
  %5788 = load i32, ptr %5787, align 4, !tbaa !5
  %5789 = call ptr @strerror(i32 noundef %5788) #11
  %5790 = call ptr @__errno_location() #12
  %5791 = load i32, ptr %5790, align 4, !tbaa !5
  %5792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5779, ptr noundef @.str.81, i32 noundef %5780, ptr noundef @.str.141, ptr noundef @.str.77, i32 noundef 167, ptr noundef %5783, ptr noundef %5786, ptr noundef %5789, i32 noundef %5791) #11
  br label %5793

5793:                                             ; preds = %5776, %5759
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %5794

5794:                                             ; preds = %5793
  br label %5795

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

5796:                                             ; No predecessors!
  br label %5797

5797:                                             ; preds = %5796
  br label %5798

5798:                                             ; preds = %5797, %5738
  br label %5799

5799:                                             ; preds = %5798
  br label %5800

5800:                                             ; preds = %5799
  %5801 = call i32 @s2n_psk_free(ptr noundef %96)
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  call void @llvm.lifetime.end.p0(i64 13, ptr %87) #11
  call void @llvm.lifetime.end.p0(i64 7, ptr %86) #11
  call void @llvm.lifetime.end.p0(i64 9, ptr %85) #11
  call void @llvm.lifetime.end.p0(i64 6, ptr %84) #11
  call void @llvm.lifetime.start.p0(i64 11, ptr %113) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %113, ptr align 1 @__const.main.test_value, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 168, ptr %114) #11
  call void @llvm.memset.p0.i64(ptr align 8 %114, i8 0, i64 168, i1 false)
  br label %5802

5802:                                             ; preds = %5800
  %5803 = load i32, ptr @test_count, align 4, !tbaa !5
  %5804 = add nsw i32 %5803, 1
  store i32 %5804, ptr @test_count, align 4, !tbaa !5
  %5805 = call i32 @s2n_psk_init(ptr noundef %114, i32 noundef 1)
  %5806 = getelementptr inbounds %struct.s2n_result, ptr %115, i32 0, i32 0
  store i32 %5805, ptr %5806, align 4
  %5807 = getelementptr inbounds %struct.s2n_result, ptr %115, i32 0, i32 0
  %5808 = load i32, ptr %5807, align 4
  %5809 = call zeroext i1 @s2n_result_is_ok(i32 %5808)
  br i1 %5809, label %5863, label %5810

5810:                                             ; preds = %5802
  br label %5811

5811:                                             ; preds = %5810
  br label %5812

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

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

5824:                                             ; preds = %5819
  %5825 = load i32, ptr %116, align 4, !tbaa !5
  %5826 = call ptr @__errno_location() #12
  store i32 %5825, ptr %5826, align 4, !tbaa !5
  %5827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5828 = load i32, ptr @test_count, align 4, !tbaa !5
  %5829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5830 = load i32, ptr %5829, align 4, !tbaa !5
  %5831 = call ptr @s2n_strerror(i32 noundef %5830, ptr noundef @.str.80)
  %5832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5833 = load i32, ptr %5832, align 4, !tbaa !5
  %5834 = call ptr @s2n_strerror_debug(i32 noundef %5833, ptr noundef @.str.80)
  %5835 = call ptr @__errno_location() #12
  %5836 = load i32, ptr %5835, align 4, !tbaa !5
  %5837 = call ptr @strerror(i32 noundef %5836) #11
  %5838 = call ptr @__errno_location() #12
  %5839 = load i32, ptr %5838, align 4, !tbaa !5
  %5840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5827, ptr noundef @.str.78, i32 noundef %5828, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 174, ptr noundef %5831, ptr noundef %5834, ptr noundef %5837, i32 noundef %5839) #11
  br label %5858

5841:                                             ; preds = %5819, %5812
  %5842 = load i32, ptr %116, align 4, !tbaa !5
  %5843 = call ptr @__errno_location() #12
  store i32 %5842, ptr %5843, align 4, !tbaa !5
  %5844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5845 = load i32, ptr @test_count, align 4, !tbaa !5
  %5846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5847 = load i32, ptr %5846, align 4, !tbaa !5
  %5848 = call ptr @s2n_strerror(i32 noundef %5847, ptr noundef @.str.80)
  %5849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5850 = load i32, ptr %5849, align 4, !tbaa !5
  %5851 = call ptr @s2n_strerror_debug(i32 noundef %5850, ptr noundef @.str.80)
  %5852 = call ptr @__errno_location() #12
  %5853 = load i32, ptr %5852, align 4, !tbaa !5
  %5854 = call ptr @strerror(i32 noundef %5853) #11
  %5855 = call ptr @__errno_location() #12
  %5856 = load i32, ptr %5855, align 4, !tbaa !5
  %5857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5844, ptr noundef @.str.81, i32 noundef %5845, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 174, ptr noundef %5848, ptr noundef %5851, ptr noundef %5854, i32 noundef %5856) #11
  br label %5858

5858:                                             ; preds = %5841, %5824
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %5859

5859:                                             ; preds = %5858
  br label %5860

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

5861:                                             ; No predecessors!
  br label %5862

5862:                                             ; preds = %5861
  br label %5863

5863:                                             ; preds = %5862, %5802
  br label %5864

5864:                                             ; preds = %5863
  br label %5865

5865:                                             ; preds = %5864
  br label %5866

5866:                                             ; preds = %5865
  %5867 = load i32, ptr @test_count, align 4, !tbaa !5
  %5868 = add nsw i32 %5867, 1
  store i32 %5868, ptr @test_count, align 4, !tbaa !5
  %5869 = call i32 @s2n_psk_wipe(ptr noundef %114)
  %5870 = getelementptr inbounds %struct.s2n_result, ptr %117, i32 0, i32 0
  store i32 %5869, ptr %5870, align 4
  %5871 = getelementptr inbounds %struct.s2n_result, ptr %117, i32 0, i32 0
  %5872 = load i32, ptr %5871, align 4
  %5873 = call zeroext i1 @s2n_result_is_ok(i32 %5872)
  br i1 %5873, label %5927, label %5874

5874:                                             ; preds = %5866
  br label %5875

5875:                                             ; preds = %5874
  br label %5876

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

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

5888:                                             ; preds = %5883
  %5889 = load i32, ptr %118, align 4, !tbaa !5
  %5890 = call ptr @__errno_location() #12
  store i32 %5889, ptr %5890, align 4, !tbaa !5
  %5891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5892 = load i32, ptr @test_count, align 4, !tbaa !5
  %5893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5894 = load i32, ptr %5893, align 4, !tbaa !5
  %5895 = call ptr @s2n_strerror(i32 noundef %5894, ptr noundef @.str.80)
  %5896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5897 = load i32, ptr %5896, align 4, !tbaa !5
  %5898 = call ptr @s2n_strerror_debug(i32 noundef %5897, ptr noundef @.str.80)
  %5899 = call ptr @__errno_location() #12
  %5900 = load i32, ptr %5899, align 4, !tbaa !5
  %5901 = call ptr @strerror(i32 noundef %5900) #11
  %5902 = call ptr @__errno_location() #12
  %5903 = load i32, ptr %5902, align 4, !tbaa !5
  %5904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5891, ptr noundef @.str.78, i32 noundef %5892, ptr noundef @.str.142, ptr noundef @.str.77, i32 noundef 177, ptr noundef %5895, ptr noundef %5898, ptr noundef %5901, i32 noundef %5903) #11
  br label %5922

5905:                                             ; preds = %5883, %5876
  %5906 = load i32, ptr %118, align 4, !tbaa !5
  %5907 = call ptr @__errno_location() #12
  store i32 %5906, ptr %5907, align 4, !tbaa !5
  %5908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5909 = load i32, ptr @test_count, align 4, !tbaa !5
  %5910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5911 = load i32, ptr %5910, align 4, !tbaa !5
  %5912 = call ptr @s2n_strerror(i32 noundef %5911, ptr noundef @.str.80)
  %5913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5914 = load i32, ptr %5913, align 4, !tbaa !5
  %5915 = call ptr @s2n_strerror_debug(i32 noundef %5914, ptr noundef @.str.80)
  %5916 = call ptr @__errno_location() #12
  %5917 = load i32, ptr %5916, align 4, !tbaa !5
  %5918 = call ptr @strerror(i32 noundef %5917) #11
  %5919 = call ptr @__errno_location() #12
  %5920 = load i32, ptr %5919, align 4, !tbaa !5
  %5921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5908, ptr noundef @.str.81, i32 noundef %5909, ptr noundef @.str.142, ptr noundef @.str.77, i32 noundef 177, ptr noundef %5912, ptr noundef %5915, ptr noundef %5918, i32 noundef %5920) #11
  br label %5922

5922:                                             ; preds = %5905, %5888
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %5923

5923:                                             ; preds = %5922
  br label %5924

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

5925:                                             ; No predecessors!
  br label %5926

5926:                                             ; preds = %5925
  br label %5927

5927:                                             ; preds = %5926, %5866
  br label %5928

5928:                                             ; preds = %5927
  br label %5929

5929:                                             ; preds = %5928
  br label %5930

5930:                                             ; preds = %5929
  %5931 = load i32, ptr @test_count, align 4, !tbaa !5
  %5932 = add nsw i32 %5931, 1
  store i32 %5932, ptr @test_count, align 4, !tbaa !5
  %5933 = getelementptr inbounds [11 x i8], ptr %113, i64 0, i64 0
  %5934 = call i32 @s2n_psk_set_identity(ptr noundef %114, ptr noundef %5933, i16 noundef zeroext 11)
  %5935 = icmp eq i32 %5934, -1
  br i1 %5935, label %5936, label %5989

5936:                                             ; preds = %5930
  br label %5937

5937:                                             ; preds = %5936
  br label %5938

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

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

5950:                                             ; preds = %5945
  %5951 = load i32, ptr %119, align 4, !tbaa !5
  %5952 = call ptr @__errno_location() #12
  store i32 %5951, ptr %5952, align 4, !tbaa !5
  %5953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5954 = load i32, ptr @test_count, align 4, !tbaa !5
  %5955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5956 = load i32, ptr %5955, align 4, !tbaa !5
  %5957 = call ptr @s2n_strerror(i32 noundef %5956, ptr noundef @.str.80)
  %5958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5959 = load i32, ptr %5958, align 4, !tbaa !5
  %5960 = call ptr @s2n_strerror_debug(i32 noundef %5959, ptr noundef @.str.80)
  %5961 = call ptr @__errno_location() #12
  %5962 = load i32, ptr %5961, align 4, !tbaa !5
  %5963 = call ptr @strerror(i32 noundef %5962) #11
  %5964 = call ptr @__errno_location() #12
  %5965 = load i32, ptr %5964, align 4, !tbaa !5
  %5966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5953, ptr noundef @.str.78, i32 noundef %5954, ptr noundef @.str.143, ptr noundef @.str.77, i32 noundef 179, ptr noundef %5957, ptr noundef %5960, ptr noundef %5963, i32 noundef %5965) #11
  br label %5984

5967:                                             ; preds = %5945, %5938
  %5968 = load i32, ptr %119, align 4, !tbaa !5
  %5969 = call ptr @__errno_location() #12
  store i32 %5968, ptr %5969, align 4, !tbaa !5
  %5970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5971 = load i32, ptr @test_count, align 4, !tbaa !5
  %5972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5973 = load i32, ptr %5972, align 4, !tbaa !5
  %5974 = call ptr @s2n_strerror(i32 noundef %5973, ptr noundef @.str.80)
  %5975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5976 = load i32, ptr %5975, align 4, !tbaa !5
  %5977 = call ptr @s2n_strerror_debug(i32 noundef %5976, ptr noundef @.str.80)
  %5978 = call ptr @__errno_location() #12
  %5979 = load i32, ptr %5978, align 4, !tbaa !5
  %5980 = call ptr @strerror(i32 noundef %5979) #11
  %5981 = call ptr @__errno_location() #12
  %5982 = load i32, ptr %5981, align 4, !tbaa !5
  %5983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5970, ptr noundef @.str.81, i32 noundef %5971, ptr noundef @.str.143, ptr noundef @.str.77, i32 noundef 179, ptr noundef %5974, ptr noundef %5977, ptr noundef %5980, i32 noundef %5982) #11
  br label %5984

5984:                                             ; preds = %5967, %5950
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %5985

5985:                                             ; preds = %5984
  br label %5986

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

5987:                                             ; No predecessors!
  br label %5988

5988:                                             ; preds = %5987
  br label %5989

5989:                                             ; preds = %5988, %5930
  br label %5990

5990:                                             ; preds = %5989
  br label %5991

5991:                                             ; preds = %5990
  br label %5992

5992:                                             ; preds = %5991
  %5993 = load i32, ptr @test_count, align 4, !tbaa !5
  %5994 = add nsw i32 %5993, 1
  store i32 %5994, ptr @test_count, align 4, !tbaa !5
  %5995 = getelementptr inbounds %struct.s2n_psk, ptr %114, i32 0, i32 1
  %5996 = getelementptr inbounds %struct.s2n_blob, ptr %5995, i32 0, i32 1
  %5997 = load i32, ptr %5996, align 8, !tbaa !24
  %5998 = icmp eq i32 %5997, 0
  br i1 %5998, label %5999, label %6052

5999:                                             ; preds = %5992
  br label %6000

6000:                                             ; preds = %5999
  br label %6001

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

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

6013:                                             ; preds = %6008
  %6014 = load i32, ptr %120, align 4, !tbaa !5
  %6015 = call ptr @__errno_location() #12
  store i32 %6014, ptr %6015, align 4, !tbaa !5
  %6016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6017 = load i32, ptr @test_count, align 4, !tbaa !5
  %6018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6019 = load i32, ptr %6018, align 4, !tbaa !5
  %6020 = call ptr @s2n_strerror(i32 noundef %6019, ptr noundef @.str.80)
  %6021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6022 = load i32, ptr %6021, align 4, !tbaa !5
  %6023 = call ptr @s2n_strerror_debug(i32 noundef %6022, ptr noundef @.str.80)
  %6024 = call ptr @__errno_location() #12
  %6025 = load i32, ptr %6024, align 4, !tbaa !5
  %6026 = call ptr @strerror(i32 noundef %6025) #11
  %6027 = call ptr @__errno_location() #12
  %6028 = load i32, ptr %6027, align 4, !tbaa !5
  %6029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6016, ptr noundef @.str.78, i32 noundef %6017, ptr noundef @.str.144, ptr noundef @.str.77, i32 noundef 180, ptr noundef %6020, ptr noundef %6023, ptr noundef %6026, i32 noundef %6028) #11
  br label %6047

6030:                                             ; preds = %6008, %6001
  %6031 = load i32, ptr %120, align 4, !tbaa !5
  %6032 = call ptr @__errno_location() #12
  store i32 %6031, ptr %6032, align 4, !tbaa !5
  %6033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6034 = load i32, ptr @test_count, align 4, !tbaa !5
  %6035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6036 = load i32, ptr %6035, align 4, !tbaa !5
  %6037 = call ptr @s2n_strerror(i32 noundef %6036, ptr noundef @.str.80)
  %6038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6039 = load i32, ptr %6038, align 4, !tbaa !5
  %6040 = call ptr @s2n_strerror_debug(i32 noundef %6039, ptr noundef @.str.80)
  %6041 = call ptr @__errno_location() #12
  %6042 = load i32, ptr %6041, align 4, !tbaa !5
  %6043 = call ptr @strerror(i32 noundef %6042) #11
  %6044 = call ptr @__errno_location() #12
  %6045 = load i32, ptr %6044, align 4, !tbaa !5
  %6046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6033, ptr noundef @.str.81, i32 noundef %6034, ptr noundef @.str.144, ptr noundef @.str.77, i32 noundef 180, ptr noundef %6037, ptr noundef %6040, ptr noundef %6043, i32 noundef %6045) #11
  br label %6047

6047:                                             ; preds = %6030, %6013
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  br label %6048

6048:                                             ; preds = %6047
  br label %6049

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

6050:                                             ; No predecessors!
  br label %6051

6051:                                             ; preds = %6050
  br label %6052

6052:                                             ; preds = %6051, %5992
  br label %6053

6053:                                             ; preds = %6052
  br label %6054

6054:                                             ; preds = %6053
  br label %6055

6055:                                             ; preds = %6054
  %6056 = load i32, ptr @test_count, align 4, !tbaa !5
  %6057 = add nsw i32 %6056, 1
  store i32 %6057, ptr @test_count, align 4, !tbaa !5
  %6058 = getelementptr inbounds [11 x i8], ptr %113, i64 0, i64 0
  %6059 = call i32 @s2n_psk_set_secret(ptr noundef %114, ptr noundef %6058, i16 noundef zeroext 11)
  %6060 = icmp eq i32 %6059, -1
  br i1 %6060, label %6061, label %6114

6061:                                             ; preds = %6055
  br label %6062

6062:                                             ; preds = %6061
  br label %6063

6063:                                             ; preds = %6062
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #11
  %6064 = call ptr @__errno_location() #12
  %6065 = load i32, ptr %6064, align 4, !tbaa !5
  store i32 %6065, ptr %121, align 4, !tbaa !5
  %6066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6067 = call i32 @s2n_print_stacktrace(ptr noundef %6066)
  %6068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6069 = trunc i8 %6068 to i1
  br i1 %6069, label %6070, label %6092

6070:                                             ; preds = %6063
  %6071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6072 = call i32 @fileno(ptr noundef %6071) #11
  %6073 = call i32 @isatty(i32 noundef %6072) #11
  %6074 = icmp ne i32 %6073, 0
  br i1 %6074, label %6075, label %6092

6075:                                             ; preds = %6070
  %6076 = load i32, ptr %121, align 4, !tbaa !5
  %6077 = call ptr @__errno_location() #12
  store i32 %6076, ptr %6077, align 4, !tbaa !5
  %6078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6079 = load i32, ptr @test_count, align 4, !tbaa !5
  %6080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6081 = load i32, ptr %6080, align 4, !tbaa !5
  %6082 = call ptr @s2n_strerror(i32 noundef %6081, ptr noundef @.str.80)
  %6083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6084 = load i32, ptr %6083, align 4, !tbaa !5
  %6085 = call ptr @s2n_strerror_debug(i32 noundef %6084, ptr noundef @.str.80)
  %6086 = call ptr @__errno_location() #12
  %6087 = load i32, ptr %6086, align 4, !tbaa !5
  %6088 = call ptr @strerror(i32 noundef %6087) #11
  %6089 = call ptr @__errno_location() #12
  %6090 = load i32, ptr %6089, align 4, !tbaa !5
  %6091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6078, ptr noundef @.str.78, i32 noundef %6079, ptr noundef @.str.145, ptr noundef @.str.77, i32 noundef 181, ptr noundef %6082, ptr noundef %6085, ptr noundef %6088, i32 noundef %6090) #11
  br label %6109

6092:                                             ; preds = %6070, %6063
  %6093 = load i32, ptr %121, align 4, !tbaa !5
  %6094 = call ptr @__errno_location() #12
  store i32 %6093, ptr %6094, align 4, !tbaa !5
  %6095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6096 = load i32, ptr @test_count, align 4, !tbaa !5
  %6097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6098 = load i32, ptr %6097, align 4, !tbaa !5
  %6099 = call ptr @s2n_strerror(i32 noundef %6098, ptr noundef @.str.80)
  %6100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6101 = load i32, ptr %6100, align 4, !tbaa !5
  %6102 = call ptr @s2n_strerror_debug(i32 noundef %6101, ptr noundef @.str.80)
  %6103 = call ptr @__errno_location() #12
  %6104 = load i32, ptr %6103, align 4, !tbaa !5
  %6105 = call ptr @strerror(i32 noundef %6104) #11
  %6106 = call ptr @__errno_location() #12
  %6107 = load i32, ptr %6106, align 4, !tbaa !5
  %6108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6095, ptr noundef @.str.81, i32 noundef %6096, ptr noundef @.str.145, ptr noundef @.str.77, i32 noundef 181, ptr noundef %6099, ptr noundef %6102, ptr noundef %6105, i32 noundef %6107) #11
  br label %6109

6109:                                             ; preds = %6092, %6075
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %6110

6110:                                             ; preds = %6109
  br label %6111

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

6112:                                             ; No predecessors!
  br label %6113

6113:                                             ; preds = %6112
  br label %6114

6114:                                             ; preds = %6113, %6055
  br label %6115

6115:                                             ; preds = %6114
  br label %6116

6116:                                             ; preds = %6115
  br label %6117

6117:                                             ; preds = %6116
  %6118 = load i32, ptr @test_count, align 4, !tbaa !5
  %6119 = add nsw i32 %6118, 1
  store i32 %6119, ptr @test_count, align 4, !tbaa !5
  %6120 = getelementptr inbounds %struct.s2n_psk, ptr %114, i32 0, i32 2
  %6121 = getelementptr inbounds %struct.s2n_blob, ptr %6120, i32 0, i32 1
  %6122 = load i32, ptr %6121, align 8, !tbaa !27
  %6123 = icmp eq i32 %6122, 0
  br i1 %6123, label %6124, label %6177

6124:                                             ; preds = %6117
  br label %6125

6125:                                             ; preds = %6124
  br label %6126

6126:                                             ; preds = %6125
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  %6127 = call ptr @__errno_location() #12
  %6128 = load i32, ptr %6127, align 4, !tbaa !5
  store i32 %6128, ptr %122, align 4, !tbaa !5
  %6129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6130 = call i32 @s2n_print_stacktrace(ptr noundef %6129)
  %6131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6132 = trunc i8 %6131 to i1
  br i1 %6132, label %6133, label %6155

6133:                                             ; preds = %6126
  %6134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6135 = call i32 @fileno(ptr noundef %6134) #11
  %6136 = call i32 @isatty(i32 noundef %6135) #11
  %6137 = icmp ne i32 %6136, 0
  br i1 %6137, label %6138, label %6155

6138:                                             ; preds = %6133
  %6139 = load i32, ptr %122, align 4, !tbaa !5
  %6140 = call ptr @__errno_location() #12
  store i32 %6139, ptr %6140, align 4, !tbaa !5
  %6141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6142 = load i32, ptr @test_count, align 4, !tbaa !5
  %6143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6144 = load i32, ptr %6143, align 4, !tbaa !5
  %6145 = call ptr @s2n_strerror(i32 noundef %6144, ptr noundef @.str.80)
  %6146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6147 = load i32, ptr %6146, align 4, !tbaa !5
  %6148 = call ptr @s2n_strerror_debug(i32 noundef %6147, ptr noundef @.str.80)
  %6149 = call ptr @__errno_location() #12
  %6150 = load i32, ptr %6149, align 4, !tbaa !5
  %6151 = call ptr @strerror(i32 noundef %6150) #11
  %6152 = call ptr @__errno_location() #12
  %6153 = load i32, ptr %6152, align 4, !tbaa !5
  %6154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6141, ptr noundef @.str.78, i32 noundef %6142, ptr noundef @.str.146, ptr noundef @.str.77, i32 noundef 182, ptr noundef %6145, ptr noundef %6148, ptr noundef %6151, i32 noundef %6153) #11
  br label %6172

6155:                                             ; preds = %6133, %6126
  %6156 = load i32, ptr %122, align 4, !tbaa !5
  %6157 = call ptr @__errno_location() #12
  store i32 %6156, ptr %6157, align 4, !tbaa !5
  %6158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6159 = load i32, ptr @test_count, align 4, !tbaa !5
  %6160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6161 = load i32, ptr %6160, align 4, !tbaa !5
  %6162 = call ptr @s2n_strerror(i32 noundef %6161, ptr noundef @.str.80)
  %6163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6164 = load i32, ptr %6163, align 4, !tbaa !5
  %6165 = call ptr @s2n_strerror_debug(i32 noundef %6164, ptr noundef @.str.80)
  %6166 = call ptr @__errno_location() #12
  %6167 = load i32, ptr %6166, align 4, !tbaa !5
  %6168 = call ptr @strerror(i32 noundef %6167) #11
  %6169 = call ptr @__errno_location() #12
  %6170 = load i32, ptr %6169, align 4, !tbaa !5
  %6171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6158, ptr noundef @.str.81, i32 noundef %6159, ptr noundef @.str.146, ptr noundef @.str.77, i32 noundef 182, ptr noundef %6162, ptr noundef %6165, ptr noundef %6168, i32 noundef %6170) #11
  br label %6172

6172:                                             ; preds = %6155, %6138
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %6173

6173:                                             ; preds = %6172
  br label %6174

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

6175:                                             ; No predecessors!
  br label %6176

6176:                                             ; preds = %6175
  br label %6177

6177:                                             ; preds = %6176, %6117
  br label %6178

6178:                                             ; preds = %6177
  br label %6179

6179:                                             ; preds = %6178
  br label %6180

6180:                                             ; preds = %6179
  %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 = getelementptr inbounds %struct.s2n_psk, ptr %114, i32 0, i32 6
  %6184 = call i32 @s2n_alloc(ptr noundef %6183, i32 noundef 11)
  %6185 = icmp eq i32 %6184, -1
  br i1 %6185, label %6186, label %6239

6186:                                             ; preds = %6180
  br label %6187

6187:                                             ; preds = %6186
  br label %6188

6188:                                             ; preds = %6187
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %6189 = call ptr @__errno_location() #12
  %6190 = load i32, ptr %6189, align 4, !tbaa !5
  store i32 %6190, ptr %123, align 4, !tbaa !5
  %6191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6192 = call i32 @s2n_print_stacktrace(ptr noundef %6191)
  %6193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6194 = trunc i8 %6193 to i1
  br i1 %6194, label %6195, label %6217

6195:                                             ; preds = %6188
  %6196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6197 = call i32 @fileno(ptr noundef %6196) #11
  %6198 = call i32 @isatty(i32 noundef %6197) #11
  %6199 = icmp ne i32 %6198, 0
  br i1 %6199, label %6200, label %6217

6200:                                             ; preds = %6195
  %6201 = load i32, ptr %123, align 4, !tbaa !5
  %6202 = call ptr @__errno_location() #12
  store i32 %6201, ptr %6202, align 4, !tbaa !5
  %6203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6204 = load i32, ptr @test_count, align 4, !tbaa !5
  %6205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6206 = load i32, ptr %6205, align 4, !tbaa !5
  %6207 = call ptr @s2n_strerror(i32 noundef %6206, ptr noundef @.str.80)
  %6208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6209 = load i32, ptr %6208, align 4, !tbaa !5
  %6210 = call ptr @s2n_strerror_debug(i32 noundef %6209, ptr noundef @.str.80)
  %6211 = call ptr @__errno_location() #12
  %6212 = load i32, ptr %6211, align 4, !tbaa !5
  %6213 = call ptr @strerror(i32 noundef %6212) #11
  %6214 = call ptr @__errno_location() #12
  %6215 = load i32, ptr %6214, align 4, !tbaa !5
  %6216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6203, ptr noundef @.str.78, i32 noundef %6204, ptr noundef @.str.147, ptr noundef @.str.77, i32 noundef 183, ptr noundef %6207, ptr noundef %6210, ptr noundef %6213, i32 noundef %6215) #11
  br label %6234

6217:                                             ; preds = %6195, %6188
  %6218 = load i32, ptr %123, align 4, !tbaa !5
  %6219 = call ptr @__errno_location() #12
  store i32 %6218, ptr %6219, align 4, !tbaa !5
  %6220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6221 = load i32, ptr @test_count, align 4, !tbaa !5
  %6222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6223 = load i32, ptr %6222, align 4, !tbaa !5
  %6224 = call ptr @s2n_strerror(i32 noundef %6223, ptr noundef @.str.80)
  %6225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6226 = load i32, ptr %6225, align 4, !tbaa !5
  %6227 = call ptr @s2n_strerror_debug(i32 noundef %6226, ptr noundef @.str.80)
  %6228 = call ptr @__errno_location() #12
  %6229 = load i32, ptr %6228, align 4, !tbaa !5
  %6230 = call ptr @strerror(i32 noundef %6229) #11
  %6231 = call ptr @__errno_location() #12
  %6232 = load i32, ptr %6231, align 4, !tbaa !5
  %6233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6220, ptr noundef @.str.81, i32 noundef %6221, ptr noundef @.str.147, ptr noundef @.str.77, i32 noundef 183, ptr noundef %6224, ptr noundef %6227, ptr noundef %6230, i32 noundef %6232) #11
  br label %6234

6234:                                             ; preds = %6217, %6200
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %6235

6235:                                             ; preds = %6234
  br label %6236

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

6237:                                             ; No predecessors!
  br label %6238

6238:                                             ; preds = %6237
  br label %6239

6239:                                             ; preds = %6238, %6180
  br label %6240

6240:                                             ; preds = %6239
  br label %6241

6241:                                             ; preds = %6240
  br label %6242

6242:                                             ; preds = %6241
  %6243 = load i32, ptr @test_count, align 4, !tbaa !5
  %6244 = add nsw i32 %6243, 1
  store i32 %6244, ptr @test_count, align 4, !tbaa !5
  %6245 = getelementptr inbounds %struct.s2n_psk, ptr %114, i32 0, i32 6
  %6246 = getelementptr inbounds %struct.s2n_blob, ptr %6245, i32 0, i32 1
  %6247 = load i32, ptr %6246, align 8, !tbaa !29
  %6248 = icmp eq i32 %6247, 0
  br i1 %6248, label %6249, label %6302

6249:                                             ; preds = %6242
  br label %6250

6250:                                             ; preds = %6249
  br label %6251

6251:                                             ; preds = %6250
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %6252 = call ptr @__errno_location() #12
  %6253 = load i32, ptr %6252, align 4, !tbaa !5
  store i32 %6253, ptr %124, align 4, !tbaa !5
  %6254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6255 = call i32 @s2n_print_stacktrace(ptr noundef %6254)
  %6256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6257 = trunc i8 %6256 to i1
  br i1 %6257, label %6258, label %6280

6258:                                             ; preds = %6251
  %6259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6260 = call i32 @fileno(ptr noundef %6259) #11
  %6261 = call i32 @isatty(i32 noundef %6260) #11
  %6262 = icmp ne i32 %6261, 0
  br i1 %6262, label %6263, label %6280

6263:                                             ; preds = %6258
  %6264 = load i32, ptr %124, align 4, !tbaa !5
  %6265 = call ptr @__errno_location() #12
  store i32 %6264, ptr %6265, align 4, !tbaa !5
  %6266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6267 = load i32, ptr @test_count, align 4, !tbaa !5
  %6268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6269 = load i32, ptr %6268, align 4, !tbaa !5
  %6270 = call ptr @s2n_strerror(i32 noundef %6269, ptr noundef @.str.80)
  %6271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6272 = load i32, ptr %6271, align 4, !tbaa !5
  %6273 = call ptr @s2n_strerror_debug(i32 noundef %6272, ptr noundef @.str.80)
  %6274 = call ptr @__errno_location() #12
  %6275 = load i32, ptr %6274, align 4, !tbaa !5
  %6276 = call ptr @strerror(i32 noundef %6275) #11
  %6277 = call ptr @__errno_location() #12
  %6278 = load i32, ptr %6277, align 4, !tbaa !5
  %6279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6266, ptr noundef @.str.78, i32 noundef %6267, ptr noundef @.str.148, ptr noundef @.str.77, i32 noundef 184, ptr noundef %6270, ptr noundef %6273, ptr noundef %6276, i32 noundef %6278) #11
  br label %6297

6280:                                             ; preds = %6258, %6251
  %6281 = load i32, ptr %124, align 4, !tbaa !5
  %6282 = call ptr @__errno_location() #12
  store i32 %6281, ptr %6282, align 4, !tbaa !5
  %6283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6284 = load i32, ptr @test_count, align 4, !tbaa !5
  %6285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6286 = load i32, ptr %6285, align 4, !tbaa !5
  %6287 = call ptr @s2n_strerror(i32 noundef %6286, ptr noundef @.str.80)
  %6288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6289 = load i32, ptr %6288, align 4, !tbaa !5
  %6290 = call ptr @s2n_strerror_debug(i32 noundef %6289, ptr noundef @.str.80)
  %6291 = call ptr @__errno_location() #12
  %6292 = load i32, ptr %6291, align 4, !tbaa !5
  %6293 = call ptr @strerror(i32 noundef %6292) #11
  %6294 = call ptr @__errno_location() #12
  %6295 = load i32, ptr %6294, align 4, !tbaa !5
  %6296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6283, ptr noundef @.str.81, i32 noundef %6284, ptr noundef @.str.148, ptr noundef @.str.77, i32 noundef 184, ptr noundef %6287, ptr noundef %6290, ptr noundef %6293, i32 noundef %6295) #11
  br label %6297

6297:                                             ; preds = %6280, %6263
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %6298

6298:                                             ; preds = %6297
  br label %6299

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

6300:                                             ; No predecessors!
  br label %6301

6301:                                             ; preds = %6300
  br label %6302

6302:                                             ; preds = %6301, %6242
  br label %6303

6303:                                             ; preds = %6302
  br label %6304

6304:                                             ; preds = %6303
  br label %6305

6305:                                             ; preds = %6304
  %6306 = load i32, ptr @test_count, align 4, !tbaa !5
  %6307 = add nsw i32 %6306, 1
  store i32 %6307, ptr @test_count, align 4, !tbaa !5
  %6308 = call i32 @s2n_psk_wipe(ptr noundef %114)
  %6309 = getelementptr inbounds %struct.s2n_result, ptr %125, i32 0, i32 0
  store i32 %6308, ptr %6309, align 4
  %6310 = getelementptr inbounds %struct.s2n_result, ptr %125, i32 0, i32 0
  %6311 = load i32, ptr %6310, align 4
  %6312 = call zeroext i1 @s2n_result_is_ok(i32 %6311)
  br i1 %6312, label %6366, label %6313

6313:                                             ; preds = %6305
  br label %6314

6314:                                             ; preds = %6313
  br label %6315

6315:                                             ; preds = %6314
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  %6316 = call ptr @__errno_location() #12
  %6317 = load i32, ptr %6316, align 4, !tbaa !5
  store i32 %6317, ptr %126, align 4, !tbaa !5
  %6318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6319 = call i32 @s2n_print_stacktrace(ptr noundef %6318)
  %6320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6321 = trunc i8 %6320 to i1
  br i1 %6321, label %6322, label %6344

6322:                                             ; preds = %6315
  %6323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6324 = call i32 @fileno(ptr noundef %6323) #11
  %6325 = call i32 @isatty(i32 noundef %6324) #11
  %6326 = icmp ne i32 %6325, 0
  br i1 %6326, label %6327, label %6344

6327:                                             ; preds = %6322
  %6328 = load i32, ptr %126, align 4, !tbaa !5
  %6329 = call ptr @__errno_location() #12
  store i32 %6328, ptr %6329, align 4, !tbaa !5
  %6330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6331 = load i32, ptr @test_count, align 4, !tbaa !5
  %6332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6333 = load i32, ptr %6332, align 4, !tbaa !5
  %6334 = call ptr @s2n_strerror(i32 noundef %6333, ptr noundef @.str.80)
  %6335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6336 = load i32, ptr %6335, align 4, !tbaa !5
  %6337 = call ptr @s2n_strerror_debug(i32 noundef %6336, ptr noundef @.str.80)
  %6338 = call ptr @__errno_location() #12
  %6339 = load i32, ptr %6338, align 4, !tbaa !5
  %6340 = call ptr @strerror(i32 noundef %6339) #11
  %6341 = call ptr @__errno_location() #12
  %6342 = load i32, ptr %6341, align 4, !tbaa !5
  %6343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6330, ptr noundef @.str.78, i32 noundef %6331, ptr noundef @.str.142, ptr noundef @.str.77, i32 noundef 187, ptr noundef %6334, ptr noundef %6337, ptr noundef %6340, i32 noundef %6342) #11
  br label %6361

6344:                                             ; preds = %6322, %6315
  %6345 = load i32, ptr %126, align 4, !tbaa !5
  %6346 = call ptr @__errno_location() #12
  store i32 %6345, ptr %6346, align 4, !tbaa !5
  %6347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6348 = load i32, ptr @test_count, align 4, !tbaa !5
  %6349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6350 = load i32, ptr %6349, align 4, !tbaa !5
  %6351 = call ptr @s2n_strerror(i32 noundef %6350, ptr noundef @.str.80)
  %6352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6353 = load i32, ptr %6352, align 4, !tbaa !5
  %6354 = call ptr @s2n_strerror_debug(i32 noundef %6353, ptr noundef @.str.80)
  %6355 = call ptr @__errno_location() #12
  %6356 = load i32, ptr %6355, align 4, !tbaa !5
  %6357 = call ptr @strerror(i32 noundef %6356) #11
  %6358 = call ptr @__errno_location() #12
  %6359 = load i32, ptr %6358, align 4, !tbaa !5
  %6360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6347, ptr noundef @.str.81, i32 noundef %6348, ptr noundef @.str.142, ptr noundef @.str.77, i32 noundef 187, ptr noundef %6351, ptr noundef %6354, ptr noundef %6357, i32 noundef %6359) #11
  br label %6361

6361:                                             ; preds = %6344, %6327
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %6362

6362:                                             ; preds = %6361
  br label %6363

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

6364:                                             ; No predecessors!
  br label %6365

6365:                                             ; preds = %6364
  br label %6366

6366:                                             ; preds = %6365, %6305
  br label %6367

6367:                                             ; preds = %6366
  br label %6368

6368:                                             ; preds = %6367
  br label %6369

6369:                                             ; preds = %6368
  %6370 = load i32, ptr @test_count, align 4, !tbaa !5
  %6371 = add nsw i32 %6370, 1
  store i32 %6371, ptr @test_count, align 4, !tbaa !5
  %6372 = getelementptr inbounds %struct.s2n_psk, ptr %114, i32 0, i32 1
  %6373 = getelementptr inbounds %struct.s2n_blob, ptr %6372, i32 0, i32 0
  %6374 = load ptr, ptr %6373, align 8, !tbaa !25
  %6375 = icmp eq ptr %6374, null
  br i1 %6375, label %6429, label %6376

6376:                                             ; preds = %6369
  br label %6377

6377:                                             ; preds = %6376
  br label %6378

6378:                                             ; preds = %6377
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #11
  %6379 = call ptr @__errno_location() #12
  %6380 = load i32, ptr %6379, align 4, !tbaa !5
  store i32 %6380, ptr %127, align 4, !tbaa !5
  %6381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6382 = call i32 @s2n_print_stacktrace(ptr noundef %6381)
  %6383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6384 = trunc i8 %6383 to i1
  br i1 %6384, label %6385, label %6407

6385:                                             ; preds = %6378
  %6386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6387 = call i32 @fileno(ptr noundef %6386) #11
  %6388 = call i32 @isatty(i32 noundef %6387) #11
  %6389 = icmp ne i32 %6388, 0
  br i1 %6389, label %6390, label %6407

6390:                                             ; preds = %6385
  %6391 = load i32, ptr %127, align 4, !tbaa !5
  %6392 = call ptr @__errno_location() #12
  store i32 %6391, ptr %6392, align 4, !tbaa !5
  %6393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6394 = load i32, ptr @test_count, align 4, !tbaa !5
  %6395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6396 = load i32, ptr %6395, align 4, !tbaa !5
  %6397 = call ptr @s2n_strerror(i32 noundef %6396, ptr noundef @.str.80)
  %6398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6399 = load i32, ptr %6398, align 4, !tbaa !5
  %6400 = call ptr @s2n_strerror_debug(i32 noundef %6399, ptr noundef @.str.80)
  %6401 = call ptr @__errno_location() #12
  %6402 = load i32, ptr %6401, align 4, !tbaa !5
  %6403 = call ptr @strerror(i32 noundef %6402) #11
  %6404 = call ptr @__errno_location() #12
  %6405 = load i32, ptr %6404, align 4, !tbaa !5
  %6406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6393, ptr noundef @.str.78, i32 noundef %6394, ptr noundef @.str.149, ptr noundef @.str.77, i32 noundef 188, ptr noundef %6397, ptr noundef %6400, ptr noundef %6403, i32 noundef %6405) #11
  br label %6424

6407:                                             ; preds = %6385, %6378
  %6408 = load i32, ptr %127, align 4, !tbaa !5
  %6409 = call ptr @__errno_location() #12
  store i32 %6408, ptr %6409, align 4, !tbaa !5
  %6410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6411 = load i32, ptr @test_count, align 4, !tbaa !5
  %6412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6413 = load i32, ptr %6412, align 4, !tbaa !5
  %6414 = call ptr @s2n_strerror(i32 noundef %6413, ptr noundef @.str.80)
  %6415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6416 = load i32, ptr %6415, align 4, !tbaa !5
  %6417 = call ptr @s2n_strerror_debug(i32 noundef %6416, ptr noundef @.str.80)
  %6418 = call ptr @__errno_location() #12
  %6419 = load i32, ptr %6418, align 4, !tbaa !5
  %6420 = call ptr @strerror(i32 noundef %6419) #11
  %6421 = call ptr @__errno_location() #12
  %6422 = load i32, ptr %6421, align 4, !tbaa !5
  %6423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6410, ptr noundef @.str.81, i32 noundef %6411, ptr noundef @.str.149, ptr noundef @.str.77, i32 noundef 188, ptr noundef %6414, ptr noundef %6417, ptr noundef %6420, i32 noundef %6422) #11
  br label %6424

6424:                                             ; preds = %6407, %6390
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  br label %6425

6425:                                             ; preds = %6424
  br label %6426

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

6427:                                             ; No predecessors!
  br label %6428

6428:                                             ; preds = %6427
  br label %6429

6429:                                             ; preds = %6428, %6369
  br label %6430

6430:                                             ; preds = %6429
  br label %6431

6431:                                             ; preds = %6430
  br label %6432

6432:                                             ; preds = %6431
  %6433 = load i32, ptr @test_count, align 4, !tbaa !5
  %6434 = add nsw i32 %6433, 1
  store i32 %6434, ptr @test_count, align 4, !tbaa !5
  %6435 = getelementptr inbounds %struct.s2n_psk, ptr %114, i32 0, i32 1
  %6436 = getelementptr inbounds %struct.s2n_blob, ptr %6435, i32 0, i32 1
  %6437 = load i32, ptr %6436, align 8, !tbaa !24
  %6438 = icmp eq i32 %6437, 0
  br i1 %6438, label %6492, label %6439

6439:                                             ; preds = %6432
  br label %6440

6440:                                             ; preds = %6439
  br label %6441

6441:                                             ; preds = %6440
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %6442 = call ptr @__errno_location() #12
  %6443 = load i32, ptr %6442, align 4, !tbaa !5
  store i32 %6443, ptr %128, align 4, !tbaa !5
  %6444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6445 = call i32 @s2n_print_stacktrace(ptr noundef %6444)
  %6446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6447 = trunc i8 %6446 to i1
  br i1 %6447, label %6448, label %6470

6448:                                             ; preds = %6441
  %6449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6450 = call i32 @fileno(ptr noundef %6449) #11
  %6451 = call i32 @isatty(i32 noundef %6450) #11
  %6452 = icmp ne i32 %6451, 0
  br i1 %6452, label %6453, label %6470

6453:                                             ; preds = %6448
  %6454 = load i32, ptr %128, align 4, !tbaa !5
  %6455 = call ptr @__errno_location() #12
  store i32 %6454, ptr %6455, align 4, !tbaa !5
  %6456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6457 = load i32, ptr @test_count, align 4, !tbaa !5
  %6458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6459 = load i32, ptr %6458, align 4, !tbaa !5
  %6460 = call ptr @s2n_strerror(i32 noundef %6459, ptr noundef @.str.80)
  %6461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6462 = load i32, ptr %6461, align 4, !tbaa !5
  %6463 = call ptr @s2n_strerror_debug(i32 noundef %6462, ptr noundef @.str.80)
  %6464 = call ptr @__errno_location() #12
  %6465 = load i32, ptr %6464, align 4, !tbaa !5
  %6466 = call ptr @strerror(i32 noundef %6465) #11
  %6467 = call ptr @__errno_location() #12
  %6468 = load i32, ptr %6467, align 4, !tbaa !5
  %6469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6456, ptr noundef @.str.78, i32 noundef %6457, ptr noundef @.str.150, ptr noundef @.str.77, i32 noundef 189, ptr noundef %6460, ptr noundef %6463, ptr noundef %6466, i32 noundef %6468) #11
  br label %6487

6470:                                             ; preds = %6448, %6441
  %6471 = load i32, ptr %128, align 4, !tbaa !5
  %6472 = call ptr @__errno_location() #12
  store i32 %6471, ptr %6472, align 4, !tbaa !5
  %6473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6474 = load i32, ptr @test_count, align 4, !tbaa !5
  %6475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6476 = load i32, ptr %6475, align 4, !tbaa !5
  %6477 = call ptr @s2n_strerror(i32 noundef %6476, ptr noundef @.str.80)
  %6478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6479 = load i32, ptr %6478, align 4, !tbaa !5
  %6480 = call ptr @s2n_strerror_debug(i32 noundef %6479, ptr noundef @.str.80)
  %6481 = call ptr @__errno_location() #12
  %6482 = load i32, ptr %6481, align 4, !tbaa !5
  %6483 = call ptr @strerror(i32 noundef %6482) #11
  %6484 = call ptr @__errno_location() #12
  %6485 = load i32, ptr %6484, align 4, !tbaa !5
  %6486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6473, ptr noundef @.str.81, i32 noundef %6474, ptr noundef @.str.150, ptr noundef @.str.77, i32 noundef 189, ptr noundef %6477, ptr noundef %6480, ptr noundef %6483, i32 noundef %6485) #11
  br label %6487

6487:                                             ; preds = %6470, %6453
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %6488

6488:                                             ; preds = %6487
  br label %6489

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

6490:                                             ; No predecessors!
  br label %6491

6491:                                             ; preds = %6490
  br label %6492

6492:                                             ; preds = %6491, %6432
  br label %6493

6493:                                             ; preds = %6492
  br label %6494

6494:                                             ; preds = %6493
  br label %6495

6495:                                             ; preds = %6494
  %6496 = load i32, ptr @test_count, align 4, !tbaa !5
  %6497 = add nsw i32 %6496, 1
  store i32 %6497, ptr @test_count, align 4, !tbaa !5
  %6498 = getelementptr inbounds %struct.s2n_psk, ptr %114, i32 0, i32 2
  %6499 = getelementptr inbounds %struct.s2n_blob, ptr %6498, i32 0, i32 0
  %6500 = load ptr, ptr %6499, align 8, !tbaa !28
  %6501 = icmp eq ptr %6500, null
  br i1 %6501, label %6555, label %6502

6502:                                             ; preds = %6495
  br label %6503

6503:                                             ; preds = %6502
  br label %6504

6504:                                             ; preds = %6503
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %6505 = call ptr @__errno_location() #12
  %6506 = load i32, ptr %6505, align 4, !tbaa !5
  store i32 %6506, ptr %129, align 4, !tbaa !5
  %6507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6508 = call i32 @s2n_print_stacktrace(ptr noundef %6507)
  %6509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6510 = trunc i8 %6509 to i1
  br i1 %6510, label %6511, label %6533

6511:                                             ; preds = %6504
  %6512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6513 = call i32 @fileno(ptr noundef %6512) #11
  %6514 = call i32 @isatty(i32 noundef %6513) #11
  %6515 = icmp ne i32 %6514, 0
  br i1 %6515, label %6516, label %6533

6516:                                             ; preds = %6511
  %6517 = load i32, ptr %129, align 4, !tbaa !5
  %6518 = call ptr @__errno_location() #12
  store i32 %6517, ptr %6518, align 4, !tbaa !5
  %6519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6520 = load i32, ptr @test_count, align 4, !tbaa !5
  %6521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6522 = load i32, ptr %6521, align 4, !tbaa !5
  %6523 = call ptr @s2n_strerror(i32 noundef %6522, ptr noundef @.str.80)
  %6524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6525 = load i32, ptr %6524, align 4, !tbaa !5
  %6526 = call ptr @s2n_strerror_debug(i32 noundef %6525, ptr noundef @.str.80)
  %6527 = call ptr @__errno_location() #12
  %6528 = load i32, ptr %6527, align 4, !tbaa !5
  %6529 = call ptr @strerror(i32 noundef %6528) #11
  %6530 = call ptr @__errno_location() #12
  %6531 = load i32, ptr %6530, align 4, !tbaa !5
  %6532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6519, ptr noundef @.str.78, i32 noundef %6520, ptr noundef @.str.151, ptr noundef @.str.77, i32 noundef 190, ptr noundef %6523, ptr noundef %6526, ptr noundef %6529, i32 noundef %6531) #11
  br label %6550

6533:                                             ; preds = %6511, %6504
  %6534 = load i32, ptr %129, align 4, !tbaa !5
  %6535 = call ptr @__errno_location() #12
  store i32 %6534, ptr %6535, align 4, !tbaa !5
  %6536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6537 = load i32, ptr @test_count, align 4, !tbaa !5
  %6538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6539 = load i32, ptr %6538, align 4, !tbaa !5
  %6540 = call ptr @s2n_strerror(i32 noundef %6539, ptr noundef @.str.80)
  %6541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6542 = load i32, ptr %6541, align 4, !tbaa !5
  %6543 = call ptr @s2n_strerror_debug(i32 noundef %6542, ptr noundef @.str.80)
  %6544 = call ptr @__errno_location() #12
  %6545 = load i32, ptr %6544, align 4, !tbaa !5
  %6546 = call ptr @strerror(i32 noundef %6545) #11
  %6547 = call ptr @__errno_location() #12
  %6548 = load i32, ptr %6547, align 4, !tbaa !5
  %6549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6536, ptr noundef @.str.81, i32 noundef %6537, ptr noundef @.str.151, ptr noundef @.str.77, i32 noundef 190, ptr noundef %6540, ptr noundef %6543, ptr noundef %6546, i32 noundef %6548) #11
  br label %6550

6550:                                             ; preds = %6533, %6516
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %6551

6551:                                             ; preds = %6550
  br label %6552

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

6553:                                             ; No predecessors!
  br label %6554

6554:                                             ; preds = %6553
  br label %6555

6555:                                             ; preds = %6554, %6495
  br label %6556

6556:                                             ; preds = %6555
  br label %6557

6557:                                             ; preds = %6556
  br label %6558

6558:                                             ; preds = %6557
  %6559 = load i32, ptr @test_count, align 4, !tbaa !5
  %6560 = add nsw i32 %6559, 1
  store i32 %6560, ptr @test_count, align 4, !tbaa !5
  %6561 = getelementptr inbounds %struct.s2n_psk, ptr %114, i32 0, i32 2
  %6562 = getelementptr inbounds %struct.s2n_blob, ptr %6561, i32 0, i32 1
  %6563 = load i32, ptr %6562, align 8, !tbaa !27
  %6564 = icmp eq i32 %6563, 0
  br i1 %6564, label %6618, label %6565

6565:                                             ; preds = %6558
  br label %6566

6566:                                             ; preds = %6565
  br label %6567

6567:                                             ; preds = %6566
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  %6568 = call ptr @__errno_location() #12
  %6569 = load i32, ptr %6568, align 4, !tbaa !5
  store i32 %6569, ptr %130, align 4, !tbaa !5
  %6570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6571 = call i32 @s2n_print_stacktrace(ptr noundef %6570)
  %6572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6573 = trunc i8 %6572 to i1
  br i1 %6573, label %6574, label %6596

6574:                                             ; preds = %6567
  %6575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6576 = call i32 @fileno(ptr noundef %6575) #11
  %6577 = call i32 @isatty(i32 noundef %6576) #11
  %6578 = icmp ne i32 %6577, 0
  br i1 %6578, label %6579, label %6596

6579:                                             ; preds = %6574
  %6580 = load i32, ptr %130, align 4, !tbaa !5
  %6581 = call ptr @__errno_location() #12
  store i32 %6580, ptr %6581, align 4, !tbaa !5
  %6582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6583 = load i32, ptr @test_count, align 4, !tbaa !5
  %6584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6585 = load i32, ptr %6584, align 4, !tbaa !5
  %6586 = call ptr @s2n_strerror(i32 noundef %6585, ptr noundef @.str.80)
  %6587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6588 = load i32, ptr %6587, align 4, !tbaa !5
  %6589 = call ptr @s2n_strerror_debug(i32 noundef %6588, ptr noundef @.str.80)
  %6590 = call ptr @__errno_location() #12
  %6591 = load i32, ptr %6590, align 4, !tbaa !5
  %6592 = call ptr @strerror(i32 noundef %6591) #11
  %6593 = call ptr @__errno_location() #12
  %6594 = load i32, ptr %6593, align 4, !tbaa !5
  %6595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6582, ptr noundef @.str.78, i32 noundef %6583, ptr noundef @.str.152, ptr noundef @.str.77, i32 noundef 191, ptr noundef %6586, ptr noundef %6589, ptr noundef %6592, i32 noundef %6594) #11
  br label %6613

6596:                                             ; preds = %6574, %6567
  %6597 = load i32, ptr %130, align 4, !tbaa !5
  %6598 = call ptr @__errno_location() #12
  store i32 %6597, ptr %6598, align 4, !tbaa !5
  %6599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6600 = load i32, ptr @test_count, align 4, !tbaa !5
  %6601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6602 = load i32, ptr %6601, align 4, !tbaa !5
  %6603 = call ptr @s2n_strerror(i32 noundef %6602, ptr noundef @.str.80)
  %6604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6605 = load i32, ptr %6604, align 4, !tbaa !5
  %6606 = call ptr @s2n_strerror_debug(i32 noundef %6605, ptr noundef @.str.80)
  %6607 = call ptr @__errno_location() #12
  %6608 = load i32, ptr %6607, align 4, !tbaa !5
  %6609 = call ptr @strerror(i32 noundef %6608) #11
  %6610 = call ptr @__errno_location() #12
  %6611 = load i32, ptr %6610, align 4, !tbaa !5
  %6612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6599, ptr noundef @.str.81, i32 noundef %6600, ptr noundef @.str.152, ptr noundef @.str.77, i32 noundef 191, ptr noundef %6603, ptr noundef %6606, ptr noundef %6609, i32 noundef %6611) #11
  br label %6613

6613:                                             ; preds = %6596, %6579
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %6614

6614:                                             ; preds = %6613
  br label %6615

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

6616:                                             ; No predecessors!
  br label %6617

6617:                                             ; preds = %6616
  br label %6618

6618:                                             ; preds = %6617, %6558
  br label %6619

6619:                                             ; preds = %6618
  br label %6620

6620:                                             ; preds = %6619
  br label %6621

6621:                                             ; preds = %6620
  %6622 = load i32, ptr @test_count, align 4, !tbaa !5
  %6623 = add nsw i32 %6622, 1
  store i32 %6623, ptr @test_count, align 4, !tbaa !5
  %6624 = getelementptr inbounds %struct.s2n_psk, ptr %114, i32 0, i32 6
  %6625 = getelementptr inbounds %struct.s2n_blob, ptr %6624, i32 0, i32 0
  %6626 = load ptr, ptr %6625, align 8, !tbaa !30
  %6627 = icmp eq ptr %6626, null
  br i1 %6627, label %6681, label %6628

6628:                                             ; preds = %6621
  br label %6629

6629:                                             ; preds = %6628
  br label %6630

6630:                                             ; preds = %6629
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #11
  %6631 = call ptr @__errno_location() #12
  %6632 = load i32, ptr %6631, align 4, !tbaa !5
  store i32 %6632, ptr %131, align 4, !tbaa !5
  %6633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6634 = call i32 @s2n_print_stacktrace(ptr noundef %6633)
  %6635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6636 = trunc i8 %6635 to i1
  br i1 %6636, label %6637, label %6659

6637:                                             ; preds = %6630
  %6638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6639 = call i32 @fileno(ptr noundef %6638) #11
  %6640 = call i32 @isatty(i32 noundef %6639) #11
  %6641 = icmp ne i32 %6640, 0
  br i1 %6641, label %6642, label %6659

6642:                                             ; preds = %6637
  %6643 = load i32, ptr %131, align 4, !tbaa !5
  %6644 = call ptr @__errno_location() #12
  store i32 %6643, ptr %6644, align 4, !tbaa !5
  %6645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6646 = load i32, ptr @test_count, align 4, !tbaa !5
  %6647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6648 = load i32, ptr %6647, align 4, !tbaa !5
  %6649 = call ptr @s2n_strerror(i32 noundef %6648, ptr noundef @.str.80)
  %6650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6651 = load i32, ptr %6650, align 4, !tbaa !5
  %6652 = call ptr @s2n_strerror_debug(i32 noundef %6651, ptr noundef @.str.80)
  %6653 = call ptr @__errno_location() #12
  %6654 = load i32, ptr %6653, align 4, !tbaa !5
  %6655 = call ptr @strerror(i32 noundef %6654) #11
  %6656 = call ptr @__errno_location() #12
  %6657 = load i32, ptr %6656, align 4, !tbaa !5
  %6658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6645, ptr noundef @.str.78, i32 noundef %6646, ptr noundef @.str.153, ptr noundef @.str.77, i32 noundef 192, ptr noundef %6649, ptr noundef %6652, ptr noundef %6655, i32 noundef %6657) #11
  br label %6676

6659:                                             ; preds = %6637, %6630
  %6660 = load i32, ptr %131, align 4, !tbaa !5
  %6661 = call ptr @__errno_location() #12
  store i32 %6660, ptr %6661, align 4, !tbaa !5
  %6662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6663 = load i32, ptr @test_count, align 4, !tbaa !5
  %6664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6665 = load i32, ptr %6664, align 4, !tbaa !5
  %6666 = call ptr @s2n_strerror(i32 noundef %6665, ptr noundef @.str.80)
  %6667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6668 = load i32, ptr %6667, align 4, !tbaa !5
  %6669 = call ptr @s2n_strerror_debug(i32 noundef %6668, ptr noundef @.str.80)
  %6670 = call ptr @__errno_location() #12
  %6671 = load i32, ptr %6670, align 4, !tbaa !5
  %6672 = call ptr @strerror(i32 noundef %6671) #11
  %6673 = call ptr @__errno_location() #12
  %6674 = load i32, ptr %6673, align 4, !tbaa !5
  %6675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6662, ptr noundef @.str.81, i32 noundef %6663, ptr noundef @.str.153, ptr noundef @.str.77, i32 noundef 192, ptr noundef %6666, ptr noundef %6669, ptr noundef %6672, i32 noundef %6674) #11
  br label %6676

6676:                                             ; preds = %6659, %6642
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %6677

6677:                                             ; preds = %6676
  br label %6678

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

6679:                                             ; No predecessors!
  br label %6680

6680:                                             ; preds = %6679
  br label %6681

6681:                                             ; preds = %6680, %6621
  br label %6682

6682:                                             ; preds = %6681
  br label %6683

6683:                                             ; preds = %6682
  br label %6684

6684:                                             ; preds = %6683
  %6685 = load i32, ptr @test_count, align 4, !tbaa !5
  %6686 = add nsw i32 %6685, 1
  store i32 %6686, ptr @test_count, align 4, !tbaa !5
  %6687 = getelementptr inbounds %struct.s2n_psk, ptr %114, i32 0, i32 6
  %6688 = getelementptr inbounds %struct.s2n_blob, ptr %6687, i32 0, i32 1
  %6689 = load i32, ptr %6688, align 8, !tbaa !29
  %6690 = icmp eq i32 %6689, 0
  br i1 %6690, label %6744, label %6691

6691:                                             ; preds = %6684
  br label %6692

6692:                                             ; preds = %6691
  br label %6693

6693:                                             ; preds = %6692
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %6694 = call ptr @__errno_location() #12
  %6695 = load i32, ptr %6694, align 4, !tbaa !5
  store i32 %6695, ptr %132, align 4, !tbaa !5
  %6696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6697 = call i32 @s2n_print_stacktrace(ptr noundef %6696)
  %6698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6699 = trunc i8 %6698 to i1
  br i1 %6699, label %6700, label %6722

6700:                                             ; preds = %6693
  %6701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6702 = call i32 @fileno(ptr noundef %6701) #11
  %6703 = call i32 @isatty(i32 noundef %6702) #11
  %6704 = icmp ne i32 %6703, 0
  br i1 %6704, label %6705, label %6722

6705:                                             ; preds = %6700
  %6706 = load i32, ptr %132, align 4, !tbaa !5
  %6707 = call ptr @__errno_location() #12
  store i32 %6706, ptr %6707, align 4, !tbaa !5
  %6708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6709 = load i32, ptr @test_count, align 4, !tbaa !5
  %6710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6711 = load i32, ptr %6710, align 4, !tbaa !5
  %6712 = call ptr @s2n_strerror(i32 noundef %6711, ptr noundef @.str.80)
  %6713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6714 = load i32, ptr %6713, align 4, !tbaa !5
  %6715 = call ptr @s2n_strerror_debug(i32 noundef %6714, ptr noundef @.str.80)
  %6716 = call ptr @__errno_location() #12
  %6717 = load i32, ptr %6716, align 4, !tbaa !5
  %6718 = call ptr @strerror(i32 noundef %6717) #11
  %6719 = call ptr @__errno_location() #12
  %6720 = load i32, ptr %6719, align 4, !tbaa !5
  %6721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6708, ptr noundef @.str.78, i32 noundef %6709, ptr noundef @.str.154, ptr noundef @.str.77, i32 noundef 193, ptr noundef %6712, ptr noundef %6715, ptr noundef %6718, i32 noundef %6720) #11
  br label %6739

6722:                                             ; preds = %6700, %6693
  %6723 = load i32, ptr %132, align 4, !tbaa !5
  %6724 = call ptr @__errno_location() #12
  store i32 %6723, ptr %6724, align 4, !tbaa !5
  %6725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6726 = load i32, ptr @test_count, align 4, !tbaa !5
  %6727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6728 = load i32, ptr %6727, align 4, !tbaa !5
  %6729 = call ptr @s2n_strerror(i32 noundef %6728, ptr noundef @.str.80)
  %6730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6731 = load i32, ptr %6730, align 4, !tbaa !5
  %6732 = call ptr @s2n_strerror_debug(i32 noundef %6731, ptr noundef @.str.80)
  %6733 = call ptr @__errno_location() #12
  %6734 = load i32, ptr %6733, align 4, !tbaa !5
  %6735 = call ptr @strerror(i32 noundef %6734) #11
  %6736 = call ptr @__errno_location() #12
  %6737 = load i32, ptr %6736, align 4, !tbaa !5
  %6738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6725, ptr noundef @.str.81, i32 noundef %6726, ptr noundef @.str.154, ptr noundef @.str.77, i32 noundef 193, ptr noundef %6729, ptr noundef %6732, ptr noundef %6735, i32 noundef %6737) #11
  br label %6739

6739:                                             ; preds = %6722, %6705
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %6740

6740:                                             ; preds = %6739
  br label %6741

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

6742:                                             ; No predecessors!
  br label %6743

6743:                                             ; preds = %6742
  br label %6744

6744:                                             ; preds = %6743, %6684
  br label %6745

6745:                                             ; preds = %6744
  br label %6746

6746:                                             ; preds = %6745
  br label %6747

6747:                                             ; preds = %6746
  %6748 = load i32, ptr @test_count, align 4, !tbaa !5
  %6749 = add nsw i32 %6748, 1
  store i32 %6749, ptr @test_count, align 4, !tbaa !5
  %6750 = call i32 @s2n_psk_wipe(ptr noundef %114)
  %6751 = getelementptr inbounds %struct.s2n_result, ptr %133, i32 0, i32 0
  store i32 %6750, ptr %6751, align 4
  %6752 = getelementptr inbounds %struct.s2n_result, ptr %133, i32 0, i32 0
  %6753 = load i32, ptr %6752, align 4
  %6754 = call zeroext i1 @s2n_result_is_ok(i32 %6753)
  br i1 %6754, label %6808, label %6755

6755:                                             ; preds = %6747
  br label %6756

6756:                                             ; preds = %6755
  br label %6757

6757:                                             ; preds = %6756
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #11
  %6758 = call ptr @__errno_location() #12
  %6759 = load i32, ptr %6758, align 4, !tbaa !5
  store i32 %6759, ptr %134, align 4, !tbaa !5
  %6760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6761 = call i32 @s2n_print_stacktrace(ptr noundef %6760)
  %6762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6763 = trunc i8 %6762 to i1
  br i1 %6763, label %6764, label %6786

6764:                                             ; preds = %6757
  %6765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6766 = call i32 @fileno(ptr noundef %6765) #11
  %6767 = call i32 @isatty(i32 noundef %6766) #11
  %6768 = icmp ne i32 %6767, 0
  br i1 %6768, label %6769, label %6786

6769:                                             ; preds = %6764
  %6770 = load i32, ptr %134, align 4, !tbaa !5
  %6771 = call ptr @__errno_location() #12
  store i32 %6770, ptr %6771, align 4, !tbaa !5
  %6772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6773 = load i32, ptr @test_count, align 4, !tbaa !5
  %6774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6775 = load i32, ptr %6774, align 4, !tbaa !5
  %6776 = call ptr @s2n_strerror(i32 noundef %6775, ptr noundef @.str.80)
  %6777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6778 = load i32, ptr %6777, align 4, !tbaa !5
  %6779 = call ptr @s2n_strerror_debug(i32 noundef %6778, ptr noundef @.str.80)
  %6780 = call ptr @__errno_location() #12
  %6781 = load i32, ptr %6780, align 4, !tbaa !5
  %6782 = call ptr @strerror(i32 noundef %6781) #11
  %6783 = call ptr @__errno_location() #12
  %6784 = load i32, ptr %6783, align 4, !tbaa !5
  %6785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6772, ptr noundef @.str.78, i32 noundef %6773, ptr noundef @.str.142, ptr noundef @.str.77, i32 noundef 196, ptr noundef %6776, ptr noundef %6779, ptr noundef %6782, i32 noundef %6784) #11
  br label %6803

6786:                                             ; preds = %6764, %6757
  %6787 = load i32, ptr %134, align 4, !tbaa !5
  %6788 = call ptr @__errno_location() #12
  store i32 %6787, ptr %6788, align 4, !tbaa !5
  %6789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6790 = load i32, ptr @test_count, align 4, !tbaa !5
  %6791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6792 = load i32, ptr %6791, align 4, !tbaa !5
  %6793 = call ptr @s2n_strerror(i32 noundef %6792, ptr noundef @.str.80)
  %6794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6795 = load i32, ptr %6794, align 4, !tbaa !5
  %6796 = call ptr @s2n_strerror_debug(i32 noundef %6795, ptr noundef @.str.80)
  %6797 = call ptr @__errno_location() #12
  %6798 = load i32, ptr %6797, align 4, !tbaa !5
  %6799 = call ptr @strerror(i32 noundef %6798) #11
  %6800 = call ptr @__errno_location() #12
  %6801 = load i32, ptr %6800, align 4, !tbaa !5
  %6802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6789, ptr noundef @.str.81, i32 noundef %6790, ptr noundef @.str.142, ptr noundef @.str.77, i32 noundef 196, ptr noundef %6793, ptr noundef %6796, ptr noundef %6799, i32 noundef %6801) #11
  br label %6803

6803:                                             ; preds = %6786, %6769
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %6804

6804:                                             ; preds = %6803
  br label %6805

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

6806:                                             ; No predecessors!
  br label %6807

6807:                                             ; preds = %6806
  br label %6808

6808:                                             ; preds = %6807, %6747
  br label %6809

6809:                                             ; preds = %6808
  br label %6810

6810:                                             ; preds = %6809
  call void @llvm.lifetime.end.p0(i64 168, ptr %114) #11
  call void @llvm.lifetime.end.p0(i64 11, ptr %113) #11
  br label %6811

6811:                                             ; preds = %6810
  %6812 = load i32, ptr @test_count, align 4, !tbaa !5
  %6813 = add nsw i32 %6812, 1
  store i32 %6813, ptr @test_count, align 4, !tbaa !5
  %6814 = call i32 @s2n_psk_free(ptr noundef null)
  %6815 = icmp eq i32 %6814, -1
  br i1 %6815, label %6816, label %6867

6816:                                             ; preds = %6811
  br label %6817

6817:                                             ; preds = %6816
  br label %6818

6818:                                             ; preds = %6817
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %6819 = call ptr @__errno_location() #12
  %6820 = load i32, ptr %6819, align 4, !tbaa !5
  store i32 %6820, ptr %135, align 4, !tbaa !5
  %6821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6822 = call i32 @s2n_print_stacktrace(ptr noundef %6821)
  %6823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6824 = trunc i8 %6823 to i1
  br i1 %6824, label %6825, label %6847

6825:                                             ; preds = %6818
  %6826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6827 = call i32 @fileno(ptr noundef %6826) #11
  %6828 = call i32 @isatty(i32 noundef %6827) #11
  %6829 = icmp ne i32 %6828, 0
  br i1 %6829, label %6830, label %6847

6830:                                             ; preds = %6825
  %6831 = load i32, ptr %135, align 4, !tbaa !5
  %6832 = call ptr @__errno_location() #12
  store i32 %6831, ptr %6832, align 4, !tbaa !5
  %6833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6834 = load i32, ptr @test_count, align 4, !tbaa !5
  %6835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6836 = load i32, ptr %6835, align 4, !tbaa !5
  %6837 = call ptr @s2n_strerror(i32 noundef %6836, ptr noundef @.str.80)
  %6838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6839 = load i32, ptr %6838, align 4, !tbaa !5
  %6840 = call ptr @s2n_strerror_debug(i32 noundef %6839, ptr noundef @.str.80)
  %6841 = call ptr @__errno_location() #12
  %6842 = load i32, ptr %6841, align 4, !tbaa !5
  %6843 = call ptr @strerror(i32 noundef %6842) #11
  %6844 = call ptr @__errno_location() #12
  %6845 = load i32, ptr %6844, align 4, !tbaa !5
  %6846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6833, ptr noundef @.str.78, i32 noundef %6834, ptr noundef @.str.155, ptr noundef @.str.77, i32 noundef 201, ptr noundef %6837, ptr noundef %6840, ptr noundef %6843, i32 noundef %6845) #11
  br label %6864

6847:                                             ; preds = %6825, %6818
  %6848 = load i32, ptr %135, align 4, !tbaa !5
  %6849 = call ptr @__errno_location() #12
  store i32 %6848, ptr %6849, align 4, !tbaa !5
  %6850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6851 = load i32, ptr @test_count, align 4, !tbaa !5
  %6852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6853 = load i32, ptr %6852, align 4, !tbaa !5
  %6854 = call ptr @s2n_strerror(i32 noundef %6853, ptr noundef @.str.80)
  %6855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6856 = load i32, ptr %6855, align 4, !tbaa !5
  %6857 = call ptr @s2n_strerror_debug(i32 noundef %6856, ptr noundef @.str.80)
  %6858 = call ptr @__errno_location() #12
  %6859 = load i32, ptr %6858, align 4, !tbaa !5
  %6860 = call ptr @strerror(i32 noundef %6859) #11
  %6861 = call ptr @__errno_location() #12
  %6862 = load i32, ptr %6861, align 4, !tbaa !5
  %6863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6850, ptr noundef @.str.81, i32 noundef %6851, ptr noundef @.str.155, ptr noundef @.str.77, i32 noundef 201, ptr noundef %6854, ptr noundef %6857, ptr noundef %6860, i32 noundef %6862) #11
  br label %6864

6864:                                             ; preds = %6847, %6830
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %6865

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

6866:                                             ; No predecessors!
  br label %6867

6867:                                             ; preds = %6866, %6811
  br label %6868

6868:                                             ; preds = %6867
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #11
  %6869 = call ptr @s2n_external_psk_new()
  store ptr %6869, ptr %136, align 8, !tbaa !9
  br label %6870

6870:                                             ; preds = %6868
  %6871 = load i32, ptr @test_count, align 4, !tbaa !5
  %6872 = add nsw i32 %6871, 1
  store i32 %6872, ptr @test_count, align 4, !tbaa !5
  %6873 = load ptr, ptr %136, align 8, !tbaa !9
  %6874 = icmp eq ptr %6873, null
  br i1 %6874, label %6875, label %6928

6875:                                             ; preds = %6870
  br label %6876

6876:                                             ; preds = %6875
  br label %6877

6877:                                             ; preds = %6876
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #11
  %6878 = call ptr @__errno_location() #12
  %6879 = load i32, ptr %6878, align 4, !tbaa !5
  store i32 %6879, ptr %137, align 4, !tbaa !5
  %6880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6881 = call i32 @s2n_print_stacktrace(ptr noundef %6880)
  %6882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6883 = trunc i8 %6882 to i1
  br i1 %6883, label %6884, label %6906

6884:                                             ; preds = %6877
  %6885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6886 = call i32 @fileno(ptr noundef %6885) #11
  %6887 = call i32 @isatty(i32 noundef %6886) #11
  %6888 = icmp ne i32 %6887, 0
  br i1 %6888, label %6889, label %6906

6889:                                             ; preds = %6884
  %6890 = load i32, ptr %137, align 4, !tbaa !5
  %6891 = call ptr @__errno_location() #12
  store i32 %6890, ptr %6891, align 4, !tbaa !5
  %6892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6893 = load i32, ptr @test_count, align 4, !tbaa !5
  %6894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6895 = load i32, ptr %6894, align 4, !tbaa !5
  %6896 = call ptr @s2n_strerror(i32 noundef %6895, ptr noundef @.str.80)
  %6897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6898 = load i32, ptr %6897, align 4, !tbaa !5
  %6899 = call ptr @s2n_strerror_debug(i32 noundef %6898, ptr noundef @.str.80)
  %6900 = call ptr @__errno_location() #12
  %6901 = load i32, ptr %6900, align 4, !tbaa !5
  %6902 = call ptr @strerror(i32 noundef %6901) #11
  %6903 = call ptr @__errno_location() #12
  %6904 = load i32, ptr %6903, align 4, !tbaa !5
  %6905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6892, ptr noundef @.str.78, i32 noundef %6893, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 204, ptr noundef %6896, ptr noundef %6899, ptr noundef %6902, i32 noundef %6904) #11
  br label %6923

6906:                                             ; preds = %6884, %6877
  %6907 = load i32, ptr %137, align 4, !tbaa !5
  %6908 = call ptr @__errno_location() #12
  store i32 %6907, ptr %6908, align 4, !tbaa !5
  %6909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6910 = load i32, ptr @test_count, align 4, !tbaa !5
  %6911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6912 = load i32, ptr %6911, align 4, !tbaa !5
  %6913 = call ptr @s2n_strerror(i32 noundef %6912, ptr noundef @.str.80)
  %6914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6915 = load i32, ptr %6914, align 4, !tbaa !5
  %6916 = call ptr @s2n_strerror_debug(i32 noundef %6915, ptr noundef @.str.80)
  %6917 = call ptr @__errno_location() #12
  %6918 = load i32, ptr %6917, align 4, !tbaa !5
  %6919 = call ptr @strerror(i32 noundef %6918) #11
  %6920 = call ptr @__errno_location() #12
  %6921 = load i32, ptr %6920, align 4, !tbaa !5
  %6922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6909, ptr noundef @.str.81, i32 noundef %6910, ptr noundef @.str.96, ptr noundef @.str.77, i32 noundef 204, ptr noundef %6913, ptr noundef %6916, ptr noundef %6919, i32 noundef %6921) #11
  br label %6923

6923:                                             ; preds = %6906, %6889
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #11
  br label %6924

6924:                                             ; preds = %6923
  br label %6925

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

6926:                                             ; No predecessors!
  br label %6927

6927:                                             ; preds = %6926
  br label %6928

6928:                                             ; preds = %6927, %6870
  br label %6929

6929:                                             ; preds = %6928
  br label %6930

6930:                                             ; preds = %6929
  br label %6931

6931:                                             ; preds = %6930
  %6932 = load i32, ptr @test_count, align 4, !tbaa !5
  %6933 = add nsw i32 %6932, 1
  store i32 %6933, ptr @test_count, align 4, !tbaa !5
  %6934 = call i32 @s2n_psk_free(ptr noundef %136)
  %6935 = icmp eq i32 %6934, -1
  br i1 %6935, label %6936, label %6989

6936:                                             ; preds = %6931
  br label %6937

6937:                                             ; preds = %6936
  br label %6938

6938:                                             ; preds = %6937
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #11
  %6939 = call ptr @__errno_location() #12
  %6940 = load i32, ptr %6939, align 4, !tbaa !5
  store i32 %6940, ptr %138, align 4, !tbaa !5
  %6941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6942 = call i32 @s2n_print_stacktrace(ptr noundef %6941)
  %6943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6944 = trunc i8 %6943 to i1
  br i1 %6944, label %6945, label %6967

6945:                                             ; preds = %6938
  %6946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6947 = call i32 @fileno(ptr noundef %6946) #11
  %6948 = call i32 @isatty(i32 noundef %6947) #11
  %6949 = icmp ne i32 %6948, 0
  br i1 %6949, label %6950, label %6967

6950:                                             ; preds = %6945
  %6951 = load i32, ptr %138, align 4, !tbaa !5
  %6952 = call ptr @__errno_location() #12
  store i32 %6951, ptr %6952, align 4, !tbaa !5
  %6953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6954 = load i32, ptr @test_count, align 4, !tbaa !5
  %6955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6956 = load i32, ptr %6955, align 4, !tbaa !5
  %6957 = call ptr @s2n_strerror(i32 noundef %6956, ptr noundef @.str.80)
  %6958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6959 = load i32, ptr %6958, align 4, !tbaa !5
  %6960 = call ptr @s2n_strerror_debug(i32 noundef %6959, ptr noundef @.str.80)
  %6961 = call ptr @__errno_location() #12
  %6962 = load i32, ptr %6961, align 4, !tbaa !5
  %6963 = call ptr @strerror(i32 noundef %6962) #11
  %6964 = call ptr @__errno_location() #12
  %6965 = load i32, ptr %6964, align 4, !tbaa !5
  %6966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6953, ptr noundef @.str.78, i32 noundef %6954, ptr noundef @.str.156, ptr noundef @.str.77, i32 noundef 205, ptr noundef %6957, ptr noundef %6960, ptr noundef %6963, i32 noundef %6965) #11
  br label %6984

6967:                                             ; preds = %6945, %6938
  %6968 = load i32, ptr %138, align 4, !tbaa !5
  %6969 = call ptr @__errno_location() #12
  store i32 %6968, ptr %6969, align 4, !tbaa !5
  %6970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6971 = load i32, ptr @test_count, align 4, !tbaa !5
  %6972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6973 = load i32, ptr %6972, align 4, !tbaa !5
  %6974 = call ptr @s2n_strerror(i32 noundef %6973, ptr noundef @.str.80)
  %6975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6976 = load i32, ptr %6975, align 4, !tbaa !5
  %6977 = call ptr @s2n_strerror_debug(i32 noundef %6976, ptr noundef @.str.80)
  %6978 = call ptr @__errno_location() #12
  %6979 = load i32, ptr %6978, align 4, !tbaa !5
  %6980 = call ptr @strerror(i32 noundef %6979) #11
  %6981 = call ptr @__errno_location() #12
  %6982 = load i32, ptr %6981, align 4, !tbaa !5
  %6983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6970, ptr noundef @.str.81, i32 noundef %6971, ptr noundef @.str.156, ptr noundef @.str.77, i32 noundef 205, ptr noundef %6974, ptr noundef %6977, ptr noundef %6980, i32 noundef %6982) #11
  br label %6984

6984:                                             ; preds = %6967, %6950
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %6985

6985:                                             ; preds = %6984
  br label %6986

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

6987:                                             ; No predecessors!
  br label %6988

6988:                                             ; preds = %6987
  br label %6989

6989:                                             ; preds = %6988, %6931
  br label %6990

6990:                                             ; preds = %6989
  br label %6991

6991:                                             ; preds = %6990
  br label %6992

6992:                                             ; preds = %6991
  %6993 = load i32, ptr @test_count, align 4, !tbaa !5
  %6994 = add nsw i32 %6993, 1
  store i32 %6994, ptr @test_count, align 4, !tbaa !5
  %6995 = load ptr, ptr %136, align 8, !tbaa !9
  %6996 = icmp eq ptr %6995, null
  br i1 %6996, label %7050, label %6997

6997:                                             ; preds = %6992
  br label %6998

6998:                                             ; preds = %6997
  br label %6999

6999:                                             ; preds = %6998
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #11
  %7000 = call ptr @__errno_location() #12
  %7001 = load i32, ptr %7000, align 4, !tbaa !5
  store i32 %7001, ptr %139, align 4, !tbaa !5
  %7002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7003 = call i32 @s2n_print_stacktrace(ptr noundef %7002)
  %7004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7005 = trunc i8 %7004 to i1
  br i1 %7005, label %7006, label %7028

7006:                                             ; preds = %6999
  %7007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7008 = call i32 @fileno(ptr noundef %7007) #11
  %7009 = call i32 @isatty(i32 noundef %7008) #11
  %7010 = icmp ne i32 %7009, 0
  br i1 %7010, label %7011, label %7028

7011:                                             ; preds = %7006
  %7012 = load i32, ptr %139, align 4, !tbaa !5
  %7013 = call ptr @__errno_location() #12
  store i32 %7012, ptr %7013, align 4, !tbaa !5
  %7014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7015 = load i32, ptr @test_count, align 4, !tbaa !5
  %7016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7017 = load i32, ptr %7016, align 4, !tbaa !5
  %7018 = call ptr @s2n_strerror(i32 noundef %7017, ptr noundef @.str.80)
  %7019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7020 = load i32, ptr %7019, align 4, !tbaa !5
  %7021 = call ptr @s2n_strerror_debug(i32 noundef %7020, ptr noundef @.str.80)
  %7022 = call ptr @__errno_location() #12
  %7023 = load i32, ptr %7022, align 4, !tbaa !5
  %7024 = call ptr @strerror(i32 noundef %7023) #11
  %7025 = call ptr @__errno_location() #12
  %7026 = load i32, ptr %7025, align 4, !tbaa !5
  %7027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7014, ptr noundef @.str.78, i32 noundef %7015, ptr noundef @.str.157, ptr noundef @.str.77, i32 noundef 206, ptr noundef %7018, ptr noundef %7021, ptr noundef %7024, i32 noundef %7026) #11
  br label %7045

7028:                                             ; preds = %7006, %6999
  %7029 = load i32, ptr %139, align 4, !tbaa !5
  %7030 = call ptr @__errno_location() #12
  store i32 %7029, ptr %7030, align 4, !tbaa !5
  %7031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7032 = load i32, ptr @test_count, align 4, !tbaa !5
  %7033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7034 = load i32, ptr %7033, align 4, !tbaa !5
  %7035 = call ptr @s2n_strerror(i32 noundef %7034, ptr noundef @.str.80)
  %7036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7037 = load i32, ptr %7036, align 4, !tbaa !5
  %7038 = call ptr @s2n_strerror_debug(i32 noundef %7037, ptr noundef @.str.80)
  %7039 = call ptr @__errno_location() #12
  %7040 = load i32, ptr %7039, align 4, !tbaa !5
  %7041 = call ptr @strerror(i32 noundef %7040) #11
  %7042 = call ptr @__errno_location() #12
  %7043 = load i32, ptr %7042, align 4, !tbaa !5
  %7044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7031, ptr noundef @.str.81, i32 noundef %7032, ptr noundef @.str.157, ptr noundef @.str.77, i32 noundef 206, ptr noundef %7035, ptr noundef %7038, ptr noundef %7041, i32 noundef %7043) #11
  br label %7045

7045:                                             ; preds = %7028, %7011
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %7046

7046:                                             ; preds = %7045
  br label %7047

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

7048:                                             ; No predecessors!
  br label %7049

7049:                                             ; preds = %7048
  br label %7050

7050:                                             ; preds = %7049, %6992
  br label %7051

7051:                                             ; preds = %7050
  br label %7052

7052:                                             ; preds = %7051
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #11
  call void @llvm.lifetime.start.p0(i64 64, ptr %140) #11
  br label %7053

7053:                                             ; preds = %7052
  br label %7054

7054:                                             ; preds = %7053
  br label %7055

7055:                                             ; preds = %7054
  %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 = call i32 @s2n_psk_parameters_init(ptr noundef null)
  %7059 = getelementptr inbounds %struct.s2n_result, ptr %141, i32 0, i32 0
  store i32 %7058, ptr %7059, align 4
  %7060 = getelementptr inbounds %struct.s2n_result, ptr %141, i32 0, i32 0
  %7061 = load i32, ptr %7060, align 4
  %7062 = call zeroext i1 @s2n_result_is_error(i32 %7061)
  br i1 %7062, label %7116, label %7063

7063:                                             ; preds = %7055
  br label %7064

7064:                                             ; preds = %7063
  br label %7065

7065:                                             ; preds = %7064
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %7066 = call ptr @__errno_location() #12
  %7067 = load i32, ptr %7066, align 4, !tbaa !5
  store i32 %7067, ptr %142, align 4, !tbaa !5
  %7068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7069 = call i32 @s2n_print_stacktrace(ptr noundef %7068)
  %7070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7071 = trunc i8 %7070 to i1
  br i1 %7071, label %7072, label %7094

7072:                                             ; preds = %7065
  %7073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7074 = call i32 @fileno(ptr noundef %7073) #11
  %7075 = call i32 @isatty(i32 noundef %7074) #11
  %7076 = icmp ne i32 %7075, 0
  br i1 %7076, label %7077, label %7094

7077:                                             ; preds = %7072
  %7078 = load i32, ptr %142, align 4, !tbaa !5
  %7079 = call ptr @__errno_location() #12
  store i32 %7078, ptr %7079, align 4, !tbaa !5
  %7080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7081 = load i32, ptr @test_count, align 4, !tbaa !5
  %7082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7083 = load i32, ptr %7082, align 4, !tbaa !5
  %7084 = call ptr @s2n_strerror(i32 noundef %7083, ptr noundef @.str.80)
  %7085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7086 = load i32, ptr %7085, align 4, !tbaa !5
  %7087 = call ptr @s2n_strerror_debug(i32 noundef %7086, ptr noundef @.str.80)
  %7088 = call ptr @__errno_location() #12
  %7089 = load i32, ptr %7088, align 4, !tbaa !5
  %7090 = call ptr @strerror(i32 noundef %7089) #11
  %7091 = call ptr @__errno_location() #12
  %7092 = load i32, ptr %7091, align 4, !tbaa !5
  %7093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7080, ptr noundef @.str.78, i32 noundef %7081, ptr noundef @.str.158, ptr noundef @.str.77, i32 noundef 213, ptr noundef %7084, ptr noundef %7087, ptr noundef %7090, i32 noundef %7092) #11
  br label %7111

7094:                                             ; preds = %7072, %7065
  %7095 = load i32, ptr %142, align 4, !tbaa !5
  %7096 = call ptr @__errno_location() #12
  store i32 %7095, ptr %7096, align 4, !tbaa !5
  %7097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7098 = load i32, ptr @test_count, align 4, !tbaa !5
  %7099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7100 = load i32, ptr %7099, align 4, !tbaa !5
  %7101 = call ptr @s2n_strerror(i32 noundef %7100, ptr noundef @.str.80)
  %7102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7103 = load i32, ptr %7102, align 4, !tbaa !5
  %7104 = call ptr @s2n_strerror_debug(i32 noundef %7103, ptr noundef @.str.80)
  %7105 = call ptr @__errno_location() #12
  %7106 = load i32, ptr %7105, align 4, !tbaa !5
  %7107 = call ptr @strerror(i32 noundef %7106) #11
  %7108 = call ptr @__errno_location() #12
  %7109 = load i32, ptr %7108, align 4, !tbaa !5
  %7110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7097, ptr noundef @.str.81, i32 noundef %7098, ptr noundef @.str.158, ptr noundef @.str.77, i32 noundef 213, ptr noundef %7101, ptr noundef %7104, ptr noundef %7107, i32 noundef %7109) #11
  br label %7111

7111:                                             ; preds = %7094, %7077
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %7112

7112:                                             ; preds = %7111
  br label %7113

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

7114:                                             ; No predecessors!
  br label %7115

7115:                                             ; preds = %7114
  br label %7116

7116:                                             ; preds = %7115, %7055
  br label %7117

7117:                                             ; preds = %7116
  br label %7118

7118:                                             ; preds = %7117
  br label %7119

7119:                                             ; preds = %7118
  %7120 = load i32, ptr @test_count, align 4, !tbaa !5
  %7121 = add nsw i32 %7120, 1
  store i32 %7121, ptr @test_count, align 4, !tbaa !5
  %7122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7123 = load i32, ptr %7122, align 4, !tbaa !5
  %7124 = icmp eq i32 %7123, 402653193
  br i1 %7124, label %7178, label %7125

7125:                                             ; preds = %7119
  br label %7126

7126:                                             ; preds = %7125
  br label %7127

7127:                                             ; preds = %7126
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %7128 = call ptr @__errno_location() #12
  %7129 = load i32, ptr %7128, align 4, !tbaa !5
  store i32 %7129, ptr %143, align 4, !tbaa !5
  %7130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7131 = call i32 @s2n_print_stacktrace(ptr noundef %7130)
  %7132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7133 = trunc i8 %7132 to i1
  br i1 %7133, label %7134, label %7156

7134:                                             ; preds = %7127
  %7135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7136 = call i32 @fileno(ptr noundef %7135) #11
  %7137 = call i32 @isatty(i32 noundef %7136) #11
  %7138 = icmp ne i32 %7137, 0
  br i1 %7138, label %7139, label %7156

7139:                                             ; preds = %7134
  %7140 = load i32, ptr %143, align 4, !tbaa !5
  %7141 = call ptr @__errno_location() #12
  store i32 %7140, ptr %7141, align 4, !tbaa !5
  %7142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7143 = load i32, ptr @test_count, align 4, !tbaa !5
  %7144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7145 = load i32, ptr %7144, align 4, !tbaa !5
  %7146 = call ptr @s2n_strerror(i32 noundef %7145, ptr noundef @.str.80)
  %7147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7148 = load i32, ptr %7147, align 4, !tbaa !5
  %7149 = call ptr @s2n_strerror_debug(i32 noundef %7148, ptr noundef @.str.80)
  %7150 = call ptr @__errno_location() #12
  %7151 = load i32, ptr %7150, align 4, !tbaa !5
  %7152 = call ptr @strerror(i32 noundef %7151) #11
  %7153 = call ptr @__errno_location() #12
  %7154 = load i32, ptr %7153, align 4, !tbaa !5
  %7155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7142, ptr noundef @.str.78, i32 noundef %7143, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 213, ptr noundef %7146, ptr noundef %7149, ptr noundef %7152, i32 noundef %7154) #11
  br label %7173

7156:                                             ; preds = %7134, %7127
  %7157 = load i32, ptr %143, align 4, !tbaa !5
  %7158 = call ptr @__errno_location() #12
  store i32 %7157, ptr %7158, align 4, !tbaa !5
  %7159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7160 = load i32, ptr @test_count, align 4, !tbaa !5
  %7161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7162 = load i32, ptr %7161, align 4, !tbaa !5
  %7163 = call ptr @s2n_strerror(i32 noundef %7162, ptr noundef @.str.80)
  %7164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7165 = load i32, ptr %7164, align 4, !tbaa !5
  %7166 = call ptr @s2n_strerror_debug(i32 noundef %7165, ptr noundef @.str.80)
  %7167 = call ptr @__errno_location() #12
  %7168 = load i32, ptr %7167, align 4, !tbaa !5
  %7169 = call ptr @strerror(i32 noundef %7168) #11
  %7170 = call ptr @__errno_location() #12
  %7171 = load i32, ptr %7170, align 4, !tbaa !5
  %7172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7159, ptr noundef @.str.81, i32 noundef %7160, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 213, ptr noundef %7163, ptr noundef %7166, ptr noundef %7169, i32 noundef %7171) #11
  br label %7173

7173:                                             ; preds = %7156, %7139
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %7174

7174:                                             ; preds = %7173
  br label %7175

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

7176:                                             ; No predecessors!
  br label %7177

7177:                                             ; preds = %7176
  br label %7178

7178:                                             ; preds = %7177, %7119
  br label %7179

7179:                                             ; preds = %7178
  br label %7180

7180:                                             ; preds = %7179
  br label %7181

7181:                                             ; preds = %7180
  %7182 = load i32, ptr @test_count, align 4, !tbaa !5
  %7183 = add nsw i32 %7182, 1
  store i32 %7183, ptr @test_count, align 4, !tbaa !5
  %7184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7185 = load i32, ptr %7184, align 4, !tbaa !5
  %7186 = call ptr @s2n_strerror_debug(i32 noundef %7185, ptr noundef @.str.80)
  %7187 = icmp eq ptr %7186, null
  br i1 %7187, label %7188, label %7241

7188:                                             ; preds = %7181
  br label %7189

7189:                                             ; preds = %7188
  br label %7190

7190:                                             ; preds = %7189
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %7191 = call ptr @__errno_location() #12
  %7192 = load i32, ptr %7191, align 4, !tbaa !5
  store i32 %7192, ptr %144, align 4, !tbaa !5
  %7193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7194 = call i32 @s2n_print_stacktrace(ptr noundef %7193)
  %7195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7196 = trunc i8 %7195 to i1
  br i1 %7196, label %7197, label %7219

7197:                                             ; preds = %7190
  %7198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7199 = call i32 @fileno(ptr noundef %7198) #11
  %7200 = call i32 @isatty(i32 noundef %7199) #11
  %7201 = icmp ne i32 %7200, 0
  br i1 %7201, label %7202, label %7219

7202:                                             ; preds = %7197
  %7203 = load i32, ptr %144, align 4, !tbaa !5
  %7204 = call ptr @__errno_location() #12
  store i32 %7203, ptr %7204, align 4, !tbaa !5
  %7205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7206 = load i32, ptr @test_count, align 4, !tbaa !5
  %7207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7208 = load i32, ptr %7207, align 4, !tbaa !5
  %7209 = call ptr @s2n_strerror(i32 noundef %7208, ptr noundef @.str.80)
  %7210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7211 = load i32, ptr %7210, align 4, !tbaa !5
  %7212 = call ptr @s2n_strerror_debug(i32 noundef %7211, ptr noundef @.str.80)
  %7213 = call ptr @__errno_location() #12
  %7214 = load i32, ptr %7213, align 4, !tbaa !5
  %7215 = call ptr @strerror(i32 noundef %7214) #11
  %7216 = call ptr @__errno_location() #12
  %7217 = load i32, ptr %7216, align 4, !tbaa !5
  %7218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7205, ptr noundef @.str.78, i32 noundef %7206, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 213, ptr noundef %7209, ptr noundef %7212, ptr noundef %7215, i32 noundef %7217) #11
  br label %7236

7219:                                             ; preds = %7197, %7190
  %7220 = load i32, ptr %144, align 4, !tbaa !5
  %7221 = call ptr @__errno_location() #12
  store i32 %7220, ptr %7221, align 4, !tbaa !5
  %7222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7223 = load i32, ptr @test_count, align 4, !tbaa !5
  %7224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7225 = load i32, ptr %7224, align 4, !tbaa !5
  %7226 = call ptr @s2n_strerror(i32 noundef %7225, ptr noundef @.str.80)
  %7227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7228 = load i32, ptr %7227, align 4, !tbaa !5
  %7229 = call ptr @s2n_strerror_debug(i32 noundef %7228, ptr noundef @.str.80)
  %7230 = call ptr @__errno_location() #12
  %7231 = load i32, ptr %7230, align 4, !tbaa !5
  %7232 = call ptr @strerror(i32 noundef %7231) #11
  %7233 = call ptr @__errno_location() #12
  %7234 = load i32, ptr %7233, align 4, !tbaa !5
  %7235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7222, ptr noundef @.str.81, i32 noundef %7223, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 213, ptr noundef %7226, ptr noundef %7229, ptr noundef %7232, i32 noundef %7234) #11
  br label %7236

7236:                                             ; preds = %7219, %7202
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %7237

7237:                                             ; preds = %7236
  br label %7238

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

7239:                                             ; No predecessors!
  br label %7240

7240:                                             ; preds = %7239
  br label %7241

7241:                                             ; preds = %7240, %7181
  br label %7242

7242:                                             ; preds = %7241
  br label %7243

7243:                                             ; preds = %7242
  br label %7244

7244:                                             ; preds = %7243
  br label %7245

7245:                                             ; preds = %7244
  br label %7246

7246:                                             ; preds = %7245
  %7247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7247, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7248 = call ptr @__errno_location() #12
  store i32 0, ptr %7248, align 4, !tbaa !5
  br label %7249

7249:                                             ; preds = %7246
  br label %7250

7250:                                             ; preds = %7249
  br label %7251

7251:                                             ; preds = %7250
  br label %7252

7252:                                             ; preds = %7251
  br label %7253

7253:                                             ; preds = %7252
  %7254 = load i32, ptr @test_count, align 4, !tbaa !5
  %7255 = add nsw i32 %7254, 1
  store i32 %7255, ptr @test_count, align 4, !tbaa !5
  %7256 = call i32 @s2n_psk_parameters_init(ptr noundef %140)
  %7257 = getelementptr inbounds %struct.s2n_result, ptr %145, i32 0, i32 0
  store i32 %7256, ptr %7257, align 4
  %7258 = getelementptr inbounds %struct.s2n_result, ptr %145, i32 0, i32 0
  %7259 = load i32, ptr %7258, align 4
  %7260 = call zeroext i1 @s2n_result_is_ok(i32 %7259)
  br i1 %7260, label %7314, label %7261

7261:                                             ; preds = %7253
  br label %7262

7262:                                             ; preds = %7261
  br label %7263

7263:                                             ; preds = %7262
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %7264 = call ptr @__errno_location() #12
  %7265 = load i32, ptr %7264, align 4, !tbaa !5
  store i32 %7265, ptr %146, align 4, !tbaa !5
  %7266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7267 = call i32 @s2n_print_stacktrace(ptr noundef %7266)
  %7268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7269 = trunc i8 %7268 to i1
  br i1 %7269, label %7270, label %7292

7270:                                             ; preds = %7263
  %7271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7272 = call i32 @fileno(ptr noundef %7271) #11
  %7273 = call i32 @isatty(i32 noundef %7272) #11
  %7274 = icmp ne i32 %7273, 0
  br i1 %7274, label %7275, label %7292

7275:                                             ; preds = %7270
  %7276 = load i32, ptr %146, align 4, !tbaa !5
  %7277 = call ptr @__errno_location() #12
  store i32 %7276, ptr %7277, align 4, !tbaa !5
  %7278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7279 = load i32, ptr @test_count, align 4, !tbaa !5
  %7280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7281 = load i32, ptr %7280, align 4, !tbaa !5
  %7282 = call ptr @s2n_strerror(i32 noundef %7281, ptr noundef @.str.80)
  %7283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7284 = load i32, ptr %7283, align 4, !tbaa !5
  %7285 = call ptr @s2n_strerror_debug(i32 noundef %7284, ptr noundef @.str.80)
  %7286 = call ptr @__errno_location() #12
  %7287 = load i32, ptr %7286, align 4, !tbaa !5
  %7288 = call ptr @strerror(i32 noundef %7287) #11
  %7289 = call ptr @__errno_location() #12
  %7290 = load i32, ptr %7289, align 4, !tbaa !5
  %7291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7278, ptr noundef @.str.78, i32 noundef %7279, ptr noundef @.str.159, ptr noundef @.str.77, i32 noundef 215, ptr noundef %7282, ptr noundef %7285, ptr noundef %7288, i32 noundef %7290) #11
  br label %7309

7292:                                             ; preds = %7270, %7263
  %7293 = load i32, ptr %146, align 4, !tbaa !5
  %7294 = call ptr @__errno_location() #12
  store i32 %7293, ptr %7294, align 4, !tbaa !5
  %7295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7296 = load i32, ptr @test_count, align 4, !tbaa !5
  %7297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7298 = load i32, ptr %7297, align 4, !tbaa !5
  %7299 = call ptr @s2n_strerror(i32 noundef %7298, ptr noundef @.str.80)
  %7300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7301 = load i32, ptr %7300, align 4, !tbaa !5
  %7302 = call ptr @s2n_strerror_debug(i32 noundef %7301, ptr noundef @.str.80)
  %7303 = call ptr @__errno_location() #12
  %7304 = load i32, ptr %7303, align 4, !tbaa !5
  %7305 = call ptr @strerror(i32 noundef %7304) #11
  %7306 = call ptr @__errno_location() #12
  %7307 = load i32, ptr %7306, align 4, !tbaa !5
  %7308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7295, ptr noundef @.str.81, i32 noundef %7296, ptr noundef @.str.159, ptr noundef @.str.77, i32 noundef 215, ptr noundef %7299, ptr noundef %7302, ptr noundef %7305, i32 noundef %7307) #11
  br label %7309

7309:                                             ; preds = %7292, %7275
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %7310

7310:                                             ; preds = %7309
  br label %7311

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

7312:                                             ; No predecessors!
  br label %7313

7313:                                             ; preds = %7312
  br label %7314

7314:                                             ; preds = %7313, %7253
  br label %7315

7315:                                             ; preds = %7314
  br label %7316

7316:                                             ; preds = %7315
  call void @llvm.lifetime.start.p0(i64 64, ptr %147) #11
  call void @llvm.memset.p0.i64(ptr align 8 %147, i8 0, i64 64, i1 false)
  %7317 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %147, i32 0, i32 1
  %7318 = getelementptr inbounds %struct.s2n_array, ptr %7317, i32 0, i32 2
  store i32 168, ptr %7318, align 4, !tbaa !31
  br label %7319

7319:                                             ; preds = %7316
  br label %7320

7320:                                             ; preds = %7319
  %7321 = load i32, ptr @test_count, align 4, !tbaa !5
  %7322 = add nsw i32 %7321, 1
  store i32 %7322, ptr @test_count, align 4, !tbaa !5
  %7323 = call i32 @memcmp(ptr noundef %147, ptr noundef %140, i64 noundef 64) #14
  %7324 = icmp eq i32 %7323, 0
  br i1 %7324, label %7378, label %7325

7325:                                             ; preds = %7320
  br label %7326

7326:                                             ; preds = %7325
  br label %7327

7327:                                             ; preds = %7326
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %7328 = call ptr @__errno_location() #12
  %7329 = load i32, ptr %7328, align 4, !tbaa !5
  store i32 %7329, ptr %148, align 4, !tbaa !5
  %7330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7331 = call i32 @s2n_print_stacktrace(ptr noundef %7330)
  %7332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7333 = trunc i8 %7332 to i1
  br i1 %7333, label %7334, label %7356

7334:                                             ; preds = %7327
  %7335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7336 = call i32 @fileno(ptr noundef %7335) #11
  %7337 = call i32 @isatty(i32 noundef %7336) #11
  %7338 = icmp ne i32 %7337, 0
  br i1 %7338, label %7339, label %7356

7339:                                             ; preds = %7334
  %7340 = load i32, ptr %148, align 4, !tbaa !5
  %7341 = call ptr @__errno_location() #12
  store i32 %7340, ptr %7341, align 4, !tbaa !5
  %7342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7343 = load i32, ptr @test_count, align 4, !tbaa !5
  %7344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7345 = load i32, ptr %7344, align 4, !tbaa !5
  %7346 = call ptr @s2n_strerror(i32 noundef %7345, ptr noundef @.str.80)
  %7347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7348 = load i32, ptr %7347, align 4, !tbaa !5
  %7349 = call ptr @s2n_strerror_debug(i32 noundef %7348, ptr noundef @.str.80)
  %7350 = call ptr @__errno_location() #12
  %7351 = load i32, ptr %7350, align 4, !tbaa !5
  %7352 = call ptr @strerror(i32 noundef %7351) #11
  %7353 = call ptr @__errno_location() #12
  %7354 = load i32, ptr %7353, align 4, !tbaa !5
  %7355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7342, ptr noundef @.str.78, i32 noundef %7343, ptr noundef @.str.160, ptr noundef @.str.77, i32 noundef 221, ptr noundef %7346, ptr noundef %7349, ptr noundef %7352, i32 noundef %7354) #11
  br label %7373

7356:                                             ; preds = %7334, %7327
  %7357 = load i32, ptr %148, align 4, !tbaa !5
  %7358 = call ptr @__errno_location() #12
  store i32 %7357, ptr %7358, align 4, !tbaa !5
  %7359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7360 = load i32, ptr @test_count, align 4, !tbaa !5
  %7361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7362 = load i32, ptr %7361, align 4, !tbaa !5
  %7363 = call ptr @s2n_strerror(i32 noundef %7362, ptr noundef @.str.80)
  %7364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7365 = load i32, ptr %7364, align 4, !tbaa !5
  %7366 = call ptr @s2n_strerror_debug(i32 noundef %7365, ptr noundef @.str.80)
  %7367 = call ptr @__errno_location() #12
  %7368 = load i32, ptr %7367, align 4, !tbaa !5
  %7369 = call ptr @strerror(i32 noundef %7368) #11
  %7370 = call ptr @__errno_location() #12
  %7371 = load i32, ptr %7370, align 4, !tbaa !5
  %7372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7359, ptr noundef @.str.81, i32 noundef %7360, ptr noundef @.str.160, ptr noundef @.str.77, i32 noundef 221, ptr noundef %7363, ptr noundef %7366, ptr noundef %7369, i32 noundef %7371) #11
  br label %7373

7373:                                             ; preds = %7356, %7339
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %7374

7374:                                             ; preds = %7373
  br label %7375

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

7376:                                             ; No predecessors!
  br label %7377

7377:                                             ; preds = %7376
  br label %7378

7378:                                             ; preds = %7377, %7320
  br label %7379

7379:                                             ; preds = %7378
  br label %7380

7380:                                             ; preds = %7379
  br label %7381

7381:                                             ; preds = %7380
  br label %7382

7382:                                             ; preds = %7381
  call void @llvm.lifetime.end.p0(i64 64, ptr %147) #11
  %7383 = call i32 @s2n_psk_parameters_wipe(ptr noundef %140)
  %7384 = getelementptr inbounds %struct.s2n_result, ptr %149, i32 0, i32 0
  store i32 %7383, ptr %7384, align 4
  call void @llvm.lifetime.end.p0(i64 64, ptr %140) #11
  call void @llvm.lifetime.start.p0(i64 11, ptr %150) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %150, ptr align 1 @__const.main.test_value.161, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 64, ptr %151) #11
  call void @llvm.memset.p0.i64(ptr align 8 %151, i8 0, i64 64, i1 false)
  br label %7385

7385:                                             ; preds = %7382
  %7386 = load i32, ptr @test_count, align 4, !tbaa !5
  %7387 = add nsw i32 %7386, 1
  store i32 %7387, ptr @test_count, align 4, !tbaa !5
  %7388 = call i32 @s2n_psk_parameters_init(ptr noundef %151)
  %7389 = getelementptr inbounds %struct.s2n_result, ptr %152, i32 0, i32 0
  store i32 %7388, ptr %7389, align 4
  %7390 = getelementptr inbounds %struct.s2n_result, ptr %152, i32 0, i32 0
  %7391 = load i32, ptr %7390, align 4
  %7392 = call zeroext i1 @s2n_result_is_ok(i32 %7391)
  br i1 %7392, label %7446, label %7393

7393:                                             ; preds = %7385
  br label %7394

7394:                                             ; preds = %7393
  br label %7395

7395:                                             ; preds = %7394
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %7396 = call ptr @__errno_location() #12
  %7397 = load i32, ptr %7396, align 4, !tbaa !5
  store i32 %7397, ptr %153, align 4, !tbaa !5
  %7398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7399 = call i32 @s2n_print_stacktrace(ptr noundef %7398)
  %7400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7401 = trunc i8 %7400 to i1
  br i1 %7401, label %7402, label %7424

7402:                                             ; preds = %7395
  %7403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7404 = call i32 @fileno(ptr noundef %7403) #11
  %7405 = call i32 @isatty(i32 noundef %7404) #11
  %7406 = icmp ne i32 %7405, 0
  br i1 %7406, label %7407, label %7424

7407:                                             ; preds = %7402
  %7408 = load i32, ptr %153, align 4, !tbaa !5
  %7409 = call ptr @__errno_location() #12
  store i32 %7408, ptr %7409, align 4, !tbaa !5
  %7410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7411 = load i32, ptr @test_count, align 4, !tbaa !5
  %7412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7413 = load i32, ptr %7412, align 4, !tbaa !5
  %7414 = call ptr @s2n_strerror(i32 noundef %7413, ptr noundef @.str.80)
  %7415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7416 = load i32, ptr %7415, align 4, !tbaa !5
  %7417 = call ptr @s2n_strerror_debug(i32 noundef %7416, ptr noundef @.str.80)
  %7418 = call ptr @__errno_location() #12
  %7419 = load i32, ptr %7418, align 4, !tbaa !5
  %7420 = call ptr @strerror(i32 noundef %7419) #11
  %7421 = call ptr @__errno_location() #12
  %7422 = load i32, ptr %7421, align 4, !tbaa !5
  %7423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7410, ptr noundef @.str.78, i32 noundef %7411, ptr noundef @.str.159, ptr noundef @.str.77, i32 noundef 229, ptr noundef %7414, ptr noundef %7417, ptr noundef %7420, i32 noundef %7422) #11
  br label %7441

7424:                                             ; preds = %7402, %7395
  %7425 = load i32, ptr %153, align 4, !tbaa !5
  %7426 = call ptr @__errno_location() #12
  store i32 %7425, ptr %7426, align 4, !tbaa !5
  %7427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7428 = load i32, ptr @test_count, align 4, !tbaa !5
  %7429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7430 = load i32, ptr %7429, align 4, !tbaa !5
  %7431 = call ptr @s2n_strerror(i32 noundef %7430, ptr noundef @.str.80)
  %7432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7433 = load i32, ptr %7432, align 4, !tbaa !5
  %7434 = call ptr @s2n_strerror_debug(i32 noundef %7433, ptr noundef @.str.80)
  %7435 = call ptr @__errno_location() #12
  %7436 = load i32, ptr %7435, align 4, !tbaa !5
  %7437 = call ptr @strerror(i32 noundef %7436) #11
  %7438 = call ptr @__errno_location() #12
  %7439 = load i32, ptr %7438, align 4, !tbaa !5
  %7440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7427, ptr noundef @.str.81, i32 noundef %7428, ptr noundef @.str.159, ptr noundef @.str.77, i32 noundef 229, ptr noundef %7431, ptr noundef %7434, ptr noundef %7437, i32 noundef %7439) #11
  br label %7441

7441:                                             ; preds = %7424, %7407
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %7442

7442:                                             ; preds = %7441
  br label %7443

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

7444:                                             ; No predecessors!
  br label %7445

7445:                                             ; preds = %7444
  br label %7446

7446:                                             ; preds = %7445, %7385
  br label %7447

7447:                                             ; preds = %7446
  br label %7448

7448:                                             ; preds = %7447
  %7449 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %151, i32 0, i32 2
  store i16 1, ptr %7449, align 8, !tbaa !35
  %7450 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %151, i32 0, i32 3
  store i16 1, ptr %7450, align 2, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #11
  store ptr null, ptr %154, align 8, !tbaa !9
  br label %7451

7451:                                             ; preds = %7448
  %7452 = load i32, ptr @test_count, align 4, !tbaa !5
  %7453 = add nsw i32 %7452, 1
  store i32 %7453, ptr @test_count, align 4, !tbaa !5
  %7454 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %151, i32 0, i32 1
  %7455 = call i32 @s2n_array_pushback(ptr noundef %7454, ptr noundef %154)
  %7456 = getelementptr inbounds %struct.s2n_result, ptr %155, i32 0, i32 0
  store i32 %7455, ptr %7456, align 4
  %7457 = getelementptr inbounds %struct.s2n_result, ptr %155, i32 0, i32 0
  %7458 = load i32, ptr %7457, align 4
  %7459 = call zeroext i1 @s2n_result_is_ok(i32 %7458)
  br i1 %7459, label %7513, label %7460

7460:                                             ; preds = %7451
  br label %7461

7461:                                             ; preds = %7460
  br label %7462

7462:                                             ; preds = %7461
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  %7463 = call ptr @__errno_location() #12
  %7464 = load i32, ptr %7463, align 4, !tbaa !5
  store i32 %7464, ptr %156, align 4, !tbaa !5
  %7465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7466 = call i32 @s2n_print_stacktrace(ptr noundef %7465)
  %7467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7468 = trunc i8 %7467 to i1
  br i1 %7468, label %7469, label %7491

7469:                                             ; preds = %7462
  %7470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7471 = call i32 @fileno(ptr noundef %7470) #11
  %7472 = call i32 @isatty(i32 noundef %7471) #11
  %7473 = icmp ne i32 %7472, 0
  br i1 %7473, label %7474, label %7491

7474:                                             ; preds = %7469
  %7475 = load i32, ptr %156, align 4, !tbaa !5
  %7476 = call ptr @__errno_location() #12
  store i32 %7475, ptr %7476, align 4, !tbaa !5
  %7477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7478 = load i32, ptr @test_count, align 4, !tbaa !5
  %7479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7480 = load i32, ptr %7479, align 4, !tbaa !5
  %7481 = call ptr @s2n_strerror(i32 noundef %7480, ptr noundef @.str.80)
  %7482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7483 = load i32, ptr %7482, align 4, !tbaa !5
  %7484 = call ptr @s2n_strerror_debug(i32 noundef %7483, ptr noundef @.str.80)
  %7485 = call ptr @__errno_location() #12
  %7486 = load i32, ptr %7485, align 4, !tbaa !5
  %7487 = call ptr @strerror(i32 noundef %7486) #11
  %7488 = call ptr @__errno_location() #12
  %7489 = load i32, ptr %7488, align 4, !tbaa !5
  %7490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7477, ptr noundef @.str.78, i32 noundef %7478, ptr noundef @.str.162, ptr noundef @.str.77, i32 noundef 234, ptr noundef %7481, ptr noundef %7484, ptr noundef %7487, i32 noundef %7489) #11
  br label %7508

7491:                                             ; preds = %7469, %7462
  %7492 = load i32, ptr %156, align 4, !tbaa !5
  %7493 = call ptr @__errno_location() #12
  store i32 %7492, ptr %7493, align 4, !tbaa !5
  %7494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7495 = load i32, ptr @test_count, align 4, !tbaa !5
  %7496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7497 = load i32, ptr %7496, align 4, !tbaa !5
  %7498 = call ptr @s2n_strerror(i32 noundef %7497, ptr noundef @.str.80)
  %7499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7500 = load i32, ptr %7499, align 4, !tbaa !5
  %7501 = call ptr @s2n_strerror_debug(i32 noundef %7500, ptr noundef @.str.80)
  %7502 = call ptr @__errno_location() #12
  %7503 = load i32, ptr %7502, align 4, !tbaa !5
  %7504 = call ptr @strerror(i32 noundef %7503) #11
  %7505 = call ptr @__errno_location() #12
  %7506 = load i32, ptr %7505, align 4, !tbaa !5
  %7507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7494, ptr noundef @.str.81, i32 noundef %7495, ptr noundef @.str.162, ptr noundef @.str.77, i32 noundef 234, ptr noundef %7498, ptr noundef %7501, ptr noundef %7504, i32 noundef %7506) #11
  br label %7508

7508:                                             ; preds = %7491, %7474
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  br label %7509

7509:                                             ; preds = %7508
  br label %7510

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

7511:                                             ; No predecessors!
  br label %7512

7512:                                             ; preds = %7511
  br label %7513

7513:                                             ; preds = %7512, %7451
  br label %7514

7514:                                             ; preds = %7513
  br label %7515

7515:                                             ; preds = %7514
  br label %7516

7516:                                             ; preds = %7515
  %7517 = load i32, ptr @test_count, align 4, !tbaa !5
  %7518 = add nsw i32 %7517, 1
  store i32 %7518, ptr @test_count, align 4, !tbaa !5
  %7519 = load ptr, ptr %154, align 8, !tbaa !9
  %7520 = call i32 @s2n_psk_init(ptr noundef %7519, i32 noundef 1)
  %7521 = getelementptr inbounds %struct.s2n_result, ptr %157, i32 0, i32 0
  store i32 %7520, ptr %7521, align 4
  %7522 = getelementptr inbounds %struct.s2n_result, ptr %157, i32 0, i32 0
  %7523 = load i32, ptr %7522, align 4
  %7524 = call zeroext i1 @s2n_result_is_ok(i32 %7523)
  br i1 %7524, label %7578, label %7525

7525:                                             ; preds = %7516
  br label %7526

7526:                                             ; preds = %7525
  br label %7527

7527:                                             ; preds = %7526
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %7528 = call ptr @__errno_location() #12
  %7529 = load i32, ptr %7528, align 4, !tbaa !5
  store i32 %7529, ptr %158, align 4, !tbaa !5
  %7530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7531 = call i32 @s2n_print_stacktrace(ptr noundef %7530)
  %7532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7533 = trunc i8 %7532 to i1
  br i1 %7533, label %7534, label %7556

7534:                                             ; preds = %7527
  %7535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7536 = call i32 @fileno(ptr noundef %7535) #11
  %7537 = call i32 @isatty(i32 noundef %7536) #11
  %7538 = icmp ne i32 %7537, 0
  br i1 %7538, label %7539, label %7556

7539:                                             ; preds = %7534
  %7540 = load i32, ptr %158, align 4, !tbaa !5
  %7541 = call ptr @__errno_location() #12
  store i32 %7540, ptr %7541, align 4, !tbaa !5
  %7542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7543 = load i32, ptr @test_count, align 4, !tbaa !5
  %7544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7545 = load i32, ptr %7544, align 4, !tbaa !5
  %7546 = call ptr @s2n_strerror(i32 noundef %7545, ptr noundef @.str.80)
  %7547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7548 = load i32, ptr %7547, align 4, !tbaa !5
  %7549 = call ptr @s2n_strerror_debug(i32 noundef %7548, ptr noundef @.str.80)
  %7550 = call ptr @__errno_location() #12
  %7551 = load i32, ptr %7550, align 4, !tbaa !5
  %7552 = call ptr @strerror(i32 noundef %7551) #11
  %7553 = call ptr @__errno_location() #12
  %7554 = load i32, ptr %7553, align 4, !tbaa !5
  %7555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7542, ptr noundef @.str.78, i32 noundef %7543, ptr noundef @.str.163, ptr noundef @.str.77, i32 noundef 235, ptr noundef %7546, ptr noundef %7549, ptr noundef %7552, i32 noundef %7554) #11
  br label %7573

7556:                                             ; preds = %7534, %7527
  %7557 = load i32, ptr %158, align 4, !tbaa !5
  %7558 = call ptr @__errno_location() #12
  store i32 %7557, ptr %7558, align 4, !tbaa !5
  %7559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7560 = load i32, ptr @test_count, align 4, !tbaa !5
  %7561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7562 = load i32, ptr %7561, align 4, !tbaa !5
  %7563 = call ptr @s2n_strerror(i32 noundef %7562, ptr noundef @.str.80)
  %7564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7565 = load i32, ptr %7564, align 4, !tbaa !5
  %7566 = call ptr @s2n_strerror_debug(i32 noundef %7565, ptr noundef @.str.80)
  %7567 = call ptr @__errno_location() #12
  %7568 = load i32, ptr %7567, align 4, !tbaa !5
  %7569 = call ptr @strerror(i32 noundef %7568) #11
  %7570 = call ptr @__errno_location() #12
  %7571 = load i32, ptr %7570, align 4, !tbaa !5
  %7572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7559, ptr noundef @.str.81, i32 noundef %7560, ptr noundef @.str.163, ptr noundef @.str.77, i32 noundef 235, ptr noundef %7563, ptr noundef %7566, ptr noundef %7569, i32 noundef %7571) #11
  br label %7573

7573:                                             ; preds = %7556, %7539
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %7574

7574:                                             ; preds = %7573
  br label %7575

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

7576:                                             ; No predecessors!
  br label %7577

7577:                                             ; preds = %7576
  br label %7578

7578:                                             ; preds = %7577, %7516
  br label %7579

7579:                                             ; preds = %7578
  br label %7580

7580:                                             ; preds = %7579
  br label %7581

7581:                                             ; preds = %7580
  %7582 = load i32, ptr @test_count, align 4, !tbaa !5
  %7583 = add nsw i32 %7582, 1
  store i32 %7583, ptr @test_count, align 4, !tbaa !5
  %7584 = load ptr, ptr %154, align 8, !tbaa !9
  %7585 = getelementptr inbounds [11 x i8], ptr %150, i64 0, i64 0
  %7586 = call i32 @s2n_psk_set_identity(ptr noundef %7584, ptr noundef %7585, i16 noundef zeroext 11)
  %7587 = icmp eq i32 %7586, -1
  br i1 %7587, label %7588, label %7641

7588:                                             ; preds = %7581
  br label %7589

7589:                                             ; preds = %7588
  br label %7590

7590:                                             ; preds = %7589
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %7591 = call ptr @__errno_location() #12
  %7592 = load i32, ptr %7591, align 4, !tbaa !5
  store i32 %7592, ptr %159, align 4, !tbaa !5
  %7593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7594 = call i32 @s2n_print_stacktrace(ptr noundef %7593)
  %7595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7596 = trunc i8 %7595 to i1
  br i1 %7596, label %7597, label %7619

7597:                                             ; preds = %7590
  %7598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7599 = call i32 @fileno(ptr noundef %7598) #11
  %7600 = call i32 @isatty(i32 noundef %7599) #11
  %7601 = icmp ne i32 %7600, 0
  br i1 %7601, label %7602, label %7619

7602:                                             ; preds = %7597
  %7603 = load i32, ptr %159, align 4, !tbaa !5
  %7604 = call ptr @__errno_location() #12
  store i32 %7603, ptr %7604, align 4, !tbaa !5
  %7605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7606 = load i32, ptr @test_count, align 4, !tbaa !5
  %7607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7608 = load i32, ptr %7607, align 4, !tbaa !5
  %7609 = call ptr @s2n_strerror(i32 noundef %7608, ptr noundef @.str.80)
  %7610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7611 = load i32, ptr %7610, align 4, !tbaa !5
  %7612 = call ptr @s2n_strerror_debug(i32 noundef %7611, ptr noundef @.str.80)
  %7613 = call ptr @__errno_location() #12
  %7614 = load i32, ptr %7613, align 4, !tbaa !5
  %7615 = call ptr @strerror(i32 noundef %7614) #11
  %7616 = call ptr @__errno_location() #12
  %7617 = load i32, ptr %7616, align 4, !tbaa !5
  %7618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7605, ptr noundef @.str.78, i32 noundef %7606, ptr noundef @.str.164, ptr noundef @.str.77, i32 noundef 236, ptr noundef %7609, ptr noundef %7612, ptr noundef %7615, i32 noundef %7617) #11
  br label %7636

7619:                                             ; preds = %7597, %7590
  %7620 = load i32, ptr %159, align 4, !tbaa !5
  %7621 = call ptr @__errno_location() #12
  store i32 %7620, ptr %7621, align 4, !tbaa !5
  %7622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7623 = load i32, ptr @test_count, align 4, !tbaa !5
  %7624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7625 = load i32, ptr %7624, align 4, !tbaa !5
  %7626 = call ptr @s2n_strerror(i32 noundef %7625, ptr noundef @.str.80)
  %7627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7628 = load i32, ptr %7627, align 4, !tbaa !5
  %7629 = call ptr @s2n_strerror_debug(i32 noundef %7628, ptr noundef @.str.80)
  %7630 = call ptr @__errno_location() #12
  %7631 = load i32, ptr %7630, align 4, !tbaa !5
  %7632 = call ptr @strerror(i32 noundef %7631) #11
  %7633 = call ptr @__errno_location() #12
  %7634 = load i32, ptr %7633, align 4, !tbaa !5
  %7635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7622, ptr noundef @.str.81, i32 noundef %7623, ptr noundef @.str.164, ptr noundef @.str.77, i32 noundef 236, ptr noundef %7626, ptr noundef %7629, ptr noundef %7632, i32 noundef %7634) #11
  br label %7636

7636:                                             ; preds = %7619, %7602
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %7637

7637:                                             ; preds = %7636
  br label %7638

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

7639:                                             ; No predecessors!
  br label %7640

7640:                                             ; preds = %7639
  br label %7641

7641:                                             ; preds = %7640, %7581
  br label %7642

7642:                                             ; preds = %7641
  br label %7643

7643:                                             ; preds = %7642
  %7644 = load ptr, ptr %154, align 8, !tbaa !9
  %7645 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %151, i32 0, i32 4
  store ptr %7644, ptr %7645, align 8, !tbaa !37
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #11
  store ptr null, ptr %160, align 8, !tbaa !9
  br label %7646

7646:                                             ; preds = %7643
  %7647 = load i32, ptr @test_count, align 4, !tbaa !5
  %7648 = add nsw i32 %7647, 1
  store i32 %7648, ptr @test_count, align 4, !tbaa !5
  %7649 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %151, i32 0, i32 1
  %7650 = call i32 @s2n_array_pushback(ptr noundef %7649, ptr noundef %160)
  %7651 = getelementptr inbounds %struct.s2n_result, ptr %161, i32 0, i32 0
  store i32 %7650, ptr %7651, align 4
  %7652 = getelementptr inbounds %struct.s2n_result, ptr %161, i32 0, i32 0
  %7653 = load i32, ptr %7652, align 4
  %7654 = call zeroext i1 @s2n_result_is_ok(i32 %7653)
  br i1 %7654, label %7708, label %7655

7655:                                             ; preds = %7646
  br label %7656

7656:                                             ; preds = %7655
  br label %7657

7657:                                             ; preds = %7656
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %7658 = call ptr @__errno_location() #12
  %7659 = load i32, ptr %7658, align 4, !tbaa !5
  store i32 %7659, ptr %162, align 4, !tbaa !5
  %7660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7661 = call i32 @s2n_print_stacktrace(ptr noundef %7660)
  %7662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7663 = trunc i8 %7662 to i1
  br i1 %7663, label %7664, label %7686

7664:                                             ; preds = %7657
  %7665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7666 = call i32 @fileno(ptr noundef %7665) #11
  %7667 = call i32 @isatty(i32 noundef %7666) #11
  %7668 = icmp ne i32 %7667, 0
  br i1 %7668, label %7669, label %7686

7669:                                             ; preds = %7664
  %7670 = load i32, ptr %162, align 4, !tbaa !5
  %7671 = call ptr @__errno_location() #12
  store i32 %7670, ptr %7671, align 4, !tbaa !5
  %7672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7673 = load i32, ptr @test_count, align 4, !tbaa !5
  %7674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7675 = load i32, ptr %7674, align 4, !tbaa !5
  %7676 = call ptr @s2n_strerror(i32 noundef %7675, ptr noundef @.str.80)
  %7677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7678 = load i32, ptr %7677, align 4, !tbaa !5
  %7679 = call ptr @s2n_strerror_debug(i32 noundef %7678, ptr noundef @.str.80)
  %7680 = call ptr @__errno_location() #12
  %7681 = load i32, ptr %7680, align 4, !tbaa !5
  %7682 = call ptr @strerror(i32 noundef %7681) #11
  %7683 = call ptr @__errno_location() #12
  %7684 = load i32, ptr %7683, align 4, !tbaa !5
  %7685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7672, ptr noundef @.str.78, i32 noundef %7673, ptr noundef @.str.165, ptr noundef @.str.77, i32 noundef 240, ptr noundef %7676, ptr noundef %7679, ptr noundef %7682, i32 noundef %7684) #11
  br label %7703

7686:                                             ; preds = %7664, %7657
  %7687 = load i32, ptr %162, align 4, !tbaa !5
  %7688 = call ptr @__errno_location() #12
  store i32 %7687, ptr %7688, align 4, !tbaa !5
  %7689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7690 = load i32, ptr @test_count, align 4, !tbaa !5
  %7691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7692 = load i32, ptr %7691, align 4, !tbaa !5
  %7693 = call ptr @s2n_strerror(i32 noundef %7692, ptr noundef @.str.80)
  %7694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7695 = load i32, ptr %7694, align 4, !tbaa !5
  %7696 = call ptr @s2n_strerror_debug(i32 noundef %7695, ptr noundef @.str.80)
  %7697 = call ptr @__errno_location() #12
  %7698 = load i32, ptr %7697, align 4, !tbaa !5
  %7699 = call ptr @strerror(i32 noundef %7698) #11
  %7700 = call ptr @__errno_location() #12
  %7701 = load i32, ptr %7700, align 4, !tbaa !5
  %7702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7689, ptr noundef @.str.81, i32 noundef %7690, ptr noundef @.str.165, ptr noundef @.str.77, i32 noundef 240, ptr noundef %7693, ptr noundef %7696, ptr noundef %7699, i32 noundef %7701) #11
  br label %7703

7703:                                             ; preds = %7686, %7669
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %7704

7704:                                             ; preds = %7703
  br label %7705

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

7706:                                             ; No predecessors!
  br label %7707

7707:                                             ; preds = %7706
  br label %7708

7708:                                             ; preds = %7707, %7646
  br label %7709

7709:                                             ; preds = %7708
  br label %7710

7710:                                             ; preds = %7709
  br label %7711

7711:                                             ; preds = %7710
  %7712 = load i32, ptr @test_count, align 4, !tbaa !5
  %7713 = add nsw i32 %7712, 1
  store i32 %7713, ptr @test_count, align 4, !tbaa !5
  %7714 = load ptr, ptr %160, align 8, !tbaa !9
  %7715 = call i32 @s2n_psk_init(ptr noundef %7714, i32 noundef 1)
  %7716 = getelementptr inbounds %struct.s2n_result, ptr %163, i32 0, i32 0
  store i32 %7715, ptr %7716, align 4
  %7717 = getelementptr inbounds %struct.s2n_result, ptr %163, i32 0, i32 0
  %7718 = load i32, ptr %7717, align 4
  %7719 = call zeroext i1 @s2n_result_is_ok(i32 %7718)
  br i1 %7719, label %7773, label %7720

7720:                                             ; preds = %7711
  br label %7721

7721:                                             ; preds = %7720
  br label %7722

7722:                                             ; preds = %7721
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %7723 = call ptr @__errno_location() #12
  %7724 = load i32, ptr %7723, align 4, !tbaa !5
  store i32 %7724, ptr %164, align 4, !tbaa !5
  %7725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7726 = call i32 @s2n_print_stacktrace(ptr noundef %7725)
  %7727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7728 = trunc i8 %7727 to i1
  br i1 %7728, label %7729, label %7751

7729:                                             ; preds = %7722
  %7730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7731 = call i32 @fileno(ptr noundef %7730) #11
  %7732 = call i32 @isatty(i32 noundef %7731) #11
  %7733 = icmp ne i32 %7732, 0
  br i1 %7733, label %7734, label %7751

7734:                                             ; preds = %7729
  %7735 = load i32, ptr %164, align 4, !tbaa !5
  %7736 = call ptr @__errno_location() #12
  store i32 %7735, ptr %7736, align 4, !tbaa !5
  %7737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7738 = load i32, ptr @test_count, align 4, !tbaa !5
  %7739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7740 = load i32, ptr %7739, align 4, !tbaa !5
  %7741 = call ptr @s2n_strerror(i32 noundef %7740, ptr noundef @.str.80)
  %7742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7743 = load i32, ptr %7742, align 4, !tbaa !5
  %7744 = call ptr @s2n_strerror_debug(i32 noundef %7743, ptr noundef @.str.80)
  %7745 = call ptr @__errno_location() #12
  %7746 = load i32, ptr %7745, align 4, !tbaa !5
  %7747 = call ptr @strerror(i32 noundef %7746) #11
  %7748 = call ptr @__errno_location() #12
  %7749 = load i32, ptr %7748, align 4, !tbaa !5
  %7750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7737, ptr noundef @.str.78, i32 noundef %7738, ptr noundef @.str.166, ptr noundef @.str.77, i32 noundef 241, ptr noundef %7741, ptr noundef %7744, ptr noundef %7747, i32 noundef %7749) #11
  br label %7768

7751:                                             ; preds = %7729, %7722
  %7752 = load i32, ptr %164, align 4, !tbaa !5
  %7753 = call ptr @__errno_location() #12
  store i32 %7752, ptr %7753, align 4, !tbaa !5
  %7754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7755 = load i32, ptr @test_count, align 4, !tbaa !5
  %7756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7757 = load i32, ptr %7756, align 4, !tbaa !5
  %7758 = call ptr @s2n_strerror(i32 noundef %7757, ptr noundef @.str.80)
  %7759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7760 = load i32, ptr %7759, align 4, !tbaa !5
  %7761 = call ptr @s2n_strerror_debug(i32 noundef %7760, ptr noundef @.str.80)
  %7762 = call ptr @__errno_location() #12
  %7763 = load i32, ptr %7762, align 4, !tbaa !5
  %7764 = call ptr @strerror(i32 noundef %7763) #11
  %7765 = call ptr @__errno_location() #12
  %7766 = load i32, ptr %7765, align 4, !tbaa !5
  %7767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7754, ptr noundef @.str.81, i32 noundef %7755, ptr noundef @.str.166, ptr noundef @.str.77, i32 noundef 241, ptr noundef %7758, ptr noundef %7761, ptr noundef %7764, i32 noundef %7766) #11
  br label %7768

7768:                                             ; preds = %7751, %7734
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %7769

7769:                                             ; preds = %7768
  br label %7770

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

7771:                                             ; No predecessors!
  br label %7772

7772:                                             ; preds = %7771
  br label %7773

7773:                                             ; preds = %7772, %7711
  br label %7774

7774:                                             ; preds = %7773
  br label %7775

7775:                                             ; preds = %7774
  br label %7776

7776:                                             ; preds = %7775
  %7777 = load i32, ptr @test_count, align 4, !tbaa !5
  %7778 = add nsw i32 %7777, 1
  store i32 %7778, ptr @test_count, align 4, !tbaa !5
  %7779 = load ptr, ptr %160, align 8, !tbaa !9
  %7780 = getelementptr inbounds [11 x i8], ptr %150, i64 0, i64 0
  %7781 = call i32 @s2n_psk_set_identity(ptr noundef %7779, ptr noundef %7780, i16 noundef zeroext 11)
  %7782 = icmp eq i32 %7781, -1
  br i1 %7782, label %7783, label %7836

7783:                                             ; preds = %7776
  br label %7784

7784:                                             ; preds = %7783
  br label %7785

7785:                                             ; preds = %7784
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %7786 = call ptr @__errno_location() #12
  %7787 = load i32, ptr %7786, align 4, !tbaa !5
  store i32 %7787, ptr %165, align 4, !tbaa !5
  %7788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7789 = call i32 @s2n_print_stacktrace(ptr noundef %7788)
  %7790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7791 = trunc i8 %7790 to i1
  br i1 %7791, label %7792, label %7814

7792:                                             ; preds = %7785
  %7793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7794 = call i32 @fileno(ptr noundef %7793) #11
  %7795 = call i32 @isatty(i32 noundef %7794) #11
  %7796 = icmp ne i32 %7795, 0
  br i1 %7796, label %7797, label %7814

7797:                                             ; preds = %7792
  %7798 = load i32, ptr %165, align 4, !tbaa !5
  %7799 = call ptr @__errno_location() #12
  store i32 %7798, ptr %7799, align 4, !tbaa !5
  %7800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7801 = load i32, ptr @test_count, align 4, !tbaa !5
  %7802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7803 = load i32, ptr %7802, align 4, !tbaa !5
  %7804 = call ptr @s2n_strerror(i32 noundef %7803, ptr noundef @.str.80)
  %7805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7806 = load i32, ptr %7805, align 4, !tbaa !5
  %7807 = call ptr @s2n_strerror_debug(i32 noundef %7806, ptr noundef @.str.80)
  %7808 = call ptr @__errno_location() #12
  %7809 = load i32, ptr %7808, align 4, !tbaa !5
  %7810 = call ptr @strerror(i32 noundef %7809) #11
  %7811 = call ptr @__errno_location() #12
  %7812 = load i32, ptr %7811, align 4, !tbaa !5
  %7813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7800, ptr noundef @.str.78, i32 noundef %7801, ptr noundef @.str.167, ptr noundef @.str.77, i32 noundef 242, ptr noundef %7804, ptr noundef %7807, ptr noundef %7810, i32 noundef %7812) #11
  br label %7831

7814:                                             ; preds = %7792, %7785
  %7815 = load i32, ptr %165, align 4, !tbaa !5
  %7816 = call ptr @__errno_location() #12
  store i32 %7815, ptr %7816, align 4, !tbaa !5
  %7817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7818 = load i32, ptr @test_count, align 4, !tbaa !5
  %7819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7820 = load i32, ptr %7819, align 4, !tbaa !5
  %7821 = call ptr @s2n_strerror(i32 noundef %7820, ptr noundef @.str.80)
  %7822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7823 = load i32, ptr %7822, align 4, !tbaa !5
  %7824 = call ptr @s2n_strerror_debug(i32 noundef %7823, ptr noundef @.str.80)
  %7825 = call ptr @__errno_location() #12
  %7826 = load i32, ptr %7825, align 4, !tbaa !5
  %7827 = call ptr @strerror(i32 noundef %7826) #11
  %7828 = call ptr @__errno_location() #12
  %7829 = load i32, ptr %7828, align 4, !tbaa !5
  %7830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7817, ptr noundef @.str.81, i32 noundef %7818, ptr noundef @.str.167, ptr noundef @.str.77, i32 noundef 242, ptr noundef %7821, ptr noundef %7824, ptr noundef %7827, i32 noundef %7829) #11
  br label %7831

7831:                                             ; preds = %7814, %7797
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %7832

7832:                                             ; preds = %7831
  br label %7833

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

7834:                                             ; No predecessors!
  br label %7835

7835:                                             ; preds = %7834
  br label %7836

7836:                                             ; preds = %7835, %7776
  br label %7837

7837:                                             ; preds = %7836
  br label %7838

7838:                                             ; preds = %7837
  br label %7839

7839:                                             ; preds = %7838
  br label %7840

7840:                                             ; preds = %7839
  br label %7841

7841:                                             ; preds = %7840
  %7842 = load i32, ptr @test_count, align 4, !tbaa !5
  %7843 = add nsw i32 %7842, 1
  store i32 %7843, ptr @test_count, align 4, !tbaa !5
  %7844 = call i32 @s2n_psk_parameters_wipe(ptr noundef null)
  %7845 = getelementptr inbounds %struct.s2n_result, ptr %166, i32 0, i32 0
  store i32 %7844, ptr %7845, align 4
  %7846 = getelementptr inbounds %struct.s2n_result, ptr %166, i32 0, i32 0
  %7847 = load i32, ptr %7846, align 4
  %7848 = call zeroext i1 @s2n_result_is_error(i32 %7847)
  br i1 %7848, label %7902, label %7849

7849:                                             ; preds = %7841
  br label %7850

7850:                                             ; preds = %7849
  br label %7851

7851:                                             ; preds = %7850
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  %7852 = call ptr @__errno_location() #12
  %7853 = load i32, ptr %7852, align 4, !tbaa !5
  store i32 %7853, ptr %167, align 4, !tbaa !5
  %7854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7855 = call i32 @s2n_print_stacktrace(ptr noundef %7854)
  %7856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7857 = trunc i8 %7856 to i1
  br i1 %7857, label %7858, label %7880

7858:                                             ; preds = %7851
  %7859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7860 = call i32 @fileno(ptr noundef %7859) #11
  %7861 = call i32 @isatty(i32 noundef %7860) #11
  %7862 = icmp ne i32 %7861, 0
  br i1 %7862, label %7863, label %7880

7863:                                             ; preds = %7858
  %7864 = load i32, ptr %167, align 4, !tbaa !5
  %7865 = call ptr @__errno_location() #12
  store i32 %7864, ptr %7865, align 4, !tbaa !5
  %7866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7867 = load i32, ptr @test_count, align 4, !tbaa !5
  %7868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7869 = load i32, ptr %7868, align 4, !tbaa !5
  %7870 = call ptr @s2n_strerror(i32 noundef %7869, ptr noundef @.str.80)
  %7871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7872 = load i32, ptr %7871, align 4, !tbaa !5
  %7873 = call ptr @s2n_strerror_debug(i32 noundef %7872, ptr noundef @.str.80)
  %7874 = call ptr @__errno_location() #12
  %7875 = load i32, ptr %7874, align 4, !tbaa !5
  %7876 = call ptr @strerror(i32 noundef %7875) #11
  %7877 = call ptr @__errno_location() #12
  %7878 = load i32, ptr %7877, align 4, !tbaa !5
  %7879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7866, ptr noundef @.str.78, i32 noundef %7867, ptr noundef @.str.168, ptr noundef @.str.77, i32 noundef 244, ptr noundef %7870, ptr noundef %7873, ptr noundef %7876, i32 noundef %7878) #11
  br label %7897

7880:                                             ; preds = %7858, %7851
  %7881 = load i32, ptr %167, align 4, !tbaa !5
  %7882 = call ptr @__errno_location() #12
  store i32 %7881, ptr %7882, align 4, !tbaa !5
  %7883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7884 = load i32, ptr @test_count, align 4, !tbaa !5
  %7885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7886 = load i32, ptr %7885, align 4, !tbaa !5
  %7887 = call ptr @s2n_strerror(i32 noundef %7886, ptr noundef @.str.80)
  %7888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7889 = load i32, ptr %7888, align 4, !tbaa !5
  %7890 = call ptr @s2n_strerror_debug(i32 noundef %7889, ptr noundef @.str.80)
  %7891 = call ptr @__errno_location() #12
  %7892 = load i32, ptr %7891, align 4, !tbaa !5
  %7893 = call ptr @strerror(i32 noundef %7892) #11
  %7894 = call ptr @__errno_location() #12
  %7895 = load i32, ptr %7894, align 4, !tbaa !5
  %7896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7883, ptr noundef @.str.81, i32 noundef %7884, ptr noundef @.str.168, ptr noundef @.str.77, i32 noundef 244, ptr noundef %7887, ptr noundef %7890, ptr noundef %7893, i32 noundef %7895) #11
  br label %7897

7897:                                             ; preds = %7880, %7863
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  br label %7898

7898:                                             ; preds = %7897
  br label %7899

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

7900:                                             ; No predecessors!
  br label %7901

7901:                                             ; preds = %7900
  br label %7902

7902:                                             ; preds = %7901, %7841
  br label %7903

7903:                                             ; preds = %7902
  br label %7904

7904:                                             ; preds = %7903
  br label %7905

7905:                                             ; preds = %7904
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7909 = load i32, ptr %7908, align 4, !tbaa !5
  %7910 = icmp eq i32 %7909, 402653193
  br i1 %7910, label %7964, label %7911

7911:                                             ; preds = %7905
  br label %7912

7912:                                             ; preds = %7911
  br label %7913

7913:                                             ; preds = %7912
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %7914 = call ptr @__errno_location() #12
  %7915 = load i32, ptr %7914, align 4, !tbaa !5
  store i32 %7915, ptr %168, align 4, !tbaa !5
  %7916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7917 = call i32 @s2n_print_stacktrace(ptr noundef %7916)
  %7918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7919 = trunc i8 %7918 to i1
  br i1 %7919, label %7920, label %7942

7920:                                             ; preds = %7913
  %7921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7922 = call i32 @fileno(ptr noundef %7921) #11
  %7923 = call i32 @isatty(i32 noundef %7922) #11
  %7924 = icmp ne i32 %7923, 0
  br i1 %7924, label %7925, label %7942

7925:                                             ; preds = %7920
  %7926 = load i32, ptr %168, align 4, !tbaa !5
  %7927 = call ptr @__errno_location() #12
  store i32 %7926, ptr %7927, align 4, !tbaa !5
  %7928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7929 = load i32, ptr @test_count, align 4, !tbaa !5
  %7930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7931 = load i32, ptr %7930, align 4, !tbaa !5
  %7932 = call ptr @s2n_strerror(i32 noundef %7931, ptr noundef @.str.80)
  %7933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7934 = load i32, ptr %7933, align 4, !tbaa !5
  %7935 = call ptr @s2n_strerror_debug(i32 noundef %7934, ptr noundef @.str.80)
  %7936 = call ptr @__errno_location() #12
  %7937 = load i32, ptr %7936, align 4, !tbaa !5
  %7938 = call ptr @strerror(i32 noundef %7937) #11
  %7939 = call ptr @__errno_location() #12
  %7940 = load i32, ptr %7939, align 4, !tbaa !5
  %7941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7928, ptr noundef @.str.78, i32 noundef %7929, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 244, ptr noundef %7932, ptr noundef %7935, ptr noundef %7938, i32 noundef %7940) #11
  br label %7959

7942:                                             ; preds = %7920, %7913
  %7943 = load i32, ptr %168, align 4, !tbaa !5
  %7944 = call ptr @__errno_location() #12
  store i32 %7943, ptr %7944, align 4, !tbaa !5
  %7945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7946 = load i32, ptr @test_count, align 4, !tbaa !5
  %7947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7948 = load i32, ptr %7947, align 4, !tbaa !5
  %7949 = call ptr @s2n_strerror(i32 noundef %7948, ptr noundef @.str.80)
  %7950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7951 = load i32, ptr %7950, align 4, !tbaa !5
  %7952 = call ptr @s2n_strerror_debug(i32 noundef %7951, ptr noundef @.str.80)
  %7953 = call ptr @__errno_location() #12
  %7954 = load i32, ptr %7953, align 4, !tbaa !5
  %7955 = call ptr @strerror(i32 noundef %7954) #11
  %7956 = call ptr @__errno_location() #12
  %7957 = load i32, ptr %7956, align 4, !tbaa !5
  %7958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7945, ptr noundef @.str.81, i32 noundef %7946, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 244, ptr noundef %7949, ptr noundef %7952, ptr noundef %7955, i32 noundef %7957) #11
  br label %7959

7959:                                             ; preds = %7942, %7925
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %7960

7960:                                             ; preds = %7959
  br label %7961

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

7962:                                             ; No predecessors!
  br label %7963

7963:                                             ; preds = %7962
  br label %7964

7964:                                             ; preds = %7963, %7905
  br label %7965

7965:                                             ; preds = %7964
  br label %7966

7966:                                             ; preds = %7965
  br label %7967

7967:                                             ; preds = %7966
  %7968 = load i32, ptr @test_count, align 4, !tbaa !5
  %7969 = add nsw i32 %7968, 1
  store i32 %7969, ptr @test_count, align 4, !tbaa !5
  %7970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7971 = load i32, ptr %7970, align 4, !tbaa !5
  %7972 = call ptr @s2n_strerror_debug(i32 noundef %7971, ptr noundef @.str.80)
  %7973 = icmp eq ptr %7972, null
  br i1 %7973, label %7974, label %8027

7974:                                             ; preds = %7967
  br label %7975

7975:                                             ; preds = %7974
  br label %7976

7976:                                             ; preds = %7975
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %7977 = call ptr @__errno_location() #12
  %7978 = load i32, ptr %7977, align 4, !tbaa !5
  store i32 %7978, ptr %169, align 4, !tbaa !5
  %7979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7980 = call i32 @s2n_print_stacktrace(ptr noundef %7979)
  %7981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7982 = trunc i8 %7981 to i1
  br i1 %7982, label %7983, label %8005

7983:                                             ; preds = %7976
  %7984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7985 = call i32 @fileno(ptr noundef %7984) #11
  %7986 = call i32 @isatty(i32 noundef %7985) #11
  %7987 = icmp ne i32 %7986, 0
  br i1 %7987, label %7988, label %8005

7988:                                             ; preds = %7983
  %7989 = load i32, ptr %169, align 4, !tbaa !5
  %7990 = call ptr @__errno_location() #12
  store i32 %7989, ptr %7990, align 4, !tbaa !5
  %7991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7992 = load i32, ptr @test_count, align 4, !tbaa !5
  %7993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7994 = load i32, ptr %7993, align 4, !tbaa !5
  %7995 = call ptr @s2n_strerror(i32 noundef %7994, ptr noundef @.str.80)
  %7996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7997 = load i32, ptr %7996, align 4, !tbaa !5
  %7998 = call ptr @s2n_strerror_debug(i32 noundef %7997, ptr noundef @.str.80)
  %7999 = call ptr @__errno_location() #12
  %8000 = load i32, ptr %7999, align 4, !tbaa !5
  %8001 = call ptr @strerror(i32 noundef %8000) #11
  %8002 = call ptr @__errno_location() #12
  %8003 = load i32, ptr %8002, align 4, !tbaa !5
  %8004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7991, ptr noundef @.str.78, i32 noundef %7992, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 244, ptr noundef %7995, ptr noundef %7998, ptr noundef %8001, i32 noundef %8003) #11
  br label %8022

8005:                                             ; preds = %7983, %7976
  %8006 = load i32, ptr %169, align 4, !tbaa !5
  %8007 = call ptr @__errno_location() #12
  store i32 %8006, ptr %8007, align 4, !tbaa !5
  %8008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8009 = load i32, ptr @test_count, align 4, !tbaa !5
  %8010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8011 = load i32, ptr %8010, align 4, !tbaa !5
  %8012 = call ptr @s2n_strerror(i32 noundef %8011, ptr noundef @.str.80)
  %8013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8014 = load i32, ptr %8013, align 4, !tbaa !5
  %8015 = call ptr @s2n_strerror_debug(i32 noundef %8014, ptr noundef @.str.80)
  %8016 = call ptr @__errno_location() #12
  %8017 = load i32, ptr %8016, align 4, !tbaa !5
  %8018 = call ptr @strerror(i32 noundef %8017) #11
  %8019 = call ptr @__errno_location() #12
  %8020 = load i32, ptr %8019, align 4, !tbaa !5
  %8021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8008, ptr noundef @.str.81, i32 noundef %8009, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 244, ptr noundef %8012, ptr noundef %8015, ptr noundef %8018, i32 noundef %8020) #11
  br label %8022

8022:                                             ; preds = %8005, %7988
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %8023

8023:                                             ; preds = %8022
  br label %8024

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

8025:                                             ; No predecessors!
  br label %8026

8026:                                             ; preds = %8025
  br label %8027

8027:                                             ; preds = %8026, %7967
  br label %8028

8028:                                             ; preds = %8027
  br label %8029

8029:                                             ; preds = %8028
  br label %8030

8030:                                             ; preds = %8029
  br label %8031

8031:                                             ; preds = %8030
  br label %8032

8032:                                             ; preds = %8031
  %8033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8033, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8034 = call ptr @__errno_location() #12
  store i32 0, ptr %8034, align 4, !tbaa !5
  br label %8035

8035:                                             ; preds = %8032
  br label %8036

8036:                                             ; preds = %8035
  br label %8037

8037:                                             ; preds = %8036
  br label %8038

8038:                                             ; preds = %8037
  br label %8039

8039:                                             ; preds = %8038
  %8040 = load i32, ptr @test_count, align 4, !tbaa !5
  %8041 = add nsw i32 %8040, 1
  store i32 %8041, ptr @test_count, align 4, !tbaa !5
  %8042 = call i32 @s2n_psk_parameters_wipe(ptr noundef %151)
  %8043 = getelementptr inbounds %struct.s2n_result, ptr %170, i32 0, i32 0
  store i32 %8042, ptr %8043, align 4
  %8044 = getelementptr inbounds %struct.s2n_result, ptr %170, i32 0, i32 0
  %8045 = load i32, ptr %8044, align 4
  %8046 = call zeroext i1 @s2n_result_is_ok(i32 %8045)
  br i1 %8046, label %8100, label %8047

8047:                                             ; preds = %8039
  br label %8048

8048:                                             ; preds = %8047
  br label %8049

8049:                                             ; preds = %8048
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %8050 = call ptr @__errno_location() #12
  %8051 = load i32, ptr %8050, align 4, !tbaa !5
  store i32 %8051, ptr %171, align 4, !tbaa !5
  %8052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8053 = call i32 @s2n_print_stacktrace(ptr noundef %8052)
  %8054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8055 = trunc i8 %8054 to i1
  br i1 %8055, label %8056, label %8078

8056:                                             ; preds = %8049
  %8057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8058 = call i32 @fileno(ptr noundef %8057) #11
  %8059 = call i32 @isatty(i32 noundef %8058) #11
  %8060 = icmp ne i32 %8059, 0
  br i1 %8060, label %8061, label %8078

8061:                                             ; preds = %8056
  %8062 = load i32, ptr %171, align 4, !tbaa !5
  %8063 = call ptr @__errno_location() #12
  store i32 %8062, ptr %8063, align 4, !tbaa !5
  %8064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8065 = load i32, ptr @test_count, align 4, !tbaa !5
  %8066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8067 = load i32, ptr %8066, align 4, !tbaa !5
  %8068 = call ptr @s2n_strerror(i32 noundef %8067, ptr noundef @.str.80)
  %8069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8070 = load i32, ptr %8069, align 4, !tbaa !5
  %8071 = call ptr @s2n_strerror_debug(i32 noundef %8070, ptr noundef @.str.80)
  %8072 = call ptr @__errno_location() #12
  %8073 = load i32, ptr %8072, align 4, !tbaa !5
  %8074 = call ptr @strerror(i32 noundef %8073) #11
  %8075 = call ptr @__errno_location() #12
  %8076 = load i32, ptr %8075, align 4, !tbaa !5
  %8077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8064, ptr noundef @.str.78, i32 noundef %8065, ptr noundef @.str.169, ptr noundef @.str.77, i32 noundef 245, ptr noundef %8068, ptr noundef %8071, ptr noundef %8074, i32 noundef %8076) #11
  br label %8095

8078:                                             ; preds = %8056, %8049
  %8079 = load i32, ptr %171, align 4, !tbaa !5
  %8080 = call ptr @__errno_location() #12
  store i32 %8079, ptr %8080, align 4, !tbaa !5
  %8081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8082 = load i32, ptr @test_count, align 4, !tbaa !5
  %8083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8084 = load i32, ptr %8083, align 4, !tbaa !5
  %8085 = call ptr @s2n_strerror(i32 noundef %8084, ptr noundef @.str.80)
  %8086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8087 = load i32, ptr %8086, align 4, !tbaa !5
  %8088 = call ptr @s2n_strerror_debug(i32 noundef %8087, ptr noundef @.str.80)
  %8089 = call ptr @__errno_location() #12
  %8090 = load i32, ptr %8089, align 4, !tbaa !5
  %8091 = call ptr @strerror(i32 noundef %8090) #11
  %8092 = call ptr @__errno_location() #12
  %8093 = load i32, ptr %8092, align 4, !tbaa !5
  %8094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8081, ptr noundef @.str.81, i32 noundef %8082, ptr noundef @.str.169, ptr noundef @.str.77, i32 noundef 245, ptr noundef %8085, ptr noundef %8088, ptr noundef %8091, i32 noundef %8093) #11
  br label %8095

8095:                                             ; preds = %8078, %8061
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %8096

8096:                                             ; preds = %8095
  br label %8097

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

8098:                                             ; No predecessors!
  br label %8099

8099:                                             ; preds = %8098
  br label %8100

8100:                                             ; preds = %8099, %8039
  br label %8101

8101:                                             ; preds = %8100
  br label %8102

8102:                                             ; preds = %8101
  call void @llvm.lifetime.start.p0(i64 64, ptr %172) #11
  call void @llvm.memset.p0.i64(ptr align 8 %172, i8 0, i64 64, i1 false)
  br label %8103

8103:                                             ; preds = %8102
  %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 = call i32 @s2n_psk_parameters_init(ptr noundef %172)
  %8107 = getelementptr inbounds %struct.s2n_result, ptr %173, i32 0, i32 0
  store i32 %8106, ptr %8107, align 4
  %8108 = getelementptr inbounds %struct.s2n_result, ptr %173, i32 0, i32 0
  %8109 = load i32, ptr %8108, align 4
  %8110 = call zeroext i1 @s2n_result_is_ok(i32 %8109)
  br i1 %8110, label %8164, label %8111

8111:                                             ; preds = %8103
  br label %8112

8112:                                             ; preds = %8111
  br label %8113

8113:                                             ; preds = %8112
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #11
  %8114 = call ptr @__errno_location() #12
  %8115 = load i32, ptr %8114, align 4, !tbaa !5
  store i32 %8115, ptr %174, align 4, !tbaa !5
  %8116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8117 = call i32 @s2n_print_stacktrace(ptr noundef %8116)
  %8118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8119 = trunc i8 %8118 to i1
  br i1 %8119, label %8120, label %8142

8120:                                             ; preds = %8113
  %8121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8122 = call i32 @fileno(ptr noundef %8121) #11
  %8123 = call i32 @isatty(i32 noundef %8122) #11
  %8124 = icmp ne i32 %8123, 0
  br i1 %8124, label %8125, label %8142

8125:                                             ; preds = %8120
  %8126 = load i32, ptr %174, align 4, !tbaa !5
  %8127 = call ptr @__errno_location() #12
  store i32 %8126, ptr %8127, align 4, !tbaa !5
  %8128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8129 = load i32, ptr @test_count, align 4, !tbaa !5
  %8130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8131 = load i32, ptr %8130, align 4, !tbaa !5
  %8132 = call ptr @s2n_strerror(i32 noundef %8131, ptr noundef @.str.80)
  %8133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8134 = load i32, ptr %8133, align 4, !tbaa !5
  %8135 = call ptr @s2n_strerror_debug(i32 noundef %8134, ptr noundef @.str.80)
  %8136 = call ptr @__errno_location() #12
  %8137 = load i32, ptr %8136, align 4, !tbaa !5
  %8138 = call ptr @strerror(i32 noundef %8137) #11
  %8139 = call ptr @__errno_location() #12
  %8140 = load i32, ptr %8139, align 4, !tbaa !5
  %8141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8128, ptr noundef @.str.78, i32 noundef %8129, ptr noundef @.str.170, ptr noundef @.str.77, i32 noundef 250, ptr noundef %8132, ptr noundef %8135, ptr noundef %8138, i32 noundef %8140) #11
  br label %8159

8142:                                             ; preds = %8120, %8113
  %8143 = load i32, ptr %174, align 4, !tbaa !5
  %8144 = call ptr @__errno_location() #12
  store i32 %8143, ptr %8144, align 4, !tbaa !5
  %8145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8146 = load i32, ptr @test_count, align 4, !tbaa !5
  %8147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8148 = load i32, ptr %8147, align 4, !tbaa !5
  %8149 = call ptr @s2n_strerror(i32 noundef %8148, ptr noundef @.str.80)
  %8150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8151 = load i32, ptr %8150, align 4, !tbaa !5
  %8152 = call ptr @s2n_strerror_debug(i32 noundef %8151, ptr noundef @.str.80)
  %8153 = call ptr @__errno_location() #12
  %8154 = load i32, ptr %8153, align 4, !tbaa !5
  %8155 = call ptr @strerror(i32 noundef %8154) #11
  %8156 = call ptr @__errno_location() #12
  %8157 = load i32, ptr %8156, align 4, !tbaa !5
  %8158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8145, ptr noundef @.str.81, i32 noundef %8146, ptr noundef @.str.170, ptr noundef @.str.77, i32 noundef 250, ptr noundef %8149, ptr noundef %8152, ptr noundef %8155, i32 noundef %8157) #11
  br label %8159

8159:                                             ; preds = %8142, %8125
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #11
  br label %8160

8160:                                             ; preds = %8159
  br label %8161

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

8162:                                             ; No predecessors!
  br label %8163

8163:                                             ; preds = %8162
  br label %8164

8164:                                             ; preds = %8163, %8103
  br label %8165

8165:                                             ; preds = %8164
  br label %8166

8166:                                             ; preds = %8165
  br label %8167

8167:                                             ; preds = %8166
  br label %8168

8168:                                             ; preds = %8167
  %8169 = load i32, ptr @test_count, align 4, !tbaa !5
  %8170 = add nsw i32 %8169, 1
  store i32 %8170, ptr @test_count, align 4, !tbaa !5
  %8171 = call i32 @memcmp(ptr noundef %172, ptr noundef %151, i64 noundef 64) #14
  %8172 = icmp eq i32 %8171, 0
  br i1 %8172, label %8226, label %8173

8173:                                             ; preds = %8168
  br label %8174

8174:                                             ; preds = %8173
  br label %8175

8175:                                             ; preds = %8174
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %8176 = call ptr @__errno_location() #12
  %8177 = load i32, ptr %8176, align 4, !tbaa !5
  store i32 %8177, ptr %175, align 4, !tbaa !5
  %8178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8179 = call i32 @s2n_print_stacktrace(ptr noundef %8178)
  %8180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8181 = trunc i8 %8180 to i1
  br i1 %8181, label %8182, label %8204

8182:                                             ; preds = %8175
  %8183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8184 = call i32 @fileno(ptr noundef %8183) #11
  %8185 = call i32 @isatty(i32 noundef %8184) #11
  %8186 = icmp ne i32 %8185, 0
  br i1 %8186, label %8187, label %8204

8187:                                             ; preds = %8182
  %8188 = load i32, ptr %175, align 4, !tbaa !5
  %8189 = call ptr @__errno_location() #12
  store i32 %8188, ptr %8189, align 4, !tbaa !5
  %8190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8191 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8193, ptr noundef @.str.80)
  %8195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call ptr @s2n_strerror_debug(i32 noundef %8196, ptr noundef @.str.80)
  %8198 = call ptr @__errno_location() #12
  %8199 = load i32, ptr %8198, align 4, !tbaa !5
  %8200 = call ptr @strerror(i32 noundef %8199) #11
  %8201 = call ptr @__errno_location() #12
  %8202 = load i32, ptr %8201, align 4, !tbaa !5
  %8203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8190, ptr noundef @.str.78, i32 noundef %8191, ptr noundef @.str.160, ptr noundef @.str.77, i32 noundef 251, ptr noundef %8194, ptr noundef %8197, ptr noundef %8200, i32 noundef %8202) #11
  br label %8221

8204:                                             ; preds = %8182, %8175
  %8205 = load i32, ptr %175, align 4, !tbaa !5
  %8206 = call ptr @__errno_location() #12
  store i32 %8205, ptr %8206, align 4, !tbaa !5
  %8207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8208 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8210, ptr noundef @.str.80)
  %8212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8213 = load i32, ptr %8212, align 4, !tbaa !5
  %8214 = call ptr @s2n_strerror_debug(i32 noundef %8213, ptr noundef @.str.80)
  %8215 = call ptr @__errno_location() #12
  %8216 = load i32, ptr %8215, align 4, !tbaa !5
  %8217 = call ptr @strerror(i32 noundef %8216) #11
  %8218 = call ptr @__errno_location() #12
  %8219 = load i32, ptr %8218, align 4, !tbaa !5
  %8220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8207, ptr noundef @.str.81, i32 noundef %8208, ptr noundef @.str.160, ptr noundef @.str.77, i32 noundef 251, ptr noundef %8211, ptr noundef %8214, ptr noundef %8217, i32 noundef %8219) #11
  br label %8221

8221:                                             ; preds = %8204, %8187
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %8222

8222:                                             ; preds = %8221
  br label %8223

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

8224:                                             ; No predecessors!
  br label %8225

8225:                                             ; preds = %8224
  br label %8226

8226:                                             ; preds = %8225, %8168
  br label %8227

8227:                                             ; preds = %8226
  br label %8228

8228:                                             ; preds = %8227
  br label %8229

8229:                                             ; preds = %8228
  br label %8230

8230:                                             ; preds = %8229
  call void @llvm.lifetime.end.p0(i64 64, ptr %172) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #11
  %8231 = call i32 @s2n_psk_parameters_wipe(ptr noundef %151)
  %8232 = getelementptr inbounds %struct.s2n_result, ptr %176, i32 0, i32 0
  store i32 %8231, ptr %8232, align 4
  call void @llvm.lifetime.end.p0(i64 64, ptr %151) #11
  call void @llvm.lifetime.end.p0(i64 11, ptr %150) #11
  br label %8233

8233:                                             ; preds = %8230
  br label %8234

8234:                                             ; preds = %8233
  br label %8235

8235:                                             ; preds = %8234
  %8236 = load i32, ptr @test_count, align 4, !tbaa !5
  %8237 = add nsw i32 %8236, 1
  store i32 %8237, ptr @test_count, align 4, !tbaa !5
  %8238 = call i32 @s2n_psk_parameters_wipe_secrets(ptr noundef null)
  %8239 = getelementptr inbounds %struct.s2n_result, ptr %177, i32 0, i32 0
  store i32 %8238, ptr %8239, align 4
  %8240 = getelementptr inbounds %struct.s2n_result, ptr %177, i32 0, i32 0
  %8241 = load i32, ptr %8240, align 4
  %8242 = call zeroext i1 @s2n_result_is_error(i32 %8241)
  br i1 %8242, label %8294, label %8243

8243:                                             ; preds = %8235
  br label %8244

8244:                                             ; preds = %8243
  br label %8245

8245:                                             ; preds = %8244
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %8246 = call ptr @__errno_location() #12
  %8247 = load i32, ptr %8246, align 4, !tbaa !5
  store i32 %8247, ptr %178, align 4, !tbaa !5
  %8248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8249 = call i32 @s2n_print_stacktrace(ptr noundef %8248)
  %8250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8251 = trunc i8 %8250 to i1
  br i1 %8251, label %8252, label %8274

8252:                                             ; preds = %8245
  %8253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8254 = call i32 @fileno(ptr noundef %8253) #11
  %8255 = call i32 @isatty(i32 noundef %8254) #11
  %8256 = icmp ne i32 %8255, 0
  br i1 %8256, label %8257, label %8274

8257:                                             ; preds = %8252
  %8258 = load i32, ptr %178, align 4, !tbaa !5
  %8259 = call ptr @__errno_location() #12
  store i32 %8258, ptr %8259, align 4, !tbaa !5
  %8260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8261 = load i32, ptr @test_count, align 4, !tbaa !5
  %8262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8263 = load i32, ptr %8262, align 4, !tbaa !5
  %8264 = call ptr @s2n_strerror(i32 noundef %8263, ptr noundef @.str.80)
  %8265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8266 = load i32, ptr %8265, align 4, !tbaa !5
  %8267 = call ptr @s2n_strerror_debug(i32 noundef %8266, ptr noundef @.str.80)
  %8268 = call ptr @__errno_location() #12
  %8269 = load i32, ptr %8268, align 4, !tbaa !5
  %8270 = call ptr @strerror(i32 noundef %8269) #11
  %8271 = call ptr @__errno_location() #12
  %8272 = load i32, ptr %8271, align 4, !tbaa !5
  %8273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8260, ptr noundef @.str.78, i32 noundef %8261, ptr noundef @.str.171, ptr noundef @.str.77, i32 noundef 257, ptr noundef %8264, ptr noundef %8267, ptr noundef %8270, i32 noundef %8272) #11
  br label %8291

8274:                                             ; preds = %8252, %8245
  %8275 = load i32, ptr %178, align 4, !tbaa !5
  %8276 = call ptr @__errno_location() #12
  store i32 %8275, ptr %8276, align 4, !tbaa !5
  %8277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8278 = load i32, ptr @test_count, align 4, !tbaa !5
  %8279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8280 = load i32, ptr %8279, align 4, !tbaa !5
  %8281 = call ptr @s2n_strerror(i32 noundef %8280, ptr noundef @.str.80)
  %8282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8283 = load i32, ptr %8282, align 4, !tbaa !5
  %8284 = call ptr @s2n_strerror_debug(i32 noundef %8283, ptr noundef @.str.80)
  %8285 = call ptr @__errno_location() #12
  %8286 = load i32, ptr %8285, align 4, !tbaa !5
  %8287 = call ptr @strerror(i32 noundef %8286) #11
  %8288 = call ptr @__errno_location() #12
  %8289 = load i32, ptr %8288, align 4, !tbaa !5
  %8290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8277, ptr noundef @.str.81, i32 noundef %8278, ptr noundef @.str.171, ptr noundef @.str.77, i32 noundef 257, ptr noundef %8281, ptr noundef %8284, ptr noundef %8287, i32 noundef %8289) #11
  br label %8291

8291:                                             ; preds = %8274, %8257
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %8292

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

8293:                                             ; No predecessors!
  br label %8294

8294:                                             ; preds = %8293, %8235
  br label %8295

8295:                                             ; preds = %8294
  br label %8296

8296:                                             ; preds = %8295
  %8297 = load i32, ptr @test_count, align 4, !tbaa !5
  %8298 = add nsw i32 %8297, 1
  store i32 %8298, ptr @test_count, align 4, !tbaa !5
  %8299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8300 = load i32, ptr %8299, align 4, !tbaa !5
  %8301 = icmp eq i32 %8300, 402653193
  br i1 %8301, label %8353, label %8302

8302:                                             ; preds = %8296
  br label %8303

8303:                                             ; preds = %8302
  br label %8304

8304:                                             ; preds = %8303
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %8305 = call ptr @__errno_location() #12
  %8306 = load i32, ptr %8305, align 4, !tbaa !5
  store i32 %8306, ptr %179, align 4, !tbaa !5
  %8307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8308 = call i32 @s2n_print_stacktrace(ptr noundef %8307)
  %8309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8310 = trunc i8 %8309 to i1
  br i1 %8310, label %8311, label %8333

8311:                                             ; preds = %8304
  %8312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8313 = call i32 @fileno(ptr noundef %8312) #11
  %8314 = call i32 @isatty(i32 noundef %8313) #11
  %8315 = icmp ne i32 %8314, 0
  br i1 %8315, label %8316, label %8333

8316:                                             ; preds = %8311
  %8317 = load i32, ptr %179, align 4, !tbaa !5
  %8318 = call ptr @__errno_location() #12
  store i32 %8317, ptr %8318, align 4, !tbaa !5
  %8319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8320 = load i32, ptr @test_count, align 4, !tbaa !5
  %8321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8322 = load i32, ptr %8321, align 4, !tbaa !5
  %8323 = call ptr @s2n_strerror(i32 noundef %8322, ptr noundef @.str.80)
  %8324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8325 = load i32, ptr %8324, align 4, !tbaa !5
  %8326 = call ptr @s2n_strerror_debug(i32 noundef %8325, ptr noundef @.str.80)
  %8327 = call ptr @__errno_location() #12
  %8328 = load i32, ptr %8327, align 4, !tbaa !5
  %8329 = call ptr @strerror(i32 noundef %8328) #11
  %8330 = call ptr @__errno_location() #12
  %8331 = load i32, ptr %8330, align 4, !tbaa !5
  %8332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8319, ptr noundef @.str.78, i32 noundef %8320, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 257, ptr noundef %8323, ptr noundef %8326, ptr noundef %8329, i32 noundef %8331) #11
  br label %8350

8333:                                             ; preds = %8311, %8304
  %8334 = load i32, ptr %179, align 4, !tbaa !5
  %8335 = call ptr @__errno_location() #12
  store i32 %8334, ptr %8335, align 4, !tbaa !5
  %8336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8337 = load i32, ptr @test_count, align 4, !tbaa !5
  %8338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8339 = load i32, ptr %8338, align 4, !tbaa !5
  %8340 = call ptr @s2n_strerror(i32 noundef %8339, ptr noundef @.str.80)
  %8341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8342 = load i32, ptr %8341, align 4, !tbaa !5
  %8343 = call ptr @s2n_strerror_debug(i32 noundef %8342, ptr noundef @.str.80)
  %8344 = call ptr @__errno_location() #12
  %8345 = load i32, ptr %8344, align 4, !tbaa !5
  %8346 = call ptr @strerror(i32 noundef %8345) #11
  %8347 = call ptr @__errno_location() #12
  %8348 = load i32, ptr %8347, align 4, !tbaa !5
  %8349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8336, ptr noundef @.str.81, i32 noundef %8337, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 257, ptr noundef %8340, ptr noundef %8343, ptr noundef %8346, i32 noundef %8348) #11
  br label %8350

8350:                                             ; preds = %8333, %8316
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %8351

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

8352:                                             ; No predecessors!
  br label %8353

8353:                                             ; preds = %8352, %8296
  br label %8354

8354:                                             ; preds = %8353
  br label %8355

8355:                                             ; preds = %8354
  %8356 = load i32, ptr @test_count, align 4, !tbaa !5
  %8357 = add nsw i32 %8356, 1
  store i32 %8357, ptr @test_count, align 4, !tbaa !5
  %8358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8359 = load i32, ptr %8358, align 4, !tbaa !5
  %8360 = call ptr @s2n_strerror_debug(i32 noundef %8359, ptr noundef @.str.80)
  %8361 = icmp eq ptr %8360, null
  br i1 %8361, label %8362, label %8413

8362:                                             ; preds = %8355
  br label %8363

8363:                                             ; preds = %8362
  br label %8364

8364:                                             ; preds = %8363
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %8365 = call ptr @__errno_location() #12
  %8366 = load i32, ptr %8365, align 4, !tbaa !5
  store i32 %8366, ptr %180, align 4, !tbaa !5
  %8367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8368 = call i32 @s2n_print_stacktrace(ptr noundef %8367)
  %8369 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8370 = trunc i8 %8369 to i1
  br i1 %8370, label %8371, label %8393

8371:                                             ; preds = %8364
  %8372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8373 = call i32 @fileno(ptr noundef %8372) #11
  %8374 = call i32 @isatty(i32 noundef %8373) #11
  %8375 = icmp ne i32 %8374, 0
  br i1 %8375, label %8376, label %8393

8376:                                             ; preds = %8371
  %8377 = load i32, ptr %180, align 4, !tbaa !5
  %8378 = call ptr @__errno_location() #12
  store i32 %8377, ptr %8378, align 4, !tbaa !5
  %8379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8380 = load i32, ptr @test_count, align 4, !tbaa !5
  %8381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8382 = load i32, ptr %8381, align 4, !tbaa !5
  %8383 = call ptr @s2n_strerror(i32 noundef %8382, ptr noundef @.str.80)
  %8384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8385 = load i32, ptr %8384, align 4, !tbaa !5
  %8386 = call ptr @s2n_strerror_debug(i32 noundef %8385, ptr noundef @.str.80)
  %8387 = call ptr @__errno_location() #12
  %8388 = load i32, ptr %8387, align 4, !tbaa !5
  %8389 = call ptr @strerror(i32 noundef %8388) #11
  %8390 = call ptr @__errno_location() #12
  %8391 = load i32, ptr %8390, align 4, !tbaa !5
  %8392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8379, ptr noundef @.str.78, i32 noundef %8380, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 257, ptr noundef %8383, ptr noundef %8386, ptr noundef %8389, i32 noundef %8391) #11
  br label %8410

8393:                                             ; preds = %8371, %8364
  %8394 = load i32, ptr %180, align 4, !tbaa !5
  %8395 = call ptr @__errno_location() #12
  store i32 %8394, ptr %8395, align 4, !tbaa !5
  %8396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8397 = load i32, ptr @test_count, align 4, !tbaa !5
  %8398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8399 = load i32, ptr %8398, align 4, !tbaa !5
  %8400 = call ptr @s2n_strerror(i32 noundef %8399, ptr noundef @.str.80)
  %8401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8402 = load i32, ptr %8401, align 4, !tbaa !5
  %8403 = call ptr @s2n_strerror_debug(i32 noundef %8402, ptr noundef @.str.80)
  %8404 = call ptr @__errno_location() #12
  %8405 = load i32, ptr %8404, align 4, !tbaa !5
  %8406 = call ptr @strerror(i32 noundef %8405) #11
  %8407 = call ptr @__errno_location() #12
  %8408 = load i32, ptr %8407, align 4, !tbaa !5
  %8409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8396, ptr noundef @.str.81, i32 noundef %8397, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 257, ptr noundef %8400, ptr noundef %8403, ptr noundef %8406, i32 noundef %8408) #11
  br label %8410

8410:                                             ; preds = %8393, %8376
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %8411

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

8412:                                             ; No predecessors!
  br label %8413

8413:                                             ; preds = %8412, %8355
  br label %8414

8414:                                             ; preds = %8413
  br label %8415

8415:                                             ; preds = %8414
  br label %8416

8416:                                             ; preds = %8415
  %8417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8417, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8418 = call ptr @__errno_location() #12
  store i32 0, ptr %8418, align 4, !tbaa !5
  br label %8419

8419:                                             ; preds = %8416
  br label %8420

8420:                                             ; preds = %8419
  call void @llvm.lifetime.start.p0(i64 19, ptr %181) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %181, ptr align 16 @__const.main.test_identity_data, i64 19, i1 false)
  call void @llvm.lifetime.start.p0(i64 17, ptr %182) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %182, ptr align 16 @__const.main.test_secret_data, i64 17, i1 false)
  call void @llvm.lifetime.start.p0(i64 64, ptr %183) #11
  call void @llvm.memset.p0.i64(ptr align 8 %183, i8 0, i64 64, i1 false)
  br label %8421

8421:                                             ; preds = %8420
  %8422 = load i32, ptr @test_count, align 4, !tbaa !5
  %8423 = add nsw i32 %8422, 1
  store i32 %8423, ptr @test_count, align 4, !tbaa !5
  %8424 = call i32 @s2n_psk_parameters_init(ptr noundef %183)
  %8425 = getelementptr inbounds %struct.s2n_result, ptr %184, i32 0, i32 0
  store i32 %8424, ptr %8425, align 4
  %8426 = getelementptr inbounds %struct.s2n_result, ptr %184, i32 0, i32 0
  %8427 = load i32, ptr %8426, align 4
  %8428 = call zeroext i1 @s2n_result_is_ok(i32 %8427)
  br i1 %8428, label %8482, label %8429

8429:                                             ; preds = %8421
  br label %8430

8430:                                             ; preds = %8429
  br label %8431

8431:                                             ; preds = %8430
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %8432 = call ptr @__errno_location() #12
  %8433 = load i32, ptr %8432, align 4, !tbaa !5
  store i32 %8433, ptr %185, align 4, !tbaa !5
  %8434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8435 = call i32 @s2n_print_stacktrace(ptr noundef %8434)
  %8436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8437 = trunc i8 %8436 to i1
  br i1 %8437, label %8438, label %8460

8438:                                             ; preds = %8431
  %8439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8440 = call i32 @fileno(ptr noundef %8439) #11
  %8441 = call i32 @isatty(i32 noundef %8440) #11
  %8442 = icmp ne i32 %8441, 0
  br i1 %8442, label %8443, label %8460

8443:                                             ; preds = %8438
  %8444 = load i32, ptr %185, align 4, !tbaa !5
  %8445 = call ptr @__errno_location() #12
  store i32 %8444, ptr %8445, align 4, !tbaa !5
  %8446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8447 = load i32, ptr @test_count, align 4, !tbaa !5
  %8448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8449 = load i32, ptr %8448, align 4, !tbaa !5
  %8450 = call ptr @s2n_strerror(i32 noundef %8449, ptr noundef @.str.80)
  %8451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8452 = load i32, ptr %8451, align 4, !tbaa !5
  %8453 = call ptr @s2n_strerror_debug(i32 noundef %8452, ptr noundef @.str.80)
  %8454 = call ptr @__errno_location() #12
  %8455 = load i32, ptr %8454, align 4, !tbaa !5
  %8456 = call ptr @strerror(i32 noundef %8455) #11
  %8457 = call ptr @__errno_location() #12
  %8458 = load i32, ptr %8457, align 4, !tbaa !5
  %8459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8446, ptr noundef @.str.78, i32 noundef %8447, ptr noundef @.str.159, ptr noundef @.str.77, i32 noundef 262, ptr noundef %8450, ptr noundef %8453, ptr noundef %8456, i32 noundef %8458) #11
  br label %8477

8460:                                             ; preds = %8438, %8431
  %8461 = load i32, ptr %185, align 4, !tbaa !5
  %8462 = call ptr @__errno_location() #12
  store i32 %8461, ptr %8462, align 4, !tbaa !5
  %8463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8464 = load i32, ptr @test_count, align 4, !tbaa !5
  %8465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8466 = load i32, ptr %8465, align 4, !tbaa !5
  %8467 = call ptr @s2n_strerror(i32 noundef %8466, ptr noundef @.str.80)
  %8468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8469 = load i32, ptr %8468, align 4, !tbaa !5
  %8470 = call ptr @s2n_strerror_debug(i32 noundef %8469, ptr noundef @.str.80)
  %8471 = call ptr @__errno_location() #12
  %8472 = load i32, ptr %8471, align 4, !tbaa !5
  %8473 = call ptr @strerror(i32 noundef %8472) #11
  %8474 = call ptr @__errno_location() #12
  %8475 = load i32, ptr %8474, align 4, !tbaa !5
  %8476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8463, ptr noundef @.str.81, i32 noundef %8464, ptr noundef @.str.159, ptr noundef @.str.77, i32 noundef 262, ptr noundef %8467, ptr noundef %8470, ptr noundef %8473, i32 noundef %8475) #11
  br label %8477

8477:                                             ; preds = %8460, %8443
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %8478

8478:                                             ; preds = %8477
  br label %8479

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

8480:                                             ; No predecessors!
  br label %8481

8481:                                             ; preds = %8480
  br label %8482

8482:                                             ; preds = %8481, %8421
  br label %8483

8483:                                             ; preds = %8482
  br label %8484

8484:                                             ; preds = %8483
  %8485 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %183, i32 0, i32 2
  store i16 1, ptr %8485, align 8, !tbaa !35
  %8486 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %183, i32 0, i32 3
  store i16 1, ptr %8486, align 2, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr %186) #11
  store ptr null, ptr %186, align 8, !tbaa !9
  br label %8487

8487:                                             ; preds = %8484
  %8488 = load i32, ptr @test_count, align 4, !tbaa !5
  %8489 = add nsw i32 %8488, 1
  store i32 %8489, ptr @test_count, align 4, !tbaa !5
  %8490 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %183, i32 0, i32 1
  %8491 = call i32 @s2n_array_pushback(ptr noundef %8490, ptr noundef %186)
  %8492 = getelementptr inbounds %struct.s2n_result, ptr %187, i32 0, i32 0
  store i32 %8491, ptr %8492, align 4
  %8493 = getelementptr inbounds %struct.s2n_result, ptr %187, i32 0, i32 0
  %8494 = load i32, ptr %8493, align 4
  %8495 = call zeroext i1 @s2n_result_is_ok(i32 %8494)
  br i1 %8495, label %8549, label %8496

8496:                                             ; preds = %8487
  br label %8497

8497:                                             ; preds = %8496
  br label %8498

8498:                                             ; preds = %8497
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %8499 = call ptr @__errno_location() #12
  %8500 = load i32, ptr %8499, align 4, !tbaa !5
  store i32 %8500, ptr %188, align 4, !tbaa !5
  %8501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8502 = call i32 @s2n_print_stacktrace(ptr noundef %8501)
  %8503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8504 = trunc i8 %8503 to i1
  br i1 %8504, label %8505, label %8527

8505:                                             ; preds = %8498
  %8506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8507 = call i32 @fileno(ptr noundef %8506) #11
  %8508 = call i32 @isatty(i32 noundef %8507) #11
  %8509 = icmp ne i32 %8508, 0
  br i1 %8509, label %8510, label %8527

8510:                                             ; preds = %8505
  %8511 = load i32, ptr %188, align 4, !tbaa !5
  %8512 = call ptr @__errno_location() #12
  store i32 %8511, ptr %8512, align 4, !tbaa !5
  %8513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8514 = load i32, ptr @test_count, align 4, !tbaa !5
  %8515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8516 = load i32, ptr %8515, align 4, !tbaa !5
  %8517 = call ptr @s2n_strerror(i32 noundef %8516, ptr noundef @.str.80)
  %8518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8519 = load i32, ptr %8518, align 4, !tbaa !5
  %8520 = call ptr @s2n_strerror_debug(i32 noundef %8519, ptr noundef @.str.80)
  %8521 = call ptr @__errno_location() #12
  %8522 = load i32, ptr %8521, align 4, !tbaa !5
  %8523 = call ptr @strerror(i32 noundef %8522) #11
  %8524 = call ptr @__errno_location() #12
  %8525 = load i32, ptr %8524, align 4, !tbaa !5
  %8526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8513, ptr noundef @.str.78, i32 noundef %8514, ptr noundef @.str.162, ptr noundef @.str.77, i32 noundef 267, ptr noundef %8517, ptr noundef %8520, ptr noundef %8523, i32 noundef %8525) #11
  br label %8544

8527:                                             ; preds = %8505, %8498
  %8528 = load i32, ptr %188, align 4, !tbaa !5
  %8529 = call ptr @__errno_location() #12
  store i32 %8528, ptr %8529, align 4, !tbaa !5
  %8530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8531 = load i32, ptr @test_count, align 4, !tbaa !5
  %8532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8533 = load i32, ptr %8532, align 4, !tbaa !5
  %8534 = call ptr @s2n_strerror(i32 noundef %8533, ptr noundef @.str.80)
  %8535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8536 = load i32, ptr %8535, align 4, !tbaa !5
  %8537 = call ptr @s2n_strerror_debug(i32 noundef %8536, ptr noundef @.str.80)
  %8538 = call ptr @__errno_location() #12
  %8539 = load i32, ptr %8538, align 4, !tbaa !5
  %8540 = call ptr @strerror(i32 noundef %8539) #11
  %8541 = call ptr @__errno_location() #12
  %8542 = load i32, ptr %8541, align 4, !tbaa !5
  %8543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8530, ptr noundef @.str.81, i32 noundef %8531, ptr noundef @.str.162, ptr noundef @.str.77, i32 noundef 267, ptr noundef %8534, ptr noundef %8537, ptr noundef %8540, i32 noundef %8542) #11
  br label %8544

8544:                                             ; preds = %8527, %8510
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %8545

8545:                                             ; preds = %8544
  br label %8546

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

8547:                                             ; No predecessors!
  br label %8548

8548:                                             ; preds = %8547
  br label %8549

8549:                                             ; preds = %8548, %8487
  br label %8550

8550:                                             ; preds = %8549
  br label %8551

8551:                                             ; preds = %8550
  br label %8552

8552:                                             ; preds = %8551
  %8553 = load i32, ptr @test_count, align 4, !tbaa !5
  %8554 = add nsw i32 %8553, 1
  store i32 %8554, ptr @test_count, align 4, !tbaa !5
  %8555 = load ptr, ptr %186, align 8, !tbaa !9
  %8556 = call i32 @s2n_psk_init(ptr noundef %8555, i32 noundef 1)
  %8557 = getelementptr inbounds %struct.s2n_result, ptr %189, i32 0, i32 0
  store i32 %8556, ptr %8557, align 4
  %8558 = getelementptr inbounds %struct.s2n_result, ptr %189, i32 0, i32 0
  %8559 = load i32, ptr %8558, align 4
  %8560 = call zeroext i1 @s2n_result_is_ok(i32 %8559)
  br i1 %8560, label %8614, label %8561

8561:                                             ; preds = %8552
  br label %8562

8562:                                             ; preds = %8561
  br label %8563

8563:                                             ; preds = %8562
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %8564 = call ptr @__errno_location() #12
  %8565 = load i32, ptr %8564, align 4, !tbaa !5
  store i32 %8565, ptr %190, align 4, !tbaa !5
  %8566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8567 = call i32 @s2n_print_stacktrace(ptr noundef %8566)
  %8568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8569 = trunc i8 %8568 to i1
  br i1 %8569, label %8570, label %8592

8570:                                             ; preds = %8563
  %8571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8572 = call i32 @fileno(ptr noundef %8571) #11
  %8573 = call i32 @isatty(i32 noundef %8572) #11
  %8574 = icmp ne i32 %8573, 0
  br i1 %8574, label %8575, label %8592

8575:                                             ; preds = %8570
  %8576 = load i32, ptr %190, align 4, !tbaa !5
  %8577 = call ptr @__errno_location() #12
  store i32 %8576, ptr %8577, align 4, !tbaa !5
  %8578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8579 = load i32, ptr @test_count, align 4, !tbaa !5
  %8580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8581 = load i32, ptr %8580, align 4, !tbaa !5
  %8582 = call ptr @s2n_strerror(i32 noundef %8581, ptr noundef @.str.80)
  %8583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8584 = load i32, ptr %8583, align 4, !tbaa !5
  %8585 = call ptr @s2n_strerror_debug(i32 noundef %8584, ptr noundef @.str.80)
  %8586 = call ptr @__errno_location() #12
  %8587 = load i32, ptr %8586, align 4, !tbaa !5
  %8588 = call ptr @strerror(i32 noundef %8587) #11
  %8589 = call ptr @__errno_location() #12
  %8590 = load i32, ptr %8589, align 4, !tbaa !5
  %8591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8578, ptr noundef @.str.78, i32 noundef %8579, ptr noundef @.str.163, ptr noundef @.str.77, i32 noundef 268, ptr noundef %8582, ptr noundef %8585, ptr noundef %8588, i32 noundef %8590) #11
  br label %8609

8592:                                             ; preds = %8570, %8563
  %8593 = load i32, ptr %190, align 4, !tbaa !5
  %8594 = call ptr @__errno_location() #12
  store i32 %8593, ptr %8594, align 4, !tbaa !5
  %8595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8596 = load i32, ptr @test_count, align 4, !tbaa !5
  %8597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8598 = load i32, ptr %8597, align 4, !tbaa !5
  %8599 = call ptr @s2n_strerror(i32 noundef %8598, ptr noundef @.str.80)
  %8600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8601 = load i32, ptr %8600, align 4, !tbaa !5
  %8602 = call ptr @s2n_strerror_debug(i32 noundef %8601, ptr noundef @.str.80)
  %8603 = call ptr @__errno_location() #12
  %8604 = load i32, ptr %8603, align 4, !tbaa !5
  %8605 = call ptr @strerror(i32 noundef %8604) #11
  %8606 = call ptr @__errno_location() #12
  %8607 = load i32, ptr %8606, align 4, !tbaa !5
  %8608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8595, ptr noundef @.str.81, i32 noundef %8596, ptr noundef @.str.163, ptr noundef @.str.77, i32 noundef 268, ptr noundef %8599, ptr noundef %8602, ptr noundef %8605, i32 noundef %8607) #11
  br label %8609

8609:                                             ; preds = %8592, %8575
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %8610

8610:                                             ; preds = %8609
  br label %8611

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

8612:                                             ; No predecessors!
  br label %8613

8613:                                             ; preds = %8612
  br label %8614

8614:                                             ; preds = %8613, %8552
  br label %8615

8615:                                             ; preds = %8614
  br label %8616

8616:                                             ; preds = %8615
  br label %8617

8617:                                             ; preds = %8616
  %8618 = load i32, ptr @test_count, align 4, !tbaa !5
  %8619 = add nsw i32 %8618, 1
  store i32 %8619, ptr @test_count, align 4, !tbaa !5
  %8620 = load ptr, ptr %186, align 8, !tbaa !9
  %8621 = getelementptr inbounds [19 x i8], ptr %181, i64 0, i64 0
  %8622 = call i32 @s2n_psk_set_identity(ptr noundef %8620, ptr noundef %8621, i16 noundef zeroext 19)
  %8623 = icmp eq i32 %8622, -1
  br i1 %8623, label %8624, label %8677

8624:                                             ; preds = %8617
  br label %8625

8625:                                             ; preds = %8624
  br label %8626

8626:                                             ; preds = %8625
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %8627 = call ptr @__errno_location() #12
  %8628 = load i32, ptr %8627, align 4, !tbaa !5
  store i32 %8628, ptr %191, align 4, !tbaa !5
  %8629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8630 = call i32 @s2n_print_stacktrace(ptr noundef %8629)
  %8631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8632 = trunc i8 %8631 to i1
  br i1 %8632, label %8633, label %8655

8633:                                             ; preds = %8626
  %8634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8635 = call i32 @fileno(ptr noundef %8634) #11
  %8636 = call i32 @isatty(i32 noundef %8635) #11
  %8637 = icmp ne i32 %8636, 0
  br i1 %8637, label %8638, label %8655

8638:                                             ; preds = %8633
  %8639 = load i32, ptr %191, align 4, !tbaa !5
  %8640 = call ptr @__errno_location() #12
  store i32 %8639, ptr %8640, align 4, !tbaa !5
  %8641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8642 = load i32, ptr @test_count, align 4, !tbaa !5
  %8643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8644 = load i32, ptr %8643, align 4, !tbaa !5
  %8645 = call ptr @s2n_strerror(i32 noundef %8644, ptr noundef @.str.80)
  %8646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8647 = load i32, ptr %8646, align 4, !tbaa !5
  %8648 = call ptr @s2n_strerror_debug(i32 noundef %8647, ptr noundef @.str.80)
  %8649 = call ptr @__errno_location() #12
  %8650 = load i32, ptr %8649, align 4, !tbaa !5
  %8651 = call ptr @strerror(i32 noundef %8650) #11
  %8652 = call ptr @__errno_location() #12
  %8653 = load i32, ptr %8652, align 4, !tbaa !5
  %8654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8641, ptr noundef @.str.78, i32 noundef %8642, ptr noundef @.str.172, ptr noundef @.str.77, i32 noundef 269, ptr noundef %8645, ptr noundef %8648, ptr noundef %8651, i32 noundef %8653) #11
  br label %8672

8655:                                             ; preds = %8633, %8626
  %8656 = load i32, ptr %191, align 4, !tbaa !5
  %8657 = call ptr @__errno_location() #12
  store i32 %8656, ptr %8657, align 4, !tbaa !5
  %8658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8659 = load i32, ptr @test_count, align 4, !tbaa !5
  %8660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8661 = load i32, ptr %8660, align 4, !tbaa !5
  %8662 = call ptr @s2n_strerror(i32 noundef %8661, ptr noundef @.str.80)
  %8663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8664 = load i32, ptr %8663, align 4, !tbaa !5
  %8665 = call ptr @s2n_strerror_debug(i32 noundef %8664, ptr noundef @.str.80)
  %8666 = call ptr @__errno_location() #12
  %8667 = load i32, ptr %8666, align 4, !tbaa !5
  %8668 = call ptr @strerror(i32 noundef %8667) #11
  %8669 = call ptr @__errno_location() #12
  %8670 = load i32, ptr %8669, align 4, !tbaa !5
  %8671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8658, ptr noundef @.str.81, i32 noundef %8659, ptr noundef @.str.172, ptr noundef @.str.77, i32 noundef 269, ptr noundef %8662, ptr noundef %8665, ptr noundef %8668, i32 noundef %8670) #11
  br label %8672

8672:                                             ; preds = %8655, %8638
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %8673

8673:                                             ; preds = %8672
  br label %8674

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

8675:                                             ; No predecessors!
  br label %8676

8676:                                             ; preds = %8675
  br label %8677

8677:                                             ; preds = %8676, %8617
  br label %8678

8678:                                             ; preds = %8677
  br label %8679

8679:                                             ; preds = %8678
  br label %8680

8680:                                             ; preds = %8679
  %8681 = load i32, ptr @test_count, align 4, !tbaa !5
  %8682 = add nsw i32 %8681, 1
  store i32 %8682, ptr @test_count, align 4, !tbaa !5
  %8683 = load ptr, ptr %186, align 8, !tbaa !9
  %8684 = getelementptr inbounds [17 x i8], ptr %182, i64 0, i64 0
  %8685 = call i32 @s2n_psk_set_secret(ptr noundef %8683, ptr noundef %8684, i16 noundef zeroext 17)
  %8686 = icmp eq i32 %8685, -1
  br i1 %8686, label %8687, label %8740

8687:                                             ; preds = %8680
  br label %8688

8688:                                             ; preds = %8687
  br label %8689

8689:                                             ; preds = %8688
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %8690 = call ptr @__errno_location() #12
  %8691 = load i32, ptr %8690, align 4, !tbaa !5
  store i32 %8691, ptr %192, align 4, !tbaa !5
  %8692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8693 = call i32 @s2n_print_stacktrace(ptr noundef %8692)
  %8694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8695 = trunc i8 %8694 to i1
  br i1 %8695, label %8696, label %8718

8696:                                             ; preds = %8689
  %8697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8698 = call i32 @fileno(ptr noundef %8697) #11
  %8699 = call i32 @isatty(i32 noundef %8698) #11
  %8700 = icmp ne i32 %8699, 0
  br i1 %8700, label %8701, label %8718

8701:                                             ; preds = %8696
  %8702 = load i32, ptr %192, align 4, !tbaa !5
  %8703 = call ptr @__errno_location() #12
  store i32 %8702, ptr %8703, align 4, !tbaa !5
  %8704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8705 = load i32, ptr @test_count, align 4, !tbaa !5
  %8706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8707 = load i32, ptr %8706, align 4, !tbaa !5
  %8708 = call ptr @s2n_strerror(i32 noundef %8707, ptr noundef @.str.80)
  %8709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8710 = load i32, ptr %8709, align 4, !tbaa !5
  %8711 = call ptr @s2n_strerror_debug(i32 noundef %8710, ptr noundef @.str.80)
  %8712 = call ptr @__errno_location() #12
  %8713 = load i32, ptr %8712, align 4, !tbaa !5
  %8714 = call ptr @strerror(i32 noundef %8713) #11
  %8715 = call ptr @__errno_location() #12
  %8716 = load i32, ptr %8715, align 4, !tbaa !5
  %8717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8704, ptr noundef @.str.78, i32 noundef %8705, ptr noundef @.str.173, ptr noundef @.str.77, i32 noundef 270, ptr noundef %8708, ptr noundef %8711, ptr noundef %8714, i32 noundef %8716) #11
  br label %8735

8718:                                             ; preds = %8696, %8689
  %8719 = load i32, ptr %192, align 4, !tbaa !5
  %8720 = call ptr @__errno_location() #12
  store i32 %8719, ptr %8720, align 4, !tbaa !5
  %8721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8722 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8724, ptr noundef @.str.80)
  %8726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8727 = load i32, ptr %8726, align 4, !tbaa !5
  %8728 = call ptr @s2n_strerror_debug(i32 noundef %8727, ptr noundef @.str.80)
  %8729 = call ptr @__errno_location() #12
  %8730 = load i32, ptr %8729, align 4, !tbaa !5
  %8731 = call ptr @strerror(i32 noundef %8730) #11
  %8732 = call ptr @__errno_location() #12
  %8733 = load i32, ptr %8732, align 4, !tbaa !5
  %8734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8721, ptr noundef @.str.81, i32 noundef %8722, ptr noundef @.str.173, ptr noundef @.str.77, i32 noundef 270, ptr noundef %8725, ptr noundef %8728, ptr noundef %8731, i32 noundef %8733) #11
  br label %8735

8735:                                             ; preds = %8718, %8701
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %8736

8736:                                             ; preds = %8735
  br label %8737

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

8738:                                             ; No predecessors!
  br label %8739

8739:                                             ; preds = %8738
  br label %8740

8740:                                             ; preds = %8739, %8680
  br label %8741

8741:                                             ; preds = %8740
  br label %8742

8742:                                             ; preds = %8741
  %8743 = load ptr, ptr %186, align 8, !tbaa !9
  %8744 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %183, i32 0, i32 4
  store ptr %8743, ptr %8744, align 8, !tbaa !37
  call void @llvm.lifetime.start.p0(i64 8, ptr %193) #11
  store ptr null, ptr %193, align 8, !tbaa !9
  br label %8745

8745:                                             ; preds = %8742
  %8746 = load i32, ptr @test_count, align 4, !tbaa !5
  %8747 = add nsw i32 %8746, 1
  store i32 %8747, ptr @test_count, align 4, !tbaa !5
  %8748 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %183, i32 0, i32 1
  %8749 = call i32 @s2n_array_pushback(ptr noundef %8748, ptr noundef %193)
  %8750 = getelementptr inbounds %struct.s2n_result, ptr %194, i32 0, i32 0
  store i32 %8749, ptr %8750, align 4
  %8751 = getelementptr inbounds %struct.s2n_result, ptr %194, i32 0, i32 0
  %8752 = load i32, ptr %8751, align 4
  %8753 = call zeroext i1 @s2n_result_is_ok(i32 %8752)
  br i1 %8753, label %8807, label %8754

8754:                                             ; preds = %8745
  br label %8755

8755:                                             ; preds = %8754
  br label %8756

8756:                                             ; preds = %8755
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %8757 = call ptr @__errno_location() #12
  %8758 = load i32, ptr %8757, align 4, !tbaa !5
  store i32 %8758, ptr %195, align 4, !tbaa !5
  %8759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8760 = call i32 @s2n_print_stacktrace(ptr noundef %8759)
  %8761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8762 = trunc i8 %8761 to i1
  br i1 %8762, label %8763, label %8785

8763:                                             ; preds = %8756
  %8764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8765 = call i32 @fileno(ptr noundef %8764) #11
  %8766 = call i32 @isatty(i32 noundef %8765) #11
  %8767 = icmp ne i32 %8766, 0
  br i1 %8767, label %8768, label %8785

8768:                                             ; preds = %8763
  %8769 = load i32, ptr %195, align 4, !tbaa !5
  %8770 = call ptr @__errno_location() #12
  store i32 %8769, ptr %8770, align 4, !tbaa !5
  %8771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8772 = load i32, ptr @test_count, align 4, !tbaa !5
  %8773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8774 = load i32, ptr %8773, align 4, !tbaa !5
  %8775 = call ptr @s2n_strerror(i32 noundef %8774, ptr noundef @.str.80)
  %8776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8777 = load i32, ptr %8776, align 4, !tbaa !5
  %8778 = call ptr @s2n_strerror_debug(i32 noundef %8777, ptr noundef @.str.80)
  %8779 = call ptr @__errno_location() #12
  %8780 = load i32, ptr %8779, align 4, !tbaa !5
  %8781 = call ptr @strerror(i32 noundef %8780) #11
  %8782 = call ptr @__errno_location() #12
  %8783 = load i32, ptr %8782, align 4, !tbaa !5
  %8784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8771, ptr noundef @.str.78, i32 noundef %8772, ptr noundef @.str.165, ptr noundef @.str.77, i32 noundef 274, ptr noundef %8775, ptr noundef %8778, ptr noundef %8781, i32 noundef %8783) #11
  br label %8802

8785:                                             ; preds = %8763, %8756
  %8786 = load i32, ptr %195, align 4, !tbaa !5
  %8787 = call ptr @__errno_location() #12
  store i32 %8786, ptr %8787, align 4, !tbaa !5
  %8788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8789 = load i32, ptr @test_count, align 4, !tbaa !5
  %8790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8791 = load i32, ptr %8790, align 4, !tbaa !5
  %8792 = call ptr @s2n_strerror(i32 noundef %8791, ptr noundef @.str.80)
  %8793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8794 = load i32, ptr %8793, align 4, !tbaa !5
  %8795 = call ptr @s2n_strerror_debug(i32 noundef %8794, ptr noundef @.str.80)
  %8796 = call ptr @__errno_location() #12
  %8797 = load i32, ptr %8796, align 4, !tbaa !5
  %8798 = call ptr @strerror(i32 noundef %8797) #11
  %8799 = call ptr @__errno_location() #12
  %8800 = load i32, ptr %8799, align 4, !tbaa !5
  %8801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8788, ptr noundef @.str.81, i32 noundef %8789, ptr noundef @.str.165, ptr noundef @.str.77, i32 noundef 274, ptr noundef %8792, ptr noundef %8795, ptr noundef %8798, i32 noundef %8800) #11
  br label %8802

8802:                                             ; preds = %8785, %8768
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %8803

8803:                                             ; preds = %8802
  br label %8804

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

8805:                                             ; No predecessors!
  br label %8806

8806:                                             ; preds = %8805
  br label %8807

8807:                                             ; preds = %8806, %8745
  br label %8808

8808:                                             ; preds = %8807
  br label %8809

8809:                                             ; preds = %8808
  br label %8810

8810:                                             ; preds = %8809
  %8811 = load i32, ptr @test_count, align 4, !tbaa !5
  %8812 = add nsw i32 %8811, 1
  store i32 %8812, ptr @test_count, align 4, !tbaa !5
  %8813 = load ptr, ptr %193, align 8, !tbaa !9
  %8814 = call i32 @s2n_psk_init(ptr noundef %8813, i32 noundef 1)
  %8815 = getelementptr inbounds %struct.s2n_result, ptr %196, i32 0, i32 0
  store i32 %8814, ptr %8815, align 4
  %8816 = getelementptr inbounds %struct.s2n_result, ptr %196, i32 0, i32 0
  %8817 = load i32, ptr %8816, align 4
  %8818 = call zeroext i1 @s2n_result_is_ok(i32 %8817)
  br i1 %8818, label %8872, label %8819

8819:                                             ; preds = %8810
  br label %8820

8820:                                             ; preds = %8819
  br label %8821

8821:                                             ; preds = %8820
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %8822 = call ptr @__errno_location() #12
  %8823 = load i32, ptr %8822, align 4, !tbaa !5
  store i32 %8823, ptr %197, align 4, !tbaa !5
  %8824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8825 = call i32 @s2n_print_stacktrace(ptr noundef %8824)
  %8826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8827 = trunc i8 %8826 to i1
  br i1 %8827, label %8828, label %8850

8828:                                             ; preds = %8821
  %8829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8830 = call i32 @fileno(ptr noundef %8829) #11
  %8831 = call i32 @isatty(i32 noundef %8830) #11
  %8832 = icmp ne i32 %8831, 0
  br i1 %8832, label %8833, label %8850

8833:                                             ; preds = %8828
  %8834 = load i32, ptr %197, align 4, !tbaa !5
  %8835 = call ptr @__errno_location() #12
  store i32 %8834, ptr %8835, align 4, !tbaa !5
  %8836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8837 = load i32, ptr @test_count, align 4, !tbaa !5
  %8838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8839 = load i32, ptr %8838, align 4, !tbaa !5
  %8840 = call ptr @s2n_strerror(i32 noundef %8839, ptr noundef @.str.80)
  %8841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8842 = load i32, ptr %8841, align 4, !tbaa !5
  %8843 = call ptr @s2n_strerror_debug(i32 noundef %8842, ptr noundef @.str.80)
  %8844 = call ptr @__errno_location() #12
  %8845 = load i32, ptr %8844, align 4, !tbaa !5
  %8846 = call ptr @strerror(i32 noundef %8845) #11
  %8847 = call ptr @__errno_location() #12
  %8848 = load i32, ptr %8847, align 4, !tbaa !5
  %8849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8836, ptr noundef @.str.78, i32 noundef %8837, ptr noundef @.str.166, ptr noundef @.str.77, i32 noundef 275, ptr noundef %8840, ptr noundef %8843, ptr noundef %8846, i32 noundef %8848) #11
  br label %8867

8850:                                             ; preds = %8828, %8821
  %8851 = load i32, ptr %197, align 4, !tbaa !5
  %8852 = call ptr @__errno_location() #12
  store i32 %8851, ptr %8852, align 4, !tbaa !5
  %8853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8854 = load i32, ptr @test_count, align 4, !tbaa !5
  %8855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8856 = load i32, ptr %8855, align 4, !tbaa !5
  %8857 = call ptr @s2n_strerror(i32 noundef %8856, ptr noundef @.str.80)
  %8858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8859 = load i32, ptr %8858, align 4, !tbaa !5
  %8860 = call ptr @s2n_strerror_debug(i32 noundef %8859, ptr noundef @.str.80)
  %8861 = call ptr @__errno_location() #12
  %8862 = load i32, ptr %8861, align 4, !tbaa !5
  %8863 = call ptr @strerror(i32 noundef %8862) #11
  %8864 = call ptr @__errno_location() #12
  %8865 = load i32, ptr %8864, align 4, !tbaa !5
  %8866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8853, ptr noundef @.str.81, i32 noundef %8854, ptr noundef @.str.166, ptr noundef @.str.77, i32 noundef 275, ptr noundef %8857, ptr noundef %8860, ptr noundef %8863, i32 noundef %8865) #11
  br label %8867

8867:                                             ; preds = %8850, %8833
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %8868

8868:                                             ; preds = %8867
  br label %8869

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

8870:                                             ; No predecessors!
  br label %8871

8871:                                             ; preds = %8870
  br label %8872

8872:                                             ; preds = %8871, %8810
  br label %8873

8873:                                             ; preds = %8872
  br label %8874

8874:                                             ; preds = %8873
  br label %8875

8875:                                             ; preds = %8874
  %8876 = load i32, ptr @test_count, align 4, !tbaa !5
  %8877 = add nsw i32 %8876, 1
  store i32 %8877, ptr @test_count, align 4, !tbaa !5
  %8878 = load ptr, ptr %193, align 8, !tbaa !9
  %8879 = getelementptr inbounds [19 x i8], ptr %181, i64 0, i64 0
  %8880 = call i32 @s2n_psk_set_identity(ptr noundef %8878, ptr noundef %8879, i16 noundef zeroext 19)
  %8881 = icmp eq i32 %8880, -1
  br i1 %8881, label %8882, label %8935

8882:                                             ; preds = %8875
  br label %8883

8883:                                             ; preds = %8882
  br label %8884

8884:                                             ; preds = %8883
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %8885 = call ptr @__errno_location() #12
  %8886 = load i32, ptr %8885, align 4, !tbaa !5
  store i32 %8886, ptr %198, align 4, !tbaa !5
  %8887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8888 = call i32 @s2n_print_stacktrace(ptr noundef %8887)
  %8889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8890 = trunc i8 %8889 to i1
  br i1 %8890, label %8891, label %8913

8891:                                             ; preds = %8884
  %8892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8893 = call i32 @fileno(ptr noundef %8892) #11
  %8894 = call i32 @isatty(i32 noundef %8893) #11
  %8895 = icmp ne i32 %8894, 0
  br i1 %8895, label %8896, label %8913

8896:                                             ; preds = %8891
  %8897 = load i32, ptr %198, align 4, !tbaa !5
  %8898 = call ptr @__errno_location() #12
  store i32 %8897, ptr %8898, align 4, !tbaa !5
  %8899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8900 = load i32, ptr @test_count, align 4, !tbaa !5
  %8901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8902 = load i32, ptr %8901, align 4, !tbaa !5
  %8903 = call ptr @s2n_strerror(i32 noundef %8902, ptr noundef @.str.80)
  %8904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8905 = load i32, ptr %8904, align 4, !tbaa !5
  %8906 = call ptr @s2n_strerror_debug(i32 noundef %8905, ptr noundef @.str.80)
  %8907 = call ptr @__errno_location() #12
  %8908 = load i32, ptr %8907, align 4, !tbaa !5
  %8909 = call ptr @strerror(i32 noundef %8908) #11
  %8910 = call ptr @__errno_location() #12
  %8911 = load i32, ptr %8910, align 4, !tbaa !5
  %8912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8899, ptr noundef @.str.78, i32 noundef %8900, ptr noundef @.str.174, ptr noundef @.str.77, i32 noundef 276, ptr noundef %8903, ptr noundef %8906, ptr noundef %8909, i32 noundef %8911) #11
  br label %8930

8913:                                             ; preds = %8891, %8884
  %8914 = load i32, ptr %198, align 4, !tbaa !5
  %8915 = call ptr @__errno_location() #12
  store i32 %8914, ptr %8915, align 4, !tbaa !5
  %8916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8917 = load i32, ptr @test_count, align 4, !tbaa !5
  %8918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8919 = load i32, ptr %8918, align 4, !tbaa !5
  %8920 = call ptr @s2n_strerror(i32 noundef %8919, ptr noundef @.str.80)
  %8921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8922 = load i32, ptr %8921, align 4, !tbaa !5
  %8923 = call ptr @s2n_strerror_debug(i32 noundef %8922, ptr noundef @.str.80)
  %8924 = call ptr @__errno_location() #12
  %8925 = load i32, ptr %8924, align 4, !tbaa !5
  %8926 = call ptr @strerror(i32 noundef %8925) #11
  %8927 = call ptr @__errno_location() #12
  %8928 = load i32, ptr %8927, align 4, !tbaa !5
  %8929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8916, ptr noundef @.str.81, i32 noundef %8917, ptr noundef @.str.174, ptr noundef @.str.77, i32 noundef 276, ptr noundef %8920, ptr noundef %8923, ptr noundef %8926, i32 noundef %8928) #11
  br label %8930

8930:                                             ; preds = %8913, %8896
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %8931

8931:                                             ; preds = %8930
  br label %8932

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

8933:                                             ; No predecessors!
  br label %8934

8934:                                             ; preds = %8933
  br label %8935

8935:                                             ; preds = %8934, %8875
  br label %8936

8936:                                             ; preds = %8935
  br label %8937

8937:                                             ; preds = %8936
  br label %8938

8938:                                             ; preds = %8937
  %8939 = load i32, ptr @test_count, align 4, !tbaa !5
  %8940 = add nsw i32 %8939, 1
  store i32 %8940, ptr @test_count, align 4, !tbaa !5
  %8941 = load ptr, ptr %193, align 8, !tbaa !9
  %8942 = getelementptr inbounds [17 x i8], ptr %182, i64 0, i64 0
  %8943 = call i32 @s2n_psk_set_secret(ptr noundef %8941, ptr noundef %8942, i16 noundef zeroext 17)
  %8944 = icmp eq i32 %8943, -1
  br i1 %8944, label %8945, label %8998

8945:                                             ; preds = %8938
  br label %8946

8946:                                             ; preds = %8945
  br label %8947

8947:                                             ; preds = %8946
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #11
  %8948 = call ptr @__errno_location() #12
  %8949 = load i32, ptr %8948, align 4, !tbaa !5
  store i32 %8949, ptr %199, align 4, !tbaa !5
  %8950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8951 = call i32 @s2n_print_stacktrace(ptr noundef %8950)
  %8952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8953 = trunc i8 %8952 to i1
  br i1 %8953, label %8954, label %8976

8954:                                             ; preds = %8947
  %8955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8956 = call i32 @fileno(ptr noundef %8955) #11
  %8957 = call i32 @isatty(i32 noundef %8956) #11
  %8958 = icmp ne i32 %8957, 0
  br i1 %8958, label %8959, label %8976

8959:                                             ; preds = %8954
  %8960 = load i32, ptr %199, align 4, !tbaa !5
  %8961 = call ptr @__errno_location() #12
  store i32 %8960, ptr %8961, align 4, !tbaa !5
  %8962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8963 = load i32, ptr @test_count, align 4, !tbaa !5
  %8964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8965 = load i32, ptr %8964, align 4, !tbaa !5
  %8966 = call ptr @s2n_strerror(i32 noundef %8965, ptr noundef @.str.80)
  %8967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8968 = load i32, ptr %8967, align 4, !tbaa !5
  %8969 = call ptr @s2n_strerror_debug(i32 noundef %8968, ptr noundef @.str.80)
  %8970 = call ptr @__errno_location() #12
  %8971 = load i32, ptr %8970, align 4, !tbaa !5
  %8972 = call ptr @strerror(i32 noundef %8971) #11
  %8973 = call ptr @__errno_location() #12
  %8974 = load i32, ptr %8973, align 4, !tbaa !5
  %8975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8962, ptr noundef @.str.78, i32 noundef %8963, ptr noundef @.str.175, ptr noundef @.str.77, i32 noundef 277, ptr noundef %8966, ptr noundef %8969, ptr noundef %8972, i32 noundef %8974) #11
  br label %8993

8976:                                             ; preds = %8954, %8947
  %8977 = load i32, ptr %199, 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.80)
  %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.80)
  %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.81, i32 noundef %8980, ptr noundef @.str.175, ptr noundef @.str.77, i32 noundef 277, ptr noundef %8983, ptr noundef %8986, ptr noundef %8989, i32 noundef %8991) #11
  br label %8993

8993:                                             ; preds = %8976, %8959
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #11
  br label %8994

8994:                                             ; preds = %8993
  br label %8995

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

8996:                                             ; No predecessors!
  br label %8997

8997:                                             ; preds = %8996
  br label %8998

8998:                                             ; preds = %8997, %8938
  br label %8999

8999:                                             ; preds = %8998
  br label %9000

9000:                                             ; preds = %8999
  br label %9001

9001:                                             ; preds = %9000
  %9002 = load i32, ptr @test_count, align 4, !tbaa !5
  %9003 = add nsw i32 %9002, 1
  store i32 %9003, ptr @test_count, align 4, !tbaa !5
  %9004 = call i32 @s2n_psk_parameters_wipe_secrets(ptr noundef %183)
  %9005 = getelementptr inbounds %struct.s2n_result, ptr %200, i32 0, i32 0
  store i32 %9004, ptr %9005, align 4
  %9006 = getelementptr inbounds %struct.s2n_result, ptr %200, i32 0, i32 0
  %9007 = load i32, ptr %9006, align 4
  %9008 = call zeroext i1 @s2n_result_is_ok(i32 %9007)
  br i1 %9008, label %9062, label %9009

9009:                                             ; preds = %9001
  br label %9010

9010:                                             ; preds = %9009
  br label %9011

9011:                                             ; preds = %9010
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %9012 = call ptr @__errno_location() #12
  %9013 = load i32, ptr %9012, align 4, !tbaa !5
  store i32 %9013, ptr %201, align 4, !tbaa !5
  %9014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9015 = call i32 @s2n_print_stacktrace(ptr noundef %9014)
  %9016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9017 = trunc i8 %9016 to i1
  br i1 %9017, label %9018, label %9040

9018:                                             ; preds = %9011
  %9019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9020 = call i32 @fileno(ptr noundef %9019) #11
  %9021 = call i32 @isatty(i32 noundef %9020) #11
  %9022 = icmp ne i32 %9021, 0
  br i1 %9022, label %9023, label %9040

9023:                                             ; preds = %9018
  %9024 = load i32, ptr %201, align 4, !tbaa !5
  %9025 = call ptr @__errno_location() #12
  store i32 %9024, ptr %9025, align 4, !tbaa !5
  %9026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9027 = load i32, ptr @test_count, align 4, !tbaa !5
  %9028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9029 = load i32, ptr %9028, align 4, !tbaa !5
  %9030 = call ptr @s2n_strerror(i32 noundef %9029, ptr noundef @.str.80)
  %9031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9032 = load i32, ptr %9031, align 4, !tbaa !5
  %9033 = call ptr @s2n_strerror_debug(i32 noundef %9032, ptr noundef @.str.80)
  %9034 = call ptr @__errno_location() #12
  %9035 = load i32, ptr %9034, align 4, !tbaa !5
  %9036 = call ptr @strerror(i32 noundef %9035) #11
  %9037 = call ptr @__errno_location() #12
  %9038 = load i32, ptr %9037, align 4, !tbaa !5
  %9039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9026, ptr noundef @.str.78, i32 noundef %9027, ptr noundef @.str.176, ptr noundef @.str.77, i32 noundef 279, ptr noundef %9030, ptr noundef %9033, ptr noundef %9036, i32 noundef %9038) #11
  br label %9057

9040:                                             ; preds = %9018, %9011
  %9041 = load i32, ptr %201, align 4, !tbaa !5
  %9042 = call ptr @__errno_location() #12
  store i32 %9041, ptr %9042, align 4, !tbaa !5
  %9043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9044 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9046, ptr noundef @.str.80)
  %9048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9049 = load i32, ptr %9048, align 4, !tbaa !5
  %9050 = call ptr @s2n_strerror_debug(i32 noundef %9049, ptr noundef @.str.80)
  %9051 = call ptr @__errno_location() #12
  %9052 = load i32, ptr %9051, align 4, !tbaa !5
  %9053 = call ptr @strerror(i32 noundef %9052) #11
  %9054 = call ptr @__errno_location() #12
  %9055 = load i32, ptr %9054, align 4, !tbaa !5
  %9056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9043, ptr noundef @.str.81, i32 noundef %9044, ptr noundef @.str.176, ptr noundef @.str.77, i32 noundef 279, ptr noundef %9047, ptr noundef %9050, ptr noundef %9053, i32 noundef %9055) #11
  br label %9057

9057:                                             ; preds = %9040, %9023
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %9058

9058:                                             ; preds = %9057
  br label %9059

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

9060:                                             ; No predecessors!
  br label %9061

9061:                                             ; preds = %9060
  br label %9062

9062:                                             ; preds = %9061, %9001
  br label %9063

9063:                                             ; preds = %9062
  br label %9064

9064:                                             ; preds = %9063
  call void @llvm.lifetime.start.p0(i64 8, ptr %202) #11
  store i64 0, ptr %202, align 8, !tbaa !38
  br label %9065

9065:                                             ; preds = %9461, %9064
  %9066 = load i64, ptr %202, align 8, !tbaa !38
  %9067 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %183, i32 0, i32 1
  %9068 = getelementptr inbounds %struct.s2n_array, ptr %9067, i32 0, i32 1
  %9069 = load i32, ptr %9068, align 8, !tbaa !39
  %9070 = zext i32 %9069 to i64
  %9071 = icmp ult i64 %9066, %9070
  br i1 %9071, label %9073, label %9072

9072:                                             ; preds = %9065
  call void @llvm.lifetime.end.p0(i64 8, ptr %202) #11
  br label %9464

9073:                                             ; preds = %9065
  call void @llvm.lifetime.start.p0(i64 8, ptr %203) #11
  store ptr null, ptr %203, align 8, !tbaa !9
  br label %9074

9074:                                             ; preds = %9073
  %9075 = load i32, ptr @test_count, align 4, !tbaa !5
  %9076 = add nsw i32 %9075, 1
  store i32 %9076, ptr @test_count, align 4, !tbaa !5
  %9077 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %183, i32 0, i32 1
  %9078 = load i64, ptr %202, align 8, !tbaa !38
  %9079 = trunc i64 %9078 to i32
  %9080 = call i32 @s2n_array_get(ptr noundef %9077, i32 noundef %9079, ptr noundef %203)
  %9081 = getelementptr inbounds %struct.s2n_result, ptr %204, i32 0, i32 0
  store i32 %9080, ptr %9081, align 4
  %9082 = getelementptr inbounds %struct.s2n_result, ptr %204, i32 0, i32 0
  %9083 = load i32, ptr %9082, align 4
  %9084 = call zeroext i1 @s2n_result_is_ok(i32 %9083)
  br i1 %9084, label %9138, label %9085

9085:                                             ; preds = %9074
  br label %9086

9086:                                             ; preds = %9085
  br label %9087

9087:                                             ; preds = %9086
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #11
  %9088 = call ptr @__errno_location() #12
  %9089 = load i32, ptr %9088, align 4, !tbaa !5
  store i32 %9089, ptr %205, align 4, !tbaa !5
  %9090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9091 = call i32 @s2n_print_stacktrace(ptr noundef %9090)
  %9092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9093 = trunc i8 %9092 to i1
  br i1 %9093, label %9094, label %9116

9094:                                             ; preds = %9087
  %9095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9096 = call i32 @fileno(ptr noundef %9095) #11
  %9097 = call i32 @isatty(i32 noundef %9096) #11
  %9098 = icmp ne i32 %9097, 0
  br i1 %9098, label %9099, label %9116

9099:                                             ; preds = %9094
  %9100 = load i32, ptr %205, align 4, !tbaa !5
  %9101 = call ptr @__errno_location() #12
  store i32 %9100, ptr %9101, align 4, !tbaa !5
  %9102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9103 = load i32, ptr @test_count, align 4, !tbaa !5
  %9104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9105 = load i32, ptr %9104, align 4, !tbaa !5
  %9106 = call ptr @s2n_strerror(i32 noundef %9105, ptr noundef @.str.80)
  %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_debug(i32 noundef %9108, ptr noundef @.str.80)
  %9110 = call ptr @__errno_location() #12
  %9111 = load i32, ptr %9110, align 4, !tbaa !5
  %9112 = call ptr @strerror(i32 noundef %9111) #11
  %9113 = call ptr @__errno_location() #12
  %9114 = load i32, ptr %9113, align 4, !tbaa !5
  %9115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9102, ptr noundef @.str.78, i32 noundef %9103, ptr noundef @.str.177, ptr noundef @.str.77, i32 noundef 284, ptr noundef %9106, ptr noundef %9109, ptr noundef %9112, i32 noundef %9114) #11
  br label %9133

9116:                                             ; preds = %9094, %9087
  %9117 = load i32, ptr %205, align 4, !tbaa !5
  %9118 = call ptr @__errno_location() #12
  store i32 %9117, ptr %9118, align 4, !tbaa !5
  %9119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9120 = load i32, ptr @test_count, align 4, !tbaa !5
  %9121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9122 = load i32, ptr %9121, align 4, !tbaa !5
  %9123 = call ptr @s2n_strerror(i32 noundef %9122, ptr noundef @.str.80)
  %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_debug(i32 noundef %9125, ptr noundef @.str.80)
  %9127 = call ptr @__errno_location() #12
  %9128 = load i32, ptr %9127, align 4, !tbaa !5
  %9129 = call ptr @strerror(i32 noundef %9128) #11
  %9130 = call ptr @__errno_location() #12
  %9131 = load i32, ptr %9130, align 4, !tbaa !5
  %9132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9119, ptr noundef @.str.81, i32 noundef %9120, ptr noundef @.str.177, ptr noundef @.str.77, i32 noundef 284, ptr noundef %9123, ptr noundef %9126, ptr noundef %9129, i32 noundef %9131) #11
  br label %9133

9133:                                             ; preds = %9116, %9099
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #11
  br label %9134

9134:                                             ; preds = %9133
  br label %9135

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

9136:                                             ; No predecessors!
  br label %9137

9137:                                             ; preds = %9136
  br label %9138

9138:                                             ; preds = %9137, %9074
  br label %9139

9139:                                             ; preds = %9138
  br label %9140

9140:                                             ; preds = %9139
  br label %9141

9141:                                             ; preds = %9140
  %9142 = load i32, ptr @test_count, align 4, !tbaa !5
  %9143 = add nsw i32 %9142, 1
  store i32 %9143, ptr @test_count, align 4, !tbaa !5
  %9144 = load ptr, ptr %203, align 8, !tbaa !9
  %9145 = getelementptr inbounds %struct.s2n_psk, ptr %9144, i32 0, i32 1
  %9146 = getelementptr inbounds %struct.s2n_blob, ptr %9145, i32 0, i32 0
  %9147 = load ptr, ptr %9146, align 8, !tbaa !25
  %9148 = icmp eq ptr %9147, null
  br i1 %9148, label %9149, label %9202

9149:                                             ; preds = %9141
  br label %9150

9150:                                             ; preds = %9149
  br label %9151

9151:                                             ; preds = %9150
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %9152 = call ptr @__errno_location() #12
  %9153 = load i32, ptr %9152, align 4, !tbaa !5
  store i32 %9153, ptr %206, align 4, !tbaa !5
  %9154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9155 = call i32 @s2n_print_stacktrace(ptr noundef %9154)
  %9156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9157 = trunc i8 %9156 to i1
  br i1 %9157, label %9158, label %9180

9158:                                             ; preds = %9151
  %9159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9160 = call i32 @fileno(ptr noundef %9159) #11
  %9161 = call i32 @isatty(i32 noundef %9160) #11
  %9162 = icmp ne i32 %9161, 0
  br i1 %9162, label %9163, label %9180

9163:                                             ; preds = %9158
  %9164 = load i32, ptr %206, align 4, !tbaa !5
  %9165 = call ptr @__errno_location() #12
  store i32 %9164, ptr %9165, align 4, !tbaa !5
  %9166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9167 = load i32, ptr @test_count, align 4, !tbaa !5
  %9168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9169 = load i32, ptr %9168, align 4, !tbaa !5
  %9170 = call ptr @s2n_strerror(i32 noundef %9169, ptr noundef @.str.80)
  %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_debug(i32 noundef %9172, ptr noundef @.str.80)
  %9174 = call ptr @__errno_location() #12
  %9175 = load i32, ptr %9174, align 4, !tbaa !5
  %9176 = call ptr @strerror(i32 noundef %9175) #11
  %9177 = call ptr @__errno_location() #12
  %9178 = load i32, ptr %9177, align 4, !tbaa !5
  %9179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9166, ptr noundef @.str.78, i32 noundef %9167, ptr noundef @.str.178, ptr noundef @.str.77, i32 noundef 285, ptr noundef %9170, ptr noundef %9173, ptr noundef %9176, i32 noundef %9178) #11
  br label %9197

9180:                                             ; preds = %9158, %9151
  %9181 = load i32, ptr %206, align 4, !tbaa !5
  %9182 = call ptr @__errno_location() #12
  store i32 %9181, ptr %9182, align 4, !tbaa !5
  %9183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9184 = load i32, ptr @test_count, align 4, !tbaa !5
  %9185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9186 = load i32, ptr %9185, align 4, !tbaa !5
  %9187 = call ptr @s2n_strerror(i32 noundef %9186, ptr noundef @.str.80)
  %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_debug(i32 noundef %9189, ptr noundef @.str.80)
  %9191 = call ptr @__errno_location() #12
  %9192 = load i32, ptr %9191, align 4, !tbaa !5
  %9193 = call ptr @strerror(i32 noundef %9192) #11
  %9194 = call ptr @__errno_location() #12
  %9195 = load i32, ptr %9194, align 4, !tbaa !5
  %9196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9183, ptr noundef @.str.81, i32 noundef %9184, ptr noundef @.str.178, ptr noundef @.str.77, i32 noundef 285, ptr noundef %9187, ptr noundef %9190, ptr noundef %9193, i32 noundef %9195) #11
  br label %9197

9197:                                             ; preds = %9180, %9163
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %9198

9198:                                             ; preds = %9197
  br label %9199

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

9200:                                             ; No predecessors!
  br label %9201

9201:                                             ; preds = %9200
  br label %9202

9202:                                             ; preds = %9201, %9141
  br label %9203

9203:                                             ; preds = %9202
  br label %9204

9204:                                             ; preds = %9203
  br label %9205

9205:                                             ; preds = %9204
  %9206 = load i32, ptr @test_count, align 4, !tbaa !5
  %9207 = add nsw i32 %9206, 1
  store i32 %9207, ptr @test_count, align 4, !tbaa !5
  %9208 = load ptr, ptr %203, align 8, !tbaa !9
  %9209 = getelementptr inbounds %struct.s2n_psk, ptr %9208, i32 0, i32 2
  %9210 = getelementptr inbounds %struct.s2n_blob, ptr %9209, i32 0, i32 0
  %9211 = load ptr, ptr %9210, align 8, !tbaa !28
  %9212 = icmp eq ptr %9211, null
  br i1 %9212, label %9266, label %9213

9213:                                             ; preds = %9205
  br label %9214

9214:                                             ; preds = %9213
  br label %9215

9215:                                             ; preds = %9214
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %9216 = call ptr @__errno_location() #12
  %9217 = load i32, ptr %9216, align 4, !tbaa !5
  store i32 %9217, ptr %207, align 4, !tbaa !5
  %9218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9219 = call i32 @s2n_print_stacktrace(ptr noundef %9218)
  %9220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9221 = trunc i8 %9220 to i1
  br i1 %9221, label %9222, label %9244

9222:                                             ; preds = %9215
  %9223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9224 = call i32 @fileno(ptr noundef %9223) #11
  %9225 = call i32 @isatty(i32 noundef %9224) #11
  %9226 = icmp ne i32 %9225, 0
  br i1 %9226, label %9227, label %9244

9227:                                             ; preds = %9222
  %9228 = load i32, ptr %207, align 4, !tbaa !5
  %9229 = call ptr @__errno_location() #12
  store i32 %9228, ptr %9229, align 4, !tbaa !5
  %9230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9231 = load i32, ptr @test_count, align 4, !tbaa !5
  %9232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9233 = load i32, ptr %9232, align 4, !tbaa !5
  %9234 = call ptr @s2n_strerror(i32 noundef %9233, ptr noundef @.str.80)
  %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_debug(i32 noundef %9236, ptr noundef @.str.80)
  %9238 = call ptr @__errno_location() #12
  %9239 = load i32, ptr %9238, align 4, !tbaa !5
  %9240 = call ptr @strerror(i32 noundef %9239) #11
  %9241 = call ptr @__errno_location() #12
  %9242 = load i32, ptr %9241, align 4, !tbaa !5
  %9243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9230, ptr noundef @.str.78, i32 noundef %9231, ptr noundef @.str.179, ptr noundef @.str.77, i32 noundef 286, ptr noundef %9234, ptr noundef %9237, ptr noundef %9240, i32 noundef %9242) #11
  br label %9261

9244:                                             ; preds = %9222, %9215
  %9245 = load i32, ptr %207, align 4, !tbaa !5
  %9246 = call ptr @__errno_location() #12
  store i32 %9245, ptr %9246, align 4, !tbaa !5
  %9247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9248 = load i32, ptr @test_count, align 4, !tbaa !5
  %9249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9250 = load i32, ptr %9249, align 4, !tbaa !5
  %9251 = call ptr @s2n_strerror(i32 noundef %9250, ptr noundef @.str.80)
  %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_debug(i32 noundef %9253, ptr noundef @.str.80)
  %9255 = call ptr @__errno_location() #12
  %9256 = load i32, ptr %9255, align 4, !tbaa !5
  %9257 = call ptr @strerror(i32 noundef %9256) #11
  %9258 = call ptr @__errno_location() #12
  %9259 = load i32, ptr %9258, align 4, !tbaa !5
  %9260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9247, ptr noundef @.str.81, i32 noundef %9248, ptr noundef @.str.179, ptr noundef @.str.77, i32 noundef 286, ptr noundef %9251, ptr noundef %9254, ptr noundef %9257, i32 noundef %9259) #11
  br label %9261

9261:                                             ; preds = %9244, %9227
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %9262

9262:                                             ; preds = %9261
  br label %9263

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

9264:                                             ; No predecessors!
  br label %9265

9265:                                             ; preds = %9264
  br label %9266

9266:                                             ; preds = %9265, %9205
  br label %9267

9267:                                             ; preds = %9266
  br label %9268

9268:                                             ; preds = %9267
  br label %9269

9269:                                             ; preds = %9268
  %9270 = load i32, ptr @test_count, align 4, !tbaa !5
  %9271 = add nsw i32 %9270, 1
  store i32 %9271, ptr @test_count, align 4, !tbaa !5
  %9272 = load ptr, ptr %203, align 8, !tbaa !9
  %9273 = getelementptr inbounds %struct.s2n_psk, ptr %9272, i32 0, i32 2
  %9274 = getelementptr inbounds %struct.s2n_blob, ptr %9273, i32 0, i32 1
  %9275 = load i32, ptr %9274, align 8, !tbaa !27
  %9276 = icmp eq i32 %9275, 0
  br i1 %9276, label %9330, label %9277

9277:                                             ; preds = %9269
  br label %9278

9278:                                             ; preds = %9277
  br label %9279

9279:                                             ; preds = %9278
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %9280 = call ptr @__errno_location() #12
  %9281 = load i32, ptr %9280, align 4, !tbaa !5
  store i32 %9281, ptr %208, align 4, !tbaa !5
  %9282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9283 = call i32 @s2n_print_stacktrace(ptr noundef %9282)
  %9284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9285 = trunc i8 %9284 to i1
  br i1 %9285, label %9286, label %9308

9286:                                             ; preds = %9279
  %9287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9288 = call i32 @fileno(ptr noundef %9287) #11
  %9289 = call i32 @isatty(i32 noundef %9288) #11
  %9290 = icmp ne i32 %9289, 0
  br i1 %9290, label %9291, label %9308

9291:                                             ; preds = %9286
  %9292 = load i32, ptr %208, align 4, !tbaa !5
  %9293 = call ptr @__errno_location() #12
  store i32 %9292, ptr %9293, align 4, !tbaa !5
  %9294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9295 = load i32, ptr @test_count, align 4, !tbaa !5
  %9296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9297 = load i32, ptr %9296, align 4, !tbaa !5
  %9298 = call ptr @s2n_strerror(i32 noundef %9297, ptr noundef @.str.80)
  %9299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9300 = load i32, ptr %9299, align 4, !tbaa !5
  %9301 = call ptr @s2n_strerror_debug(i32 noundef %9300, ptr noundef @.str.80)
  %9302 = call ptr @__errno_location() #12
  %9303 = load i32, ptr %9302, align 4, !tbaa !5
  %9304 = call ptr @strerror(i32 noundef %9303) #11
  %9305 = call ptr @__errno_location() #12
  %9306 = load i32, ptr %9305, align 4, !tbaa !5
  %9307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9294, ptr noundef @.str.78, i32 noundef %9295, ptr noundef @.str.180, ptr noundef @.str.77, i32 noundef 287, ptr noundef %9298, ptr noundef %9301, ptr noundef %9304, i32 noundef %9306) #11
  br label %9325

9308:                                             ; preds = %9286, %9279
  %9309 = load i32, ptr %208, align 4, !tbaa !5
  %9310 = call ptr @__errno_location() #12
  store i32 %9309, ptr %9310, align 4, !tbaa !5
  %9311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9312 = load i32, ptr @test_count, align 4, !tbaa !5
  %9313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9314 = load i32, ptr %9313, align 4, !tbaa !5
  %9315 = call ptr @s2n_strerror(i32 noundef %9314, ptr noundef @.str.80)
  %9316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9317 = load i32, ptr %9316, align 4, !tbaa !5
  %9318 = call ptr @s2n_strerror_debug(i32 noundef %9317, ptr noundef @.str.80)
  %9319 = call ptr @__errno_location() #12
  %9320 = load i32, ptr %9319, align 4, !tbaa !5
  %9321 = call ptr @strerror(i32 noundef %9320) #11
  %9322 = call ptr @__errno_location() #12
  %9323 = load i32, ptr %9322, align 4, !tbaa !5
  %9324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9311, ptr noundef @.str.81, i32 noundef %9312, ptr noundef @.str.180, ptr noundef @.str.77, i32 noundef 287, ptr noundef %9315, ptr noundef %9318, ptr noundef %9321, i32 noundef %9323) #11
  br label %9325

9325:                                             ; preds = %9308, %9291
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %9326

9326:                                             ; preds = %9325
  br label %9327

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

9328:                                             ; No predecessors!
  br label %9329

9329:                                             ; preds = %9328
  br label %9330

9330:                                             ; preds = %9329, %9269
  br label %9331

9331:                                             ; preds = %9330
  br label %9332

9332:                                             ; preds = %9331
  br label %9333

9333:                                             ; preds = %9332
  %9334 = load i32, ptr @test_count, align 4, !tbaa !5
  %9335 = add nsw i32 %9334, 1
  store i32 %9335, ptr @test_count, align 4, !tbaa !5
  %9336 = load ptr, ptr %203, align 8, !tbaa !9
  %9337 = getelementptr inbounds %struct.s2n_psk, ptr %9336, i32 0, i32 6
  %9338 = getelementptr inbounds %struct.s2n_blob, ptr %9337, i32 0, i32 0
  %9339 = load ptr, ptr %9338, align 8, !tbaa !30
  %9340 = icmp eq ptr %9339, null
  br i1 %9340, label %9394, label %9341

9341:                                             ; preds = %9333
  br label %9342

9342:                                             ; preds = %9341
  br label %9343

9343:                                             ; preds = %9342
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %9344 = call ptr @__errno_location() #12
  %9345 = load i32, ptr %9344, align 4, !tbaa !5
  store i32 %9345, ptr %209, align 4, !tbaa !5
  %9346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9347 = call i32 @s2n_print_stacktrace(ptr noundef %9346)
  %9348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9349 = trunc i8 %9348 to i1
  br i1 %9349, label %9350, label %9372

9350:                                             ; preds = %9343
  %9351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9352 = call i32 @fileno(ptr noundef %9351) #11
  %9353 = call i32 @isatty(i32 noundef %9352) #11
  %9354 = icmp ne i32 %9353, 0
  br i1 %9354, label %9355, label %9372

9355:                                             ; preds = %9350
  %9356 = load i32, ptr %209, align 4, !tbaa !5
  %9357 = call ptr @__errno_location() #12
  store i32 %9356, ptr %9357, align 4, !tbaa !5
  %9358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9359 = load i32, ptr @test_count, align 4, !tbaa !5
  %9360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9361 = load i32, ptr %9360, align 4, !tbaa !5
  %9362 = call ptr @s2n_strerror(i32 noundef %9361, ptr noundef @.str.80)
  %9363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9364 = load i32, ptr %9363, align 4, !tbaa !5
  %9365 = call ptr @s2n_strerror_debug(i32 noundef %9364, ptr noundef @.str.80)
  %9366 = call ptr @__errno_location() #12
  %9367 = load i32, ptr %9366, align 4, !tbaa !5
  %9368 = call ptr @strerror(i32 noundef %9367) #11
  %9369 = call ptr @__errno_location() #12
  %9370 = load i32, ptr %9369, align 4, !tbaa !5
  %9371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9358, ptr noundef @.str.78, i32 noundef %9359, ptr noundef @.str.181, ptr noundef @.str.77, i32 noundef 288, ptr noundef %9362, ptr noundef %9365, ptr noundef %9368, i32 noundef %9370) #11
  br label %9389

9372:                                             ; preds = %9350, %9343
  %9373 = load i32, ptr %209, align 4, !tbaa !5
  %9374 = call ptr @__errno_location() #12
  store i32 %9373, ptr %9374, align 4, !tbaa !5
  %9375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9376 = load i32, ptr @test_count, align 4, !tbaa !5
  %9377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9378 = load i32, ptr %9377, align 4, !tbaa !5
  %9379 = call ptr @s2n_strerror(i32 noundef %9378, ptr noundef @.str.80)
  %9380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9381 = load i32, ptr %9380, align 4, !tbaa !5
  %9382 = call ptr @s2n_strerror_debug(i32 noundef %9381, ptr noundef @.str.80)
  %9383 = call ptr @__errno_location() #12
  %9384 = load i32, ptr %9383, align 4, !tbaa !5
  %9385 = call ptr @strerror(i32 noundef %9384) #11
  %9386 = call ptr @__errno_location() #12
  %9387 = load i32, ptr %9386, align 4, !tbaa !5
  %9388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9375, ptr noundef @.str.81, i32 noundef %9376, ptr noundef @.str.181, ptr noundef @.str.77, i32 noundef 288, ptr noundef %9379, ptr noundef %9382, ptr noundef %9385, i32 noundef %9387) #11
  br label %9389

9389:                                             ; preds = %9372, %9355
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %9390

9390:                                             ; preds = %9389
  br label %9391

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

9392:                                             ; No predecessors!
  br label %9393

9393:                                             ; preds = %9392
  br label %9394

9394:                                             ; preds = %9393, %9333
  br label %9395

9395:                                             ; preds = %9394
  br label %9396

9396:                                             ; preds = %9395
  br label %9397

9397:                                             ; preds = %9396
  %9398 = load i32, ptr @test_count, align 4, !tbaa !5
  %9399 = add nsw i32 %9398, 1
  store i32 %9399, ptr @test_count, align 4, !tbaa !5
  %9400 = load ptr, ptr %203, align 8, !tbaa !9
  %9401 = getelementptr inbounds %struct.s2n_psk, ptr %9400, i32 0, i32 6
  %9402 = getelementptr inbounds %struct.s2n_blob, ptr %9401, i32 0, i32 1
  %9403 = load i32, ptr %9402, align 8, !tbaa !29
  %9404 = icmp eq i32 %9403, 0
  br i1 %9404, label %9458, label %9405

9405:                                             ; preds = %9397
  br label %9406

9406:                                             ; preds = %9405
  br label %9407

9407:                                             ; preds = %9406
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %9408 = call ptr @__errno_location() #12
  %9409 = load i32, ptr %9408, align 4, !tbaa !5
  store i32 %9409, ptr %210, align 4, !tbaa !5
  %9410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9411 = call i32 @s2n_print_stacktrace(ptr noundef %9410)
  %9412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9413 = trunc i8 %9412 to i1
  br i1 %9413, label %9414, label %9436

9414:                                             ; preds = %9407
  %9415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9416 = call i32 @fileno(ptr noundef %9415) #11
  %9417 = call i32 @isatty(i32 noundef %9416) #11
  %9418 = icmp ne i32 %9417, 0
  br i1 %9418, label %9419, label %9436

9419:                                             ; preds = %9414
  %9420 = load i32, ptr %210, align 4, !tbaa !5
  %9421 = call ptr @__errno_location() #12
  store i32 %9420, ptr %9421, align 4, !tbaa !5
  %9422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9423 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9425, ptr noundef @.str.80)
  %9427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9428 = load i32, ptr %9427, align 4, !tbaa !5
  %9429 = call ptr @s2n_strerror_debug(i32 noundef %9428, ptr noundef @.str.80)
  %9430 = call ptr @__errno_location() #12
  %9431 = load i32, ptr %9430, align 4, !tbaa !5
  %9432 = call ptr @strerror(i32 noundef %9431) #11
  %9433 = call ptr @__errno_location() #12
  %9434 = load i32, ptr %9433, align 4, !tbaa !5
  %9435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9422, ptr noundef @.str.78, i32 noundef %9423, ptr noundef @.str.182, ptr noundef @.str.77, i32 noundef 289, ptr noundef %9426, ptr noundef %9429, ptr noundef %9432, i32 noundef %9434) #11
  br label %9453

9436:                                             ; preds = %9414, %9407
  %9437 = load i32, ptr %210, align 4, !tbaa !5
  %9438 = call ptr @__errno_location() #12
  store i32 %9437, ptr %9438, align 4, !tbaa !5
  %9439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9440 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9442, ptr noundef @.str.80)
  %9444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9445 = load i32, ptr %9444, align 4, !tbaa !5
  %9446 = call ptr @s2n_strerror_debug(i32 noundef %9445, ptr noundef @.str.80)
  %9447 = call ptr @__errno_location() #12
  %9448 = load i32, ptr %9447, align 4, !tbaa !5
  %9449 = call ptr @strerror(i32 noundef %9448) #11
  %9450 = call ptr @__errno_location() #12
  %9451 = load i32, ptr %9450, align 4, !tbaa !5
  %9452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9439, ptr noundef @.str.81, i32 noundef %9440, ptr noundef @.str.182, ptr noundef @.str.77, i32 noundef 289, ptr noundef %9443, ptr noundef %9446, ptr noundef %9449, i32 noundef %9451) #11
  br label %9453

9453:                                             ; preds = %9436, %9419
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %9454

9454:                                             ; preds = %9453
  br label %9455

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

9456:                                             ; No predecessors!
  br label %9457

9457:                                             ; preds = %9456
  br label %9458

9458:                                             ; preds = %9457, %9397
  br label %9459

9459:                                             ; preds = %9458
  br label %9460

9460:                                             ; preds = %9459
  call void @llvm.lifetime.end.p0(i64 8, ptr %203) #11
  br label %9461

9461:                                             ; preds = %9460
  %9462 = load i64, ptr %202, align 8, !tbaa !38
  %9463 = add i64 %9462, 1
  store i64 %9463, ptr %202, align 8, !tbaa !38
  br label %9065, !llvm.loop !40

9464:                                             ; preds = %9072
  br label %9465

9465:                                             ; preds = %9464
  %9466 = load i32, ptr @test_count, align 4, !tbaa !5
  %9467 = add nsw i32 %9466, 1
  store i32 %9467, ptr @test_count, align 4, !tbaa !5
  %9468 = call i32 @s2n_psk_parameters_wipe(ptr noundef %183)
  %9469 = getelementptr inbounds %struct.s2n_result, ptr %211, i32 0, i32 0
  store i32 %9468, ptr %9469, align 4
  %9470 = getelementptr inbounds %struct.s2n_result, ptr %211, i32 0, i32 0
  %9471 = load i32, ptr %9470, align 4
  %9472 = call zeroext i1 @s2n_result_is_ok(i32 %9471)
  br i1 %9472, label %9526, label %9473

9473:                                             ; preds = %9465
  br label %9474

9474:                                             ; preds = %9473
  br label %9475

9475:                                             ; preds = %9474
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %9476 = call ptr @__errno_location() #12
  %9477 = load i32, ptr %9476, align 4, !tbaa !5
  store i32 %9477, ptr %212, align 4, !tbaa !5
  %9478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9479 = call i32 @s2n_print_stacktrace(ptr noundef %9478)
  %9480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9481 = trunc i8 %9480 to i1
  br i1 %9481, label %9482, label %9504

9482:                                             ; preds = %9475
  %9483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9484 = call i32 @fileno(ptr noundef %9483) #11
  %9485 = call i32 @isatty(i32 noundef %9484) #11
  %9486 = icmp ne i32 %9485, 0
  br i1 %9486, label %9487, label %9504

9487:                                             ; preds = %9482
  %9488 = load i32, ptr %212, align 4, !tbaa !5
  %9489 = call ptr @__errno_location() #12
  store i32 %9488, ptr %9489, align 4, !tbaa !5
  %9490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9491 = load i32, ptr @test_count, align 4, !tbaa !5
  %9492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9493 = load i32, ptr %9492, align 4, !tbaa !5
  %9494 = call ptr @s2n_strerror(i32 noundef %9493, ptr noundef @.str.80)
  %9495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9496 = load i32, ptr %9495, align 4, !tbaa !5
  %9497 = call ptr @s2n_strerror_debug(i32 noundef %9496, ptr noundef @.str.80)
  %9498 = call ptr @__errno_location() #12
  %9499 = load i32, ptr %9498, align 4, !tbaa !5
  %9500 = call ptr @strerror(i32 noundef %9499) #11
  %9501 = call ptr @__errno_location() #12
  %9502 = load i32, ptr %9501, align 4, !tbaa !5
  %9503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9490, ptr noundef @.str.78, i32 noundef %9491, ptr noundef @.str.169, ptr noundef @.str.77, i32 noundef 292, ptr noundef %9494, ptr noundef %9497, ptr noundef %9500, i32 noundef %9502) #11
  br label %9521

9504:                                             ; preds = %9482, %9475
  %9505 = load i32, ptr %212, align 4, !tbaa !5
  %9506 = call ptr @__errno_location() #12
  store i32 %9505, ptr %9506, align 4, !tbaa !5
  %9507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9508 = load i32, ptr @test_count, align 4, !tbaa !5
  %9509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9510 = load i32, ptr %9509, align 4, !tbaa !5
  %9511 = call ptr @s2n_strerror(i32 noundef %9510, ptr noundef @.str.80)
  %9512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9513 = load i32, ptr %9512, align 4, !tbaa !5
  %9514 = call ptr @s2n_strerror_debug(i32 noundef %9513, ptr noundef @.str.80)
  %9515 = call ptr @__errno_location() #12
  %9516 = load i32, ptr %9515, align 4, !tbaa !5
  %9517 = call ptr @strerror(i32 noundef %9516) #11
  %9518 = call ptr @__errno_location() #12
  %9519 = load i32, ptr %9518, align 4, !tbaa !5
  %9520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9507, ptr noundef @.str.81, i32 noundef %9508, ptr noundef @.str.169, ptr noundef @.str.77, i32 noundef 292, ptr noundef %9511, ptr noundef %9514, ptr noundef %9517, i32 noundef %9519) #11
  br label %9521

9521:                                             ; preds = %9504, %9487
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %9522

9522:                                             ; preds = %9521
  br label %9523

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

9524:                                             ; No predecessors!
  br label %9525

9525:                                             ; preds = %9524
  br label %9526

9526:                                             ; preds = %9525, %9465
  br label %9527

9527:                                             ; preds = %9526
  br label %9528

9528:                                             ; preds = %9527
  call void @llvm.lifetime.end.p0(i64 8, ptr %193) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %183) #11
  call void @llvm.lifetime.end.p0(i64 17, ptr %182) #11
  call void @llvm.lifetime.end.p0(i64 19, ptr %181) #11
  call void @llvm.lifetime.start.p0(i64 11, ptr %213) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %213, ptr align 1 @__const.main.test_value.183, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 64, ptr %214) #11
  call void @llvm.memset.p0.i64(ptr align 8 %214, i8 0, i64 64, i1 false)
  br label %9529

9529:                                             ; preds = %9528
  %9530 = load i32, ptr @test_count, align 4, !tbaa !5
  %9531 = add nsw i32 %9530, 1
  store i32 %9531, ptr @test_count, align 4, !tbaa !5
  %9532 = call i32 @s2n_psk_parameters_init(ptr noundef %214)
  %9533 = getelementptr inbounds %struct.s2n_result, ptr %215, i32 0, i32 0
  store i32 %9532, ptr %9533, align 4
  %9534 = getelementptr inbounds %struct.s2n_result, ptr %215, i32 0, i32 0
  %9535 = load i32, ptr %9534, align 4
  %9536 = call zeroext i1 @s2n_result_is_ok(i32 %9535)
  br i1 %9536, label %9590, label %9537

9537:                                             ; preds = %9529
  br label %9538

9538:                                             ; preds = %9537
  br label %9539

9539:                                             ; preds = %9538
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %9540 = call ptr @__errno_location() #12
  %9541 = load i32, ptr %9540, align 4, !tbaa !5
  store i32 %9541, ptr %216, align 4, !tbaa !5
  %9542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9543 = call i32 @s2n_print_stacktrace(ptr noundef %9542)
  %9544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9545 = trunc i8 %9544 to i1
  br i1 %9545, label %9546, label %9568

9546:                                             ; preds = %9539
  %9547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9548 = call i32 @fileno(ptr noundef %9547) #11
  %9549 = call i32 @isatty(i32 noundef %9548) #11
  %9550 = icmp ne i32 %9549, 0
  br i1 %9550, label %9551, label %9568

9551:                                             ; preds = %9546
  %9552 = load i32, ptr %216, align 4, !tbaa !5
  %9553 = call ptr @__errno_location() #12
  store i32 %9552, ptr %9553, align 4, !tbaa !5
  %9554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9555 = load i32, ptr @test_count, align 4, !tbaa !5
  %9556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9557 = load i32, ptr %9556, align 4, !tbaa !5
  %9558 = call ptr @s2n_strerror(i32 noundef %9557, ptr noundef @.str.80)
  %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_debug(i32 noundef %9560, ptr noundef @.str.80)
  %9562 = call ptr @__errno_location() #12
  %9563 = load i32, ptr %9562, align 4, !tbaa !5
  %9564 = call ptr @strerror(i32 noundef %9563) #11
  %9565 = call ptr @__errno_location() #12
  %9566 = load i32, ptr %9565, align 4, !tbaa !5
  %9567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9554, ptr noundef @.str.78, i32 noundef %9555, ptr noundef @.str.184, ptr noundef @.str.77, i32 noundef 300, ptr noundef %9558, ptr noundef %9561, ptr noundef %9564, i32 noundef %9566) #11
  br label %9585

9568:                                             ; preds = %9546, %9539
  %9569 = load i32, ptr %216, align 4, !tbaa !5
  %9570 = call ptr @__errno_location() #12
  store i32 %9569, ptr %9570, align 4, !tbaa !5
  %9571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9572 = load i32, ptr @test_count, align 4, !tbaa !5
  %9573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9574 = load i32, ptr %9573, align 4, !tbaa !5
  %9575 = call ptr @s2n_strerror(i32 noundef %9574, ptr noundef @.str.80)
  %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_debug(i32 noundef %9577, ptr noundef @.str.80)
  %9579 = call ptr @__errno_location() #12
  %9580 = load i32, ptr %9579, align 4, !tbaa !5
  %9581 = call ptr @strerror(i32 noundef %9580) #11
  %9582 = call ptr @__errno_location() #12
  %9583 = load i32, ptr %9582, align 4, !tbaa !5
  %9584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9571, ptr noundef @.str.81, i32 noundef %9572, ptr noundef @.str.184, ptr noundef @.str.77, i32 noundef 300, ptr noundef %9575, ptr noundef %9578, ptr noundef %9581, i32 noundef %9583) #11
  br label %9585

9585:                                             ; preds = %9568, %9551
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %9586

9586:                                             ; preds = %9585
  br label %9587

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

9588:                                             ; No predecessors!
  br label %9589

9589:                                             ; preds = %9588
  br label %9590

9590:                                             ; preds = %9589, %9529
  br label %9591

9591:                                             ; preds = %9590
  br label %9592

9592:                                             ; preds = %9591
  call void @llvm.lifetime.start.p0(i64 8, ptr %217) #11
  %9593 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %9593, ptr %217, align 8, !tbaa !9
  %9594 = load ptr, ptr %217, align 8, !tbaa !9
  %9595 = getelementptr inbounds %struct.s2n_connection, ptr %9594, i32 0, i32 33
  %9596 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %9595, i32 0, i32 2
  store i16 1, ptr %9596, align 8, !tbaa !42
  %9597 = load ptr, ptr %217, align 8, !tbaa !9
  %9598 = getelementptr inbounds %struct.s2n_connection, ptr %9597, i32 0, i32 33
  %9599 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %9598, i32 0, i32 3
  store i16 1, ptr %9599, align 2, !tbaa !64
  call void @llvm.lifetime.start.p0(i64 8, ptr %218) #11
  store ptr null, ptr %218, align 8, !tbaa !9
  br label %9600

9600:                                             ; preds = %9592
  %9601 = load i32, ptr @test_count, align 4, !tbaa !5
  %9602 = add nsw i32 %9601, 1
  store i32 %9602, ptr @test_count, align 4, !tbaa !5
  %9603 = load ptr, ptr %217, align 8, !tbaa !9
  %9604 = getelementptr inbounds %struct.s2n_connection, ptr %9603, i32 0, i32 33
  %9605 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %9604, i32 0, i32 1
  %9606 = call i32 @s2n_array_pushback(ptr noundef %9605, ptr noundef %218)
  %9607 = getelementptr inbounds %struct.s2n_result, ptr %219, i32 0, i32 0
  store i32 %9606, ptr %9607, align 4
  %9608 = getelementptr inbounds %struct.s2n_result, ptr %219, i32 0, i32 0
  %9609 = load i32, ptr %9608, align 4
  %9610 = call zeroext i1 @s2n_result_is_ok(i32 %9609)
  br i1 %9610, label %9664, label %9611

9611:                                             ; preds = %9600
  br label %9612

9612:                                             ; preds = %9611
  br label %9613

9613:                                             ; preds = %9612
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %9614 = call ptr @__errno_location() #12
  %9615 = load i32, ptr %9614, align 4, !tbaa !5
  store i32 %9615, ptr %220, align 4, !tbaa !5
  %9616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9617 = call i32 @s2n_print_stacktrace(ptr noundef %9616)
  %9618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9619 = trunc i8 %9618 to i1
  br i1 %9619, label %9620, label %9642

9620:                                             ; preds = %9613
  %9621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9622 = call i32 @fileno(ptr noundef %9621) #11
  %9623 = call i32 @isatty(i32 noundef %9622) #11
  %9624 = icmp ne i32 %9623, 0
  br i1 %9624, label %9625, label %9642

9625:                                             ; preds = %9620
  %9626 = load i32, ptr %220, align 4, !tbaa !5
  %9627 = call ptr @__errno_location() #12
  store i32 %9626, ptr %9627, align 4, !tbaa !5
  %9628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9629 = load i32, ptr @test_count, align 4, !tbaa !5
  %9630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9631 = load i32, ptr %9630, align 4, !tbaa !5
  %9632 = call ptr @s2n_strerror(i32 noundef %9631, ptr noundef @.str.80)
  %9633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9634 = load i32, ptr %9633, align 4, !tbaa !5
  %9635 = call ptr @s2n_strerror_debug(i32 noundef %9634, ptr noundef @.str.80)
  %9636 = call ptr @__errno_location() #12
  %9637 = load i32, ptr %9636, align 4, !tbaa !5
  %9638 = call ptr @strerror(i32 noundef %9637) #11
  %9639 = call ptr @__errno_location() #12
  %9640 = load i32, ptr %9639, align 4, !tbaa !5
  %9641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9628, ptr noundef @.str.78, i32 noundef %9629, ptr noundef @.str.185, ptr noundef @.str.77, i32 noundef 307, ptr noundef %9632, ptr noundef %9635, ptr noundef %9638, i32 noundef %9640) #11
  br label %9659

9642:                                             ; preds = %9620, %9613
  %9643 = load i32, ptr %220, align 4, !tbaa !5
  %9644 = call ptr @__errno_location() #12
  store i32 %9643, ptr %9644, align 4, !tbaa !5
  %9645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9646 = load i32, ptr @test_count, align 4, !tbaa !5
  %9647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9648 = load i32, ptr %9647, align 4, !tbaa !5
  %9649 = call ptr @s2n_strerror(i32 noundef %9648, ptr noundef @.str.80)
  %9650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9651 = load i32, ptr %9650, align 4, !tbaa !5
  %9652 = call ptr @s2n_strerror_debug(i32 noundef %9651, ptr noundef @.str.80)
  %9653 = call ptr @__errno_location() #12
  %9654 = load i32, ptr %9653, align 4, !tbaa !5
  %9655 = call ptr @strerror(i32 noundef %9654) #11
  %9656 = call ptr @__errno_location() #12
  %9657 = load i32, ptr %9656, align 4, !tbaa !5
  %9658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9645, ptr noundef @.str.81, i32 noundef %9646, ptr noundef @.str.185, ptr noundef @.str.77, i32 noundef 307, ptr noundef %9649, ptr noundef %9652, ptr noundef %9655, i32 noundef %9657) #11
  br label %9659

9659:                                             ; preds = %9642, %9625
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %9660

9660:                                             ; preds = %9659
  br label %9661

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

9662:                                             ; No predecessors!
  br label %9663

9663:                                             ; preds = %9662
  br label %9664

9664:                                             ; preds = %9663, %9600
  br label %9665

9665:                                             ; preds = %9664
  br label %9666

9666:                                             ; preds = %9665
  br label %9667

9667:                                             ; preds = %9666
  %9668 = load i32, ptr @test_count, align 4, !tbaa !5
  %9669 = add nsw i32 %9668, 1
  store i32 %9669, ptr @test_count, align 4, !tbaa !5
  %9670 = load ptr, ptr %218, align 8, !tbaa !9
  %9671 = call i32 @s2n_psk_init(ptr noundef %9670, i32 noundef 1)
  %9672 = getelementptr inbounds %struct.s2n_result, ptr %221, i32 0, i32 0
  store i32 %9671, ptr %9672, align 4
  %9673 = getelementptr inbounds %struct.s2n_result, ptr %221, i32 0, i32 0
  %9674 = load i32, ptr %9673, align 4
  %9675 = call zeroext i1 @s2n_result_is_ok(i32 %9674)
  br i1 %9675, label %9729, label %9676

9676:                                             ; preds = %9667
  br label %9677

9677:                                             ; preds = %9676
  br label %9678

9678:                                             ; preds = %9677
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %9679 = call ptr @__errno_location() #12
  %9680 = load i32, ptr %9679, align 4, !tbaa !5
  store i32 %9680, ptr %222, align 4, !tbaa !5
  %9681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9682 = call i32 @s2n_print_stacktrace(ptr noundef %9681)
  %9683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9684 = trunc i8 %9683 to i1
  br i1 %9684, label %9685, label %9707

9685:                                             ; preds = %9678
  %9686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9687 = call i32 @fileno(ptr noundef %9686) #11
  %9688 = call i32 @isatty(i32 noundef %9687) #11
  %9689 = icmp ne i32 %9688, 0
  br i1 %9689, label %9690, label %9707

9690:                                             ; preds = %9685
  %9691 = load i32, ptr %222, align 4, !tbaa !5
  %9692 = call ptr @__errno_location() #12
  store i32 %9691, ptr %9692, align 4, !tbaa !5
  %9693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9694 = load i32, ptr @test_count, align 4, !tbaa !5
  %9695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9696 = load i32, ptr %9695, align 4, !tbaa !5
  %9697 = call ptr @s2n_strerror(i32 noundef %9696, ptr noundef @.str.80)
  %9698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9699 = load i32, ptr %9698, align 4, !tbaa !5
  %9700 = call ptr @s2n_strerror_debug(i32 noundef %9699, ptr noundef @.str.80)
  %9701 = call ptr @__errno_location() #12
  %9702 = load i32, ptr %9701, align 4, !tbaa !5
  %9703 = call ptr @strerror(i32 noundef %9702) #11
  %9704 = call ptr @__errno_location() #12
  %9705 = load i32, ptr %9704, align 4, !tbaa !5
  %9706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9693, ptr noundef @.str.78, i32 noundef %9694, ptr noundef @.str.186, ptr noundef @.str.77, i32 noundef 308, ptr noundef %9697, ptr noundef %9700, ptr noundef %9703, i32 noundef %9705) #11
  br label %9724

9707:                                             ; preds = %9685, %9678
  %9708 = load i32, ptr %222, align 4, !tbaa !5
  %9709 = call ptr @__errno_location() #12
  store i32 %9708, ptr %9709, align 4, !tbaa !5
  %9710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9711 = load i32, ptr @test_count, align 4, !tbaa !5
  %9712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9713 = load i32, ptr %9712, align 4, !tbaa !5
  %9714 = call ptr @s2n_strerror(i32 noundef %9713, ptr noundef @.str.80)
  %9715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9716 = load i32, ptr %9715, align 4, !tbaa !5
  %9717 = call ptr @s2n_strerror_debug(i32 noundef %9716, ptr noundef @.str.80)
  %9718 = call ptr @__errno_location() #12
  %9719 = load i32, ptr %9718, align 4, !tbaa !5
  %9720 = call ptr @strerror(i32 noundef %9719) #11
  %9721 = call ptr @__errno_location() #12
  %9722 = load i32, ptr %9721, align 4, !tbaa !5
  %9723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9710, ptr noundef @.str.81, i32 noundef %9711, ptr noundef @.str.186, ptr noundef @.str.77, i32 noundef 308, ptr noundef %9714, ptr noundef %9717, ptr noundef %9720, i32 noundef %9722) #11
  br label %9724

9724:                                             ; preds = %9707, %9690
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %9725

9725:                                             ; preds = %9724
  br label %9726

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

9727:                                             ; No predecessors!
  br label %9728

9728:                                             ; preds = %9727
  br label %9729

9729:                                             ; preds = %9728, %9667
  br label %9730

9730:                                             ; preds = %9729
  br label %9731

9731:                                             ; preds = %9730
  br label %9732

9732:                                             ; preds = %9731
  %9733 = load i32, ptr @test_count, align 4, !tbaa !5
  %9734 = add nsw i32 %9733, 1
  store i32 %9734, ptr @test_count, align 4, !tbaa !5
  %9735 = load ptr, ptr %218, align 8, !tbaa !9
  %9736 = getelementptr inbounds [11 x i8], ptr %213, i64 0, i64 0
  %9737 = call i32 @s2n_psk_set_identity(ptr noundef %9735, ptr noundef %9736, i16 noundef zeroext 11)
  %9738 = icmp eq i32 %9737, -1
  br i1 %9738, label %9739, label %9792

9739:                                             ; preds = %9732
  br label %9740

9740:                                             ; preds = %9739
  br label %9741

9741:                                             ; preds = %9740
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #11
  %9742 = call ptr @__errno_location() #12
  %9743 = load i32, ptr %9742, align 4, !tbaa !5
  store i32 %9743, ptr %223, align 4, !tbaa !5
  %9744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9745 = call i32 @s2n_print_stacktrace(ptr noundef %9744)
  %9746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9747 = trunc i8 %9746 to i1
  br i1 %9747, label %9748, label %9770

9748:                                             ; preds = %9741
  %9749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9750 = call i32 @fileno(ptr noundef %9749) #11
  %9751 = call i32 @isatty(i32 noundef %9750) #11
  %9752 = icmp ne i32 %9751, 0
  br i1 %9752, label %9753, label %9770

9753:                                             ; preds = %9748
  %9754 = load i32, ptr %223, align 4, !tbaa !5
  %9755 = call ptr @__errno_location() #12
  store i32 %9754, ptr %9755, align 4, !tbaa !5
  %9756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9757 = load i32, ptr @test_count, align 4, !tbaa !5
  %9758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9759 = load i32, ptr %9758, align 4, !tbaa !5
  %9760 = call ptr @s2n_strerror(i32 noundef %9759, ptr noundef @.str.80)
  %9761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9762 = load i32, ptr %9761, align 4, !tbaa !5
  %9763 = call ptr @s2n_strerror_debug(i32 noundef %9762, ptr noundef @.str.80)
  %9764 = call ptr @__errno_location() #12
  %9765 = load i32, ptr %9764, align 4, !tbaa !5
  %9766 = call ptr @strerror(i32 noundef %9765) #11
  %9767 = call ptr @__errno_location() #12
  %9768 = load i32, ptr %9767, align 4, !tbaa !5
  %9769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9756, ptr noundef @.str.78, i32 noundef %9757, ptr noundef @.str.187, ptr noundef @.str.77, i32 noundef 309, ptr noundef %9760, ptr noundef %9763, ptr noundef %9766, i32 noundef %9768) #11
  br label %9787

9770:                                             ; preds = %9748, %9741
  %9771 = load i32, ptr %223, align 4, !tbaa !5
  %9772 = call ptr @__errno_location() #12
  store i32 %9771, ptr %9772, align 4, !tbaa !5
  %9773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9774 = load i32, ptr @test_count, align 4, !tbaa !5
  %9775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9776 = load i32, ptr %9775, align 4, !tbaa !5
  %9777 = call ptr @s2n_strerror(i32 noundef %9776, ptr noundef @.str.80)
  %9778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9779 = load i32, ptr %9778, align 4, !tbaa !5
  %9780 = call ptr @s2n_strerror_debug(i32 noundef %9779, ptr noundef @.str.80)
  %9781 = call ptr @__errno_location() #12
  %9782 = load i32, ptr %9781, align 4, !tbaa !5
  %9783 = call ptr @strerror(i32 noundef %9782) #11
  %9784 = call ptr @__errno_location() #12
  %9785 = load i32, ptr %9784, align 4, !tbaa !5
  %9786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9773, ptr noundef @.str.81, i32 noundef %9774, ptr noundef @.str.187, ptr noundef @.str.77, i32 noundef 309, ptr noundef %9777, ptr noundef %9780, ptr noundef %9783, i32 noundef %9785) #11
  br label %9787

9787:                                             ; preds = %9770, %9753
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #11
  br label %9788

9788:                                             ; preds = %9787
  br label %9789

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

9790:                                             ; No predecessors!
  br label %9791

9791:                                             ; preds = %9790
  br label %9792

9792:                                             ; preds = %9791, %9732
  br label %9793

9793:                                             ; preds = %9792
  br label %9794

9794:                                             ; preds = %9793
  %9795 = load ptr, ptr %218, align 8, !tbaa !9
  %9796 = load ptr, ptr %217, align 8, !tbaa !9
  %9797 = getelementptr inbounds %struct.s2n_connection, ptr %9796, i32 0, i32 33
  %9798 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %9797, i32 0, i32 4
  store ptr %9795, ptr %9798, align 8, !tbaa !65
  br label %9799

9799:                                             ; preds = %9794
  %9800 = load i32, ptr @test_count, align 4, !tbaa !5
  %9801 = add nsw i32 %9800, 1
  store i32 %9801, ptr @test_count, align 4, !tbaa !5
  %9802 = load ptr, ptr %217, align 8, !tbaa !9
  %9803 = call i32 @s2n_connection_wipe(ptr noundef %9802)
  %9804 = icmp eq i32 %9803, -1
  br i1 %9804, label %9805, label %9858

9805:                                             ; preds = %9799
  br label %9806

9806:                                             ; preds = %9805
  br label %9807

9807:                                             ; preds = %9806
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %9808 = call ptr @__errno_location() #12
  %9809 = load i32, ptr %9808, align 4, !tbaa !5
  store i32 %9809, ptr %224, align 4, !tbaa !5
  %9810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9811 = call i32 @s2n_print_stacktrace(ptr noundef %9810)
  %9812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9813 = trunc i8 %9812 to i1
  br i1 %9813, label %9814, label %9836

9814:                                             ; preds = %9807
  %9815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9816 = call i32 @fileno(ptr noundef %9815) #11
  %9817 = call i32 @isatty(i32 noundef %9816) #11
  %9818 = icmp ne i32 %9817, 0
  br i1 %9818, label %9819, label %9836

9819:                                             ; preds = %9814
  %9820 = load i32, ptr %224, align 4, !tbaa !5
  %9821 = call ptr @__errno_location() #12
  store i32 %9820, ptr %9821, align 4, !tbaa !5
  %9822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9823 = load i32, ptr @test_count, align 4, !tbaa !5
  %9824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9825 = load i32, ptr %9824, align 4, !tbaa !5
  %9826 = call ptr @s2n_strerror(i32 noundef %9825, ptr noundef @.str.80)
  %9827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9828 = load i32, ptr %9827, align 4, !tbaa !5
  %9829 = call ptr @s2n_strerror_debug(i32 noundef %9828, ptr noundef @.str.80)
  %9830 = call ptr @__errno_location() #12
  %9831 = load i32, ptr %9830, align 4, !tbaa !5
  %9832 = call ptr @strerror(i32 noundef %9831) #11
  %9833 = call ptr @__errno_location() #12
  %9834 = load i32, ptr %9833, align 4, !tbaa !5
  %9835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9822, ptr noundef @.str.78, i32 noundef %9823, ptr noundef @.str.188, ptr noundef @.str.77, i32 noundef 312, ptr noundef %9826, ptr noundef %9829, ptr noundef %9832, i32 noundef %9834) #11
  br label %9853

9836:                                             ; preds = %9814, %9807
  %9837 = load i32, ptr %224, align 4, !tbaa !5
  %9838 = call ptr @__errno_location() #12
  store i32 %9837, ptr %9838, align 4, !tbaa !5
  %9839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9840 = load i32, ptr @test_count, align 4, !tbaa !5
  %9841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9842 = load i32, ptr %9841, align 4, !tbaa !5
  %9843 = call ptr @s2n_strerror(i32 noundef %9842, ptr noundef @.str.80)
  %9844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9845 = load i32, ptr %9844, align 4, !tbaa !5
  %9846 = call ptr @s2n_strerror_debug(i32 noundef %9845, ptr noundef @.str.80)
  %9847 = call ptr @__errno_location() #12
  %9848 = load i32, ptr %9847, align 4, !tbaa !5
  %9849 = call ptr @strerror(i32 noundef %9848) #11
  %9850 = call ptr @__errno_location() #12
  %9851 = load i32, ptr %9850, align 4, !tbaa !5
  %9852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9839, ptr noundef @.str.81, i32 noundef %9840, ptr noundef @.str.188, ptr noundef @.str.77, i32 noundef 312, ptr noundef %9843, ptr noundef %9846, ptr noundef %9849, i32 noundef %9851) #11
  br label %9853

9853:                                             ; preds = %9836, %9819
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %9854

9854:                                             ; preds = %9853
  br label %9855

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

9856:                                             ; No predecessors!
  br label %9857

9857:                                             ; preds = %9856
  br label %9858

9858:                                             ; preds = %9857, %9799
  br label %9859

9859:                                             ; preds = %9858
  br label %9860

9860:                                             ; preds = %9859
  br label %9861

9861:                                             ; preds = %9860
  br label %9862

9862:                                             ; preds = %9861
  %9863 = load i32, ptr @test_count, align 4, !tbaa !5
  %9864 = add nsw i32 %9863, 1
  store i32 %9864, ptr @test_count, align 4, !tbaa !5
  %9865 = load ptr, ptr %217, align 8, !tbaa !9
  %9866 = getelementptr inbounds %struct.s2n_connection, ptr %9865, i32 0, i32 33
  %9867 = call i32 @memcmp(ptr noundef %214, ptr noundef %9866, i64 noundef 64) #14
  %9868 = icmp eq i32 %9867, 0
  br i1 %9868, label %9922, label %9869

9869:                                             ; preds = %9862
  br label %9870

9870:                                             ; preds = %9869
  br label %9871

9871:                                             ; preds = %9870
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %9872 = call ptr @__errno_location() #12
  %9873 = load i32, ptr %9872, align 4, !tbaa !5
  store i32 %9873, ptr %225, align 4, !tbaa !5
  %9874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9875 = call i32 @s2n_print_stacktrace(ptr noundef %9874)
  %9876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9877 = trunc i8 %9876 to i1
  br i1 %9877, label %9878, label %9900

9878:                                             ; preds = %9871
  %9879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9880 = call i32 @fileno(ptr noundef %9879) #11
  %9881 = call i32 @isatty(i32 noundef %9880) #11
  %9882 = icmp ne i32 %9881, 0
  br i1 %9882, label %9883, label %9900

9883:                                             ; preds = %9878
  %9884 = load i32, ptr %225, align 4, !tbaa !5
  %9885 = call ptr @__errno_location() #12
  store i32 %9884, ptr %9885, align 4, !tbaa !5
  %9886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9887 = load i32, ptr @test_count, align 4, !tbaa !5
  %9888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9889 = load i32, ptr %9888, align 4, !tbaa !5
  %9890 = call ptr @s2n_strerror(i32 noundef %9889, ptr noundef @.str.80)
  %9891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9892 = load i32, ptr %9891, align 4, !tbaa !5
  %9893 = call ptr @s2n_strerror_debug(i32 noundef %9892, ptr noundef @.str.80)
  %9894 = call ptr @__errno_location() #12
  %9895 = load i32, ptr %9894, align 4, !tbaa !5
  %9896 = call ptr @strerror(i32 noundef %9895) #11
  %9897 = call ptr @__errno_location() #12
  %9898 = load i32, ptr %9897, align 4, !tbaa !5
  %9899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9886, ptr noundef @.str.78, i32 noundef %9887, ptr noundef @.str.189, ptr noundef @.str.77, i32 noundef 313, ptr noundef %9890, ptr noundef %9893, ptr noundef %9896, i32 noundef %9898) #11
  br label %9917

9900:                                             ; preds = %9878, %9871
  %9901 = load i32, ptr %225, align 4, !tbaa !5
  %9902 = call ptr @__errno_location() #12
  store i32 %9901, ptr %9902, align 4, !tbaa !5
  %9903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9904 = load i32, ptr @test_count, align 4, !tbaa !5
  %9905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9906 = load i32, ptr %9905, align 4, !tbaa !5
  %9907 = call ptr @s2n_strerror(i32 noundef %9906, ptr noundef @.str.80)
  %9908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9909 = load i32, ptr %9908, align 4, !tbaa !5
  %9910 = call ptr @s2n_strerror_debug(i32 noundef %9909, ptr noundef @.str.80)
  %9911 = call ptr @__errno_location() #12
  %9912 = load i32, ptr %9911, align 4, !tbaa !5
  %9913 = call ptr @strerror(i32 noundef %9912) #11
  %9914 = call ptr @__errno_location() #12
  %9915 = load i32, ptr %9914, align 4, !tbaa !5
  %9916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9903, ptr noundef @.str.81, i32 noundef %9904, ptr noundef @.str.189, ptr noundef @.str.77, i32 noundef 313, ptr noundef %9907, ptr noundef %9910, ptr noundef %9913, i32 noundef %9915) #11
  br label %9917

9917:                                             ; preds = %9900, %9883
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %9918

9918:                                             ; preds = %9917
  br label %9919

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

9920:                                             ; No predecessors!
  br label %9921

9921:                                             ; preds = %9920
  br label %9922

9922:                                             ; preds = %9921, %9862
  br label %9923

9923:                                             ; preds = %9922
  br label %9924

9924:                                             ; preds = %9923
  br label %9925

9925:                                             ; preds = %9924
  br label %9926

9926:                                             ; preds = %9925
  call void @llvm.lifetime.start.p0(i64 8, ptr %226) #11
  store ptr null, ptr %226, align 8, !tbaa !9
  br label %9927

9927:                                             ; preds = %9926
  %9928 = load i32, ptr @test_count, align 4, !tbaa !5
  %9929 = add nsw i32 %9928, 1
  store i32 %9929, ptr @test_count, align 4, !tbaa !5
  %9930 = load ptr, ptr %217, align 8, !tbaa !9
  %9931 = getelementptr inbounds %struct.s2n_connection, ptr %9930, i32 0, i32 33
  %9932 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %9931, i32 0, i32 1
  %9933 = call i32 @s2n_array_pushback(ptr noundef %9932, ptr noundef %226)
  %9934 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  store i32 %9933, ptr %9934, align 4
  %9935 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  %9936 = load i32, ptr %9935, align 4
  %9937 = call zeroext i1 @s2n_result_is_ok(i32 %9936)
  br i1 %9937, label %9991, label %9938

9938:                                             ; preds = %9927
  br label %9939

9939:                                             ; preds = %9938
  br label %9940

9940:                                             ; preds = %9939
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %9941 = call ptr @__errno_location() #12
  %9942 = load i32, ptr %9941, align 4, !tbaa !5
  store i32 %9942, ptr %228, align 4, !tbaa !5
  %9943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9944 = call i32 @s2n_print_stacktrace(ptr noundef %9943)
  %9945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9946 = trunc i8 %9945 to i1
  br i1 %9946, label %9947, label %9969

9947:                                             ; preds = %9940
  %9948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9949 = call i32 @fileno(ptr noundef %9948) #11
  %9950 = call i32 @isatty(i32 noundef %9949) #11
  %9951 = icmp ne i32 %9950, 0
  br i1 %9951, label %9952, label %9969

9952:                                             ; preds = %9947
  %9953 = load i32, ptr %228, align 4, !tbaa !5
  %9954 = call ptr @__errno_location() #12
  store i32 %9953, ptr %9954, align 4, !tbaa !5
  %9955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9956 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9958, ptr noundef @.str.80)
  %9960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9961 = load i32, ptr %9960, align 4, !tbaa !5
  %9962 = call ptr @s2n_strerror_debug(i32 noundef %9961, ptr noundef @.str.80)
  %9963 = call ptr @__errno_location() #12
  %9964 = load i32, ptr %9963, align 4, !tbaa !5
  %9965 = call ptr @strerror(i32 noundef %9964) #11
  %9966 = call ptr @__errno_location() #12
  %9967 = load i32, ptr %9966, align 4, !tbaa !5
  %9968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9955, ptr noundef @.str.78, i32 noundef %9956, ptr noundef @.str.190, ptr noundef @.str.77, i32 noundef 316, ptr noundef %9959, ptr noundef %9962, ptr noundef %9965, i32 noundef %9967) #11
  br label %9986

9969:                                             ; preds = %9947, %9940
  %9970 = load i32, ptr %228, align 4, !tbaa !5
  %9971 = call ptr @__errno_location() #12
  store i32 %9970, ptr %9971, align 4, !tbaa !5
  %9972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9973 = load i32, ptr @test_count, align 4, !tbaa !5
  %9974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9975 = load i32, ptr %9974, align 4, !tbaa !5
  %9976 = call ptr @s2n_strerror(i32 noundef %9975, ptr noundef @.str.80)
  %9977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9978 = load i32, ptr %9977, align 4, !tbaa !5
  %9979 = call ptr @s2n_strerror_debug(i32 noundef %9978, ptr noundef @.str.80)
  %9980 = call ptr @__errno_location() #12
  %9981 = load i32, ptr %9980, align 4, !tbaa !5
  %9982 = call ptr @strerror(i32 noundef %9981) #11
  %9983 = call ptr @__errno_location() #12
  %9984 = load i32, ptr %9983, align 4, !tbaa !5
  %9985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9972, ptr noundef @.str.81, i32 noundef %9973, ptr noundef @.str.190, ptr noundef @.str.77, i32 noundef 316, ptr noundef %9976, ptr noundef %9979, ptr noundef %9982, i32 noundef %9984) #11
  br label %9986

9986:                                             ; preds = %9969, %9952
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %9987

9987:                                             ; preds = %9986
  br label %9988

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

9989:                                             ; No predecessors!
  br label %9990

9990:                                             ; preds = %9989
  br label %9991

9991:                                             ; preds = %9990, %9927
  br label %9992

9992:                                             ; preds = %9991
  br label %9993

9993:                                             ; preds = %9992
  br label %9994

9994:                                             ; preds = %9993
  %9995 = load i32, ptr @test_count, align 4, !tbaa !5
  %9996 = add nsw i32 %9995, 1
  store i32 %9996, ptr @test_count, align 4, !tbaa !5
  %9997 = load ptr, ptr %226, align 8, !tbaa !9
  %9998 = call i32 @s2n_psk_init(ptr noundef %9997, i32 noundef 1)
  %9999 = getelementptr inbounds %struct.s2n_result, ptr %229, i32 0, i32 0
  store i32 %9998, ptr %9999, align 4
  %10000 = getelementptr inbounds %struct.s2n_result, ptr %229, i32 0, i32 0
  %10001 = load i32, ptr %10000, align 4
  %10002 = call zeroext i1 @s2n_result_is_ok(i32 %10001)
  br i1 %10002, label %10056, label %10003

10003:                                            ; preds = %9994
  br label %10004

10004:                                            ; preds = %10003
  br label %10005

10005:                                            ; preds = %10004
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  %10006 = call ptr @__errno_location() #12
  %10007 = load i32, ptr %10006, align 4, !tbaa !5
  store i32 %10007, ptr %230, align 4, !tbaa !5
  %10008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10009 = call i32 @s2n_print_stacktrace(ptr noundef %10008)
  %10010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10011 = trunc i8 %10010 to i1
  br i1 %10011, label %10012, label %10034

10012:                                            ; preds = %10005
  %10013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10014 = call i32 @fileno(ptr noundef %10013) #11
  %10015 = call i32 @isatty(i32 noundef %10014) #11
  %10016 = icmp ne i32 %10015, 0
  br i1 %10016, label %10017, label %10034

10017:                                            ; preds = %10012
  %10018 = load i32, ptr %230, align 4, !tbaa !5
  %10019 = call ptr @__errno_location() #12
  store i32 %10018, ptr %10019, align 4, !tbaa !5
  %10020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10021 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %10023, ptr noundef @.str.80)
  %10025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10026 = load i32, ptr %10025, align 4, !tbaa !5
  %10027 = call ptr @s2n_strerror_debug(i32 noundef %10026, ptr noundef @.str.80)
  %10028 = call ptr @__errno_location() #12
  %10029 = load i32, ptr %10028, align 4, !tbaa !5
  %10030 = call ptr @strerror(i32 noundef %10029) #11
  %10031 = call ptr @__errno_location() #12
  %10032 = load i32, ptr %10031, align 4, !tbaa !5
  %10033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10020, ptr noundef @.str.78, i32 noundef %10021, ptr noundef @.str.191, ptr noundef @.str.77, i32 noundef 317, ptr noundef %10024, ptr noundef %10027, ptr noundef %10030, i32 noundef %10032) #11
  br label %10051

10034:                                            ; preds = %10012, %10005
  %10035 = load i32, ptr %230, align 4, !tbaa !5
  %10036 = call ptr @__errno_location() #12
  store i32 %10035, ptr %10036, align 4, !tbaa !5
  %10037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10038 = load i32, ptr @test_count, align 4, !tbaa !5
  %10039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10040 = load i32, ptr %10039, align 4, !tbaa !5
  %10041 = call ptr @s2n_strerror(i32 noundef %10040, ptr noundef @.str.80)
  %10042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10043 = load i32, ptr %10042, align 4, !tbaa !5
  %10044 = call ptr @s2n_strerror_debug(i32 noundef %10043, ptr noundef @.str.80)
  %10045 = call ptr @__errno_location() #12
  %10046 = load i32, ptr %10045, align 4, !tbaa !5
  %10047 = call ptr @strerror(i32 noundef %10046) #11
  %10048 = call ptr @__errno_location() #12
  %10049 = load i32, ptr %10048, align 4, !tbaa !5
  %10050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10037, ptr noundef @.str.81, i32 noundef %10038, ptr noundef @.str.191, ptr noundef @.str.77, i32 noundef 317, ptr noundef %10041, ptr noundef %10044, ptr noundef %10047, i32 noundef %10049) #11
  br label %10051

10051:                                            ; preds = %10034, %10017
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  br label %10052

10052:                                            ; preds = %10051
  br label %10053

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

10054:                                            ; No predecessors!
  br label %10055

10055:                                            ; preds = %10054
  br label %10056

10056:                                            ; preds = %10055, %9994
  br label %10057

10057:                                            ; preds = %10056
  br label %10058

10058:                                            ; preds = %10057
  br label %10059

10059:                                            ; preds = %10058
  %10060 = load i32, ptr @test_count, align 4, !tbaa !5
  %10061 = add nsw i32 %10060, 1
  store i32 %10061, ptr @test_count, align 4, !tbaa !5
  %10062 = load ptr, ptr %226, align 8, !tbaa !9
  %10063 = getelementptr inbounds [11 x i8], ptr %213, i64 0, i64 0
  %10064 = call i32 @s2n_psk_set_identity(ptr noundef %10062, ptr noundef %10063, i16 noundef zeroext 11)
  %10065 = icmp eq i32 %10064, -1
  br i1 %10065, label %10066, label %10119

10066:                                            ; preds = %10059
  br label %10067

10067:                                            ; preds = %10066
  br label %10068

10068:                                            ; preds = %10067
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %10069 = call ptr @__errno_location() #12
  %10070 = load i32, ptr %10069, align 4, !tbaa !5
  store i32 %10070, ptr %231, align 4, !tbaa !5
  %10071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10072 = call i32 @s2n_print_stacktrace(ptr noundef %10071)
  %10073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10074 = trunc i8 %10073 to i1
  br i1 %10074, label %10075, label %10097

10075:                                            ; preds = %10068
  %10076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10077 = call i32 @fileno(ptr noundef %10076) #11
  %10078 = call i32 @isatty(i32 noundef %10077) #11
  %10079 = icmp ne i32 %10078, 0
  br i1 %10079, label %10080, label %10097

10080:                                            ; preds = %10075
  %10081 = load i32, ptr %231, align 4, !tbaa !5
  %10082 = call ptr @__errno_location() #12
  store i32 %10081, ptr %10082, align 4, !tbaa !5
  %10083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10084 = load i32, ptr @test_count, align 4, !tbaa !5
  %10085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10086 = load i32, ptr %10085, align 4, !tbaa !5
  %10087 = call ptr @s2n_strerror(i32 noundef %10086, ptr noundef @.str.80)
  %10088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10089 = load i32, ptr %10088, align 4, !tbaa !5
  %10090 = call ptr @s2n_strerror_debug(i32 noundef %10089, ptr noundef @.str.80)
  %10091 = call ptr @__errno_location() #12
  %10092 = load i32, ptr %10091, align 4, !tbaa !5
  %10093 = call ptr @strerror(i32 noundef %10092) #11
  %10094 = call ptr @__errno_location() #12
  %10095 = load i32, ptr %10094, align 4, !tbaa !5
  %10096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10083, ptr noundef @.str.78, i32 noundef %10084, ptr noundef @.str.192, ptr noundef @.str.77, i32 noundef 318, ptr noundef %10087, ptr noundef %10090, ptr noundef %10093, i32 noundef %10095) #11
  br label %10114

10097:                                            ; preds = %10075, %10068
  %10098 = load i32, ptr %231, align 4, !tbaa !5
  %10099 = call ptr @__errno_location() #12
  store i32 %10098, ptr %10099, align 4, !tbaa !5
  %10100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10101 = load i32, ptr @test_count, align 4, !tbaa !5
  %10102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10103 = load i32, ptr %10102, align 4, !tbaa !5
  %10104 = call ptr @s2n_strerror(i32 noundef %10103, ptr noundef @.str.80)
  %10105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10106 = load i32, ptr %10105, align 4, !tbaa !5
  %10107 = call ptr @s2n_strerror_debug(i32 noundef %10106, ptr noundef @.str.80)
  %10108 = call ptr @__errno_location() #12
  %10109 = load i32, ptr %10108, align 4, !tbaa !5
  %10110 = call ptr @strerror(i32 noundef %10109) #11
  %10111 = call ptr @__errno_location() #12
  %10112 = load i32, ptr %10111, align 4, !tbaa !5
  %10113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10100, ptr noundef @.str.81, i32 noundef %10101, ptr noundef @.str.192, ptr noundef @.str.77, i32 noundef 318, ptr noundef %10104, ptr noundef %10107, ptr noundef %10110, i32 noundef %10112) #11
  br label %10114

10114:                                            ; preds = %10097, %10080
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %10115

10115:                                            ; preds = %10114
  br label %10116

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

10117:                                            ; No predecessors!
  br label %10118

10118:                                            ; preds = %10117
  br label %10119

10119:                                            ; preds = %10118, %10059
  br label %10120

10120:                                            ; preds = %10119
  br label %10121

10121:                                            ; preds = %10120
  %10122 = load ptr, ptr %226, align 8, !tbaa !9
  %10123 = load ptr, ptr %217, align 8, !tbaa !9
  %10124 = getelementptr inbounds %struct.s2n_connection, ptr %10123, i32 0, i32 33
  %10125 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %10124, i32 0, i32 4
  store ptr %10122, ptr %10125, align 8, !tbaa !65
  br label %10126

10126:                                            ; preds = %10121
  %10127 = load i32, ptr @test_count, align 4, !tbaa !5
  %10128 = add nsw i32 %10127, 1
  store i32 %10128, ptr @test_count, align 4, !tbaa !5
  %10129 = load ptr, ptr %217, align 8, !tbaa !9
  %10130 = call i32 @s2n_connection_wipe(ptr noundef %10129)
  %10131 = icmp eq i32 %10130, -1
  br i1 %10131, label %10132, label %10185

10132:                                            ; preds = %10126
  br label %10133

10133:                                            ; preds = %10132
  br label %10134

10134:                                            ; preds = %10133
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %10135 = call ptr @__errno_location() #12
  %10136 = load i32, ptr %10135, align 4, !tbaa !5
  store i32 %10136, ptr %232, align 4, !tbaa !5
  %10137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10138 = call i32 @s2n_print_stacktrace(ptr noundef %10137)
  %10139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10140 = trunc i8 %10139 to i1
  br i1 %10140, label %10141, label %10163

10141:                                            ; preds = %10134
  %10142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10143 = call i32 @fileno(ptr noundef %10142) #11
  %10144 = call i32 @isatty(i32 noundef %10143) #11
  %10145 = icmp ne i32 %10144, 0
  br i1 %10145, label %10146, label %10163

10146:                                            ; preds = %10141
  %10147 = load i32, ptr %232, align 4, !tbaa !5
  %10148 = call ptr @__errno_location() #12
  store i32 %10147, ptr %10148, align 4, !tbaa !5
  %10149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10150 = load i32, ptr @test_count, align 4, !tbaa !5
  %10151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10152 = load i32, ptr %10151, align 4, !tbaa !5
  %10153 = call ptr @s2n_strerror(i32 noundef %10152, ptr noundef @.str.80)
  %10154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10155 = load i32, ptr %10154, align 4, !tbaa !5
  %10156 = call ptr @s2n_strerror_debug(i32 noundef %10155, ptr noundef @.str.80)
  %10157 = call ptr @__errno_location() #12
  %10158 = load i32, ptr %10157, align 4, !tbaa !5
  %10159 = call ptr @strerror(i32 noundef %10158) #11
  %10160 = call ptr @__errno_location() #12
  %10161 = load i32, ptr %10160, align 4, !tbaa !5
  %10162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10149, ptr noundef @.str.78, i32 noundef %10150, ptr noundef @.str.188, ptr noundef @.str.77, i32 noundef 321, ptr noundef %10153, ptr noundef %10156, ptr noundef %10159, i32 noundef %10161) #11
  br label %10180

10163:                                            ; preds = %10141, %10134
  %10164 = load i32, ptr %232, align 4, !tbaa !5
  %10165 = call ptr @__errno_location() #12
  store i32 %10164, ptr %10165, align 4, !tbaa !5
  %10166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10167 = load i32, ptr @test_count, align 4, !tbaa !5
  %10168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10169 = load i32, ptr %10168, align 4, !tbaa !5
  %10170 = call ptr @s2n_strerror(i32 noundef %10169, ptr noundef @.str.80)
  %10171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10172 = load i32, ptr %10171, align 4, !tbaa !5
  %10173 = call ptr @s2n_strerror_debug(i32 noundef %10172, ptr noundef @.str.80)
  %10174 = call ptr @__errno_location() #12
  %10175 = load i32, ptr %10174, align 4, !tbaa !5
  %10176 = call ptr @strerror(i32 noundef %10175) #11
  %10177 = call ptr @__errno_location() #12
  %10178 = load i32, ptr %10177, align 4, !tbaa !5
  %10179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10166, ptr noundef @.str.81, i32 noundef %10167, ptr noundef @.str.188, ptr noundef @.str.77, i32 noundef 321, ptr noundef %10170, ptr noundef %10173, ptr noundef %10176, i32 noundef %10178) #11
  br label %10180

10180:                                            ; preds = %10163, %10146
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %10181

10181:                                            ; preds = %10180
  br label %10182

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

10183:                                            ; No predecessors!
  br label %10184

10184:                                            ; preds = %10183
  br label %10185

10185:                                            ; preds = %10184, %10126
  br label %10186

10186:                                            ; preds = %10185
  br label %10187

10187:                                            ; preds = %10186
  br label %10188

10188:                                            ; preds = %10187
  br label %10189

10189:                                            ; preds = %10188
  %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 %217, align 8, !tbaa !9
  %10193 = getelementptr inbounds %struct.s2n_connection, ptr %10192, i32 0, i32 33
  %10194 = call i32 @memcmp(ptr noundef %214, ptr noundef %10193, i64 noundef 64) #14
  %10195 = icmp eq i32 %10194, 0
  br i1 %10195, label %10249, label %10196

10196:                                            ; preds = %10189
  br label %10197

10197:                                            ; preds = %10196
  br label %10198

10198:                                            ; preds = %10197
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %10199 = call ptr @__errno_location() #12
  %10200 = load i32, ptr %10199, align 4, !tbaa !5
  store i32 %10200, ptr %233, align 4, !tbaa !5
  %10201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10202 = call i32 @s2n_print_stacktrace(ptr noundef %10201)
  %10203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10204 = trunc i8 %10203 to i1
  br i1 %10204, label %10205, label %10227

10205:                                            ; preds = %10198
  %10206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10207 = call i32 @fileno(ptr noundef %10206) #11
  %10208 = call i32 @isatty(i32 noundef %10207) #11
  %10209 = icmp ne i32 %10208, 0
  br i1 %10209, label %10210, label %10227

10210:                                            ; preds = %10205
  %10211 = load i32, ptr %233, align 4, !tbaa !5
  %10212 = call ptr @__errno_location() #12
  store i32 %10211, ptr %10212, align 4, !tbaa !5
  %10213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10214 = load i32, ptr @test_count, align 4, !tbaa !5
  %10215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10216 = load i32, ptr %10215, align 4, !tbaa !5
  %10217 = call ptr @s2n_strerror(i32 noundef %10216, ptr noundef @.str.80)
  %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_debug(i32 noundef %10219, ptr noundef @.str.80)
  %10221 = call ptr @__errno_location() #12
  %10222 = load i32, ptr %10221, align 4, !tbaa !5
  %10223 = call ptr @strerror(i32 noundef %10222) #11
  %10224 = call ptr @__errno_location() #12
  %10225 = load i32, ptr %10224, align 4, !tbaa !5
  %10226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10213, ptr noundef @.str.78, i32 noundef %10214, ptr noundef @.str.189, ptr noundef @.str.77, i32 noundef 322, ptr noundef %10217, ptr noundef %10220, ptr noundef %10223, i32 noundef %10225) #11
  br label %10244

10227:                                            ; preds = %10205, %10198
  %10228 = load i32, ptr %233, align 4, !tbaa !5
  %10229 = call ptr @__errno_location() #12
  store i32 %10228, ptr %10229, align 4, !tbaa !5
  %10230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10231 = load i32, ptr @test_count, align 4, !tbaa !5
  %10232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10233 = load i32, ptr %10232, align 4, !tbaa !5
  %10234 = call ptr @s2n_strerror(i32 noundef %10233, ptr noundef @.str.80)
  %10235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10236 = load i32, ptr %10235, align 4, !tbaa !5
  %10237 = call ptr @s2n_strerror_debug(i32 noundef %10236, ptr noundef @.str.80)
  %10238 = call ptr @__errno_location() #12
  %10239 = load i32, ptr %10238, align 4, !tbaa !5
  %10240 = call ptr @strerror(i32 noundef %10239) #11
  %10241 = call ptr @__errno_location() #12
  %10242 = load i32, ptr %10241, align 4, !tbaa !5
  %10243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10230, ptr noundef @.str.81, i32 noundef %10231, ptr noundef @.str.189, ptr noundef @.str.77, i32 noundef 322, ptr noundef %10234, ptr noundef %10237, ptr noundef %10240, i32 noundef %10242) #11
  br label %10244

10244:                                            ; preds = %10227, %10210
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %10245

10245:                                            ; preds = %10244
  br label %10246

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

10247:                                            ; No predecessors!
  br label %10248

10248:                                            ; preds = %10247
  br label %10249

10249:                                            ; preds = %10248, %10189
  br label %10250

10250:                                            ; preds = %10249
  br label %10251

10251:                                            ; preds = %10250
  br label %10252

10252:                                            ; preds = %10251
  br label %10253

10253:                                            ; preds = %10252
  call void @llvm.lifetime.start.p0(i64 8, ptr %234) #11
  store ptr null, ptr %234, align 8, !tbaa !9
  br label %10254

10254:                                            ; preds = %10253
  %10255 = load i32, ptr @test_count, align 4, !tbaa !5
  %10256 = add nsw i32 %10255, 1
  store i32 %10256, ptr @test_count, align 4, !tbaa !5
  %10257 = load ptr, ptr %217, align 8, !tbaa !9
  %10258 = getelementptr inbounds %struct.s2n_connection, ptr %10257, i32 0, i32 33
  %10259 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %10258, i32 0, i32 1
  %10260 = call i32 @s2n_array_pushback(ptr noundef %10259, ptr noundef %234)
  %10261 = getelementptr inbounds %struct.s2n_result, ptr %235, i32 0, i32 0
  store i32 %10260, ptr %10261, align 4
  %10262 = getelementptr inbounds %struct.s2n_result, ptr %235, i32 0, i32 0
  %10263 = load i32, ptr %10262, align 4
  %10264 = call zeroext i1 @s2n_result_is_ok(i32 %10263)
  br i1 %10264, label %10318, label %10265

10265:                                            ; preds = %10254
  br label %10266

10266:                                            ; preds = %10265
  br label %10267

10267:                                            ; preds = %10266
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %10268 = call ptr @__errno_location() #12
  %10269 = load i32, ptr %10268, align 4, !tbaa !5
  store i32 %10269, ptr %236, align 4, !tbaa !5
  %10270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10271 = call i32 @s2n_print_stacktrace(ptr noundef %10270)
  %10272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10273 = trunc i8 %10272 to i1
  br i1 %10273, label %10274, label %10296

10274:                                            ; preds = %10267
  %10275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10276 = call i32 @fileno(ptr noundef %10275) #11
  %10277 = call i32 @isatty(i32 noundef %10276) #11
  %10278 = icmp ne i32 %10277, 0
  br i1 %10278, label %10279, label %10296

10279:                                            ; preds = %10274
  %10280 = load i32, ptr %236, align 4, !tbaa !5
  %10281 = call ptr @__errno_location() #12
  store i32 %10280, ptr %10281, align 4, !tbaa !5
  %10282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10283 = load i32, ptr @test_count, align 4, !tbaa !5
  %10284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10285 = load i32, ptr %10284, align 4, !tbaa !5
  %10286 = call ptr @s2n_strerror(i32 noundef %10285, ptr noundef @.str.80)
  %10287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10288 = load i32, ptr %10287, align 4, !tbaa !5
  %10289 = call ptr @s2n_strerror_debug(i32 noundef %10288, ptr noundef @.str.80)
  %10290 = call ptr @__errno_location() #12
  %10291 = load i32, ptr %10290, align 4, !tbaa !5
  %10292 = call ptr @strerror(i32 noundef %10291) #11
  %10293 = call ptr @__errno_location() #12
  %10294 = load i32, ptr %10293, align 4, !tbaa !5
  %10295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10282, ptr noundef @.str.78, i32 noundef %10283, ptr noundef @.str.193, ptr noundef @.str.77, i32 noundef 325, ptr noundef %10286, ptr noundef %10289, ptr noundef %10292, i32 noundef %10294) #11
  br label %10313

10296:                                            ; preds = %10274, %10267
  %10297 = load i32, ptr %236, align 4, !tbaa !5
  %10298 = call ptr @__errno_location() #12
  store i32 %10297, ptr %10298, align 4, !tbaa !5
  %10299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10300 = load i32, ptr @test_count, align 4, !tbaa !5
  %10301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10302 = load i32, ptr %10301, align 4, !tbaa !5
  %10303 = call ptr @s2n_strerror(i32 noundef %10302, ptr noundef @.str.80)
  %10304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10305 = load i32, ptr %10304, align 4, !tbaa !5
  %10306 = call ptr @s2n_strerror_debug(i32 noundef %10305, ptr noundef @.str.80)
  %10307 = call ptr @__errno_location() #12
  %10308 = load i32, ptr %10307, align 4, !tbaa !5
  %10309 = call ptr @strerror(i32 noundef %10308) #11
  %10310 = call ptr @__errno_location() #12
  %10311 = load i32, ptr %10310, align 4, !tbaa !5
  %10312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10299, ptr noundef @.str.81, i32 noundef %10300, ptr noundef @.str.193, ptr noundef @.str.77, i32 noundef 325, ptr noundef %10303, ptr noundef %10306, ptr noundef %10309, i32 noundef %10311) #11
  br label %10313

10313:                                            ; preds = %10296, %10279
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %10314

10314:                                            ; preds = %10313
  br label %10315

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

10316:                                            ; No predecessors!
  br label %10317

10317:                                            ; preds = %10316
  br label %10318

10318:                                            ; preds = %10317, %10254
  br label %10319

10319:                                            ; preds = %10318
  br label %10320

10320:                                            ; preds = %10319
  br label %10321

10321:                                            ; preds = %10320
  %10322 = load i32, ptr @test_count, align 4, !tbaa !5
  %10323 = add nsw i32 %10322, 1
  store i32 %10323, ptr @test_count, align 4, !tbaa !5
  %10324 = load ptr, ptr %234, align 8, !tbaa !9
  %10325 = call i32 @s2n_psk_init(ptr noundef %10324, i32 noundef 1)
  %10326 = getelementptr inbounds %struct.s2n_result, ptr %237, i32 0, i32 0
  store i32 %10325, ptr %10326, align 4
  %10327 = getelementptr inbounds %struct.s2n_result, ptr %237, i32 0, i32 0
  %10328 = load i32, ptr %10327, align 4
  %10329 = call zeroext i1 @s2n_result_is_ok(i32 %10328)
  br i1 %10329, label %10383, label %10330

10330:                                            ; preds = %10321
  br label %10331

10331:                                            ; preds = %10330
  br label %10332

10332:                                            ; preds = %10331
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #11
  %10333 = call ptr @__errno_location() #12
  %10334 = load i32, ptr %10333, align 4, !tbaa !5
  store i32 %10334, ptr %238, align 4, !tbaa !5
  %10335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10336 = call i32 @s2n_print_stacktrace(ptr noundef %10335)
  %10337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10338 = trunc i8 %10337 to i1
  br i1 %10338, label %10339, label %10361

10339:                                            ; preds = %10332
  %10340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10341 = call i32 @fileno(ptr noundef %10340) #11
  %10342 = call i32 @isatty(i32 noundef %10341) #11
  %10343 = icmp ne i32 %10342, 0
  br i1 %10343, label %10344, label %10361

10344:                                            ; preds = %10339
  %10345 = load i32, ptr %238, align 4, !tbaa !5
  %10346 = call ptr @__errno_location() #12
  store i32 %10345, ptr %10346, align 4, !tbaa !5
  %10347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10348 = load i32, ptr @test_count, align 4, !tbaa !5
  %10349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10350 = load i32, ptr %10349, align 4, !tbaa !5
  %10351 = call ptr @s2n_strerror(i32 noundef %10350, ptr noundef @.str.80)
  %10352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10353 = load i32, ptr %10352, align 4, !tbaa !5
  %10354 = call ptr @s2n_strerror_debug(i32 noundef %10353, ptr noundef @.str.80)
  %10355 = call ptr @__errno_location() #12
  %10356 = load i32, ptr %10355, align 4, !tbaa !5
  %10357 = call ptr @strerror(i32 noundef %10356) #11
  %10358 = call ptr @__errno_location() #12
  %10359 = load i32, ptr %10358, align 4, !tbaa !5
  %10360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10347, ptr noundef @.str.78, i32 noundef %10348, ptr noundef @.str.194, ptr noundef @.str.77, i32 noundef 326, ptr noundef %10351, ptr noundef %10354, ptr noundef %10357, i32 noundef %10359) #11
  br label %10378

10361:                                            ; preds = %10339, %10332
  %10362 = load i32, ptr %238, align 4, !tbaa !5
  %10363 = call ptr @__errno_location() #12
  store i32 %10362, ptr %10363, align 4, !tbaa !5
  %10364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10365 = load i32, ptr @test_count, align 4, !tbaa !5
  %10366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10367 = load i32, ptr %10366, align 4, !tbaa !5
  %10368 = call ptr @s2n_strerror(i32 noundef %10367, ptr noundef @.str.80)
  %10369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10370 = load i32, ptr %10369, align 4, !tbaa !5
  %10371 = call ptr @s2n_strerror_debug(i32 noundef %10370, ptr noundef @.str.80)
  %10372 = call ptr @__errno_location() #12
  %10373 = load i32, ptr %10372, align 4, !tbaa !5
  %10374 = call ptr @strerror(i32 noundef %10373) #11
  %10375 = call ptr @__errno_location() #12
  %10376 = load i32, ptr %10375, align 4, !tbaa !5
  %10377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10364, ptr noundef @.str.81, i32 noundef %10365, ptr noundef @.str.194, ptr noundef @.str.77, i32 noundef 326, ptr noundef %10368, ptr noundef %10371, ptr noundef %10374, i32 noundef %10376) #11
  br label %10378

10378:                                            ; preds = %10361, %10344
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #11
  br label %10379

10379:                                            ; preds = %10378
  br label %10380

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

10381:                                            ; No predecessors!
  br label %10382

10382:                                            ; preds = %10381
  br label %10383

10383:                                            ; preds = %10382, %10321
  br label %10384

10384:                                            ; preds = %10383
  br label %10385

10385:                                            ; preds = %10384
  br label %10386

10386:                                            ; preds = %10385
  %10387 = load i32, ptr @test_count, align 4, !tbaa !5
  %10388 = add nsw i32 %10387, 1
  store i32 %10388, ptr @test_count, align 4, !tbaa !5
  %10389 = load ptr, ptr %234, align 8, !tbaa !9
  %10390 = getelementptr inbounds [11 x i8], ptr %213, i64 0, i64 0
  %10391 = call i32 @s2n_psk_set_identity(ptr noundef %10389, ptr noundef %10390, i16 noundef zeroext 11)
  %10392 = icmp eq i32 %10391, -1
  br i1 %10392, label %10393, label %10446

10393:                                            ; preds = %10386
  br label %10394

10394:                                            ; preds = %10393
  br label %10395

10395:                                            ; preds = %10394
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #11
  %10396 = call ptr @__errno_location() #12
  %10397 = load i32, ptr %10396, align 4, !tbaa !5
  store i32 %10397, ptr %239, align 4, !tbaa !5
  %10398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10399 = call i32 @s2n_print_stacktrace(ptr noundef %10398)
  %10400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10401 = trunc i8 %10400 to i1
  br i1 %10401, label %10402, label %10424

10402:                                            ; preds = %10395
  %10403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10404 = call i32 @fileno(ptr noundef %10403) #11
  %10405 = call i32 @isatty(i32 noundef %10404) #11
  %10406 = icmp ne i32 %10405, 0
  br i1 %10406, label %10407, label %10424

10407:                                            ; preds = %10402
  %10408 = load i32, ptr %239, align 4, !tbaa !5
  %10409 = call ptr @__errno_location() #12
  store i32 %10408, ptr %10409, align 4, !tbaa !5
  %10410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10411 = load i32, ptr @test_count, align 4, !tbaa !5
  %10412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10413 = load i32, ptr %10412, align 4, !tbaa !5
  %10414 = call ptr @s2n_strerror(i32 noundef %10413, ptr noundef @.str.80)
  %10415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10416 = load i32, ptr %10415, align 4, !tbaa !5
  %10417 = call ptr @s2n_strerror_debug(i32 noundef %10416, ptr noundef @.str.80)
  %10418 = call ptr @__errno_location() #12
  %10419 = load i32, ptr %10418, align 4, !tbaa !5
  %10420 = call ptr @strerror(i32 noundef %10419) #11
  %10421 = call ptr @__errno_location() #12
  %10422 = load i32, ptr %10421, align 4, !tbaa !5
  %10423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10410, ptr noundef @.str.78, i32 noundef %10411, ptr noundef @.str.195, ptr noundef @.str.77, i32 noundef 327, ptr noundef %10414, ptr noundef %10417, ptr noundef %10420, i32 noundef %10422) #11
  br label %10441

10424:                                            ; preds = %10402, %10395
  %10425 = load i32, ptr %239, align 4, !tbaa !5
  %10426 = call ptr @__errno_location() #12
  store i32 %10425, ptr %10426, align 4, !tbaa !5
  %10427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10428 = load i32, ptr @test_count, align 4, !tbaa !5
  %10429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10430 = load i32, ptr %10429, align 4, !tbaa !5
  %10431 = call ptr @s2n_strerror(i32 noundef %10430, ptr noundef @.str.80)
  %10432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10433 = load i32, ptr %10432, align 4, !tbaa !5
  %10434 = call ptr @s2n_strerror_debug(i32 noundef %10433, ptr noundef @.str.80)
  %10435 = call ptr @__errno_location() #12
  %10436 = load i32, ptr %10435, align 4, !tbaa !5
  %10437 = call ptr @strerror(i32 noundef %10436) #11
  %10438 = call ptr @__errno_location() #12
  %10439 = load i32, ptr %10438, align 4, !tbaa !5
  %10440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10427, ptr noundef @.str.81, i32 noundef %10428, ptr noundef @.str.195, ptr noundef @.str.77, i32 noundef 327, ptr noundef %10431, ptr noundef %10434, ptr noundef %10437, i32 noundef %10439) #11
  br label %10441

10441:                                            ; preds = %10424, %10407
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #11
  br label %10442

10442:                                            ; preds = %10441
  br label %10443

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

10444:                                            ; No predecessors!
  br label %10445

10445:                                            ; preds = %10444
  br label %10446

10446:                                            ; preds = %10445, %10386
  br label %10447

10447:                                            ; preds = %10446
  br label %10448

10448:                                            ; preds = %10447
  %10449 = load ptr, ptr %234, align 8, !tbaa !9
  %10450 = load ptr, ptr %217, align 8, !tbaa !9
  %10451 = getelementptr inbounds %struct.s2n_connection, ptr %10450, i32 0, i32 33
  %10452 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %10451, i32 0, i32 4
  store ptr %10449, ptr %10452, align 8, !tbaa !65
  br label %10453

10453:                                            ; preds = %10448
  %10454 = load i32, ptr @test_count, align 4, !tbaa !5
  %10455 = add nsw i32 %10454, 1
  store i32 %10455, ptr @test_count, align 4, !tbaa !5
  %10456 = load ptr, ptr %217, align 8, !tbaa !9
  %10457 = call i32 @s2n_connection_free(ptr noundef %10456)
  %10458 = icmp eq i32 %10457, -1
  br i1 %10458, label %10459, label %10512

10459:                                            ; preds = %10453
  br label %10460

10460:                                            ; preds = %10459
  br label %10461

10461:                                            ; preds = %10460
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %10462 = call ptr @__errno_location() #12
  %10463 = load i32, ptr %10462, align 4, !tbaa !5
  store i32 %10463, ptr %240, align 4, !tbaa !5
  %10464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10465 = call i32 @s2n_print_stacktrace(ptr noundef %10464)
  %10466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10467 = trunc i8 %10466 to i1
  br i1 %10467, label %10468, label %10490

10468:                                            ; preds = %10461
  %10469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10470 = call i32 @fileno(ptr noundef %10469) #11
  %10471 = call i32 @isatty(i32 noundef %10470) #11
  %10472 = icmp ne i32 %10471, 0
  br i1 %10472, label %10473, label %10490

10473:                                            ; preds = %10468
  %10474 = load i32, ptr %240, align 4, !tbaa !5
  %10475 = call ptr @__errno_location() #12
  store i32 %10474, ptr %10475, align 4, !tbaa !5
  %10476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10477 = load i32, ptr @test_count, align 4, !tbaa !5
  %10478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10479 = load i32, ptr %10478, align 4, !tbaa !5
  %10480 = call ptr @s2n_strerror(i32 noundef %10479, ptr noundef @.str.80)
  %10481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10482 = load i32, ptr %10481, align 4, !tbaa !5
  %10483 = call ptr @s2n_strerror_debug(i32 noundef %10482, ptr noundef @.str.80)
  %10484 = call ptr @__errno_location() #12
  %10485 = load i32, ptr %10484, align 4, !tbaa !5
  %10486 = call ptr @strerror(i32 noundef %10485) #11
  %10487 = call ptr @__errno_location() #12
  %10488 = load i32, ptr %10487, align 4, !tbaa !5
  %10489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10476, ptr noundef @.str.78, i32 noundef %10477, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 330, ptr noundef %10480, ptr noundef %10483, ptr noundef %10486, i32 noundef %10488) #11
  br label %10507

10490:                                            ; preds = %10468, %10461
  %10491 = load i32, ptr %240, align 4, !tbaa !5
  %10492 = call ptr @__errno_location() #12
  store i32 %10491, ptr %10492, align 4, !tbaa !5
  %10493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10494 = load i32, ptr @test_count, align 4, !tbaa !5
  %10495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10496 = load i32, ptr %10495, align 4, !tbaa !5
  %10497 = call ptr @s2n_strerror(i32 noundef %10496, ptr noundef @.str.80)
  %10498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10499 = load i32, ptr %10498, align 4, !tbaa !5
  %10500 = call ptr @s2n_strerror_debug(i32 noundef %10499, ptr noundef @.str.80)
  %10501 = call ptr @__errno_location() #12
  %10502 = load i32, ptr %10501, align 4, !tbaa !5
  %10503 = call ptr @strerror(i32 noundef %10502) #11
  %10504 = call ptr @__errno_location() #12
  %10505 = load i32, ptr %10504, align 4, !tbaa !5
  %10506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10493, ptr noundef @.str.81, i32 noundef %10494, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 330, ptr noundef %10497, ptr noundef %10500, ptr noundef %10503, i32 noundef %10505) #11
  br label %10507

10507:                                            ; preds = %10490, %10473
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %10508

10508:                                            ; preds = %10507
  br label %10509

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

10510:                                            ; No predecessors!
  br label %10511

10511:                                            ; preds = %10510
  br label %10512

10512:                                            ; preds = %10511, %10453
  br label %10513

10513:                                            ; preds = %10512
  br label %10514

10514:                                            ; preds = %10513
  call void @llvm.lifetime.end.p0(i64 8, ptr %234) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %226) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %218) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %217) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %214) #11
  call void @llvm.lifetime.end.p0(i64 11, ptr %213) #11
  call void @llvm.lifetime.start.p0(i64 11, ptr %241) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %241, ptr align 1 @__const.main.test_value.197, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %242) #11
  call void @llvm.memset.p0.i64(ptr align 8 %242, i8 0, i64 24, i1 false)
  br label %10515

10515:                                            ; preds = %10514
  %10516 = load i32, ptr @test_count, align 4, !tbaa !5
  %10517 = add nsw i32 %10516, 1
  store i32 %10517, ptr @test_count, align 4, !tbaa !5
  %10518 = getelementptr inbounds [11 x i8], ptr %241, i64 0, i64 0
  %10519 = call i32 @s2n_blob_init(ptr noundef %242, ptr noundef %10518, i32 noundef 11)
  %10520 = icmp eq i32 %10519, -1
  br i1 %10520, label %10521, label %10574

10521:                                            ; preds = %10515
  br label %10522

10522:                                            ; preds = %10521
  br label %10523

10523:                                            ; preds = %10522
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %10524 = call ptr @__errno_location() #12
  %10525 = load i32, ptr %10524, align 4, !tbaa !5
  store i32 %10525, ptr %243, align 4, !tbaa !5
  %10526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10527 = call i32 @s2n_print_stacktrace(ptr noundef %10526)
  %10528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10529 = trunc i8 %10528 to i1
  br i1 %10529, label %10530, label %10552

10530:                                            ; preds = %10523
  %10531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10532 = call i32 @fileno(ptr noundef %10531) #11
  %10533 = call i32 @isatty(i32 noundef %10532) #11
  %10534 = icmp ne i32 %10533, 0
  br i1 %10534, label %10535, label %10552

10535:                                            ; preds = %10530
  %10536 = load i32, ptr %243, 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.80)
  %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.80)
  %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.78, i32 noundef %10539, ptr noundef @.str.198, ptr noundef @.str.77, i32 noundef 338, ptr noundef %10542, ptr noundef %10545, ptr noundef %10548, i32 noundef %10550) #11
  br label %10569

10552:                                            ; preds = %10530, %10523
  %10553 = load i32, ptr %243, align 4, !tbaa !5
  %10554 = call ptr @__errno_location() #12
  store i32 %10553, ptr %10554, align 4, !tbaa !5
  %10555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10556 = load i32, ptr @test_count, align 4, !tbaa !5
  %10557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10558 = load i32, ptr %10557, align 4, !tbaa !5
  %10559 = call ptr @s2n_strerror(i32 noundef %10558, ptr noundef @.str.80)
  %10560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10561 = load i32, ptr %10560, align 4, !tbaa !5
  %10562 = call ptr @s2n_strerror_debug(i32 noundef %10561, ptr noundef @.str.80)
  %10563 = call ptr @__errno_location() #12
  %10564 = load i32, ptr %10563, align 4, !tbaa !5
  %10565 = call ptr @strerror(i32 noundef %10564) #11
  %10566 = call ptr @__errno_location() #12
  %10567 = load i32, ptr %10566, align 4, !tbaa !5
  %10568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10555, ptr noundef @.str.81, i32 noundef %10556, ptr noundef @.str.198, ptr noundef @.str.77, i32 noundef 338, ptr noundef %10559, ptr noundef %10562, ptr noundef %10565, i32 noundef %10567) #11
  br label %10569

10569:                                            ; preds = %10552, %10535
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %10570

10570:                                            ; preds = %10569
  br label %10571

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

10572:                                            ; No predecessors!
  br label %10573

10573:                                            ; preds = %10572
  br label %10574

10574:                                            ; preds = %10573, %10515
  br label %10575

10575:                                            ; preds = %10574
  br label %10576

10576:                                            ; preds = %10575
  call void @llvm.lifetime.start.p0(i64 8, ptr %244) #11
  store ptr null, ptr %244, align 8, !tbaa !9
  br label %10577

10577:                                            ; preds = %10576
  %10578 = load i32, ptr @test_count, align 4, !tbaa !5
  %10579 = add nsw i32 %10578, 1
  store i32 %10579, ptr @test_count, align 4, !tbaa !5
  %10580 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %10580, ptr %244, align 8, !tbaa !9
  %10581 = icmp eq ptr %10580, null
  br i1 %10581, label %10582, label %10635

10582:                                            ; preds = %10577
  br label %10583

10583:                                            ; preds = %10582
  br label %10584

10584:                                            ; preds = %10583
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %10585 = call ptr @__errno_location() #12
  %10586 = load i32, ptr %10585, align 4, !tbaa !5
  store i32 %10586, ptr %245, align 4, !tbaa !5
  %10587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10588 = call i32 @s2n_print_stacktrace(ptr noundef %10587)
  %10589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10590 = trunc i8 %10589 to i1
  br i1 %10590, label %10591, label %10613

10591:                                            ; preds = %10584
  %10592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10593 = call i32 @fileno(ptr noundef %10592) #11
  %10594 = call i32 @isatty(i32 noundef %10593) #11
  %10595 = icmp ne i32 %10594, 0
  br i1 %10595, label %10596, label %10613

10596:                                            ; preds = %10591
  %10597 = load i32, ptr %245, align 4, !tbaa !5
  %10598 = call ptr @__errno_location() #12
  store i32 %10597, ptr %10598, align 4, !tbaa !5
  %10599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10600 = load i32, ptr @test_count, align 4, !tbaa !5
  %10601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10602 = load i32, ptr %10601, align 4, !tbaa !5
  %10603 = call ptr @s2n_strerror(i32 noundef %10602, ptr noundef @.str.80)
  %10604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10605 = load i32, ptr %10604, align 4, !tbaa !5
  %10606 = call ptr @s2n_strerror_debug(i32 noundef %10605, ptr noundef @.str.80)
  %10607 = call ptr @__errno_location() #12
  %10608 = load i32, ptr %10607, align 4, !tbaa !5
  %10609 = call ptr @strerror(i32 noundef %10608) #11
  %10610 = call ptr @__errno_location() #12
  %10611 = load i32, ptr %10610, align 4, !tbaa !5
  %10612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10599, ptr noundef @.str.78, i32 noundef %10600, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 345, ptr noundef %10603, ptr noundef %10606, ptr noundef %10609, i32 noundef %10611) #11
  br label %10630

10613:                                            ; preds = %10591, %10584
  %10614 = load i32, ptr %245, align 4, !tbaa !5
  %10615 = call ptr @__errno_location() #12
  store i32 %10614, ptr %10615, align 4, !tbaa !5
  %10616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10617 = load i32, ptr @test_count, align 4, !tbaa !5
  %10618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10619 = load i32, ptr %10618, align 4, !tbaa !5
  %10620 = call ptr @s2n_strerror(i32 noundef %10619, ptr noundef @.str.80)
  %10621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10622 = load i32, ptr %10621, align 4, !tbaa !5
  %10623 = call ptr @s2n_strerror_debug(i32 noundef %10622, ptr noundef @.str.80)
  %10624 = call ptr @__errno_location() #12
  %10625 = load i32, ptr %10624, align 4, !tbaa !5
  %10626 = call ptr @strerror(i32 noundef %10625) #11
  %10627 = call ptr @__errno_location() #12
  %10628 = load i32, ptr %10627, align 4, !tbaa !5
  %10629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10616, ptr noundef @.str.81, i32 noundef %10617, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 345, ptr noundef %10620, ptr noundef %10623, ptr noundef %10626, i32 noundef %10628) #11
  br label %10630

10630:                                            ; preds = %10613, %10596
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %10631

10631:                                            ; preds = %10630
  br label %10632

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

10633:                                            ; No predecessors!
  br label %10634

10634:                                            ; preds = %10633
  br label %10635

10635:                                            ; preds = %10634, %10577
  br label %10636

10636:                                            ; preds = %10635
  br label %10637

10637:                                            ; preds = %10636
  call void @llvm.lifetime.start.p0(i64 40, ptr %246) #11
  call void @llvm.memset.p0.i64(ptr align 8 %246, i8 0, i64 40, i1 false)
  br label %10638

10638:                                            ; preds = %10637
  %10639 = load i32, ptr @test_count, align 4, !tbaa !5
  %10640 = add nsw i32 %10639, 1
  store i32 %10640, ptr @test_count, align 4, !tbaa !5
  %10641 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %246, i32 noundef 0)
  %10642 = icmp eq i32 %10641, -1
  br i1 %10642, label %10643, label %10696

10643:                                            ; preds = %10638
  br label %10644

10644:                                            ; preds = %10643
  br label %10645

10645:                                            ; preds = %10644
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %10646 = call ptr @__errno_location() #12
  %10647 = load i32, ptr %10646, align 4, !tbaa !5
  store i32 %10647, ptr %247, align 4, !tbaa !5
  %10648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10649 = call i32 @s2n_print_stacktrace(ptr noundef %10648)
  %10650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10651 = trunc i8 %10650 to i1
  br i1 %10651, label %10652, label %10674

10652:                                            ; preds = %10645
  %10653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10654 = call i32 @fileno(ptr noundef %10653) #11
  %10655 = call i32 @isatty(i32 noundef %10654) #11
  %10656 = icmp ne i32 %10655, 0
  br i1 %10656, label %10657, label %10674

10657:                                            ; preds = %10652
  %10658 = load i32, ptr %247, align 4, !tbaa !5
  %10659 = call ptr @__errno_location() #12
  store i32 %10658, ptr %10659, align 4, !tbaa !5
  %10660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10661 = load i32, ptr @test_count, align 4, !tbaa !5
  %10662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10663 = load i32, ptr %10662, align 4, !tbaa !5
  %10664 = call ptr @s2n_strerror(i32 noundef %10663, ptr noundef @.str.80)
  %10665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10666 = load i32, ptr %10665, align 4, !tbaa !5
  %10667 = call ptr @s2n_strerror_debug(i32 noundef %10666, ptr noundef @.str.80)
  %10668 = call ptr @__errno_location() #12
  %10669 = load i32, ptr %10668, align 4, !tbaa !5
  %10670 = call ptr @strerror(i32 noundef %10669) #11
  %10671 = call ptr @__errno_location() #12
  %10672 = load i32, ptr %10671, align 4, !tbaa !5
  %10673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10660, ptr noundef @.str.78, i32 noundef %10661, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 348, ptr noundef %10664, ptr noundef %10667, ptr noundef %10670, i32 noundef %10672) #11
  br label %10691

10674:                                            ; preds = %10652, %10645
  %10675 = load i32, ptr %247, align 4, !tbaa !5
  %10676 = call ptr @__errno_location() #12
  store i32 %10675, ptr %10676, align 4, !tbaa !5
  %10677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10678 = load i32, ptr @test_count, align 4, !tbaa !5
  %10679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10680 = load i32, ptr %10679, align 4, !tbaa !5
  %10681 = call ptr @s2n_strerror(i32 noundef %10680, ptr noundef @.str.80)
  %10682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10683 = load i32, ptr %10682, align 4, !tbaa !5
  %10684 = call ptr @s2n_strerror_debug(i32 noundef %10683, ptr noundef @.str.80)
  %10685 = call ptr @__errno_location() #12
  %10686 = load i32, ptr %10685, align 4, !tbaa !5
  %10687 = call ptr @strerror(i32 noundef %10686) #11
  %10688 = call ptr @__errno_location() #12
  %10689 = load i32, ptr %10688, align 4, !tbaa !5
  %10690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10677, ptr noundef @.str.81, i32 noundef %10678, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 348, ptr noundef %10681, ptr noundef %10684, ptr noundef %10687, i32 noundef %10689) #11
  br label %10691

10691:                                            ; preds = %10674, %10657
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %10692

10692:                                            ; preds = %10691
  br label %10693

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

10694:                                            ; No predecessors!
  br label %10695

10695:                                            ; preds = %10694
  br label %10696

10696:                                            ; preds = %10695, %10638
  br label %10697

10697:                                            ; preds = %10696
  br label %10698

10698:                                            ; preds = %10697
  call void @llvm.lifetime.start.p0(i64 8, ptr %248) #11
  %10699 = load ptr, ptr %244, align 8, !tbaa !9
  %10700 = getelementptr inbounds %struct.s2n_connection, ptr %10699, i32 0, i32 33
  store ptr %10700, ptr %248, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %249) #11
  store ptr null, ptr %249, align 8, !tbaa !9
  br label %10701

10701:                                            ; preds = %10698
  %10702 = load i32, ptr @test_count, align 4, !tbaa !5
  %10703 = add nsw i32 %10702, 1
  store i32 %10703, ptr @test_count, align 4, !tbaa !5
  %10704 = load ptr, ptr %248, align 8, !tbaa !9
  %10705 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %10704, i32 0, i32 1
  %10706 = call i32 @s2n_array_pushback(ptr noundef %10705, ptr noundef %249)
  %10707 = getelementptr inbounds %struct.s2n_result, ptr %250, i32 0, i32 0
  store i32 %10706, ptr %10707, align 4
  %10708 = getelementptr inbounds %struct.s2n_result, ptr %250, i32 0, i32 0
  %10709 = load i32, ptr %10708, align 4
  %10710 = call zeroext i1 @s2n_result_is_ok(i32 %10709)
  br i1 %10710, label %10764, label %10711

10711:                                            ; preds = %10701
  br label %10712

10712:                                            ; preds = %10711
  br label %10713

10713:                                            ; preds = %10712
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %10714 = call ptr @__errno_location() #12
  %10715 = load i32, ptr %10714, align 4, !tbaa !5
  store i32 %10715, ptr %251, align 4, !tbaa !5
  %10716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10717 = call i32 @s2n_print_stacktrace(ptr noundef %10716)
  %10718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10719 = trunc i8 %10718 to i1
  br i1 %10719, label %10720, label %10742

10720:                                            ; preds = %10713
  %10721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10722 = call i32 @fileno(ptr noundef %10721) #11
  %10723 = call i32 @isatty(i32 noundef %10722) #11
  %10724 = icmp ne i32 %10723, 0
  br i1 %10724, label %10725, label %10742

10725:                                            ; preds = %10720
  %10726 = load i32, ptr %251, align 4, !tbaa !5
  %10727 = call ptr @__errno_location() #12
  store i32 %10726, ptr %10727, align 4, !tbaa !5
  %10728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10729 = load i32, ptr @test_count, align 4, !tbaa !5
  %10730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10731 = load i32, ptr %10730, align 4, !tbaa !5
  %10732 = call ptr @s2n_strerror(i32 noundef %10731, ptr noundef @.str.80)
  %10733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10734 = load i32, ptr %10733, align 4, !tbaa !5
  %10735 = call ptr @s2n_strerror_debug(i32 noundef %10734, ptr noundef @.str.80)
  %10736 = call ptr @__errno_location() #12
  %10737 = load i32, ptr %10736, align 4, !tbaa !5
  %10738 = call ptr @strerror(i32 noundef %10737) #11
  %10739 = call ptr @__errno_location() #12
  %10740 = load i32, ptr %10739, align 4, !tbaa !5
  %10741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10728, ptr noundef @.str.78, i32 noundef %10729, ptr noundef @.str.201, ptr noundef @.str.77, i32 noundef 353, ptr noundef %10732, ptr noundef %10735, ptr noundef %10738, i32 noundef %10740) #11
  br label %10759

10742:                                            ; preds = %10720, %10713
  %10743 = load i32, ptr %251, align 4, !tbaa !5
  %10744 = call ptr @__errno_location() #12
  store i32 %10743, ptr %10744, align 4, !tbaa !5
  %10745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10746 = load i32, ptr @test_count, align 4, !tbaa !5
  %10747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10748 = load i32, ptr %10747, align 4, !tbaa !5
  %10749 = call ptr @s2n_strerror(i32 noundef %10748, ptr noundef @.str.80)
  %10750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10751 = load i32, ptr %10750, align 4, !tbaa !5
  %10752 = call ptr @s2n_strerror_debug(i32 noundef %10751, ptr noundef @.str.80)
  %10753 = call ptr @__errno_location() #12
  %10754 = load i32, ptr %10753, align 4, !tbaa !5
  %10755 = call ptr @strerror(i32 noundef %10754) #11
  %10756 = call ptr @__errno_location() #12
  %10757 = load i32, ptr %10756, align 4, !tbaa !5
  %10758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10745, ptr noundef @.str.81, i32 noundef %10746, ptr noundef @.str.201, ptr noundef @.str.77, i32 noundef 353, ptr noundef %10749, ptr noundef %10752, ptr noundef %10755, i32 noundef %10757) #11
  br label %10759

10759:                                            ; preds = %10742, %10725
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %10760

10760:                                            ; preds = %10759
  br label %10761

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

10762:                                            ; No predecessors!
  br label %10763

10763:                                            ; preds = %10762
  br label %10764

10764:                                            ; preds = %10763, %10701
  br label %10765

10765:                                            ; preds = %10764
  br label %10766

10766:                                            ; preds = %10765
  br label %10767

10767:                                            ; preds = %10766
  %10768 = load i32, ptr @test_count, align 4, !tbaa !5
  %10769 = add nsw i32 %10768, 1
  store i32 %10769, ptr @test_count, align 4, !tbaa !5
  %10770 = load ptr, ptr %249, align 8, !tbaa !9
  %10771 = call i32 @s2n_psk_init(ptr noundef %10770, i32 noundef 1)
  %10772 = getelementptr inbounds %struct.s2n_result, ptr %252, i32 0, i32 0
  store i32 %10771, ptr %10772, align 4
  %10773 = getelementptr inbounds %struct.s2n_result, ptr %252, i32 0, i32 0
  %10774 = load i32, ptr %10773, align 4
  %10775 = call zeroext i1 @s2n_result_is_ok(i32 %10774)
  br i1 %10775, label %10829, label %10776

10776:                                            ; preds = %10767
  br label %10777

10777:                                            ; preds = %10776
  br label %10778

10778:                                            ; preds = %10777
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %10779 = call ptr @__errno_location() #12
  %10780 = load i32, ptr %10779, align 4, !tbaa !5
  store i32 %10780, ptr %253, align 4, !tbaa !5
  %10781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10782 = call i32 @s2n_print_stacktrace(ptr noundef %10781)
  %10783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10784 = trunc i8 %10783 to i1
  br i1 %10784, label %10785, label %10807

10785:                                            ; preds = %10778
  %10786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10787 = call i32 @fileno(ptr noundef %10786) #11
  %10788 = call i32 @isatty(i32 noundef %10787) #11
  %10789 = icmp ne i32 %10788, 0
  br i1 %10789, label %10790, label %10807

10790:                                            ; preds = %10785
  %10791 = load i32, ptr %253, align 4, !tbaa !5
  %10792 = call ptr @__errno_location() #12
  store i32 %10791, ptr %10792, align 4, !tbaa !5
  %10793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10794 = load i32, ptr @test_count, align 4, !tbaa !5
  %10795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10796 = load i32, ptr %10795, align 4, !tbaa !5
  %10797 = call ptr @s2n_strerror(i32 noundef %10796, ptr noundef @.str.80)
  %10798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10799 = load i32, ptr %10798, align 4, !tbaa !5
  %10800 = call ptr @s2n_strerror_debug(i32 noundef %10799, ptr noundef @.str.80)
  %10801 = call ptr @__errno_location() #12
  %10802 = load i32, ptr %10801, align 4, !tbaa !5
  %10803 = call ptr @strerror(i32 noundef %10802) #11
  %10804 = call ptr @__errno_location() #12
  %10805 = load i32, ptr %10804, align 4, !tbaa !5
  %10806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10793, ptr noundef @.str.78, i32 noundef %10794, ptr noundef @.str.186, ptr noundef @.str.77, i32 noundef 354, ptr noundef %10797, ptr noundef %10800, ptr noundef %10803, i32 noundef %10805) #11
  br label %10824

10807:                                            ; preds = %10785, %10778
  %10808 = load i32, ptr %253, align 4, !tbaa !5
  %10809 = call ptr @__errno_location() #12
  store i32 %10808, ptr %10809, align 4, !tbaa !5
  %10810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10811 = load i32, ptr @test_count, align 4, !tbaa !5
  %10812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10813 = load i32, ptr %10812, align 4, !tbaa !5
  %10814 = call ptr @s2n_strerror(i32 noundef %10813, ptr noundef @.str.80)
  %10815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10816 = load i32, ptr %10815, align 4, !tbaa !5
  %10817 = call ptr @s2n_strerror_debug(i32 noundef %10816, ptr noundef @.str.80)
  %10818 = call ptr @__errno_location() #12
  %10819 = load i32, ptr %10818, align 4, !tbaa !5
  %10820 = call ptr @strerror(i32 noundef %10819) #11
  %10821 = call ptr @__errno_location() #12
  %10822 = load i32, ptr %10821, align 4, !tbaa !5
  %10823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10810, ptr noundef @.str.81, i32 noundef %10811, ptr noundef @.str.186, ptr noundef @.str.77, i32 noundef 354, ptr noundef %10814, ptr noundef %10817, ptr noundef %10820, i32 noundef %10822) #11
  br label %10824

10824:                                            ; preds = %10807, %10790
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %10825

10825:                                            ; preds = %10824
  br label %10826

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

10827:                                            ; No predecessors!
  br label %10828

10828:                                            ; preds = %10827
  br label %10829

10829:                                            ; preds = %10828, %10767
  br label %10830

10830:                                            ; preds = %10829
  br label %10831

10831:                                            ; preds = %10830
  br label %10832

10832:                                            ; preds = %10831
  %10833 = load i32, ptr @test_count, align 4, !tbaa !5
  %10834 = add nsw i32 %10833, 1
  store i32 %10834, ptr @test_count, align 4, !tbaa !5
  %10835 = load ptr, ptr %249, align 8, !tbaa !9
  %10836 = getelementptr inbounds [11 x i8], ptr %241, i64 0, i64 0
  %10837 = call i32 @s2n_psk_set_secret(ptr noundef %10835, ptr noundef %10836, i16 noundef zeroext 11)
  %10838 = icmp eq i32 %10837, -1
  br i1 %10838, label %10839, label %10892

10839:                                            ; preds = %10832
  br label %10840

10840:                                            ; preds = %10839
  br label %10841

10841:                                            ; preds = %10840
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %10842 = call ptr @__errno_location() #12
  %10843 = load i32, ptr %10842, align 4, !tbaa !5
  store i32 %10843, ptr %254, align 4, !tbaa !5
  %10844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10845 = call i32 @s2n_print_stacktrace(ptr noundef %10844)
  %10846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10847 = trunc i8 %10846 to i1
  br i1 %10847, label %10848, label %10870

10848:                                            ; preds = %10841
  %10849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10850 = call i32 @fileno(ptr noundef %10849) #11
  %10851 = call i32 @isatty(i32 noundef %10850) #11
  %10852 = icmp ne i32 %10851, 0
  br i1 %10852, label %10853, label %10870

10853:                                            ; preds = %10848
  %10854 = load i32, ptr %254, align 4, !tbaa !5
  %10855 = call ptr @__errno_location() #12
  store i32 %10854, ptr %10855, align 4, !tbaa !5
  %10856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10857 = load i32, ptr @test_count, align 4, !tbaa !5
  %10858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10859 = load i32, ptr %10858, align 4, !tbaa !5
  %10860 = call ptr @s2n_strerror(i32 noundef %10859, ptr noundef @.str.80)
  %10861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10862 = load i32, ptr %10861, align 4, !tbaa !5
  %10863 = call ptr @s2n_strerror_debug(i32 noundef %10862, ptr noundef @.str.80)
  %10864 = call ptr @__errno_location() #12
  %10865 = load i32, ptr %10864, align 4, !tbaa !5
  %10866 = call ptr @strerror(i32 noundef %10865) #11
  %10867 = call ptr @__errno_location() #12
  %10868 = load i32, ptr %10867, align 4, !tbaa !5
  %10869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10856, ptr noundef @.str.78, i32 noundef %10857, ptr noundef @.str.202, ptr noundef @.str.77, i32 noundef 355, ptr noundef %10860, ptr noundef %10863, ptr noundef %10866, i32 noundef %10868) #11
  br label %10887

10870:                                            ; preds = %10848, %10841
  %10871 = load i32, ptr %254, align 4, !tbaa !5
  %10872 = call ptr @__errno_location() #12
  store i32 %10871, ptr %10872, align 4, !tbaa !5
  %10873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10874 = load i32, ptr @test_count, align 4, !tbaa !5
  %10875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10876 = load i32, ptr %10875, align 4, !tbaa !5
  %10877 = call ptr @s2n_strerror(i32 noundef %10876, ptr noundef @.str.80)
  %10878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10879 = load i32, ptr %10878, align 4, !tbaa !5
  %10880 = call ptr @s2n_strerror_debug(i32 noundef %10879, ptr noundef @.str.80)
  %10881 = call ptr @__errno_location() #12
  %10882 = load i32, ptr %10881, align 4, !tbaa !5
  %10883 = call ptr @strerror(i32 noundef %10882) #11
  %10884 = call ptr @__errno_location() #12
  %10885 = load i32, ptr %10884, align 4, !tbaa !5
  %10886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10873, ptr noundef @.str.81, i32 noundef %10874, ptr noundef @.str.202, ptr noundef @.str.77, i32 noundef 355, ptr noundef %10877, ptr noundef %10880, ptr noundef %10883, i32 noundef %10885) #11
  br label %10887

10887:                                            ; preds = %10870, %10853
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %10888

10888:                                            ; preds = %10887
  br label %10889

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

10890:                                            ; No predecessors!
  br label %10891

10891:                                            ; preds = %10890
  br label %10892

10892:                                            ; preds = %10891, %10832
  br label %10893

10893:                                            ; preds = %10892
  br label %10894

10894:                                            ; preds = %10893
  call void @llvm.lifetime.start.p0(i64 8, ptr %255) #11
  store ptr null, ptr %255, align 8, !tbaa !9
  br label %10895

10895:                                            ; preds = %10894
  %10896 = load i32, ptr @test_count, align 4, !tbaa !5
  %10897 = add nsw i32 %10896, 1
  store i32 %10897, ptr @test_count, align 4, !tbaa !5
  %10898 = load ptr, ptr %248, align 8, !tbaa !9
  %10899 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %10898, i32 0, i32 1
  %10900 = call i32 @s2n_array_pushback(ptr noundef %10899, ptr noundef %255)
  %10901 = getelementptr inbounds %struct.s2n_result, ptr %256, i32 0, i32 0
  store i32 %10900, ptr %10901, align 4
  %10902 = getelementptr inbounds %struct.s2n_result, ptr %256, i32 0, i32 0
  %10903 = load i32, ptr %10902, align 4
  %10904 = call zeroext i1 @s2n_result_is_ok(i32 %10903)
  br i1 %10904, label %10958, label %10905

10905:                                            ; preds = %10895
  br label %10906

10906:                                            ; preds = %10905
  br label %10907

10907:                                            ; preds = %10906
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %10908 = call ptr @__errno_location() #12
  %10909 = load i32, ptr %10908, align 4, !tbaa !5
  store i32 %10909, ptr %257, align 4, !tbaa !5
  %10910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10911 = call i32 @s2n_print_stacktrace(ptr noundef %10910)
  %10912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10913 = trunc i8 %10912 to i1
  br i1 %10913, label %10914, label %10936

10914:                                            ; preds = %10907
  %10915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10916 = call i32 @fileno(ptr noundef %10915) #11
  %10917 = call i32 @isatty(i32 noundef %10916) #11
  %10918 = icmp ne i32 %10917, 0
  br i1 %10918, label %10919, label %10936

10919:                                            ; preds = %10914
  %10920 = load i32, ptr %257, align 4, !tbaa !5
  %10921 = call ptr @__errno_location() #12
  store i32 %10920, ptr %10921, align 4, !tbaa !5
  %10922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10923 = load i32, ptr @test_count, align 4, !tbaa !5
  %10924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10925 = load i32, ptr %10924, align 4, !tbaa !5
  %10926 = call ptr @s2n_strerror(i32 noundef %10925, ptr noundef @.str.80)
  %10927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10928 = load i32, ptr %10927, align 4, !tbaa !5
  %10929 = call ptr @s2n_strerror_debug(i32 noundef %10928, ptr noundef @.str.80)
  %10930 = call ptr @__errno_location() #12
  %10931 = load i32, ptr %10930, align 4, !tbaa !5
  %10932 = call ptr @strerror(i32 noundef %10931) #11
  %10933 = call ptr @__errno_location() #12
  %10934 = load i32, ptr %10933, align 4, !tbaa !5
  %10935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10922, ptr noundef @.str.78, i32 noundef %10923, ptr noundef @.str.203, ptr noundef @.str.77, i32 noundef 358, ptr noundef %10926, ptr noundef %10929, ptr noundef %10932, i32 noundef %10934) #11
  br label %10953

10936:                                            ; preds = %10914, %10907
  %10937 = load i32, ptr %257, align 4, !tbaa !5
  %10938 = call ptr @__errno_location() #12
  store i32 %10937, ptr %10938, align 4, !tbaa !5
  %10939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10940 = load i32, ptr @test_count, align 4, !tbaa !5
  %10941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10942 = load i32, ptr %10941, align 4, !tbaa !5
  %10943 = call ptr @s2n_strerror(i32 noundef %10942, ptr noundef @.str.80)
  %10944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10945 = load i32, ptr %10944, align 4, !tbaa !5
  %10946 = call ptr @s2n_strerror_debug(i32 noundef %10945, ptr noundef @.str.80)
  %10947 = call ptr @__errno_location() #12
  %10948 = load i32, ptr %10947, align 4, !tbaa !5
  %10949 = call ptr @strerror(i32 noundef %10948) #11
  %10950 = call ptr @__errno_location() #12
  %10951 = load i32, ptr %10950, align 4, !tbaa !5
  %10952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10939, ptr noundef @.str.81, i32 noundef %10940, ptr noundef @.str.203, ptr noundef @.str.77, i32 noundef 358, ptr noundef %10943, ptr noundef %10946, ptr noundef %10949, i32 noundef %10951) #11
  br label %10953

10953:                                            ; preds = %10936, %10919
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %10954

10954:                                            ; preds = %10953
  br label %10955

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

10956:                                            ; No predecessors!
  br label %10957

10957:                                            ; preds = %10956
  br label %10958

10958:                                            ; preds = %10957, %10895
  br label %10959

10959:                                            ; preds = %10958
  br label %10960

10960:                                            ; preds = %10959
  br label %10961

10961:                                            ; preds = %10960
  %10962 = load i32, ptr @test_count, align 4, !tbaa !5
  %10963 = add nsw i32 %10962, 1
  store i32 %10963, ptr @test_count, align 4, !tbaa !5
  %10964 = load ptr, ptr %255, align 8, !tbaa !9
  %10965 = call i32 @s2n_psk_init(ptr noundef %10964, i32 noundef 1)
  %10966 = getelementptr inbounds %struct.s2n_result, ptr %258, i32 0, i32 0
  store i32 %10965, ptr %10966, align 4
  %10967 = getelementptr inbounds %struct.s2n_result, ptr %258, i32 0, i32 0
  %10968 = load i32, ptr %10967, align 4
  %10969 = call zeroext i1 @s2n_result_is_ok(i32 %10968)
  br i1 %10969, label %11023, label %10970

10970:                                            ; preds = %10961
  br label %10971

10971:                                            ; preds = %10970
  br label %10972

10972:                                            ; preds = %10971
  call void @llvm.lifetime.start.p0(i64 4, ptr %259) #11
  %10973 = call ptr @__errno_location() #12
  %10974 = load i32, ptr %10973, align 4, !tbaa !5
  store i32 %10974, ptr %259, align 4, !tbaa !5
  %10975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10976 = call i32 @s2n_print_stacktrace(ptr noundef %10975)
  %10977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10978 = trunc i8 %10977 to i1
  br i1 %10978, label %10979, label %11001

10979:                                            ; preds = %10972
  %10980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10981 = call i32 @fileno(ptr noundef %10980) #11
  %10982 = call i32 @isatty(i32 noundef %10981) #11
  %10983 = icmp ne i32 %10982, 0
  br i1 %10983, label %10984, label %11001

10984:                                            ; preds = %10979
  %10985 = load i32, ptr %259, align 4, !tbaa !5
  %10986 = call ptr @__errno_location() #12
  store i32 %10985, ptr %10986, align 4, !tbaa !5
  %10987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10988 = load i32, ptr @test_count, align 4, !tbaa !5
  %10989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10990 = load i32, ptr %10989, align 4, !tbaa !5
  %10991 = call ptr @s2n_strerror(i32 noundef %10990, ptr noundef @.str.80)
  %10992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10993 = load i32, ptr %10992, align 4, !tbaa !5
  %10994 = call ptr @s2n_strerror_debug(i32 noundef %10993, ptr noundef @.str.80)
  %10995 = call ptr @__errno_location() #12
  %10996 = load i32, ptr %10995, align 4, !tbaa !5
  %10997 = call ptr @strerror(i32 noundef %10996) #11
  %10998 = call ptr @__errno_location() #12
  %10999 = load i32, ptr %10998, align 4, !tbaa !5
  %11000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10987, ptr noundef @.str.78, i32 noundef %10988, ptr noundef @.str.191, ptr noundef @.str.77, i32 noundef 359, ptr noundef %10991, ptr noundef %10994, ptr noundef %10997, i32 noundef %10999) #11
  br label %11018

11001:                                            ; preds = %10979, %10972
  %11002 = load i32, ptr %259, align 4, !tbaa !5
  %11003 = call ptr @__errno_location() #12
  store i32 %11002, ptr %11003, align 4, !tbaa !5
  %11004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11005 = load i32, ptr @test_count, align 4, !tbaa !5
  %11006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11007 = load i32, ptr %11006, align 4, !tbaa !5
  %11008 = call ptr @s2n_strerror(i32 noundef %11007, ptr noundef @.str.80)
  %11009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11010 = load i32, ptr %11009, align 4, !tbaa !5
  %11011 = call ptr @s2n_strerror_debug(i32 noundef %11010, ptr noundef @.str.80)
  %11012 = call ptr @__errno_location() #12
  %11013 = load i32, ptr %11012, align 4, !tbaa !5
  %11014 = call ptr @strerror(i32 noundef %11013) #11
  %11015 = call ptr @__errno_location() #12
  %11016 = load i32, ptr %11015, align 4, !tbaa !5
  %11017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11004, ptr noundef @.str.81, i32 noundef %11005, ptr noundef @.str.191, ptr noundef @.str.77, i32 noundef 359, ptr noundef %11008, ptr noundef %11011, ptr noundef %11014, i32 noundef %11016) #11
  br label %11018

11018:                                            ; preds = %11001, %10984
  call void @llvm.lifetime.end.p0(i64 4, ptr %259) #11
  br label %11019

11019:                                            ; preds = %11018
  br label %11020

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

11021:                                            ; No predecessors!
  br label %11022

11022:                                            ; preds = %11021
  br label %11023

11023:                                            ; preds = %11022, %10961
  br label %11024

11024:                                            ; preds = %11023
  br label %11025

11025:                                            ; preds = %11024
  br label %11026

11026:                                            ; preds = %11025
  %11027 = load i32, ptr @test_count, align 4, !tbaa !5
  %11028 = add nsw i32 %11027, 1
  store i32 %11028, ptr @test_count, align 4, !tbaa !5
  %11029 = load ptr, ptr %255, align 8, !tbaa !9
  %11030 = getelementptr inbounds [11 x i8], ptr %241, i64 0, i64 0
  %11031 = call i32 @s2n_psk_set_secret(ptr noundef %11029, ptr noundef %11030, i16 noundef zeroext 11)
  %11032 = icmp eq i32 %11031, -1
  br i1 %11032, label %11033, label %11086

11033:                                            ; preds = %11026
  br label %11034

11034:                                            ; preds = %11033
  br label %11035

11035:                                            ; preds = %11034
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %11036 = call ptr @__errno_location() #12
  %11037 = load i32, ptr %11036, align 4, !tbaa !5
  store i32 %11037, ptr %260, align 4, !tbaa !5
  %11038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11039 = call i32 @s2n_print_stacktrace(ptr noundef %11038)
  %11040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11041 = trunc i8 %11040 to i1
  br i1 %11041, label %11042, label %11064

11042:                                            ; preds = %11035
  %11043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11044 = call i32 @fileno(ptr noundef %11043) #11
  %11045 = call i32 @isatty(i32 noundef %11044) #11
  %11046 = icmp ne i32 %11045, 0
  br i1 %11046, label %11047, label %11064

11047:                                            ; preds = %11042
  %11048 = load i32, ptr %260, align 4, !tbaa !5
  %11049 = call ptr @__errno_location() #12
  store i32 %11048, ptr %11049, align 4, !tbaa !5
  %11050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11051 = load i32, ptr @test_count, align 4, !tbaa !5
  %11052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11053 = load i32, ptr %11052, align 4, !tbaa !5
  %11054 = call ptr @s2n_strerror(i32 noundef %11053, ptr noundef @.str.80)
  %11055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11056 = load i32, ptr %11055, align 4, !tbaa !5
  %11057 = call ptr @s2n_strerror_debug(i32 noundef %11056, ptr noundef @.str.80)
  %11058 = call ptr @__errno_location() #12
  %11059 = load i32, ptr %11058, align 4, !tbaa !5
  %11060 = call ptr @strerror(i32 noundef %11059) #11
  %11061 = call ptr @__errno_location() #12
  %11062 = load i32, ptr %11061, align 4, !tbaa !5
  %11063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11050, ptr noundef @.str.78, i32 noundef %11051, ptr noundef @.str.204, ptr noundef @.str.77, i32 noundef 360, ptr noundef %11054, ptr noundef %11057, ptr noundef %11060, i32 noundef %11062) #11
  br label %11081

11064:                                            ; preds = %11042, %11035
  %11065 = load i32, ptr %260, align 4, !tbaa !5
  %11066 = call ptr @__errno_location() #12
  store i32 %11065, ptr %11066, align 4, !tbaa !5
  %11067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11068 = load i32, ptr @test_count, align 4, !tbaa !5
  %11069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11070 = load i32, ptr %11069, align 4, !tbaa !5
  %11071 = call ptr @s2n_strerror(i32 noundef %11070, ptr noundef @.str.80)
  %11072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11073 = load i32, ptr %11072, align 4, !tbaa !5
  %11074 = call ptr @s2n_strerror_debug(i32 noundef %11073, ptr noundef @.str.80)
  %11075 = call ptr @__errno_location() #12
  %11076 = load i32, ptr %11075, align 4, !tbaa !5
  %11077 = call ptr @strerror(i32 noundef %11076) #11
  %11078 = call ptr @__errno_location() #12
  %11079 = load i32, ptr %11078, align 4, !tbaa !5
  %11080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11067, ptr noundef @.str.81, i32 noundef %11068, ptr noundef @.str.204, ptr noundef @.str.77, i32 noundef 360, ptr noundef %11071, ptr noundef %11074, ptr noundef %11077, i32 noundef %11079) #11
  br label %11081

11081:                                            ; preds = %11064, %11047
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %11082

11082:                                            ; preds = %11081
  br label %11083

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

11084:                                            ; No predecessors!
  br label %11085

11085:                                            ; preds = %11084
  br label %11086

11086:                                            ; preds = %11085, %11026
  br label %11087

11087:                                            ; preds = %11086
  br label %11088

11088:                                            ; preds = %11087
  br label %11089

11089:                                            ; preds = %11088
  %11090 = load i32, ptr @test_count, align 4, !tbaa !5
  %11091 = add nsw i32 %11090, 1
  store i32 %11091, ptr @test_count, align 4, !tbaa !5
  %11092 = load ptr, ptr %244, align 8, !tbaa !9
  %11093 = call i32 @s2n_psk_write_binder_list(ptr noundef %11092, ptr noundef %242, ptr noundef %246)
  %11094 = getelementptr inbounds %struct.s2n_result, ptr %261, i32 0, i32 0
  store i32 %11093, ptr %11094, align 4
  %11095 = getelementptr inbounds %struct.s2n_result, ptr %261, i32 0, i32 0
  %11096 = load i32, ptr %11095, align 4
  %11097 = call zeroext i1 @s2n_result_is_ok(i32 %11096)
  br i1 %11097, label %11151, label %11098

11098:                                            ; preds = %11089
  br label %11099

11099:                                            ; preds = %11098
  br label %11100

11100:                                            ; preds = %11099
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %11101 = call ptr @__errno_location() #12
  %11102 = load i32, ptr %11101, align 4, !tbaa !5
  store i32 %11102, ptr %262, align 4, !tbaa !5
  %11103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11104 = call i32 @s2n_print_stacktrace(ptr noundef %11103)
  %11105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11106 = trunc i8 %11105 to i1
  br i1 %11106, label %11107, label %11129

11107:                                            ; preds = %11100
  %11108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11109 = call i32 @fileno(ptr noundef %11108) #11
  %11110 = call i32 @isatty(i32 noundef %11109) #11
  %11111 = icmp ne i32 %11110, 0
  br i1 %11111, label %11112, label %11129

11112:                                            ; preds = %11107
  %11113 = load i32, ptr %262, align 4, !tbaa !5
  %11114 = call ptr @__errno_location() #12
  store i32 %11113, ptr %11114, align 4, !tbaa !5
  %11115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11116 = load i32, ptr @test_count, align 4, !tbaa !5
  %11117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11118 = load i32, ptr %11117, align 4, !tbaa !5
  %11119 = call ptr @s2n_strerror(i32 noundef %11118, ptr noundef @.str.80)
  %11120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11121 = load i32, ptr %11120, align 4, !tbaa !5
  %11122 = call ptr @s2n_strerror_debug(i32 noundef %11121, ptr noundef @.str.80)
  %11123 = call ptr @__errno_location() #12
  %11124 = load i32, ptr %11123, align 4, !tbaa !5
  %11125 = call ptr @strerror(i32 noundef %11124) #11
  %11126 = call ptr @__errno_location() #12
  %11127 = load i32, ptr %11126, align 4, !tbaa !5
  %11128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11115, ptr noundef @.str.78, i32 noundef %11116, ptr noundef @.str.205, ptr noundef @.str.77, i32 noundef 362, ptr noundef %11119, ptr noundef %11122, ptr noundef %11125, i32 noundef %11127) #11
  br label %11146

11129:                                            ; preds = %11107, %11100
  %11130 = load i32, ptr %262, align 4, !tbaa !5
  %11131 = call ptr @__errno_location() #12
  store i32 %11130, ptr %11131, align 4, !tbaa !5
  %11132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11133 = load i32, ptr @test_count, align 4, !tbaa !5
  %11134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11135 = load i32, ptr %11134, align 4, !tbaa !5
  %11136 = call ptr @s2n_strerror(i32 noundef %11135, ptr noundef @.str.80)
  %11137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11138 = load i32, ptr %11137, align 4, !tbaa !5
  %11139 = call ptr @s2n_strerror_debug(i32 noundef %11138, ptr noundef @.str.80)
  %11140 = call ptr @__errno_location() #12
  %11141 = load i32, ptr %11140, align 4, !tbaa !5
  %11142 = call ptr @strerror(i32 noundef %11141) #11
  %11143 = call ptr @__errno_location() #12
  %11144 = load i32, ptr %11143, align 4, !tbaa !5
  %11145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11132, ptr noundef @.str.81, i32 noundef %11133, ptr noundef @.str.205, ptr noundef @.str.77, i32 noundef 362, ptr noundef %11136, ptr noundef %11139, ptr noundef %11142, i32 noundef %11144) #11
  br label %11146

11146:                                            ; preds = %11129, %11112
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %11147

11147:                                            ; preds = %11146
  br label %11148

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

11149:                                            ; No predecessors!
  br label %11150

11150:                                            ; preds = %11149
  br label %11151

11151:                                            ; preds = %11150, %11089
  br label %11152

11152:                                            ; preds = %11151
  br label %11153

11153:                                            ; preds = %11152
  call void @llvm.lifetime.start.p0(i64 2, ptr %263) #11
  store i16 0, ptr %263, align 2, !tbaa !66
  br label %11154

11154:                                            ; preds = %11153
  %11155 = load i32, ptr @test_count, align 4, !tbaa !5
  %11156 = add nsw i32 %11155, 1
  store i32 %11156, ptr @test_count, align 4, !tbaa !5
  %11157 = call i32 @s2n_stuffer_read_uint16(ptr noundef %246, ptr noundef %263)
  %11158 = icmp eq i32 %11157, -1
  br i1 %11158, label %11159, label %11212

11159:                                            ; preds = %11154
  br label %11160

11160:                                            ; preds = %11159
  br label %11161

11161:                                            ; preds = %11160
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #11
  %11162 = call ptr @__errno_location() #12
  %11163 = load i32, ptr %11162, align 4, !tbaa !5
  store i32 %11163, ptr %264, align 4, !tbaa !5
  %11164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11165 = call i32 @s2n_print_stacktrace(ptr noundef %11164)
  %11166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11167 = trunc i8 %11166 to i1
  br i1 %11167, label %11168, label %11190

11168:                                            ; preds = %11161
  %11169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11170 = call i32 @fileno(ptr noundef %11169) #11
  %11171 = call i32 @isatty(i32 noundef %11170) #11
  %11172 = icmp ne i32 %11171, 0
  br i1 %11172, label %11173, label %11190

11173:                                            ; preds = %11168
  %11174 = load i32, ptr %264, align 4, !tbaa !5
  %11175 = call ptr @__errno_location() #12
  store i32 %11174, ptr %11175, align 4, !tbaa !5
  %11176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11177 = load i32, ptr @test_count, align 4, !tbaa !5
  %11178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11179 = load i32, ptr %11178, align 4, !tbaa !5
  %11180 = call ptr @s2n_strerror(i32 noundef %11179, ptr noundef @.str.80)
  %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_debug(i32 noundef %11182, ptr noundef @.str.80)
  %11184 = call ptr @__errno_location() #12
  %11185 = load i32, ptr %11184, align 4, !tbaa !5
  %11186 = call ptr @strerror(i32 noundef %11185) #11
  %11187 = call ptr @__errno_location() #12
  %11188 = load i32, ptr %11187, align 4, !tbaa !5
  %11189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11176, ptr noundef @.str.78, i32 noundef %11177, ptr noundef @.str.206, ptr noundef @.str.77, i32 noundef 365, ptr noundef %11180, ptr noundef %11183, ptr noundef %11186, i32 noundef %11188) #11
  br label %11207

11190:                                            ; preds = %11168, %11161
  %11191 = load i32, ptr %264, align 4, !tbaa !5
  %11192 = call ptr @__errno_location() #12
  store i32 %11191, ptr %11192, align 4, !tbaa !5
  %11193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11194 = load i32, ptr @test_count, align 4, !tbaa !5
  %11195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11196 = load i32, ptr %11195, align 4, !tbaa !5
  %11197 = call ptr @s2n_strerror(i32 noundef %11196, ptr noundef @.str.80)
  %11198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11199 = load i32, ptr %11198, align 4, !tbaa !5
  %11200 = call ptr @s2n_strerror_debug(i32 noundef %11199, ptr noundef @.str.80)
  %11201 = call ptr @__errno_location() #12
  %11202 = load i32, ptr %11201, align 4, !tbaa !5
  %11203 = call ptr @strerror(i32 noundef %11202) #11
  %11204 = call ptr @__errno_location() #12
  %11205 = load i32, ptr %11204, align 4, !tbaa !5
  %11206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11193, ptr noundef @.str.81, i32 noundef %11194, ptr noundef @.str.206, ptr noundef @.str.77, i32 noundef 365, ptr noundef %11197, ptr noundef %11200, ptr noundef %11203, i32 noundef %11205) #11
  br label %11207

11207:                                            ; preds = %11190, %11173
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #11
  br label %11208

11208:                                            ; preds = %11207
  br label %11209

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

11210:                                            ; No predecessors!
  br label %11211

11211:                                            ; preds = %11210
  br label %11212

11212:                                            ; preds = %11211, %11154
  br label %11213

11213:                                            ; preds = %11212
  br label %11214

11214:                                            ; preds = %11213
  br label %11215

11215:                                            ; preds = %11214
  %11216 = load i32, ptr @test_count, align 4, !tbaa !5
  %11217 = add nsw i32 %11216, 1
  store i32 %11217, ptr @test_count, align 4, !tbaa !5
  %11218 = load i16, ptr %263, align 2, !tbaa !66
  %11219 = zext i16 %11218 to i32
  %11220 = getelementptr inbounds %struct.s2n_stuffer, ptr %246, i32 0, i32 2
  %11221 = load i32, ptr %11220, align 4, !tbaa !67
  %11222 = getelementptr inbounds %struct.s2n_stuffer, ptr %246, i32 0, i32 1
  %11223 = load i32, ptr %11222, align 8, !tbaa !68
  %11224 = sub i32 %11221, %11223
  %11225 = icmp eq i32 %11219, %11224
  br i1 %11225, label %11279, label %11226

11226:                                            ; preds = %11215
  br label %11227

11227:                                            ; preds = %11226
  br label %11228

11228:                                            ; preds = %11227
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %11229 = call ptr @__errno_location() #12
  %11230 = load i32, ptr %11229, align 4, !tbaa !5
  store i32 %11230, ptr %265, align 4, !tbaa !5
  %11231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11232 = call i32 @s2n_print_stacktrace(ptr noundef %11231)
  %11233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11234 = trunc i8 %11233 to i1
  br i1 %11234, label %11235, label %11257

11235:                                            ; preds = %11228
  %11236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11237 = call i32 @fileno(ptr noundef %11236) #11
  %11238 = call i32 @isatty(i32 noundef %11237) #11
  %11239 = icmp ne i32 %11238, 0
  br i1 %11239, label %11240, label %11257

11240:                                            ; preds = %11235
  %11241 = load i32, ptr %265, align 4, !tbaa !5
  %11242 = call ptr @__errno_location() #12
  store i32 %11241, ptr %11242, align 4, !tbaa !5
  %11243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11244 = load i32, ptr @test_count, align 4, !tbaa !5
  %11245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11246 = load i32, ptr %11245, align 4, !tbaa !5
  %11247 = call ptr @s2n_strerror(i32 noundef %11246, ptr noundef @.str.80)
  %11248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11249 = load i32, ptr %11248, align 4, !tbaa !5
  %11250 = call ptr @s2n_strerror_debug(i32 noundef %11249, ptr noundef @.str.80)
  %11251 = call ptr @__errno_location() #12
  %11252 = load i32, ptr %11251, align 4, !tbaa !5
  %11253 = call ptr @strerror(i32 noundef %11252) #11
  %11254 = call ptr @__errno_location() #12
  %11255 = load i32, ptr %11254, align 4, !tbaa !5
  %11256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11243, ptr noundef @.str.78, i32 noundef %11244, ptr noundef @.str.207, ptr noundef @.str.77, i32 noundef 366, ptr noundef %11247, ptr noundef %11250, ptr noundef %11253, i32 noundef %11255) #11
  br label %11274

11257:                                            ; preds = %11235, %11228
  %11258 = load i32, ptr %265, align 4, !tbaa !5
  %11259 = call ptr @__errno_location() #12
  store i32 %11258, ptr %11259, align 4, !tbaa !5
  %11260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11261 = load i32, ptr @test_count, align 4, !tbaa !5
  %11262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11263 = load i32, ptr %11262, align 4, !tbaa !5
  %11264 = call ptr @s2n_strerror(i32 noundef %11263, ptr noundef @.str.80)
  %11265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11266 = load i32, ptr %11265, align 4, !tbaa !5
  %11267 = call ptr @s2n_strerror_debug(i32 noundef %11266, ptr noundef @.str.80)
  %11268 = call ptr @__errno_location() #12
  %11269 = load i32, ptr %11268, align 4, !tbaa !5
  %11270 = call ptr @strerror(i32 noundef %11269) #11
  %11271 = call ptr @__errno_location() #12
  %11272 = load i32, ptr %11271, align 4, !tbaa !5
  %11273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11260, ptr noundef @.str.81, i32 noundef %11261, ptr noundef @.str.207, ptr noundef @.str.77, i32 noundef 366, ptr noundef %11264, ptr noundef %11267, ptr noundef %11270, i32 noundef %11272) #11
  br label %11274

11274:                                            ; preds = %11257, %11240
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %11275

11275:                                            ; preds = %11274
  br label %11276

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

11277:                                            ; No predecessors!
  br label %11278

11278:                                            ; preds = %11277
  br label %11279

11279:                                            ; preds = %11278, %11215
  br label %11280

11280:                                            ; preds = %11279
  br label %11281

11281:                                            ; preds = %11280
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  store i32 0, ptr %266, align 4, !tbaa !5
  br label %11282

11282:                                            ; preds = %11411, %11281
  %11283 = load i32, ptr %266, align 4, !tbaa !5
  %11284 = icmp slt i32 %11283, 2
  br i1 %11284, label %11286, label %11285

11285:                                            ; preds = %11282
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %11414

11286:                                            ; preds = %11282
  call void @llvm.lifetime.start.p0(i64 1, ptr %267) #11
  store i8 0, ptr %267, align 1, !tbaa !26
  br label %11287

11287:                                            ; preds = %11286
  %11288 = load i32, ptr @test_count, align 4, !tbaa !5
  %11289 = add nsw i32 %11288, 1
  store i32 %11289, ptr @test_count, align 4, !tbaa !5
  %11290 = call i32 @s2n_stuffer_read_uint8(ptr noundef %246, ptr noundef %267)
  %11291 = icmp eq i32 %11290, -1
  br i1 %11291, label %11292, label %11345

11292:                                            ; preds = %11287
  br label %11293

11293:                                            ; preds = %11292
  br label %11294

11294:                                            ; preds = %11293
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #11
  %11295 = call ptr @__errno_location() #12
  %11296 = load i32, ptr %11295, align 4, !tbaa !5
  store i32 %11296, ptr %268, align 4, !tbaa !5
  %11297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11298 = call i32 @s2n_print_stacktrace(ptr noundef %11297)
  %11299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11300 = trunc i8 %11299 to i1
  br i1 %11300, label %11301, label %11323

11301:                                            ; preds = %11294
  %11302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11303 = call i32 @fileno(ptr noundef %11302) #11
  %11304 = call i32 @isatty(i32 noundef %11303) #11
  %11305 = icmp ne i32 %11304, 0
  br i1 %11305, label %11306, label %11323

11306:                                            ; preds = %11301
  %11307 = load i32, ptr %268, align 4, !tbaa !5
  %11308 = call ptr @__errno_location() #12
  store i32 %11307, ptr %11308, align 4, !tbaa !5
  %11309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11310 = load i32, ptr @test_count, align 4, !tbaa !5
  %11311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11312 = load i32, ptr %11311, align 4, !tbaa !5
  %11313 = call ptr @s2n_strerror(i32 noundef %11312, ptr noundef @.str.80)
  %11314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11315 = load i32, ptr %11314, align 4, !tbaa !5
  %11316 = call ptr @s2n_strerror_debug(i32 noundef %11315, ptr noundef @.str.80)
  %11317 = call ptr @__errno_location() #12
  %11318 = load i32, ptr %11317, align 4, !tbaa !5
  %11319 = call ptr @strerror(i32 noundef %11318) #11
  %11320 = call ptr @__errno_location() #12
  %11321 = load i32, ptr %11320, align 4, !tbaa !5
  %11322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11309, ptr noundef @.str.78, i32 noundef %11310, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 371, ptr noundef %11313, ptr noundef %11316, ptr noundef %11319, i32 noundef %11321) #11
  br label %11340

11323:                                            ; preds = %11301, %11294
  %11324 = load i32, ptr %268, align 4, !tbaa !5
  %11325 = call ptr @__errno_location() #12
  store i32 %11324, ptr %11325, align 4, !tbaa !5
  %11326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11327 = load i32, ptr @test_count, align 4, !tbaa !5
  %11328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11329 = load i32, ptr %11328, align 4, !tbaa !5
  %11330 = call ptr @s2n_strerror(i32 noundef %11329, ptr noundef @.str.80)
  %11331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11332 = load i32, ptr %11331, align 4, !tbaa !5
  %11333 = call ptr @s2n_strerror_debug(i32 noundef %11332, ptr noundef @.str.80)
  %11334 = call ptr @__errno_location() #12
  %11335 = load i32, ptr %11334, align 4, !tbaa !5
  %11336 = call ptr @strerror(i32 noundef %11335) #11
  %11337 = call ptr @__errno_location() #12
  %11338 = load i32, ptr %11337, align 4, !tbaa !5
  %11339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11326, ptr noundef @.str.81, i32 noundef %11327, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 371, ptr noundef %11330, ptr noundef %11333, ptr noundef %11336, i32 noundef %11338) #11
  br label %11340

11340:                                            ; preds = %11323, %11306
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #11
  br label %11341

11341:                                            ; preds = %11340
  br label %11342

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

11343:                                            ; No predecessors!
  br label %11344

11344:                                            ; preds = %11343
  br label %11345

11345:                                            ; preds = %11344, %11287
  br label %11346

11346:                                            ; preds = %11345
  br label %11347

11347:                                            ; preds = %11346
  br label %11348

11348:                                            ; preds = %11347
  %11349 = load i32, ptr @test_count, align 4, !tbaa !5
  %11350 = add nsw i32 %11349, 1
  store i32 %11350, ptr @test_count, align 4, !tbaa !5
  %11351 = load i8, ptr %267, align 1, !tbaa !26
  %11352 = zext i8 %11351 to i32
  %11353 = call i32 @s2n_stuffer_skip_read(ptr noundef %246, i32 noundef %11352)
  %11354 = icmp eq i32 %11353, -1
  br i1 %11354, label %11355, label %11408

11355:                                            ; preds = %11348
  br label %11356

11356:                                            ; preds = %11355
  br label %11357

11357:                                            ; preds = %11356
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %11358 = call ptr @__errno_location() #12
  %11359 = load i32, ptr %11358, align 4, !tbaa !5
  store i32 %11359, ptr %269, align 4, !tbaa !5
  %11360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11361 = call i32 @s2n_print_stacktrace(ptr noundef %11360)
  %11362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11363 = trunc i8 %11362 to i1
  br i1 %11363, label %11364, label %11386

11364:                                            ; preds = %11357
  %11365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11366 = call i32 @fileno(ptr noundef %11365) #11
  %11367 = call i32 @isatty(i32 noundef %11366) #11
  %11368 = icmp ne i32 %11367, 0
  br i1 %11368, label %11369, label %11386

11369:                                            ; preds = %11364
  %11370 = load i32, ptr %269, align 4, !tbaa !5
  %11371 = call ptr @__errno_location() #12
  store i32 %11370, ptr %11371, align 4, !tbaa !5
  %11372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11373 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %11375, ptr noundef @.str.80)
  %11377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11378 = load i32, ptr %11377, align 4, !tbaa !5
  %11379 = call ptr @s2n_strerror_debug(i32 noundef %11378, ptr noundef @.str.80)
  %11380 = call ptr @__errno_location() #12
  %11381 = load i32, ptr %11380, align 4, !tbaa !5
  %11382 = call ptr @strerror(i32 noundef %11381) #11
  %11383 = call ptr @__errno_location() #12
  %11384 = load i32, ptr %11383, align 4, !tbaa !5
  %11385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11372, ptr noundef @.str.78, i32 noundef %11373, ptr noundef @.str.209, ptr noundef @.str.77, i32 noundef 372, ptr noundef %11376, ptr noundef %11379, ptr noundef %11382, i32 noundef %11384) #11
  br label %11403

11386:                                            ; preds = %11364, %11357
  %11387 = load i32, ptr %269, align 4, !tbaa !5
  %11388 = call ptr @__errno_location() #12
  store i32 %11387, ptr %11388, align 4, !tbaa !5
  %11389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11390 = load i32, ptr @test_count, align 4, !tbaa !5
  %11391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11392 = load i32, ptr %11391, align 4, !tbaa !5
  %11393 = call ptr @s2n_strerror(i32 noundef %11392, ptr noundef @.str.80)
  %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.80)
  %11397 = call ptr @__errno_location() #12
  %11398 = load i32, ptr %11397, align 4, !tbaa !5
  %11399 = call ptr @strerror(i32 noundef %11398) #11
  %11400 = call ptr @__errno_location() #12
  %11401 = load i32, ptr %11400, align 4, !tbaa !5
  %11402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11389, ptr noundef @.str.81, i32 noundef %11390, ptr noundef @.str.209, ptr noundef @.str.77, i32 noundef 372, ptr noundef %11393, ptr noundef %11396, ptr noundef %11399, i32 noundef %11401) #11
  br label %11403

11403:                                            ; preds = %11386, %11369
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %11404

11404:                                            ; preds = %11403
  br label %11405

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

11406:                                            ; No predecessors!
  br label %11407

11407:                                            ; preds = %11406
  br label %11408

11408:                                            ; preds = %11407, %11348
  br label %11409

11409:                                            ; preds = %11408
  br label %11410

11410:                                            ; preds = %11409
  call void @llvm.lifetime.end.p0(i64 1, ptr %267) #11
  br label %11411

11411:                                            ; preds = %11410
  %11412 = load i32, ptr %266, align 4, !tbaa !5
  %11413 = add nsw i32 %11412, 1
  store i32 %11413, ptr %266, align 4, !tbaa !5
  br label %11282, !llvm.loop !69

11414:                                            ; preds = %11285
  br label %11415

11415:                                            ; preds = %11414
  %11416 = load i32, ptr @test_count, align 4, !tbaa !5
  %11417 = add nsw i32 %11416, 1
  store i32 %11417, ptr @test_count, align 4, !tbaa !5
  %11418 = getelementptr inbounds %struct.s2n_stuffer, ptr %246, i32 0, i32 2
  %11419 = load i32, ptr %11418, align 4, !tbaa !67
  %11420 = getelementptr inbounds %struct.s2n_stuffer, ptr %246, i32 0, i32 1
  %11421 = load i32, ptr %11420, align 8, !tbaa !68
  %11422 = sub i32 %11419, %11421
  %11423 = icmp eq i32 %11422, 0
  br i1 %11423, label %11477, label %11424

11424:                                            ; preds = %11415
  br label %11425

11425:                                            ; preds = %11424
  br label %11426

11426:                                            ; preds = %11425
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %11427 = call ptr @__errno_location() #12
  %11428 = load i32, ptr %11427, align 4, !tbaa !5
  store i32 %11428, ptr %270, align 4, !tbaa !5
  %11429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11430 = call i32 @s2n_print_stacktrace(ptr noundef %11429)
  %11431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11432 = trunc i8 %11431 to i1
  br i1 %11432, label %11433, label %11455

11433:                                            ; preds = %11426
  %11434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11435 = call i32 @fileno(ptr noundef %11434) #11
  %11436 = call i32 @isatty(i32 noundef %11435) #11
  %11437 = icmp ne i32 %11436, 0
  br i1 %11437, label %11438, label %11455

11438:                                            ; preds = %11433
  %11439 = load i32, ptr %270, align 4, !tbaa !5
  %11440 = call ptr @__errno_location() #12
  store i32 %11439, ptr %11440, align 4, !tbaa !5
  %11441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11442 = load i32, ptr @test_count, align 4, !tbaa !5
  %11443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11444 = load i32, ptr %11443, align 4, !tbaa !5
  %11445 = call ptr @s2n_strerror(i32 noundef %11444, ptr noundef @.str.80)
  %11446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11447 = load i32, ptr %11446, align 4, !tbaa !5
  %11448 = call ptr @s2n_strerror_debug(i32 noundef %11447, ptr noundef @.str.80)
  %11449 = call ptr @__errno_location() #12
  %11450 = load i32, ptr %11449, align 4, !tbaa !5
  %11451 = call ptr @strerror(i32 noundef %11450) #11
  %11452 = call ptr @__errno_location() #12
  %11453 = load i32, ptr %11452, align 4, !tbaa !5
  %11454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11441, ptr noundef @.str.78, i32 noundef %11442, ptr noundef @.str.210, ptr noundef @.str.77, i32 noundef 374, ptr noundef %11445, ptr noundef %11448, ptr noundef %11451, i32 noundef %11453) #11
  br label %11472

11455:                                            ; preds = %11433, %11426
  %11456 = load i32, ptr %270, align 4, !tbaa !5
  %11457 = call ptr @__errno_location() #12
  store i32 %11456, ptr %11457, align 4, !tbaa !5
  %11458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11459 = load i32, ptr @test_count, align 4, !tbaa !5
  %11460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11461 = load i32, ptr %11460, align 4, !tbaa !5
  %11462 = call ptr @s2n_strerror(i32 noundef %11461, ptr noundef @.str.80)
  %11463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11464 = load i32, ptr %11463, align 4, !tbaa !5
  %11465 = call ptr @s2n_strerror_debug(i32 noundef %11464, ptr noundef @.str.80)
  %11466 = call ptr @__errno_location() #12
  %11467 = load i32, ptr %11466, align 4, !tbaa !5
  %11468 = call ptr @strerror(i32 noundef %11467) #11
  %11469 = call ptr @__errno_location() #12
  %11470 = load i32, ptr %11469, align 4, !tbaa !5
  %11471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11458, ptr noundef @.str.81, i32 noundef %11459, ptr noundef @.str.210, ptr noundef @.str.77, i32 noundef 374, ptr noundef %11462, ptr noundef %11465, ptr noundef %11468, i32 noundef %11470) #11
  br label %11472

11472:                                            ; preds = %11455, %11438
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %11473

11473:                                            ; preds = %11472
  br label %11474

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

11475:                                            ; No predecessors!
  br label %11476

11476:                                            ; preds = %11475
  br label %11477

11477:                                            ; preds = %11476, %11415
  br label %11478

11478:                                            ; preds = %11477
  br label %11479

11479:                                            ; preds = %11478
  br label %11480

11480:                                            ; preds = %11479
  %11481 = load i32, ptr @test_count, align 4, !tbaa !5
  %11482 = add nsw i32 %11481, 1
  store i32 %11482, ptr @test_count, align 4, !tbaa !5
  %11483 = load ptr, ptr %244, align 8, !tbaa !9
  %11484 = call i32 @s2n_connection_free(ptr noundef %11483)
  %11485 = icmp eq i32 %11484, -1
  br i1 %11485, label %11486, label %11539

11486:                                            ; preds = %11480
  br label %11487

11487:                                            ; preds = %11486
  br label %11488

11488:                                            ; preds = %11487
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %11489 = call ptr @__errno_location() #12
  %11490 = load i32, ptr %11489, align 4, !tbaa !5
  store i32 %11490, ptr %271, align 4, !tbaa !5
  %11491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11492 = call i32 @s2n_print_stacktrace(ptr noundef %11491)
  %11493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11494 = trunc i8 %11493 to i1
  br i1 %11494, label %11495, label %11517

11495:                                            ; preds = %11488
  %11496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11497 = call i32 @fileno(ptr noundef %11496) #11
  %11498 = call i32 @isatty(i32 noundef %11497) #11
  %11499 = icmp ne i32 %11498, 0
  br i1 %11499, label %11500, label %11517

11500:                                            ; preds = %11495
  %11501 = load i32, ptr %271, 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.80)
  %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.80)
  %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.78, i32 noundef %11504, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 376, ptr noundef %11507, ptr noundef %11510, ptr noundef %11513, i32 noundef %11515) #11
  br label %11534

11517:                                            ; preds = %11495, %11488
  %11518 = load i32, ptr %271, align 4, !tbaa !5
  %11519 = call ptr @__errno_location() #12
  store i32 %11518, ptr %11519, align 4, !tbaa !5
  %11520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11521 = load i32, ptr @test_count, align 4, !tbaa !5
  %11522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11523 = load i32, ptr %11522, align 4, !tbaa !5
  %11524 = call ptr @s2n_strerror(i32 noundef %11523, ptr noundef @.str.80)
  %11525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11526 = load i32, ptr %11525, align 4, !tbaa !5
  %11527 = call ptr @s2n_strerror_debug(i32 noundef %11526, ptr noundef @.str.80)
  %11528 = call ptr @__errno_location() #12
  %11529 = load i32, ptr %11528, align 4, !tbaa !5
  %11530 = call ptr @strerror(i32 noundef %11529) #11
  %11531 = call ptr @__errno_location() #12
  %11532 = load i32, ptr %11531, align 4, !tbaa !5
  %11533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11520, ptr noundef @.str.81, i32 noundef %11521, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 376, ptr noundef %11524, ptr noundef %11527, ptr noundef %11530, i32 noundef %11532) #11
  br label %11534

11534:                                            ; preds = %11517, %11500
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %11535

11535:                                            ; preds = %11534
  br label %11536

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

11537:                                            ; No predecessors!
  br label %11538

11538:                                            ; preds = %11537
  br label %11539

11539:                                            ; preds = %11538, %11480
  br label %11540

11540:                                            ; preds = %11539
  br label %11541

11541:                                            ; preds = %11540
  br label %11542

11542:                                            ; preds = %11541
  %11543 = load i32, ptr @test_count, align 4, !tbaa !5
  %11544 = add nsw i32 %11543, 1
  store i32 %11544, ptr @test_count, align 4, !tbaa !5
  %11545 = call i32 @s2n_stuffer_free(ptr noundef %246)
  %11546 = icmp eq i32 %11545, -1
  br i1 %11546, label %11547, label %11600

11547:                                            ; preds = %11542
  br label %11548

11548:                                            ; preds = %11547
  br label %11549

11549:                                            ; preds = %11548
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %11550 = call ptr @__errno_location() #12
  %11551 = load i32, ptr %11550, align 4, !tbaa !5
  store i32 %11551, ptr %272, align 4, !tbaa !5
  %11552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11553 = call i32 @s2n_print_stacktrace(ptr noundef %11552)
  %11554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11555 = trunc i8 %11554 to i1
  br i1 %11555, label %11556, label %11578

11556:                                            ; preds = %11549
  %11557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11558 = call i32 @fileno(ptr noundef %11557) #11
  %11559 = call i32 @isatty(i32 noundef %11558) #11
  %11560 = icmp ne i32 %11559, 0
  br i1 %11560, label %11561, label %11578

11561:                                            ; preds = %11556
  %11562 = load i32, ptr %272, align 4, !tbaa !5
  %11563 = call ptr @__errno_location() #12
  store i32 %11562, ptr %11563, align 4, !tbaa !5
  %11564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11565 = load i32, ptr @test_count, align 4, !tbaa !5
  %11566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11567 = load i32, ptr %11566, align 4, !tbaa !5
  %11568 = call ptr @s2n_strerror(i32 noundef %11567, ptr noundef @.str.80)
  %11569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11570 = load i32, ptr %11569, align 4, !tbaa !5
  %11571 = call ptr @s2n_strerror_debug(i32 noundef %11570, ptr noundef @.str.80)
  %11572 = call ptr @__errno_location() #12
  %11573 = load i32, ptr %11572, align 4, !tbaa !5
  %11574 = call ptr @strerror(i32 noundef %11573) #11
  %11575 = call ptr @__errno_location() #12
  %11576 = load i32, ptr %11575, align 4, !tbaa !5
  %11577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11564, ptr noundef @.str.78, i32 noundef %11565, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 377, ptr noundef %11568, ptr noundef %11571, ptr noundef %11574, i32 noundef %11576) #11
  br label %11595

11578:                                            ; preds = %11556, %11549
  %11579 = load i32, ptr %272, align 4, !tbaa !5
  %11580 = call ptr @__errno_location() #12
  store i32 %11579, ptr %11580, align 4, !tbaa !5
  %11581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11582 = load i32, ptr @test_count, align 4, !tbaa !5
  %11583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11584 = load i32, ptr %11583, align 4, !tbaa !5
  %11585 = call ptr @s2n_strerror(i32 noundef %11584, ptr noundef @.str.80)
  %11586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11587 = load i32, ptr %11586, align 4, !tbaa !5
  %11588 = call ptr @s2n_strerror_debug(i32 noundef %11587, ptr noundef @.str.80)
  %11589 = call ptr @__errno_location() #12
  %11590 = load i32, ptr %11589, align 4, !tbaa !5
  %11591 = call ptr @strerror(i32 noundef %11590) #11
  %11592 = call ptr @__errno_location() #12
  %11593 = load i32, ptr %11592, align 4, !tbaa !5
  %11594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11581, ptr noundef @.str.81, i32 noundef %11582, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 377, ptr noundef %11585, ptr noundef %11588, ptr noundef %11591, i32 noundef %11593) #11
  br label %11595

11595:                                            ; preds = %11578, %11561
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %11596

11596:                                            ; preds = %11595
  br label %11597

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

11598:                                            ; No predecessors!
  br label %11599

11599:                                            ; preds = %11598
  br label %11600

11600:                                            ; preds = %11599, %11542
  br label %11601

11601:                                            ; preds = %11600
  br label %11602

11602:                                            ; preds = %11601
  call void @llvm.lifetime.end.p0(i64 2, ptr %263) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %255) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %249) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %248) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %246) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %244) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %273) #11
  store ptr null, ptr %273, align 8, !tbaa !9
  br label %11603

11603:                                            ; preds = %11602
  %11604 = load i32, ptr @test_count, align 4, !tbaa !5
  %11605 = add nsw i32 %11604, 1
  store i32 %11605, ptr @test_count, align 4, !tbaa !5
  %11606 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %11606, ptr %273, align 8, !tbaa !9
  %11607 = icmp eq ptr %11606, null
  br i1 %11607, label %11608, label %11661

11608:                                            ; preds = %11603
  br label %11609

11609:                                            ; preds = %11608
  br label %11610

11610:                                            ; preds = %11609
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %11611 = call ptr @__errno_location() #12
  %11612 = load i32, ptr %11611, align 4, !tbaa !5
  store i32 %11612, ptr %274, align 4, !tbaa !5
  %11613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11614 = call i32 @s2n_print_stacktrace(ptr noundef %11613)
  %11615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11616 = trunc i8 %11615 to i1
  br i1 %11616, label %11617, label %11639

11617:                                            ; preds = %11610
  %11618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11619 = call i32 @fileno(ptr noundef %11618) #11
  %11620 = call i32 @isatty(i32 noundef %11619) #11
  %11621 = icmp ne i32 %11620, 0
  br i1 %11621, label %11622, label %11639

11622:                                            ; preds = %11617
  %11623 = load i32, ptr %274, align 4, !tbaa !5
  %11624 = call ptr @__errno_location() #12
  store i32 %11623, ptr %11624, align 4, !tbaa !5
  %11625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11626 = load i32, ptr @test_count, align 4, !tbaa !5
  %11627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11628 = load i32, ptr %11627, align 4, !tbaa !5
  %11629 = call ptr @s2n_strerror(i32 noundef %11628, ptr noundef @.str.80)
  %11630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11631 = load i32, ptr %11630, align 4, !tbaa !5
  %11632 = call ptr @s2n_strerror_debug(i32 noundef %11631, ptr noundef @.str.80)
  %11633 = call ptr @__errno_location() #12
  %11634 = load i32, ptr %11633, align 4, !tbaa !5
  %11635 = call ptr @strerror(i32 noundef %11634) #11
  %11636 = call ptr @__errno_location() #12
  %11637 = load i32, ptr %11636, align 4, !tbaa !5
  %11638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11625, ptr noundef @.str.78, i32 noundef %11626, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 392, ptr noundef %11629, ptr noundef %11632, ptr noundef %11635, i32 noundef %11637) #11
  br label %11656

11639:                                            ; preds = %11617, %11610
  %11640 = load i32, ptr %274, align 4, !tbaa !5
  %11641 = call ptr @__errno_location() #12
  store i32 %11640, ptr %11641, align 4, !tbaa !5
  %11642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11643 = load i32, ptr @test_count, align 4, !tbaa !5
  %11644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11645 = load i32, ptr %11644, align 4, !tbaa !5
  %11646 = call ptr @s2n_strerror(i32 noundef %11645, ptr noundef @.str.80)
  %11647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11648 = load i32, ptr %11647, align 4, !tbaa !5
  %11649 = call ptr @s2n_strerror_debug(i32 noundef %11648, ptr noundef @.str.80)
  %11650 = call ptr @__errno_location() #12
  %11651 = load i32, ptr %11650, align 4, !tbaa !5
  %11652 = call ptr @strerror(i32 noundef %11651) #11
  %11653 = call ptr @__errno_location() #12
  %11654 = load i32, ptr %11653, align 4, !tbaa !5
  %11655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11642, ptr noundef @.str.81, i32 noundef %11643, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 392, ptr noundef %11646, ptr noundef %11649, ptr noundef %11652, i32 noundef %11654) #11
  br label %11656

11656:                                            ; preds = %11639, %11622
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %11657

11657:                                            ; preds = %11656
  br label %11658

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

11659:                                            ; No predecessors!
  br label %11660

11660:                                            ; preds = %11659
  br label %11661

11661:                                            ; preds = %11660, %11603
  br label %11662

11662:                                            ; preds = %11661
  br label %11663

11663:                                            ; preds = %11662
  %11664 = load ptr, ptr %273, align 8, !tbaa !9
  %11665 = getelementptr inbounds %struct.s2n_connection, ptr %11664, i32 0, i32 52
  %11666 = getelementptr inbounds %struct.s2n_handshake, ptr %11665, i32 0, i32 6
  store i32 16, ptr %11666, align 4, !tbaa !70
  %11667 = load ptr, ptr %273, align 8, !tbaa !9
  %11668 = getelementptr inbounds %struct.s2n_connection, ptr %11667, i32 0, i32 27
  %11669 = load ptr, ptr %11668, align 8, !tbaa !71
  %11670 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %11669, i32 0, i32 0
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %11670, align 8, !tbaa !72
  call void @llvm.lifetime.start.p0(i64 40, ptr %275) #11
  call void @llvm.memset.p0.i64(ptr align 8 %275, i8 0, i64 40, i1 false)
  br label %11671

11671:                                            ; preds = %11663
  %11672 = load i32, ptr @test_count, align 4, !tbaa !5
  %11673 = add nsw i32 %11672, 1
  store i32 %11673, ptr @test_count, align 4, !tbaa !5
  %11674 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %275, i32 noundef 0)
  %11675 = icmp eq i32 %11674, -1
  br i1 %11675, label %11676, label %11729

11676:                                            ; preds = %11671
  br label %11677

11677:                                            ; preds = %11676
  br label %11678

11678:                                            ; preds = %11677
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #11
  %11679 = call ptr @__errno_location() #12
  %11680 = load i32, ptr %11679, align 4, !tbaa !5
  store i32 %11680, ptr %276, align 4, !tbaa !5
  %11681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11682 = call i32 @s2n_print_stacktrace(ptr noundef %11681)
  %11683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11684 = trunc i8 %11683 to i1
  br i1 %11684, label %11685, label %11707

11685:                                            ; preds = %11678
  %11686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11687 = call i32 @fileno(ptr noundef %11686) #11
  %11688 = call i32 @isatty(i32 noundef %11687) #11
  %11689 = icmp ne i32 %11688, 0
  br i1 %11689, label %11690, label %11707

11690:                                            ; preds = %11685
  %11691 = load i32, ptr %276, align 4, !tbaa !5
  %11692 = call ptr @__errno_location() #12
  store i32 %11691, ptr %11692, align 4, !tbaa !5
  %11693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11694 = load i32, ptr @test_count, align 4, !tbaa !5
  %11695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11696 = load i32, ptr %11695, align 4, !tbaa !5
  %11697 = call ptr @s2n_strerror(i32 noundef %11696, ptr noundef @.str.80)
  %11698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11699 = load i32, ptr %11698, align 4, !tbaa !5
  %11700 = call ptr @s2n_strerror_debug(i32 noundef %11699, ptr noundef @.str.80)
  %11701 = call ptr @__errno_location() #12
  %11702 = load i32, ptr %11701, align 4, !tbaa !5
  %11703 = call ptr @strerror(i32 noundef %11702) #11
  %11704 = call ptr @__errno_location() #12
  %11705 = load i32, ptr %11704, align 4, !tbaa !5
  %11706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11693, ptr noundef @.str.78, i32 noundef %11694, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 397, ptr noundef %11697, ptr noundef %11700, ptr noundef %11703, i32 noundef %11705) #11
  br label %11724

11707:                                            ; preds = %11685, %11678
  %11708 = load i32, ptr %276, align 4, !tbaa !5
  %11709 = call ptr @__errno_location() #12
  store i32 %11708, ptr %11709, align 4, !tbaa !5
  %11710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11711 = load i32, ptr @test_count, align 4, !tbaa !5
  %11712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11713 = load i32, ptr %11712, align 4, !tbaa !5
  %11714 = call ptr @s2n_strerror(i32 noundef %11713, ptr noundef @.str.80)
  %11715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11716 = load i32, ptr %11715, align 4, !tbaa !5
  %11717 = call ptr @s2n_strerror_debug(i32 noundef %11716, ptr noundef @.str.80)
  %11718 = call ptr @__errno_location() #12
  %11719 = load i32, ptr %11718, align 4, !tbaa !5
  %11720 = call ptr @strerror(i32 noundef %11719) #11
  %11721 = call ptr @__errno_location() #12
  %11722 = load i32, ptr %11721, align 4, !tbaa !5
  %11723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11710, ptr noundef @.str.81, i32 noundef %11711, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 397, ptr noundef %11714, ptr noundef %11717, ptr noundef %11720, i32 noundef %11722) #11
  br label %11724

11724:                                            ; preds = %11707, %11690
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #11
  br label %11725

11725:                                            ; preds = %11724
  br label %11726

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

11727:                                            ; No predecessors!
  br label %11728

11728:                                            ; preds = %11727
  br label %11729

11729:                                            ; preds = %11728, %11671
  br label %11730

11730:                                            ; preds = %11729
  br label %11731

11731:                                            ; preds = %11730
  call void @llvm.lifetime.start.p0(i64 8, ptr %277) #11
  %11732 = load ptr, ptr %273, align 8, !tbaa !9
  %11733 = getelementptr inbounds %struct.s2n_connection, ptr %11732, i32 0, i32 33
  store ptr %11733, ptr %277, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %278) #11
  store ptr null, ptr %278, align 8, !tbaa !9
  br label %11734

11734:                                            ; preds = %11731
  %11735 = load i32, ptr @test_count, align 4, !tbaa !5
  %11736 = add nsw i32 %11735, 1
  store i32 %11736, ptr @test_count, align 4, !tbaa !5
  %11737 = load ptr, ptr %277, align 8, !tbaa !9
  %11738 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %11737, i32 0, i32 1
  %11739 = call i32 @s2n_array_pushback(ptr noundef %11738, ptr noundef %278)
  %11740 = getelementptr inbounds %struct.s2n_result, ptr %279, i32 0, i32 0
  store i32 %11739, ptr %11740, align 4
  %11741 = getelementptr inbounds %struct.s2n_result, ptr %279, i32 0, i32 0
  %11742 = load i32, ptr %11741, align 4
  %11743 = call zeroext i1 @s2n_result_is_ok(i32 %11742)
  br i1 %11743, label %11797, label %11744

11744:                                            ; preds = %11734
  br label %11745

11745:                                            ; preds = %11744
  br label %11746

11746:                                            ; preds = %11745
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %11747 = call ptr @__errno_location() #12
  %11748 = load i32, ptr %11747, align 4, !tbaa !5
  store i32 %11748, ptr %280, align 4, !tbaa !5
  %11749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11750 = call i32 @s2n_print_stacktrace(ptr noundef %11749)
  %11751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11752 = trunc i8 %11751 to i1
  br i1 %11752, label %11753, label %11775

11753:                                            ; preds = %11746
  %11754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11755 = call i32 @fileno(ptr noundef %11754) #11
  %11756 = call i32 @isatty(i32 noundef %11755) #11
  %11757 = icmp ne i32 %11756, 0
  br i1 %11757, label %11758, label %11775

11758:                                            ; preds = %11753
  %11759 = load i32, ptr %280, align 4, !tbaa !5
  %11760 = call ptr @__errno_location() #12
  store i32 %11759, ptr %11760, align 4, !tbaa !5
  %11761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11762 = load i32, ptr @test_count, align 4, !tbaa !5
  %11763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11764 = load i32, ptr %11763, align 4, !tbaa !5
  %11765 = call ptr @s2n_strerror(i32 noundef %11764, ptr noundef @.str.80)
  %11766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11767 = load i32, ptr %11766, align 4, !tbaa !5
  %11768 = call ptr @s2n_strerror_debug(i32 noundef %11767, ptr noundef @.str.80)
  %11769 = call ptr @__errno_location() #12
  %11770 = load i32, ptr %11769, align 4, !tbaa !5
  %11771 = call ptr @strerror(i32 noundef %11770) #11
  %11772 = call ptr @__errno_location() #12
  %11773 = load i32, ptr %11772, align 4, !tbaa !5
  %11774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11761, ptr noundef @.str.78, i32 noundef %11762, ptr noundef @.str.212, ptr noundef @.str.77, i32 noundef 402, ptr noundef %11765, ptr noundef %11768, ptr noundef %11771, i32 noundef %11773) #11
  br label %11792

11775:                                            ; preds = %11753, %11746
  %11776 = load i32, ptr %280, align 4, !tbaa !5
  %11777 = call ptr @__errno_location() #12
  store i32 %11776, ptr %11777, align 4, !tbaa !5
  %11778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11779 = load i32, ptr @test_count, align 4, !tbaa !5
  %11780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11781 = load i32, ptr %11780, align 4, !tbaa !5
  %11782 = call ptr @s2n_strerror(i32 noundef %11781, ptr noundef @.str.80)
  %11783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11784 = load i32, ptr %11783, align 4, !tbaa !5
  %11785 = call ptr @s2n_strerror_debug(i32 noundef %11784, ptr noundef @.str.80)
  %11786 = call ptr @__errno_location() #12
  %11787 = load i32, ptr %11786, align 4, !tbaa !5
  %11788 = call ptr @strerror(i32 noundef %11787) #11
  %11789 = call ptr @__errno_location() #12
  %11790 = load i32, ptr %11789, align 4, !tbaa !5
  %11791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11778, ptr noundef @.str.81, i32 noundef %11779, ptr noundef @.str.212, ptr noundef @.str.77, i32 noundef 402, ptr noundef %11782, ptr noundef %11785, ptr noundef %11788, i32 noundef %11790) #11
  br label %11792

11792:                                            ; preds = %11775, %11758
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %11793

11793:                                            ; preds = %11792
  br label %11794

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

11795:                                            ; No predecessors!
  br label %11796

11796:                                            ; preds = %11795
  br label %11797

11797:                                            ; preds = %11796, %11734
  br label %11798

11798:                                            ; preds = %11797
  br label %11799

11799:                                            ; preds = %11798
  br label %11800

11800:                                            ; preds = %11799
  %11801 = load i32, ptr @test_count, align 4, !tbaa !5
  %11802 = add nsw i32 %11801, 1
  store i32 %11802, ptr @test_count, align 4, !tbaa !5
  %11803 = load ptr, ptr %278, align 8, !tbaa !9
  %11804 = call i32 @s2n_psk_init(ptr noundef %11803, i32 noundef 1)
  %11805 = getelementptr inbounds %struct.s2n_result, ptr %281, i32 0, i32 0
  store i32 %11804, ptr %11805, align 4
  %11806 = getelementptr inbounds %struct.s2n_result, ptr %281, i32 0, i32 0
  %11807 = load i32, ptr %11806, align 4
  %11808 = call zeroext i1 @s2n_result_is_ok(i32 %11807)
  br i1 %11808, label %11862, label %11809

11809:                                            ; preds = %11800
  br label %11810

11810:                                            ; preds = %11809
  br label %11811

11811:                                            ; preds = %11810
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %11812 = call ptr @__errno_location() #12
  %11813 = load i32, ptr %11812, align 4, !tbaa !5
  store i32 %11813, ptr %282, align 4, !tbaa !5
  %11814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11815 = call i32 @s2n_print_stacktrace(ptr noundef %11814)
  %11816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11817 = trunc i8 %11816 to i1
  br i1 %11817, label %11818, label %11840

11818:                                            ; preds = %11811
  %11819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11820 = call i32 @fileno(ptr noundef %11819) #11
  %11821 = call i32 @isatty(i32 noundef %11820) #11
  %11822 = icmp ne i32 %11821, 0
  br i1 %11822, label %11823, label %11840

11823:                                            ; preds = %11818
  %11824 = load i32, ptr %282, align 4, !tbaa !5
  %11825 = call ptr @__errno_location() #12
  store i32 %11824, ptr %11825, align 4, !tbaa !5
  %11826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11827 = load i32, ptr @test_count, align 4, !tbaa !5
  %11828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11829 = load i32, ptr %11828, align 4, !tbaa !5
  %11830 = call ptr @s2n_strerror(i32 noundef %11829, ptr noundef @.str.80)
  %11831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11832 = load i32, ptr %11831, align 4, !tbaa !5
  %11833 = call ptr @s2n_strerror_debug(i32 noundef %11832, ptr noundef @.str.80)
  %11834 = call ptr @__errno_location() #12
  %11835 = load i32, ptr %11834, align 4, !tbaa !5
  %11836 = call ptr @strerror(i32 noundef %11835) #11
  %11837 = call ptr @__errno_location() #12
  %11838 = load i32, ptr %11837, align 4, !tbaa !5
  %11839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11826, ptr noundef @.str.78, i32 noundef %11827, ptr noundef @.str.166, ptr noundef @.str.77, i32 noundef 403, ptr noundef %11830, ptr noundef %11833, ptr noundef %11836, i32 noundef %11838) #11
  br label %11857

11840:                                            ; preds = %11818, %11811
  %11841 = load i32, ptr %282, align 4, !tbaa !5
  %11842 = call ptr @__errno_location() #12
  store i32 %11841, ptr %11842, align 4, !tbaa !5
  %11843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11844 = load i32, ptr @test_count, align 4, !tbaa !5
  %11845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11846 = load i32, ptr %11845, align 4, !tbaa !5
  %11847 = call ptr @s2n_strerror(i32 noundef %11846, ptr noundef @.str.80)
  %11848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11849 = load i32, ptr %11848, align 4, !tbaa !5
  %11850 = call ptr @s2n_strerror_debug(i32 noundef %11849, ptr noundef @.str.80)
  %11851 = call ptr @__errno_location() #12
  %11852 = load i32, ptr %11851, align 4, !tbaa !5
  %11853 = call ptr @strerror(i32 noundef %11852) #11
  %11854 = call ptr @__errno_location() #12
  %11855 = load i32, ptr %11854, align 4, !tbaa !5
  %11856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11843, ptr noundef @.str.81, i32 noundef %11844, ptr noundef @.str.166, ptr noundef @.str.77, i32 noundef 403, ptr noundef %11847, ptr noundef %11850, ptr noundef %11853, i32 noundef %11855) #11
  br label %11857

11857:                                            ; preds = %11840, %11823
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %11858

11858:                                            ; preds = %11857
  br label %11859

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

11860:                                            ; No predecessors!
  br label %11861

11861:                                            ; preds = %11860
  br label %11862

11862:                                            ; preds = %11861, %11800
  br label %11863

11863:                                            ; preds = %11862
  br label %11864

11864:                                            ; preds = %11863
  br label %11865

11865:                                            ; preds = %11864
  %11866 = load i32, ptr @test_count, align 4, !tbaa !5
  %11867 = add nsw i32 %11866, 1
  store i32 %11867, ptr @test_count, align 4, !tbaa !5
  %11868 = load ptr, ptr %278, align 8, !tbaa !9
  %11869 = getelementptr inbounds [11 x i8], ptr %241, i64 0, i64 0
  %11870 = call i32 @s2n_psk_set_secret(ptr noundef %11868, ptr noundef %11869, i16 noundef zeroext 11)
  %11871 = icmp eq i32 %11870, -1
  br i1 %11871, label %11872, label %11925

11872:                                            ; preds = %11865
  br label %11873

11873:                                            ; preds = %11872
  br label %11874

11874:                                            ; preds = %11873
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #11
  %11875 = call ptr @__errno_location() #12
  %11876 = load i32, ptr %11875, align 4, !tbaa !5
  store i32 %11876, ptr %283, align 4, !tbaa !5
  %11877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11878 = call i32 @s2n_print_stacktrace(ptr noundef %11877)
  %11879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11880 = trunc i8 %11879 to i1
  br i1 %11880, label %11881, label %11903

11881:                                            ; preds = %11874
  %11882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11883 = call i32 @fileno(ptr noundef %11882) #11
  %11884 = call i32 @isatty(i32 noundef %11883) #11
  %11885 = icmp ne i32 %11884, 0
  br i1 %11885, label %11886, label %11903

11886:                                            ; preds = %11881
  %11887 = load i32, ptr %283, align 4, !tbaa !5
  %11888 = call ptr @__errno_location() #12
  store i32 %11887, ptr %11888, align 4, !tbaa !5
  %11889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11890 = load i32, ptr @test_count, align 4, !tbaa !5
  %11891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11892 = load i32, ptr %11891, align 4, !tbaa !5
  %11893 = call ptr @s2n_strerror(i32 noundef %11892, ptr noundef @.str.80)
  %11894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11895 = load i32, ptr %11894, align 4, !tbaa !5
  %11896 = call ptr @s2n_strerror_debug(i32 noundef %11895, ptr noundef @.str.80)
  %11897 = call ptr @__errno_location() #12
  %11898 = load i32, ptr %11897, align 4, !tbaa !5
  %11899 = call ptr @strerror(i32 noundef %11898) #11
  %11900 = call ptr @__errno_location() #12
  %11901 = load i32, ptr %11900, align 4, !tbaa !5
  %11902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11889, ptr noundef @.str.78, i32 noundef %11890, ptr noundef @.str.213, ptr noundef @.str.77, i32 noundef 404, ptr noundef %11893, ptr noundef %11896, ptr noundef %11899, i32 noundef %11901) #11
  br label %11920

11903:                                            ; preds = %11881, %11874
  %11904 = load i32, ptr %283, align 4, !tbaa !5
  %11905 = call ptr @__errno_location() #12
  store i32 %11904, ptr %11905, align 4, !tbaa !5
  %11906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11907 = load i32, ptr @test_count, align 4, !tbaa !5
  %11908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11909 = load i32, ptr %11908, align 4, !tbaa !5
  %11910 = call ptr @s2n_strerror(i32 noundef %11909, ptr noundef @.str.80)
  %11911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11912 = load i32, ptr %11911, align 4, !tbaa !5
  %11913 = call ptr @s2n_strerror_debug(i32 noundef %11912, ptr noundef @.str.80)
  %11914 = call ptr @__errno_location() #12
  %11915 = load i32, ptr %11914, align 4, !tbaa !5
  %11916 = call ptr @strerror(i32 noundef %11915) #11
  %11917 = call ptr @__errno_location() #12
  %11918 = load i32, ptr %11917, align 4, !tbaa !5
  %11919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11906, ptr noundef @.str.81, i32 noundef %11907, ptr noundef @.str.213, ptr noundef @.str.77, i32 noundef 404, ptr noundef %11910, ptr noundef %11913, ptr noundef %11916, i32 noundef %11918) #11
  br label %11920

11920:                                            ; preds = %11903, %11886
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #11
  br label %11921

11921:                                            ; preds = %11920
  br label %11922

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

11923:                                            ; No predecessors!
  br label %11924

11924:                                            ; preds = %11923
  br label %11925

11925:                                            ; preds = %11924, %11865
  br label %11926

11926:                                            ; preds = %11925
  br label %11927

11927:                                            ; preds = %11926
  %11928 = load ptr, ptr %273, align 8, !tbaa !9
  %11929 = getelementptr inbounds %struct.s2n_connection, ptr %11928, i32 0, i32 27
  %11930 = load ptr, ptr %11929, align 8, !tbaa !71
  %11931 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %11930, i32 0, i32 0
  %11932 = load ptr, ptr %11931, align 8, !tbaa !72
  %11933 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %11932, i32 0, i32 11
  %11934 = load i32, ptr %11933, align 8, !tbaa !77
  %11935 = sub i32 %11934, 1
  %11936 = load ptr, ptr %278, align 8, !tbaa !9
  %11937 = getelementptr inbounds %struct.s2n_psk, ptr %11936, i32 0, i32 3
  store i32 %11935, ptr %11937, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr %284) #11
  store ptr null, ptr %284, align 8, !tbaa !9
  br label %11938

11938:                                            ; preds = %11927
  %11939 = load i32, ptr @test_count, align 4, !tbaa !5
  %11940 = add nsw i32 %11939, 1
  store i32 %11940, ptr @test_count, align 4, !tbaa !5
  %11941 = load ptr, ptr %277, align 8, !tbaa !9
  %11942 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %11941, i32 0, i32 1
  %11943 = call i32 @s2n_array_pushback(ptr noundef %11942, ptr noundef %284)
  %11944 = getelementptr inbounds %struct.s2n_result, ptr %285, i32 0, i32 0
  store i32 %11943, ptr %11944, align 4
  %11945 = getelementptr inbounds %struct.s2n_result, ptr %285, i32 0, i32 0
  %11946 = load i32, ptr %11945, align 4
  %11947 = call zeroext i1 @s2n_result_is_ok(i32 %11946)
  br i1 %11947, label %12001, label %11948

11948:                                            ; preds = %11938
  br label %11949

11949:                                            ; preds = %11948
  br label %11950

11950:                                            ; preds = %11949
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %11951 = call ptr @__errno_location() #12
  %11952 = load i32, ptr %11951, align 4, !tbaa !5
  store i32 %11952, ptr %286, align 4, !tbaa !5
  %11953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11954 = call i32 @s2n_print_stacktrace(ptr noundef %11953)
  %11955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11956 = trunc i8 %11955 to i1
  br i1 %11956, label %11957, label %11979

11957:                                            ; preds = %11950
  %11958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11959 = call i32 @fileno(ptr noundef %11958) #11
  %11960 = call i32 @isatty(i32 noundef %11959) #11
  %11961 = icmp ne i32 %11960, 0
  br i1 %11961, label %11962, label %11979

11962:                                            ; preds = %11957
  %11963 = load i32, ptr %286, align 4, !tbaa !5
  %11964 = call ptr @__errno_location() #12
  store i32 %11963, ptr %11964, align 4, !tbaa !5
  %11965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11966 = load i32, ptr @test_count, align 4, !tbaa !5
  %11967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11968 = load i32, ptr %11967, align 4, !tbaa !5
  %11969 = call ptr @s2n_strerror(i32 noundef %11968, ptr noundef @.str.80)
  %11970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11971 = load i32, ptr %11970, align 4, !tbaa !5
  %11972 = call ptr @s2n_strerror_debug(i32 noundef %11971, ptr noundef @.str.80)
  %11973 = call ptr @__errno_location() #12
  %11974 = load i32, ptr %11973, align 4, !tbaa !5
  %11975 = call ptr @strerror(i32 noundef %11974) #11
  %11976 = call ptr @__errno_location() #12
  %11977 = load i32, ptr %11976, align 4, !tbaa !5
  %11978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11965, ptr noundef @.str.78, i32 noundef %11966, ptr noundef @.str.214, ptr noundef @.str.77, i32 noundef 408, ptr noundef %11969, ptr noundef %11972, ptr noundef %11975, i32 noundef %11977) #11
  br label %11996

11979:                                            ; preds = %11957, %11950
  %11980 = load i32, ptr %286, align 4, !tbaa !5
  %11981 = call ptr @__errno_location() #12
  store i32 %11980, ptr %11981, align 4, !tbaa !5
  %11982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11983 = load i32, ptr @test_count, align 4, !tbaa !5
  %11984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11985 = load i32, ptr %11984, align 4, !tbaa !5
  %11986 = call ptr @s2n_strerror(i32 noundef %11985, ptr noundef @.str.80)
  %11987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11988 = load i32, ptr %11987, align 4, !tbaa !5
  %11989 = call ptr @s2n_strerror_debug(i32 noundef %11988, ptr noundef @.str.80)
  %11990 = call ptr @__errno_location() #12
  %11991 = load i32, ptr %11990, align 4, !tbaa !5
  %11992 = call ptr @strerror(i32 noundef %11991) #11
  %11993 = call ptr @__errno_location() #12
  %11994 = load i32, ptr %11993, align 4, !tbaa !5
  %11995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11982, ptr noundef @.str.81, i32 noundef %11983, ptr noundef @.str.214, ptr noundef @.str.77, i32 noundef 408, ptr noundef %11986, ptr noundef %11989, ptr noundef %11992, i32 noundef %11994) #11
  br label %11996

11996:                                            ; preds = %11979, %11962
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %11997

11997:                                            ; preds = %11996
  br label %11998

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

11999:                                            ; No predecessors!
  br label %12000

12000:                                            ; preds = %11999
  br label %12001

12001:                                            ; preds = %12000, %11938
  br label %12002

12002:                                            ; preds = %12001
  br label %12003

12003:                                            ; preds = %12002
  br label %12004

12004:                                            ; preds = %12003
  %12005 = load i32, ptr @test_count, align 4, !tbaa !5
  %12006 = add nsw i32 %12005, 1
  store i32 %12006, ptr @test_count, align 4, !tbaa !5
  %12007 = load ptr, ptr %284, align 8, !tbaa !9
  %12008 = call i32 @s2n_psk_init(ptr noundef %12007, i32 noundef 1)
  %12009 = getelementptr inbounds %struct.s2n_result, ptr %287, i32 0, i32 0
  store i32 %12008, ptr %12009, align 4
  %12010 = getelementptr inbounds %struct.s2n_result, ptr %287, i32 0, i32 0
  %12011 = load i32, ptr %12010, align 4
  %12012 = call zeroext i1 @s2n_result_is_ok(i32 %12011)
  br i1 %12012, label %12066, label %12013

12013:                                            ; preds = %12004
  br label %12014

12014:                                            ; preds = %12013
  br label %12015

12015:                                            ; preds = %12014
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  %12016 = call ptr @__errno_location() #12
  %12017 = load i32, ptr %12016, align 4, !tbaa !5
  store i32 %12017, ptr %288, align 4, !tbaa !5
  %12018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12019 = call i32 @s2n_print_stacktrace(ptr noundef %12018)
  %12020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12021 = trunc i8 %12020 to i1
  br i1 %12021, label %12022, label %12044

12022:                                            ; preds = %12015
  %12023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12024 = call i32 @fileno(ptr noundef %12023) #11
  %12025 = call i32 @isatty(i32 noundef %12024) #11
  %12026 = icmp ne i32 %12025, 0
  br i1 %12026, label %12027, label %12044

12027:                                            ; preds = %12022
  %12028 = load i32, ptr %288, align 4, !tbaa !5
  %12029 = call ptr @__errno_location() #12
  store i32 %12028, ptr %12029, align 4, !tbaa !5
  %12030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12031 = load i32, ptr @test_count, align 4, !tbaa !5
  %12032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12033 = load i32, ptr %12032, align 4, !tbaa !5
  %12034 = call ptr @s2n_strerror(i32 noundef %12033, ptr noundef @.str.80)
  %12035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12036 = load i32, ptr %12035, align 4, !tbaa !5
  %12037 = call ptr @s2n_strerror_debug(i32 noundef %12036, ptr noundef @.str.80)
  %12038 = call ptr @__errno_location() #12
  %12039 = load i32, ptr %12038, align 4, !tbaa !5
  %12040 = call ptr @strerror(i32 noundef %12039) #11
  %12041 = call ptr @__errno_location() #12
  %12042 = load i32, ptr %12041, align 4, !tbaa !5
  %12043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12030, ptr noundef @.str.78, i32 noundef %12031, ptr noundef @.str.215, ptr noundef @.str.77, i32 noundef 409, ptr noundef %12034, ptr noundef %12037, ptr noundef %12040, i32 noundef %12042) #11
  br label %12061

12044:                                            ; preds = %12022, %12015
  %12045 = load i32, ptr %288, align 4, !tbaa !5
  %12046 = call ptr @__errno_location() #12
  store i32 %12045, ptr %12046, align 4, !tbaa !5
  %12047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12048 = load i32, ptr @test_count, align 4, !tbaa !5
  %12049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12050 = load i32, ptr %12049, align 4, !tbaa !5
  %12051 = call ptr @s2n_strerror(i32 noundef %12050, ptr noundef @.str.80)
  %12052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12053 = load i32, ptr %12052, align 4, !tbaa !5
  %12054 = call ptr @s2n_strerror_debug(i32 noundef %12053, ptr noundef @.str.80)
  %12055 = call ptr @__errno_location() #12
  %12056 = load i32, ptr %12055, align 4, !tbaa !5
  %12057 = call ptr @strerror(i32 noundef %12056) #11
  %12058 = call ptr @__errno_location() #12
  %12059 = load i32, ptr %12058, align 4, !tbaa !5
  %12060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12047, ptr noundef @.str.81, i32 noundef %12048, ptr noundef @.str.215, ptr noundef @.str.77, i32 noundef 409, ptr noundef %12051, ptr noundef %12054, ptr noundef %12057, i32 noundef %12059) #11
  br label %12061

12061:                                            ; preds = %12044, %12027
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  br label %12062

12062:                                            ; preds = %12061
  br label %12063

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

12064:                                            ; No predecessors!
  br label %12065

12065:                                            ; preds = %12064
  br label %12066

12066:                                            ; preds = %12065, %12004
  br label %12067

12067:                                            ; preds = %12066
  br label %12068

12068:                                            ; preds = %12067
  br label %12069

12069:                                            ; preds = %12068
  %12070 = load i32, ptr @test_count, align 4, !tbaa !5
  %12071 = add nsw i32 %12070, 1
  store i32 %12071, ptr @test_count, align 4, !tbaa !5
  %12072 = load ptr, ptr %284, align 8, !tbaa !9
  %12073 = getelementptr inbounds [11 x i8], ptr %241, i64 0, i64 0
  %12074 = call i32 @s2n_psk_set_secret(ptr noundef %12072, ptr noundef %12073, i16 noundef zeroext 11)
  %12075 = icmp eq i32 %12074, -1
  br i1 %12075, label %12076, label %12129

12076:                                            ; preds = %12069
  br label %12077

12077:                                            ; preds = %12076
  br label %12078

12078:                                            ; preds = %12077
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #11
  %12079 = call ptr @__errno_location() #12
  %12080 = load i32, ptr %12079, align 4, !tbaa !5
  store i32 %12080, ptr %289, align 4, !tbaa !5
  %12081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12082 = call i32 @s2n_print_stacktrace(ptr noundef %12081)
  %12083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12084 = trunc i8 %12083 to i1
  br i1 %12084, label %12085, label %12107

12085:                                            ; preds = %12078
  %12086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12087 = call i32 @fileno(ptr noundef %12086) #11
  %12088 = call i32 @isatty(i32 noundef %12087) #11
  %12089 = icmp ne i32 %12088, 0
  br i1 %12089, label %12090, label %12107

12090:                                            ; preds = %12085
  %12091 = load i32, ptr %289, align 4, !tbaa !5
  %12092 = call ptr @__errno_location() #12
  store i32 %12091, ptr %12092, align 4, !tbaa !5
  %12093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12094 = load i32, ptr @test_count, align 4, !tbaa !5
  %12095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12096 = load i32, ptr %12095, align 4, !tbaa !5
  %12097 = call ptr @s2n_strerror(i32 noundef %12096, ptr noundef @.str.80)
  %12098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12099 = load i32, ptr %12098, align 4, !tbaa !5
  %12100 = call ptr @s2n_strerror_debug(i32 noundef %12099, ptr noundef @.str.80)
  %12101 = call ptr @__errno_location() #12
  %12102 = load i32, ptr %12101, align 4, !tbaa !5
  %12103 = call ptr @strerror(i32 noundef %12102) #11
  %12104 = call ptr @__errno_location() #12
  %12105 = load i32, ptr %12104, align 4, !tbaa !5
  %12106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12093, ptr noundef @.str.78, i32 noundef %12094, ptr noundef @.str.216, ptr noundef @.str.77, i32 noundef 410, ptr noundef %12097, ptr noundef %12100, ptr noundef %12103, i32 noundef %12105) #11
  br label %12124

12107:                                            ; preds = %12085, %12078
  %12108 = load i32, ptr %289, align 4, !tbaa !5
  %12109 = call ptr @__errno_location() #12
  store i32 %12108, ptr %12109, align 4, !tbaa !5
  %12110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12111 = load i32, ptr @test_count, align 4, !tbaa !5
  %12112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12113 = load i32, ptr %12112, align 4, !tbaa !5
  %12114 = call ptr @s2n_strerror(i32 noundef %12113, ptr noundef @.str.80)
  %12115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12116 = load i32, ptr %12115, align 4, !tbaa !5
  %12117 = call ptr @s2n_strerror_debug(i32 noundef %12116, ptr noundef @.str.80)
  %12118 = call ptr @__errno_location() #12
  %12119 = load i32, ptr %12118, align 4, !tbaa !5
  %12120 = call ptr @strerror(i32 noundef %12119) #11
  %12121 = call ptr @__errno_location() #12
  %12122 = load i32, ptr %12121, align 4, !tbaa !5
  %12123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12110, ptr noundef @.str.81, i32 noundef %12111, ptr noundef @.str.216, ptr noundef @.str.77, i32 noundef 410, ptr noundef %12114, ptr noundef %12117, ptr noundef %12120, i32 noundef %12122) #11
  br label %12124

12124:                                            ; preds = %12107, %12090
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #11
  br label %12125

12125:                                            ; preds = %12124
  br label %12126

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

12127:                                            ; No predecessors!
  br label %12128

12128:                                            ; preds = %12127
  br label %12129

12129:                                            ; preds = %12128, %12069
  br label %12130

12130:                                            ; preds = %12129
  br label %12131

12131:                                            ; preds = %12130
  %12132 = load ptr, ptr %273, align 8, !tbaa !9
  %12133 = getelementptr inbounds %struct.s2n_connection, ptr %12132, i32 0, i32 27
  %12134 = load ptr, ptr %12133, align 8, !tbaa !71
  %12135 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %12134, i32 0, i32 0
  %12136 = load ptr, ptr %12135, align 8, !tbaa !72
  %12137 = getelementptr inbounds %struct.s2n_cipher_suite, ptr %12136, i32 0, i32 11
  %12138 = load i32, ptr %12137, align 8, !tbaa !77
  %12139 = load ptr, ptr %284, align 8, !tbaa !9
  %12140 = getelementptr inbounds %struct.s2n_psk, ptr %12139, i32 0, i32 3
  store i32 %12138, ptr %12140, align 8, !tbaa !20
  br label %12141

12141:                                            ; preds = %12131
  %12142 = load i32, ptr @test_count, align 4, !tbaa !5
  %12143 = add nsw i32 %12142, 1
  store i32 %12143, ptr @test_count, align 4, !tbaa !5
  %12144 = load ptr, ptr %273, align 8, !tbaa !9
  %12145 = call i32 @s2n_psk_write_binder_list(ptr noundef %12144, ptr noundef %242, ptr noundef %275)
  %12146 = getelementptr inbounds %struct.s2n_result, ptr %290, i32 0, i32 0
  store i32 %12145, ptr %12146, align 4
  %12147 = getelementptr inbounds %struct.s2n_result, ptr %290, i32 0, i32 0
  %12148 = load i32, ptr %12147, align 4
  %12149 = call zeroext i1 @s2n_result_is_ok(i32 %12148)
  br i1 %12149, label %12203, label %12150

12150:                                            ; preds = %12141
  br label %12151

12151:                                            ; preds = %12150
  br label %12152

12152:                                            ; preds = %12151
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %12153 = call ptr @__errno_location() #12
  %12154 = load i32, ptr %12153, align 4, !tbaa !5
  store i32 %12154, ptr %291, align 4, !tbaa !5
  %12155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12156 = call i32 @s2n_print_stacktrace(ptr noundef %12155)
  %12157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12158 = trunc i8 %12157 to i1
  br i1 %12158, label %12159, label %12181

12159:                                            ; preds = %12152
  %12160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12161 = call i32 @fileno(ptr noundef %12160) #11
  %12162 = call i32 @isatty(i32 noundef %12161) #11
  %12163 = icmp ne i32 %12162, 0
  br i1 %12163, label %12164, label %12181

12164:                                            ; preds = %12159
  %12165 = load i32, ptr %291, align 4, !tbaa !5
  %12166 = call ptr @__errno_location() #12
  store i32 %12165, ptr %12166, align 4, !tbaa !5
  %12167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12168 = load i32, ptr @test_count, align 4, !tbaa !5
  %12169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12170 = load i32, ptr %12169, align 4, !tbaa !5
  %12171 = call ptr @s2n_strerror(i32 noundef %12170, ptr noundef @.str.80)
  %12172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12173 = load i32, ptr %12172, align 4, !tbaa !5
  %12174 = call ptr @s2n_strerror_debug(i32 noundef %12173, ptr noundef @.str.80)
  %12175 = call ptr @__errno_location() #12
  %12176 = load i32, ptr %12175, align 4, !tbaa !5
  %12177 = call ptr @strerror(i32 noundef %12176) #11
  %12178 = call ptr @__errno_location() #12
  %12179 = load i32, ptr %12178, align 4, !tbaa !5
  %12180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12167, ptr noundef @.str.78, i32 noundef %12168, ptr noundef @.str.205, ptr noundef @.str.77, i32 noundef 413, ptr noundef %12171, ptr noundef %12174, ptr noundef %12177, i32 noundef %12179) #11
  br label %12198

12181:                                            ; preds = %12159, %12152
  %12182 = load i32, ptr %291, align 4, !tbaa !5
  %12183 = call ptr @__errno_location() #12
  store i32 %12182, ptr %12183, align 4, !tbaa !5
  %12184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12185 = load i32, ptr @test_count, align 4, !tbaa !5
  %12186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12187 = load i32, ptr %12186, align 4, !tbaa !5
  %12188 = call ptr @s2n_strerror(i32 noundef %12187, ptr noundef @.str.80)
  %12189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12190 = load i32, ptr %12189, align 4, !tbaa !5
  %12191 = call ptr @s2n_strerror_debug(i32 noundef %12190, ptr noundef @.str.80)
  %12192 = call ptr @__errno_location() #12
  %12193 = load i32, ptr %12192, align 4, !tbaa !5
  %12194 = call ptr @strerror(i32 noundef %12193) #11
  %12195 = call ptr @__errno_location() #12
  %12196 = load i32, ptr %12195, align 4, !tbaa !5
  %12197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12184, ptr noundef @.str.81, i32 noundef %12185, ptr noundef @.str.205, ptr noundef @.str.77, i32 noundef 413, ptr noundef %12188, ptr noundef %12191, ptr noundef %12194, i32 noundef %12196) #11
  br label %12198

12198:                                            ; preds = %12181, %12164
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %12199

12199:                                            ; preds = %12198
  br label %12200

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

12201:                                            ; No predecessors!
  br label %12202

12202:                                            ; preds = %12201
  br label %12203

12203:                                            ; preds = %12202, %12141
  br label %12204

12204:                                            ; preds = %12203
  br label %12205

12205:                                            ; preds = %12204
  call void @llvm.lifetime.start.p0(i64 2, ptr %292) #11
  store i16 0, ptr %292, align 2, !tbaa !66
  br label %12206

12206:                                            ; preds = %12205
  %12207 = load i32, ptr @test_count, align 4, !tbaa !5
  %12208 = add nsw i32 %12207, 1
  store i32 %12208, ptr @test_count, align 4, !tbaa !5
  %12209 = call i32 @s2n_stuffer_read_uint16(ptr noundef %275, ptr noundef %292)
  %12210 = icmp eq i32 %12209, -1
  br i1 %12210, label %12211, label %12264

12211:                                            ; preds = %12206
  br label %12212

12212:                                            ; preds = %12211
  br label %12213

12213:                                            ; preds = %12212
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %12214 = call ptr @__errno_location() #12
  %12215 = load i32, ptr %12214, align 4, !tbaa !5
  store i32 %12215, ptr %293, align 4, !tbaa !5
  %12216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12217 = call i32 @s2n_print_stacktrace(ptr noundef %12216)
  %12218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12219 = trunc i8 %12218 to i1
  br i1 %12219, label %12220, label %12242

12220:                                            ; preds = %12213
  %12221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12222 = call i32 @fileno(ptr noundef %12221) #11
  %12223 = call i32 @isatty(i32 noundef %12222) #11
  %12224 = icmp ne i32 %12223, 0
  br i1 %12224, label %12225, label %12242

12225:                                            ; preds = %12220
  %12226 = load i32, ptr %293, align 4, !tbaa !5
  %12227 = call ptr @__errno_location() #12
  store i32 %12226, ptr %12227, align 4, !tbaa !5
  %12228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12229 = load i32, ptr @test_count, align 4, !tbaa !5
  %12230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12231 = load i32, ptr %12230, align 4, !tbaa !5
  %12232 = call ptr @s2n_strerror(i32 noundef %12231, ptr noundef @.str.80)
  %12233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12234 = load i32, ptr %12233, align 4, !tbaa !5
  %12235 = call ptr @s2n_strerror_debug(i32 noundef %12234, ptr noundef @.str.80)
  %12236 = call ptr @__errno_location() #12
  %12237 = load i32, ptr %12236, align 4, !tbaa !5
  %12238 = call ptr @strerror(i32 noundef %12237) #11
  %12239 = call ptr @__errno_location() #12
  %12240 = load i32, ptr %12239, align 4, !tbaa !5
  %12241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12228, ptr noundef @.str.78, i32 noundef %12229, ptr noundef @.str.206, ptr noundef @.str.77, i32 noundef 416, ptr noundef %12232, ptr noundef %12235, ptr noundef %12238, i32 noundef %12240) #11
  br label %12259

12242:                                            ; preds = %12220, %12213
  %12243 = load i32, ptr %293, align 4, !tbaa !5
  %12244 = call ptr @__errno_location() #12
  store i32 %12243, ptr %12244, align 4, !tbaa !5
  %12245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12246 = load i32, ptr @test_count, align 4, !tbaa !5
  %12247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12248 = load i32, ptr %12247, align 4, !tbaa !5
  %12249 = call ptr @s2n_strerror(i32 noundef %12248, ptr noundef @.str.80)
  %12250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12251 = load i32, ptr %12250, align 4, !tbaa !5
  %12252 = call ptr @s2n_strerror_debug(i32 noundef %12251, ptr noundef @.str.80)
  %12253 = call ptr @__errno_location() #12
  %12254 = load i32, ptr %12253, align 4, !tbaa !5
  %12255 = call ptr @strerror(i32 noundef %12254) #11
  %12256 = call ptr @__errno_location() #12
  %12257 = load i32, ptr %12256, align 4, !tbaa !5
  %12258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12245, ptr noundef @.str.81, i32 noundef %12246, ptr noundef @.str.206, ptr noundef @.str.77, i32 noundef 416, ptr noundef %12249, ptr noundef %12252, ptr noundef %12255, i32 noundef %12257) #11
  br label %12259

12259:                                            ; preds = %12242, %12225
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %12260

12260:                                            ; preds = %12259
  br label %12261

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

12262:                                            ; No predecessors!
  br label %12263

12263:                                            ; preds = %12262
  br label %12264

12264:                                            ; preds = %12263, %12206
  br label %12265

12265:                                            ; preds = %12264
  br label %12266

12266:                                            ; preds = %12265
  br label %12267

12267:                                            ; preds = %12266
  %12268 = load i32, ptr @test_count, align 4, !tbaa !5
  %12269 = add nsw i32 %12268, 1
  store i32 %12269, ptr @test_count, align 4, !tbaa !5
  %12270 = load i16, ptr %292, align 2, !tbaa !66
  %12271 = zext i16 %12270 to i32
  %12272 = getelementptr inbounds %struct.s2n_stuffer, ptr %275, i32 0, i32 2
  %12273 = load i32, ptr %12272, align 4, !tbaa !67
  %12274 = getelementptr inbounds %struct.s2n_stuffer, ptr %275, i32 0, i32 1
  %12275 = load i32, ptr %12274, align 8, !tbaa !68
  %12276 = sub i32 %12273, %12275
  %12277 = icmp eq i32 %12271, %12276
  br i1 %12277, label %12331, label %12278

12278:                                            ; preds = %12267
  br label %12279

12279:                                            ; preds = %12278
  br label %12280

12280:                                            ; preds = %12279
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %12281 = call ptr @__errno_location() #12
  %12282 = load i32, ptr %12281, align 4, !tbaa !5
  store i32 %12282, ptr %294, align 4, !tbaa !5
  %12283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12284 = call i32 @s2n_print_stacktrace(ptr noundef %12283)
  %12285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12286 = trunc i8 %12285 to i1
  br i1 %12286, label %12287, label %12309

12287:                                            ; preds = %12280
  %12288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12289 = call i32 @fileno(ptr noundef %12288) #11
  %12290 = call i32 @isatty(i32 noundef %12289) #11
  %12291 = icmp ne i32 %12290, 0
  br i1 %12291, label %12292, label %12309

12292:                                            ; preds = %12287
  %12293 = load i32, ptr %294, align 4, !tbaa !5
  %12294 = call ptr @__errno_location() #12
  store i32 %12293, ptr %12294, align 4, !tbaa !5
  %12295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12296 = load i32, ptr @test_count, align 4, !tbaa !5
  %12297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12298 = load i32, ptr %12297, align 4, !tbaa !5
  %12299 = call ptr @s2n_strerror(i32 noundef %12298, ptr noundef @.str.80)
  %12300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12301 = load i32, ptr %12300, align 4, !tbaa !5
  %12302 = call ptr @s2n_strerror_debug(i32 noundef %12301, ptr noundef @.str.80)
  %12303 = call ptr @__errno_location() #12
  %12304 = load i32, ptr %12303, align 4, !tbaa !5
  %12305 = call ptr @strerror(i32 noundef %12304) #11
  %12306 = call ptr @__errno_location() #12
  %12307 = load i32, ptr %12306, align 4, !tbaa !5
  %12308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12295, ptr noundef @.str.78, i32 noundef %12296, ptr noundef @.str.207, ptr noundef @.str.77, i32 noundef 417, ptr noundef %12299, ptr noundef %12302, ptr noundef %12305, i32 noundef %12307) #11
  br label %12326

12309:                                            ; preds = %12287, %12280
  %12310 = load i32, ptr %294, align 4, !tbaa !5
  %12311 = call ptr @__errno_location() #12
  store i32 %12310, ptr %12311, align 4, !tbaa !5
  %12312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12313 = load i32, ptr @test_count, align 4, !tbaa !5
  %12314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12315 = load i32, ptr %12314, align 4, !tbaa !5
  %12316 = call ptr @s2n_strerror(i32 noundef %12315, ptr noundef @.str.80)
  %12317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12318 = load i32, ptr %12317, align 4, !tbaa !5
  %12319 = call ptr @s2n_strerror_debug(i32 noundef %12318, ptr noundef @.str.80)
  %12320 = call ptr @__errno_location() #12
  %12321 = load i32, ptr %12320, align 4, !tbaa !5
  %12322 = call ptr @strerror(i32 noundef %12321) #11
  %12323 = call ptr @__errno_location() #12
  %12324 = load i32, ptr %12323, align 4, !tbaa !5
  %12325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12312, ptr noundef @.str.81, i32 noundef %12313, ptr noundef @.str.207, ptr noundef @.str.77, i32 noundef 417, ptr noundef %12316, ptr noundef %12319, ptr noundef %12322, i32 noundef %12324) #11
  br label %12326

12326:                                            ; preds = %12309, %12292
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %12327

12327:                                            ; preds = %12326
  br label %12328

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

12329:                                            ; No predecessors!
  br label %12330

12330:                                            ; preds = %12329
  br label %12331

12331:                                            ; preds = %12330, %12267
  br label %12332

12332:                                            ; preds = %12331
  br label %12333

12333:                                            ; preds = %12332
  call void @llvm.lifetime.start.p0(i64 1, ptr %295) #11
  store i8 0, ptr %295, align 1, !tbaa !26
  br label %12334

12334:                                            ; preds = %12333
  %12335 = load i32, ptr @test_count, align 4, !tbaa !5
  %12336 = add nsw i32 %12335, 1
  store i32 %12336, ptr @test_count, align 4, !tbaa !5
  %12337 = call i32 @s2n_stuffer_read_uint8(ptr noundef %275, ptr noundef %295)
  %12338 = icmp eq i32 %12337, -1
  br i1 %12338, label %12339, label %12392

12339:                                            ; preds = %12334
  br label %12340

12340:                                            ; preds = %12339
  br label %12341

12341:                                            ; preds = %12340
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %12342 = call ptr @__errno_location() #12
  %12343 = load i32, ptr %12342, align 4, !tbaa !5
  store i32 %12343, ptr %296, align 4, !tbaa !5
  %12344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12345 = call i32 @s2n_print_stacktrace(ptr noundef %12344)
  %12346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12347 = trunc i8 %12346 to i1
  br i1 %12347, label %12348, label %12370

12348:                                            ; preds = %12341
  %12349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12350 = call i32 @fileno(ptr noundef %12349) #11
  %12351 = call i32 @isatty(i32 noundef %12350) #11
  %12352 = icmp ne i32 %12351, 0
  br i1 %12352, label %12353, label %12370

12353:                                            ; preds = %12348
  %12354 = load i32, ptr %296, align 4, !tbaa !5
  %12355 = call ptr @__errno_location() #12
  store i32 %12354, ptr %12355, align 4, !tbaa !5
  %12356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12357 = load i32, ptr @test_count, align 4, !tbaa !5
  %12358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12359 = load i32, ptr %12358, align 4, !tbaa !5
  %12360 = call ptr @s2n_strerror(i32 noundef %12359, ptr noundef @.str.80)
  %12361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12362 = load i32, ptr %12361, align 4, !tbaa !5
  %12363 = call ptr @s2n_strerror_debug(i32 noundef %12362, ptr noundef @.str.80)
  %12364 = call ptr @__errno_location() #12
  %12365 = load i32, ptr %12364, align 4, !tbaa !5
  %12366 = call ptr @strerror(i32 noundef %12365) #11
  %12367 = call ptr @__errno_location() #12
  %12368 = load i32, ptr %12367, align 4, !tbaa !5
  %12369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12356, ptr noundef @.str.78, i32 noundef %12357, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 423, ptr noundef %12360, ptr noundef %12363, ptr noundef %12366, i32 noundef %12368) #11
  br label %12387

12370:                                            ; preds = %12348, %12341
  %12371 = load i32, ptr %296, align 4, !tbaa !5
  %12372 = call ptr @__errno_location() #12
  store i32 %12371, ptr %12372, align 4, !tbaa !5
  %12373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12374 = load i32, ptr @test_count, align 4, !tbaa !5
  %12375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12376 = load i32, ptr %12375, align 4, !tbaa !5
  %12377 = call ptr @s2n_strerror(i32 noundef %12376, ptr noundef @.str.80)
  %12378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12379 = load i32, ptr %12378, align 4, !tbaa !5
  %12380 = call ptr @s2n_strerror_debug(i32 noundef %12379, ptr noundef @.str.80)
  %12381 = call ptr @__errno_location() #12
  %12382 = load i32, ptr %12381, align 4, !tbaa !5
  %12383 = call ptr @strerror(i32 noundef %12382) #11
  %12384 = call ptr @__errno_location() #12
  %12385 = load i32, ptr %12384, align 4, !tbaa !5
  %12386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12373, ptr noundef @.str.81, i32 noundef %12374, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 423, ptr noundef %12377, ptr noundef %12380, ptr noundef %12383, i32 noundef %12385) #11
  br label %12387

12387:                                            ; preds = %12370, %12353
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %12388

12388:                                            ; preds = %12387
  br label %12389

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

12390:                                            ; No predecessors!
  br label %12391

12391:                                            ; preds = %12390
  br label %12392

12392:                                            ; preds = %12391, %12334
  br label %12393

12393:                                            ; preds = %12392
  br label %12394

12394:                                            ; preds = %12393
  br label %12395

12395:                                            ; preds = %12394
  %12396 = load i32, ptr @test_count, align 4, !tbaa !5
  %12397 = add nsw i32 %12396, 1
  store i32 %12397, ptr @test_count, align 4, !tbaa !5
  %12398 = load i8, ptr %295, align 1, !tbaa !26
  %12399 = zext i8 %12398 to i32
  %12400 = getelementptr inbounds %struct.s2n_stuffer, ptr %275, i32 0, i32 2
  %12401 = load i32, ptr %12400, align 4, !tbaa !67
  %12402 = getelementptr inbounds %struct.s2n_stuffer, ptr %275, i32 0, i32 1
  %12403 = load i32, ptr %12402, align 8, !tbaa !68
  %12404 = sub i32 %12401, %12403
  %12405 = icmp eq i32 %12399, %12404
  br i1 %12405, label %12459, label %12406

12406:                                            ; preds = %12395
  br label %12407

12407:                                            ; preds = %12406
  br label %12408

12408:                                            ; preds = %12407
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #11
  %12409 = call ptr @__errno_location() #12
  %12410 = load i32, ptr %12409, align 4, !tbaa !5
  store i32 %12410, ptr %297, align 4, !tbaa !5
  %12411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12412 = call i32 @s2n_print_stacktrace(ptr noundef %12411)
  %12413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12414 = trunc i8 %12413 to i1
  br i1 %12414, label %12415, label %12437

12415:                                            ; preds = %12408
  %12416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12417 = call i32 @fileno(ptr noundef %12416) #11
  %12418 = call i32 @isatty(i32 noundef %12417) #11
  %12419 = icmp ne i32 %12418, 0
  br i1 %12419, label %12420, label %12437

12420:                                            ; preds = %12415
  %12421 = load i32, ptr %297, align 4, !tbaa !5
  %12422 = call ptr @__errno_location() #12
  store i32 %12421, ptr %12422, align 4, !tbaa !5
  %12423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12424 = load i32, ptr @test_count, align 4, !tbaa !5
  %12425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12426 = load i32, ptr %12425, align 4, !tbaa !5
  %12427 = call ptr @s2n_strerror(i32 noundef %12426, ptr noundef @.str.80)
  %12428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12429 = load i32, ptr %12428, align 4, !tbaa !5
  %12430 = call ptr @s2n_strerror_debug(i32 noundef %12429, ptr noundef @.str.80)
  %12431 = call ptr @__errno_location() #12
  %12432 = load i32, ptr %12431, align 4, !tbaa !5
  %12433 = call ptr @strerror(i32 noundef %12432) #11
  %12434 = call ptr @__errno_location() #12
  %12435 = load i32, ptr %12434, align 4, !tbaa !5
  %12436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12423, ptr noundef @.str.78, i32 noundef %12424, ptr noundef @.str.217, ptr noundef @.str.77, i32 noundef 424, ptr noundef %12427, ptr noundef %12430, ptr noundef %12433, i32 noundef %12435) #11
  br label %12454

12437:                                            ; preds = %12415, %12408
  %12438 = load i32, ptr %297, align 4, !tbaa !5
  %12439 = call ptr @__errno_location() #12
  store i32 %12438, ptr %12439, align 4, !tbaa !5
  %12440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12441 = load i32, ptr @test_count, align 4, !tbaa !5
  %12442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12443 = load i32, ptr %12442, align 4, !tbaa !5
  %12444 = call ptr @s2n_strerror(i32 noundef %12443, ptr noundef @.str.80)
  %12445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12446 = load i32, ptr %12445, align 4, !tbaa !5
  %12447 = call ptr @s2n_strerror_debug(i32 noundef %12446, ptr noundef @.str.80)
  %12448 = call ptr @__errno_location() #12
  %12449 = load i32, ptr %12448, align 4, !tbaa !5
  %12450 = call ptr @strerror(i32 noundef %12449) #11
  %12451 = call ptr @__errno_location() #12
  %12452 = load i32, ptr %12451, align 4, !tbaa !5
  %12453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12440, ptr noundef @.str.81, i32 noundef %12441, ptr noundef @.str.217, ptr noundef @.str.77, i32 noundef 424, ptr noundef %12444, ptr noundef %12447, ptr noundef %12450, i32 noundef %12452) #11
  br label %12454

12454:                                            ; preds = %12437, %12420
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #11
  br label %12455

12455:                                            ; preds = %12454
  br label %12456

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

12457:                                            ; No predecessors!
  br label %12458

12458:                                            ; preds = %12457
  br label %12459

12459:                                            ; preds = %12458, %12395
  br label %12460

12460:                                            ; preds = %12459
  br label %12461

12461:                                            ; preds = %12460
  br label %12462

12462:                                            ; preds = %12461
  %12463 = load i32, ptr @test_count, align 4, !tbaa !5
  %12464 = add nsw i32 %12463, 1
  store i32 %12464, ptr @test_count, align 4, !tbaa !5
  %12465 = load ptr, ptr %273, align 8, !tbaa !9
  %12466 = call i32 @s2n_connection_free(ptr noundef %12465)
  %12467 = icmp eq i32 %12466, -1
  br i1 %12467, label %12468, label %12521

12468:                                            ; preds = %12462
  br label %12469

12469:                                            ; preds = %12468
  br label %12470

12470:                                            ; preds = %12469
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  %12471 = call ptr @__errno_location() #12
  %12472 = load i32, ptr %12471, align 4, !tbaa !5
  store i32 %12472, ptr %298, align 4, !tbaa !5
  %12473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12474 = call i32 @s2n_print_stacktrace(ptr noundef %12473)
  %12475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12476 = trunc i8 %12475 to i1
  br i1 %12476, label %12477, label %12499

12477:                                            ; preds = %12470
  %12478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12479 = call i32 @fileno(ptr noundef %12478) #11
  %12480 = call i32 @isatty(i32 noundef %12479) #11
  %12481 = icmp ne i32 %12480, 0
  br i1 %12481, label %12482, label %12499

12482:                                            ; preds = %12477
  %12483 = load i32, ptr %298, align 4, !tbaa !5
  %12484 = call ptr @__errno_location() #12
  store i32 %12483, ptr %12484, align 4, !tbaa !5
  %12485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12486 = load i32, ptr @test_count, align 4, !tbaa !5
  %12487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12488 = load i32, ptr %12487, align 4, !tbaa !5
  %12489 = call ptr @s2n_strerror(i32 noundef %12488, ptr noundef @.str.80)
  %12490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12491 = load i32, ptr %12490, align 4, !tbaa !5
  %12492 = call ptr @s2n_strerror_debug(i32 noundef %12491, ptr noundef @.str.80)
  %12493 = call ptr @__errno_location() #12
  %12494 = load i32, ptr %12493, align 4, !tbaa !5
  %12495 = call ptr @strerror(i32 noundef %12494) #11
  %12496 = call ptr @__errno_location() #12
  %12497 = load i32, ptr %12496, align 4, !tbaa !5
  %12498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12485, ptr noundef @.str.78, i32 noundef %12486, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 426, ptr noundef %12489, ptr noundef %12492, ptr noundef %12495, i32 noundef %12497) #11
  br label %12516

12499:                                            ; preds = %12477, %12470
  %12500 = load i32, ptr %298, align 4, !tbaa !5
  %12501 = call ptr @__errno_location() #12
  store i32 %12500, ptr %12501, align 4, !tbaa !5
  %12502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12503 = load i32, ptr @test_count, align 4, !tbaa !5
  %12504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12505 = load i32, ptr %12504, align 4, !tbaa !5
  %12506 = call ptr @s2n_strerror(i32 noundef %12505, ptr noundef @.str.80)
  %12507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12508 = load i32, ptr %12507, align 4, !tbaa !5
  %12509 = call ptr @s2n_strerror_debug(i32 noundef %12508, ptr noundef @.str.80)
  %12510 = call ptr @__errno_location() #12
  %12511 = load i32, ptr %12510, align 4, !tbaa !5
  %12512 = call ptr @strerror(i32 noundef %12511) #11
  %12513 = call ptr @__errno_location() #12
  %12514 = load i32, ptr %12513, align 4, !tbaa !5
  %12515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12502, ptr noundef @.str.81, i32 noundef %12503, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 426, ptr noundef %12506, ptr noundef %12509, ptr noundef %12512, i32 noundef %12514) #11
  br label %12516

12516:                                            ; preds = %12499, %12482
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  br label %12517

12517:                                            ; preds = %12516
  br label %12518

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

12519:                                            ; No predecessors!
  br label %12520

12520:                                            ; preds = %12519
  br label %12521

12521:                                            ; preds = %12520, %12462
  br label %12522

12522:                                            ; preds = %12521
  br label %12523

12523:                                            ; preds = %12522
  br label %12524

12524:                                            ; preds = %12523
  %12525 = load i32, ptr @test_count, align 4, !tbaa !5
  %12526 = add nsw i32 %12525, 1
  store i32 %12526, ptr @test_count, align 4, !tbaa !5
  %12527 = call i32 @s2n_stuffer_free(ptr noundef %275)
  %12528 = icmp eq i32 %12527, -1
  br i1 %12528, label %12529, label %12582

12529:                                            ; preds = %12524
  br label %12530

12530:                                            ; preds = %12529
  br label %12531

12531:                                            ; preds = %12530
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #11
  %12532 = call ptr @__errno_location() #12
  %12533 = load i32, ptr %12532, align 4, !tbaa !5
  store i32 %12533, ptr %299, align 4, !tbaa !5
  %12534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12535 = call i32 @s2n_print_stacktrace(ptr noundef %12534)
  %12536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12537 = trunc i8 %12536 to i1
  br i1 %12537, label %12538, label %12560

12538:                                            ; preds = %12531
  %12539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12540 = call i32 @fileno(ptr noundef %12539) #11
  %12541 = call i32 @isatty(i32 noundef %12540) #11
  %12542 = icmp ne i32 %12541, 0
  br i1 %12542, label %12543, label %12560

12543:                                            ; preds = %12538
  %12544 = load i32, ptr %299, align 4, !tbaa !5
  %12545 = call ptr @__errno_location() #12
  store i32 %12544, ptr %12545, align 4, !tbaa !5
  %12546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12547 = load i32, ptr @test_count, align 4, !tbaa !5
  %12548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12549 = load i32, ptr %12548, align 4, !tbaa !5
  %12550 = call ptr @s2n_strerror(i32 noundef %12549, ptr noundef @.str.80)
  %12551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12552 = load i32, ptr %12551, align 4, !tbaa !5
  %12553 = call ptr @s2n_strerror_debug(i32 noundef %12552, ptr noundef @.str.80)
  %12554 = call ptr @__errno_location() #12
  %12555 = load i32, ptr %12554, align 4, !tbaa !5
  %12556 = call ptr @strerror(i32 noundef %12555) #11
  %12557 = call ptr @__errno_location() #12
  %12558 = load i32, ptr %12557, align 4, !tbaa !5
  %12559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12546, ptr noundef @.str.78, i32 noundef %12547, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 427, ptr noundef %12550, ptr noundef %12553, ptr noundef %12556, i32 noundef %12558) #11
  br label %12577

12560:                                            ; preds = %12538, %12531
  %12561 = load i32, ptr %299, align 4, !tbaa !5
  %12562 = call ptr @__errno_location() #12
  store i32 %12561, ptr %12562, align 4, !tbaa !5
  %12563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12564 = load i32, ptr @test_count, align 4, !tbaa !5
  %12565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12566 = load i32, ptr %12565, align 4, !tbaa !5
  %12567 = call ptr @s2n_strerror(i32 noundef %12566, ptr noundef @.str.80)
  %12568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12569 = load i32, ptr %12568, align 4, !tbaa !5
  %12570 = call ptr @s2n_strerror_debug(i32 noundef %12569, ptr noundef @.str.80)
  %12571 = call ptr @__errno_location() #12
  %12572 = load i32, ptr %12571, align 4, !tbaa !5
  %12573 = call ptr @strerror(i32 noundef %12572) #11
  %12574 = call ptr @__errno_location() #12
  %12575 = load i32, ptr %12574, align 4, !tbaa !5
  %12576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12563, ptr noundef @.str.81, i32 noundef %12564, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 427, ptr noundef %12567, ptr noundef %12570, ptr noundef %12573, i32 noundef %12575) #11
  br label %12577

12577:                                            ; preds = %12560, %12543
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #11
  br label %12578

12578:                                            ; preds = %12577
  br label %12579

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

12580:                                            ; No predecessors!
  br label %12581

12581:                                            ; preds = %12580
  br label %12582

12582:                                            ; preds = %12581, %12524
  br label %12583

12583:                                            ; preds = %12582
  br label %12584

12584:                                            ; preds = %12583
  call void @llvm.lifetime.end.p0(i64 1, ptr %295) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %292) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %284) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %278) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %277) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %275) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %273) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %242) #11
  call void @llvm.lifetime.end.p0(i64 11, ptr %241) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %300) #11
  call void @llvm.memset.p0.i64(ptr align 8 %300, i8 0, i64 24, i1 false)
  br label %12585

12585:                                            ; preds = %12584
  %12586 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %300, ptr noundef @.str.218)
  %12587 = getelementptr inbounds %struct.s2n_result, ptr %301, i32 0, i32 0
  store i32 %12586, ptr %12587, align 4
  %12588 = getelementptr inbounds %struct.s2n_result, ptr %301, i32 0, i32 0
  %12589 = load i32, ptr %12588, align 4
  %12590 = call zeroext i1 @s2n_result_is_ok(i32 %12589)
  br i1 %12590, label %12592, label %12591

12591:                                            ; preds = %12585
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %302, align 4
  br label %19464

12592:                                            ; preds = %12585
  br label %12593

12593:                                            ; preds = %12592
  br label %12594

12594:                                            ; preds = %12593
  call void @llvm.lifetime.start.p0(i64 24, ptr %303) #11
  call void @llvm.memset.p0.i64(ptr align 8 %303, i8 0, i64 24, i1 false)
  br label %12595

12595:                                            ; preds = %12594
  %12596 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %303, ptr noundef @.str.219)
  %12597 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  store i32 %12596, ptr %12597, align 4
  %12598 = getelementptr inbounds %struct.s2n_result, ptr %304, i32 0, i32 0
  %12599 = load i32, ptr %12598, align 4
  %12600 = call zeroext i1 @s2n_result_is_ok(i32 %12599)
  br i1 %12600, label %12602, label %12601

12601:                                            ; preds = %12595
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %302, align 4
  br label %19462

12602:                                            ; preds = %12595
  br label %12603

12603:                                            ; preds = %12602
  br label %12604

12604:                                            ; preds = %12603
  call void @llvm.lifetime.start.p0(i64 24, ptr %305) #11
  call void @llvm.memset.p0.i64(ptr align 8 %305, i8 0, i64 24, i1 false)
  br label %12605

12605:                                            ; preds = %12604
  %12606 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %305, ptr noundef @.str.220)
  %12607 = getelementptr inbounds %struct.s2n_result, ptr %306, i32 0, i32 0
  store i32 %12606, ptr %12607, align 4
  %12608 = getelementptr inbounds %struct.s2n_result, ptr %306, i32 0, i32 0
  %12609 = load i32, ptr %12608, align 4
  %12610 = call zeroext i1 @s2n_result_is_ok(i32 %12609)
  br i1 %12610, label %12612, label %12611

12611:                                            ; preds = %12605
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %302, align 4
  br label %19460

12612:                                            ; preds = %12605
  br label %12613

12613:                                            ; preds = %12612
  br label %12614

12614:                                            ; preds = %12613
  call void @llvm.lifetime.start.p0(i64 24, ptr %307) #11
  call void @llvm.memset.p0.i64(ptr align 8 %307, i8 0, i64 24, i1 false)
  br label %12615

12615:                                            ; preds = %12614
  %12616 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %307, ptr noundef @.str.221)
  %12617 = getelementptr inbounds %struct.s2n_result, ptr %308, i32 0, i32 0
  store i32 %12616, ptr %12617, align 4
  %12618 = getelementptr inbounds %struct.s2n_result, ptr %308, i32 0, i32 0
  %12619 = load i32, ptr %12618, align 4
  %12620 = call zeroext i1 @s2n_result_is_ok(i32 %12619)
  br i1 %12620, label %12622, label %12621

12621:                                            ; preds = %12615
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %302, align 4
  br label %19458

12622:                                            ; preds = %12615
  br label %12623

12623:                                            ; preds = %12622
  br label %12624

12624:                                            ; preds = %12623
  call void @llvm.lifetime.start.p0(i64 24, ptr %309) #11
  call void @llvm.memset.p0.i64(ptr align 8 %309, i8 0, i64 24, i1 false)
  br label %12625

12625:                                            ; preds = %12624
  %12626 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %309, ptr noundef @.str.222)
  %12627 = getelementptr inbounds %struct.s2n_result, ptr %310, i32 0, i32 0
  store i32 %12626, ptr %12627, align 4
  %12628 = getelementptr inbounds %struct.s2n_result, ptr %310, i32 0, i32 0
  %12629 = load i32, ptr %12628, align 4
  %12630 = call zeroext i1 @s2n_result_is_ok(i32 %12629)
  br i1 %12630, label %12632, label %12631

12631:                                            ; preds = %12625
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %302, align 4
  br label %19456

12632:                                            ; preds = %12625
  br label %12633

12633:                                            ; preds = %12632
  br label %12634

12634:                                            ; preds = %12633
  call void @llvm.lifetime.start.p0(i64 24, ptr %311) #11
  call void @llvm.memset.p0.i64(ptr align 8 %311, i8 0, i64 24, i1 false)
  br label %12635

12635:                                            ; preds = %12634
  %12636 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %311, ptr noundef @.str.223)
  %12637 = getelementptr inbounds %struct.s2n_result, ptr %312, i32 0, i32 0
  store i32 %12636, ptr %12637, align 4
  %12638 = getelementptr inbounds %struct.s2n_result, ptr %312, i32 0, i32 0
  %12639 = load i32, ptr %12638, align 4
  %12640 = call zeroext i1 @s2n_result_is_ok(i32 %12639)
  br i1 %12640, label %12642, label %12641

12641:                                            ; preds = %12635
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %302, align 4
  br label %19454

12642:                                            ; preds = %12635
  br label %12643

12643:                                            ; preds = %12642
  br label %12644

12644:                                            ; preds = %12643
  call void @llvm.lifetime.start.p0(i64 24, ptr %313) #11
  call void @llvm.memset.p0.i64(ptr align 8 %313, i8 0, i64 24, i1 false)
  br label %12645

12645:                                            ; preds = %12644
  %12646 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %313, ptr noundef @.str.224)
  %12647 = getelementptr inbounds %struct.s2n_result, ptr %314, i32 0, i32 0
  store i32 %12646, ptr %12647, align 4
  %12648 = getelementptr inbounds %struct.s2n_result, ptr %314, i32 0, i32 0
  %12649 = load i32, ptr %12648, align 4
  %12650 = call zeroext i1 @s2n_result_is_ok(i32 %12649)
  br i1 %12650, label %12652, label %12651

12651:                                            ; preds = %12645
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %302, align 4
  br label %19452

12652:                                            ; preds = %12645
  br label %12653

12653:                                            ; preds = %12652
  br label %12654

12654:                                            ; preds = %12653
  call void @llvm.lifetime.start.p0(i64 8, ptr %315) #11
  store ptr null, ptr %315, align 8, !tbaa !9
  br label %12655

12655:                                            ; preds = %12654
  %12656 = load i32, ptr @test_count, align 4, !tbaa !5
  %12657 = add nsw i32 %12656, 1
  store i32 %12657, ptr @test_count, align 4, !tbaa !5
  %12658 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %12658, ptr %315, align 8, !tbaa !9
  %12659 = icmp eq ptr %12658, null
  br i1 %12659, label %12660, label %12713

12660:                                            ; preds = %12655
  br label %12661

12661:                                            ; preds = %12660
  br label %12662

12662:                                            ; preds = %12661
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #11
  %12663 = call ptr @__errno_location() #12
  %12664 = load i32, ptr %12663, align 4, !tbaa !5
  store i32 %12664, ptr %316, align 4, !tbaa !5
  %12665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12666 = call i32 @s2n_print_stacktrace(ptr noundef %12665)
  %12667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12668 = trunc i8 %12667 to i1
  br i1 %12668, label %12669, label %12691

12669:                                            ; preds = %12662
  %12670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12671 = call i32 @fileno(ptr noundef %12670) #11
  %12672 = call i32 @isatty(i32 noundef %12671) #11
  %12673 = icmp ne i32 %12672, 0
  br i1 %12673, label %12674, label %12691

12674:                                            ; preds = %12669
  %12675 = load i32, ptr %316, align 4, !tbaa !5
  %12676 = call ptr @__errno_location() #12
  store i32 %12675, ptr %12676, align 4, !tbaa !5
  %12677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12678 = load i32, ptr @test_count, align 4, !tbaa !5
  %12679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12680 = load i32, ptr %12679, align 4, !tbaa !5
  %12681 = call ptr @s2n_strerror(i32 noundef %12680, ptr noundef @.str.80)
  %12682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12683 = load i32, ptr %12682, align 4, !tbaa !5
  %12684 = call ptr @s2n_strerror_debug(i32 noundef %12683, ptr noundef @.str.80)
  %12685 = call ptr @__errno_location() #12
  %12686 = load i32, ptr %12685, align 4, !tbaa !5
  %12687 = call ptr @strerror(i32 noundef %12686) #11
  %12688 = call ptr @__errno_location() #12
  %12689 = load i32, ptr %12688, align 4, !tbaa !5
  %12690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12677, ptr noundef @.str.78, i32 noundef %12678, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 486, ptr noundef %12681, ptr noundef %12684, ptr noundef %12687, i32 noundef %12689) #11
  br label %12708

12691:                                            ; preds = %12669, %12662
  %12692 = load i32, ptr %316, align 4, !tbaa !5
  %12693 = call ptr @__errno_location() #12
  store i32 %12692, ptr %12693, align 4, !tbaa !5
  %12694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12695 = load i32, ptr @test_count, align 4, !tbaa !5
  %12696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12697 = load i32, ptr %12696, align 4, !tbaa !5
  %12698 = call ptr @s2n_strerror(i32 noundef %12697, ptr noundef @.str.80)
  %12699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12700 = load i32, ptr %12699, align 4, !tbaa !5
  %12701 = call ptr @s2n_strerror_debug(i32 noundef %12700, ptr noundef @.str.80)
  %12702 = call ptr @__errno_location() #12
  %12703 = load i32, ptr %12702, align 4, !tbaa !5
  %12704 = call ptr @strerror(i32 noundef %12703) #11
  %12705 = call ptr @__errno_location() #12
  %12706 = load i32, ptr %12705, align 4, !tbaa !5
  %12707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12694, ptr noundef @.str.81, i32 noundef %12695, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 486, ptr noundef %12698, ptr noundef %12701, ptr noundef %12704, i32 noundef %12706) #11
  br label %12708

12708:                                            ; preds = %12691, %12674
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #11
  br label %12709

12709:                                            ; preds = %12708
  br label %12710

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

12711:                                            ; No predecessors!
  br label %12712

12712:                                            ; preds = %12711
  br label %12713

12713:                                            ; preds = %12712, %12655
  br label %12714

12714:                                            ; preds = %12713
  br label %12715

12715:                                            ; preds = %12714
  call void @llvm.lifetime.start.p0(i64 24, ptr %317) #11
  call void @llvm.memset.p0.i64(ptr align 8 %317, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %318) #11
  br label %12716

12716:                                            ; preds = %12715
  %12717 = load i32, ptr @test_count, align 4, !tbaa !5
  %12718 = add nsw i32 %12717, 1
  store i32 %12718, ptr @test_count, align 4, !tbaa !5
  %12719 = getelementptr inbounds [32 x i8], ptr %318, i64 0, i64 0
  %12720 = call i32 @s2n_blob_init(ptr noundef %317, ptr noundef %12719, i32 noundef 32)
  %12721 = icmp eq i32 %12720, -1
  br i1 %12721, label %12722, label %12775

12722:                                            ; preds = %12716
  br label %12723

12723:                                            ; preds = %12722
  br label %12724

12724:                                            ; preds = %12723
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  %12725 = call ptr @__errno_location() #12
  %12726 = load i32, ptr %12725, align 4, !tbaa !5
  store i32 %12726, ptr %319, align 4, !tbaa !5
  %12727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12728 = call i32 @s2n_print_stacktrace(ptr noundef %12727)
  %12729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12730 = trunc i8 %12729 to i1
  br i1 %12730, label %12731, label %12753

12731:                                            ; preds = %12724
  %12732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12733 = call i32 @fileno(ptr noundef %12732) #11
  %12734 = call i32 @isatty(i32 noundef %12733) #11
  %12735 = icmp ne i32 %12734, 0
  br i1 %12735, label %12736, label %12753

12736:                                            ; preds = %12731
  %12737 = load i32, ptr %319, align 4, !tbaa !5
  %12738 = call ptr @__errno_location() #12
  store i32 %12737, ptr %12738, align 4, !tbaa !5
  %12739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12740 = load i32, ptr @test_count, align 4, !tbaa !5
  %12741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12742 = load i32, ptr %12741, align 4, !tbaa !5
  %12743 = call ptr @s2n_strerror(i32 noundef %12742, ptr noundef @.str.80)
  %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_debug(i32 noundef %12745, ptr noundef @.str.80)
  %12747 = call ptr @__errno_location() #12
  %12748 = load i32, ptr %12747, align 4, !tbaa !5
  %12749 = call ptr @strerror(i32 noundef %12748) #11
  %12750 = call ptr @__errno_location() #12
  %12751 = load i32, ptr %12750, align 4, !tbaa !5
  %12752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12739, ptr noundef @.str.78, i32 noundef %12740, ptr noundef @.str.225, ptr noundef @.str.77, i32 noundef 490, ptr noundef %12743, ptr noundef %12746, ptr noundef %12749, i32 noundef %12751) #11
  br label %12770

12753:                                            ; preds = %12731, %12724
  %12754 = load i32, ptr %319, align 4, !tbaa !5
  %12755 = call ptr @__errno_location() #12
  store i32 %12754, ptr %12755, align 4, !tbaa !5
  %12756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12757 = load i32, ptr @test_count, align 4, !tbaa !5
  %12758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12759 = load i32, ptr %12758, align 4, !tbaa !5
  %12760 = call ptr @s2n_strerror(i32 noundef %12759, ptr noundef @.str.80)
  %12761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12762 = load i32, ptr %12761, align 4, !tbaa !5
  %12763 = call ptr @s2n_strerror_debug(i32 noundef %12762, ptr noundef @.str.80)
  %12764 = call ptr @__errno_location() #12
  %12765 = load i32, ptr %12764, align 4, !tbaa !5
  %12766 = call ptr @strerror(i32 noundef %12765) #11
  %12767 = call ptr @__errno_location() #12
  %12768 = load i32, ptr %12767, align 4, !tbaa !5
  %12769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12756, ptr noundef @.str.81, i32 noundef %12757, ptr noundef @.str.225, ptr noundef @.str.77, i32 noundef 490, ptr noundef %12760, ptr noundef %12763, ptr noundef %12766, i32 noundef %12768) #11
  br label %12770

12770:                                            ; preds = %12753, %12736
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  br label %12771

12771:                                            ; preds = %12770
  br label %12772

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

12773:                                            ; No predecessors!
  br label %12774

12774:                                            ; preds = %12773
  br label %12775

12775:                                            ; preds = %12774, %12716
  br label %12776

12776:                                            ; preds = %12775
  br label %12777

12777:                                            ; preds = %12776
  br label %12778

12778:                                            ; preds = %12777
  %12779 = load i32, ptr @test_count, align 4, !tbaa !5
  %12780 = add nsw i32 %12779, 1
  store i32 %12780, ptr @test_count, align 4, !tbaa !5
  %12781 = load ptr, ptr %315, align 8, !tbaa !9
  %12782 = call i32 @s2n_psk_calculate_binder_hash(ptr noundef %12781, i32 noundef 4, ptr noundef %303, ptr noundef %317)
  %12783 = icmp eq i32 %12782, -1
  br i1 %12783, label %12784, label %12837

12784:                                            ; preds = %12778
  br label %12785

12785:                                            ; preds = %12784
  br label %12786

12786:                                            ; preds = %12785
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #11
  %12787 = call ptr @__errno_location() #12
  %12788 = load i32, ptr %12787, align 4, !tbaa !5
  store i32 %12788, ptr %320, align 4, !tbaa !5
  %12789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12790 = call i32 @s2n_print_stacktrace(ptr noundef %12789)
  %12791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12792 = trunc i8 %12791 to i1
  br i1 %12792, label %12793, label %12815

12793:                                            ; preds = %12786
  %12794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12795 = call i32 @fileno(ptr noundef %12794) #11
  %12796 = call i32 @isatty(i32 noundef %12795) #11
  %12797 = icmp ne i32 %12796, 0
  br i1 %12797, label %12798, label %12815

12798:                                            ; preds = %12793
  %12799 = load i32, ptr %320, align 4, !tbaa !5
  %12800 = call ptr @__errno_location() #12
  store i32 %12799, ptr %12800, align 4, !tbaa !5
  %12801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12802 = load i32, ptr @test_count, align 4, !tbaa !5
  %12803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12804 = load i32, ptr %12803, align 4, !tbaa !5
  %12805 = call ptr @s2n_strerror(i32 noundef %12804, ptr noundef @.str.80)
  %12806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12807 = load i32, ptr %12806, align 4, !tbaa !5
  %12808 = call ptr @s2n_strerror_debug(i32 noundef %12807, ptr noundef @.str.80)
  %12809 = call ptr @__errno_location() #12
  %12810 = load i32, ptr %12809, align 4, !tbaa !5
  %12811 = call ptr @strerror(i32 noundef %12810) #11
  %12812 = call ptr @__errno_location() #12
  %12813 = load i32, ptr %12812, align 4, !tbaa !5
  %12814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12801, ptr noundef @.str.78, i32 noundef %12802, ptr noundef @.str.226, ptr noundef @.str.77, i32 noundef 492, ptr noundef %12805, ptr noundef %12808, ptr noundef %12811, i32 noundef %12813) #11
  br label %12832

12815:                                            ; preds = %12793, %12786
  %12816 = load i32, ptr %320, align 4, !tbaa !5
  %12817 = call ptr @__errno_location() #12
  store i32 %12816, ptr %12817, align 4, !tbaa !5
  %12818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12819 = load i32, ptr @test_count, align 4, !tbaa !5
  %12820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12821 = load i32, ptr %12820, align 4, !tbaa !5
  %12822 = call ptr @s2n_strerror(i32 noundef %12821, ptr noundef @.str.80)
  %12823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12824 = load i32, ptr %12823, align 4, !tbaa !5
  %12825 = call ptr @s2n_strerror_debug(i32 noundef %12824, ptr noundef @.str.80)
  %12826 = call ptr @__errno_location() #12
  %12827 = load i32, ptr %12826, align 4, !tbaa !5
  %12828 = call ptr @strerror(i32 noundef %12827) #11
  %12829 = call ptr @__errno_location() #12
  %12830 = load i32, ptr %12829, align 4, !tbaa !5
  %12831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12818, ptr noundef @.str.81, i32 noundef %12819, ptr noundef @.str.226, ptr noundef @.str.77, i32 noundef 492, ptr noundef %12822, ptr noundef %12825, ptr noundef %12828, i32 noundef %12830) #11
  br label %12832

12832:                                            ; preds = %12815, %12798
  call void @llvm.lifetime.end.p0(i64 4, ptr %320) #11
  br label %12833

12833:                                            ; preds = %12832
  br label %12834

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

12835:                                            ; No predecessors!
  br label %12836

12836:                                            ; preds = %12835
  br label %12837

12837:                                            ; preds = %12836, %12778
  br label %12838

12838:                                            ; preds = %12837
  br label %12839

12839:                                            ; preds = %12838
  br label %12840

12840:                                            ; preds = %12839
  br label %12841

12841:                                            ; preds = %12840
  %12842 = load i32, ptr @test_count, align 4, !tbaa !5
  %12843 = add nsw i32 %12842, 1
  store i32 %12843, ptr @test_count, align 4, !tbaa !5
  %12844 = getelementptr inbounds %struct.s2n_blob, ptr %317, i32 0, i32 1
  %12845 = load i32, ptr %12844, align 8, !tbaa !79
  %12846 = getelementptr inbounds %struct.s2n_blob, ptr %309, i32 0, i32 1
  %12847 = load i32, ptr %12846, align 8, !tbaa !79
  %12848 = icmp eq i32 %12845, %12847
  br i1 %12848, label %12902, label %12849

12849:                                            ; preds = %12841
  br label %12850

12850:                                            ; preds = %12849
  br label %12851

12851:                                            ; preds = %12850
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #11
  %12852 = call ptr @__errno_location() #12
  %12853 = load i32, ptr %12852, align 4, !tbaa !5
  store i32 %12853, ptr %321, align 4, !tbaa !5
  %12854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12855 = call i32 @s2n_print_stacktrace(ptr noundef %12854)
  %12856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12857 = trunc i8 %12856 to i1
  br i1 %12857, label %12858, label %12880

12858:                                            ; preds = %12851
  %12859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12860 = call i32 @fileno(ptr noundef %12859) #11
  %12861 = call i32 @isatty(i32 noundef %12860) #11
  %12862 = icmp ne i32 %12861, 0
  br i1 %12862, label %12863, label %12880

12863:                                            ; preds = %12858
  %12864 = load i32, ptr %321, align 4, !tbaa !5
  %12865 = call ptr @__errno_location() #12
  store i32 %12864, ptr %12865, align 4, !tbaa !5
  %12866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12867 = load i32, ptr @test_count, align 4, !tbaa !5
  %12868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12869 = load i32, ptr %12868, align 4, !tbaa !5
  %12870 = call ptr @s2n_strerror(i32 noundef %12869, ptr noundef @.str.80)
  %12871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12872 = load i32, ptr %12871, align 4, !tbaa !5
  %12873 = call ptr @s2n_strerror_debug(i32 noundef %12872, ptr noundef @.str.80)
  %12874 = call ptr @__errno_location() #12
  %12875 = load i32, ptr %12874, align 4, !tbaa !5
  %12876 = call ptr @strerror(i32 noundef %12875) #11
  %12877 = call ptr @__errno_location() #12
  %12878 = load i32, ptr %12877, align 4, !tbaa !5
  %12879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12866, ptr noundef @.str.78, i32 noundef %12867, ptr noundef @.str.227, ptr noundef @.str.77, i32 noundef 493, ptr noundef %12870, ptr noundef %12873, ptr noundef %12876, i32 noundef %12878) #11
  br label %12897

12880:                                            ; preds = %12858, %12851
  %12881 = load i32, ptr %321, align 4, !tbaa !5
  %12882 = call ptr @__errno_location() #12
  store i32 %12881, ptr %12882, align 4, !tbaa !5
  %12883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12884 = load i32, ptr @test_count, align 4, !tbaa !5
  %12885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12886 = load i32, ptr %12885, align 4, !tbaa !5
  %12887 = call ptr @s2n_strerror(i32 noundef %12886, ptr noundef @.str.80)
  %12888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12889 = load i32, ptr %12888, align 4, !tbaa !5
  %12890 = call ptr @s2n_strerror_debug(i32 noundef %12889, ptr noundef @.str.80)
  %12891 = call ptr @__errno_location() #12
  %12892 = load i32, ptr %12891, align 4, !tbaa !5
  %12893 = call ptr @strerror(i32 noundef %12892) #11
  %12894 = call ptr @__errno_location() #12
  %12895 = load i32, ptr %12894, align 4, !tbaa !5
  %12896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12883, ptr noundef @.str.81, i32 noundef %12884, ptr noundef @.str.227, ptr noundef @.str.77, i32 noundef 493, ptr noundef %12887, ptr noundef %12890, ptr noundef %12893, i32 noundef %12895) #11
  br label %12897

12897:                                            ; preds = %12880, %12863
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #11
  br label %12898

12898:                                            ; preds = %12897
  br label %12899

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

12900:                                            ; No predecessors!
  br label %12901

12901:                                            ; preds = %12900
  br label %12902

12902:                                            ; preds = %12901, %12841
  br label %12903

12903:                                            ; preds = %12902
  br label %12904

12904:                                            ; preds = %12903
  br label %12905

12905:                                            ; preds = %12904
  %12906 = getelementptr inbounds %struct.s2n_blob, ptr %317, i32 0, i32 1
  %12907 = load i32, ptr %12906, align 8, !tbaa !79
  %12908 = icmp ne i32 %12907, 0
  br i1 %12908, label %12909, label %12978

12909:                                            ; preds = %12905
  br label %12910

12910:                                            ; preds = %12909
  %12911 = load i32, ptr @test_count, align 4, !tbaa !5
  %12912 = add nsw i32 %12911, 1
  store i32 %12912, ptr @test_count, align 4, !tbaa !5
  %12913 = getelementptr inbounds %struct.s2n_blob, ptr %317, i32 0, i32 0
  %12914 = load ptr, ptr %12913, align 8, !tbaa !80
  %12915 = getelementptr inbounds %struct.s2n_blob, ptr %309, i32 0, i32 0
  %12916 = load ptr, ptr %12915, align 8, !tbaa !80
  %12917 = getelementptr inbounds %struct.s2n_blob, ptr %317, i32 0, i32 1
  %12918 = load i32, ptr %12917, align 8, !tbaa !79
  %12919 = zext i32 %12918 to i64
  %12920 = call i32 @memcmp(ptr noundef %12914, ptr noundef %12916, i64 noundef %12919) #14
  %12921 = icmp eq i32 %12920, 0
  br i1 %12921, label %12975, label %12922

12922:                                            ; preds = %12910
  br label %12923

12923:                                            ; preds = %12922
  br label %12924

12924:                                            ; preds = %12923
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  %12925 = call ptr @__errno_location() #12
  %12926 = load i32, ptr %12925, align 4, !tbaa !5
  store i32 %12926, ptr %322, align 4, !tbaa !5
  %12927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12928 = call i32 @s2n_print_stacktrace(ptr noundef %12927)
  %12929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12930 = trunc i8 %12929 to i1
  br i1 %12930, label %12931, label %12953

12931:                                            ; preds = %12924
  %12932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12933 = call i32 @fileno(ptr noundef %12932) #11
  %12934 = call i32 @isatty(i32 noundef %12933) #11
  %12935 = icmp ne i32 %12934, 0
  br i1 %12935, label %12936, label %12953

12936:                                            ; preds = %12931
  %12937 = load i32, ptr %322, align 4, !tbaa !5
  %12938 = call ptr @__errno_location() #12
  store i32 %12937, ptr %12938, align 4, !tbaa !5
  %12939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12940 = load i32, ptr @test_count, align 4, !tbaa !5
  %12941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12942 = load i32, ptr %12941, align 4, !tbaa !5
  %12943 = call ptr @s2n_strerror(i32 noundef %12942, ptr noundef @.str.80)
  %12944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12945 = load i32, ptr %12944, align 4, !tbaa !5
  %12946 = call ptr @s2n_strerror_debug(i32 noundef %12945, ptr noundef @.str.80)
  %12947 = call ptr @__errno_location() #12
  %12948 = load i32, ptr %12947, align 4, !tbaa !5
  %12949 = call ptr @strerror(i32 noundef %12948) #11
  %12950 = call ptr @__errno_location() #12
  %12951 = load i32, ptr %12950, align 4, !tbaa !5
  %12952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12939, ptr noundef @.str.78, i32 noundef %12940, ptr noundef @.str.228, ptr noundef @.str.77, i32 noundef 493, ptr noundef %12943, ptr noundef %12946, ptr noundef %12949, i32 noundef %12951) #11
  br label %12970

12953:                                            ; preds = %12931, %12924
  %12954 = load i32, ptr %322, align 4, !tbaa !5
  %12955 = call ptr @__errno_location() #12
  store i32 %12954, ptr %12955, align 4, !tbaa !5
  %12956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12957 = load i32, ptr @test_count, align 4, !tbaa !5
  %12958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12959 = load i32, ptr %12958, align 4, !tbaa !5
  %12960 = call ptr @s2n_strerror(i32 noundef %12959, ptr noundef @.str.80)
  %12961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12962 = load i32, ptr %12961, align 4, !tbaa !5
  %12963 = call ptr @s2n_strerror_debug(i32 noundef %12962, ptr noundef @.str.80)
  %12964 = call ptr @__errno_location() #12
  %12965 = load i32, ptr %12964, align 4, !tbaa !5
  %12966 = call ptr @strerror(i32 noundef %12965) #11
  %12967 = call ptr @__errno_location() #12
  %12968 = load i32, ptr %12967, align 4, !tbaa !5
  %12969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12956, ptr noundef @.str.81, i32 noundef %12957, ptr noundef @.str.228, ptr noundef @.str.77, i32 noundef 493, ptr noundef %12960, ptr noundef %12963, ptr noundef %12966, i32 noundef %12968) #11
  br label %12970

12970:                                            ; preds = %12953, %12936
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  br label %12971

12971:                                            ; preds = %12970
  br label %12972

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

12973:                                            ; No predecessors!
  br label %12974

12974:                                            ; preds = %12973
  br label %12975

12975:                                            ; preds = %12974, %12910
  br label %12976

12976:                                            ; preds = %12975
  br label %12977

12977:                                            ; preds = %12976
  br label %12978

12978:                                            ; preds = %12977, %12905
  br label %12979

12979:                                            ; preds = %12978
  br label %12980

12980:                                            ; preds = %12979
  br label %12981

12981:                                            ; preds = %12980
  br label %12982

12982:                                            ; preds = %12981
  br label %12983

12983:                                            ; preds = %12982
  %12984 = load i32, ptr @test_count, align 4, !tbaa !5
  %12985 = add nsw i32 %12984, 1
  store i32 %12985, ptr @test_count, align 4, !tbaa !5
  %12986 = load ptr, ptr %315, align 8, !tbaa !9
  %12987 = call i32 @s2n_connection_free(ptr noundef %12986)
  %12988 = icmp eq i32 %12987, -1
  br i1 %12988, label %12989, label %13042

12989:                                            ; preds = %12983
  br label %12990

12990:                                            ; preds = %12989
  br label %12991

12991:                                            ; preds = %12990
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  %12992 = call ptr @__errno_location() #12
  %12993 = load i32, ptr %12992, align 4, !tbaa !5
  store i32 %12993, ptr %323, align 4, !tbaa !5
  %12994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12995 = call i32 @s2n_print_stacktrace(ptr noundef %12994)
  %12996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12997 = trunc i8 %12996 to i1
  br i1 %12997, label %12998, label %13020

12998:                                            ; preds = %12991
  %12999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13000 = call i32 @fileno(ptr noundef %12999) #11
  %13001 = call i32 @isatty(i32 noundef %13000) #11
  %13002 = icmp ne i32 %13001, 0
  br i1 %13002, label %13003, label %13020

13003:                                            ; preds = %12998
  %13004 = load i32, ptr %323, 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.80)
  %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.80)
  %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.78, i32 noundef %13007, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 495, ptr noundef %13010, ptr noundef %13013, ptr noundef %13016, i32 noundef %13018) #11
  br label %13037

13020:                                            ; preds = %12998, %12991
  %13021 = load i32, ptr %323, align 4, !tbaa !5
  %13022 = call ptr @__errno_location() #12
  store i32 %13021, ptr %13022, align 4, !tbaa !5
  %13023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13024 = load i32, ptr @test_count, align 4, !tbaa !5
  %13025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13026 = load i32, ptr %13025, align 4, !tbaa !5
  %13027 = call ptr @s2n_strerror(i32 noundef %13026, ptr noundef @.str.80)
  %13028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13029 = load i32, ptr %13028, align 4, !tbaa !5
  %13030 = call ptr @s2n_strerror_debug(i32 noundef %13029, ptr noundef @.str.80)
  %13031 = call ptr @__errno_location() #12
  %13032 = load i32, ptr %13031, align 4, !tbaa !5
  %13033 = call ptr @strerror(i32 noundef %13032) #11
  %13034 = call ptr @__errno_location() #12
  %13035 = load i32, ptr %13034, align 4, !tbaa !5
  %13036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13023, ptr noundef @.str.81, i32 noundef %13024, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 495, ptr noundef %13027, ptr noundef %13030, ptr noundef %13033, i32 noundef %13035) #11
  br label %13037

13037:                                            ; preds = %13020, %13003
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  br label %13038

13038:                                            ; preds = %13037
  br label %13039

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

13040:                                            ; No predecessors!
  br label %13041

13041:                                            ; preds = %13040
  br label %13042

13042:                                            ; preds = %13041, %12983
  br label %13043

13043:                                            ; preds = %13042
  br label %13044

13044:                                            ; preds = %13043
  call void @llvm.lifetime.end.p0(i64 32, ptr %318) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %317) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %315) #11
  call void @llvm.lifetime.start.p0(i64 168, ptr %324) #11
  br label %13045

13045:                                            ; preds = %13044
  %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 = call i32 @s2n_psk_init(ptr noundef %324, i32 noundef 0)
  %13049 = getelementptr inbounds %struct.s2n_result, ptr %325, i32 0, i32 0
  store i32 %13048, ptr %13049, align 4
  %13050 = getelementptr inbounds %struct.s2n_result, ptr %325, i32 0, i32 0
  %13051 = load i32, ptr %13050, align 4
  %13052 = call zeroext i1 @s2n_result_is_ok(i32 %13051)
  br i1 %13052, label %13106, label %13053

13053:                                            ; preds = %13045
  br label %13054

13054:                                            ; preds = %13053
  br label %13055

13055:                                            ; preds = %13054
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #11
  %13056 = call ptr @__errno_location() #12
  %13057 = load i32, ptr %13056, align 4, !tbaa !5
  store i32 %13057, ptr %326, align 4, !tbaa !5
  %13058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13059 = call i32 @s2n_print_stacktrace(ptr noundef %13058)
  %13060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13061 = trunc i8 %13060 to i1
  br i1 %13061, label %13062, label %13084

13062:                                            ; preds = %13055
  %13063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13064 = call i32 @fileno(ptr noundef %13063) #11
  %13065 = call i32 @isatty(i32 noundef %13064) #11
  %13066 = icmp ne i32 %13065, 0
  br i1 %13066, label %13067, label %13084

13067:                                            ; preds = %13062
  %13068 = load i32, ptr %326, align 4, !tbaa !5
  %13069 = call ptr @__errno_location() #12
  store i32 %13068, ptr %13069, align 4, !tbaa !5
  %13070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13071 = load i32, ptr @test_count, align 4, !tbaa !5
  %13072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13073 = load i32, ptr %13072, align 4, !tbaa !5
  %13074 = call ptr @s2n_strerror(i32 noundef %13073, ptr noundef @.str.80)
  %13075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13076 = load i32, ptr %13075, align 4, !tbaa !5
  %13077 = call ptr @s2n_strerror_debug(i32 noundef %13076, ptr noundef @.str.80)
  %13078 = call ptr @__errno_location() #12
  %13079 = load i32, ptr %13078, align 4, !tbaa !5
  %13080 = call ptr @strerror(i32 noundef %13079) #11
  %13081 = call ptr @__errno_location() #12
  %13082 = load i32, ptr %13081, align 4, !tbaa !5
  %13083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13070, ptr noundef @.str.78, i32 noundef %13071, ptr noundef @.str.229, ptr noundef @.str.77, i32 noundef 501, ptr noundef %13074, ptr noundef %13077, ptr noundef %13080, i32 noundef %13082) #11
  br label %13101

13084:                                            ; preds = %13062, %13055
  %13085 = load i32, ptr %326, align 4, !tbaa !5
  %13086 = call ptr @__errno_location() #12
  store i32 %13085, ptr %13086, align 4, !tbaa !5
  %13087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13088 = load i32, ptr @test_count, align 4, !tbaa !5
  %13089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13090 = load i32, ptr %13089, align 4, !tbaa !5
  %13091 = call ptr @s2n_strerror(i32 noundef %13090, ptr noundef @.str.80)
  %13092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13093 = load i32, ptr %13092, align 4, !tbaa !5
  %13094 = call ptr @s2n_strerror_debug(i32 noundef %13093, ptr noundef @.str.80)
  %13095 = call ptr @__errno_location() #12
  %13096 = load i32, ptr %13095, align 4, !tbaa !5
  %13097 = call ptr @strerror(i32 noundef %13096) #11
  %13098 = call ptr @__errno_location() #12
  %13099 = load i32, ptr %13098, align 4, !tbaa !5
  %13100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13087, ptr noundef @.str.81, i32 noundef %13088, ptr noundef @.str.229, ptr noundef @.str.77, i32 noundef 501, ptr noundef %13091, ptr noundef %13094, ptr noundef %13097, i32 noundef %13099) #11
  br label %13101

13101:                                            ; preds = %13084, %13067
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #11
  br label %13102

13102:                                            ; preds = %13101
  br label %13103

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

13104:                                            ; No predecessors!
  br label %13105

13105:                                            ; preds = %13104
  br label %13106

13106:                                            ; preds = %13105, %13045
  br label %13107

13107:                                            ; preds = %13106
  br label %13108

13108:                                            ; preds = %13107
  br label %13109

13109:                                            ; preds = %13108
  %13110 = load i32, ptr @test_count, align 4, !tbaa !5
  %13111 = add nsw i32 %13110, 1
  store i32 %13111, ptr @test_count, align 4, !tbaa !5
  %13112 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 0
  %13113 = load ptr, ptr %13112, align 8, !tbaa !80
  %13114 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 1
  %13115 = load i32, ptr %13114, align 8, !tbaa !79
  %13116 = trunc i32 %13115 to i16
  %13117 = call i32 @s2n_psk_set_secret(ptr noundef %324, ptr noundef %13113, i16 noundef zeroext %13116)
  %13118 = icmp eq i32 %13117, -1
  br i1 %13118, label %13119, label %13172

13119:                                            ; preds = %13109
  br label %13120

13120:                                            ; preds = %13119
  br label %13121

13121:                                            ; preds = %13120
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #11
  %13122 = call ptr @__errno_location() #12
  %13123 = load i32, ptr %13122, align 4, !tbaa !5
  store i32 %13123, ptr %327, align 4, !tbaa !5
  %13124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13125 = call i32 @s2n_print_stacktrace(ptr noundef %13124)
  %13126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13127 = trunc i8 %13126 to i1
  br i1 %13127, label %13128, label %13150

13128:                                            ; preds = %13121
  %13129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13130 = call i32 @fileno(ptr noundef %13129) #11
  %13131 = call i32 @isatty(i32 noundef %13130) #11
  %13132 = icmp ne i32 %13131, 0
  br i1 %13132, label %13133, label %13150

13133:                                            ; preds = %13128
  %13134 = load i32, ptr %327, align 4, !tbaa !5
  %13135 = call ptr @__errno_location() #12
  store i32 %13134, ptr %13135, align 4, !tbaa !5
  %13136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13137 = load i32, ptr @test_count, align 4, !tbaa !5
  %13138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13139 = load i32, ptr %13138, align 4, !tbaa !5
  %13140 = call ptr @s2n_strerror(i32 noundef %13139, ptr noundef @.str.80)
  %13141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13142 = load i32, ptr %13141, align 4, !tbaa !5
  %13143 = call ptr @s2n_strerror_debug(i32 noundef %13142, ptr noundef @.str.80)
  %13144 = call ptr @__errno_location() #12
  %13145 = load i32, ptr %13144, align 4, !tbaa !5
  %13146 = call ptr @strerror(i32 noundef %13145) #11
  %13147 = call ptr @__errno_location() #12
  %13148 = load i32, ptr %13147, align 4, !tbaa !5
  %13149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13136, ptr noundef @.str.78, i32 noundef %13137, ptr noundef @.str.230, ptr noundef @.str.77, i32 noundef 502, ptr noundef %13140, ptr noundef %13143, ptr noundef %13146, i32 noundef %13148) #11
  br label %13167

13150:                                            ; preds = %13128, %13121
  %13151 = load i32, ptr %327, align 4, !tbaa !5
  %13152 = call ptr @__errno_location() #12
  store i32 %13151, ptr %13152, align 4, !tbaa !5
  %13153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13154 = load i32, ptr @test_count, align 4, !tbaa !5
  %13155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13156 = load i32, ptr %13155, align 4, !tbaa !5
  %13157 = call ptr @s2n_strerror(i32 noundef %13156, ptr noundef @.str.80)
  %13158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13159 = load i32, ptr %13158, align 4, !tbaa !5
  %13160 = call ptr @s2n_strerror_debug(i32 noundef %13159, ptr noundef @.str.80)
  %13161 = call ptr @__errno_location() #12
  %13162 = load i32, ptr %13161, align 4, !tbaa !5
  %13163 = call ptr @strerror(i32 noundef %13162) #11
  %13164 = call ptr @__errno_location() #12
  %13165 = load i32, ptr %13164, align 4, !tbaa !5
  %13166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13153, ptr noundef @.str.81, i32 noundef %13154, ptr noundef @.str.230, ptr noundef @.str.77, i32 noundef 502, ptr noundef %13157, ptr noundef %13160, ptr noundef %13163, i32 noundef %13165) #11
  br label %13167

13167:                                            ; preds = %13150, %13133
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #11
  br label %13168

13168:                                            ; preds = %13167
  br label %13169

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

13170:                                            ; No predecessors!
  br label %13171

13171:                                            ; preds = %13170
  br label %13172

13172:                                            ; preds = %13171, %13109
  br label %13173

13173:                                            ; preds = %13172
  br label %13174

13174:                                            ; preds = %13173
  call void @llvm.lifetime.start.p0(i64 24, ptr %328) #11
  call void @llvm.memset.p0.i64(ptr align 8 %328, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %329) #11
  br label %13175

13175:                                            ; preds = %13174
  %13176 = load i32, ptr @test_count, align 4, !tbaa !5
  %13177 = add nsw i32 %13176, 1
  store i32 %13177, ptr @test_count, align 4, !tbaa !5
  %13178 = getelementptr inbounds [32 x i8], ptr %329, i64 0, i64 0
  %13179 = call i32 @s2n_blob_init(ptr noundef %328, ptr noundef %13178, i32 noundef 32)
  %13180 = icmp eq i32 %13179, -1
  br i1 %13180, label %13181, label %13234

13181:                                            ; preds = %13175
  br label %13182

13182:                                            ; preds = %13181
  br label %13183

13183:                                            ; preds = %13182
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %13184 = call ptr @__errno_location() #12
  %13185 = load i32, ptr %13184, align 4, !tbaa !5
  store i32 %13185, ptr %330, align 4, !tbaa !5
  %13186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13187 = call i32 @s2n_print_stacktrace(ptr noundef %13186)
  %13188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13189 = trunc i8 %13188 to i1
  br i1 %13189, label %13190, label %13212

13190:                                            ; preds = %13183
  %13191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13192 = call i32 @fileno(ptr noundef %13191) #11
  %13193 = call i32 @isatty(i32 noundef %13192) #11
  %13194 = icmp ne i32 %13193, 0
  br i1 %13194, label %13195, label %13212

13195:                                            ; preds = %13190
  %13196 = load i32, ptr %330, align 4, !tbaa !5
  %13197 = call ptr @__errno_location() #12
  store i32 %13196, ptr %13197, align 4, !tbaa !5
  %13198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13199 = load i32, ptr @test_count, align 4, !tbaa !5
  %13200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13201 = load i32, ptr %13200, align 4, !tbaa !5
  %13202 = call ptr @s2n_strerror(i32 noundef %13201, ptr noundef @.str.80)
  %13203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13204 = load i32, ptr %13203, align 4, !tbaa !5
  %13205 = call ptr @s2n_strerror_debug(i32 noundef %13204, ptr noundef @.str.80)
  %13206 = call ptr @__errno_location() #12
  %13207 = load i32, ptr %13206, align 4, !tbaa !5
  %13208 = call ptr @strerror(i32 noundef %13207) #11
  %13209 = call ptr @__errno_location() #12
  %13210 = load i32, ptr %13209, align 4, !tbaa !5
  %13211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13198, ptr noundef @.str.78, i32 noundef %13199, ptr noundef @.str.231, ptr noundef @.str.77, i32 noundef 506, ptr noundef %13202, ptr noundef %13205, ptr noundef %13208, i32 noundef %13210) #11
  br label %13229

13212:                                            ; preds = %13190, %13183
  %13213 = load i32, ptr %330, align 4, !tbaa !5
  %13214 = call ptr @__errno_location() #12
  store i32 %13213, ptr %13214, align 4, !tbaa !5
  %13215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13216 = load i32, ptr @test_count, align 4, !tbaa !5
  %13217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13218 = load i32, ptr %13217, align 4, !tbaa !5
  %13219 = call ptr @s2n_strerror(i32 noundef %13218, ptr noundef @.str.80)
  %13220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13221 = load i32, ptr %13220, align 4, !tbaa !5
  %13222 = call ptr @s2n_strerror_debug(i32 noundef %13221, ptr noundef @.str.80)
  %13223 = call ptr @__errno_location() #12
  %13224 = load i32, ptr %13223, align 4, !tbaa !5
  %13225 = call ptr @strerror(i32 noundef %13224) #11
  %13226 = call ptr @__errno_location() #12
  %13227 = load i32, ptr %13226, align 4, !tbaa !5
  %13228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13215, ptr noundef @.str.81, i32 noundef %13216, ptr noundef @.str.231, ptr noundef @.str.77, i32 noundef 506, ptr noundef %13219, ptr noundef %13222, ptr noundef %13225, i32 noundef %13227) #11
  br label %13229

13229:                                            ; preds = %13212, %13195
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %13230

13230:                                            ; preds = %13229
  br label %13231

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

13232:                                            ; No predecessors!
  br label %13233

13233:                                            ; preds = %13232
  br label %13234

13234:                                            ; preds = %13233, %13175
  br label %13235

13235:                                            ; preds = %13234
  br label %13236

13236:                                            ; preds = %13235
  br label %13237

13237:                                            ; preds = %13236
  %13238 = load i32, ptr @test_count, align 4, !tbaa !5
  %13239 = add nsw i32 %13238, 1
  store i32 %13239, ptr @test_count, align 4, !tbaa !5
  %13240 = call i32 @s2n_psk_calculate_binder(ptr noundef %324, ptr noundef %309, ptr noundef %328)
  %13241 = icmp eq i32 %13240, -1
  br i1 %13241, label %13242, label %13295

13242:                                            ; preds = %13237
  br label %13243

13243:                                            ; preds = %13242
  br label %13244

13244:                                            ; preds = %13243
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %13245 = call ptr @__errno_location() #12
  %13246 = load i32, ptr %13245, align 4, !tbaa !5
  store i32 %13246, ptr %331, align 4, !tbaa !5
  %13247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13248 = call i32 @s2n_print_stacktrace(ptr noundef %13247)
  %13249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13250 = trunc i8 %13249 to i1
  br i1 %13250, label %13251, label %13273

13251:                                            ; preds = %13244
  %13252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13253 = call i32 @fileno(ptr noundef %13252) #11
  %13254 = call i32 @isatty(i32 noundef %13253) #11
  %13255 = icmp ne i32 %13254, 0
  br i1 %13255, label %13256, label %13273

13256:                                            ; preds = %13251
  %13257 = load i32, ptr %331, align 4, !tbaa !5
  %13258 = call ptr @__errno_location() #12
  store i32 %13257, ptr %13258, align 4, !tbaa !5
  %13259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13260 = load i32, ptr @test_count, align 4, !tbaa !5
  %13261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13262 = load i32, ptr %13261, align 4, !tbaa !5
  %13263 = call ptr @s2n_strerror(i32 noundef %13262, ptr noundef @.str.80)
  %13264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13265 = load i32, ptr %13264, align 4, !tbaa !5
  %13266 = call ptr @s2n_strerror_debug(i32 noundef %13265, ptr noundef @.str.80)
  %13267 = call ptr @__errno_location() #12
  %13268 = load i32, ptr %13267, align 4, !tbaa !5
  %13269 = call ptr @strerror(i32 noundef %13268) #11
  %13270 = call ptr @__errno_location() #12
  %13271 = load i32, ptr %13270, align 4, !tbaa !5
  %13272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13259, ptr noundef @.str.78, i32 noundef %13260, ptr noundef @.str.232, ptr noundef @.str.77, i32 noundef 508, ptr noundef %13263, ptr noundef %13266, ptr noundef %13269, i32 noundef %13271) #11
  br label %13290

13273:                                            ; preds = %13251, %13244
  %13274 = load i32, ptr %331, align 4, !tbaa !5
  %13275 = call ptr @__errno_location() #12
  store i32 %13274, ptr %13275, align 4, !tbaa !5
  %13276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13277 = load i32, ptr @test_count, align 4, !tbaa !5
  %13278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13279 = load i32, ptr %13278, align 4, !tbaa !5
  %13280 = call ptr @s2n_strerror(i32 noundef %13279, ptr noundef @.str.80)
  %13281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13282 = load i32, ptr %13281, align 4, !tbaa !5
  %13283 = call ptr @s2n_strerror_debug(i32 noundef %13282, ptr noundef @.str.80)
  %13284 = call ptr @__errno_location() #12
  %13285 = load i32, ptr %13284, align 4, !tbaa !5
  %13286 = call ptr @strerror(i32 noundef %13285) #11
  %13287 = call ptr @__errno_location() #12
  %13288 = load i32, ptr %13287, align 4, !tbaa !5
  %13289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13276, ptr noundef @.str.81, i32 noundef %13277, ptr noundef @.str.232, ptr noundef @.str.77, i32 noundef 508, ptr noundef %13280, ptr noundef %13283, ptr noundef %13286, i32 noundef %13288) #11
  br label %13290

13290:                                            ; preds = %13273, %13256
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  br label %13291

13291:                                            ; preds = %13290
  br label %13292

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

13293:                                            ; No predecessors!
  br label %13294

13294:                                            ; preds = %13293
  br label %13295

13295:                                            ; preds = %13294, %13237
  br label %13296

13296:                                            ; preds = %13295
  br label %13297

13297:                                            ; preds = %13296
  br label %13298

13298:                                            ; preds = %13297
  br label %13299

13299:                                            ; preds = %13298
  %13300 = load i32, ptr @test_count, align 4, !tbaa !5
  %13301 = add nsw i32 %13300, 1
  store i32 %13301, ptr @test_count, align 4, !tbaa !5
  %13302 = getelementptr inbounds %struct.s2n_psk, ptr %324, i32 0, i32 6
  %13303 = getelementptr inbounds %struct.s2n_blob, ptr %13302, i32 0, i32 1
  %13304 = load i32, ptr %13303, align 8, !tbaa !29
  %13305 = getelementptr inbounds %struct.s2n_blob, ptr %311, i32 0, i32 1
  %13306 = load i32, ptr %13305, align 8, !tbaa !79
  %13307 = icmp eq i32 %13304, %13306
  br i1 %13307, label %13361, label %13308

13308:                                            ; preds = %13299
  br label %13309

13309:                                            ; preds = %13308
  br label %13310

13310:                                            ; preds = %13309
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #11
  %13311 = call ptr @__errno_location() #12
  %13312 = load i32, ptr %13311, align 4, !tbaa !5
  store i32 %13312, ptr %332, align 4, !tbaa !5
  %13313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13314 = call i32 @s2n_print_stacktrace(ptr noundef %13313)
  %13315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13316 = trunc i8 %13315 to i1
  br i1 %13316, label %13317, label %13339

13317:                                            ; preds = %13310
  %13318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13319 = call i32 @fileno(ptr noundef %13318) #11
  %13320 = call i32 @isatty(i32 noundef %13319) #11
  %13321 = icmp ne i32 %13320, 0
  br i1 %13321, label %13322, label %13339

13322:                                            ; preds = %13317
  %13323 = load i32, ptr %332, align 4, !tbaa !5
  %13324 = call ptr @__errno_location() #12
  store i32 %13323, ptr %13324, align 4, !tbaa !5
  %13325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13326 = load i32, ptr @test_count, align 4, !tbaa !5
  %13327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13328 = load i32, ptr %13327, align 4, !tbaa !5
  %13329 = call ptr @s2n_strerror(i32 noundef %13328, ptr noundef @.str.80)
  %13330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13331 = load i32, ptr %13330, align 4, !tbaa !5
  %13332 = call ptr @s2n_strerror_debug(i32 noundef %13331, ptr noundef @.str.80)
  %13333 = call ptr @__errno_location() #12
  %13334 = load i32, ptr %13333, align 4, !tbaa !5
  %13335 = call ptr @strerror(i32 noundef %13334) #11
  %13336 = call ptr @__errno_location() #12
  %13337 = load i32, ptr %13336, align 4, !tbaa !5
  %13338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13325, ptr noundef @.str.78, i32 noundef %13326, ptr noundef @.str.233, ptr noundef @.str.77, i32 noundef 509, ptr noundef %13329, ptr noundef %13332, ptr noundef %13335, i32 noundef %13337) #11
  br label %13356

13339:                                            ; preds = %13317, %13310
  %13340 = load i32, ptr %332, align 4, !tbaa !5
  %13341 = call ptr @__errno_location() #12
  store i32 %13340, ptr %13341, align 4, !tbaa !5
  %13342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13343 = load i32, ptr @test_count, align 4, !tbaa !5
  %13344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13345 = load i32, ptr %13344, align 4, !tbaa !5
  %13346 = call ptr @s2n_strerror(i32 noundef %13345, ptr noundef @.str.80)
  %13347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13348 = load i32, ptr %13347, align 4, !tbaa !5
  %13349 = call ptr @s2n_strerror_debug(i32 noundef %13348, ptr noundef @.str.80)
  %13350 = call ptr @__errno_location() #12
  %13351 = load i32, ptr %13350, align 4, !tbaa !5
  %13352 = call ptr @strerror(i32 noundef %13351) #11
  %13353 = call ptr @__errno_location() #12
  %13354 = load i32, ptr %13353, align 4, !tbaa !5
  %13355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13342, ptr noundef @.str.81, i32 noundef %13343, ptr noundef @.str.233, ptr noundef @.str.77, i32 noundef 509, ptr noundef %13346, ptr noundef %13349, ptr noundef %13352, i32 noundef %13354) #11
  br label %13356

13356:                                            ; preds = %13339, %13322
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #11
  br label %13357

13357:                                            ; preds = %13356
  br label %13358

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

13359:                                            ; No predecessors!
  br label %13360

13360:                                            ; preds = %13359
  br label %13361

13361:                                            ; preds = %13360, %13299
  br label %13362

13362:                                            ; preds = %13361
  br label %13363

13363:                                            ; preds = %13362
  br label %13364

13364:                                            ; preds = %13363
  %13365 = getelementptr inbounds %struct.s2n_psk, ptr %324, i32 0, i32 6
  %13366 = getelementptr inbounds %struct.s2n_blob, ptr %13365, i32 0, i32 1
  %13367 = load i32, ptr %13366, align 8, !tbaa !29
  %13368 = icmp ne i32 %13367, 0
  br i1 %13368, label %13369, label %13440

13369:                                            ; preds = %13364
  br label %13370

13370:                                            ; preds = %13369
  %13371 = load i32, ptr @test_count, align 4, !tbaa !5
  %13372 = add nsw i32 %13371, 1
  store i32 %13372, ptr @test_count, align 4, !tbaa !5
  %13373 = getelementptr inbounds %struct.s2n_psk, ptr %324, i32 0, i32 6
  %13374 = getelementptr inbounds %struct.s2n_blob, ptr %13373, i32 0, i32 0
  %13375 = load ptr, ptr %13374, align 8, !tbaa !30
  %13376 = getelementptr inbounds %struct.s2n_blob, ptr %311, i32 0, i32 0
  %13377 = load ptr, ptr %13376, align 8, !tbaa !80
  %13378 = getelementptr inbounds %struct.s2n_psk, ptr %324, i32 0, i32 6
  %13379 = getelementptr inbounds %struct.s2n_blob, ptr %13378, i32 0, i32 1
  %13380 = load i32, ptr %13379, align 8, !tbaa !29
  %13381 = zext i32 %13380 to i64
  %13382 = call i32 @memcmp(ptr noundef %13375, ptr noundef %13377, i64 noundef %13381) #14
  %13383 = icmp eq i32 %13382, 0
  br i1 %13383, label %13437, label %13384

13384:                                            ; preds = %13370
  br label %13385

13385:                                            ; preds = %13384
  br label %13386

13386:                                            ; preds = %13385
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #11
  %13387 = call ptr @__errno_location() #12
  %13388 = load i32, ptr %13387, align 4, !tbaa !5
  store i32 %13388, ptr %333, align 4, !tbaa !5
  %13389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13390 = call i32 @s2n_print_stacktrace(ptr noundef %13389)
  %13391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13392 = trunc i8 %13391 to i1
  br i1 %13392, label %13393, label %13415

13393:                                            ; preds = %13386
  %13394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13395 = call i32 @fileno(ptr noundef %13394) #11
  %13396 = call i32 @isatty(i32 noundef %13395) #11
  %13397 = icmp ne i32 %13396, 0
  br i1 %13397, label %13398, label %13415

13398:                                            ; preds = %13393
  %13399 = load i32, ptr %333, align 4, !tbaa !5
  %13400 = call ptr @__errno_location() #12
  store i32 %13399, ptr %13400, align 4, !tbaa !5
  %13401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13402 = load i32, ptr @test_count, align 4, !tbaa !5
  %13403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13404 = load i32, ptr %13403, align 4, !tbaa !5
  %13405 = call ptr @s2n_strerror(i32 noundef %13404, ptr noundef @.str.80)
  %13406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13407 = load i32, ptr %13406, align 4, !tbaa !5
  %13408 = call ptr @s2n_strerror_debug(i32 noundef %13407, ptr noundef @.str.80)
  %13409 = call ptr @__errno_location() #12
  %13410 = load i32, ptr %13409, align 4, !tbaa !5
  %13411 = call ptr @strerror(i32 noundef %13410) #11
  %13412 = call ptr @__errno_location() #12
  %13413 = load i32, ptr %13412, align 4, !tbaa !5
  %13414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13401, ptr noundef @.str.78, i32 noundef %13402, ptr noundef @.str.234, ptr noundef @.str.77, i32 noundef 509, ptr noundef %13405, ptr noundef %13408, ptr noundef %13411, i32 noundef %13413) #11
  br label %13432

13415:                                            ; preds = %13393, %13386
  %13416 = load i32, ptr %333, align 4, !tbaa !5
  %13417 = call ptr @__errno_location() #12
  store i32 %13416, ptr %13417, align 4, !tbaa !5
  %13418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13419 = load i32, ptr @test_count, align 4, !tbaa !5
  %13420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13421 = load i32, ptr %13420, align 4, !tbaa !5
  %13422 = call ptr @s2n_strerror(i32 noundef %13421, ptr noundef @.str.80)
  %13423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13424 = load i32, ptr %13423, align 4, !tbaa !5
  %13425 = call ptr @s2n_strerror_debug(i32 noundef %13424, ptr noundef @.str.80)
  %13426 = call ptr @__errno_location() #12
  %13427 = load i32, ptr %13426, align 4, !tbaa !5
  %13428 = call ptr @strerror(i32 noundef %13427) #11
  %13429 = call ptr @__errno_location() #12
  %13430 = load i32, ptr %13429, align 4, !tbaa !5
  %13431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13418, ptr noundef @.str.81, i32 noundef %13419, ptr noundef @.str.234, ptr noundef @.str.77, i32 noundef 509, ptr noundef %13422, ptr noundef %13425, ptr noundef %13428, i32 noundef %13430) #11
  br label %13432

13432:                                            ; preds = %13415, %13398
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #11
  br label %13433

13433:                                            ; preds = %13432
  br label %13434

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

13435:                                            ; No predecessors!
  br label %13436

13436:                                            ; preds = %13435
  br label %13437

13437:                                            ; preds = %13436, %13370
  br label %13438

13438:                                            ; preds = %13437
  br label %13439

13439:                                            ; preds = %13438
  br label %13440

13440:                                            ; preds = %13439, %13364
  br label %13441

13441:                                            ; preds = %13440
  br label %13442

13442:                                            ; preds = %13441
  br label %13443

13443:                                            ; preds = %13442
  br label %13444

13444:                                            ; preds = %13443
  br label %13445

13445:                                            ; preds = %13444
  br label %13446

13446:                                            ; preds = %13445
  %13447 = load i32, ptr @test_count, align 4, !tbaa !5
  %13448 = add nsw i32 %13447, 1
  store i32 %13448, ptr @test_count, align 4, !tbaa !5
  %13449 = getelementptr inbounds %struct.s2n_blob, ptr %328, i32 0, i32 1
  %13450 = load i32, ptr %13449, align 8, !tbaa !79
  %13451 = getelementptr inbounds %struct.s2n_blob, ptr %313, i32 0, i32 1
  %13452 = load i32, ptr %13451, align 8, !tbaa !79
  %13453 = icmp eq i32 %13450, %13452
  br i1 %13453, label %13507, label %13454

13454:                                            ; preds = %13446
  br label %13455

13455:                                            ; preds = %13454
  br label %13456

13456:                                            ; preds = %13455
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #11
  %13457 = call ptr @__errno_location() #12
  %13458 = load i32, ptr %13457, align 4, !tbaa !5
  store i32 %13458, ptr %334, align 4, !tbaa !5
  %13459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13460 = call i32 @s2n_print_stacktrace(ptr noundef %13459)
  %13461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13462 = trunc i8 %13461 to i1
  br i1 %13462, label %13463, label %13485

13463:                                            ; preds = %13456
  %13464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13465 = call i32 @fileno(ptr noundef %13464) #11
  %13466 = call i32 @isatty(i32 noundef %13465) #11
  %13467 = icmp ne i32 %13466, 0
  br i1 %13467, label %13468, label %13485

13468:                                            ; preds = %13463
  %13469 = load i32, ptr %334, align 4, !tbaa !5
  %13470 = call ptr @__errno_location() #12
  store i32 %13469, ptr %13470, align 4, !tbaa !5
  %13471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13472 = load i32, ptr @test_count, align 4, !tbaa !5
  %13473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13474 = load i32, ptr %13473, align 4, !tbaa !5
  %13475 = call ptr @s2n_strerror(i32 noundef %13474, ptr noundef @.str.80)
  %13476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13477 = load i32, ptr %13476, align 4, !tbaa !5
  %13478 = call ptr @s2n_strerror_debug(i32 noundef %13477, ptr noundef @.str.80)
  %13479 = call ptr @__errno_location() #12
  %13480 = load i32, ptr %13479, align 4, !tbaa !5
  %13481 = call ptr @strerror(i32 noundef %13480) #11
  %13482 = call ptr @__errno_location() #12
  %13483 = load i32, ptr %13482, align 4, !tbaa !5
  %13484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13471, ptr noundef @.str.78, i32 noundef %13472, ptr noundef @.str.235, ptr noundef @.str.77, i32 noundef 510, ptr noundef %13475, ptr noundef %13478, ptr noundef %13481, i32 noundef %13483) #11
  br label %13502

13485:                                            ; preds = %13463, %13456
  %13486 = load i32, ptr %334, align 4, !tbaa !5
  %13487 = call ptr @__errno_location() #12
  store i32 %13486, ptr %13487, align 4, !tbaa !5
  %13488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13489 = load i32, ptr @test_count, align 4, !tbaa !5
  %13490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13491 = load i32, ptr %13490, align 4, !tbaa !5
  %13492 = call ptr @s2n_strerror(i32 noundef %13491, ptr noundef @.str.80)
  %13493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13494 = load i32, ptr %13493, align 4, !tbaa !5
  %13495 = call ptr @s2n_strerror_debug(i32 noundef %13494, ptr noundef @.str.80)
  %13496 = call ptr @__errno_location() #12
  %13497 = load i32, ptr %13496, align 4, !tbaa !5
  %13498 = call ptr @strerror(i32 noundef %13497) #11
  %13499 = call ptr @__errno_location() #12
  %13500 = load i32, ptr %13499, align 4, !tbaa !5
  %13501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13488, ptr noundef @.str.81, i32 noundef %13489, ptr noundef @.str.235, ptr noundef @.str.77, i32 noundef 510, ptr noundef %13492, ptr noundef %13495, ptr noundef %13498, i32 noundef %13500) #11
  br label %13502

13502:                                            ; preds = %13485, %13468
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #11
  br label %13503

13503:                                            ; preds = %13502
  br label %13504

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

13505:                                            ; No predecessors!
  br label %13506

13506:                                            ; preds = %13505
  br label %13507

13507:                                            ; preds = %13506, %13446
  br label %13508

13508:                                            ; preds = %13507
  br label %13509

13509:                                            ; preds = %13508
  br label %13510

13510:                                            ; preds = %13509
  %13511 = getelementptr inbounds %struct.s2n_blob, ptr %328, i32 0, i32 1
  %13512 = load i32, ptr %13511, align 8, !tbaa !79
  %13513 = icmp ne i32 %13512, 0
  br i1 %13513, label %13514, label %13583

13514:                                            ; preds = %13510
  br label %13515

13515:                                            ; preds = %13514
  %13516 = load i32, ptr @test_count, align 4, !tbaa !5
  %13517 = add nsw i32 %13516, 1
  store i32 %13517, ptr @test_count, align 4, !tbaa !5
  %13518 = getelementptr inbounds %struct.s2n_blob, ptr %328, i32 0, i32 0
  %13519 = load ptr, ptr %13518, align 8, !tbaa !80
  %13520 = getelementptr inbounds %struct.s2n_blob, ptr %313, i32 0, i32 0
  %13521 = load ptr, ptr %13520, align 8, !tbaa !80
  %13522 = getelementptr inbounds %struct.s2n_blob, ptr %328, i32 0, i32 1
  %13523 = load i32, ptr %13522, align 8, !tbaa !79
  %13524 = zext i32 %13523 to i64
  %13525 = call i32 @memcmp(ptr noundef %13519, ptr noundef %13521, i64 noundef %13524) #14
  %13526 = icmp eq i32 %13525, 0
  br i1 %13526, label %13580, label %13527

13527:                                            ; preds = %13515
  br label %13528

13528:                                            ; preds = %13527
  br label %13529

13529:                                            ; preds = %13528
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #11
  %13530 = call ptr @__errno_location() #12
  %13531 = load i32, ptr %13530, align 4, !tbaa !5
  store i32 %13531, ptr %335, align 4, !tbaa !5
  %13532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13533 = call i32 @s2n_print_stacktrace(ptr noundef %13532)
  %13534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13535 = trunc i8 %13534 to i1
  br i1 %13535, label %13536, label %13558

13536:                                            ; preds = %13529
  %13537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13538 = call i32 @fileno(ptr noundef %13537) #11
  %13539 = call i32 @isatty(i32 noundef %13538) #11
  %13540 = icmp ne i32 %13539, 0
  br i1 %13540, label %13541, label %13558

13541:                                            ; preds = %13536
  %13542 = load i32, ptr %335, align 4, !tbaa !5
  %13543 = call ptr @__errno_location() #12
  store i32 %13542, ptr %13543, align 4, !tbaa !5
  %13544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13545 = load i32, ptr @test_count, align 4, !tbaa !5
  %13546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13547 = load i32, ptr %13546, align 4, !tbaa !5
  %13548 = call ptr @s2n_strerror(i32 noundef %13547, ptr noundef @.str.80)
  %13549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13550 = load i32, ptr %13549, align 4, !tbaa !5
  %13551 = call ptr @s2n_strerror_debug(i32 noundef %13550, ptr noundef @.str.80)
  %13552 = call ptr @__errno_location() #12
  %13553 = load i32, ptr %13552, align 4, !tbaa !5
  %13554 = call ptr @strerror(i32 noundef %13553) #11
  %13555 = call ptr @__errno_location() #12
  %13556 = load i32, ptr %13555, align 4, !tbaa !5
  %13557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13544, ptr noundef @.str.78, i32 noundef %13545, ptr noundef @.str.236, ptr noundef @.str.77, i32 noundef 510, ptr noundef %13548, ptr noundef %13551, ptr noundef %13554, i32 noundef %13556) #11
  br label %13575

13558:                                            ; preds = %13536, %13529
  %13559 = load i32, ptr %335, align 4, !tbaa !5
  %13560 = call ptr @__errno_location() #12
  store i32 %13559, ptr %13560, align 4, !tbaa !5
  %13561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13562 = load i32, ptr @test_count, align 4, !tbaa !5
  %13563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13564 = load i32, ptr %13563, align 4, !tbaa !5
  %13565 = call ptr @s2n_strerror(i32 noundef %13564, ptr noundef @.str.80)
  %13566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13567 = load i32, ptr %13566, align 4, !tbaa !5
  %13568 = call ptr @s2n_strerror_debug(i32 noundef %13567, ptr noundef @.str.80)
  %13569 = call ptr @__errno_location() #12
  %13570 = load i32, ptr %13569, align 4, !tbaa !5
  %13571 = call ptr @strerror(i32 noundef %13570) #11
  %13572 = call ptr @__errno_location() #12
  %13573 = load i32, ptr %13572, align 4, !tbaa !5
  %13574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13561, ptr noundef @.str.81, i32 noundef %13562, ptr noundef @.str.236, ptr noundef @.str.77, i32 noundef 510, ptr noundef %13565, ptr noundef %13568, ptr noundef %13571, i32 noundef %13573) #11
  br label %13575

13575:                                            ; preds = %13558, %13541
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #11
  br label %13576

13576:                                            ; preds = %13575
  br label %13577

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

13578:                                            ; No predecessors!
  br label %13579

13579:                                            ; preds = %13578
  br label %13580

13580:                                            ; preds = %13579, %13515
  br label %13581

13581:                                            ; preds = %13580
  br label %13582

13582:                                            ; preds = %13581
  br label %13583

13583:                                            ; preds = %13582, %13510
  br label %13584

13584:                                            ; preds = %13583
  br label %13585

13585:                                            ; preds = %13584
  br label %13586

13586:                                            ; preds = %13585
  br label %13587

13587:                                            ; preds = %13586
  call void @llvm.lifetime.end.p0(i64 32, ptr %329) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %328) #11
  %13588 = call i32 @s2n_psk_wipe(ptr noundef %324)
  %13589 = getelementptr inbounds %struct.s2n_result, ptr %336, i32 0, i32 0
  store i32 %13588, ptr %13589, align 4
  call void @llvm.lifetime.end.p0(i64 168, ptr %324) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %337) #11
  store ptr null, ptr %337, align 8, !tbaa !9
  br label %13590

13590:                                            ; preds = %13587
  %13591 = load i32, ptr @test_count, align 4, !tbaa !5
  %13592 = add nsw i32 %13591, 1
  store i32 %13592, ptr @test_count, align 4, !tbaa !5
  %13593 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %13593, ptr %337, align 8, !tbaa !9
  %13594 = icmp eq ptr %13593, null
  br i1 %13594, label %13595, label %13648

13595:                                            ; preds = %13590
  br label %13596

13596:                                            ; preds = %13595
  br label %13597

13597:                                            ; preds = %13596
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #11
  %13598 = call ptr @__errno_location() #12
  %13599 = load i32, ptr %13598, align 4, !tbaa !5
  store i32 %13599, ptr %338, align 4, !tbaa !5
  %13600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13601 = call i32 @s2n_print_stacktrace(ptr noundef %13600)
  %13602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13603 = trunc i8 %13602 to i1
  br i1 %13603, label %13604, label %13626

13604:                                            ; preds = %13597
  %13605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13606 = call i32 @fileno(ptr noundef %13605) #11
  %13607 = call i32 @isatty(i32 noundef %13606) #11
  %13608 = icmp ne i32 %13607, 0
  br i1 %13608, label %13609, label %13626

13609:                                            ; preds = %13604
  %13610 = load i32, ptr %338, align 4, !tbaa !5
  %13611 = call ptr @__errno_location() #12
  store i32 %13610, ptr %13611, align 4, !tbaa !5
  %13612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13613 = load i32, ptr @test_count, align 4, !tbaa !5
  %13614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13615 = load i32, ptr %13614, align 4, !tbaa !5
  %13616 = call ptr @s2n_strerror(i32 noundef %13615, ptr noundef @.str.80)
  %13617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13618 = load i32, ptr %13617, align 4, !tbaa !5
  %13619 = call ptr @s2n_strerror_debug(i32 noundef %13618, ptr noundef @.str.80)
  %13620 = call ptr @__errno_location() #12
  %13621 = load i32, ptr %13620, align 4, !tbaa !5
  %13622 = call ptr @strerror(i32 noundef %13621) #11
  %13623 = call ptr @__errno_location() #12
  %13624 = load i32, ptr %13623, align 4, !tbaa !5
  %13625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13612, ptr noundef @.str.78, i32 noundef %13613, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 516, ptr noundef %13616, ptr noundef %13619, ptr noundef %13622, i32 noundef %13624) #11
  br label %13643

13626:                                            ; preds = %13604, %13597
  %13627 = load i32, ptr %338, align 4, !tbaa !5
  %13628 = call ptr @__errno_location() #12
  store i32 %13627, ptr %13628, align 4, !tbaa !5
  %13629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13630 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13632, ptr noundef @.str.80)
  %13634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13635 = load i32, ptr %13634, align 4, !tbaa !5
  %13636 = call ptr @s2n_strerror_debug(i32 noundef %13635, ptr noundef @.str.80)
  %13637 = call ptr @__errno_location() #12
  %13638 = load i32, ptr %13637, align 4, !tbaa !5
  %13639 = call ptr @strerror(i32 noundef %13638) #11
  %13640 = call ptr @__errno_location() #12
  %13641 = load i32, ptr %13640, align 4, !tbaa !5
  %13642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13629, ptr noundef @.str.81, i32 noundef %13630, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 516, ptr noundef %13633, ptr noundef %13636, ptr noundef %13639, i32 noundef %13641) #11
  br label %13643

13643:                                            ; preds = %13626, %13609
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #11
  br label %13644

13644:                                            ; preds = %13643
  br label %13645

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

13646:                                            ; No predecessors!
  br label %13647

13647:                                            ; preds = %13646
  br label %13648

13648:                                            ; preds = %13647, %13590
  br label %13649

13649:                                            ; preds = %13648
  br label %13650

13650:                                            ; preds = %13649
  call void @llvm.lifetime.start.p0(i64 168, ptr %339) #11
  br label %13651

13651:                                            ; preds = %13650
  %13652 = load i32, ptr @test_count, align 4, !tbaa !5
  %13653 = add nsw i32 %13652, 1
  store i32 %13653, ptr @test_count, align 4, !tbaa !5
  %13654 = call i32 @s2n_psk_init(ptr noundef %339, i32 noundef 0)
  %13655 = getelementptr inbounds %struct.s2n_result, ptr %340, i32 0, i32 0
  store i32 %13654, ptr %13655, align 4
  %13656 = getelementptr inbounds %struct.s2n_result, ptr %340, i32 0, i32 0
  %13657 = load i32, ptr %13656, align 4
  %13658 = call zeroext i1 @s2n_result_is_ok(i32 %13657)
  br i1 %13658, label %13712, label %13659

13659:                                            ; preds = %13651
  br label %13660

13660:                                            ; preds = %13659
  br label %13661

13661:                                            ; preds = %13660
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #11
  %13662 = call ptr @__errno_location() #12
  %13663 = load i32, ptr %13662, align 4, !tbaa !5
  store i32 %13663, ptr %341, align 4, !tbaa !5
  %13664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13665 = call i32 @s2n_print_stacktrace(ptr noundef %13664)
  %13666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13667 = trunc i8 %13666 to i1
  br i1 %13667, label %13668, label %13690

13668:                                            ; preds = %13661
  %13669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13670 = call i32 @fileno(ptr noundef %13669) #11
  %13671 = call i32 @isatty(i32 noundef %13670) #11
  %13672 = icmp ne i32 %13671, 0
  br i1 %13672, label %13673, label %13690

13673:                                            ; preds = %13668
  %13674 = load i32, ptr %341, align 4, !tbaa !5
  %13675 = call ptr @__errno_location() #12
  store i32 %13674, ptr %13675, align 4, !tbaa !5
  %13676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13677 = load i32, ptr @test_count, align 4, !tbaa !5
  %13678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13679 = load i32, ptr %13678, align 4, !tbaa !5
  %13680 = call ptr @s2n_strerror(i32 noundef %13679, ptr noundef @.str.80)
  %13681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13682 = load i32, ptr %13681, align 4, !tbaa !5
  %13683 = call ptr @s2n_strerror_debug(i32 noundef %13682, ptr noundef @.str.80)
  %13684 = call ptr @__errno_location() #12
  %13685 = load i32, ptr %13684, align 4, !tbaa !5
  %13686 = call ptr @strerror(i32 noundef %13685) #11
  %13687 = call ptr @__errno_location() #12
  %13688 = load i32, ptr %13687, align 4, !tbaa !5
  %13689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13676, ptr noundef @.str.78, i32 noundef %13677, ptr noundef @.str.229, ptr noundef @.str.77, i32 noundef 519, ptr noundef %13680, ptr noundef %13683, ptr noundef %13686, i32 noundef %13688) #11
  br label %13707

13690:                                            ; preds = %13668, %13661
  %13691 = load i32, ptr %341, align 4, !tbaa !5
  %13692 = call ptr @__errno_location() #12
  store i32 %13691, ptr %13692, align 4, !tbaa !5
  %13693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13694 = load i32, ptr @test_count, align 4, !tbaa !5
  %13695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13696 = load i32, ptr %13695, align 4, !tbaa !5
  %13697 = call ptr @s2n_strerror(i32 noundef %13696, ptr noundef @.str.80)
  %13698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13699 = load i32, ptr %13698, align 4, !tbaa !5
  %13700 = call ptr @s2n_strerror_debug(i32 noundef %13699, ptr noundef @.str.80)
  %13701 = call ptr @__errno_location() #12
  %13702 = load i32, ptr %13701, align 4, !tbaa !5
  %13703 = call ptr @strerror(i32 noundef %13702) #11
  %13704 = call ptr @__errno_location() #12
  %13705 = load i32, ptr %13704, align 4, !tbaa !5
  %13706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13693, ptr noundef @.str.81, i32 noundef %13694, ptr noundef @.str.229, ptr noundef @.str.77, i32 noundef 519, ptr noundef %13697, ptr noundef %13700, ptr noundef %13703, i32 noundef %13705) #11
  br label %13707

13707:                                            ; preds = %13690, %13673
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #11
  br label %13708

13708:                                            ; preds = %13707
  br label %13709

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

13710:                                            ; No predecessors!
  br label %13711

13711:                                            ; preds = %13710
  br label %13712

13712:                                            ; preds = %13711, %13651
  br label %13713

13713:                                            ; preds = %13712
  br label %13714

13714:                                            ; preds = %13713
  br label %13715

13715:                                            ; preds = %13714
  %13716 = load i32, ptr @test_count, align 4, !tbaa !5
  %13717 = add nsw i32 %13716, 1
  store i32 %13717, ptr @test_count, align 4, !tbaa !5
  %13718 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 0
  %13719 = load ptr, ptr %13718, align 8, !tbaa !80
  %13720 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 1
  %13721 = load i32, ptr %13720, align 8, !tbaa !79
  %13722 = trunc i32 %13721 to i16
  %13723 = call i32 @s2n_psk_set_secret(ptr noundef %339, ptr noundef %13719, i16 noundef zeroext %13722)
  %13724 = icmp eq i32 %13723, -1
  br i1 %13724, label %13725, label %13778

13725:                                            ; preds = %13715
  br label %13726

13726:                                            ; preds = %13725
  br label %13727

13727:                                            ; preds = %13726
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #11
  %13728 = call ptr @__errno_location() #12
  %13729 = load i32, ptr %13728, align 4, !tbaa !5
  store i32 %13729, ptr %342, align 4, !tbaa !5
  %13730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13731 = call i32 @s2n_print_stacktrace(ptr noundef %13730)
  %13732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13733 = trunc i8 %13732 to i1
  br i1 %13733, label %13734, label %13756

13734:                                            ; preds = %13727
  %13735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13736 = call i32 @fileno(ptr noundef %13735) #11
  %13737 = call i32 @isatty(i32 noundef %13736) #11
  %13738 = icmp ne i32 %13737, 0
  br i1 %13738, label %13739, label %13756

13739:                                            ; preds = %13734
  %13740 = load i32, ptr %342, align 4, !tbaa !5
  %13741 = call ptr @__errno_location() #12
  store i32 %13740, ptr %13741, align 4, !tbaa !5
  %13742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13743 = load i32, ptr @test_count, align 4, !tbaa !5
  %13744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13745 = load i32, ptr %13744, align 4, !tbaa !5
  %13746 = call ptr @s2n_strerror(i32 noundef %13745, ptr noundef @.str.80)
  %13747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13748 = load i32, ptr %13747, align 4, !tbaa !5
  %13749 = call ptr @s2n_strerror_debug(i32 noundef %13748, ptr noundef @.str.80)
  %13750 = call ptr @__errno_location() #12
  %13751 = load i32, ptr %13750, align 4, !tbaa !5
  %13752 = call ptr @strerror(i32 noundef %13751) #11
  %13753 = call ptr @__errno_location() #12
  %13754 = load i32, ptr %13753, align 4, !tbaa !5
  %13755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13742, ptr noundef @.str.78, i32 noundef %13743, ptr noundef @.str.230, ptr noundef @.str.77, i32 noundef 520, ptr noundef %13746, ptr noundef %13749, ptr noundef %13752, i32 noundef %13754) #11
  br label %13773

13756:                                            ; preds = %13734, %13727
  %13757 = load i32, ptr %342, 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.80)
  %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.80)
  %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.81, i32 noundef %13760, ptr noundef @.str.230, ptr noundef @.str.77, i32 noundef 520, ptr noundef %13763, ptr noundef %13766, ptr noundef %13769, i32 noundef %13771) #11
  br label %13773

13773:                                            ; preds = %13756, %13739
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #11
  br label %13774

13774:                                            ; preds = %13773
  br label %13775

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

13776:                                            ; No predecessors!
  br label %13777

13777:                                            ; preds = %13776
  br label %13778

13778:                                            ; preds = %13777, %13715
  br label %13779

13779:                                            ; preds = %13778
  br label %13780

13780:                                            ; preds = %13779
  call void @llvm.lifetime.start.p0(i64 24, ptr %343) #11
  call void @llvm.memset.p0.i64(ptr align 8 %343, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %344) #11
  br label %13781

13781:                                            ; preds = %13780
  %13782 = load i32, ptr @test_count, align 4, !tbaa !5
  %13783 = add nsw i32 %13782, 1
  store i32 %13783, ptr @test_count, align 4, !tbaa !5
  %13784 = getelementptr inbounds [32 x i8], ptr %344, i64 0, i64 0
  %13785 = call i32 @s2n_blob_init(ptr noundef %343, ptr noundef %13784, i32 noundef 32)
  %13786 = icmp eq i32 %13785, -1
  br i1 %13786, label %13787, label %13840

13787:                                            ; preds = %13781
  br label %13788

13788:                                            ; preds = %13787
  br label %13789

13789:                                            ; preds = %13788
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #11
  %13790 = call ptr @__errno_location() #12
  %13791 = load i32, ptr %13790, align 4, !tbaa !5
  store i32 %13791, ptr %345, align 4, !tbaa !5
  %13792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13793 = call i32 @s2n_print_stacktrace(ptr noundef %13792)
  %13794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13795 = trunc i8 %13794 to i1
  br i1 %13795, label %13796, label %13818

13796:                                            ; preds = %13789
  %13797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13798 = call i32 @fileno(ptr noundef %13797) #11
  %13799 = call i32 @isatty(i32 noundef %13798) #11
  %13800 = icmp ne i32 %13799, 0
  br i1 %13800, label %13801, label %13818

13801:                                            ; preds = %13796
  %13802 = load i32, ptr %345, align 4, !tbaa !5
  %13803 = call ptr @__errno_location() #12
  store i32 %13802, ptr %13803, align 4, !tbaa !5
  %13804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13805 = load i32, ptr @test_count, align 4, !tbaa !5
  %13806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13807 = load i32, ptr %13806, align 4, !tbaa !5
  %13808 = call ptr @s2n_strerror(i32 noundef %13807, ptr noundef @.str.80)
  %13809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13810 = load i32, ptr %13809, align 4, !tbaa !5
  %13811 = call ptr @s2n_strerror_debug(i32 noundef %13810, ptr noundef @.str.80)
  %13812 = call ptr @__errno_location() #12
  %13813 = load i32, ptr %13812, align 4, !tbaa !5
  %13814 = call ptr @strerror(i32 noundef %13813) #11
  %13815 = call ptr @__errno_location() #12
  %13816 = load i32, ptr %13815, align 4, !tbaa !5
  %13817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13804, ptr noundef @.str.78, i32 noundef %13805, ptr noundef @.str.231, ptr noundef @.str.77, i32 noundef 524, ptr noundef %13808, ptr noundef %13811, ptr noundef %13814, i32 noundef %13816) #11
  br label %13835

13818:                                            ; preds = %13796, %13789
  %13819 = load i32, ptr %345, align 4, !tbaa !5
  %13820 = call ptr @__errno_location() #12
  store i32 %13819, ptr %13820, align 4, !tbaa !5
  %13821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13822 = load i32, ptr @test_count, align 4, !tbaa !5
  %13823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13824 = load i32, ptr %13823, align 4, !tbaa !5
  %13825 = call ptr @s2n_strerror(i32 noundef %13824, ptr noundef @.str.80)
  %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_debug(i32 noundef %13827, ptr noundef @.str.80)
  %13829 = call ptr @__errno_location() #12
  %13830 = load i32, ptr %13829, align 4, !tbaa !5
  %13831 = call ptr @strerror(i32 noundef %13830) #11
  %13832 = call ptr @__errno_location() #12
  %13833 = load i32, ptr %13832, align 4, !tbaa !5
  %13834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13821, ptr noundef @.str.81, i32 noundef %13822, ptr noundef @.str.231, ptr noundef @.str.77, i32 noundef 524, ptr noundef %13825, ptr noundef %13828, ptr noundef %13831, i32 noundef %13833) #11
  br label %13835

13835:                                            ; preds = %13818, %13801
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #11
  br label %13836

13836:                                            ; preds = %13835
  br label %13837

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

13838:                                            ; No predecessors!
  br label %13839

13839:                                            ; preds = %13838
  br label %13840

13840:                                            ; preds = %13839, %13781
  br label %13841

13841:                                            ; preds = %13840
  br label %13842

13842:                                            ; preds = %13841
  br label %13843

13843:                                            ; preds = %13842
  %13844 = load i32, ptr @test_count, align 4, !tbaa !5
  %13845 = add nsw i32 %13844, 1
  store i32 %13845, ptr @test_count, align 4, !tbaa !5
  %13846 = load ptr, ptr %337, align 8, !tbaa !9
  %13847 = call i32 @s2n_psk_verify_binder(ptr noundef %13846, ptr noundef %339, ptr noundef %303, ptr noundef %313)
  %13848 = icmp eq i32 %13847, -1
  br i1 %13848, label %13849, label %13902

13849:                                            ; preds = %13843
  br label %13850

13850:                                            ; preds = %13849
  br label %13851

13851:                                            ; preds = %13850
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #11
  %13852 = call ptr @__errno_location() #12
  %13853 = load i32, ptr %13852, align 4, !tbaa !5
  store i32 %13853, ptr %346, align 4, !tbaa !5
  %13854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13855 = call i32 @s2n_print_stacktrace(ptr noundef %13854)
  %13856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13857 = trunc i8 %13856 to i1
  br i1 %13857, label %13858, label %13880

13858:                                            ; preds = %13851
  %13859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13860 = call i32 @fileno(ptr noundef %13859) #11
  %13861 = call i32 @isatty(i32 noundef %13860) #11
  %13862 = icmp ne i32 %13861, 0
  br i1 %13862, label %13863, label %13880

13863:                                            ; preds = %13858
  %13864 = load i32, ptr %346, align 4, !tbaa !5
  %13865 = call ptr @__errno_location() #12
  store i32 %13864, ptr %13865, align 4, !tbaa !5
  %13866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13867 = load i32, ptr @test_count, align 4, !tbaa !5
  %13868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13869 = load i32, ptr %13868, align 4, !tbaa !5
  %13870 = call ptr @s2n_strerror(i32 noundef %13869, ptr noundef @.str.80)
  %13871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13872 = load i32, ptr %13871, align 4, !tbaa !5
  %13873 = call ptr @s2n_strerror_debug(i32 noundef %13872, ptr noundef @.str.80)
  %13874 = call ptr @__errno_location() #12
  %13875 = load i32, ptr %13874, align 4, !tbaa !5
  %13876 = call ptr @strerror(i32 noundef %13875) #11
  %13877 = call ptr @__errno_location() #12
  %13878 = load i32, ptr %13877, align 4, !tbaa !5
  %13879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13866, ptr noundef @.str.78, i32 noundef %13867, ptr noundef @.str.237, ptr noundef @.str.77, i32 noundef 526, ptr noundef %13870, ptr noundef %13873, ptr noundef %13876, i32 noundef %13878) #11
  br label %13897

13880:                                            ; preds = %13858, %13851
  %13881 = load i32, ptr %346, align 4, !tbaa !5
  %13882 = call ptr @__errno_location() #12
  store i32 %13881, ptr %13882, align 4, !tbaa !5
  %13883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13884 = load i32, ptr @test_count, align 4, !tbaa !5
  %13885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13886 = load i32, ptr %13885, align 4, !tbaa !5
  %13887 = call ptr @s2n_strerror(i32 noundef %13886, ptr noundef @.str.80)
  %13888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13889 = load i32, ptr %13888, align 4, !tbaa !5
  %13890 = call ptr @s2n_strerror_debug(i32 noundef %13889, ptr noundef @.str.80)
  %13891 = call ptr @__errno_location() #12
  %13892 = load i32, ptr %13891, align 4, !tbaa !5
  %13893 = call ptr @strerror(i32 noundef %13892) #11
  %13894 = call ptr @__errno_location() #12
  %13895 = load i32, ptr %13894, align 4, !tbaa !5
  %13896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13883, ptr noundef @.str.81, i32 noundef %13884, ptr noundef @.str.237, ptr noundef @.str.77, i32 noundef 526, ptr noundef %13887, ptr noundef %13890, ptr noundef %13893, i32 noundef %13895) #11
  br label %13897

13897:                                            ; preds = %13880, %13863
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #11
  br label %13898

13898:                                            ; preds = %13897
  br label %13899

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

13900:                                            ; No predecessors!
  br label %13901

13901:                                            ; preds = %13900
  br label %13902

13902:                                            ; preds = %13901, %13843
  br label %13903

13903:                                            ; preds = %13902
  br label %13904

13904:                                            ; preds = %13903
  br label %13905

13905:                                            ; preds = %13904
  br label %13906

13906:                                            ; preds = %13905
  %13907 = load i32, ptr @test_count, align 4, !tbaa !5
  %13908 = add nsw i32 %13907, 1
  store i32 %13908, ptr @test_count, align 4, !tbaa !5
  %13909 = getelementptr inbounds %struct.s2n_psk, ptr %339, i32 0, i32 6
  %13910 = getelementptr inbounds %struct.s2n_blob, ptr %13909, i32 0, i32 1
  %13911 = load i32, ptr %13910, align 8, !tbaa !29
  %13912 = getelementptr inbounds %struct.s2n_blob, ptr %311, i32 0, i32 1
  %13913 = load i32, ptr %13912, align 8, !tbaa !79
  %13914 = icmp eq i32 %13911, %13913
  br i1 %13914, label %13968, label %13915

13915:                                            ; preds = %13906
  br label %13916

13916:                                            ; preds = %13915
  br label %13917

13917:                                            ; preds = %13916
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #11
  %13918 = call ptr @__errno_location() #12
  %13919 = load i32, ptr %13918, align 4, !tbaa !5
  store i32 %13919, ptr %347, align 4, !tbaa !5
  %13920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13921 = call i32 @s2n_print_stacktrace(ptr noundef %13920)
  %13922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13923 = trunc i8 %13922 to i1
  br i1 %13923, label %13924, label %13946

13924:                                            ; preds = %13917
  %13925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13926 = call i32 @fileno(ptr noundef %13925) #11
  %13927 = call i32 @isatty(i32 noundef %13926) #11
  %13928 = icmp ne i32 %13927, 0
  br i1 %13928, label %13929, label %13946

13929:                                            ; preds = %13924
  %13930 = load i32, ptr %347, align 4, !tbaa !5
  %13931 = call ptr @__errno_location() #12
  store i32 %13930, ptr %13931, align 4, !tbaa !5
  %13932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13933 = load i32, ptr @test_count, align 4, !tbaa !5
  %13934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13935 = load i32, ptr %13934, align 4, !tbaa !5
  %13936 = call ptr @s2n_strerror(i32 noundef %13935, ptr noundef @.str.80)
  %13937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13938 = load i32, ptr %13937, align 4, !tbaa !5
  %13939 = call ptr @s2n_strerror_debug(i32 noundef %13938, ptr noundef @.str.80)
  %13940 = call ptr @__errno_location() #12
  %13941 = load i32, ptr %13940, align 4, !tbaa !5
  %13942 = call ptr @strerror(i32 noundef %13941) #11
  %13943 = call ptr @__errno_location() #12
  %13944 = load i32, ptr %13943, align 4, !tbaa !5
  %13945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13932, ptr noundef @.str.78, i32 noundef %13933, ptr noundef @.str.233, ptr noundef @.str.77, i32 noundef 527, ptr noundef %13936, ptr noundef %13939, ptr noundef %13942, i32 noundef %13944) #11
  br label %13963

13946:                                            ; preds = %13924, %13917
  %13947 = load i32, ptr %347, align 4, !tbaa !5
  %13948 = call ptr @__errno_location() #12
  store i32 %13947, ptr %13948, align 4, !tbaa !5
  %13949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13950 = load i32, ptr @test_count, align 4, !tbaa !5
  %13951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13952 = load i32, ptr %13951, align 4, !tbaa !5
  %13953 = call ptr @s2n_strerror(i32 noundef %13952, ptr noundef @.str.80)
  %13954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13955 = load i32, ptr %13954, align 4, !tbaa !5
  %13956 = call ptr @s2n_strerror_debug(i32 noundef %13955, ptr noundef @.str.80)
  %13957 = call ptr @__errno_location() #12
  %13958 = load i32, ptr %13957, align 4, !tbaa !5
  %13959 = call ptr @strerror(i32 noundef %13958) #11
  %13960 = call ptr @__errno_location() #12
  %13961 = load i32, ptr %13960, align 4, !tbaa !5
  %13962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13949, ptr noundef @.str.81, i32 noundef %13950, ptr noundef @.str.233, ptr noundef @.str.77, i32 noundef 527, ptr noundef %13953, ptr noundef %13956, ptr noundef %13959, i32 noundef %13961) #11
  br label %13963

13963:                                            ; preds = %13946, %13929
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #11
  br label %13964

13964:                                            ; preds = %13963
  br label %13965

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

13966:                                            ; No predecessors!
  br label %13967

13967:                                            ; preds = %13966
  br label %13968

13968:                                            ; preds = %13967, %13906
  br label %13969

13969:                                            ; preds = %13968
  br label %13970

13970:                                            ; preds = %13969
  br label %13971

13971:                                            ; preds = %13970
  %13972 = getelementptr inbounds %struct.s2n_psk, ptr %339, i32 0, i32 6
  %13973 = getelementptr inbounds %struct.s2n_blob, ptr %13972, i32 0, i32 1
  %13974 = load i32, ptr %13973, align 8, !tbaa !29
  %13975 = icmp ne i32 %13974, 0
  br i1 %13975, label %13976, label %14047

13976:                                            ; preds = %13971
  br label %13977

13977:                                            ; preds = %13976
  %13978 = load i32, ptr @test_count, align 4, !tbaa !5
  %13979 = add nsw i32 %13978, 1
  store i32 %13979, ptr @test_count, align 4, !tbaa !5
  %13980 = getelementptr inbounds %struct.s2n_psk, ptr %339, i32 0, i32 6
  %13981 = getelementptr inbounds %struct.s2n_blob, ptr %13980, i32 0, i32 0
  %13982 = load ptr, ptr %13981, align 8, !tbaa !30
  %13983 = getelementptr inbounds %struct.s2n_blob, ptr %311, i32 0, i32 0
  %13984 = load ptr, ptr %13983, align 8, !tbaa !80
  %13985 = getelementptr inbounds %struct.s2n_psk, ptr %339, i32 0, i32 6
  %13986 = getelementptr inbounds %struct.s2n_blob, ptr %13985, i32 0, i32 1
  %13987 = load i32, ptr %13986, align 8, !tbaa !29
  %13988 = zext i32 %13987 to i64
  %13989 = call i32 @memcmp(ptr noundef %13982, ptr noundef %13984, i64 noundef %13988) #14
  %13990 = icmp eq i32 %13989, 0
  br i1 %13990, label %14044, label %13991

13991:                                            ; preds = %13977
  br label %13992

13992:                                            ; preds = %13991
  br label %13993

13993:                                            ; preds = %13992
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #11
  %13994 = call ptr @__errno_location() #12
  %13995 = load i32, ptr %13994, align 4, !tbaa !5
  store i32 %13995, ptr %348, align 4, !tbaa !5
  %13996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13997 = call i32 @s2n_print_stacktrace(ptr noundef %13996)
  %13998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13999 = trunc i8 %13998 to i1
  br i1 %13999, label %14000, label %14022

14000:                                            ; preds = %13993
  %14001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14002 = call i32 @fileno(ptr noundef %14001) #11
  %14003 = call i32 @isatty(i32 noundef %14002) #11
  %14004 = icmp ne i32 %14003, 0
  br i1 %14004, label %14005, label %14022

14005:                                            ; preds = %14000
  %14006 = load i32, ptr %348, align 4, !tbaa !5
  %14007 = call ptr @__errno_location() #12
  store i32 %14006, ptr %14007, align 4, !tbaa !5
  %14008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14009 = load i32, ptr @test_count, align 4, !tbaa !5
  %14010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14011 = load i32, ptr %14010, align 4, !tbaa !5
  %14012 = call ptr @s2n_strerror(i32 noundef %14011, ptr noundef @.str.80)
  %14013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14014 = load i32, ptr %14013, align 4, !tbaa !5
  %14015 = call ptr @s2n_strerror_debug(i32 noundef %14014, ptr noundef @.str.80)
  %14016 = call ptr @__errno_location() #12
  %14017 = load i32, ptr %14016, align 4, !tbaa !5
  %14018 = call ptr @strerror(i32 noundef %14017) #11
  %14019 = call ptr @__errno_location() #12
  %14020 = load i32, ptr %14019, align 4, !tbaa !5
  %14021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14008, ptr noundef @.str.78, i32 noundef %14009, ptr noundef @.str.234, ptr noundef @.str.77, i32 noundef 527, ptr noundef %14012, ptr noundef %14015, ptr noundef %14018, i32 noundef %14020) #11
  br label %14039

14022:                                            ; preds = %14000, %13993
  %14023 = load i32, ptr %348, align 4, !tbaa !5
  %14024 = call ptr @__errno_location() #12
  store i32 %14023, ptr %14024, align 4, !tbaa !5
  %14025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14026 = load i32, ptr @test_count, align 4, !tbaa !5
  %14027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14028 = load i32, ptr %14027, align 4, !tbaa !5
  %14029 = call ptr @s2n_strerror(i32 noundef %14028, ptr noundef @.str.80)
  %14030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14031 = load i32, ptr %14030, align 4, !tbaa !5
  %14032 = call ptr @s2n_strerror_debug(i32 noundef %14031, ptr noundef @.str.80)
  %14033 = call ptr @__errno_location() #12
  %14034 = load i32, ptr %14033, align 4, !tbaa !5
  %14035 = call ptr @strerror(i32 noundef %14034) #11
  %14036 = call ptr @__errno_location() #12
  %14037 = load i32, ptr %14036, align 4, !tbaa !5
  %14038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14025, ptr noundef @.str.81, i32 noundef %14026, ptr noundef @.str.234, ptr noundef @.str.77, i32 noundef 527, ptr noundef %14029, ptr noundef %14032, ptr noundef %14035, i32 noundef %14037) #11
  br label %14039

14039:                                            ; preds = %14022, %14005
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #11
  br label %14040

14040:                                            ; preds = %14039
  br label %14041

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

14042:                                            ; No predecessors!
  br label %14043

14043:                                            ; preds = %14042
  br label %14044

14044:                                            ; preds = %14043, %13977
  br label %14045

14045:                                            ; preds = %14044
  br label %14046

14046:                                            ; preds = %14045
  br label %14047

14047:                                            ; preds = %14046, %13971
  br label %14048

14048:                                            ; preds = %14047
  br label %14049

14049:                                            ; preds = %14048
  br label %14050

14050:                                            ; preds = %14049
  br label %14051

14051:                                            ; preds = %14050
  br label %14052

14052:                                            ; preds = %14051
  %14053 = load i32, ptr @test_count, align 4, !tbaa !5
  %14054 = add nsw i32 %14053, 1
  store i32 %14054, ptr @test_count, align 4, !tbaa !5
  %14055 = load ptr, ptr %337, align 8, !tbaa !9
  %14056 = call i32 @s2n_connection_free(ptr noundef %14055)
  %14057 = icmp eq i32 %14056, -1
  br i1 %14057, label %14058, label %14111

14058:                                            ; preds = %14052
  br label %14059

14059:                                            ; preds = %14058
  br label %14060

14060:                                            ; preds = %14059
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #11
  %14061 = call ptr @__errno_location() #12
  %14062 = load i32, ptr %14061, align 4, !tbaa !5
  store i32 %14062, ptr %349, align 4, !tbaa !5
  %14063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14064 = call i32 @s2n_print_stacktrace(ptr noundef %14063)
  %14065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14066 = trunc i8 %14065 to i1
  br i1 %14066, label %14067, label %14089

14067:                                            ; preds = %14060
  %14068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14069 = call i32 @fileno(ptr noundef %14068) #11
  %14070 = call i32 @isatty(i32 noundef %14069) #11
  %14071 = icmp ne i32 %14070, 0
  br i1 %14071, label %14072, label %14089

14072:                                            ; preds = %14067
  %14073 = load i32, ptr %349, align 4, !tbaa !5
  %14074 = call ptr @__errno_location() #12
  store i32 %14073, ptr %14074, align 4, !tbaa !5
  %14075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14076 = load i32, ptr @test_count, align 4, !tbaa !5
  %14077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14078 = load i32, ptr %14077, align 4, !tbaa !5
  %14079 = call ptr @s2n_strerror(i32 noundef %14078, ptr noundef @.str.80)
  %14080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14081 = load i32, ptr %14080, align 4, !tbaa !5
  %14082 = call ptr @s2n_strerror_debug(i32 noundef %14081, ptr noundef @.str.80)
  %14083 = call ptr @__errno_location() #12
  %14084 = load i32, ptr %14083, align 4, !tbaa !5
  %14085 = call ptr @strerror(i32 noundef %14084) #11
  %14086 = call ptr @__errno_location() #12
  %14087 = load i32, ptr %14086, align 4, !tbaa !5
  %14088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14075, ptr noundef @.str.78, i32 noundef %14076, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 529, ptr noundef %14079, ptr noundef %14082, ptr noundef %14085, i32 noundef %14087) #11
  br label %14106

14089:                                            ; preds = %14067, %14060
  %14090 = load i32, ptr %349, align 4, !tbaa !5
  %14091 = call ptr @__errno_location() #12
  store i32 %14090, ptr %14091, align 4, !tbaa !5
  %14092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14093 = load i32, ptr @test_count, align 4, !tbaa !5
  %14094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14095 = load i32, ptr %14094, align 4, !tbaa !5
  %14096 = call ptr @s2n_strerror(i32 noundef %14095, ptr noundef @.str.80)
  %14097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14098 = load i32, ptr %14097, align 4, !tbaa !5
  %14099 = call ptr @s2n_strerror_debug(i32 noundef %14098, ptr noundef @.str.80)
  %14100 = call ptr @__errno_location() #12
  %14101 = load i32, ptr %14100, align 4, !tbaa !5
  %14102 = call ptr @strerror(i32 noundef %14101) #11
  %14103 = call ptr @__errno_location() #12
  %14104 = load i32, ptr %14103, align 4, !tbaa !5
  %14105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14092, ptr noundef @.str.81, i32 noundef %14093, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 529, ptr noundef %14096, ptr noundef %14099, ptr noundef %14102, i32 noundef %14104) #11
  br label %14106

14106:                                            ; preds = %14089, %14072
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #11
  br label %14107

14107:                                            ; preds = %14106
  br label %14108

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

14109:                                            ; No predecessors!
  br label %14110

14110:                                            ; preds = %14109
  br label %14111

14111:                                            ; preds = %14110, %14052
  br label %14112

14112:                                            ; preds = %14111
  br label %14113

14113:                                            ; preds = %14112
  call void @llvm.lifetime.end.p0(i64 32, ptr %344) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %343) #11
  %14114 = call i32 @s2n_psk_wipe(ptr noundef %339)
  %14115 = getelementptr inbounds %struct.s2n_result, ptr %350, i32 0, i32 0
  store i32 %14114, ptr %14115, align 4
  call void @llvm.lifetime.end.p0(i64 168, ptr %339) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %337) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %351) #11
  store ptr null, ptr %351, align 8, !tbaa !9
  br label %14116

14116:                                            ; preds = %14113
  %14117 = load i32, ptr @test_count, align 4, !tbaa !5
  %14118 = add nsw i32 %14117, 1
  store i32 %14118, ptr @test_count, align 4, !tbaa !5
  %14119 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14119, ptr %351, align 8, !tbaa !9
  %14120 = icmp eq ptr %14119, null
  br i1 %14120, label %14121, label %14174

14121:                                            ; preds = %14116
  br label %14122

14122:                                            ; preds = %14121
  br label %14123

14123:                                            ; preds = %14122
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #11
  %14124 = call ptr @__errno_location() #12
  %14125 = load i32, ptr %14124, align 4, !tbaa !5
  store i32 %14125, ptr %352, align 4, !tbaa !5
  %14126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14127 = call i32 @s2n_print_stacktrace(ptr noundef %14126)
  %14128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14129 = trunc i8 %14128 to i1
  br i1 %14129, label %14130, label %14152

14130:                                            ; preds = %14123
  %14131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14132 = call i32 @fileno(ptr noundef %14131) #11
  %14133 = call i32 @isatty(i32 noundef %14132) #11
  %14134 = icmp ne i32 %14133, 0
  br i1 %14134, label %14135, label %14152

14135:                                            ; preds = %14130
  %14136 = load i32, ptr %352, align 4, !tbaa !5
  %14137 = call ptr @__errno_location() #12
  store i32 %14136, ptr %14137, align 4, !tbaa !5
  %14138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14139 = load i32, ptr @test_count, align 4, !tbaa !5
  %14140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14141 = load i32, ptr %14140, align 4, !tbaa !5
  %14142 = call ptr @s2n_strerror(i32 noundef %14141, ptr noundef @.str.80)
  %14143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14144 = load i32, ptr %14143, align 4, !tbaa !5
  %14145 = call ptr @s2n_strerror_debug(i32 noundef %14144, ptr noundef @.str.80)
  %14146 = call ptr @__errno_location() #12
  %14147 = load i32, ptr %14146, align 4, !tbaa !5
  %14148 = call ptr @strerror(i32 noundef %14147) #11
  %14149 = call ptr @__errno_location() #12
  %14150 = load i32, ptr %14149, align 4, !tbaa !5
  %14151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14138, ptr noundef @.str.78, i32 noundef %14139, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 535, ptr noundef %14142, ptr noundef %14145, ptr noundef %14148, i32 noundef %14150) #11
  br label %14169

14152:                                            ; preds = %14130, %14123
  %14153 = load i32, ptr %352, align 4, !tbaa !5
  %14154 = call ptr @__errno_location() #12
  store i32 %14153, ptr %14154, align 4, !tbaa !5
  %14155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14156 = load i32, ptr @test_count, align 4, !tbaa !5
  %14157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14158 = load i32, ptr %14157, align 4, !tbaa !5
  %14159 = call ptr @s2n_strerror(i32 noundef %14158, ptr noundef @.str.80)
  %14160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14161 = load i32, ptr %14160, align 4, !tbaa !5
  %14162 = call ptr @s2n_strerror_debug(i32 noundef %14161, ptr noundef @.str.80)
  %14163 = call ptr @__errno_location() #12
  %14164 = load i32, ptr %14163, align 4, !tbaa !5
  %14165 = call ptr @strerror(i32 noundef %14164) #11
  %14166 = call ptr @__errno_location() #12
  %14167 = load i32, ptr %14166, align 4, !tbaa !5
  %14168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14155, ptr noundef @.str.81, i32 noundef %14156, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 535, ptr noundef %14159, ptr noundef %14162, ptr noundef %14165, i32 noundef %14167) #11
  br label %14169

14169:                                            ; preds = %14152, %14135
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #11
  br label %14170

14170:                                            ; preds = %14169
  br label %14171

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

14172:                                            ; No predecessors!
  br label %14173

14173:                                            ; preds = %14172
  br label %14174

14174:                                            ; preds = %14173, %14116
  br label %14175

14175:                                            ; preds = %14174
  br label %14176

14176:                                            ; preds = %14175
  call void @llvm.lifetime.start.p0(i64 168, ptr %353) #11
  br label %14177

14177:                                            ; preds = %14176
  %14178 = load i32, ptr @test_count, align 4, !tbaa !5
  %14179 = add nsw i32 %14178, 1
  store i32 %14179, ptr @test_count, align 4, !tbaa !5
  %14180 = call i32 @s2n_psk_init(ptr noundef %353, i32 noundef 0)
  %14181 = getelementptr inbounds %struct.s2n_result, ptr %354, i32 0, i32 0
  store i32 %14180, ptr %14181, align 4
  %14182 = getelementptr inbounds %struct.s2n_result, ptr %354, i32 0, i32 0
  %14183 = load i32, ptr %14182, align 4
  %14184 = call zeroext i1 @s2n_result_is_ok(i32 %14183)
  br i1 %14184, label %14238, label %14185

14185:                                            ; preds = %14177
  br label %14186

14186:                                            ; preds = %14185
  br label %14187

14187:                                            ; preds = %14186
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #11
  %14188 = call ptr @__errno_location() #12
  %14189 = load i32, ptr %14188, align 4, !tbaa !5
  store i32 %14189, ptr %355, align 4, !tbaa !5
  %14190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14191 = call i32 @s2n_print_stacktrace(ptr noundef %14190)
  %14192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14193 = trunc i8 %14192 to i1
  br i1 %14193, label %14194, label %14216

14194:                                            ; preds = %14187
  %14195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14196 = call i32 @fileno(ptr noundef %14195) #11
  %14197 = call i32 @isatty(i32 noundef %14196) #11
  %14198 = icmp ne i32 %14197, 0
  br i1 %14198, label %14199, label %14216

14199:                                            ; preds = %14194
  %14200 = load i32, ptr %355, align 4, !tbaa !5
  %14201 = call ptr @__errno_location() #12
  store i32 %14200, ptr %14201, align 4, !tbaa !5
  %14202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14203 = load i32, ptr @test_count, align 4, !tbaa !5
  %14204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14205 = load i32, ptr %14204, align 4, !tbaa !5
  %14206 = call ptr @s2n_strerror(i32 noundef %14205, ptr noundef @.str.80)
  %14207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14208 = load i32, ptr %14207, align 4, !tbaa !5
  %14209 = call ptr @s2n_strerror_debug(i32 noundef %14208, ptr noundef @.str.80)
  %14210 = call ptr @__errno_location() #12
  %14211 = load i32, ptr %14210, align 4, !tbaa !5
  %14212 = call ptr @strerror(i32 noundef %14211) #11
  %14213 = call ptr @__errno_location() #12
  %14214 = load i32, ptr %14213, align 4, !tbaa !5
  %14215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14202, ptr noundef @.str.78, i32 noundef %14203, ptr noundef @.str.229, ptr noundef @.str.77, i32 noundef 538, ptr noundef %14206, ptr noundef %14209, ptr noundef %14212, i32 noundef %14214) #11
  br label %14233

14216:                                            ; preds = %14194, %14187
  %14217 = load i32, ptr %355, align 4, !tbaa !5
  %14218 = call ptr @__errno_location() #12
  store i32 %14217, ptr %14218, align 4, !tbaa !5
  %14219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14220 = load i32, ptr @test_count, align 4, !tbaa !5
  %14221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14222 = load i32, ptr %14221, align 4, !tbaa !5
  %14223 = call ptr @s2n_strerror(i32 noundef %14222, ptr noundef @.str.80)
  %14224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14225 = load i32, ptr %14224, align 4, !tbaa !5
  %14226 = call ptr @s2n_strerror_debug(i32 noundef %14225, ptr noundef @.str.80)
  %14227 = call ptr @__errno_location() #12
  %14228 = load i32, ptr %14227, align 4, !tbaa !5
  %14229 = call ptr @strerror(i32 noundef %14228) #11
  %14230 = call ptr @__errno_location() #12
  %14231 = load i32, ptr %14230, align 4, !tbaa !5
  %14232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14219, ptr noundef @.str.81, i32 noundef %14220, ptr noundef @.str.229, ptr noundef @.str.77, i32 noundef 538, ptr noundef %14223, ptr noundef %14226, ptr noundef %14229, i32 noundef %14231) #11
  br label %14233

14233:                                            ; preds = %14216, %14199
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #11
  br label %14234

14234:                                            ; preds = %14233
  br label %14235

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

14236:                                            ; No predecessors!
  br label %14237

14237:                                            ; preds = %14236
  br label %14238

14238:                                            ; preds = %14237, %14177
  br label %14239

14239:                                            ; preds = %14238
  br label %14240

14240:                                            ; preds = %14239
  br label %14241

14241:                                            ; preds = %14240
  %14242 = load i32, ptr @test_count, align 4, !tbaa !5
  %14243 = add nsw i32 %14242, 1
  store i32 %14243, ptr @test_count, align 4, !tbaa !5
  %14244 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 0
  %14245 = load ptr, ptr %14244, align 8, !tbaa !80
  %14246 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 1
  %14247 = load i32, ptr %14246, align 8, !tbaa !79
  %14248 = trunc i32 %14247 to i16
  %14249 = call i32 @s2n_psk_set_secret(ptr noundef %353, ptr noundef %14245, i16 noundef zeroext %14248)
  %14250 = icmp eq i32 %14249, -1
  br i1 %14250, label %14251, label %14304

14251:                                            ; preds = %14241
  br label %14252

14252:                                            ; preds = %14251
  br label %14253

14253:                                            ; preds = %14252
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #11
  %14254 = call ptr @__errno_location() #12
  %14255 = load i32, ptr %14254, align 4, !tbaa !5
  store i32 %14255, ptr %356, align 4, !tbaa !5
  %14256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14257 = call i32 @s2n_print_stacktrace(ptr noundef %14256)
  %14258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14259 = trunc i8 %14258 to i1
  br i1 %14259, label %14260, label %14282

14260:                                            ; preds = %14253
  %14261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14262 = call i32 @fileno(ptr noundef %14261) #11
  %14263 = call i32 @isatty(i32 noundef %14262) #11
  %14264 = icmp ne i32 %14263, 0
  br i1 %14264, label %14265, label %14282

14265:                                            ; preds = %14260
  %14266 = load i32, ptr %356, align 4, !tbaa !5
  %14267 = call ptr @__errno_location() #12
  store i32 %14266, ptr %14267, align 4, !tbaa !5
  %14268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14269 = load i32, ptr @test_count, align 4, !tbaa !5
  %14270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14271 = load i32, ptr %14270, align 4, !tbaa !5
  %14272 = call ptr @s2n_strerror(i32 noundef %14271, ptr noundef @.str.80)
  %14273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14274 = load i32, ptr %14273, align 4, !tbaa !5
  %14275 = call ptr @s2n_strerror_debug(i32 noundef %14274, ptr noundef @.str.80)
  %14276 = call ptr @__errno_location() #12
  %14277 = load i32, ptr %14276, align 4, !tbaa !5
  %14278 = call ptr @strerror(i32 noundef %14277) #11
  %14279 = call ptr @__errno_location() #12
  %14280 = load i32, ptr %14279, align 4, !tbaa !5
  %14281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14268, ptr noundef @.str.78, i32 noundef %14269, ptr noundef @.str.230, ptr noundef @.str.77, i32 noundef 539, ptr noundef %14272, ptr noundef %14275, ptr noundef %14278, i32 noundef %14280) #11
  br label %14299

14282:                                            ; preds = %14260, %14253
  %14283 = load i32, ptr %356, align 4, !tbaa !5
  %14284 = call ptr @__errno_location() #12
  store i32 %14283, ptr %14284, align 4, !tbaa !5
  %14285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14286 = load i32, ptr @test_count, align 4, !tbaa !5
  %14287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14288 = load i32, ptr %14287, align 4, !tbaa !5
  %14289 = call ptr @s2n_strerror(i32 noundef %14288, ptr noundef @.str.80)
  %14290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14291 = load i32, ptr %14290, align 4, !tbaa !5
  %14292 = call ptr @s2n_strerror_debug(i32 noundef %14291, ptr noundef @.str.80)
  %14293 = call ptr @__errno_location() #12
  %14294 = load i32, ptr %14293, align 4, !tbaa !5
  %14295 = call ptr @strerror(i32 noundef %14294) #11
  %14296 = call ptr @__errno_location() #12
  %14297 = load i32, ptr %14296, align 4, !tbaa !5
  %14298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14285, ptr noundef @.str.81, i32 noundef %14286, ptr noundef @.str.230, ptr noundef @.str.77, i32 noundef 539, ptr noundef %14289, ptr noundef %14292, ptr noundef %14295, i32 noundef %14297) #11
  br label %14299

14299:                                            ; preds = %14282, %14265
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #11
  br label %14300

14300:                                            ; preds = %14299
  br label %14301

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

14302:                                            ; No predecessors!
  br label %14303

14303:                                            ; preds = %14302
  br label %14304

14304:                                            ; preds = %14303, %14241
  br label %14305

14305:                                            ; preds = %14304
  br label %14306

14306:                                            ; preds = %14305
  call void @llvm.lifetime.start.p0(i64 8, ptr %357) #11
  store ptr %307, ptr %357, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %358) #11
  call void @llvm.memset.p0.i64(ptr align 8 %358, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr %359) #11
  br label %14307

14307:                                            ; preds = %14306
  %14308 = load i32, ptr @test_count, align 4, !tbaa !5
  %14309 = add nsw i32 %14308, 1
  store i32 %14309, ptr @test_count, align 4, !tbaa !5
  %14310 = getelementptr inbounds [32 x i8], ptr %359, i64 0, i64 0
  %14311 = call i32 @s2n_blob_init(ptr noundef %358, ptr noundef %14310, i32 noundef 32)
  %14312 = icmp eq i32 %14311, -1
  br i1 %14312, label %14313, label %14366

14313:                                            ; preds = %14307
  br label %14314

14314:                                            ; preds = %14313
  br label %14315

14315:                                            ; preds = %14314
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #11
  %14316 = call ptr @__errno_location() #12
  %14317 = load i32, ptr %14316, align 4, !tbaa !5
  store i32 %14317, ptr %360, align 4, !tbaa !5
  %14318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14319 = call i32 @s2n_print_stacktrace(ptr noundef %14318)
  %14320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14321 = trunc i8 %14320 to i1
  br i1 %14321, label %14322, label %14344

14322:                                            ; preds = %14315
  %14323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14324 = call i32 @fileno(ptr noundef %14323) #11
  %14325 = call i32 @isatty(i32 noundef %14324) #11
  %14326 = icmp ne i32 %14325, 0
  br i1 %14326, label %14327, label %14344

14327:                                            ; preds = %14322
  %14328 = load i32, ptr %360, align 4, !tbaa !5
  %14329 = call ptr @__errno_location() #12
  store i32 %14328, ptr %14329, align 4, !tbaa !5
  %14330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14331 = load i32, ptr @test_count, align 4, !tbaa !5
  %14332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14333 = load i32, ptr %14332, align 4, !tbaa !5
  %14334 = call ptr @s2n_strerror(i32 noundef %14333, ptr noundef @.str.80)
  %14335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14336 = load i32, ptr %14335, align 4, !tbaa !5
  %14337 = call ptr @s2n_strerror_debug(i32 noundef %14336, ptr noundef @.str.80)
  %14338 = call ptr @__errno_location() #12
  %14339 = load i32, ptr %14338, align 4, !tbaa !5
  %14340 = call ptr @strerror(i32 noundef %14339) #11
  %14341 = call ptr @__errno_location() #12
  %14342 = load i32, ptr %14341, align 4, !tbaa !5
  %14343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14330, ptr noundef @.str.78, i32 noundef %14331, ptr noundef @.str.231, ptr noundef @.str.77, i32 noundef 545, ptr noundef %14334, ptr noundef %14337, ptr noundef %14340, i32 noundef %14342) #11
  br label %14361

14344:                                            ; preds = %14322, %14315
  %14345 = load i32, ptr %360, align 4, !tbaa !5
  %14346 = call ptr @__errno_location() #12
  store i32 %14345, ptr %14346, align 4, !tbaa !5
  %14347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14348 = load i32, ptr @test_count, align 4, !tbaa !5
  %14349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14350 = load i32, ptr %14349, align 4, !tbaa !5
  %14351 = call ptr @s2n_strerror(i32 noundef %14350, ptr noundef @.str.80)
  %14352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14353 = load i32, ptr %14352, align 4, !tbaa !5
  %14354 = call ptr @s2n_strerror_debug(i32 noundef %14353, ptr noundef @.str.80)
  %14355 = call ptr @__errno_location() #12
  %14356 = load i32, ptr %14355, align 4, !tbaa !5
  %14357 = call ptr @strerror(i32 noundef %14356) #11
  %14358 = call ptr @__errno_location() #12
  %14359 = load i32, ptr %14358, align 4, !tbaa !5
  %14360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14347, ptr noundef @.str.81, i32 noundef %14348, ptr noundef @.str.231, ptr noundef @.str.77, i32 noundef 545, ptr noundef %14351, ptr noundef %14354, ptr noundef %14357, i32 noundef %14359) #11
  br label %14361

14361:                                            ; preds = %14344, %14327
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #11
  br label %14362

14362:                                            ; preds = %14361
  br label %14363

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

14364:                                            ; No predecessors!
  br label %14365

14365:                                            ; preds = %14364
  br label %14366

14366:                                            ; preds = %14365, %14307
  br label %14367

14367:                                            ; preds = %14366
  br label %14368

14368:                                            ; preds = %14367
  br label %14369

14369:                                            ; preds = %14368
  br label %14370

14370:                                            ; preds = %14369
  %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 ptr, ptr %351, align 8, !tbaa !9
  %14374 = load ptr, ptr %357, align 8, !tbaa !9
  %14375 = call i32 @s2n_psk_verify_binder(ptr noundef %14373, ptr noundef %353, ptr noundef %303, ptr noundef %14374)
  %14376 = icmp eq i32 %14375, -1
  br i1 %14376, label %14430, label %14377

14377:                                            ; preds = %14370
  br label %14378

14378:                                            ; preds = %14377
  br label %14379

14379:                                            ; preds = %14378
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #11
  %14380 = call ptr @__errno_location() #12
  %14381 = load i32, ptr %14380, align 4, !tbaa !5
  store i32 %14381, ptr %361, align 4, !tbaa !5
  %14382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14383 = call i32 @s2n_print_stacktrace(ptr noundef %14382)
  %14384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14385 = trunc i8 %14384 to i1
  br i1 %14385, label %14386, label %14408

14386:                                            ; preds = %14379
  %14387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14388 = call i32 @fileno(ptr noundef %14387) #11
  %14389 = call i32 @isatty(i32 noundef %14388) #11
  %14390 = icmp ne i32 %14389, 0
  br i1 %14390, label %14391, label %14408

14391:                                            ; preds = %14386
  %14392 = load i32, ptr %361, align 4, !tbaa !5
  %14393 = call ptr @__errno_location() #12
  store i32 %14392, ptr %14393, align 4, !tbaa !5
  %14394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14395 = load i32, ptr @test_count, align 4, !tbaa !5
  %14396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14397 = load i32, ptr %14396, align 4, !tbaa !5
  %14398 = call ptr @s2n_strerror(i32 noundef %14397, ptr noundef @.str.80)
  %14399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14400 = load i32, ptr %14399, align 4, !tbaa !5
  %14401 = call ptr @s2n_strerror_debug(i32 noundef %14400, ptr noundef @.str.80)
  %14402 = call ptr @__errno_location() #12
  %14403 = load i32, ptr %14402, align 4, !tbaa !5
  %14404 = call ptr @strerror(i32 noundef %14403) #11
  %14405 = call ptr @__errno_location() #12
  %14406 = load i32, ptr %14405, align 4, !tbaa !5
  %14407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14394, ptr noundef @.str.78, i32 noundef %14395, ptr noundef @.str.238, ptr noundef @.str.77, i32 noundef 547, ptr noundef %14398, ptr noundef %14401, ptr noundef %14404, i32 noundef %14406) #11
  br label %14425

14408:                                            ; preds = %14386, %14379
  %14409 = load i32, ptr %361, align 4, !tbaa !5
  %14410 = call ptr @__errno_location() #12
  store i32 %14409, ptr %14410, align 4, !tbaa !5
  %14411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14412 = load i32, ptr @test_count, align 4, !tbaa !5
  %14413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14414 = load i32, ptr %14413, align 4, !tbaa !5
  %14415 = call ptr @s2n_strerror(i32 noundef %14414, ptr noundef @.str.80)
  %14416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14417 = load i32, ptr %14416, align 4, !tbaa !5
  %14418 = call ptr @s2n_strerror_debug(i32 noundef %14417, ptr noundef @.str.80)
  %14419 = call ptr @__errno_location() #12
  %14420 = load i32, ptr %14419, align 4, !tbaa !5
  %14421 = call ptr @strerror(i32 noundef %14420) #11
  %14422 = call ptr @__errno_location() #12
  %14423 = load i32, ptr %14422, align 4, !tbaa !5
  %14424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14411, ptr noundef @.str.81, i32 noundef %14412, ptr noundef @.str.238, ptr noundef @.str.77, i32 noundef 547, ptr noundef %14415, ptr noundef %14418, ptr noundef %14421, i32 noundef %14423) #11
  br label %14425

14425:                                            ; preds = %14408, %14391
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #11
  br label %14426

14426:                                            ; preds = %14425
  br label %14427

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

14428:                                            ; No predecessors!
  br label %14429

14429:                                            ; preds = %14428
  br label %14430

14430:                                            ; preds = %14429, %14370
  br label %14431

14431:                                            ; preds = %14430
  br label %14432

14432:                                            ; preds = %14431
  br label %14433

14433:                                            ; preds = %14432
  %14434 = load i32, ptr @test_count, align 4, !tbaa !5
  %14435 = add nsw i32 %14434, 1
  store i32 %14435, ptr @test_count, align 4, !tbaa !5
  %14436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14437 = load i32, ptr %14436, align 4, !tbaa !5
  %14438 = icmp eq i32 %14437, 0
  br i1 %14438, label %14439, label %14492

14439:                                            ; preds = %14433
  br label %14440

14440:                                            ; preds = %14439
  br label %14441

14441:                                            ; preds = %14440
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #11
  %14442 = call ptr @__errno_location() #12
  %14443 = load i32, ptr %14442, align 4, !tbaa !5
  store i32 %14443, ptr %362, align 4, !tbaa !5
  %14444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14445 = call i32 @s2n_print_stacktrace(ptr noundef %14444)
  %14446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14447 = trunc i8 %14446 to i1
  br i1 %14447, label %14448, label %14470

14448:                                            ; preds = %14441
  %14449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14450 = call i32 @fileno(ptr noundef %14449) #11
  %14451 = call i32 @isatty(i32 noundef %14450) #11
  %14452 = icmp ne i32 %14451, 0
  br i1 %14452, label %14453, label %14470

14453:                                            ; preds = %14448
  %14454 = load i32, ptr %362, align 4, !tbaa !5
  %14455 = call ptr @__errno_location() #12
  store i32 %14454, ptr %14455, align 4, !tbaa !5
  %14456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14457 = load i32, ptr @test_count, align 4, !tbaa !5
  %14458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14459 = load i32, ptr %14458, align 4, !tbaa !5
  %14460 = call ptr @s2n_strerror(i32 noundef %14459, ptr noundef @.str.80)
  %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_debug(i32 noundef %14462, ptr noundef @.str.80)
  %14464 = call ptr @__errno_location() #12
  %14465 = load i32, ptr %14464, align 4, !tbaa !5
  %14466 = call ptr @strerror(i32 noundef %14465) #11
  %14467 = call ptr @__errno_location() #12
  %14468 = load i32, ptr %14467, align 4, !tbaa !5
  %14469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14456, ptr noundef @.str.78, i32 noundef %14457, ptr noundef @.str.239, ptr noundef @.str.77, i32 noundef 547, ptr noundef %14460, ptr noundef %14463, ptr noundef %14466, i32 noundef %14468) #11
  br label %14487

14470:                                            ; preds = %14448, %14441
  %14471 = load i32, ptr %362, align 4, !tbaa !5
  %14472 = call ptr @__errno_location() #12
  store i32 %14471, ptr %14472, align 4, !tbaa !5
  %14473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14474 = load i32, ptr @test_count, align 4, !tbaa !5
  %14475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14476 = load i32, ptr %14475, align 4, !tbaa !5
  %14477 = call ptr @s2n_strerror(i32 noundef %14476, ptr noundef @.str.80)
  %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_debug(i32 noundef %14479, ptr noundef @.str.80)
  %14481 = call ptr @__errno_location() #12
  %14482 = load i32, ptr %14481, align 4, !tbaa !5
  %14483 = call ptr @strerror(i32 noundef %14482) #11
  %14484 = call ptr @__errno_location() #12
  %14485 = load i32, ptr %14484, align 4, !tbaa !5
  %14486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14473, ptr noundef @.str.81, i32 noundef %14474, ptr noundef @.str.239, ptr noundef @.str.77, i32 noundef 547, ptr noundef %14477, ptr noundef %14480, ptr noundef %14483, i32 noundef %14485) #11
  br label %14487

14487:                                            ; preds = %14470, %14453
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #11
  br label %14488

14488:                                            ; preds = %14487
  br label %14489

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

14490:                                            ; No predecessors!
  br label %14491

14491:                                            ; preds = %14490
  br label %14492

14492:                                            ; preds = %14491, %14433
  br label %14493

14493:                                            ; preds = %14492
  br label %14494

14494:                                            ; preds = %14493
  br label %14495

14495:                                            ; preds = %14494
  %14496 = load i32, ptr @test_count, align 4, !tbaa !5
  %14497 = add nsw i32 %14496, 1
  store i32 %14497, ptr @test_count, align 4, !tbaa !5
  %14498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14499 = load i32, ptr %14498, align 4, !tbaa !5
  %14500 = call ptr @s2n_strerror_debug(i32 noundef %14499, ptr noundef @.str.80)
  %14501 = icmp eq ptr %14500, null
  br i1 %14501, label %14502, label %14555

14502:                                            ; preds = %14495
  br label %14503

14503:                                            ; preds = %14502
  br label %14504

14504:                                            ; preds = %14503
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #11
  %14505 = call ptr @__errno_location() #12
  %14506 = load i32, ptr %14505, align 4, !tbaa !5
  store i32 %14506, ptr %363, align 4, !tbaa !5
  %14507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14508 = call i32 @s2n_print_stacktrace(ptr noundef %14507)
  %14509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14510 = trunc i8 %14509 to i1
  br i1 %14510, label %14511, label %14533

14511:                                            ; preds = %14504
  %14512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14513 = call i32 @fileno(ptr noundef %14512) #11
  %14514 = call i32 @isatty(i32 noundef %14513) #11
  %14515 = icmp ne i32 %14514, 0
  br i1 %14515, label %14516, label %14533

14516:                                            ; preds = %14511
  %14517 = load i32, ptr %363, align 4, !tbaa !5
  %14518 = call ptr @__errno_location() #12
  store i32 %14517, ptr %14518, align 4, !tbaa !5
  %14519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14520 = load i32, ptr @test_count, align 4, !tbaa !5
  %14521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14522 = load i32, ptr %14521, align 4, !tbaa !5
  %14523 = call ptr @s2n_strerror(i32 noundef %14522, ptr noundef @.str.80)
  %14524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14525 = load i32, ptr %14524, align 4, !tbaa !5
  %14526 = call ptr @s2n_strerror_debug(i32 noundef %14525, ptr noundef @.str.80)
  %14527 = call ptr @__errno_location() #12
  %14528 = load i32, ptr %14527, align 4, !tbaa !5
  %14529 = call ptr @strerror(i32 noundef %14528) #11
  %14530 = call ptr @__errno_location() #12
  %14531 = load i32, ptr %14530, align 4, !tbaa !5
  %14532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14519, ptr noundef @.str.78, i32 noundef %14520, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 547, ptr noundef %14523, ptr noundef %14526, ptr noundef %14529, i32 noundef %14531) #11
  br label %14550

14533:                                            ; preds = %14511, %14504
  %14534 = load i32, ptr %363, align 4, !tbaa !5
  %14535 = call ptr @__errno_location() #12
  store i32 %14534, ptr %14535, align 4, !tbaa !5
  %14536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14537 = load i32, ptr @test_count, align 4, !tbaa !5
  %14538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14539 = load i32, ptr %14538, align 4, !tbaa !5
  %14540 = call ptr @s2n_strerror(i32 noundef %14539, ptr noundef @.str.80)
  %14541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14542 = load i32, ptr %14541, align 4, !tbaa !5
  %14543 = call ptr @s2n_strerror_debug(i32 noundef %14542, ptr noundef @.str.80)
  %14544 = call ptr @__errno_location() #12
  %14545 = load i32, ptr %14544, align 4, !tbaa !5
  %14546 = call ptr @strerror(i32 noundef %14545) #11
  %14547 = call ptr @__errno_location() #12
  %14548 = load i32, ptr %14547, align 4, !tbaa !5
  %14549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14536, ptr noundef @.str.81, i32 noundef %14537, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 547, ptr noundef %14540, ptr noundef %14543, ptr noundef %14546, i32 noundef %14548) #11
  br label %14550

14550:                                            ; preds = %14533, %14516
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #11
  br label %14551

14551:                                            ; preds = %14550
  br label %14552

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

14553:                                            ; No predecessors!
  br label %14554

14554:                                            ; preds = %14553
  br label %14555

14555:                                            ; preds = %14554, %14495
  br label %14556

14556:                                            ; preds = %14555
  br label %14557

14557:                                            ; preds = %14556
  br label %14558

14558:                                            ; preds = %14557
  %14559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14559, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14560 = call ptr @__errno_location() #12
  store i32 0, ptr %14560, align 4, !tbaa !5
  br label %14561

14561:                                            ; preds = %14558
  br label %14562

14562:                                            ; preds = %14561
  br label %14563

14563:                                            ; preds = %14562
  br label %14564

14564:                                            ; preds = %14563
  br label %14565

14565:                                            ; preds = %14564
  br label %14566

14566:                                            ; preds = %14565
  %14567 = load i32, ptr @test_count, align 4, !tbaa !5
  %14568 = add nsw i32 %14567, 1
  store i32 %14568, ptr @test_count, align 4, !tbaa !5
  %14569 = getelementptr inbounds %struct.s2n_psk, ptr %353, i32 0, i32 6
  %14570 = getelementptr inbounds %struct.s2n_blob, ptr %14569, i32 0, i32 1
  %14571 = load i32, ptr %14570, align 8, !tbaa !29
  %14572 = getelementptr inbounds %struct.s2n_blob, ptr %311, i32 0, i32 1
  %14573 = load i32, ptr %14572, align 8, !tbaa !79
  %14574 = icmp eq i32 %14571, %14573
  br i1 %14574, label %14628, label %14575

14575:                                            ; preds = %14566
  br label %14576

14576:                                            ; preds = %14575
  br label %14577

14577:                                            ; preds = %14576
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #11
  %14578 = call ptr @__errno_location() #12
  %14579 = load i32, ptr %14578, align 4, !tbaa !5
  store i32 %14579, ptr %364, align 4, !tbaa !5
  %14580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14581 = call i32 @s2n_print_stacktrace(ptr noundef %14580)
  %14582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14583 = trunc i8 %14582 to i1
  br i1 %14583, label %14584, label %14606

14584:                                            ; preds = %14577
  %14585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14586 = call i32 @fileno(ptr noundef %14585) #11
  %14587 = call i32 @isatty(i32 noundef %14586) #11
  %14588 = icmp ne i32 %14587, 0
  br i1 %14588, label %14589, label %14606

14589:                                            ; preds = %14584
  %14590 = load i32, ptr %364, align 4, !tbaa !5
  %14591 = call ptr @__errno_location() #12
  store i32 %14590, ptr %14591, align 4, !tbaa !5
  %14592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14593 = load i32, ptr @test_count, align 4, !tbaa !5
  %14594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14595 = load i32, ptr %14594, align 4, !tbaa !5
  %14596 = call ptr @s2n_strerror(i32 noundef %14595, ptr noundef @.str.80)
  %14597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14598 = load i32, ptr %14597, align 4, !tbaa !5
  %14599 = call ptr @s2n_strerror_debug(i32 noundef %14598, ptr noundef @.str.80)
  %14600 = call ptr @__errno_location() #12
  %14601 = load i32, ptr %14600, align 4, !tbaa !5
  %14602 = call ptr @strerror(i32 noundef %14601) #11
  %14603 = call ptr @__errno_location() #12
  %14604 = load i32, ptr %14603, align 4, !tbaa !5
  %14605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14592, ptr noundef @.str.78, i32 noundef %14593, ptr noundef @.str.233, ptr noundef @.str.77, i32 noundef 548, ptr noundef %14596, ptr noundef %14599, ptr noundef %14602, i32 noundef %14604) #11
  br label %14623

14606:                                            ; preds = %14584, %14577
  %14607 = load i32, ptr %364, align 4, !tbaa !5
  %14608 = call ptr @__errno_location() #12
  store i32 %14607, ptr %14608, align 4, !tbaa !5
  %14609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14610 = load i32, ptr @test_count, align 4, !tbaa !5
  %14611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14612 = load i32, ptr %14611, align 4, !tbaa !5
  %14613 = call ptr @s2n_strerror(i32 noundef %14612, ptr noundef @.str.80)
  %14614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14615 = load i32, ptr %14614, align 4, !tbaa !5
  %14616 = call ptr @s2n_strerror_debug(i32 noundef %14615, ptr noundef @.str.80)
  %14617 = call ptr @__errno_location() #12
  %14618 = load i32, ptr %14617, align 4, !tbaa !5
  %14619 = call ptr @strerror(i32 noundef %14618) #11
  %14620 = call ptr @__errno_location() #12
  %14621 = load i32, ptr %14620, align 4, !tbaa !5
  %14622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14609, ptr noundef @.str.81, i32 noundef %14610, ptr noundef @.str.233, ptr noundef @.str.77, i32 noundef 548, ptr noundef %14613, ptr noundef %14616, ptr noundef %14619, i32 noundef %14621) #11
  br label %14623

14623:                                            ; preds = %14606, %14589
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #11
  br label %14624

14624:                                            ; preds = %14623
  br label %14625

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

14626:                                            ; No predecessors!
  br label %14627

14627:                                            ; preds = %14626
  br label %14628

14628:                                            ; preds = %14627, %14566
  br label %14629

14629:                                            ; preds = %14628
  br label %14630

14630:                                            ; preds = %14629
  br label %14631

14631:                                            ; preds = %14630
  %14632 = getelementptr inbounds %struct.s2n_psk, ptr %353, i32 0, i32 6
  %14633 = getelementptr inbounds %struct.s2n_blob, ptr %14632, i32 0, i32 1
  %14634 = load i32, ptr %14633, align 8, !tbaa !29
  %14635 = icmp ne i32 %14634, 0
  br i1 %14635, label %14636, label %14707

14636:                                            ; preds = %14631
  br label %14637

14637:                                            ; preds = %14636
  %14638 = load i32, ptr @test_count, align 4, !tbaa !5
  %14639 = add nsw i32 %14638, 1
  store i32 %14639, ptr @test_count, align 4, !tbaa !5
  %14640 = getelementptr inbounds %struct.s2n_psk, ptr %353, i32 0, i32 6
  %14641 = getelementptr inbounds %struct.s2n_blob, ptr %14640, i32 0, i32 0
  %14642 = load ptr, ptr %14641, align 8, !tbaa !30
  %14643 = getelementptr inbounds %struct.s2n_blob, ptr %311, i32 0, i32 0
  %14644 = load ptr, ptr %14643, align 8, !tbaa !80
  %14645 = getelementptr inbounds %struct.s2n_psk, ptr %353, i32 0, i32 6
  %14646 = getelementptr inbounds %struct.s2n_blob, ptr %14645, i32 0, i32 1
  %14647 = load i32, ptr %14646, align 8, !tbaa !29
  %14648 = zext i32 %14647 to i64
  %14649 = call i32 @memcmp(ptr noundef %14642, ptr noundef %14644, i64 noundef %14648) #14
  %14650 = icmp eq i32 %14649, 0
  br i1 %14650, label %14704, label %14651

14651:                                            ; preds = %14637
  br label %14652

14652:                                            ; preds = %14651
  br label %14653

14653:                                            ; preds = %14652
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #11
  %14654 = call ptr @__errno_location() #12
  %14655 = load i32, ptr %14654, align 4, !tbaa !5
  store i32 %14655, ptr %365, align 4, !tbaa !5
  %14656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14657 = call i32 @s2n_print_stacktrace(ptr noundef %14656)
  %14658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14659 = trunc i8 %14658 to i1
  br i1 %14659, label %14660, label %14682

14660:                                            ; preds = %14653
  %14661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14662 = call i32 @fileno(ptr noundef %14661) #11
  %14663 = call i32 @isatty(i32 noundef %14662) #11
  %14664 = icmp ne i32 %14663, 0
  br i1 %14664, label %14665, label %14682

14665:                                            ; preds = %14660
  %14666 = load i32, ptr %365, align 4, !tbaa !5
  %14667 = call ptr @__errno_location() #12
  store i32 %14666, ptr %14667, align 4, !tbaa !5
  %14668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14669 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14671, ptr noundef @.str.80)
  %14673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14674 = load i32, ptr %14673, align 4, !tbaa !5
  %14675 = call ptr @s2n_strerror_debug(i32 noundef %14674, ptr noundef @.str.80)
  %14676 = call ptr @__errno_location() #12
  %14677 = load i32, ptr %14676, align 4, !tbaa !5
  %14678 = call ptr @strerror(i32 noundef %14677) #11
  %14679 = call ptr @__errno_location() #12
  %14680 = load i32, ptr %14679, align 4, !tbaa !5
  %14681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14668, ptr noundef @.str.78, i32 noundef %14669, ptr noundef @.str.234, ptr noundef @.str.77, i32 noundef 548, ptr noundef %14672, ptr noundef %14675, ptr noundef %14678, i32 noundef %14680) #11
  br label %14699

14682:                                            ; preds = %14660, %14653
  %14683 = load i32, ptr %365, align 4, !tbaa !5
  %14684 = call ptr @__errno_location() #12
  store i32 %14683, ptr %14684, align 4, !tbaa !5
  %14685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14686 = load i32, ptr @test_count, align 4, !tbaa !5
  %14687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14688 = load i32, ptr %14687, align 4, !tbaa !5
  %14689 = call ptr @s2n_strerror(i32 noundef %14688, ptr noundef @.str.80)
  %14690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14691 = load i32, ptr %14690, align 4, !tbaa !5
  %14692 = call ptr @s2n_strerror_debug(i32 noundef %14691, ptr noundef @.str.80)
  %14693 = call ptr @__errno_location() #12
  %14694 = load i32, ptr %14693, align 4, !tbaa !5
  %14695 = call ptr @strerror(i32 noundef %14694) #11
  %14696 = call ptr @__errno_location() #12
  %14697 = load i32, ptr %14696, align 4, !tbaa !5
  %14698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14685, ptr noundef @.str.81, i32 noundef %14686, ptr noundef @.str.234, ptr noundef @.str.77, i32 noundef 548, ptr noundef %14689, ptr noundef %14692, ptr noundef %14695, i32 noundef %14697) #11
  br label %14699

14699:                                            ; preds = %14682, %14665
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #11
  br label %14700

14700:                                            ; preds = %14699
  br label %14701

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

14702:                                            ; No predecessors!
  br label %14703

14703:                                            ; preds = %14702
  br label %14704

14704:                                            ; preds = %14703, %14637
  br label %14705

14705:                                            ; preds = %14704
  br label %14706

14706:                                            ; preds = %14705
  br label %14707

14707:                                            ; preds = %14706, %14631
  br label %14708

14708:                                            ; preds = %14707
  br label %14709

14709:                                            ; preds = %14708
  br label %14710

14710:                                            ; preds = %14709
  br label %14711

14711:                                            ; preds = %14710
  br label %14712

14712:                                            ; preds = %14711
  %14713 = load i32, ptr @test_count, align 4, !tbaa !5
  %14714 = add nsw i32 %14713, 1
  store i32 %14714, ptr @test_count, align 4, !tbaa !5
  %14715 = load ptr, ptr %351, align 8, !tbaa !9
  %14716 = call i32 @s2n_connection_free(ptr noundef %14715)
  %14717 = icmp eq i32 %14716, -1
  br i1 %14717, label %14718, label %14771

14718:                                            ; preds = %14712
  br label %14719

14719:                                            ; preds = %14718
  br label %14720

14720:                                            ; preds = %14719
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #11
  %14721 = call ptr @__errno_location() #12
  %14722 = load i32, ptr %14721, align 4, !tbaa !5
  store i32 %14722, ptr %366, align 4, !tbaa !5
  %14723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14724 = call i32 @s2n_print_stacktrace(ptr noundef %14723)
  %14725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14726 = trunc i8 %14725 to i1
  br i1 %14726, label %14727, label %14749

14727:                                            ; preds = %14720
  %14728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14729 = call i32 @fileno(ptr noundef %14728) #11
  %14730 = call i32 @isatty(i32 noundef %14729) #11
  %14731 = icmp ne i32 %14730, 0
  br i1 %14731, label %14732, label %14749

14732:                                            ; preds = %14727
  %14733 = load i32, ptr %366, align 4, !tbaa !5
  %14734 = call ptr @__errno_location() #12
  store i32 %14733, ptr %14734, align 4, !tbaa !5
  %14735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14736 = load i32, ptr @test_count, align 4, !tbaa !5
  %14737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14738 = load i32, ptr %14737, align 4, !tbaa !5
  %14739 = call ptr @s2n_strerror(i32 noundef %14738, ptr noundef @.str.80)
  %14740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14741 = load i32, ptr %14740, align 4, !tbaa !5
  %14742 = call ptr @s2n_strerror_debug(i32 noundef %14741, ptr noundef @.str.80)
  %14743 = call ptr @__errno_location() #12
  %14744 = load i32, ptr %14743, align 4, !tbaa !5
  %14745 = call ptr @strerror(i32 noundef %14744) #11
  %14746 = call ptr @__errno_location() #12
  %14747 = load i32, ptr %14746, align 4, !tbaa !5
  %14748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14735, ptr noundef @.str.78, i32 noundef %14736, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 550, ptr noundef %14739, ptr noundef %14742, ptr noundef %14745, i32 noundef %14747) #11
  br label %14766

14749:                                            ; preds = %14727, %14720
  %14750 = load i32, ptr %366, align 4, !tbaa !5
  %14751 = call ptr @__errno_location() #12
  store i32 %14750, ptr %14751, align 4, !tbaa !5
  %14752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14753 = load i32, ptr @test_count, align 4, !tbaa !5
  %14754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14755 = load i32, ptr %14754, align 4, !tbaa !5
  %14756 = call ptr @s2n_strerror(i32 noundef %14755, ptr noundef @.str.80)
  %14757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14758 = load i32, ptr %14757, align 4, !tbaa !5
  %14759 = call ptr @s2n_strerror_debug(i32 noundef %14758, ptr noundef @.str.80)
  %14760 = call ptr @__errno_location() #12
  %14761 = load i32, ptr %14760, align 4, !tbaa !5
  %14762 = call ptr @strerror(i32 noundef %14761) #11
  %14763 = call ptr @__errno_location() #12
  %14764 = load i32, ptr %14763, align 4, !tbaa !5
  %14765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14752, ptr noundef @.str.81, i32 noundef %14753, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 550, ptr noundef %14756, ptr noundef %14759, ptr noundef %14762, i32 noundef %14764) #11
  br label %14766

14766:                                            ; preds = %14749, %14732
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #11
  br label %14767

14767:                                            ; preds = %14766
  br label %14768

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

14769:                                            ; No predecessors!
  br label %14770

14770:                                            ; preds = %14769
  br label %14771

14771:                                            ; preds = %14770, %14712
  br label %14772

14772:                                            ; preds = %14771
  br label %14773

14773:                                            ; preds = %14772
  call void @llvm.lifetime.end.p0(i64 32, ptr %359) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %358) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %357) #11
  %14774 = call i32 @s2n_psk_wipe(ptr noundef %353)
  %14775 = getelementptr inbounds %struct.s2n_result, ptr %367, i32 0, i32 0
  store i32 %14774, ptr %14775, align 4
  call void @llvm.lifetime.end.p0(i64 168, ptr %353) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %351) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %368) #11
  store ptr null, ptr %368, align 8, !tbaa !9
  br label %14776

14776:                                            ; preds = %14773
  %14777 = load i32, ptr @test_count, align 4, !tbaa !5
  %14778 = add nsw i32 %14777, 1
  store i32 %14778, ptr @test_count, align 4, !tbaa !5
  %14779 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %14779, ptr %368, align 8, !tbaa !9
  %14780 = icmp eq ptr %14779, null
  br i1 %14780, label %14781, label %14834

14781:                                            ; preds = %14776
  br label %14782

14782:                                            ; preds = %14781
  br label %14783

14783:                                            ; preds = %14782
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #11
  %14784 = call ptr @__errno_location() #12
  %14785 = load i32, ptr %14784, align 4, !tbaa !5
  store i32 %14785, ptr %369, align 4, !tbaa !5
  %14786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14787 = call i32 @s2n_print_stacktrace(ptr noundef %14786)
  %14788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14789 = trunc i8 %14788 to i1
  br i1 %14789, label %14790, label %14812

14790:                                            ; preds = %14783
  %14791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14792 = call i32 @fileno(ptr noundef %14791) #11
  %14793 = call i32 @isatty(i32 noundef %14792) #11
  %14794 = icmp ne i32 %14793, 0
  br i1 %14794, label %14795, label %14812

14795:                                            ; preds = %14790
  %14796 = load i32, ptr %369, align 4, !tbaa !5
  %14797 = call ptr @__errno_location() #12
  store i32 %14796, ptr %14797, align 4, !tbaa !5
  %14798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14799 = load i32, ptr @test_count, align 4, !tbaa !5
  %14800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14801 = load i32, ptr %14800, align 4, !tbaa !5
  %14802 = call ptr @s2n_strerror(i32 noundef %14801, ptr noundef @.str.80)
  %14803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14804 = load i32, ptr %14803, align 4, !tbaa !5
  %14805 = call ptr @s2n_strerror_debug(i32 noundef %14804, ptr noundef @.str.80)
  %14806 = call ptr @__errno_location() #12
  %14807 = load i32, ptr %14806, align 4, !tbaa !5
  %14808 = call ptr @strerror(i32 noundef %14807) #11
  %14809 = call ptr @__errno_location() #12
  %14810 = load i32, ptr %14809, align 4, !tbaa !5
  %14811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14798, ptr noundef @.str.78, i32 noundef %14799, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 556, ptr noundef %14802, ptr noundef %14805, ptr noundef %14808, i32 noundef %14810) #11
  br label %14829

14812:                                            ; preds = %14790, %14783
  %14813 = load i32, ptr %369, align 4, !tbaa !5
  %14814 = call ptr @__errno_location() #12
  store i32 %14813, ptr %14814, align 4, !tbaa !5
  %14815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14816 = load i32, ptr @test_count, align 4, !tbaa !5
  %14817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14818 = load i32, ptr %14817, align 4, !tbaa !5
  %14819 = call ptr @s2n_strerror(i32 noundef %14818, ptr noundef @.str.80)
  %14820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14821 = load i32, ptr %14820, align 4, !tbaa !5
  %14822 = call ptr @s2n_strerror_debug(i32 noundef %14821, ptr noundef @.str.80)
  %14823 = call ptr @__errno_location() #12
  %14824 = load i32, ptr %14823, align 4, !tbaa !5
  %14825 = call ptr @strerror(i32 noundef %14824) #11
  %14826 = call ptr @__errno_location() #12
  %14827 = load i32, ptr %14826, align 4, !tbaa !5
  %14828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14815, ptr noundef @.str.81, i32 noundef %14816, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 556, ptr noundef %14819, ptr noundef %14822, ptr noundef %14825, i32 noundef %14827) #11
  br label %14829

14829:                                            ; preds = %14812, %14795
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #11
  br label %14830

14830:                                            ; preds = %14829
  br label %14831

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

14832:                                            ; No predecessors!
  br label %14833

14833:                                            ; preds = %14832
  br label %14834

14834:                                            ; preds = %14833, %14776
  br label %14835

14835:                                            ; preds = %14834
  br label %14836

14836:                                            ; preds = %14835
  call void @llvm.lifetime.start.p0(i64 168, ptr %370) #11
  call void @llvm.memset.p0.i64(ptr align 8 %370, i8 0, i64 168, i1 false)
  br label %14837

14837:                                            ; preds = %14836
  %14838 = load i32, ptr @test_count, align 4, !tbaa !5
  %14839 = add nsw i32 %14838, 1
  store i32 %14839, ptr @test_count, align 4, !tbaa !5
  %14840 = call i32 @s2n_psk_init(ptr noundef %370, i32 noundef 0)
  %14841 = getelementptr inbounds %struct.s2n_result, ptr %371, i32 0, i32 0
  store i32 %14840, ptr %14841, align 4
  %14842 = getelementptr inbounds %struct.s2n_result, ptr %371, i32 0, i32 0
  %14843 = load i32, ptr %14842, align 4
  %14844 = call zeroext i1 @s2n_result_is_ok(i32 %14843)
  br i1 %14844, label %14898, label %14845

14845:                                            ; preds = %14837
  br label %14846

14846:                                            ; preds = %14845
  br label %14847

14847:                                            ; preds = %14846
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #11
  %14848 = call ptr @__errno_location() #12
  %14849 = load i32, ptr %14848, align 4, !tbaa !5
  store i32 %14849, ptr %372, align 4, !tbaa !5
  %14850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14851 = call i32 @s2n_print_stacktrace(ptr noundef %14850)
  %14852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14853 = trunc i8 %14852 to i1
  br i1 %14853, label %14854, label %14876

14854:                                            ; preds = %14847
  %14855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14856 = call i32 @fileno(ptr noundef %14855) #11
  %14857 = call i32 @isatty(i32 noundef %14856) #11
  %14858 = icmp ne i32 %14857, 0
  br i1 %14858, label %14859, label %14876

14859:                                            ; preds = %14854
  %14860 = load i32, ptr %372, align 4, !tbaa !5
  %14861 = call ptr @__errno_location() #12
  store i32 %14860, ptr %14861, align 4, !tbaa !5
  %14862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14863 = load i32, ptr @test_count, align 4, !tbaa !5
  %14864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14865 = load i32, ptr %14864, align 4, !tbaa !5
  %14866 = call ptr @s2n_strerror(i32 noundef %14865, ptr noundef @.str.80)
  %14867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14868 = load i32, ptr %14867, align 4, !tbaa !5
  %14869 = call ptr @s2n_strerror_debug(i32 noundef %14868, ptr noundef @.str.80)
  %14870 = call ptr @__errno_location() #12
  %14871 = load i32, ptr %14870, align 4, !tbaa !5
  %14872 = call ptr @strerror(i32 noundef %14871) #11
  %14873 = call ptr @__errno_location() #12
  %14874 = load i32, ptr %14873, align 4, !tbaa !5
  %14875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14862, ptr noundef @.str.78, i32 noundef %14863, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 559, ptr noundef %14866, ptr noundef %14869, ptr noundef %14872, i32 noundef %14874) #11
  br label %14893

14876:                                            ; preds = %14854, %14847
  %14877 = load i32, ptr %372, align 4, !tbaa !5
  %14878 = call ptr @__errno_location() #12
  store i32 %14877, ptr %14878, align 4, !tbaa !5
  %14879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14880 = load i32, ptr @test_count, align 4, !tbaa !5
  %14881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14882 = load i32, ptr %14881, align 4, !tbaa !5
  %14883 = call ptr @s2n_strerror(i32 noundef %14882, ptr noundef @.str.80)
  %14884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14885 = load i32, ptr %14884, align 4, !tbaa !5
  %14886 = call ptr @s2n_strerror_debug(i32 noundef %14885, ptr noundef @.str.80)
  %14887 = call ptr @__errno_location() #12
  %14888 = load i32, ptr %14887, align 4, !tbaa !5
  %14889 = call ptr @strerror(i32 noundef %14888) #11
  %14890 = call ptr @__errno_location() #12
  %14891 = load i32, ptr %14890, align 4, !tbaa !5
  %14892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14879, ptr noundef @.str.81, i32 noundef %14880, ptr noundef @.str.93, ptr noundef @.str.77, i32 noundef 559, ptr noundef %14883, ptr noundef %14886, ptr noundef %14889, i32 noundef %14891) #11
  br label %14893

14893:                                            ; preds = %14876, %14859
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #11
  br label %14894

14894:                                            ; preds = %14893
  br label %14895

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

14896:                                            ; No predecessors!
  br label %14897

14897:                                            ; preds = %14896
  br label %14898

14898:                                            ; preds = %14897, %14837
  br label %14899

14899:                                            ; preds = %14898
  br label %14900

14900:                                            ; preds = %14899
  br label %14901

14901:                                            ; preds = %14900
  %14902 = load i32, ptr @test_count, align 4, !tbaa !5
  %14903 = add nsw i32 %14902, 1
  store i32 %14903, ptr @test_count, align 4, !tbaa !5
  %14904 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 0
  %14905 = load ptr, ptr %14904, align 8, !tbaa !80
  %14906 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 1
  %14907 = load i32, ptr %14906, align 8, !tbaa !79
  %14908 = trunc i32 %14907 to i16
  %14909 = call i32 @s2n_psk_set_secret(ptr noundef %370, ptr noundef %14905, i16 noundef zeroext %14908)
  %14910 = icmp eq i32 %14909, -1
  br i1 %14910, label %14911, label %14964

14911:                                            ; preds = %14901
  br label %14912

14912:                                            ; preds = %14911
  br label %14913

14913:                                            ; preds = %14912
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #11
  %14914 = call ptr @__errno_location() #12
  %14915 = load i32, ptr %14914, align 4, !tbaa !5
  store i32 %14915, ptr %373, align 4, !tbaa !5
  %14916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14917 = call i32 @s2n_print_stacktrace(ptr noundef %14916)
  %14918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14919 = trunc i8 %14918 to i1
  br i1 %14919, label %14920, label %14942

14920:                                            ; preds = %14913
  %14921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14922 = call i32 @fileno(ptr noundef %14921) #11
  %14923 = call i32 @isatty(i32 noundef %14922) #11
  %14924 = icmp ne i32 %14923, 0
  br i1 %14924, label %14925, label %14942

14925:                                            ; preds = %14920
  %14926 = load i32, ptr %373, align 4, !tbaa !5
  %14927 = call ptr @__errno_location() #12
  store i32 %14926, ptr %14927, align 4, !tbaa !5
  %14928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14929 = load i32, ptr @test_count, align 4, !tbaa !5
  %14930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14931 = load i32, ptr %14930, align 4, !tbaa !5
  %14932 = call ptr @s2n_strerror(i32 noundef %14931, ptr noundef @.str.80)
  %14933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14934 = load i32, ptr %14933, align 4, !tbaa !5
  %14935 = call ptr @s2n_strerror_debug(i32 noundef %14934, ptr noundef @.str.80)
  %14936 = call ptr @__errno_location() #12
  %14937 = load i32, ptr %14936, align 4, !tbaa !5
  %14938 = call ptr @strerror(i32 noundef %14937) #11
  %14939 = call ptr @__errno_location() #12
  %14940 = load i32, ptr %14939, align 4, !tbaa !5
  %14941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14928, ptr noundef @.str.78, i32 noundef %14929, ptr noundef @.str.240, ptr noundef @.str.77, i32 noundef 560, ptr noundef %14932, ptr noundef %14935, ptr noundef %14938, i32 noundef %14940) #11
  br label %14959

14942:                                            ; preds = %14920, %14913
  %14943 = load i32, ptr %373, align 4, !tbaa !5
  %14944 = call ptr @__errno_location() #12
  store i32 %14943, ptr %14944, align 4, !tbaa !5
  %14945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14946 = load i32, ptr @test_count, align 4, !tbaa !5
  %14947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14948 = load i32, ptr %14947, align 4, !tbaa !5
  %14949 = call ptr @s2n_strerror(i32 noundef %14948, ptr noundef @.str.80)
  %14950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14951 = load i32, ptr %14950, align 4, !tbaa !5
  %14952 = call ptr @s2n_strerror_debug(i32 noundef %14951, ptr noundef @.str.80)
  %14953 = call ptr @__errno_location() #12
  %14954 = load i32, ptr %14953, align 4, !tbaa !5
  %14955 = call ptr @strerror(i32 noundef %14954) #11
  %14956 = call ptr @__errno_location() #12
  %14957 = load i32, ptr %14956, align 4, !tbaa !5
  %14958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14945, ptr noundef @.str.81, i32 noundef %14946, ptr noundef @.str.240, ptr noundef @.str.77, i32 noundef 560, ptr noundef %14949, ptr noundef %14952, ptr noundef %14955, i32 noundef %14957) #11
  br label %14959

14959:                                            ; preds = %14942, %14925
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #11
  br label %14960

14960:                                            ; preds = %14959
  br label %14961

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

14962:                                            ; No predecessors!
  br label %14963

14963:                                            ; preds = %14962
  br label %14964

14964:                                            ; preds = %14963, %14901
  br label %14965

14965:                                            ; preds = %14964
  br label %14966

14966:                                            ; preds = %14965
  call void @llvm.lifetime.start.p0(i64 40, ptr %374) #11
  call void @llvm.memset.p0.i64(ptr align 8 %374, i8 0, i64 40, i1 false)
  br label %14967

14967:                                            ; preds = %14966
  %14968 = load i32, ptr @test_count, align 4, !tbaa !5
  %14969 = add nsw i32 %14968, 1
  store i32 %14969, ptr @test_count, align 4, !tbaa !5
  %14970 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %374, i32 noundef 0)
  %14971 = icmp eq i32 %14970, -1
  br i1 %14971, label %14972, label %15025

14972:                                            ; preds = %14967
  br label %14973

14973:                                            ; preds = %14972
  br label %14974

14974:                                            ; preds = %14973
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #11
  %14975 = call ptr @__errno_location() #12
  %14976 = load i32, ptr %14975, align 4, !tbaa !5
  store i32 %14976, ptr %375, align 4, !tbaa !5
  %14977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14978 = call i32 @s2n_print_stacktrace(ptr noundef %14977)
  %14979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14980 = trunc i8 %14979 to i1
  br i1 %14980, label %14981, label %15003

14981:                                            ; preds = %14974
  %14982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14983 = call i32 @fileno(ptr noundef %14982) #11
  %14984 = call i32 @isatty(i32 noundef %14983) #11
  %14985 = icmp ne i32 %14984, 0
  br i1 %14985, label %14986, label %15003

14986:                                            ; preds = %14981
  %14987 = load i32, ptr %375, align 4, !tbaa !5
  %14988 = call ptr @__errno_location() #12
  store i32 %14987, ptr %14988, align 4, !tbaa !5
  %14989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14990 = load i32, ptr @test_count, align 4, !tbaa !5
  %14991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14992 = load i32, ptr %14991, align 4, !tbaa !5
  %14993 = call ptr @s2n_strerror(i32 noundef %14992, ptr noundef @.str.80)
  %14994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14995 = load i32, ptr %14994, align 4, !tbaa !5
  %14996 = call ptr @s2n_strerror_debug(i32 noundef %14995, ptr noundef @.str.80)
  %14997 = call ptr @__errno_location() #12
  %14998 = load i32, ptr %14997, align 4, !tbaa !5
  %14999 = call ptr @strerror(i32 noundef %14998) #11
  %15000 = call ptr @__errno_location() #12
  %15001 = load i32, ptr %15000, align 4, !tbaa !5
  %15002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14989, ptr noundef @.str.78, i32 noundef %14990, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 563, ptr noundef %14993, ptr noundef %14996, ptr noundef %14999, i32 noundef %15001) #11
  br label %15020

15003:                                            ; preds = %14981, %14974
  %15004 = load i32, ptr %375, align 4, !tbaa !5
  %15005 = call ptr @__errno_location() #12
  store i32 %15004, ptr %15005, align 4, !tbaa !5
  %15006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15007 = load i32, ptr @test_count, align 4, !tbaa !5
  %15008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15009 = load i32, ptr %15008, align 4, !tbaa !5
  %15010 = call ptr @s2n_strerror(i32 noundef %15009, ptr noundef @.str.80)
  %15011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15012 = load i32, ptr %15011, align 4, !tbaa !5
  %15013 = call ptr @s2n_strerror_debug(i32 noundef %15012, ptr noundef @.str.80)
  %15014 = call ptr @__errno_location() #12
  %15015 = load i32, ptr %15014, align 4, !tbaa !5
  %15016 = call ptr @strerror(i32 noundef %15015) #11
  %15017 = call ptr @__errno_location() #12
  %15018 = load i32, ptr %15017, align 4, !tbaa !5
  %15019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15006, ptr noundef @.str.81, i32 noundef %15007, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 563, ptr noundef %15010, ptr noundef %15013, ptr noundef %15016, i32 noundef %15018) #11
  br label %15020

15020:                                            ; preds = %15003, %14986
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #11
  br label %15021

15021:                                            ; preds = %15020
  br label %15022

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

15023:                                            ; No predecessors!
  br label %15024

15024:                                            ; preds = %15023
  br label %15025

15025:                                            ; preds = %15024, %14967
  br label %15026

15026:                                            ; preds = %15025
  br label %15027

15027:                                            ; preds = %15026
  br label %15028

15028:                                            ; preds = %15027
  %15029 = load i32, ptr @test_count, align 4, !tbaa !5
  %15030 = add nsw i32 %15029, 1
  store i32 %15030, ptr @test_count, align 4, !tbaa !5
  %15031 = load ptr, ptr %368, align 8, !tbaa !9
  %15032 = call i32 @s2n_psk_write_binder(ptr noundef %15031, ptr noundef %370, ptr noundef %309, ptr noundef %374)
  %15033 = getelementptr inbounds %struct.s2n_result, ptr %376, i32 0, i32 0
  store i32 %15032, ptr %15033, align 4
  %15034 = getelementptr inbounds %struct.s2n_result, ptr %376, i32 0, i32 0
  %15035 = load i32, ptr %15034, align 4
  %15036 = call zeroext i1 @s2n_result_is_ok(i32 %15035)
  br i1 %15036, label %15090, label %15037

15037:                                            ; preds = %15028
  br label %15038

15038:                                            ; preds = %15037
  br label %15039

15039:                                            ; preds = %15038
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #11
  %15040 = call ptr @__errno_location() #12
  %15041 = load i32, ptr %15040, align 4, !tbaa !5
  store i32 %15041, ptr %377, align 4, !tbaa !5
  %15042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15043 = call i32 @s2n_print_stacktrace(ptr noundef %15042)
  %15044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15045 = trunc i8 %15044 to i1
  br i1 %15045, label %15046, label %15068

15046:                                            ; preds = %15039
  %15047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15048 = call i32 @fileno(ptr noundef %15047) #11
  %15049 = call i32 @isatty(i32 noundef %15048) #11
  %15050 = icmp ne i32 %15049, 0
  br i1 %15050, label %15051, label %15068

15051:                                            ; preds = %15046
  %15052 = load i32, ptr %377, align 4, !tbaa !5
  %15053 = call ptr @__errno_location() #12
  store i32 %15052, ptr %15053, align 4, !tbaa !5
  %15054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15055 = load i32, ptr @test_count, align 4, !tbaa !5
  %15056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15057 = load i32, ptr %15056, align 4, !tbaa !5
  %15058 = call ptr @s2n_strerror(i32 noundef %15057, ptr noundef @.str.80)
  %15059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15060 = load i32, ptr %15059, align 4, !tbaa !5
  %15061 = call ptr @s2n_strerror_debug(i32 noundef %15060, ptr noundef @.str.80)
  %15062 = call ptr @__errno_location() #12
  %15063 = load i32, ptr %15062, align 4, !tbaa !5
  %15064 = call ptr @strerror(i32 noundef %15063) #11
  %15065 = call ptr @__errno_location() #12
  %15066 = load i32, ptr %15065, align 4, !tbaa !5
  %15067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15054, ptr noundef @.str.78, i32 noundef %15055, ptr noundef @.str.241, ptr noundef @.str.77, i32 noundef 565, ptr noundef %15058, ptr noundef %15061, ptr noundef %15064, i32 noundef %15066) #11
  br label %15085

15068:                                            ; preds = %15046, %15039
  %15069 = load i32, ptr %377, align 4, !tbaa !5
  %15070 = call ptr @__errno_location() #12
  store i32 %15069, ptr %15070, align 4, !tbaa !5
  %15071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15072 = load i32, ptr @test_count, align 4, !tbaa !5
  %15073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15074 = load i32, ptr %15073, align 4, !tbaa !5
  %15075 = call ptr @s2n_strerror(i32 noundef %15074, ptr noundef @.str.80)
  %15076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15077 = load i32, ptr %15076, align 4, !tbaa !5
  %15078 = call ptr @s2n_strerror_debug(i32 noundef %15077, ptr noundef @.str.80)
  %15079 = call ptr @__errno_location() #12
  %15080 = load i32, ptr %15079, align 4, !tbaa !5
  %15081 = call ptr @strerror(i32 noundef %15080) #11
  %15082 = call ptr @__errno_location() #12
  %15083 = load i32, ptr %15082, align 4, !tbaa !5
  %15084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15071, ptr noundef @.str.81, i32 noundef %15072, ptr noundef @.str.241, ptr noundef @.str.77, i32 noundef 565, ptr noundef %15075, ptr noundef %15078, ptr noundef %15081, i32 noundef %15083) #11
  br label %15085

15085:                                            ; preds = %15068, %15051
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #11
  br label %15086

15086:                                            ; preds = %15085
  br label %15087

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

15088:                                            ; No predecessors!
  br label %15089

15089:                                            ; preds = %15088
  br label %15090

15090:                                            ; preds = %15089, %15028
  br label %15091

15091:                                            ; preds = %15090
  br label %15092

15092:                                            ; preds = %15091
  call void @llvm.lifetime.start.p0(i64 1, ptr %378) #11
  store i8 0, ptr %378, align 1, !tbaa !26
  br label %15093

15093:                                            ; preds = %15092
  %15094 = load i32, ptr @test_count, align 4, !tbaa !5
  %15095 = add nsw i32 %15094, 1
  store i32 %15095, ptr @test_count, align 4, !tbaa !5
  %15096 = call i32 @s2n_stuffer_read_uint8(ptr noundef %374, ptr noundef %378)
  %15097 = icmp eq i32 %15096, -1
  br i1 %15097, label %15098, label %15151

15098:                                            ; preds = %15093
  br label %15099

15099:                                            ; preds = %15098
  br label %15100

15100:                                            ; preds = %15099
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #11
  %15101 = call ptr @__errno_location() #12
  %15102 = load i32, ptr %15101, align 4, !tbaa !5
  store i32 %15102, ptr %379, align 4, !tbaa !5
  %15103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15104 = call i32 @s2n_print_stacktrace(ptr noundef %15103)
  %15105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15106 = trunc i8 %15105 to i1
  br i1 %15106, label %15107, label %15129

15107:                                            ; preds = %15100
  %15108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15109 = call i32 @fileno(ptr noundef %15108) #11
  %15110 = call i32 @isatty(i32 noundef %15109) #11
  %15111 = icmp ne i32 %15110, 0
  br i1 %15111, label %15112, label %15129

15112:                                            ; preds = %15107
  %15113 = load i32, ptr %379, align 4, !tbaa !5
  %15114 = call ptr @__errno_location() #12
  store i32 %15113, ptr %15114, align 4, !tbaa !5
  %15115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15116 = load i32, ptr @test_count, align 4, !tbaa !5
  %15117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15118 = load i32, ptr %15117, align 4, !tbaa !5
  %15119 = call ptr @s2n_strerror(i32 noundef %15118, ptr noundef @.str.80)
  %15120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15121 = load i32, ptr %15120, align 4, !tbaa !5
  %15122 = call ptr @s2n_strerror_debug(i32 noundef %15121, ptr noundef @.str.80)
  %15123 = call ptr @__errno_location() #12
  %15124 = load i32, ptr %15123, align 4, !tbaa !5
  %15125 = call ptr @strerror(i32 noundef %15124) #11
  %15126 = call ptr @__errno_location() #12
  %15127 = load i32, ptr %15126, align 4, !tbaa !5
  %15128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15115, ptr noundef @.str.78, i32 noundef %15116, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 568, ptr noundef %15119, ptr noundef %15122, ptr noundef %15125, i32 noundef %15127) #11
  br label %15146

15129:                                            ; preds = %15107, %15100
  %15130 = load i32, ptr %379, align 4, !tbaa !5
  %15131 = call ptr @__errno_location() #12
  store i32 %15130, ptr %15131, align 4, !tbaa !5
  %15132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15133 = load i32, ptr @test_count, align 4, !tbaa !5
  %15134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15135 = load i32, ptr %15134, align 4, !tbaa !5
  %15136 = call ptr @s2n_strerror(i32 noundef %15135, ptr noundef @.str.80)
  %15137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15138 = load i32, ptr %15137, align 4, !tbaa !5
  %15139 = call ptr @s2n_strerror_debug(i32 noundef %15138, ptr noundef @.str.80)
  %15140 = call ptr @__errno_location() #12
  %15141 = load i32, ptr %15140, align 4, !tbaa !5
  %15142 = call ptr @strerror(i32 noundef %15141) #11
  %15143 = call ptr @__errno_location() #12
  %15144 = load i32, ptr %15143, align 4, !tbaa !5
  %15145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15132, ptr noundef @.str.81, i32 noundef %15133, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 568, ptr noundef %15136, ptr noundef %15139, ptr noundef %15142, i32 noundef %15144) #11
  br label %15146

15146:                                            ; preds = %15129, %15112
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #11
  br label %15147

15147:                                            ; preds = %15146
  br label %15148

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

15149:                                            ; No predecessors!
  br label %15150

15150:                                            ; preds = %15149
  br label %15151

15151:                                            ; preds = %15150, %15093
  br label %15152

15152:                                            ; preds = %15151
  br label %15153

15153:                                            ; preds = %15152
  br label %15154

15154:                                            ; preds = %15153
  %15155 = load i32, ptr @test_count, align 4, !tbaa !5
  %15156 = add nsw i32 %15155, 1
  store i32 %15156, ptr @test_count, align 4, !tbaa !5
  %15157 = load i8, ptr %378, align 1, !tbaa !26
  %15158 = zext i8 %15157 to i32
  %15159 = getelementptr inbounds %struct.s2n_stuffer, ptr %374, i32 0, i32 2
  %15160 = load i32, ptr %15159, align 4, !tbaa !67
  %15161 = getelementptr inbounds %struct.s2n_stuffer, ptr %374, i32 0, i32 1
  %15162 = load i32, ptr %15161, align 8, !tbaa !68
  %15163 = sub i32 %15160, %15162
  %15164 = icmp eq i32 %15158, %15163
  br i1 %15164, label %15218, label %15165

15165:                                            ; preds = %15154
  br label %15166

15166:                                            ; preds = %15165
  br label %15167

15167:                                            ; preds = %15166
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #11
  %15168 = call ptr @__errno_location() #12
  %15169 = load i32, ptr %15168, align 4, !tbaa !5
  store i32 %15169, ptr %380, align 4, !tbaa !5
  %15170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15171 = call i32 @s2n_print_stacktrace(ptr noundef %15170)
  %15172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15173 = trunc i8 %15172 to i1
  br i1 %15173, label %15174, label %15196

15174:                                            ; preds = %15167
  %15175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15176 = call i32 @fileno(ptr noundef %15175) #11
  %15177 = call i32 @isatty(i32 noundef %15176) #11
  %15178 = icmp ne i32 %15177, 0
  br i1 %15178, label %15179, label %15196

15179:                                            ; preds = %15174
  %15180 = load i32, ptr %380, align 4, !tbaa !5
  %15181 = call ptr @__errno_location() #12
  store i32 %15180, ptr %15181, align 4, !tbaa !5
  %15182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15183 = load i32, ptr @test_count, align 4, !tbaa !5
  %15184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15185 = load i32, ptr %15184, align 4, !tbaa !5
  %15186 = call ptr @s2n_strerror(i32 noundef %15185, ptr noundef @.str.80)
  %15187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15188 = load i32, ptr %15187, align 4, !tbaa !5
  %15189 = call ptr @s2n_strerror_debug(i32 noundef %15188, ptr noundef @.str.80)
  %15190 = call ptr @__errno_location() #12
  %15191 = load i32, ptr %15190, align 4, !tbaa !5
  %15192 = call ptr @strerror(i32 noundef %15191) #11
  %15193 = call ptr @__errno_location() #12
  %15194 = load i32, ptr %15193, align 4, !tbaa !5
  %15195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15182, ptr noundef @.str.78, i32 noundef %15183, ptr noundef @.str.217, ptr noundef @.str.77, i32 noundef 569, ptr noundef %15186, ptr noundef %15189, ptr noundef %15192, i32 noundef %15194) #11
  br label %15213

15196:                                            ; preds = %15174, %15167
  %15197 = load i32, ptr %380, align 4, !tbaa !5
  %15198 = call ptr @__errno_location() #12
  store i32 %15197, ptr %15198, align 4, !tbaa !5
  %15199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15200 = load i32, ptr @test_count, align 4, !tbaa !5
  %15201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15202 = load i32, ptr %15201, align 4, !tbaa !5
  %15203 = call ptr @s2n_strerror(i32 noundef %15202, ptr noundef @.str.80)
  %15204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15205 = load i32, ptr %15204, align 4, !tbaa !5
  %15206 = call ptr @s2n_strerror_debug(i32 noundef %15205, ptr noundef @.str.80)
  %15207 = call ptr @__errno_location() #12
  %15208 = load i32, ptr %15207, align 4, !tbaa !5
  %15209 = call ptr @strerror(i32 noundef %15208) #11
  %15210 = call ptr @__errno_location() #12
  %15211 = load i32, ptr %15210, align 4, !tbaa !5
  %15212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15199, ptr noundef @.str.81, i32 noundef %15200, ptr noundef @.str.217, ptr noundef @.str.77, i32 noundef 569, ptr noundef %15203, ptr noundef %15206, ptr noundef %15209, i32 noundef %15211) #11
  br label %15213

15213:                                            ; preds = %15196, %15179
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #11
  br label %15214

15214:                                            ; preds = %15213
  br label %15215

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

15216:                                            ; No predecessors!
  br label %15217

15217:                                            ; preds = %15216
  br label %15218

15218:                                            ; preds = %15217, %15154
  br label %15219

15219:                                            ; preds = %15218
  br label %15220

15220:                                            ; preds = %15219
  br label %15221

15221:                                            ; preds = %15220
  %15222 = load i32, ptr @test_count, align 4, !tbaa !5
  %15223 = add nsw i32 %15222, 1
  store i32 %15223, ptr @test_count, align 4, !tbaa !5
  %15224 = load i8, ptr %378, align 1, !tbaa !26
  %15225 = zext i8 %15224 to i32
  %15226 = getelementptr inbounds %struct.s2n_blob, ptr %313, i32 0, i32 1
  %15227 = load i32, ptr %15226, align 8, !tbaa !79
  %15228 = icmp eq i32 %15225, %15227
  br i1 %15228, label %15282, label %15229

15229:                                            ; preds = %15221
  br label %15230

15230:                                            ; preds = %15229
  br label %15231

15231:                                            ; preds = %15230
  call void @llvm.lifetime.start.p0(i64 4, ptr %381) #11
  %15232 = call ptr @__errno_location() #12
  %15233 = load i32, ptr %15232, align 4, !tbaa !5
  store i32 %15233, ptr %381, align 4, !tbaa !5
  %15234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15235 = call i32 @s2n_print_stacktrace(ptr noundef %15234)
  %15236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15237 = trunc i8 %15236 to i1
  br i1 %15237, label %15238, label %15260

15238:                                            ; preds = %15231
  %15239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15240 = call i32 @fileno(ptr noundef %15239) #11
  %15241 = call i32 @isatty(i32 noundef %15240) #11
  %15242 = icmp ne i32 %15241, 0
  br i1 %15242, label %15243, label %15260

15243:                                            ; preds = %15238
  %15244 = load i32, ptr %381, align 4, !tbaa !5
  %15245 = call ptr @__errno_location() #12
  store i32 %15244, ptr %15245, align 4, !tbaa !5
  %15246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15247 = load i32, ptr @test_count, align 4, !tbaa !5
  %15248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15249 = load i32, ptr %15248, align 4, !tbaa !5
  %15250 = call ptr @s2n_strerror(i32 noundef %15249, ptr noundef @.str.80)
  %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_debug(i32 noundef %15252, ptr noundef @.str.80)
  %15254 = call ptr @__errno_location() #12
  %15255 = load i32, ptr %15254, align 4, !tbaa !5
  %15256 = call ptr @strerror(i32 noundef %15255) #11
  %15257 = call ptr @__errno_location() #12
  %15258 = load i32, ptr %15257, align 4, !tbaa !5
  %15259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15246, ptr noundef @.str.78, i32 noundef %15247, ptr noundef @.str.242, ptr noundef @.str.77, i32 noundef 570, ptr noundef %15250, ptr noundef %15253, ptr noundef %15256, i32 noundef %15258) #11
  br label %15277

15260:                                            ; preds = %15238, %15231
  %15261 = load i32, ptr %381, align 4, !tbaa !5
  %15262 = call ptr @__errno_location() #12
  store i32 %15261, ptr %15262, align 4, !tbaa !5
  %15263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15264 = load i32, ptr @test_count, align 4, !tbaa !5
  %15265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15266 = load i32, ptr %15265, align 4, !tbaa !5
  %15267 = call ptr @s2n_strerror(i32 noundef %15266, ptr noundef @.str.80)
  %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_debug(i32 noundef %15269, ptr noundef @.str.80)
  %15271 = call ptr @__errno_location() #12
  %15272 = load i32, ptr %15271, align 4, !tbaa !5
  %15273 = call ptr @strerror(i32 noundef %15272) #11
  %15274 = call ptr @__errno_location() #12
  %15275 = load i32, ptr %15274, align 4, !tbaa !5
  %15276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15263, ptr noundef @.str.81, i32 noundef %15264, ptr noundef @.str.242, ptr noundef @.str.77, i32 noundef 570, ptr noundef %15267, ptr noundef %15270, ptr noundef %15273, i32 noundef %15275) #11
  br label %15277

15277:                                            ; preds = %15260, %15243
  call void @llvm.lifetime.end.p0(i64 4, ptr %381) #11
  br label %15278

15278:                                            ; preds = %15277
  br label %15279

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

15280:                                            ; No predecessors!
  br label %15281

15281:                                            ; preds = %15280
  br label %15282

15282:                                            ; preds = %15281, %15221
  br label %15283

15283:                                            ; preds = %15282
  br label %15284

15284:                                            ; preds = %15283
  call void @llvm.lifetime.start.p0(i64 8, ptr %382) #11
  store ptr null, ptr %382, align 8, !tbaa !9
  br label %15285

15285:                                            ; preds = %15284
  %15286 = load i32, ptr @test_count, align 4, !tbaa !5
  %15287 = add nsw i32 %15286, 1
  store i32 %15287, ptr @test_count, align 4, !tbaa !5
  %15288 = load i8, ptr %378, align 1, !tbaa !26
  %15289 = zext i8 %15288 to i32
  %15290 = call ptr @s2n_stuffer_raw_read(ptr noundef %374, i32 noundef %15289)
  store ptr %15290, ptr %382, align 8, !tbaa !9
  %15291 = icmp eq ptr %15290, null
  br i1 %15291, label %15292, label %15345

15292:                                            ; preds = %15285
  br label %15293

15293:                                            ; preds = %15292
  br label %15294

15294:                                            ; preds = %15293
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #11
  %15295 = call ptr @__errno_location() #12
  %15296 = load i32, ptr %15295, align 4, !tbaa !5
  store i32 %15296, ptr %383, align 4, !tbaa !5
  %15297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15298 = call i32 @s2n_print_stacktrace(ptr noundef %15297)
  %15299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15300 = trunc i8 %15299 to i1
  br i1 %15300, label %15301, label %15323

15301:                                            ; preds = %15294
  %15302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15303 = call i32 @fileno(ptr noundef %15302) #11
  %15304 = call i32 @isatty(i32 noundef %15303) #11
  %15305 = icmp ne i32 %15304, 0
  br i1 %15305, label %15306, label %15323

15306:                                            ; preds = %15301
  %15307 = load i32, ptr %383, align 4, !tbaa !5
  %15308 = call ptr @__errno_location() #12
  store i32 %15307, ptr %15308, align 4, !tbaa !5
  %15309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15310 = load i32, ptr @test_count, align 4, !tbaa !5
  %15311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15312 = load i32, ptr %15311, align 4, !tbaa !5
  %15313 = call ptr @s2n_strerror(i32 noundef %15312, ptr noundef @.str.80)
  %15314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15315 = load i32, ptr %15314, align 4, !tbaa !5
  %15316 = call ptr @s2n_strerror_debug(i32 noundef %15315, ptr noundef @.str.80)
  %15317 = call ptr @__errno_location() #12
  %15318 = load i32, ptr %15317, align 4, !tbaa !5
  %15319 = call ptr @strerror(i32 noundef %15318) #11
  %15320 = call ptr @__errno_location() #12
  %15321 = load i32, ptr %15320, align 4, !tbaa !5
  %15322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15309, ptr noundef @.str.78, i32 noundef %15310, ptr noundef @.str.243, ptr noundef @.str.77, i32 noundef 573, ptr noundef %15313, ptr noundef %15316, ptr noundef %15319, i32 noundef %15321) #11
  br label %15340

15323:                                            ; preds = %15301, %15294
  %15324 = load i32, ptr %383, align 4, !tbaa !5
  %15325 = call ptr @__errno_location() #12
  store i32 %15324, ptr %15325, align 4, !tbaa !5
  %15326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15327 = load i32, ptr @test_count, align 4, !tbaa !5
  %15328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15329 = load i32, ptr %15328, align 4, !tbaa !5
  %15330 = call ptr @s2n_strerror(i32 noundef %15329, ptr noundef @.str.80)
  %15331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15332 = load i32, ptr %15331, align 4, !tbaa !5
  %15333 = call ptr @s2n_strerror_debug(i32 noundef %15332, ptr noundef @.str.80)
  %15334 = call ptr @__errno_location() #12
  %15335 = load i32, ptr %15334, align 4, !tbaa !5
  %15336 = call ptr @strerror(i32 noundef %15335) #11
  %15337 = call ptr @__errno_location() #12
  %15338 = load i32, ptr %15337, align 4, !tbaa !5
  %15339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15326, ptr noundef @.str.81, i32 noundef %15327, ptr noundef @.str.243, ptr noundef @.str.77, i32 noundef 573, ptr noundef %15330, ptr noundef %15333, ptr noundef %15336, i32 noundef %15338) #11
  br label %15340

15340:                                            ; preds = %15323, %15306
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #11
  br label %15341

15341:                                            ; preds = %15340
  br label %15342

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

15343:                                            ; No predecessors!
  br label %15344

15344:                                            ; preds = %15343
  br label %15345

15345:                                            ; preds = %15344, %15285
  br label %15346

15346:                                            ; preds = %15345
  br label %15347

15347:                                            ; preds = %15346
  br label %15348

15348:                                            ; preds = %15347
  %15349 = load i8, ptr %378, align 1, !tbaa !26
  %15350 = zext i8 %15349 to i32
  %15351 = icmp ne i32 %15350, 0
  br i1 %15351, label %15352, label %15419

15352:                                            ; preds = %15348
  br label %15353

15353:                                            ; preds = %15352
  %15354 = load i32, ptr @test_count, align 4, !tbaa !5
  %15355 = add nsw i32 %15354, 1
  store i32 %15355, ptr @test_count, align 4, !tbaa !5
  %15356 = load ptr, ptr %382, align 8, !tbaa !9
  %15357 = getelementptr inbounds %struct.s2n_blob, ptr %313, i32 0, i32 0
  %15358 = load ptr, ptr %15357, align 8, !tbaa !80
  %15359 = load i8, ptr %378, align 1, !tbaa !26
  %15360 = zext i8 %15359 to i64
  %15361 = call i32 @memcmp(ptr noundef %15356, ptr noundef %15358, i64 noundef %15360) #14
  %15362 = icmp eq i32 %15361, 0
  br i1 %15362, label %15416, label %15363

15363:                                            ; preds = %15353
  br label %15364

15364:                                            ; preds = %15363
  br label %15365

15365:                                            ; preds = %15364
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #11
  %15366 = call ptr @__errno_location() #12
  %15367 = load i32, ptr %15366, align 4, !tbaa !5
  store i32 %15367, ptr %384, align 4, !tbaa !5
  %15368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15369 = call i32 @s2n_print_stacktrace(ptr noundef %15368)
  %15370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15371 = trunc i8 %15370 to i1
  br i1 %15371, label %15372, label %15394

15372:                                            ; preds = %15365
  %15373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15374 = call i32 @fileno(ptr noundef %15373) #11
  %15375 = call i32 @isatty(i32 noundef %15374) #11
  %15376 = icmp ne i32 %15375, 0
  br i1 %15376, label %15377, label %15394

15377:                                            ; preds = %15372
  %15378 = load i32, ptr %384, align 4, !tbaa !5
  %15379 = call ptr @__errno_location() #12
  store i32 %15378, ptr %15379, align 4, !tbaa !5
  %15380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15381 = load i32, ptr @test_count, align 4, !tbaa !5
  %15382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15383 = load i32, ptr %15382, align 4, !tbaa !5
  %15384 = call ptr @s2n_strerror(i32 noundef %15383, ptr noundef @.str.80)
  %15385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15386 = load i32, ptr %15385, align 4, !tbaa !5
  %15387 = call ptr @s2n_strerror_debug(i32 noundef %15386, ptr noundef @.str.80)
  %15388 = call ptr @__errno_location() #12
  %15389 = load i32, ptr %15388, align 4, !tbaa !5
  %15390 = call ptr @strerror(i32 noundef %15389) #11
  %15391 = call ptr @__errno_location() #12
  %15392 = load i32, ptr %15391, align 4, !tbaa !5
  %15393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15380, ptr noundef @.str.78, i32 noundef %15381, ptr noundef @.str.244, ptr noundef @.str.77, i32 noundef 574, ptr noundef %15384, ptr noundef %15387, ptr noundef %15390, i32 noundef %15392) #11
  br label %15411

15394:                                            ; preds = %15372, %15365
  %15395 = load i32, ptr %384, align 4, !tbaa !5
  %15396 = call ptr @__errno_location() #12
  store i32 %15395, ptr %15396, align 4, !tbaa !5
  %15397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15398 = load i32, ptr @test_count, align 4, !tbaa !5
  %15399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15400 = load i32, ptr %15399, align 4, !tbaa !5
  %15401 = call ptr @s2n_strerror(i32 noundef %15400, ptr noundef @.str.80)
  %15402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15403 = load i32, ptr %15402, align 4, !tbaa !5
  %15404 = call ptr @s2n_strerror_debug(i32 noundef %15403, ptr noundef @.str.80)
  %15405 = call ptr @__errno_location() #12
  %15406 = load i32, ptr %15405, align 4, !tbaa !5
  %15407 = call ptr @strerror(i32 noundef %15406) #11
  %15408 = call ptr @__errno_location() #12
  %15409 = load i32, ptr %15408, align 4, !tbaa !5
  %15410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15397, ptr noundef @.str.81, i32 noundef %15398, ptr noundef @.str.244, ptr noundef @.str.77, i32 noundef 574, ptr noundef %15401, ptr noundef %15404, ptr noundef %15407, i32 noundef %15409) #11
  br label %15411

15411:                                            ; preds = %15394, %15377
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #11
  br label %15412

15412:                                            ; preds = %15411
  br label %15413

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

15414:                                            ; No predecessors!
  br label %15415

15415:                                            ; preds = %15414
  br label %15416

15416:                                            ; preds = %15415, %15353
  br label %15417

15417:                                            ; preds = %15416
  br label %15418

15418:                                            ; preds = %15417
  br label %15419

15419:                                            ; preds = %15418, %15348
  br label %15420

15420:                                            ; preds = %15419
  br label %15421

15421:                                            ; preds = %15420
  br label %15422

15422:                                            ; preds = %15421
  %15423 = load i32, ptr @test_count, align 4, !tbaa !5
  %15424 = add nsw i32 %15423, 1
  store i32 %15424, ptr @test_count, align 4, !tbaa !5
  %15425 = load ptr, ptr %368, align 8, !tbaa !9
  %15426 = call i32 @s2n_connection_free(ptr noundef %15425)
  %15427 = icmp eq i32 %15426, -1
  br i1 %15427, label %15428, label %15481

15428:                                            ; preds = %15422
  br label %15429

15429:                                            ; preds = %15428
  br label %15430

15430:                                            ; preds = %15429
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #11
  %15431 = call ptr @__errno_location() #12
  %15432 = load i32, ptr %15431, align 4, !tbaa !5
  store i32 %15432, ptr %385, align 4, !tbaa !5
  %15433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15434 = call i32 @s2n_print_stacktrace(ptr noundef %15433)
  %15435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15436 = trunc i8 %15435 to i1
  br i1 %15436, label %15437, label %15459

15437:                                            ; preds = %15430
  %15438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15439 = call i32 @fileno(ptr noundef %15438) #11
  %15440 = call i32 @isatty(i32 noundef %15439) #11
  %15441 = icmp ne i32 %15440, 0
  br i1 %15441, label %15442, label %15459

15442:                                            ; preds = %15437
  %15443 = load i32, ptr %385, align 4, !tbaa !5
  %15444 = call ptr @__errno_location() #12
  store i32 %15443, ptr %15444, align 4, !tbaa !5
  %15445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15446 = load i32, ptr @test_count, align 4, !tbaa !5
  %15447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15448 = load i32, ptr %15447, align 4, !tbaa !5
  %15449 = call ptr @s2n_strerror(i32 noundef %15448, ptr noundef @.str.80)
  %15450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15451 = load i32, ptr %15450, align 4, !tbaa !5
  %15452 = call ptr @s2n_strerror_debug(i32 noundef %15451, ptr noundef @.str.80)
  %15453 = call ptr @__errno_location() #12
  %15454 = load i32, ptr %15453, align 4, !tbaa !5
  %15455 = call ptr @strerror(i32 noundef %15454) #11
  %15456 = call ptr @__errno_location() #12
  %15457 = load i32, ptr %15456, align 4, !tbaa !5
  %15458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15445, ptr noundef @.str.78, i32 noundef %15446, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 576, ptr noundef %15449, ptr noundef %15452, ptr noundef %15455, i32 noundef %15457) #11
  br label %15476

15459:                                            ; preds = %15437, %15430
  %15460 = load i32, ptr %385, align 4, !tbaa !5
  %15461 = call ptr @__errno_location() #12
  store i32 %15460, ptr %15461, align 4, !tbaa !5
  %15462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15463 = load i32, ptr @test_count, align 4, !tbaa !5
  %15464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15465 = load i32, ptr %15464, align 4, !tbaa !5
  %15466 = call ptr @s2n_strerror(i32 noundef %15465, ptr noundef @.str.80)
  %15467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15468 = load i32, ptr %15467, align 4, !tbaa !5
  %15469 = call ptr @s2n_strerror_debug(i32 noundef %15468, ptr noundef @.str.80)
  %15470 = call ptr @__errno_location() #12
  %15471 = load i32, ptr %15470, align 4, !tbaa !5
  %15472 = call ptr @strerror(i32 noundef %15471) #11
  %15473 = call ptr @__errno_location() #12
  %15474 = load i32, ptr %15473, align 4, !tbaa !5
  %15475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15462, ptr noundef @.str.81, i32 noundef %15463, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 576, ptr noundef %15466, ptr noundef %15469, ptr noundef %15472, i32 noundef %15474) #11
  br label %15476

15476:                                            ; preds = %15459, %15442
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #11
  br label %15477

15477:                                            ; preds = %15476
  br label %15478

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

15479:                                            ; No predecessors!
  br label %15480

15480:                                            ; preds = %15479
  br label %15481

15481:                                            ; preds = %15480, %15422
  br label %15482

15482:                                            ; preds = %15481
  br label %15483

15483:                                            ; preds = %15482
  br label %15484

15484:                                            ; preds = %15483
  %15485 = load i32, ptr @test_count, align 4, !tbaa !5
  %15486 = add nsw i32 %15485, 1
  store i32 %15486, ptr @test_count, align 4, !tbaa !5
  %15487 = call i32 @s2n_stuffer_free(ptr noundef %374)
  %15488 = icmp eq i32 %15487, -1
  br i1 %15488, label %15489, label %15542

15489:                                            ; preds = %15484
  br label %15490

15490:                                            ; preds = %15489
  br label %15491

15491:                                            ; preds = %15490
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #11
  %15492 = call ptr @__errno_location() #12
  %15493 = load i32, ptr %15492, align 4, !tbaa !5
  store i32 %15493, ptr %386, align 4, !tbaa !5
  %15494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15495 = call i32 @s2n_print_stacktrace(ptr noundef %15494)
  %15496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15497 = trunc i8 %15496 to i1
  br i1 %15497, label %15498, label %15520

15498:                                            ; preds = %15491
  %15499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15500 = call i32 @fileno(ptr noundef %15499) #11
  %15501 = call i32 @isatty(i32 noundef %15500) #11
  %15502 = icmp ne i32 %15501, 0
  br i1 %15502, label %15503, label %15520

15503:                                            ; preds = %15498
  %15504 = load i32, ptr %386, align 4, !tbaa !5
  %15505 = call ptr @__errno_location() #12
  store i32 %15504, ptr %15505, align 4, !tbaa !5
  %15506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15507 = load i32, ptr @test_count, align 4, !tbaa !5
  %15508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15509 = load i32, ptr %15508, align 4, !tbaa !5
  %15510 = call ptr @s2n_strerror(i32 noundef %15509, ptr noundef @.str.80)
  %15511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15512 = load i32, ptr %15511, align 4, !tbaa !5
  %15513 = call ptr @s2n_strerror_debug(i32 noundef %15512, ptr noundef @.str.80)
  %15514 = call ptr @__errno_location() #12
  %15515 = load i32, ptr %15514, align 4, !tbaa !5
  %15516 = call ptr @strerror(i32 noundef %15515) #11
  %15517 = call ptr @__errno_location() #12
  %15518 = load i32, ptr %15517, align 4, !tbaa !5
  %15519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15506, ptr noundef @.str.78, i32 noundef %15507, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 577, ptr noundef %15510, ptr noundef %15513, ptr noundef %15516, i32 noundef %15518) #11
  br label %15537

15520:                                            ; preds = %15498, %15491
  %15521 = load i32, ptr %386, align 4, !tbaa !5
  %15522 = call ptr @__errno_location() #12
  store i32 %15521, ptr %15522, align 4, !tbaa !5
  %15523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15524 = load i32, ptr @test_count, align 4, !tbaa !5
  %15525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15526 = load i32, ptr %15525, align 4, !tbaa !5
  %15527 = call ptr @s2n_strerror(i32 noundef %15526, ptr noundef @.str.80)
  %15528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15529 = load i32, ptr %15528, align 4, !tbaa !5
  %15530 = call ptr @s2n_strerror_debug(i32 noundef %15529, ptr noundef @.str.80)
  %15531 = call ptr @__errno_location() #12
  %15532 = load i32, ptr %15531, align 4, !tbaa !5
  %15533 = call ptr @strerror(i32 noundef %15532) #11
  %15534 = call ptr @__errno_location() #12
  %15535 = load i32, ptr %15534, align 4, !tbaa !5
  %15536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15523, ptr noundef @.str.81, i32 noundef %15524, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 577, ptr noundef %15527, ptr noundef %15530, ptr noundef %15533, i32 noundef %15535) #11
  br label %15537

15537:                                            ; preds = %15520, %15503
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #11
  br label %15538

15538:                                            ; preds = %15537
  br label %15539

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

15540:                                            ; No predecessors!
  br label %15541

15541:                                            ; preds = %15540
  br label %15542

15542:                                            ; preds = %15541, %15484
  br label %15543

15543:                                            ; preds = %15542
  br label %15544

15544:                                            ; preds = %15543
  call void @llvm.lifetime.end.p0(i64 8, ptr %382) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %378) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %374) #11
  %15545 = call i32 @s2n_psk_wipe(ptr noundef %370)
  %15546 = getelementptr inbounds %struct.s2n_result, ptr %387, i32 0, i32 0
  store i32 %15545, ptr %15546, align 4
  call void @llvm.lifetime.end.p0(i64 168, ptr %370) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %368) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %388) #11
  store ptr null, ptr %388, align 8, !tbaa !9
  br label %15547

15547:                                            ; preds = %15544
  %15548 = load i32, ptr @test_count, align 4, !tbaa !5
  %15549 = add nsw i32 %15548, 1
  store i32 %15549, ptr @test_count, align 4, !tbaa !5
  %15550 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %15550, ptr %388, align 8, !tbaa !9
  %15551 = icmp eq ptr %15550, null
  br i1 %15551, label %15552, label %15605

15552:                                            ; preds = %15547
  br label %15553

15553:                                            ; preds = %15552
  br label %15554

15554:                                            ; preds = %15553
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #11
  %15555 = call ptr @__errno_location() #12
  %15556 = load i32, ptr %15555, align 4, !tbaa !5
  store i32 %15556, ptr %389, align 4, !tbaa !5
  %15557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15558 = call i32 @s2n_print_stacktrace(ptr noundef %15557)
  %15559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15560 = trunc i8 %15559 to i1
  br i1 %15560, label %15561, label %15583

15561:                                            ; preds = %15554
  %15562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15563 = call i32 @fileno(ptr noundef %15562) #11
  %15564 = call i32 @isatty(i32 noundef %15563) #11
  %15565 = icmp ne i32 %15564, 0
  br i1 %15565, label %15566, label %15583

15566:                                            ; preds = %15561
  %15567 = load i32, ptr %389, align 4, !tbaa !5
  %15568 = call ptr @__errno_location() #12
  store i32 %15567, ptr %15568, align 4, !tbaa !5
  %15569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15570 = load i32, ptr @test_count, align 4, !tbaa !5
  %15571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15572 = load i32, ptr %15571, align 4, !tbaa !5
  %15573 = call ptr @s2n_strerror(i32 noundef %15572, ptr noundef @.str.80)
  %15574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15575 = load i32, ptr %15574, align 4, !tbaa !5
  %15576 = call ptr @s2n_strerror_debug(i32 noundef %15575, ptr noundef @.str.80)
  %15577 = call ptr @__errno_location() #12
  %15578 = load i32, ptr %15577, align 4, !tbaa !5
  %15579 = call ptr @strerror(i32 noundef %15578) #11
  %15580 = call ptr @__errno_location() #12
  %15581 = load i32, ptr %15580, align 4, !tbaa !5
  %15582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15569, ptr noundef @.str.78, i32 noundef %15570, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 583, ptr noundef %15573, ptr noundef %15576, ptr noundef %15579, i32 noundef %15581) #11
  br label %15600

15583:                                            ; preds = %15561, %15554
  %15584 = load i32, ptr %389, align 4, !tbaa !5
  %15585 = call ptr @__errno_location() #12
  store i32 %15584, ptr %15585, align 4, !tbaa !5
  %15586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15587 = load i32, ptr @test_count, align 4, !tbaa !5
  %15588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15589 = load i32, ptr %15588, align 4, !tbaa !5
  %15590 = call ptr @s2n_strerror(i32 noundef %15589, ptr noundef @.str.80)
  %15591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15592 = load i32, ptr %15591, align 4, !tbaa !5
  %15593 = call ptr @s2n_strerror_debug(i32 noundef %15592, ptr noundef @.str.80)
  %15594 = call ptr @__errno_location() #12
  %15595 = load i32, ptr %15594, align 4, !tbaa !5
  %15596 = call ptr @strerror(i32 noundef %15595) #11
  %15597 = call ptr @__errno_location() #12
  %15598 = load i32, ptr %15597, align 4, !tbaa !5
  %15599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15586, ptr noundef @.str.81, i32 noundef %15587, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 583, ptr noundef %15590, ptr noundef %15593, ptr noundef %15596, i32 noundef %15598) #11
  br label %15600

15600:                                            ; preds = %15583, %15566
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #11
  br label %15601

15601:                                            ; preds = %15600
  br label %15602

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

15603:                                            ; No predecessors!
  br label %15604

15604:                                            ; preds = %15603
  br label %15605

15605:                                            ; preds = %15604, %15547
  br label %15606

15606:                                            ; preds = %15605
  br label %15607

15607:                                            ; preds = %15606
  call void @llvm.lifetime.start.p0(i64 8, ptr %390) #11
  store ptr null, ptr %390, align 8, !tbaa !9
  br label %15608

15608:                                            ; preds = %15607
  %15609 = load i32, ptr @test_count, align 4, !tbaa !5
  %15610 = add nsw i32 %15609, 1
  store i32 %15610, ptr @test_count, align 4, !tbaa !5
  %15611 = load ptr, ptr %388, align 8, !tbaa !9
  %15612 = getelementptr inbounds %struct.s2n_connection, ptr %15611, i32 0, i32 33
  %15613 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %15612, i32 0, i32 1
  %15614 = call i32 @s2n_array_pushback(ptr noundef %15613, ptr noundef %390)
  %15615 = getelementptr inbounds %struct.s2n_result, ptr %391, i32 0, i32 0
  store i32 %15614, ptr %15615, align 4
  %15616 = getelementptr inbounds %struct.s2n_result, ptr %391, i32 0, i32 0
  %15617 = load i32, ptr %15616, align 4
  %15618 = call zeroext i1 @s2n_result_is_ok(i32 %15617)
  br i1 %15618, label %15672, label %15619

15619:                                            ; preds = %15608
  br label %15620

15620:                                            ; preds = %15619
  br label %15621

15621:                                            ; preds = %15620
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #11
  %15622 = call ptr @__errno_location() #12
  %15623 = load i32, ptr %15622, align 4, !tbaa !5
  store i32 %15623, ptr %392, align 4, !tbaa !5
  %15624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15625 = call i32 @s2n_print_stacktrace(ptr noundef %15624)
  %15626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15627 = trunc i8 %15626 to i1
  br i1 %15627, label %15628, label %15650

15628:                                            ; preds = %15621
  %15629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15630 = call i32 @fileno(ptr noundef %15629) #11
  %15631 = call i32 @isatty(i32 noundef %15630) #11
  %15632 = icmp ne i32 %15631, 0
  br i1 %15632, label %15633, label %15650

15633:                                            ; preds = %15628
  %15634 = load i32, ptr %392, align 4, !tbaa !5
  %15635 = call ptr @__errno_location() #12
  store i32 %15634, ptr %15635, align 4, !tbaa !5
  %15636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15637 = load i32, ptr @test_count, align 4, !tbaa !5
  %15638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15639 = load i32, ptr %15638, align 4, !tbaa !5
  %15640 = call ptr @s2n_strerror(i32 noundef %15639, ptr noundef @.str.80)
  %15641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15642 = load i32, ptr %15641, align 4, !tbaa !5
  %15643 = call ptr @s2n_strerror_debug(i32 noundef %15642, ptr noundef @.str.80)
  %15644 = call ptr @__errno_location() #12
  %15645 = load i32, ptr %15644, align 4, !tbaa !5
  %15646 = call ptr @strerror(i32 noundef %15645) #11
  %15647 = call ptr @__errno_location() #12
  %15648 = load i32, ptr %15647, align 4, !tbaa !5
  %15649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15636, ptr noundef @.str.78, i32 noundef %15637, ptr noundef @.str.245, ptr noundef @.str.77, i32 noundef 586, ptr noundef %15640, ptr noundef %15643, ptr noundef %15646, i32 noundef %15648) #11
  br label %15667

15650:                                            ; preds = %15628, %15621
  %15651 = load i32, ptr %392, align 4, !tbaa !5
  %15652 = call ptr @__errno_location() #12
  store i32 %15651, ptr %15652, align 4, !tbaa !5
  %15653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15654 = load i32, ptr @test_count, align 4, !tbaa !5
  %15655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15656 = load i32, ptr %15655, align 4, !tbaa !5
  %15657 = call ptr @s2n_strerror(i32 noundef %15656, ptr noundef @.str.80)
  %15658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15659 = load i32, ptr %15658, align 4, !tbaa !5
  %15660 = call ptr @s2n_strerror_debug(i32 noundef %15659, ptr noundef @.str.80)
  %15661 = call ptr @__errno_location() #12
  %15662 = load i32, ptr %15661, align 4, !tbaa !5
  %15663 = call ptr @strerror(i32 noundef %15662) #11
  %15664 = call ptr @__errno_location() #12
  %15665 = load i32, ptr %15664, align 4, !tbaa !5
  %15666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15653, ptr noundef @.str.81, i32 noundef %15654, ptr noundef @.str.245, ptr noundef @.str.77, i32 noundef 586, ptr noundef %15657, ptr noundef %15660, ptr noundef %15663, i32 noundef %15665) #11
  br label %15667

15667:                                            ; preds = %15650, %15633
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #11
  br label %15668

15668:                                            ; preds = %15667
  br label %15669

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

15670:                                            ; No predecessors!
  br label %15671

15671:                                            ; preds = %15670
  br label %15672

15672:                                            ; preds = %15671, %15608
  br label %15673

15673:                                            ; preds = %15672
  br label %15674

15674:                                            ; preds = %15673
  br label %15675

15675:                                            ; preds = %15674
  %15676 = load i32, ptr @test_count, align 4, !tbaa !5
  %15677 = add nsw i32 %15676, 1
  store i32 %15677, ptr @test_count, align 4, !tbaa !5
  %15678 = load ptr, ptr %390, align 8, !tbaa !9
  %15679 = call i32 @s2n_psk_init(ptr noundef %15678, i32 noundef 0)
  %15680 = getelementptr inbounds %struct.s2n_result, ptr %393, i32 0, i32 0
  store i32 %15679, ptr %15680, align 4
  %15681 = getelementptr inbounds %struct.s2n_result, ptr %393, i32 0, i32 0
  %15682 = load i32, ptr %15681, align 4
  %15683 = call zeroext i1 @s2n_result_is_ok(i32 %15682)
  br i1 %15683, label %15737, label %15684

15684:                                            ; preds = %15675
  br label %15685

15685:                                            ; preds = %15684
  br label %15686

15686:                                            ; preds = %15685
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #11
  %15687 = call ptr @__errno_location() #12
  %15688 = load i32, ptr %15687, align 4, !tbaa !5
  store i32 %15688, ptr %394, align 4, !tbaa !5
  %15689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15690 = call i32 @s2n_print_stacktrace(ptr noundef %15689)
  %15691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15692 = trunc i8 %15691 to i1
  br i1 %15692, label %15693, label %15715

15693:                                            ; preds = %15686
  %15694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15695 = call i32 @fileno(ptr noundef %15694) #11
  %15696 = call i32 @isatty(i32 noundef %15695) #11
  %15697 = icmp ne i32 %15696, 0
  br i1 %15697, label %15698, label %15715

15698:                                            ; preds = %15693
  %15699 = load i32, ptr %394, align 4, !tbaa !5
  %15700 = call ptr @__errno_location() #12
  store i32 %15699, ptr %15700, align 4, !tbaa !5
  %15701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15702 = load i32, ptr @test_count, align 4, !tbaa !5
  %15703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15704 = load i32, ptr %15703, align 4, !tbaa !5
  %15705 = call ptr @s2n_strerror(i32 noundef %15704, ptr noundef @.str.80)
  %15706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15707 = load i32, ptr %15706, align 4, !tbaa !5
  %15708 = call ptr @s2n_strerror_debug(i32 noundef %15707, ptr noundef @.str.80)
  %15709 = call ptr @__errno_location() #12
  %15710 = load i32, ptr %15709, align 4, !tbaa !5
  %15711 = call ptr @strerror(i32 noundef %15710) #11
  %15712 = call ptr @__errno_location() #12
  %15713 = load i32, ptr %15712, align 4, !tbaa !5
  %15714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15701, ptr noundef @.str.78, i32 noundef %15702, ptr noundef @.str.246, ptr noundef @.str.77, i32 noundef 587, ptr noundef %15705, ptr noundef %15708, ptr noundef %15711, i32 noundef %15713) #11
  br label %15732

15715:                                            ; preds = %15693, %15686
  %15716 = load i32, ptr %394, align 4, !tbaa !5
  %15717 = call ptr @__errno_location() #12
  store i32 %15716, ptr %15717, align 4, !tbaa !5
  %15718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15719 = load i32, ptr @test_count, align 4, !tbaa !5
  %15720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15721 = load i32, ptr %15720, align 4, !tbaa !5
  %15722 = call ptr @s2n_strerror(i32 noundef %15721, ptr noundef @.str.80)
  %15723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15724 = load i32, ptr %15723, align 4, !tbaa !5
  %15725 = call ptr @s2n_strerror_debug(i32 noundef %15724, ptr noundef @.str.80)
  %15726 = call ptr @__errno_location() #12
  %15727 = load i32, ptr %15726, align 4, !tbaa !5
  %15728 = call ptr @strerror(i32 noundef %15727) #11
  %15729 = call ptr @__errno_location() #12
  %15730 = load i32, ptr %15729, align 4, !tbaa !5
  %15731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15718, ptr noundef @.str.81, i32 noundef %15719, ptr noundef @.str.246, ptr noundef @.str.77, i32 noundef 587, ptr noundef %15722, ptr noundef %15725, ptr noundef %15728, i32 noundef %15730) #11
  br label %15732

15732:                                            ; preds = %15715, %15698
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #11
  br label %15733

15733:                                            ; preds = %15732
  br label %15734

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

15735:                                            ; No predecessors!
  br label %15736

15736:                                            ; preds = %15735
  br label %15737

15737:                                            ; preds = %15736, %15675
  br label %15738

15738:                                            ; preds = %15737
  br label %15739

15739:                                            ; preds = %15738
  br label %15740

15740:                                            ; preds = %15739
  %15741 = load i32, ptr @test_count, align 4, !tbaa !5
  %15742 = add nsw i32 %15741, 1
  store i32 %15742, ptr @test_count, align 4, !tbaa !5
  %15743 = load ptr, ptr %390, align 8, !tbaa !9
  %15744 = getelementptr inbounds %struct.s2n_blob, ptr %300, i32 0, i32 0
  %15745 = load ptr, ptr %15744, align 8, !tbaa !80
  %15746 = getelementptr inbounds %struct.s2n_blob, ptr %300, i32 0, i32 1
  %15747 = load i32, ptr %15746, align 8, !tbaa !79
  %15748 = trunc i32 %15747 to i16
  %15749 = call i32 @s2n_psk_set_identity(ptr noundef %15743, ptr noundef %15745, i16 noundef zeroext %15748)
  %15750 = icmp eq i32 %15749, -1
  br i1 %15750, label %15751, label %15804

15751:                                            ; preds = %15740
  br label %15752

15752:                                            ; preds = %15751
  br label %15753

15753:                                            ; preds = %15752
  call void @llvm.lifetime.start.p0(i64 4, ptr %395) #11
  %15754 = call ptr @__errno_location() #12
  %15755 = load i32, ptr %15754, align 4, !tbaa !5
  store i32 %15755, ptr %395, align 4, !tbaa !5
  %15756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15757 = call i32 @s2n_print_stacktrace(ptr noundef %15756)
  %15758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15759 = trunc i8 %15758 to i1
  br i1 %15759, label %15760, label %15782

15760:                                            ; preds = %15753
  %15761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15762 = call i32 @fileno(ptr noundef %15761) #11
  %15763 = call i32 @isatty(i32 noundef %15762) #11
  %15764 = icmp ne i32 %15763, 0
  br i1 %15764, label %15765, label %15782

15765:                                            ; preds = %15760
  %15766 = load i32, ptr %395, 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.80)
  %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.80)
  %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.78, i32 noundef %15769, ptr noundef @.str.247, ptr noundef @.str.77, i32 noundef 588, ptr noundef %15772, ptr noundef %15775, ptr noundef %15778, i32 noundef %15780) #11
  br label %15799

15782:                                            ; preds = %15760, %15753
  %15783 = load i32, ptr %395, align 4, !tbaa !5
  %15784 = call ptr @__errno_location() #12
  store i32 %15783, ptr %15784, align 4, !tbaa !5
  %15785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15786 = load i32, ptr @test_count, align 4, !tbaa !5
  %15787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15788 = load i32, ptr %15787, align 4, !tbaa !5
  %15789 = call ptr @s2n_strerror(i32 noundef %15788, ptr noundef @.str.80)
  %15790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15791 = load i32, ptr %15790, align 4, !tbaa !5
  %15792 = call ptr @s2n_strerror_debug(i32 noundef %15791, ptr noundef @.str.80)
  %15793 = call ptr @__errno_location() #12
  %15794 = load i32, ptr %15793, align 4, !tbaa !5
  %15795 = call ptr @strerror(i32 noundef %15794) #11
  %15796 = call ptr @__errno_location() #12
  %15797 = load i32, ptr %15796, align 4, !tbaa !5
  %15798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15785, ptr noundef @.str.81, i32 noundef %15786, ptr noundef @.str.247, ptr noundef @.str.77, i32 noundef 588, ptr noundef %15789, ptr noundef %15792, ptr noundef %15795, i32 noundef %15797) #11
  br label %15799

15799:                                            ; preds = %15782, %15765
  call void @llvm.lifetime.end.p0(i64 4, ptr %395) #11
  br label %15800

15800:                                            ; preds = %15799
  br label %15801

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

15802:                                            ; No predecessors!
  br label %15803

15803:                                            ; preds = %15802
  br label %15804

15804:                                            ; preds = %15803, %15740
  br label %15805

15805:                                            ; preds = %15804
  br label %15806

15806:                                            ; preds = %15805
  br label %15807

15807:                                            ; preds = %15806
  %15808 = load i32, ptr @test_count, align 4, !tbaa !5
  %15809 = add nsw i32 %15808, 1
  store i32 %15809, ptr @test_count, align 4, !tbaa !5
  %15810 = load ptr, ptr %390, align 8, !tbaa !9
  %15811 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 0
  %15812 = load ptr, ptr %15811, align 8, !tbaa !80
  %15813 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 1
  %15814 = load i32, ptr %15813, align 8, !tbaa !79
  %15815 = trunc i32 %15814 to i16
  %15816 = call i32 @s2n_psk_set_secret(ptr noundef %15810, ptr noundef %15812, i16 noundef zeroext %15815)
  %15817 = icmp eq i32 %15816, -1
  br i1 %15817, label %15818, label %15871

15818:                                            ; preds = %15807
  br label %15819

15819:                                            ; preds = %15818
  br label %15820

15820:                                            ; preds = %15819
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #11
  %15821 = call ptr @__errno_location() #12
  %15822 = load i32, ptr %15821, align 4, !tbaa !5
  store i32 %15822, ptr %396, align 4, !tbaa !5
  %15823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15824 = call i32 @s2n_print_stacktrace(ptr noundef %15823)
  %15825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15826 = trunc i8 %15825 to i1
  br i1 %15826, label %15827, label %15849

15827:                                            ; preds = %15820
  %15828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15829 = call i32 @fileno(ptr noundef %15828) #11
  %15830 = call i32 @isatty(i32 noundef %15829) #11
  %15831 = icmp ne i32 %15830, 0
  br i1 %15831, label %15832, label %15849

15832:                                            ; preds = %15827
  %15833 = load i32, ptr %396, align 4, !tbaa !5
  %15834 = call ptr @__errno_location() #12
  store i32 %15833, ptr %15834, align 4, !tbaa !5
  %15835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15836 = load i32, ptr @test_count, align 4, !tbaa !5
  %15837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15838 = load i32, ptr %15837, align 4, !tbaa !5
  %15839 = call ptr @s2n_strerror(i32 noundef %15838, ptr noundef @.str.80)
  %15840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15841 = load i32, ptr %15840, align 4, !tbaa !5
  %15842 = call ptr @s2n_strerror_debug(i32 noundef %15841, ptr noundef @.str.80)
  %15843 = call ptr @__errno_location() #12
  %15844 = load i32, ptr %15843, align 4, !tbaa !5
  %15845 = call ptr @strerror(i32 noundef %15844) #11
  %15846 = call ptr @__errno_location() #12
  %15847 = load i32, ptr %15846, align 4, !tbaa !5
  %15848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15835, ptr noundef @.str.78, i32 noundef %15836, ptr noundef @.str.248, ptr noundef @.str.77, i32 noundef 589, ptr noundef %15839, ptr noundef %15842, ptr noundef %15845, i32 noundef %15847) #11
  br label %15866

15849:                                            ; preds = %15827, %15820
  %15850 = load i32, ptr %396, align 4, !tbaa !5
  %15851 = call ptr @__errno_location() #12
  store i32 %15850, ptr %15851, align 4, !tbaa !5
  %15852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15853 = load i32, ptr @test_count, align 4, !tbaa !5
  %15854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15855 = load i32, ptr %15854, align 4, !tbaa !5
  %15856 = call ptr @s2n_strerror(i32 noundef %15855, ptr noundef @.str.80)
  %15857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15858 = load i32, ptr %15857, align 4, !tbaa !5
  %15859 = call ptr @s2n_strerror_debug(i32 noundef %15858, ptr noundef @.str.80)
  %15860 = call ptr @__errno_location() #12
  %15861 = load i32, ptr %15860, align 4, !tbaa !5
  %15862 = call ptr @strerror(i32 noundef %15861) #11
  %15863 = call ptr @__errno_location() #12
  %15864 = load i32, ptr %15863, align 4, !tbaa !5
  %15865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15852, ptr noundef @.str.81, i32 noundef %15853, ptr noundef @.str.248, ptr noundef @.str.77, i32 noundef 589, ptr noundef %15856, ptr noundef %15859, ptr noundef %15862, i32 noundef %15864) #11
  br label %15866

15866:                                            ; preds = %15849, %15832
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #11
  br label %15867

15867:                                            ; preds = %15866
  br label %15868

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

15869:                                            ; No predecessors!
  br label %15870

15870:                                            ; preds = %15869
  br label %15871

15871:                                            ; preds = %15870, %15807
  br label %15872

15872:                                            ; preds = %15871
  br label %15873

15873:                                            ; preds = %15872
  call void @llvm.lifetime.start.p0(i64 40, ptr %397) #11
  call void @llvm.memset.p0.i64(ptr align 8 %397, i8 0, i64 40, i1 false)
  br label %15874

15874:                                            ; preds = %15873
  %15875 = load i32, ptr @test_count, align 4, !tbaa !5
  %15876 = add nsw i32 %15875, 1
  store i32 %15876, ptr @test_count, align 4, !tbaa !5
  %15877 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %397, i32 noundef 0)
  %15878 = icmp eq i32 %15877, -1
  br i1 %15878, label %15879, label %15932

15879:                                            ; preds = %15874
  br label %15880

15880:                                            ; preds = %15879
  br label %15881

15881:                                            ; preds = %15880
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #11
  %15882 = call ptr @__errno_location() #12
  %15883 = load i32, ptr %15882, align 4, !tbaa !5
  store i32 %15883, ptr %398, align 4, !tbaa !5
  %15884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15885 = call i32 @s2n_print_stacktrace(ptr noundef %15884)
  %15886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15887 = trunc i8 %15886 to i1
  br i1 %15887, label %15888, label %15910

15888:                                            ; preds = %15881
  %15889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15890 = call i32 @fileno(ptr noundef %15889) #11
  %15891 = call i32 @isatty(i32 noundef %15890) #11
  %15892 = icmp ne i32 %15891, 0
  br i1 %15892, label %15893, label %15910

15893:                                            ; preds = %15888
  %15894 = load i32, ptr %398, align 4, !tbaa !5
  %15895 = call ptr @__errno_location() #12
  store i32 %15894, ptr %15895, align 4, !tbaa !5
  %15896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15897 = load i32, ptr @test_count, align 4, !tbaa !5
  %15898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15899 = load i32, ptr %15898, align 4, !tbaa !5
  %15900 = call ptr @s2n_strerror(i32 noundef %15899, ptr noundef @.str.80)
  %15901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15902 = load i32, ptr %15901, align 4, !tbaa !5
  %15903 = call ptr @s2n_strerror_debug(i32 noundef %15902, ptr noundef @.str.80)
  %15904 = call ptr @__errno_location() #12
  %15905 = load i32, ptr %15904, align 4, !tbaa !5
  %15906 = call ptr @strerror(i32 noundef %15905) #11
  %15907 = call ptr @__errno_location() #12
  %15908 = load i32, ptr %15907, align 4, !tbaa !5
  %15909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15896, ptr noundef @.str.78, i32 noundef %15897, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 592, ptr noundef %15900, ptr noundef %15903, ptr noundef %15906, i32 noundef %15908) #11
  br label %15927

15910:                                            ; preds = %15888, %15881
  %15911 = load i32, ptr %398, align 4, !tbaa !5
  %15912 = call ptr @__errno_location() #12
  store i32 %15911, ptr %15912, align 4, !tbaa !5
  %15913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15914 = load i32, ptr @test_count, align 4, !tbaa !5
  %15915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15916 = load i32, ptr %15915, align 4, !tbaa !5
  %15917 = call ptr @s2n_strerror(i32 noundef %15916, ptr noundef @.str.80)
  %15918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15919 = load i32, ptr %15918, align 4, !tbaa !5
  %15920 = call ptr @s2n_strerror_debug(i32 noundef %15919, ptr noundef @.str.80)
  %15921 = call ptr @__errno_location() #12
  %15922 = load i32, ptr %15921, align 4, !tbaa !5
  %15923 = call ptr @strerror(i32 noundef %15922) #11
  %15924 = call ptr @__errno_location() #12
  %15925 = load i32, ptr %15924, align 4, !tbaa !5
  %15926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15913, ptr noundef @.str.81, i32 noundef %15914, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 592, ptr noundef %15917, ptr noundef %15920, ptr noundef %15923, i32 noundef %15925) #11
  br label %15927

15927:                                            ; preds = %15910, %15893
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #11
  br label %15928

15928:                                            ; preds = %15927
  br label %15929

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

15930:                                            ; No predecessors!
  br label %15931

15931:                                            ; preds = %15930
  br label %15932

15932:                                            ; preds = %15931, %15874
  br label %15933

15933:                                            ; preds = %15932
  br label %15934

15934:                                            ; preds = %15933
  br label %15935

15935:                                            ; preds = %15934
  %15936 = load i32, ptr @test_count, align 4, !tbaa !5
  %15937 = add nsw i32 %15936, 1
  store i32 %15937, ptr @test_count, align 4, !tbaa !5
  %15938 = load ptr, ptr %388, align 8, !tbaa !9
  %15939 = call i32 @s2n_psk_write_binder_list(ptr noundef %15938, ptr noundef %303, ptr noundef %397)
  %15940 = getelementptr inbounds %struct.s2n_result, ptr %399, i32 0, i32 0
  store i32 %15939, ptr %15940, align 4
  %15941 = getelementptr inbounds %struct.s2n_result, ptr %399, i32 0, i32 0
  %15942 = load i32, ptr %15941, align 4
  %15943 = call zeroext i1 @s2n_result_is_ok(i32 %15942)
  br i1 %15943, label %15997, label %15944

15944:                                            ; preds = %15935
  br label %15945

15945:                                            ; preds = %15944
  br label %15946

15946:                                            ; preds = %15945
  call void @llvm.lifetime.start.p0(i64 4, ptr %400) #11
  %15947 = call ptr @__errno_location() #12
  %15948 = load i32, ptr %15947, align 4, !tbaa !5
  store i32 %15948, ptr %400, align 4, !tbaa !5
  %15949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15950 = call i32 @s2n_print_stacktrace(ptr noundef %15949)
  %15951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15952 = trunc i8 %15951 to i1
  br i1 %15952, label %15953, label %15975

15953:                                            ; preds = %15946
  %15954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15955 = call i32 @fileno(ptr noundef %15954) #11
  %15956 = call i32 @isatty(i32 noundef %15955) #11
  %15957 = icmp ne i32 %15956, 0
  br i1 %15957, label %15958, label %15975

15958:                                            ; preds = %15953
  %15959 = load i32, ptr %400, align 4, !tbaa !5
  %15960 = call ptr @__errno_location() #12
  store i32 %15959, ptr %15960, align 4, !tbaa !5
  %15961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15962 = load i32, ptr @test_count, align 4, !tbaa !5
  %15963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15964 = load i32, ptr %15963, align 4, !tbaa !5
  %15965 = call ptr @s2n_strerror(i32 noundef %15964, ptr noundef @.str.80)
  %15966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15967 = load i32, ptr %15966, align 4, !tbaa !5
  %15968 = call ptr @s2n_strerror_debug(i32 noundef %15967, ptr noundef @.str.80)
  %15969 = call ptr @__errno_location() #12
  %15970 = load i32, ptr %15969, align 4, !tbaa !5
  %15971 = call ptr @strerror(i32 noundef %15970) #11
  %15972 = call ptr @__errno_location() #12
  %15973 = load i32, ptr %15972, align 4, !tbaa !5
  %15974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15961, ptr noundef @.str.78, i32 noundef %15962, ptr noundef @.str.205, ptr noundef @.str.77, i32 noundef 594, ptr noundef %15965, ptr noundef %15968, ptr noundef %15971, i32 noundef %15973) #11
  br label %15992

15975:                                            ; preds = %15953, %15946
  %15976 = load i32, ptr %400, align 4, !tbaa !5
  %15977 = call ptr @__errno_location() #12
  store i32 %15976, ptr %15977, align 4, !tbaa !5
  %15978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15979 = load i32, ptr @test_count, align 4, !tbaa !5
  %15980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15981 = load i32, ptr %15980, align 4, !tbaa !5
  %15982 = call ptr @s2n_strerror(i32 noundef %15981, ptr noundef @.str.80)
  %15983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15984 = load i32, ptr %15983, align 4, !tbaa !5
  %15985 = call ptr @s2n_strerror_debug(i32 noundef %15984, ptr noundef @.str.80)
  %15986 = call ptr @__errno_location() #12
  %15987 = load i32, ptr %15986, align 4, !tbaa !5
  %15988 = call ptr @strerror(i32 noundef %15987) #11
  %15989 = call ptr @__errno_location() #12
  %15990 = load i32, ptr %15989, align 4, !tbaa !5
  %15991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15978, ptr noundef @.str.81, i32 noundef %15979, ptr noundef @.str.205, ptr noundef @.str.77, i32 noundef 594, ptr noundef %15982, ptr noundef %15985, ptr noundef %15988, i32 noundef %15990) #11
  br label %15992

15992:                                            ; preds = %15975, %15958
  call void @llvm.lifetime.end.p0(i64 4, ptr %400) #11
  br label %15993

15993:                                            ; preds = %15992
  br label %15994

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

15995:                                            ; No predecessors!
  br label %15996

15996:                                            ; preds = %15995
  br label %15997

15997:                                            ; preds = %15996, %15935
  br label %15998

15998:                                            ; preds = %15997
  br label %15999

15999:                                            ; preds = %15998
  call void @llvm.lifetime.start.p0(i64 2, ptr %401) #11
  store i16 0, ptr %401, align 2, !tbaa !66
  br label %16000

16000:                                            ; preds = %15999
  %16001 = load i32, ptr @test_count, align 4, !tbaa !5
  %16002 = add nsw i32 %16001, 1
  store i32 %16002, ptr @test_count, align 4, !tbaa !5
  %16003 = call i32 @s2n_stuffer_read_uint16(ptr noundef %397, ptr noundef %401)
  %16004 = icmp eq i32 %16003, -1
  br i1 %16004, label %16005, label %16058

16005:                                            ; preds = %16000
  br label %16006

16006:                                            ; preds = %16005
  br label %16007

16007:                                            ; preds = %16006
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #11
  %16008 = call ptr @__errno_location() #12
  %16009 = load i32, ptr %16008, align 4, !tbaa !5
  store i32 %16009, ptr %402, align 4, !tbaa !5
  %16010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16011 = call i32 @s2n_print_stacktrace(ptr noundef %16010)
  %16012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16013 = trunc i8 %16012 to i1
  br i1 %16013, label %16014, label %16036

16014:                                            ; preds = %16007
  %16015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16016 = call i32 @fileno(ptr noundef %16015) #11
  %16017 = call i32 @isatty(i32 noundef %16016) #11
  %16018 = icmp ne i32 %16017, 0
  br i1 %16018, label %16019, label %16036

16019:                                            ; preds = %16014
  %16020 = load i32, ptr %402, align 4, !tbaa !5
  %16021 = call ptr @__errno_location() #12
  store i32 %16020, ptr %16021, align 4, !tbaa !5
  %16022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16023 = load i32, ptr @test_count, align 4, !tbaa !5
  %16024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16025 = load i32, ptr %16024, align 4, !tbaa !5
  %16026 = call ptr @s2n_strerror(i32 noundef %16025, ptr noundef @.str.80)
  %16027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16028 = load i32, ptr %16027, align 4, !tbaa !5
  %16029 = call ptr @s2n_strerror_debug(i32 noundef %16028, ptr noundef @.str.80)
  %16030 = call ptr @__errno_location() #12
  %16031 = load i32, ptr %16030, align 4, !tbaa !5
  %16032 = call ptr @strerror(i32 noundef %16031) #11
  %16033 = call ptr @__errno_location() #12
  %16034 = load i32, ptr %16033, align 4, !tbaa !5
  %16035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16022, ptr noundef @.str.78, i32 noundef %16023, ptr noundef @.str.206, ptr noundef @.str.77, i32 noundef 597, ptr noundef %16026, ptr noundef %16029, ptr noundef %16032, i32 noundef %16034) #11
  br label %16053

16036:                                            ; preds = %16014, %16007
  %16037 = load i32, ptr %402, align 4, !tbaa !5
  %16038 = call ptr @__errno_location() #12
  store i32 %16037, ptr %16038, align 4, !tbaa !5
  %16039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16040 = load i32, ptr @test_count, align 4, !tbaa !5
  %16041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16042 = load i32, ptr %16041, align 4, !tbaa !5
  %16043 = call ptr @s2n_strerror(i32 noundef %16042, ptr noundef @.str.80)
  %16044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16045 = load i32, ptr %16044, align 4, !tbaa !5
  %16046 = call ptr @s2n_strerror_debug(i32 noundef %16045, ptr noundef @.str.80)
  %16047 = call ptr @__errno_location() #12
  %16048 = load i32, ptr %16047, align 4, !tbaa !5
  %16049 = call ptr @strerror(i32 noundef %16048) #11
  %16050 = call ptr @__errno_location() #12
  %16051 = load i32, ptr %16050, align 4, !tbaa !5
  %16052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16039, ptr noundef @.str.81, i32 noundef %16040, ptr noundef @.str.206, ptr noundef @.str.77, i32 noundef 597, ptr noundef %16043, ptr noundef %16046, ptr noundef %16049, i32 noundef %16051) #11
  br label %16053

16053:                                            ; preds = %16036, %16019
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #11
  br label %16054

16054:                                            ; preds = %16053
  br label %16055

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

16056:                                            ; No predecessors!
  br label %16057

16057:                                            ; preds = %16056
  br label %16058

16058:                                            ; preds = %16057, %16000
  br label %16059

16059:                                            ; preds = %16058
  br label %16060

16060:                                            ; preds = %16059
  br label %16061

16061:                                            ; preds = %16060
  %16062 = load i32, ptr @test_count, align 4, !tbaa !5
  %16063 = add nsw i32 %16062, 1
  store i32 %16063, ptr @test_count, align 4, !tbaa !5
  %16064 = load i16, ptr %401, align 2, !tbaa !66
  %16065 = zext i16 %16064 to i32
  %16066 = getelementptr inbounds %struct.s2n_stuffer, ptr %397, i32 0, i32 2
  %16067 = load i32, ptr %16066, align 4, !tbaa !67
  %16068 = getelementptr inbounds %struct.s2n_stuffer, ptr %397, i32 0, i32 1
  %16069 = load i32, ptr %16068, align 8, !tbaa !68
  %16070 = sub i32 %16067, %16069
  %16071 = icmp eq i32 %16065, %16070
  br i1 %16071, label %16125, label %16072

16072:                                            ; preds = %16061
  br label %16073

16073:                                            ; preds = %16072
  br label %16074

16074:                                            ; preds = %16073
  call void @llvm.lifetime.start.p0(i64 4, ptr %403) #11
  %16075 = call ptr @__errno_location() #12
  %16076 = load i32, ptr %16075, align 4, !tbaa !5
  store i32 %16076, ptr %403, align 4, !tbaa !5
  %16077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16078 = call i32 @s2n_print_stacktrace(ptr noundef %16077)
  %16079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16080 = trunc i8 %16079 to i1
  br i1 %16080, label %16081, label %16103

16081:                                            ; preds = %16074
  %16082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16083 = call i32 @fileno(ptr noundef %16082) #11
  %16084 = call i32 @isatty(i32 noundef %16083) #11
  %16085 = icmp ne i32 %16084, 0
  br i1 %16085, label %16086, label %16103

16086:                                            ; preds = %16081
  %16087 = load i32, ptr %403, align 4, !tbaa !5
  %16088 = call ptr @__errno_location() #12
  store i32 %16087, ptr %16088, align 4, !tbaa !5
  %16089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16090 = load i32, ptr @test_count, align 4, !tbaa !5
  %16091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16092 = load i32, ptr %16091, align 4, !tbaa !5
  %16093 = call ptr @s2n_strerror(i32 noundef %16092, ptr noundef @.str.80)
  %16094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16095 = load i32, ptr %16094, align 4, !tbaa !5
  %16096 = call ptr @s2n_strerror_debug(i32 noundef %16095, ptr noundef @.str.80)
  %16097 = call ptr @__errno_location() #12
  %16098 = load i32, ptr %16097, align 4, !tbaa !5
  %16099 = call ptr @strerror(i32 noundef %16098) #11
  %16100 = call ptr @__errno_location() #12
  %16101 = load i32, ptr %16100, align 4, !tbaa !5
  %16102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16089, ptr noundef @.str.78, i32 noundef %16090, ptr noundef @.str.207, ptr noundef @.str.77, i32 noundef 598, ptr noundef %16093, ptr noundef %16096, ptr noundef %16099, i32 noundef %16101) #11
  br label %16120

16103:                                            ; preds = %16081, %16074
  %16104 = load i32, ptr %403, align 4, !tbaa !5
  %16105 = call ptr @__errno_location() #12
  store i32 %16104, ptr %16105, align 4, !tbaa !5
  %16106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16107 = load i32, ptr @test_count, align 4, !tbaa !5
  %16108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16109 = load i32, ptr %16108, align 4, !tbaa !5
  %16110 = call ptr @s2n_strerror(i32 noundef %16109, ptr noundef @.str.80)
  %16111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16112 = load i32, ptr %16111, align 4, !tbaa !5
  %16113 = call ptr @s2n_strerror_debug(i32 noundef %16112, ptr noundef @.str.80)
  %16114 = call ptr @__errno_location() #12
  %16115 = load i32, ptr %16114, align 4, !tbaa !5
  %16116 = call ptr @strerror(i32 noundef %16115) #11
  %16117 = call ptr @__errno_location() #12
  %16118 = load i32, ptr %16117, align 4, !tbaa !5
  %16119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16106, ptr noundef @.str.81, i32 noundef %16107, ptr noundef @.str.207, ptr noundef @.str.77, i32 noundef 598, ptr noundef %16110, ptr noundef %16113, ptr noundef %16116, i32 noundef %16118) #11
  br label %16120

16120:                                            ; preds = %16103, %16086
  call void @llvm.lifetime.end.p0(i64 4, ptr %403) #11
  br label %16121

16121:                                            ; preds = %16120
  br label %16122

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

16123:                                            ; No predecessors!
  br label %16124

16124:                                            ; preds = %16123
  br label %16125

16125:                                            ; preds = %16124, %16061
  br label %16126

16126:                                            ; preds = %16125
  br label %16127

16127:                                            ; preds = %16126
  call void @llvm.lifetime.start.p0(i64 1, ptr %404) #11
  store i8 0, ptr %404, align 1, !tbaa !26
  br label %16128

16128:                                            ; preds = %16127
  %16129 = load i32, ptr @test_count, align 4, !tbaa !5
  %16130 = add nsw i32 %16129, 1
  store i32 %16130, ptr @test_count, align 4, !tbaa !5
  %16131 = call i32 @s2n_stuffer_read_uint8(ptr noundef %397, ptr noundef %404)
  %16132 = icmp eq i32 %16131, -1
  br i1 %16132, label %16133, label %16186

16133:                                            ; preds = %16128
  br label %16134

16134:                                            ; preds = %16133
  br label %16135

16135:                                            ; preds = %16134
  call void @llvm.lifetime.start.p0(i64 4, ptr %405) #11
  %16136 = call ptr @__errno_location() #12
  %16137 = load i32, ptr %16136, align 4, !tbaa !5
  store i32 %16137, ptr %405, align 4, !tbaa !5
  %16138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16139 = call i32 @s2n_print_stacktrace(ptr noundef %16138)
  %16140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16141 = trunc i8 %16140 to i1
  br i1 %16141, label %16142, label %16164

16142:                                            ; preds = %16135
  %16143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16144 = call i32 @fileno(ptr noundef %16143) #11
  %16145 = call i32 @isatty(i32 noundef %16144) #11
  %16146 = icmp ne i32 %16145, 0
  br i1 %16146, label %16147, label %16164

16147:                                            ; preds = %16142
  %16148 = load i32, ptr %405, align 4, !tbaa !5
  %16149 = call ptr @__errno_location() #12
  store i32 %16148, ptr %16149, align 4, !tbaa !5
  %16150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16151 = load i32, ptr @test_count, align 4, !tbaa !5
  %16152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16153 = load i32, ptr %16152, align 4, !tbaa !5
  %16154 = call ptr @s2n_strerror(i32 noundef %16153, ptr noundef @.str.80)
  %16155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16156 = load i32, ptr %16155, align 4, !tbaa !5
  %16157 = call ptr @s2n_strerror_debug(i32 noundef %16156, ptr noundef @.str.80)
  %16158 = call ptr @__errno_location() #12
  %16159 = load i32, ptr %16158, align 4, !tbaa !5
  %16160 = call ptr @strerror(i32 noundef %16159) #11
  %16161 = call ptr @__errno_location() #12
  %16162 = load i32, ptr %16161, align 4, !tbaa !5
  %16163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16150, ptr noundef @.str.78, i32 noundef %16151, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 601, ptr noundef %16154, ptr noundef %16157, ptr noundef %16160, i32 noundef %16162) #11
  br label %16181

16164:                                            ; preds = %16142, %16135
  %16165 = load i32, ptr %405, align 4, !tbaa !5
  %16166 = call ptr @__errno_location() #12
  store i32 %16165, ptr %16166, align 4, !tbaa !5
  %16167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16168 = load i32, ptr @test_count, align 4, !tbaa !5
  %16169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16170 = load i32, ptr %16169, align 4, !tbaa !5
  %16171 = call ptr @s2n_strerror(i32 noundef %16170, ptr noundef @.str.80)
  %16172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16173 = load i32, ptr %16172, align 4, !tbaa !5
  %16174 = call ptr @s2n_strerror_debug(i32 noundef %16173, ptr noundef @.str.80)
  %16175 = call ptr @__errno_location() #12
  %16176 = load i32, ptr %16175, align 4, !tbaa !5
  %16177 = call ptr @strerror(i32 noundef %16176) #11
  %16178 = call ptr @__errno_location() #12
  %16179 = load i32, ptr %16178, align 4, !tbaa !5
  %16180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16167, ptr noundef @.str.81, i32 noundef %16168, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 601, ptr noundef %16171, ptr noundef %16174, ptr noundef %16177, i32 noundef %16179) #11
  br label %16181

16181:                                            ; preds = %16164, %16147
  call void @llvm.lifetime.end.p0(i64 4, ptr %405) #11
  br label %16182

16182:                                            ; preds = %16181
  br label %16183

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

16184:                                            ; No predecessors!
  br label %16185

16185:                                            ; preds = %16184
  br label %16186

16186:                                            ; preds = %16185, %16128
  br label %16187

16187:                                            ; preds = %16186
  br label %16188

16188:                                            ; preds = %16187
  br label %16189

16189:                                            ; preds = %16188
  %16190 = load i32, ptr @test_count, align 4, !tbaa !5
  %16191 = add nsw i32 %16190, 1
  store i32 %16191, ptr @test_count, align 4, !tbaa !5
  %16192 = load i8, ptr %404, align 1, !tbaa !26
  %16193 = zext i8 %16192 to i32
  %16194 = getelementptr inbounds %struct.s2n_stuffer, ptr %397, i32 0, i32 2
  %16195 = load i32, ptr %16194, align 4, !tbaa !67
  %16196 = getelementptr inbounds %struct.s2n_stuffer, ptr %397, i32 0, i32 1
  %16197 = load i32, ptr %16196, align 8, !tbaa !68
  %16198 = sub i32 %16195, %16197
  %16199 = icmp eq i32 %16193, %16198
  br i1 %16199, label %16253, label %16200

16200:                                            ; preds = %16189
  br label %16201

16201:                                            ; preds = %16200
  br label %16202

16202:                                            ; preds = %16201
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #11
  %16203 = call ptr @__errno_location() #12
  %16204 = load i32, ptr %16203, align 4, !tbaa !5
  store i32 %16204, ptr %406, align 4, !tbaa !5
  %16205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16206 = call i32 @s2n_print_stacktrace(ptr noundef %16205)
  %16207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16208 = trunc i8 %16207 to i1
  br i1 %16208, label %16209, label %16231

16209:                                            ; preds = %16202
  %16210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16211 = call i32 @fileno(ptr noundef %16210) #11
  %16212 = call i32 @isatty(i32 noundef %16211) #11
  %16213 = icmp ne i32 %16212, 0
  br i1 %16213, label %16214, label %16231

16214:                                            ; preds = %16209
  %16215 = load i32, ptr %406, align 4, !tbaa !5
  %16216 = call ptr @__errno_location() #12
  store i32 %16215, ptr %16216, align 4, !tbaa !5
  %16217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16218 = load i32, ptr @test_count, align 4, !tbaa !5
  %16219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16220 = load i32, ptr %16219, align 4, !tbaa !5
  %16221 = call ptr @s2n_strerror(i32 noundef %16220, ptr noundef @.str.80)
  %16222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16223 = load i32, ptr %16222, align 4, !tbaa !5
  %16224 = call ptr @s2n_strerror_debug(i32 noundef %16223, ptr noundef @.str.80)
  %16225 = call ptr @__errno_location() #12
  %16226 = load i32, ptr %16225, align 4, !tbaa !5
  %16227 = call ptr @strerror(i32 noundef %16226) #11
  %16228 = call ptr @__errno_location() #12
  %16229 = load i32, ptr %16228, align 4, !tbaa !5
  %16230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16217, ptr noundef @.str.78, i32 noundef %16218, ptr noundef @.str.217, ptr noundef @.str.77, i32 noundef 602, ptr noundef %16221, ptr noundef %16224, ptr noundef %16227, i32 noundef %16229) #11
  br label %16248

16231:                                            ; preds = %16209, %16202
  %16232 = load i32, ptr %406, align 4, !tbaa !5
  %16233 = call ptr @__errno_location() #12
  store i32 %16232, ptr %16233, align 4, !tbaa !5
  %16234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16235 = load i32, ptr @test_count, align 4, !tbaa !5
  %16236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16237 = load i32, ptr %16236, align 4, !tbaa !5
  %16238 = call ptr @s2n_strerror(i32 noundef %16237, ptr noundef @.str.80)
  %16239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16240 = load i32, ptr %16239, align 4, !tbaa !5
  %16241 = call ptr @s2n_strerror_debug(i32 noundef %16240, ptr noundef @.str.80)
  %16242 = call ptr @__errno_location() #12
  %16243 = load i32, ptr %16242, align 4, !tbaa !5
  %16244 = call ptr @strerror(i32 noundef %16243) #11
  %16245 = call ptr @__errno_location() #12
  %16246 = load i32, ptr %16245, align 4, !tbaa !5
  %16247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16234, ptr noundef @.str.81, i32 noundef %16235, ptr noundef @.str.217, ptr noundef @.str.77, i32 noundef 602, ptr noundef %16238, ptr noundef %16241, ptr noundef %16244, i32 noundef %16246) #11
  br label %16248

16248:                                            ; preds = %16231, %16214
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #11
  br label %16249

16249:                                            ; preds = %16248
  br label %16250

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

16251:                                            ; No predecessors!
  br label %16252

16252:                                            ; preds = %16251
  br label %16253

16253:                                            ; preds = %16252, %16189
  br label %16254

16254:                                            ; preds = %16253
  br label %16255

16255:                                            ; preds = %16254
  br label %16256

16256:                                            ; preds = %16255
  %16257 = load i32, ptr @test_count, align 4, !tbaa !5
  %16258 = add nsw i32 %16257, 1
  store i32 %16258, ptr @test_count, align 4, !tbaa !5
  %16259 = load i8, ptr %404, align 1, !tbaa !26
  %16260 = zext i8 %16259 to i32
  %16261 = getelementptr inbounds %struct.s2n_blob, ptr %313, i32 0, i32 1
  %16262 = load i32, ptr %16261, align 8, !tbaa !79
  %16263 = icmp eq i32 %16260, %16262
  br i1 %16263, label %16317, label %16264

16264:                                            ; preds = %16256
  br label %16265

16265:                                            ; preds = %16264
  br label %16266

16266:                                            ; preds = %16265
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #11
  %16267 = call ptr @__errno_location() #12
  %16268 = load i32, ptr %16267, align 4, !tbaa !5
  store i32 %16268, ptr %407, align 4, !tbaa !5
  %16269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16270 = call i32 @s2n_print_stacktrace(ptr noundef %16269)
  %16271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16272 = trunc i8 %16271 to i1
  br i1 %16272, label %16273, label %16295

16273:                                            ; preds = %16266
  %16274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16275 = call i32 @fileno(ptr noundef %16274) #11
  %16276 = call i32 @isatty(i32 noundef %16275) #11
  %16277 = icmp ne i32 %16276, 0
  br i1 %16277, label %16278, label %16295

16278:                                            ; preds = %16273
  %16279 = load i32, ptr %407, align 4, !tbaa !5
  %16280 = call ptr @__errno_location() #12
  store i32 %16279, ptr %16280, align 4, !tbaa !5
  %16281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16282 = load i32, ptr @test_count, align 4, !tbaa !5
  %16283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16284 = load i32, ptr %16283, align 4, !tbaa !5
  %16285 = call ptr @s2n_strerror(i32 noundef %16284, ptr noundef @.str.80)
  %16286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16287 = load i32, ptr %16286, align 4, !tbaa !5
  %16288 = call ptr @s2n_strerror_debug(i32 noundef %16287, ptr noundef @.str.80)
  %16289 = call ptr @__errno_location() #12
  %16290 = load i32, ptr %16289, align 4, !tbaa !5
  %16291 = call ptr @strerror(i32 noundef %16290) #11
  %16292 = call ptr @__errno_location() #12
  %16293 = load i32, ptr %16292, align 4, !tbaa !5
  %16294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16281, ptr noundef @.str.78, i32 noundef %16282, ptr noundef @.str.242, ptr noundef @.str.77, i32 noundef 603, ptr noundef %16285, ptr noundef %16288, ptr noundef %16291, i32 noundef %16293) #11
  br label %16312

16295:                                            ; preds = %16273, %16266
  %16296 = load i32, ptr %407, align 4, !tbaa !5
  %16297 = call ptr @__errno_location() #12
  store i32 %16296, ptr %16297, align 4, !tbaa !5
  %16298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16299 = load i32, ptr @test_count, align 4, !tbaa !5
  %16300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16301 = load i32, ptr %16300, align 4, !tbaa !5
  %16302 = call ptr @s2n_strerror(i32 noundef %16301, ptr noundef @.str.80)
  %16303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16304 = load i32, ptr %16303, align 4, !tbaa !5
  %16305 = call ptr @s2n_strerror_debug(i32 noundef %16304, ptr noundef @.str.80)
  %16306 = call ptr @__errno_location() #12
  %16307 = load i32, ptr %16306, align 4, !tbaa !5
  %16308 = call ptr @strerror(i32 noundef %16307) #11
  %16309 = call ptr @__errno_location() #12
  %16310 = load i32, ptr %16309, align 4, !tbaa !5
  %16311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16298, ptr noundef @.str.81, i32 noundef %16299, ptr noundef @.str.242, ptr noundef @.str.77, i32 noundef 603, ptr noundef %16302, ptr noundef %16305, ptr noundef %16308, i32 noundef %16310) #11
  br label %16312

16312:                                            ; preds = %16295, %16278
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #11
  br label %16313

16313:                                            ; preds = %16312
  br label %16314

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

16315:                                            ; No predecessors!
  br label %16316

16316:                                            ; preds = %16315
  br label %16317

16317:                                            ; preds = %16316, %16256
  br label %16318

16318:                                            ; preds = %16317
  br label %16319

16319:                                            ; preds = %16318
  call void @llvm.lifetime.start.p0(i64 8, ptr %408) #11
  store ptr null, ptr %408, align 8, !tbaa !9
  br label %16320

16320:                                            ; preds = %16319
  %16321 = load i32, ptr @test_count, align 4, !tbaa !5
  %16322 = add nsw i32 %16321, 1
  store i32 %16322, ptr @test_count, align 4, !tbaa !5
  %16323 = load i8, ptr %404, align 1, !tbaa !26
  %16324 = zext i8 %16323 to i32
  %16325 = call ptr @s2n_stuffer_raw_read(ptr noundef %397, i32 noundef %16324)
  store ptr %16325, ptr %408, align 8, !tbaa !9
  %16326 = icmp eq ptr %16325, null
  br i1 %16326, label %16327, label %16380

16327:                                            ; preds = %16320
  br label %16328

16328:                                            ; preds = %16327
  br label %16329

16329:                                            ; preds = %16328
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #11
  %16330 = call ptr @__errno_location() #12
  %16331 = load i32, ptr %16330, align 4, !tbaa !5
  store i32 %16331, ptr %409, align 4, !tbaa !5
  %16332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16333 = call i32 @s2n_print_stacktrace(ptr noundef %16332)
  %16334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16335 = trunc i8 %16334 to i1
  br i1 %16335, label %16336, label %16358

16336:                                            ; preds = %16329
  %16337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16338 = call i32 @fileno(ptr noundef %16337) #11
  %16339 = call i32 @isatty(i32 noundef %16338) #11
  %16340 = icmp ne i32 %16339, 0
  br i1 %16340, label %16341, label %16358

16341:                                            ; preds = %16336
  %16342 = load i32, ptr %409, align 4, !tbaa !5
  %16343 = call ptr @__errno_location() #12
  store i32 %16342, ptr %16343, align 4, !tbaa !5
  %16344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16345 = load i32, ptr @test_count, align 4, !tbaa !5
  %16346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16347 = load i32, ptr %16346, align 4, !tbaa !5
  %16348 = call ptr @s2n_strerror(i32 noundef %16347, ptr noundef @.str.80)
  %16349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16350 = load i32, ptr %16349, align 4, !tbaa !5
  %16351 = call ptr @s2n_strerror_debug(i32 noundef %16350, ptr noundef @.str.80)
  %16352 = call ptr @__errno_location() #12
  %16353 = load i32, ptr %16352, align 4, !tbaa !5
  %16354 = call ptr @strerror(i32 noundef %16353) #11
  %16355 = call ptr @__errno_location() #12
  %16356 = load i32, ptr %16355, align 4, !tbaa !5
  %16357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16344, ptr noundef @.str.78, i32 noundef %16345, ptr noundef @.str.243, ptr noundef @.str.77, i32 noundef 606, ptr noundef %16348, ptr noundef %16351, ptr noundef %16354, i32 noundef %16356) #11
  br label %16375

16358:                                            ; preds = %16336, %16329
  %16359 = load i32, ptr %409, align 4, !tbaa !5
  %16360 = call ptr @__errno_location() #12
  store i32 %16359, ptr %16360, align 4, !tbaa !5
  %16361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16362 = load i32, ptr @test_count, align 4, !tbaa !5
  %16363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16364 = load i32, ptr %16363, align 4, !tbaa !5
  %16365 = call ptr @s2n_strerror(i32 noundef %16364, ptr noundef @.str.80)
  %16366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16367 = load i32, ptr %16366, align 4, !tbaa !5
  %16368 = call ptr @s2n_strerror_debug(i32 noundef %16367, ptr noundef @.str.80)
  %16369 = call ptr @__errno_location() #12
  %16370 = load i32, ptr %16369, align 4, !tbaa !5
  %16371 = call ptr @strerror(i32 noundef %16370) #11
  %16372 = call ptr @__errno_location() #12
  %16373 = load i32, ptr %16372, align 4, !tbaa !5
  %16374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16361, ptr noundef @.str.81, i32 noundef %16362, ptr noundef @.str.243, ptr noundef @.str.77, i32 noundef 606, ptr noundef %16365, ptr noundef %16368, ptr noundef %16371, i32 noundef %16373) #11
  br label %16375

16375:                                            ; preds = %16358, %16341
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #11
  br label %16376

16376:                                            ; preds = %16375
  br label %16377

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

16378:                                            ; No predecessors!
  br label %16379

16379:                                            ; preds = %16378
  br label %16380

16380:                                            ; preds = %16379, %16320
  br label %16381

16381:                                            ; preds = %16380
  br label %16382

16382:                                            ; preds = %16381
  br label %16383

16383:                                            ; preds = %16382
  %16384 = load i8, ptr %404, align 1, !tbaa !26
  %16385 = zext i8 %16384 to i32
  %16386 = icmp ne i32 %16385, 0
  br i1 %16386, label %16387, label %16454

16387:                                            ; preds = %16383
  br label %16388

16388:                                            ; preds = %16387
  %16389 = load i32, ptr @test_count, align 4, !tbaa !5
  %16390 = add nsw i32 %16389, 1
  store i32 %16390, ptr @test_count, align 4, !tbaa !5
  %16391 = load ptr, ptr %408, align 8, !tbaa !9
  %16392 = getelementptr inbounds %struct.s2n_blob, ptr %313, i32 0, i32 0
  %16393 = load ptr, ptr %16392, align 8, !tbaa !80
  %16394 = load i8, ptr %404, align 1, !tbaa !26
  %16395 = zext i8 %16394 to i64
  %16396 = call i32 @memcmp(ptr noundef %16391, ptr noundef %16393, i64 noundef %16395) #14
  %16397 = icmp eq i32 %16396, 0
  br i1 %16397, label %16451, label %16398

16398:                                            ; preds = %16388
  br label %16399

16399:                                            ; preds = %16398
  br label %16400

16400:                                            ; preds = %16399
  call void @llvm.lifetime.start.p0(i64 4, ptr %410) #11
  %16401 = call ptr @__errno_location() #12
  %16402 = load i32, ptr %16401, align 4, !tbaa !5
  store i32 %16402, ptr %410, align 4, !tbaa !5
  %16403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16404 = call i32 @s2n_print_stacktrace(ptr noundef %16403)
  %16405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16406 = trunc i8 %16405 to i1
  br i1 %16406, label %16407, label %16429

16407:                                            ; preds = %16400
  %16408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16409 = call i32 @fileno(ptr noundef %16408) #11
  %16410 = call i32 @isatty(i32 noundef %16409) #11
  %16411 = icmp ne i32 %16410, 0
  br i1 %16411, label %16412, label %16429

16412:                                            ; preds = %16407
  %16413 = load i32, ptr %410, align 4, !tbaa !5
  %16414 = call ptr @__errno_location() #12
  store i32 %16413, ptr %16414, align 4, !tbaa !5
  %16415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16416 = load i32, ptr @test_count, align 4, !tbaa !5
  %16417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16418 = load i32, ptr %16417, align 4, !tbaa !5
  %16419 = call ptr @s2n_strerror(i32 noundef %16418, ptr noundef @.str.80)
  %16420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16421 = load i32, ptr %16420, align 4, !tbaa !5
  %16422 = call ptr @s2n_strerror_debug(i32 noundef %16421, ptr noundef @.str.80)
  %16423 = call ptr @__errno_location() #12
  %16424 = load i32, ptr %16423, align 4, !tbaa !5
  %16425 = call ptr @strerror(i32 noundef %16424) #11
  %16426 = call ptr @__errno_location() #12
  %16427 = load i32, ptr %16426, align 4, !tbaa !5
  %16428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16415, ptr noundef @.str.78, i32 noundef %16416, ptr noundef @.str.244, ptr noundef @.str.77, i32 noundef 607, ptr noundef %16419, ptr noundef %16422, ptr noundef %16425, i32 noundef %16427) #11
  br label %16446

16429:                                            ; preds = %16407, %16400
  %16430 = load i32, ptr %410, align 4, !tbaa !5
  %16431 = call ptr @__errno_location() #12
  store i32 %16430, ptr %16431, align 4, !tbaa !5
  %16432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16433 = load i32, ptr @test_count, align 4, !tbaa !5
  %16434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16435 = load i32, ptr %16434, align 4, !tbaa !5
  %16436 = call ptr @s2n_strerror(i32 noundef %16435, ptr noundef @.str.80)
  %16437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16438 = load i32, ptr %16437, align 4, !tbaa !5
  %16439 = call ptr @s2n_strerror_debug(i32 noundef %16438, ptr noundef @.str.80)
  %16440 = call ptr @__errno_location() #12
  %16441 = load i32, ptr %16440, align 4, !tbaa !5
  %16442 = call ptr @strerror(i32 noundef %16441) #11
  %16443 = call ptr @__errno_location() #12
  %16444 = load i32, ptr %16443, align 4, !tbaa !5
  %16445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16432, ptr noundef @.str.81, i32 noundef %16433, ptr noundef @.str.244, ptr noundef @.str.77, i32 noundef 607, ptr noundef %16436, ptr noundef %16439, ptr noundef %16442, i32 noundef %16444) #11
  br label %16446

16446:                                            ; preds = %16429, %16412
  call void @llvm.lifetime.end.p0(i64 4, ptr %410) #11
  br label %16447

16447:                                            ; preds = %16446
  br label %16448

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

16449:                                            ; No predecessors!
  br label %16450

16450:                                            ; preds = %16449
  br label %16451

16451:                                            ; preds = %16450, %16388
  br label %16452

16452:                                            ; preds = %16451
  br label %16453

16453:                                            ; preds = %16452
  br label %16454

16454:                                            ; preds = %16453, %16383
  br label %16455

16455:                                            ; preds = %16454
  br label %16456

16456:                                            ; preds = %16455
  br label %16457

16457:                                            ; preds = %16456
  %16458 = load i32, ptr @test_count, align 4, !tbaa !5
  %16459 = add nsw i32 %16458, 1
  store i32 %16459, ptr @test_count, align 4, !tbaa !5
  %16460 = load ptr, ptr %388, align 8, !tbaa !9
  %16461 = call i32 @s2n_connection_free(ptr noundef %16460)
  %16462 = icmp eq i32 %16461, -1
  br i1 %16462, label %16463, label %16516

16463:                                            ; preds = %16457
  br label %16464

16464:                                            ; preds = %16463
  br label %16465

16465:                                            ; preds = %16464
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #11
  %16466 = call ptr @__errno_location() #12
  %16467 = load i32, ptr %16466, align 4, !tbaa !5
  store i32 %16467, ptr %411, align 4, !tbaa !5
  %16468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16469 = call i32 @s2n_print_stacktrace(ptr noundef %16468)
  %16470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16471 = trunc i8 %16470 to i1
  br i1 %16471, label %16472, label %16494

16472:                                            ; preds = %16465
  %16473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16474 = call i32 @fileno(ptr noundef %16473) #11
  %16475 = call i32 @isatty(i32 noundef %16474) #11
  %16476 = icmp ne i32 %16475, 0
  br i1 %16476, label %16477, label %16494

16477:                                            ; preds = %16472
  %16478 = load i32, ptr %411, align 4, !tbaa !5
  %16479 = call ptr @__errno_location() #12
  store i32 %16478, ptr %16479, align 4, !tbaa !5
  %16480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16481 = load i32, ptr @test_count, align 4, !tbaa !5
  %16482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16483 = load i32, ptr %16482, align 4, !tbaa !5
  %16484 = call ptr @s2n_strerror(i32 noundef %16483, ptr noundef @.str.80)
  %16485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16486 = load i32, ptr %16485, align 4, !tbaa !5
  %16487 = call ptr @s2n_strerror_debug(i32 noundef %16486, ptr noundef @.str.80)
  %16488 = call ptr @__errno_location() #12
  %16489 = load i32, ptr %16488, align 4, !tbaa !5
  %16490 = call ptr @strerror(i32 noundef %16489) #11
  %16491 = call ptr @__errno_location() #12
  %16492 = load i32, ptr %16491, align 4, !tbaa !5
  %16493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16480, ptr noundef @.str.78, i32 noundef %16481, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 609, ptr noundef %16484, ptr noundef %16487, ptr noundef %16490, i32 noundef %16492) #11
  br label %16511

16494:                                            ; preds = %16472, %16465
  %16495 = load i32, ptr %411, align 4, !tbaa !5
  %16496 = call ptr @__errno_location() #12
  store i32 %16495, ptr %16496, align 4, !tbaa !5
  %16497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16498 = load i32, ptr @test_count, align 4, !tbaa !5
  %16499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16500 = load i32, ptr %16499, align 4, !tbaa !5
  %16501 = call ptr @s2n_strerror(i32 noundef %16500, ptr noundef @.str.80)
  %16502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16503 = load i32, ptr %16502, align 4, !tbaa !5
  %16504 = call ptr @s2n_strerror_debug(i32 noundef %16503, ptr noundef @.str.80)
  %16505 = call ptr @__errno_location() #12
  %16506 = load i32, ptr %16505, align 4, !tbaa !5
  %16507 = call ptr @strerror(i32 noundef %16506) #11
  %16508 = call ptr @__errno_location() #12
  %16509 = load i32, ptr %16508, align 4, !tbaa !5
  %16510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16497, ptr noundef @.str.81, i32 noundef %16498, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 609, ptr noundef %16501, ptr noundef %16504, ptr noundef %16507, i32 noundef %16509) #11
  br label %16511

16511:                                            ; preds = %16494, %16477
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #11
  br label %16512

16512:                                            ; preds = %16511
  br label %16513

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

16514:                                            ; No predecessors!
  br label %16515

16515:                                            ; preds = %16514
  br label %16516

16516:                                            ; preds = %16515, %16457
  br label %16517

16517:                                            ; preds = %16516
  br label %16518

16518:                                            ; preds = %16517
  br label %16519

16519:                                            ; preds = %16518
  %16520 = load i32, ptr @test_count, align 4, !tbaa !5
  %16521 = add nsw i32 %16520, 1
  store i32 %16521, ptr @test_count, align 4, !tbaa !5
  %16522 = call i32 @s2n_stuffer_free(ptr noundef %397)
  %16523 = icmp eq i32 %16522, -1
  br i1 %16523, label %16524, label %16577

16524:                                            ; preds = %16519
  br label %16525

16525:                                            ; preds = %16524
  br label %16526

16526:                                            ; preds = %16525
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #11
  %16527 = call ptr @__errno_location() #12
  %16528 = load i32, ptr %16527, align 4, !tbaa !5
  store i32 %16528, ptr %412, align 4, !tbaa !5
  %16529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16530 = call i32 @s2n_print_stacktrace(ptr noundef %16529)
  %16531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16532 = trunc i8 %16531 to i1
  br i1 %16532, label %16533, label %16555

16533:                                            ; preds = %16526
  %16534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16535 = call i32 @fileno(ptr noundef %16534) #11
  %16536 = call i32 @isatty(i32 noundef %16535) #11
  %16537 = icmp ne i32 %16536, 0
  br i1 %16537, label %16538, label %16555

16538:                                            ; preds = %16533
  %16539 = load i32, ptr %412, align 4, !tbaa !5
  %16540 = call ptr @__errno_location() #12
  store i32 %16539, ptr %16540, align 4, !tbaa !5
  %16541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16542 = load i32, ptr @test_count, align 4, !tbaa !5
  %16543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16544 = load i32, ptr %16543, align 4, !tbaa !5
  %16545 = call ptr @s2n_strerror(i32 noundef %16544, ptr noundef @.str.80)
  %16546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16547 = load i32, ptr %16546, align 4, !tbaa !5
  %16548 = call ptr @s2n_strerror_debug(i32 noundef %16547, ptr noundef @.str.80)
  %16549 = call ptr @__errno_location() #12
  %16550 = load i32, ptr %16549, align 4, !tbaa !5
  %16551 = call ptr @strerror(i32 noundef %16550) #11
  %16552 = call ptr @__errno_location() #12
  %16553 = load i32, ptr %16552, align 4, !tbaa !5
  %16554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16541, ptr noundef @.str.78, i32 noundef %16542, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 610, ptr noundef %16545, ptr noundef %16548, ptr noundef %16551, i32 noundef %16553) #11
  br label %16572

16555:                                            ; preds = %16533, %16526
  %16556 = load i32, ptr %412, align 4, !tbaa !5
  %16557 = call ptr @__errno_location() #12
  store i32 %16556, ptr %16557, align 4, !tbaa !5
  %16558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16559 = load i32, ptr @test_count, align 4, !tbaa !5
  %16560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16561 = load i32, ptr %16560, align 4, !tbaa !5
  %16562 = call ptr @s2n_strerror(i32 noundef %16561, ptr noundef @.str.80)
  %16563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16564 = load i32, ptr %16563, align 4, !tbaa !5
  %16565 = call ptr @s2n_strerror_debug(i32 noundef %16564, ptr noundef @.str.80)
  %16566 = call ptr @__errno_location() #12
  %16567 = load i32, ptr %16566, align 4, !tbaa !5
  %16568 = call ptr @strerror(i32 noundef %16567) #11
  %16569 = call ptr @__errno_location() #12
  %16570 = load i32, ptr %16569, align 4, !tbaa !5
  %16571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16558, ptr noundef @.str.81, i32 noundef %16559, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 610, ptr noundef %16562, ptr noundef %16565, ptr noundef %16568, i32 noundef %16570) #11
  br label %16572

16572:                                            ; preds = %16555, %16538
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #11
  br label %16573

16573:                                            ; preds = %16572
  br label %16574

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

16575:                                            ; No predecessors!
  br label %16576

16576:                                            ; preds = %16575
  br label %16577

16577:                                            ; preds = %16576, %16519
  br label %16578

16578:                                            ; preds = %16577
  br label %16579

16579:                                            ; preds = %16578
  call void @llvm.lifetime.end.p0(i64 8, ptr %408) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %404) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %401) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %397) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %390) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %388) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %413) #11
  store i8 5, ptr %413, align 1, !tbaa !26
  call void @llvm.lifetime.start.p0(i64 8, ptr %414) #11
  store ptr null, ptr %414, align 8, !tbaa !9
  br label %16580

16580:                                            ; preds = %16579
  %16581 = load i32, ptr @test_count, align 4, !tbaa !5
  %16582 = add nsw i32 %16581, 1
  store i32 %16582, ptr @test_count, align 4, !tbaa !5
  %16583 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %16583, ptr %414, align 8, !tbaa !9
  %16584 = icmp eq ptr %16583, null
  br i1 %16584, label %16585, label %16638

16585:                                            ; preds = %16580
  br label %16586

16586:                                            ; preds = %16585
  br label %16587

16587:                                            ; preds = %16586
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #11
  %16588 = call ptr @__errno_location() #12
  %16589 = load i32, ptr %16588, align 4, !tbaa !5
  store i32 %16589, ptr %415, align 4, !tbaa !5
  %16590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16591 = call i32 @s2n_print_stacktrace(ptr noundef %16590)
  %16592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16593 = trunc i8 %16592 to i1
  br i1 %16593, label %16594, label %16616

16594:                                            ; preds = %16587
  %16595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16596 = call i32 @fileno(ptr noundef %16595) #11
  %16597 = call i32 @isatty(i32 noundef %16596) #11
  %16598 = icmp ne i32 %16597, 0
  br i1 %16598, label %16599, label %16616

16599:                                            ; preds = %16594
  %16600 = load i32, ptr %415, align 4, !tbaa !5
  %16601 = call ptr @__errno_location() #12
  store i32 %16600, ptr %16601, align 4, !tbaa !5
  %16602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16603 = load i32, ptr @test_count, align 4, !tbaa !5
  %16604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16605 = load i32, ptr %16604, align 4, !tbaa !5
  %16606 = call ptr @s2n_strerror(i32 noundef %16605, ptr noundef @.str.80)
  %16607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16608 = load i32, ptr %16607, align 4, !tbaa !5
  %16609 = call ptr @s2n_strerror_debug(i32 noundef %16608, ptr noundef @.str.80)
  %16610 = call ptr @__errno_location() #12
  %16611 = load i32, ptr %16610, align 4, !tbaa !5
  %16612 = call ptr @strerror(i32 noundef %16611) #11
  %16613 = call ptr @__errno_location() #12
  %16614 = load i32, ptr %16613, align 4, !tbaa !5
  %16615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16602, ptr noundef @.str.78, i32 noundef %16603, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 618, ptr noundef %16606, ptr noundef %16609, ptr noundef %16612, i32 noundef %16614) #11
  br label %16633

16616:                                            ; preds = %16594, %16587
  %16617 = load i32, ptr %415, align 4, !tbaa !5
  %16618 = call ptr @__errno_location() #12
  store i32 %16617, ptr %16618, align 4, !tbaa !5
  %16619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16620 = load i32, ptr @test_count, align 4, !tbaa !5
  %16621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16622 = load i32, ptr %16621, align 4, !tbaa !5
  %16623 = call ptr @s2n_strerror(i32 noundef %16622, ptr noundef @.str.80)
  %16624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16625 = load i32, ptr %16624, align 4, !tbaa !5
  %16626 = call ptr @s2n_strerror_debug(i32 noundef %16625, ptr noundef @.str.80)
  %16627 = call ptr @__errno_location() #12
  %16628 = load i32, ptr %16627, align 4, !tbaa !5
  %16629 = call ptr @strerror(i32 noundef %16628) #11
  %16630 = call ptr @__errno_location() #12
  %16631 = load i32, ptr %16630, align 4, !tbaa !5
  %16632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16619, ptr noundef @.str.81, i32 noundef %16620, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 618, ptr noundef %16623, ptr noundef %16626, ptr noundef %16629, i32 noundef %16631) #11
  br label %16633

16633:                                            ; preds = %16616, %16599
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #11
  br label %16634

16634:                                            ; preds = %16633
  br label %16635

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

16636:                                            ; No predecessors!
  br label %16637

16637:                                            ; preds = %16636
  br label %16638

16638:                                            ; preds = %16637, %16580
  br label %16639

16639:                                            ; preds = %16638
  br label %16640

16640:                                            ; preds = %16639
  call void @llvm.lifetime.start.p0(i64 1, ptr %416) #11
  store i8 0, ptr %416, align 1, !tbaa !26
  br label %16641

16641:                                            ; preds = %16913, %16640
  %16642 = load i8, ptr %416, align 1, !tbaa !26
  %16643 = zext i8 %16642 to i32
  %16644 = icmp slt i32 %16643, 5
  br i1 %16644, label %16646, label %16645

16645:                                            ; preds = %16641
  store i32 1612, ptr %302, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %416) #11
  br label %16916

16646:                                            ; preds = %16641
  call void @llvm.lifetime.start.p0(i64 8, ptr %417) #11
  store ptr null, ptr %417, align 8, !tbaa !9
  br label %16647

16647:                                            ; preds = %16646
  %16648 = load i32, ptr @test_count, align 4, !tbaa !5
  %16649 = add nsw i32 %16648, 1
  store i32 %16649, ptr @test_count, align 4, !tbaa !5
  %16650 = load ptr, ptr %414, align 8, !tbaa !9
  %16651 = getelementptr inbounds %struct.s2n_connection, ptr %16650, i32 0, i32 33
  %16652 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %16651, i32 0, i32 1
  %16653 = call i32 @s2n_array_pushback(ptr noundef %16652, ptr noundef %417)
  %16654 = getelementptr inbounds %struct.s2n_result, ptr %418, i32 0, i32 0
  store i32 %16653, ptr %16654, align 4
  %16655 = getelementptr inbounds %struct.s2n_result, ptr %418, i32 0, i32 0
  %16656 = load i32, ptr %16655, align 4
  %16657 = call zeroext i1 @s2n_result_is_ok(i32 %16656)
  br i1 %16657, label %16711, label %16658

16658:                                            ; preds = %16647
  br label %16659

16659:                                            ; preds = %16658
  br label %16660

16660:                                            ; preds = %16659
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #11
  %16661 = call ptr @__errno_location() #12
  %16662 = load i32, ptr %16661, align 4, !tbaa !5
  store i32 %16662, ptr %419, align 4, !tbaa !5
  %16663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16664 = call i32 @s2n_print_stacktrace(ptr noundef %16663)
  %16665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16666 = trunc i8 %16665 to i1
  br i1 %16666, label %16667, label %16689

16667:                                            ; preds = %16660
  %16668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16669 = call i32 @fileno(ptr noundef %16668) #11
  %16670 = call i32 @isatty(i32 noundef %16669) #11
  %16671 = icmp ne i32 %16670, 0
  br i1 %16671, label %16672, label %16689

16672:                                            ; preds = %16667
  %16673 = load i32, ptr %419, align 4, !tbaa !5
  %16674 = call ptr @__errno_location() #12
  store i32 %16673, ptr %16674, align 4, !tbaa !5
  %16675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16676 = load i32, ptr @test_count, align 4, !tbaa !5
  %16677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16678 = load i32, ptr %16677, align 4, !tbaa !5
  %16679 = call ptr @s2n_strerror(i32 noundef %16678, ptr noundef @.str.80)
  %16680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16681 = load i32, ptr %16680, align 4, !tbaa !5
  %16682 = call ptr @s2n_strerror_debug(i32 noundef %16681, ptr noundef @.str.80)
  %16683 = call ptr @__errno_location() #12
  %16684 = load i32, ptr %16683, align 4, !tbaa !5
  %16685 = call ptr @strerror(i32 noundef %16684) #11
  %16686 = call ptr @__errno_location() #12
  %16687 = load i32, ptr %16686, align 4, !tbaa !5
  %16688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16675, ptr noundef @.str.78, i32 noundef %16676, ptr noundef @.str.245, ptr noundef @.str.77, i32 noundef 622, ptr noundef %16679, ptr noundef %16682, ptr noundef %16685, i32 noundef %16687) #11
  br label %16706

16689:                                            ; preds = %16667, %16660
  %16690 = load i32, ptr %419, align 4, !tbaa !5
  %16691 = call ptr @__errno_location() #12
  store i32 %16690, ptr %16691, align 4, !tbaa !5
  %16692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16693 = load i32, ptr @test_count, align 4, !tbaa !5
  %16694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16695 = load i32, ptr %16694, align 4, !tbaa !5
  %16696 = call ptr @s2n_strerror(i32 noundef %16695, ptr noundef @.str.80)
  %16697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16698 = load i32, ptr %16697, align 4, !tbaa !5
  %16699 = call ptr @s2n_strerror_debug(i32 noundef %16698, ptr noundef @.str.80)
  %16700 = call ptr @__errno_location() #12
  %16701 = load i32, ptr %16700, align 4, !tbaa !5
  %16702 = call ptr @strerror(i32 noundef %16701) #11
  %16703 = call ptr @__errno_location() #12
  %16704 = load i32, ptr %16703, align 4, !tbaa !5
  %16705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16692, ptr noundef @.str.81, i32 noundef %16693, ptr noundef @.str.245, ptr noundef @.str.77, i32 noundef 622, ptr noundef %16696, ptr noundef %16699, ptr noundef %16702, i32 noundef %16704) #11
  br label %16706

16706:                                            ; preds = %16689, %16672
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #11
  br label %16707

16707:                                            ; preds = %16706
  br label %16708

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

16709:                                            ; No predecessors!
  br label %16710

16710:                                            ; preds = %16709
  br label %16711

16711:                                            ; preds = %16710, %16647
  br label %16712

16712:                                            ; preds = %16711
  br label %16713

16713:                                            ; preds = %16712
  br label %16714

16714:                                            ; preds = %16713
  %16715 = load i32, ptr @test_count, align 4, !tbaa !5
  %16716 = add nsw i32 %16715, 1
  store i32 %16716, ptr @test_count, align 4, !tbaa !5
  %16717 = load ptr, ptr %417, align 8, !tbaa !9
  %16718 = call i32 @s2n_psk_init(ptr noundef %16717, i32 noundef 0)
  %16719 = getelementptr inbounds %struct.s2n_result, ptr %420, i32 0, i32 0
  store i32 %16718, ptr %16719, align 4
  %16720 = getelementptr inbounds %struct.s2n_result, ptr %420, i32 0, i32 0
  %16721 = load i32, ptr %16720, align 4
  %16722 = call zeroext i1 @s2n_result_is_ok(i32 %16721)
  br i1 %16722, label %16776, label %16723

16723:                                            ; preds = %16714
  br label %16724

16724:                                            ; preds = %16723
  br label %16725

16725:                                            ; preds = %16724
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #11
  %16726 = call ptr @__errno_location() #12
  %16727 = load i32, ptr %16726, align 4, !tbaa !5
  store i32 %16727, ptr %421, align 4, !tbaa !5
  %16728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16729 = call i32 @s2n_print_stacktrace(ptr noundef %16728)
  %16730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16731 = trunc i8 %16730 to i1
  br i1 %16731, label %16732, label %16754

16732:                                            ; preds = %16725
  %16733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16734 = call i32 @fileno(ptr noundef %16733) #11
  %16735 = call i32 @isatty(i32 noundef %16734) #11
  %16736 = icmp ne i32 %16735, 0
  br i1 %16736, label %16737, label %16754

16737:                                            ; preds = %16732
  %16738 = load i32, ptr %421, align 4, !tbaa !5
  %16739 = call ptr @__errno_location() #12
  store i32 %16738, ptr %16739, align 4, !tbaa !5
  %16740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16741 = load i32, ptr @test_count, align 4, !tbaa !5
  %16742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16743 = load i32, ptr %16742, align 4, !tbaa !5
  %16744 = call ptr @s2n_strerror(i32 noundef %16743, ptr noundef @.str.80)
  %16745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16746 = load i32, ptr %16745, align 4, !tbaa !5
  %16747 = call ptr @s2n_strerror_debug(i32 noundef %16746, ptr noundef @.str.80)
  %16748 = call ptr @__errno_location() #12
  %16749 = load i32, ptr %16748, align 4, !tbaa !5
  %16750 = call ptr @strerror(i32 noundef %16749) #11
  %16751 = call ptr @__errno_location() #12
  %16752 = load i32, ptr %16751, align 4, !tbaa !5
  %16753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16740, ptr noundef @.str.78, i32 noundef %16741, ptr noundef @.str.246, ptr noundef @.str.77, i32 noundef 623, ptr noundef %16744, ptr noundef %16747, ptr noundef %16750, i32 noundef %16752) #11
  br label %16771

16754:                                            ; preds = %16732, %16725
  %16755 = load i32, ptr %421, align 4, !tbaa !5
  %16756 = call ptr @__errno_location() #12
  store i32 %16755, ptr %16756, align 4, !tbaa !5
  %16757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16758 = load i32, ptr @test_count, align 4, !tbaa !5
  %16759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16760 = load i32, ptr %16759, align 4, !tbaa !5
  %16761 = call ptr @s2n_strerror(i32 noundef %16760, ptr noundef @.str.80)
  %16762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16763 = load i32, ptr %16762, align 4, !tbaa !5
  %16764 = call ptr @s2n_strerror_debug(i32 noundef %16763, ptr noundef @.str.80)
  %16765 = call ptr @__errno_location() #12
  %16766 = load i32, ptr %16765, align 4, !tbaa !5
  %16767 = call ptr @strerror(i32 noundef %16766) #11
  %16768 = call ptr @__errno_location() #12
  %16769 = load i32, ptr %16768, align 4, !tbaa !5
  %16770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16757, ptr noundef @.str.81, i32 noundef %16758, ptr noundef @.str.246, ptr noundef @.str.77, i32 noundef 623, ptr noundef %16761, ptr noundef %16764, ptr noundef %16767, i32 noundef %16769) #11
  br label %16771

16771:                                            ; preds = %16754, %16737
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #11
  br label %16772

16772:                                            ; preds = %16771
  br label %16773

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

16774:                                            ; No predecessors!
  br label %16775

16775:                                            ; preds = %16774
  br label %16776

16776:                                            ; preds = %16775, %16714
  br label %16777

16777:                                            ; preds = %16776
  br label %16778

16778:                                            ; preds = %16777
  br label %16779

16779:                                            ; preds = %16778
  %16780 = load i32, ptr @test_count, align 4, !tbaa !5
  %16781 = add nsw i32 %16780, 1
  store i32 %16781, ptr @test_count, align 4, !tbaa !5
  %16782 = load ptr, ptr %417, align 8, !tbaa !9
  %16783 = getelementptr inbounds %struct.s2n_blob, ptr %300, i32 0, i32 0
  %16784 = load ptr, ptr %16783, align 8, !tbaa !80
  %16785 = getelementptr inbounds %struct.s2n_blob, ptr %300, i32 0, i32 1
  %16786 = load i32, ptr %16785, align 8, !tbaa !79
  %16787 = trunc i32 %16786 to i16
  %16788 = call i32 @s2n_psk_set_identity(ptr noundef %16782, ptr noundef %16784, i16 noundef zeroext %16787)
  %16789 = icmp eq i32 %16788, -1
  br i1 %16789, label %16790, label %16843

16790:                                            ; preds = %16779
  br label %16791

16791:                                            ; preds = %16790
  br label %16792

16792:                                            ; preds = %16791
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #11
  %16793 = call ptr @__errno_location() #12
  %16794 = load i32, ptr %16793, align 4, !tbaa !5
  store i32 %16794, ptr %422, align 4, !tbaa !5
  %16795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16796 = call i32 @s2n_print_stacktrace(ptr noundef %16795)
  %16797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16798 = trunc i8 %16797 to i1
  br i1 %16798, label %16799, label %16821

16799:                                            ; preds = %16792
  %16800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16801 = call i32 @fileno(ptr noundef %16800) #11
  %16802 = call i32 @isatty(i32 noundef %16801) #11
  %16803 = icmp ne i32 %16802, 0
  br i1 %16803, label %16804, label %16821

16804:                                            ; preds = %16799
  %16805 = load i32, ptr %422, align 4, !tbaa !5
  %16806 = call ptr @__errno_location() #12
  store i32 %16805, ptr %16806, align 4, !tbaa !5
  %16807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16808 = load i32, ptr @test_count, align 4, !tbaa !5
  %16809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16810 = load i32, ptr %16809, align 4, !tbaa !5
  %16811 = call ptr @s2n_strerror(i32 noundef %16810, ptr noundef @.str.80)
  %16812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16813 = load i32, ptr %16812, align 4, !tbaa !5
  %16814 = call ptr @s2n_strerror_debug(i32 noundef %16813, ptr noundef @.str.80)
  %16815 = call ptr @__errno_location() #12
  %16816 = load i32, ptr %16815, align 4, !tbaa !5
  %16817 = call ptr @strerror(i32 noundef %16816) #11
  %16818 = call ptr @__errno_location() #12
  %16819 = load i32, ptr %16818, align 4, !tbaa !5
  %16820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16807, ptr noundef @.str.78, i32 noundef %16808, ptr noundef @.str.247, ptr noundef @.str.77, i32 noundef 624, ptr noundef %16811, ptr noundef %16814, ptr noundef %16817, i32 noundef %16819) #11
  br label %16838

16821:                                            ; preds = %16799, %16792
  %16822 = load i32, ptr %422, align 4, !tbaa !5
  %16823 = call ptr @__errno_location() #12
  store i32 %16822, ptr %16823, align 4, !tbaa !5
  %16824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16825 = load i32, ptr @test_count, align 4, !tbaa !5
  %16826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16827 = load i32, ptr %16826, align 4, !tbaa !5
  %16828 = call ptr @s2n_strerror(i32 noundef %16827, ptr noundef @.str.80)
  %16829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16830 = load i32, ptr %16829, align 4, !tbaa !5
  %16831 = call ptr @s2n_strerror_debug(i32 noundef %16830, ptr noundef @.str.80)
  %16832 = call ptr @__errno_location() #12
  %16833 = load i32, ptr %16832, align 4, !tbaa !5
  %16834 = call ptr @strerror(i32 noundef %16833) #11
  %16835 = call ptr @__errno_location() #12
  %16836 = load i32, ptr %16835, align 4, !tbaa !5
  %16837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16824, ptr noundef @.str.81, i32 noundef %16825, ptr noundef @.str.247, ptr noundef @.str.77, i32 noundef 624, ptr noundef %16828, ptr noundef %16831, ptr noundef %16834, i32 noundef %16836) #11
  br label %16838

16838:                                            ; preds = %16821, %16804
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #11
  br label %16839

16839:                                            ; preds = %16838
  br label %16840

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

16841:                                            ; No predecessors!
  br label %16842

16842:                                            ; preds = %16841
  br label %16843

16843:                                            ; preds = %16842, %16779
  br label %16844

16844:                                            ; preds = %16843
  br label %16845

16845:                                            ; preds = %16844
  br label %16846

16846:                                            ; preds = %16845
  %16847 = load i32, ptr @test_count, align 4, !tbaa !5
  %16848 = add nsw i32 %16847, 1
  store i32 %16848, ptr @test_count, align 4, !tbaa !5
  %16849 = load ptr, ptr %417, align 8, !tbaa !9
  %16850 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 0
  %16851 = load ptr, ptr %16850, align 8, !tbaa !80
  %16852 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 1
  %16853 = load i32, ptr %16852, align 8, !tbaa !79
  %16854 = trunc i32 %16853 to i16
  %16855 = call i32 @s2n_psk_set_secret(ptr noundef %16849, ptr noundef %16851, i16 noundef zeroext %16854)
  %16856 = icmp eq i32 %16855, -1
  br i1 %16856, label %16857, label %16910

16857:                                            ; preds = %16846
  br label %16858

16858:                                            ; preds = %16857
  br label %16859

16859:                                            ; preds = %16858
  call void @llvm.lifetime.start.p0(i64 4, ptr %423) #11
  %16860 = call ptr @__errno_location() #12
  %16861 = load i32, ptr %16860, align 4, !tbaa !5
  store i32 %16861, ptr %423, align 4, !tbaa !5
  %16862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16863 = call i32 @s2n_print_stacktrace(ptr noundef %16862)
  %16864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16865 = trunc i8 %16864 to i1
  br i1 %16865, label %16866, label %16888

16866:                                            ; preds = %16859
  %16867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16868 = call i32 @fileno(ptr noundef %16867) #11
  %16869 = call i32 @isatty(i32 noundef %16868) #11
  %16870 = icmp ne i32 %16869, 0
  br i1 %16870, label %16871, label %16888

16871:                                            ; preds = %16866
  %16872 = load i32, ptr %423, align 4, !tbaa !5
  %16873 = call ptr @__errno_location() #12
  store i32 %16872, ptr %16873, align 4, !tbaa !5
  %16874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16875 = load i32, ptr @test_count, align 4, !tbaa !5
  %16876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16877 = load i32, ptr %16876, align 4, !tbaa !5
  %16878 = call ptr @s2n_strerror(i32 noundef %16877, ptr noundef @.str.80)
  %16879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16880 = load i32, ptr %16879, align 4, !tbaa !5
  %16881 = call ptr @s2n_strerror_debug(i32 noundef %16880, ptr noundef @.str.80)
  %16882 = call ptr @__errno_location() #12
  %16883 = load i32, ptr %16882, align 4, !tbaa !5
  %16884 = call ptr @strerror(i32 noundef %16883) #11
  %16885 = call ptr @__errno_location() #12
  %16886 = load i32, ptr %16885, align 4, !tbaa !5
  %16887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16874, ptr noundef @.str.78, i32 noundef %16875, ptr noundef @.str.248, ptr noundef @.str.77, i32 noundef 625, ptr noundef %16878, ptr noundef %16881, ptr noundef %16884, i32 noundef %16886) #11
  br label %16905

16888:                                            ; preds = %16866, %16859
  %16889 = load i32, ptr %423, align 4, !tbaa !5
  %16890 = call ptr @__errno_location() #12
  store i32 %16889, ptr %16890, align 4, !tbaa !5
  %16891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16892 = load i32, ptr @test_count, align 4, !tbaa !5
  %16893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16894 = load i32, ptr %16893, align 4, !tbaa !5
  %16895 = call ptr @s2n_strerror(i32 noundef %16894, ptr noundef @.str.80)
  %16896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16897 = load i32, ptr %16896, align 4, !tbaa !5
  %16898 = call ptr @s2n_strerror_debug(i32 noundef %16897, ptr noundef @.str.80)
  %16899 = call ptr @__errno_location() #12
  %16900 = load i32, ptr %16899, align 4, !tbaa !5
  %16901 = call ptr @strerror(i32 noundef %16900) #11
  %16902 = call ptr @__errno_location() #12
  %16903 = load i32, ptr %16902, align 4, !tbaa !5
  %16904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16891, ptr noundef @.str.81, i32 noundef %16892, ptr noundef @.str.248, ptr noundef @.str.77, i32 noundef 625, ptr noundef %16895, ptr noundef %16898, ptr noundef %16901, i32 noundef %16903) #11
  br label %16905

16905:                                            ; preds = %16888, %16871
  call void @llvm.lifetime.end.p0(i64 4, ptr %423) #11
  br label %16906

16906:                                            ; preds = %16905
  br label %16907

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

16908:                                            ; No predecessors!
  br label %16909

16909:                                            ; preds = %16908
  br label %16910

16910:                                            ; preds = %16909, %16846
  br label %16911

16911:                                            ; preds = %16910
  br label %16912

16912:                                            ; preds = %16911
  call void @llvm.lifetime.end.p0(i64 8, ptr %417) #11
  br label %16913

16913:                                            ; preds = %16912
  %16914 = load i8, ptr %416, align 1, !tbaa !26
  %16915 = add i8 %16914, 1
  store i8 %16915, ptr %416, align 1, !tbaa !26
  br label %16641, !llvm.loop !81

16916:                                            ; preds = %16645
  call void @llvm.lifetime.start.p0(i64 40, ptr %424) #11
  call void @llvm.memset.p0.i64(ptr align 8 %424, i8 0, i64 40, i1 false)
  br label %16917

16917:                                            ; preds = %16916
  %16918 = load i32, ptr @test_count, align 4, !tbaa !5
  %16919 = add nsw i32 %16918, 1
  store i32 %16919, ptr @test_count, align 4, !tbaa !5
  %16920 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %424, i32 noundef 0)
  %16921 = icmp eq i32 %16920, -1
  br i1 %16921, label %16922, label %16975

16922:                                            ; preds = %16917
  br label %16923

16923:                                            ; preds = %16922
  br label %16924

16924:                                            ; preds = %16923
  call void @llvm.lifetime.start.p0(i64 4, ptr %425) #11
  %16925 = call ptr @__errno_location() #12
  %16926 = load i32, ptr %16925, align 4, !tbaa !5
  store i32 %16926, ptr %425, align 4, !tbaa !5
  %16927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16928 = call i32 @s2n_print_stacktrace(ptr noundef %16927)
  %16929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16930 = trunc i8 %16929 to i1
  br i1 %16930, label %16931, label %16953

16931:                                            ; preds = %16924
  %16932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16933 = call i32 @fileno(ptr noundef %16932) #11
  %16934 = call i32 @isatty(i32 noundef %16933) #11
  %16935 = icmp ne i32 %16934, 0
  br i1 %16935, label %16936, label %16953

16936:                                            ; preds = %16931
  %16937 = load i32, ptr %425, align 4, !tbaa !5
  %16938 = call ptr @__errno_location() #12
  store i32 %16937, ptr %16938, align 4, !tbaa !5
  %16939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16940 = load i32, ptr @test_count, align 4, !tbaa !5
  %16941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16942 = load i32, ptr %16941, align 4, !tbaa !5
  %16943 = call ptr @s2n_strerror(i32 noundef %16942, ptr noundef @.str.80)
  %16944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16945 = load i32, ptr %16944, align 4, !tbaa !5
  %16946 = call ptr @s2n_strerror_debug(i32 noundef %16945, ptr noundef @.str.80)
  %16947 = call ptr @__errno_location() #12
  %16948 = load i32, ptr %16947, align 4, !tbaa !5
  %16949 = call ptr @strerror(i32 noundef %16948) #11
  %16950 = call ptr @__errno_location() #12
  %16951 = load i32, ptr %16950, align 4, !tbaa !5
  %16952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16939, ptr noundef @.str.78, i32 noundef %16940, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 629, ptr noundef %16943, ptr noundef %16946, ptr noundef %16949, i32 noundef %16951) #11
  br label %16970

16953:                                            ; preds = %16931, %16924
  %16954 = load i32, ptr %425, align 4, !tbaa !5
  %16955 = call ptr @__errno_location() #12
  store i32 %16954, ptr %16955, align 4, !tbaa !5
  %16956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16957 = load i32, ptr @test_count, align 4, !tbaa !5
  %16958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16959 = load i32, ptr %16958, align 4, !tbaa !5
  %16960 = call ptr @s2n_strerror(i32 noundef %16959, ptr noundef @.str.80)
  %16961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16962 = load i32, ptr %16961, align 4, !tbaa !5
  %16963 = call ptr @s2n_strerror_debug(i32 noundef %16962, ptr noundef @.str.80)
  %16964 = call ptr @__errno_location() #12
  %16965 = load i32, ptr %16964, align 4, !tbaa !5
  %16966 = call ptr @strerror(i32 noundef %16965) #11
  %16967 = call ptr @__errno_location() #12
  %16968 = load i32, ptr %16967, align 4, !tbaa !5
  %16969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16956, ptr noundef @.str.81, i32 noundef %16957, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 629, ptr noundef %16960, ptr noundef %16963, ptr noundef %16966, i32 noundef %16968) #11
  br label %16970

16970:                                            ; preds = %16953, %16936
  call void @llvm.lifetime.end.p0(i64 4, ptr %425) #11
  br label %16971

16971:                                            ; preds = %16970
  br label %16972

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

16973:                                            ; No predecessors!
  br label %16974

16974:                                            ; preds = %16973
  br label %16975

16975:                                            ; preds = %16974, %16917
  br label %16976

16976:                                            ; preds = %16975
  br label %16977

16977:                                            ; preds = %16976
  br label %16978

16978:                                            ; preds = %16977
  %16979 = load i32, ptr @test_count, align 4, !tbaa !5
  %16980 = add nsw i32 %16979, 1
  store i32 %16980, ptr @test_count, align 4, !tbaa !5
  %16981 = load ptr, ptr %414, align 8, !tbaa !9
  %16982 = call i32 @s2n_psk_write_binder_list(ptr noundef %16981, ptr noundef %303, ptr noundef %424)
  %16983 = getelementptr inbounds %struct.s2n_result, ptr %426, i32 0, i32 0
  store i32 %16982, ptr %16983, align 4
  %16984 = getelementptr inbounds %struct.s2n_result, ptr %426, i32 0, i32 0
  %16985 = load i32, ptr %16984, align 4
  %16986 = call zeroext i1 @s2n_result_is_ok(i32 %16985)
  br i1 %16986, label %17040, label %16987

16987:                                            ; preds = %16978
  br label %16988

16988:                                            ; preds = %16987
  br label %16989

16989:                                            ; preds = %16988
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #11
  %16990 = call ptr @__errno_location() #12
  %16991 = load i32, ptr %16990, align 4, !tbaa !5
  store i32 %16991, ptr %427, align 4, !tbaa !5
  %16992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16993 = call i32 @s2n_print_stacktrace(ptr noundef %16992)
  %16994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16995 = trunc i8 %16994 to i1
  br i1 %16995, label %16996, label %17018

16996:                                            ; preds = %16989
  %16997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16998 = call i32 @fileno(ptr noundef %16997) #11
  %16999 = call i32 @isatty(i32 noundef %16998) #11
  %17000 = icmp ne i32 %16999, 0
  br i1 %17000, label %17001, label %17018

17001:                                            ; preds = %16996
  %17002 = load i32, ptr %427, align 4, !tbaa !5
  %17003 = call ptr @__errno_location() #12
  store i32 %17002, ptr %17003, align 4, !tbaa !5
  %17004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17005 = load i32, ptr @test_count, align 4, !tbaa !5
  %17006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17007 = load i32, ptr %17006, align 4, !tbaa !5
  %17008 = call ptr @s2n_strerror(i32 noundef %17007, ptr noundef @.str.80)
  %17009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17010 = load i32, ptr %17009, align 4, !tbaa !5
  %17011 = call ptr @s2n_strerror_debug(i32 noundef %17010, ptr noundef @.str.80)
  %17012 = call ptr @__errno_location() #12
  %17013 = load i32, ptr %17012, align 4, !tbaa !5
  %17014 = call ptr @strerror(i32 noundef %17013) #11
  %17015 = call ptr @__errno_location() #12
  %17016 = load i32, ptr %17015, align 4, !tbaa !5
  %17017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17004, ptr noundef @.str.78, i32 noundef %17005, ptr noundef @.str.205, ptr noundef @.str.77, i32 noundef 631, ptr noundef %17008, ptr noundef %17011, ptr noundef %17014, i32 noundef %17016) #11
  br label %17035

17018:                                            ; preds = %16996, %16989
  %17019 = load i32, ptr %427, align 4, !tbaa !5
  %17020 = call ptr @__errno_location() #12
  store i32 %17019, ptr %17020, align 4, !tbaa !5
  %17021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17022 = load i32, ptr @test_count, align 4, !tbaa !5
  %17023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17024 = load i32, ptr %17023, align 4, !tbaa !5
  %17025 = call ptr @s2n_strerror(i32 noundef %17024, ptr noundef @.str.80)
  %17026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17027 = load i32, ptr %17026, align 4, !tbaa !5
  %17028 = call ptr @s2n_strerror_debug(i32 noundef %17027, ptr noundef @.str.80)
  %17029 = call ptr @__errno_location() #12
  %17030 = load i32, ptr %17029, align 4, !tbaa !5
  %17031 = call ptr @strerror(i32 noundef %17030) #11
  %17032 = call ptr @__errno_location() #12
  %17033 = load i32, ptr %17032, align 4, !tbaa !5
  %17034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17021, ptr noundef @.str.81, i32 noundef %17022, ptr noundef @.str.205, ptr noundef @.str.77, i32 noundef 631, ptr noundef %17025, ptr noundef %17028, ptr noundef %17031, i32 noundef %17033) #11
  br label %17035

17035:                                            ; preds = %17018, %17001
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #11
  br label %17036

17036:                                            ; preds = %17035
  br label %17037

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

17038:                                            ; No predecessors!
  br label %17039

17039:                                            ; preds = %17038
  br label %17040

17040:                                            ; preds = %17039, %16978
  br label %17041

17041:                                            ; preds = %17040
  br label %17042

17042:                                            ; preds = %17041
  call void @llvm.lifetime.start.p0(i64 2, ptr %428) #11
  store i16 0, ptr %428, align 2, !tbaa !66
  br label %17043

17043:                                            ; preds = %17042
  %17044 = load i32, ptr @test_count, align 4, !tbaa !5
  %17045 = add nsw i32 %17044, 1
  store i32 %17045, ptr @test_count, align 4, !tbaa !5
  %17046 = call i32 @s2n_stuffer_read_uint16(ptr noundef %424, ptr noundef %428)
  %17047 = icmp eq i32 %17046, -1
  br i1 %17047, label %17048, label %17101

17048:                                            ; preds = %17043
  br label %17049

17049:                                            ; preds = %17048
  br label %17050

17050:                                            ; preds = %17049
  call void @llvm.lifetime.start.p0(i64 4, ptr %429) #11
  %17051 = call ptr @__errno_location() #12
  %17052 = load i32, ptr %17051, align 4, !tbaa !5
  store i32 %17052, ptr %429, align 4, !tbaa !5
  %17053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17054 = call i32 @s2n_print_stacktrace(ptr noundef %17053)
  %17055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17056 = trunc i8 %17055 to i1
  br i1 %17056, label %17057, label %17079

17057:                                            ; preds = %17050
  %17058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17059 = call i32 @fileno(ptr noundef %17058) #11
  %17060 = call i32 @isatty(i32 noundef %17059) #11
  %17061 = icmp ne i32 %17060, 0
  br i1 %17061, label %17062, label %17079

17062:                                            ; preds = %17057
  %17063 = load i32, ptr %429, align 4, !tbaa !5
  %17064 = call ptr @__errno_location() #12
  store i32 %17063, ptr %17064, align 4, !tbaa !5
  %17065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17066 = load i32, ptr @test_count, align 4, !tbaa !5
  %17067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17068 = load i32, ptr %17067, align 4, !tbaa !5
  %17069 = call ptr @s2n_strerror(i32 noundef %17068, ptr noundef @.str.80)
  %17070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17071 = load i32, ptr %17070, align 4, !tbaa !5
  %17072 = call ptr @s2n_strerror_debug(i32 noundef %17071, ptr noundef @.str.80)
  %17073 = call ptr @__errno_location() #12
  %17074 = load i32, ptr %17073, align 4, !tbaa !5
  %17075 = call ptr @strerror(i32 noundef %17074) #11
  %17076 = call ptr @__errno_location() #12
  %17077 = load i32, ptr %17076, align 4, !tbaa !5
  %17078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17065, ptr noundef @.str.78, i32 noundef %17066, ptr noundef @.str.206, ptr noundef @.str.77, i32 noundef 634, ptr noundef %17069, ptr noundef %17072, ptr noundef %17075, i32 noundef %17077) #11
  br label %17096

17079:                                            ; preds = %17057, %17050
  %17080 = load i32, ptr %429, align 4, !tbaa !5
  %17081 = call ptr @__errno_location() #12
  store i32 %17080, ptr %17081, align 4, !tbaa !5
  %17082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17083 = load i32, ptr @test_count, align 4, !tbaa !5
  %17084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17085 = load i32, ptr %17084, align 4, !tbaa !5
  %17086 = call ptr @s2n_strerror(i32 noundef %17085, ptr noundef @.str.80)
  %17087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17088 = load i32, ptr %17087, align 4, !tbaa !5
  %17089 = call ptr @s2n_strerror_debug(i32 noundef %17088, ptr noundef @.str.80)
  %17090 = call ptr @__errno_location() #12
  %17091 = load i32, ptr %17090, align 4, !tbaa !5
  %17092 = call ptr @strerror(i32 noundef %17091) #11
  %17093 = call ptr @__errno_location() #12
  %17094 = load i32, ptr %17093, align 4, !tbaa !5
  %17095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17082, ptr noundef @.str.81, i32 noundef %17083, ptr noundef @.str.206, ptr noundef @.str.77, i32 noundef 634, ptr noundef %17086, ptr noundef %17089, ptr noundef %17092, i32 noundef %17094) #11
  br label %17096

17096:                                            ; preds = %17079, %17062
  call void @llvm.lifetime.end.p0(i64 4, ptr %429) #11
  br label %17097

17097:                                            ; preds = %17096
  br label %17098

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

17099:                                            ; No predecessors!
  br label %17100

17100:                                            ; preds = %17099
  br label %17101

17101:                                            ; preds = %17100, %17043
  br label %17102

17102:                                            ; preds = %17101
  br label %17103

17103:                                            ; preds = %17102
  br label %17104

17104:                                            ; preds = %17103
  %17105 = load i32, ptr @test_count, align 4, !tbaa !5
  %17106 = add nsw i32 %17105, 1
  store i32 %17106, ptr @test_count, align 4, !tbaa !5
  %17107 = load i16, ptr %428, align 2, !tbaa !66
  %17108 = zext i16 %17107 to i32
  %17109 = getelementptr inbounds %struct.s2n_stuffer, ptr %424, i32 0, i32 2
  %17110 = load i32, ptr %17109, align 4, !tbaa !67
  %17111 = getelementptr inbounds %struct.s2n_stuffer, ptr %424, i32 0, i32 1
  %17112 = load i32, ptr %17111, align 8, !tbaa !68
  %17113 = sub i32 %17110, %17112
  %17114 = icmp eq i32 %17108, %17113
  br i1 %17114, label %17168, label %17115

17115:                                            ; preds = %17104
  br label %17116

17116:                                            ; preds = %17115
  br label %17117

17117:                                            ; preds = %17116
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #11
  %17118 = call ptr @__errno_location() #12
  %17119 = load i32, ptr %17118, align 4, !tbaa !5
  store i32 %17119, ptr %430, align 4, !tbaa !5
  %17120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17121 = call i32 @s2n_print_stacktrace(ptr noundef %17120)
  %17122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17123 = trunc i8 %17122 to i1
  br i1 %17123, label %17124, label %17146

17124:                                            ; preds = %17117
  %17125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17126 = call i32 @fileno(ptr noundef %17125) #11
  %17127 = call i32 @isatty(i32 noundef %17126) #11
  %17128 = icmp ne i32 %17127, 0
  br i1 %17128, label %17129, label %17146

17129:                                            ; preds = %17124
  %17130 = load i32, ptr %430, align 4, !tbaa !5
  %17131 = call ptr @__errno_location() #12
  store i32 %17130, ptr %17131, align 4, !tbaa !5
  %17132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17133 = load i32, ptr @test_count, align 4, !tbaa !5
  %17134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17135 = load i32, ptr %17134, align 4, !tbaa !5
  %17136 = call ptr @s2n_strerror(i32 noundef %17135, ptr noundef @.str.80)
  %17137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17138 = load i32, ptr %17137, align 4, !tbaa !5
  %17139 = call ptr @s2n_strerror_debug(i32 noundef %17138, ptr noundef @.str.80)
  %17140 = call ptr @__errno_location() #12
  %17141 = load i32, ptr %17140, align 4, !tbaa !5
  %17142 = call ptr @strerror(i32 noundef %17141) #11
  %17143 = call ptr @__errno_location() #12
  %17144 = load i32, ptr %17143, align 4, !tbaa !5
  %17145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17132, ptr noundef @.str.78, i32 noundef %17133, ptr noundef @.str.207, ptr noundef @.str.77, i32 noundef 635, ptr noundef %17136, ptr noundef %17139, ptr noundef %17142, i32 noundef %17144) #11
  br label %17163

17146:                                            ; preds = %17124, %17117
  %17147 = load i32, ptr %430, align 4, !tbaa !5
  %17148 = call ptr @__errno_location() #12
  store i32 %17147, ptr %17148, align 4, !tbaa !5
  %17149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17150 = load i32, ptr @test_count, align 4, !tbaa !5
  %17151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17152 = load i32, ptr %17151, align 4, !tbaa !5
  %17153 = call ptr @s2n_strerror(i32 noundef %17152, ptr noundef @.str.80)
  %17154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17155 = load i32, ptr %17154, align 4, !tbaa !5
  %17156 = call ptr @s2n_strerror_debug(i32 noundef %17155, ptr noundef @.str.80)
  %17157 = call ptr @__errno_location() #12
  %17158 = load i32, ptr %17157, align 4, !tbaa !5
  %17159 = call ptr @strerror(i32 noundef %17158) #11
  %17160 = call ptr @__errno_location() #12
  %17161 = load i32, ptr %17160, align 4, !tbaa !5
  %17162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17149, ptr noundef @.str.81, i32 noundef %17150, ptr noundef @.str.207, ptr noundef @.str.77, i32 noundef 635, ptr noundef %17153, ptr noundef %17156, ptr noundef %17159, i32 noundef %17161) #11
  br label %17163

17163:                                            ; preds = %17146, %17129
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #11
  br label %17164

17164:                                            ; preds = %17163
  br label %17165

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

17166:                                            ; No predecessors!
  br label %17167

17167:                                            ; preds = %17166
  br label %17168

17168:                                            ; preds = %17167, %17104
  br label %17169

17169:                                            ; preds = %17168
  br label %17170

17170:                                            ; preds = %17169
  call void @llvm.lifetime.start.p0(i64 1, ptr %431) #11
  store i8 0, ptr %431, align 1, !tbaa !26
  br label %17171

17171:                                            ; preds = %17439, %17170
  %17172 = load i8, ptr %431, align 1, !tbaa !26
  %17173 = zext i8 %17172 to i32
  %17174 = icmp slt i32 %17173, 5
  br i1 %17174, label %17176, label %17175

17175:                                            ; preds = %17171
  store i32 1663, ptr %302, align 4
  call void @llvm.lifetime.end.p0(i64 1, ptr %431) #11
  br label %17442

17176:                                            ; preds = %17171
  call void @llvm.lifetime.start.p0(i64 1, ptr %432) #11
  store i8 0, ptr %432, align 1, !tbaa !26
  br label %17177

17177:                                            ; preds = %17176
  %17178 = load i32, ptr @test_count, align 4, !tbaa !5
  %17179 = add nsw i32 %17178, 1
  store i32 %17179, ptr @test_count, align 4, !tbaa !5
  %17180 = call i32 @s2n_stuffer_read_uint8(ptr noundef %424, ptr noundef %432)
  %17181 = icmp eq i32 %17180, -1
  br i1 %17181, label %17182, label %17235

17182:                                            ; preds = %17177
  br label %17183

17183:                                            ; preds = %17182
  br label %17184

17184:                                            ; preds = %17183
  call void @llvm.lifetime.start.p0(i64 4, ptr %433) #11
  %17185 = call ptr @__errno_location() #12
  %17186 = load i32, ptr %17185, align 4, !tbaa !5
  store i32 %17186, ptr %433, align 4, !tbaa !5
  %17187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17188 = call i32 @s2n_print_stacktrace(ptr noundef %17187)
  %17189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17190 = trunc i8 %17189 to i1
  br i1 %17190, label %17191, label %17213

17191:                                            ; preds = %17184
  %17192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17193 = call i32 @fileno(ptr noundef %17192) #11
  %17194 = call i32 @isatty(i32 noundef %17193) #11
  %17195 = icmp ne i32 %17194, 0
  br i1 %17195, label %17196, label %17213

17196:                                            ; preds = %17191
  %17197 = load i32, ptr %433, align 4, !tbaa !5
  %17198 = call ptr @__errno_location() #12
  store i32 %17197, ptr %17198, align 4, !tbaa !5
  %17199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17200 = load i32, ptr @test_count, align 4, !tbaa !5
  %17201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17202 = load i32, ptr %17201, align 4, !tbaa !5
  %17203 = call ptr @s2n_strerror(i32 noundef %17202, ptr noundef @.str.80)
  %17204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17205 = load i32, ptr %17204, align 4, !tbaa !5
  %17206 = call ptr @s2n_strerror_debug(i32 noundef %17205, ptr noundef @.str.80)
  %17207 = call ptr @__errno_location() #12
  %17208 = load i32, ptr %17207, align 4, !tbaa !5
  %17209 = call ptr @strerror(i32 noundef %17208) #11
  %17210 = call ptr @__errno_location() #12
  %17211 = load i32, ptr %17210, align 4, !tbaa !5
  %17212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17199, ptr noundef @.str.78, i32 noundef %17200, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 639, ptr noundef %17203, ptr noundef %17206, ptr noundef %17209, i32 noundef %17211) #11
  br label %17230

17213:                                            ; preds = %17191, %17184
  %17214 = load i32, ptr %433, align 4, !tbaa !5
  %17215 = call ptr @__errno_location() #12
  store i32 %17214, ptr %17215, align 4, !tbaa !5
  %17216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17217 = load i32, ptr @test_count, align 4, !tbaa !5
  %17218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17219 = load i32, ptr %17218, align 4, !tbaa !5
  %17220 = call ptr @s2n_strerror(i32 noundef %17219, ptr noundef @.str.80)
  %17221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17222 = load i32, ptr %17221, align 4, !tbaa !5
  %17223 = call ptr @s2n_strerror_debug(i32 noundef %17222, ptr noundef @.str.80)
  %17224 = call ptr @__errno_location() #12
  %17225 = load i32, ptr %17224, align 4, !tbaa !5
  %17226 = call ptr @strerror(i32 noundef %17225) #11
  %17227 = call ptr @__errno_location() #12
  %17228 = load i32, ptr %17227, align 4, !tbaa !5
  %17229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17216, ptr noundef @.str.81, i32 noundef %17217, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 639, ptr noundef %17220, ptr noundef %17223, ptr noundef %17226, i32 noundef %17228) #11
  br label %17230

17230:                                            ; preds = %17213, %17196
  call void @llvm.lifetime.end.p0(i64 4, ptr %433) #11
  br label %17231

17231:                                            ; preds = %17230
  br label %17232

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

17233:                                            ; No predecessors!
  br label %17234

17234:                                            ; preds = %17233
  br label %17235

17235:                                            ; preds = %17234, %17177
  br label %17236

17236:                                            ; preds = %17235
  br label %17237

17237:                                            ; preds = %17236
  br label %17238

17238:                                            ; preds = %17237
  %17239 = load i32, ptr @test_count, align 4, !tbaa !5
  %17240 = add nsw i32 %17239, 1
  store i32 %17240, ptr @test_count, align 4, !tbaa !5
  %17241 = load i8, ptr %432, align 1, !tbaa !26
  %17242 = zext i8 %17241 to i32
  %17243 = getelementptr inbounds %struct.s2n_blob, ptr %313, i32 0, i32 1
  %17244 = load i32, ptr %17243, align 8, !tbaa !79
  %17245 = icmp eq i32 %17242, %17244
  br i1 %17245, label %17299, label %17246

17246:                                            ; preds = %17238
  br label %17247

17247:                                            ; preds = %17246
  br label %17248

17248:                                            ; preds = %17247
  call void @llvm.lifetime.start.p0(i64 4, ptr %434) #11
  %17249 = call ptr @__errno_location() #12
  %17250 = load i32, ptr %17249, align 4, !tbaa !5
  store i32 %17250, ptr %434, align 4, !tbaa !5
  %17251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17252 = call i32 @s2n_print_stacktrace(ptr noundef %17251)
  %17253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17254 = trunc i8 %17253 to i1
  br i1 %17254, label %17255, label %17277

17255:                                            ; preds = %17248
  %17256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17257 = call i32 @fileno(ptr noundef %17256) #11
  %17258 = call i32 @isatty(i32 noundef %17257) #11
  %17259 = icmp ne i32 %17258, 0
  br i1 %17259, label %17260, label %17277

17260:                                            ; preds = %17255
  %17261 = load i32, ptr %434, align 4, !tbaa !5
  %17262 = call ptr @__errno_location() #12
  store i32 %17261, ptr %17262, align 4, !tbaa !5
  %17263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17264 = load i32, ptr @test_count, align 4, !tbaa !5
  %17265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17266 = load i32, ptr %17265, align 4, !tbaa !5
  %17267 = call ptr @s2n_strerror(i32 noundef %17266, ptr noundef @.str.80)
  %17268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17269 = load i32, ptr %17268, align 4, !tbaa !5
  %17270 = call ptr @s2n_strerror_debug(i32 noundef %17269, ptr noundef @.str.80)
  %17271 = call ptr @__errno_location() #12
  %17272 = load i32, ptr %17271, align 4, !tbaa !5
  %17273 = call ptr @strerror(i32 noundef %17272) #11
  %17274 = call ptr @__errno_location() #12
  %17275 = load i32, ptr %17274, align 4, !tbaa !5
  %17276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17263, ptr noundef @.str.78, i32 noundef %17264, ptr noundef @.str.242, ptr noundef @.str.77, i32 noundef 640, ptr noundef %17267, ptr noundef %17270, ptr noundef %17273, i32 noundef %17275) #11
  br label %17294

17277:                                            ; preds = %17255, %17248
  %17278 = load i32, ptr %434, align 4, !tbaa !5
  %17279 = call ptr @__errno_location() #12
  store i32 %17278, ptr %17279, align 4, !tbaa !5
  %17280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17281 = load i32, ptr @test_count, align 4, !tbaa !5
  %17282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17283 = load i32, ptr %17282, align 4, !tbaa !5
  %17284 = call ptr @s2n_strerror(i32 noundef %17283, ptr noundef @.str.80)
  %17285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17286 = load i32, ptr %17285, align 4, !tbaa !5
  %17287 = call ptr @s2n_strerror_debug(i32 noundef %17286, ptr noundef @.str.80)
  %17288 = call ptr @__errno_location() #12
  %17289 = load i32, ptr %17288, align 4, !tbaa !5
  %17290 = call ptr @strerror(i32 noundef %17289) #11
  %17291 = call ptr @__errno_location() #12
  %17292 = load i32, ptr %17291, align 4, !tbaa !5
  %17293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17280, ptr noundef @.str.81, i32 noundef %17281, ptr noundef @.str.242, ptr noundef @.str.77, i32 noundef 640, ptr noundef %17284, ptr noundef %17287, ptr noundef %17290, i32 noundef %17292) #11
  br label %17294

17294:                                            ; preds = %17277, %17260
  call void @llvm.lifetime.end.p0(i64 4, ptr %434) #11
  br label %17295

17295:                                            ; preds = %17294
  br label %17296

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

17297:                                            ; No predecessors!
  br label %17298

17298:                                            ; preds = %17297
  br label %17299

17299:                                            ; preds = %17298, %17238
  br label %17300

17300:                                            ; preds = %17299
  br label %17301

17301:                                            ; preds = %17300
  call void @llvm.lifetime.start.p0(i64 8, ptr %435) #11
  store ptr null, ptr %435, align 8, !tbaa !9
  br label %17302

17302:                                            ; preds = %17301
  %17303 = load i32, ptr @test_count, align 4, !tbaa !5
  %17304 = add nsw i32 %17303, 1
  store i32 %17304, ptr @test_count, align 4, !tbaa !5
  %17305 = load i8, ptr %432, align 1, !tbaa !26
  %17306 = zext i8 %17305 to i32
  %17307 = call ptr @s2n_stuffer_raw_read(ptr noundef %424, i32 noundef %17306)
  store ptr %17307, ptr %435, align 8, !tbaa !9
  %17308 = icmp eq ptr %17307, null
  br i1 %17308, label %17309, label %17362

17309:                                            ; preds = %17302
  br label %17310

17310:                                            ; preds = %17309
  br label %17311

17311:                                            ; preds = %17310
  call void @llvm.lifetime.start.p0(i64 4, ptr %436) #11
  %17312 = call ptr @__errno_location() #12
  %17313 = load i32, ptr %17312, align 4, !tbaa !5
  store i32 %17313, ptr %436, align 4, !tbaa !5
  %17314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17315 = call i32 @s2n_print_stacktrace(ptr noundef %17314)
  %17316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17317 = trunc i8 %17316 to i1
  br i1 %17317, label %17318, label %17340

17318:                                            ; preds = %17311
  %17319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17320 = call i32 @fileno(ptr noundef %17319) #11
  %17321 = call i32 @isatty(i32 noundef %17320) #11
  %17322 = icmp ne i32 %17321, 0
  br i1 %17322, label %17323, label %17340

17323:                                            ; preds = %17318
  %17324 = load i32, ptr %436, align 4, !tbaa !5
  %17325 = call ptr @__errno_location() #12
  store i32 %17324, ptr %17325, align 4, !tbaa !5
  %17326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17327 = load i32, ptr @test_count, align 4, !tbaa !5
  %17328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17329 = load i32, ptr %17328, align 4, !tbaa !5
  %17330 = call ptr @s2n_strerror(i32 noundef %17329, ptr noundef @.str.80)
  %17331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17332 = load i32, ptr %17331, align 4, !tbaa !5
  %17333 = call ptr @s2n_strerror_debug(i32 noundef %17332, ptr noundef @.str.80)
  %17334 = call ptr @__errno_location() #12
  %17335 = load i32, ptr %17334, align 4, !tbaa !5
  %17336 = call ptr @strerror(i32 noundef %17335) #11
  %17337 = call ptr @__errno_location() #12
  %17338 = load i32, ptr %17337, align 4, !tbaa !5
  %17339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17326, ptr noundef @.str.78, i32 noundef %17327, ptr noundef @.str.243, ptr noundef @.str.77, i32 noundef 643, ptr noundef %17330, ptr noundef %17333, ptr noundef %17336, i32 noundef %17338) #11
  br label %17357

17340:                                            ; preds = %17318, %17311
  %17341 = load i32, ptr %436, align 4, !tbaa !5
  %17342 = call ptr @__errno_location() #12
  store i32 %17341, ptr %17342, align 4, !tbaa !5
  %17343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17344 = load i32, ptr @test_count, align 4, !tbaa !5
  %17345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17346 = load i32, ptr %17345, align 4, !tbaa !5
  %17347 = call ptr @s2n_strerror(i32 noundef %17346, ptr noundef @.str.80)
  %17348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17349 = load i32, ptr %17348, align 4, !tbaa !5
  %17350 = call ptr @s2n_strerror_debug(i32 noundef %17349, ptr noundef @.str.80)
  %17351 = call ptr @__errno_location() #12
  %17352 = load i32, ptr %17351, align 4, !tbaa !5
  %17353 = call ptr @strerror(i32 noundef %17352) #11
  %17354 = call ptr @__errno_location() #12
  %17355 = load i32, ptr %17354, align 4, !tbaa !5
  %17356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17343, ptr noundef @.str.81, i32 noundef %17344, ptr noundef @.str.243, ptr noundef @.str.77, i32 noundef 643, ptr noundef %17347, ptr noundef %17350, ptr noundef %17353, i32 noundef %17355) #11
  br label %17357

17357:                                            ; preds = %17340, %17323
  call void @llvm.lifetime.end.p0(i64 4, ptr %436) #11
  br label %17358

17358:                                            ; preds = %17357
  br label %17359

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

17360:                                            ; No predecessors!
  br label %17361

17361:                                            ; preds = %17360
  br label %17362

17362:                                            ; preds = %17361, %17302
  br label %17363

17363:                                            ; preds = %17362
  br label %17364

17364:                                            ; preds = %17363
  br label %17365

17365:                                            ; preds = %17364
  %17366 = load i8, ptr %432, align 1, !tbaa !26
  %17367 = zext i8 %17366 to i32
  %17368 = icmp ne i32 %17367, 0
  br i1 %17368, label %17369, label %17436

17369:                                            ; preds = %17365
  br label %17370

17370:                                            ; preds = %17369
  %17371 = load i32, ptr @test_count, align 4, !tbaa !5
  %17372 = add nsw i32 %17371, 1
  store i32 %17372, ptr @test_count, align 4, !tbaa !5
  %17373 = load ptr, ptr %435, align 8, !tbaa !9
  %17374 = getelementptr inbounds %struct.s2n_blob, ptr %313, i32 0, i32 0
  %17375 = load ptr, ptr %17374, align 8, !tbaa !80
  %17376 = load i8, ptr %432, align 1, !tbaa !26
  %17377 = zext i8 %17376 to i64
  %17378 = call i32 @memcmp(ptr noundef %17373, ptr noundef %17375, i64 noundef %17377) #14
  %17379 = icmp eq i32 %17378, 0
  br i1 %17379, label %17433, label %17380

17380:                                            ; preds = %17370
  br label %17381

17381:                                            ; preds = %17380
  br label %17382

17382:                                            ; preds = %17381
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #11
  %17383 = call ptr @__errno_location() #12
  %17384 = load i32, ptr %17383, align 4, !tbaa !5
  store i32 %17384, ptr %437, align 4, !tbaa !5
  %17385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17386 = call i32 @s2n_print_stacktrace(ptr noundef %17385)
  %17387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17388 = trunc i8 %17387 to i1
  br i1 %17388, label %17389, label %17411

17389:                                            ; preds = %17382
  %17390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17391 = call i32 @fileno(ptr noundef %17390) #11
  %17392 = call i32 @isatty(i32 noundef %17391) #11
  %17393 = icmp ne i32 %17392, 0
  br i1 %17393, label %17394, label %17411

17394:                                            ; preds = %17389
  %17395 = load i32, ptr %437, align 4, !tbaa !5
  %17396 = call ptr @__errno_location() #12
  store i32 %17395, ptr %17396, align 4, !tbaa !5
  %17397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17398 = load i32, ptr @test_count, align 4, !tbaa !5
  %17399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17400 = load i32, ptr %17399, align 4, !tbaa !5
  %17401 = call ptr @s2n_strerror(i32 noundef %17400, ptr noundef @.str.80)
  %17402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17403 = load i32, ptr %17402, align 4, !tbaa !5
  %17404 = call ptr @s2n_strerror_debug(i32 noundef %17403, ptr noundef @.str.80)
  %17405 = call ptr @__errno_location() #12
  %17406 = load i32, ptr %17405, align 4, !tbaa !5
  %17407 = call ptr @strerror(i32 noundef %17406) #11
  %17408 = call ptr @__errno_location() #12
  %17409 = load i32, ptr %17408, align 4, !tbaa !5
  %17410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17397, ptr noundef @.str.78, i32 noundef %17398, ptr noundef @.str.244, ptr noundef @.str.77, i32 noundef 644, ptr noundef %17401, ptr noundef %17404, ptr noundef %17407, i32 noundef %17409) #11
  br label %17428

17411:                                            ; preds = %17389, %17382
  %17412 = load i32, ptr %437, align 4, !tbaa !5
  %17413 = call ptr @__errno_location() #12
  store i32 %17412, ptr %17413, align 4, !tbaa !5
  %17414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17415 = load i32, ptr @test_count, align 4, !tbaa !5
  %17416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17417 = load i32, ptr %17416, align 4, !tbaa !5
  %17418 = call ptr @s2n_strerror(i32 noundef %17417, ptr noundef @.str.80)
  %17419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17420 = load i32, ptr %17419, align 4, !tbaa !5
  %17421 = call ptr @s2n_strerror_debug(i32 noundef %17420, ptr noundef @.str.80)
  %17422 = call ptr @__errno_location() #12
  %17423 = load i32, ptr %17422, align 4, !tbaa !5
  %17424 = call ptr @strerror(i32 noundef %17423) #11
  %17425 = call ptr @__errno_location() #12
  %17426 = load i32, ptr %17425, align 4, !tbaa !5
  %17427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17414, ptr noundef @.str.81, i32 noundef %17415, ptr noundef @.str.244, ptr noundef @.str.77, i32 noundef 644, ptr noundef %17418, ptr noundef %17421, ptr noundef %17424, i32 noundef %17426) #11
  br label %17428

17428:                                            ; preds = %17411, %17394
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #11
  br label %17429

17429:                                            ; preds = %17428
  br label %17430

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

17431:                                            ; No predecessors!
  br label %17432

17432:                                            ; preds = %17431
  br label %17433

17433:                                            ; preds = %17432, %17370
  br label %17434

17434:                                            ; preds = %17433
  br label %17435

17435:                                            ; preds = %17434
  br label %17436

17436:                                            ; preds = %17435, %17365
  br label %17437

17437:                                            ; preds = %17436
  br label %17438

17438:                                            ; preds = %17437
  call void @llvm.lifetime.end.p0(i64 8, ptr %435) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %432) #11
  br label %17439

17439:                                            ; preds = %17438
  %17440 = load i8, ptr %431, align 1, !tbaa !26
  %17441 = add i8 %17440, 1
  store i8 %17441, ptr %431, align 1, !tbaa !26
  br label %17171, !llvm.loop !82

17442:                                            ; preds = %17175
  br label %17443

17443:                                            ; preds = %17442
  %17444 = load i32, ptr @test_count, align 4, !tbaa !5
  %17445 = add nsw i32 %17444, 1
  store i32 %17445, ptr @test_count, align 4, !tbaa !5
  %17446 = getelementptr inbounds %struct.s2n_stuffer, ptr %424, i32 0, i32 2
  %17447 = load i32, ptr %17446, align 4, !tbaa !67
  %17448 = getelementptr inbounds %struct.s2n_stuffer, ptr %424, i32 0, i32 1
  %17449 = load i32, ptr %17448, align 8, !tbaa !68
  %17450 = sub i32 %17447, %17449
  %17451 = icmp eq i32 %17450, 0
  br i1 %17451, label %17505, label %17452

17452:                                            ; preds = %17443
  br label %17453

17453:                                            ; preds = %17452
  br label %17454

17454:                                            ; preds = %17453
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #11
  %17455 = call ptr @__errno_location() #12
  %17456 = load i32, ptr %17455, align 4, !tbaa !5
  store i32 %17456, ptr %438, align 4, !tbaa !5
  %17457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17458 = call i32 @s2n_print_stacktrace(ptr noundef %17457)
  %17459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17460 = trunc i8 %17459 to i1
  br i1 %17460, label %17461, label %17483

17461:                                            ; preds = %17454
  %17462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17463 = call i32 @fileno(ptr noundef %17462) #11
  %17464 = call i32 @isatty(i32 noundef %17463) #11
  %17465 = icmp ne i32 %17464, 0
  br i1 %17465, label %17466, label %17483

17466:                                            ; preds = %17461
  %17467 = load i32, ptr %438, align 4, !tbaa !5
  %17468 = call ptr @__errno_location() #12
  store i32 %17467, ptr %17468, align 4, !tbaa !5
  %17469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17470 = load i32, ptr @test_count, align 4, !tbaa !5
  %17471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17472 = load i32, ptr %17471, align 4, !tbaa !5
  %17473 = call ptr @s2n_strerror(i32 noundef %17472, ptr noundef @.str.80)
  %17474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17475 = load i32, ptr %17474, align 4, !tbaa !5
  %17476 = call ptr @s2n_strerror_debug(i32 noundef %17475, ptr noundef @.str.80)
  %17477 = call ptr @__errno_location() #12
  %17478 = load i32, ptr %17477, align 4, !tbaa !5
  %17479 = call ptr @strerror(i32 noundef %17478) #11
  %17480 = call ptr @__errno_location() #12
  %17481 = load i32, ptr %17480, align 4, !tbaa !5
  %17482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17469, ptr noundef @.str.78, i32 noundef %17470, ptr noundef @.str.210, ptr noundef @.str.77, i32 noundef 647, ptr noundef %17473, ptr noundef %17476, ptr noundef %17479, i32 noundef %17481) #11
  br label %17500

17483:                                            ; preds = %17461, %17454
  %17484 = load i32, ptr %438, align 4, !tbaa !5
  %17485 = call ptr @__errno_location() #12
  store i32 %17484, ptr %17485, align 4, !tbaa !5
  %17486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17487 = load i32, ptr @test_count, align 4, !tbaa !5
  %17488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17489 = load i32, ptr %17488, align 4, !tbaa !5
  %17490 = call ptr @s2n_strerror(i32 noundef %17489, ptr noundef @.str.80)
  %17491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17492 = load i32, ptr %17491, align 4, !tbaa !5
  %17493 = call ptr @s2n_strerror_debug(i32 noundef %17492, ptr noundef @.str.80)
  %17494 = call ptr @__errno_location() #12
  %17495 = load i32, ptr %17494, align 4, !tbaa !5
  %17496 = call ptr @strerror(i32 noundef %17495) #11
  %17497 = call ptr @__errno_location() #12
  %17498 = load i32, ptr %17497, align 4, !tbaa !5
  %17499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17486, ptr noundef @.str.81, i32 noundef %17487, ptr noundef @.str.210, ptr noundef @.str.77, i32 noundef 647, ptr noundef %17490, ptr noundef %17493, ptr noundef %17496, i32 noundef %17498) #11
  br label %17500

17500:                                            ; preds = %17483, %17466
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #11
  br label %17501

17501:                                            ; preds = %17500
  br label %17502

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

17503:                                            ; No predecessors!
  br label %17504

17504:                                            ; preds = %17503
  br label %17505

17505:                                            ; preds = %17504, %17443
  br label %17506

17506:                                            ; preds = %17505
  br label %17507

17507:                                            ; preds = %17506
  br label %17508

17508:                                            ; preds = %17507
  %17509 = load i32, ptr @test_count, align 4, !tbaa !5
  %17510 = add nsw i32 %17509, 1
  store i32 %17510, ptr @test_count, align 4, !tbaa !5
  %17511 = load ptr, ptr %414, align 8, !tbaa !9
  %17512 = call i32 @s2n_connection_free(ptr noundef %17511)
  %17513 = icmp eq i32 %17512, -1
  br i1 %17513, label %17514, label %17567

17514:                                            ; preds = %17508
  br label %17515

17515:                                            ; preds = %17514
  br label %17516

17516:                                            ; preds = %17515
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #11
  %17517 = call ptr @__errno_location() #12
  %17518 = load i32, ptr %17517, align 4, !tbaa !5
  store i32 %17518, ptr %439, align 4, !tbaa !5
  %17519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17520 = call i32 @s2n_print_stacktrace(ptr noundef %17519)
  %17521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17522 = trunc i8 %17521 to i1
  br i1 %17522, label %17523, label %17545

17523:                                            ; preds = %17516
  %17524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17525 = call i32 @fileno(ptr noundef %17524) #11
  %17526 = call i32 @isatty(i32 noundef %17525) #11
  %17527 = icmp ne i32 %17526, 0
  br i1 %17527, label %17528, label %17545

17528:                                            ; preds = %17523
  %17529 = load i32, ptr %439, align 4, !tbaa !5
  %17530 = call ptr @__errno_location() #12
  store i32 %17529, ptr %17530, align 4, !tbaa !5
  %17531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17532 = load i32, ptr @test_count, align 4, !tbaa !5
  %17533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17534 = load i32, ptr %17533, align 4, !tbaa !5
  %17535 = call ptr @s2n_strerror(i32 noundef %17534, ptr noundef @.str.80)
  %17536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17537 = load i32, ptr %17536, align 4, !tbaa !5
  %17538 = call ptr @s2n_strerror_debug(i32 noundef %17537, ptr noundef @.str.80)
  %17539 = call ptr @__errno_location() #12
  %17540 = load i32, ptr %17539, align 4, !tbaa !5
  %17541 = call ptr @strerror(i32 noundef %17540) #11
  %17542 = call ptr @__errno_location() #12
  %17543 = load i32, ptr %17542, align 4, !tbaa !5
  %17544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17531, ptr noundef @.str.78, i32 noundef %17532, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 649, ptr noundef %17535, ptr noundef %17538, ptr noundef %17541, i32 noundef %17543) #11
  br label %17562

17545:                                            ; preds = %17523, %17516
  %17546 = load i32, ptr %439, align 4, !tbaa !5
  %17547 = call ptr @__errno_location() #12
  store i32 %17546, ptr %17547, align 4, !tbaa !5
  %17548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17549 = load i32, ptr @test_count, align 4, !tbaa !5
  %17550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17551 = load i32, ptr %17550, align 4, !tbaa !5
  %17552 = call ptr @s2n_strerror(i32 noundef %17551, ptr noundef @.str.80)
  %17553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17554 = load i32, ptr %17553, align 4, !tbaa !5
  %17555 = call ptr @s2n_strerror_debug(i32 noundef %17554, ptr noundef @.str.80)
  %17556 = call ptr @__errno_location() #12
  %17557 = load i32, ptr %17556, align 4, !tbaa !5
  %17558 = call ptr @strerror(i32 noundef %17557) #11
  %17559 = call ptr @__errno_location() #12
  %17560 = load i32, ptr %17559, align 4, !tbaa !5
  %17561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17548, ptr noundef @.str.81, i32 noundef %17549, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 649, ptr noundef %17552, ptr noundef %17555, ptr noundef %17558, i32 noundef %17560) #11
  br label %17562

17562:                                            ; preds = %17545, %17528
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #11
  br label %17563

17563:                                            ; preds = %17562
  br label %17564

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

17565:                                            ; No predecessors!
  br label %17566

17566:                                            ; preds = %17565
  br label %17567

17567:                                            ; preds = %17566, %17508
  br label %17568

17568:                                            ; preds = %17567
  br label %17569

17569:                                            ; preds = %17568
  br label %17570

17570:                                            ; preds = %17569
  %17571 = load i32, ptr @test_count, align 4, !tbaa !5
  %17572 = add nsw i32 %17571, 1
  store i32 %17572, ptr @test_count, align 4, !tbaa !5
  %17573 = call i32 @s2n_stuffer_free(ptr noundef %424)
  %17574 = icmp eq i32 %17573, -1
  br i1 %17574, label %17575, label %17628

17575:                                            ; preds = %17570
  br label %17576

17576:                                            ; preds = %17575
  br label %17577

17577:                                            ; preds = %17576
  call void @llvm.lifetime.start.p0(i64 4, ptr %440) #11
  %17578 = call ptr @__errno_location() #12
  %17579 = load i32, ptr %17578, align 4, !tbaa !5
  store i32 %17579, ptr %440, align 4, !tbaa !5
  %17580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17581 = call i32 @s2n_print_stacktrace(ptr noundef %17580)
  %17582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17583 = trunc i8 %17582 to i1
  br i1 %17583, label %17584, label %17606

17584:                                            ; preds = %17577
  %17585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17586 = call i32 @fileno(ptr noundef %17585) #11
  %17587 = call i32 @isatty(i32 noundef %17586) #11
  %17588 = icmp ne i32 %17587, 0
  br i1 %17588, label %17589, label %17606

17589:                                            ; preds = %17584
  %17590 = load i32, ptr %440, align 4, !tbaa !5
  %17591 = call ptr @__errno_location() #12
  store i32 %17590, ptr %17591, align 4, !tbaa !5
  %17592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17593 = load i32, ptr @test_count, align 4, !tbaa !5
  %17594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17595 = load i32, ptr %17594, align 4, !tbaa !5
  %17596 = call ptr @s2n_strerror(i32 noundef %17595, ptr noundef @.str.80)
  %17597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17598 = load i32, ptr %17597, align 4, !tbaa !5
  %17599 = call ptr @s2n_strerror_debug(i32 noundef %17598, ptr noundef @.str.80)
  %17600 = call ptr @__errno_location() #12
  %17601 = load i32, ptr %17600, align 4, !tbaa !5
  %17602 = call ptr @strerror(i32 noundef %17601) #11
  %17603 = call ptr @__errno_location() #12
  %17604 = load i32, ptr %17603, align 4, !tbaa !5
  %17605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17592, ptr noundef @.str.78, i32 noundef %17593, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 650, ptr noundef %17596, ptr noundef %17599, ptr noundef %17602, i32 noundef %17604) #11
  br label %17623

17606:                                            ; preds = %17584, %17577
  %17607 = load i32, ptr %440, align 4, !tbaa !5
  %17608 = call ptr @__errno_location() #12
  store i32 %17607, ptr %17608, align 4, !tbaa !5
  %17609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17610 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17612, ptr noundef @.str.80)
  %17614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17615 = load i32, ptr %17614, align 4, !tbaa !5
  %17616 = call ptr @s2n_strerror_debug(i32 noundef %17615, ptr noundef @.str.80)
  %17617 = call ptr @__errno_location() #12
  %17618 = load i32, ptr %17617, align 4, !tbaa !5
  %17619 = call ptr @strerror(i32 noundef %17618) #11
  %17620 = call ptr @__errno_location() #12
  %17621 = load i32, ptr %17620, align 4, !tbaa !5
  %17622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17609, ptr noundef @.str.81, i32 noundef %17610, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 650, ptr noundef %17613, ptr noundef %17616, ptr noundef %17619, i32 noundef %17621) #11
  br label %17623

17623:                                            ; preds = %17606, %17589
  call void @llvm.lifetime.end.p0(i64 4, ptr %440) #11
  br label %17624

17624:                                            ; preds = %17623
  br label %17625

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

17626:                                            ; No predecessors!
  br label %17627

17627:                                            ; preds = %17626
  br label %17628

17628:                                            ; preds = %17627, %17570
  br label %17629

17629:                                            ; preds = %17628
  br label %17630

17630:                                            ; preds = %17629
  call void @llvm.lifetime.end.p0(i64 2, ptr %428) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %424) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %414) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %413) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %441) #11
  store ptr null, ptr %441, align 8, !tbaa !9
  br label %17631

17631:                                            ; preds = %17630
  %17632 = load i32, ptr @test_count, align 4, !tbaa !5
  %17633 = add nsw i32 %17632, 1
  store i32 %17633, ptr @test_count, align 4, !tbaa !5
  %17634 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %17634, ptr %441, align 8, !tbaa !9
  %17635 = icmp eq ptr %17634, null
  br i1 %17635, label %17636, label %17689

17636:                                            ; preds = %17631
  br label %17637

17637:                                            ; preds = %17636
  br label %17638

17638:                                            ; preds = %17637
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #11
  %17639 = call ptr @__errno_location() #12
  %17640 = load i32, ptr %17639, align 4, !tbaa !5
  store i32 %17640, ptr %442, align 4, !tbaa !5
  %17641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17642 = call i32 @s2n_print_stacktrace(ptr noundef %17641)
  %17643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17644 = trunc i8 %17643 to i1
  br i1 %17644, label %17645, label %17667

17645:                                            ; preds = %17638
  %17646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17647 = call i32 @fileno(ptr noundef %17646) #11
  %17648 = call i32 @isatty(i32 noundef %17647) #11
  %17649 = icmp ne i32 %17648, 0
  br i1 %17649, label %17650, label %17667

17650:                                            ; preds = %17645
  %17651 = load i32, ptr %442, align 4, !tbaa !5
  %17652 = call ptr @__errno_location() #12
  store i32 %17651, ptr %17652, align 4, !tbaa !5
  %17653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17654 = load i32, ptr @test_count, align 4, !tbaa !5
  %17655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17656 = load i32, ptr %17655, align 4, !tbaa !5
  %17657 = call ptr @s2n_strerror(i32 noundef %17656, ptr noundef @.str.80)
  %17658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17659 = load i32, ptr %17658, align 4, !tbaa !5
  %17660 = call ptr @s2n_strerror_debug(i32 noundef %17659, ptr noundef @.str.80)
  %17661 = call ptr @__errno_location() #12
  %17662 = load i32, ptr %17661, align 4, !tbaa !5
  %17663 = call ptr @strerror(i32 noundef %17662) #11
  %17664 = call ptr @__errno_location() #12
  %17665 = load i32, ptr %17664, align 4, !tbaa !5
  %17666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17653, ptr noundef @.str.78, i32 noundef %17654, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 656, ptr noundef %17657, ptr noundef %17660, ptr noundef %17663, i32 noundef %17665) #11
  br label %17684

17667:                                            ; preds = %17645, %17638
  %17668 = load i32, ptr %442, align 4, !tbaa !5
  %17669 = call ptr @__errno_location() #12
  store i32 %17668, ptr %17669, align 4, !tbaa !5
  %17670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17671 = load i32, ptr @test_count, align 4, !tbaa !5
  %17672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17673 = load i32, ptr %17672, align 4, !tbaa !5
  %17674 = call ptr @s2n_strerror(i32 noundef %17673, ptr noundef @.str.80)
  %17675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17676 = load i32, ptr %17675, align 4, !tbaa !5
  %17677 = call ptr @s2n_strerror_debug(i32 noundef %17676, ptr noundef @.str.80)
  %17678 = call ptr @__errno_location() #12
  %17679 = load i32, ptr %17678, align 4, !tbaa !5
  %17680 = call ptr @strerror(i32 noundef %17679) #11
  %17681 = call ptr @__errno_location() #12
  %17682 = load i32, ptr %17681, align 4, !tbaa !5
  %17683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17670, ptr noundef @.str.81, i32 noundef %17671, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 656, ptr noundef %17674, ptr noundef %17677, ptr noundef %17680, i32 noundef %17682) #11
  br label %17684

17684:                                            ; preds = %17667, %17650
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #11
  br label %17685

17685:                                            ; preds = %17684
  br label %17686

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

17687:                                            ; No predecessors!
  br label %17688

17688:                                            ; preds = %17687
  br label %17689

17689:                                            ; preds = %17688, %17631
  br label %17690

17690:                                            ; preds = %17689
  br label %17691

17691:                                            ; preds = %17690
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #11
  store i32 4, ptr %443, align 4, !tbaa !5
  br label %17692

17692:                                            ; preds = %17966, %17691
  %17693 = load i32, ptr %443, align 4, !tbaa !5
  %17694 = icmp ule i32 %17693, 5
  br i1 %17694, label %17696, label %17695

17695:                                            ; preds = %17692
  store i32 1716, ptr %302, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #11
  br label %17969

17696:                                            ; preds = %17692
  call void @llvm.lifetime.start.p0(i64 8, ptr %444) #11
  store ptr null, ptr %444, align 8, !tbaa !9
  br label %17697

17697:                                            ; preds = %17696
  %17698 = load i32, ptr @test_count, align 4, !tbaa !5
  %17699 = add nsw i32 %17698, 1
  store i32 %17699, ptr @test_count, align 4, !tbaa !5
  %17700 = load ptr, ptr %441, align 8, !tbaa !9
  %17701 = getelementptr inbounds %struct.s2n_connection, ptr %17700, i32 0, i32 33
  %17702 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %17701, i32 0, i32 1
  %17703 = call i32 @s2n_array_pushback(ptr noundef %17702, ptr noundef %444)
  %17704 = getelementptr inbounds %struct.s2n_result, ptr %445, i32 0, i32 0
  store i32 %17703, ptr %17704, align 4
  %17705 = getelementptr inbounds %struct.s2n_result, ptr %445, i32 0, i32 0
  %17706 = load i32, ptr %17705, align 4
  %17707 = call zeroext i1 @s2n_result_is_ok(i32 %17706)
  br i1 %17707, label %17761, label %17708

17708:                                            ; preds = %17697
  br label %17709

17709:                                            ; preds = %17708
  br label %17710

17710:                                            ; preds = %17709
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #11
  %17711 = call ptr @__errno_location() #12
  %17712 = load i32, ptr %17711, align 4, !tbaa !5
  store i32 %17712, ptr %446, align 4, !tbaa !5
  %17713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17714 = call i32 @s2n_print_stacktrace(ptr noundef %17713)
  %17715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17716 = trunc i8 %17715 to i1
  br i1 %17716, label %17717, label %17739

17717:                                            ; preds = %17710
  %17718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17719 = call i32 @fileno(ptr noundef %17718) #11
  %17720 = call i32 @isatty(i32 noundef %17719) #11
  %17721 = icmp ne i32 %17720, 0
  br i1 %17721, label %17722, label %17739

17722:                                            ; preds = %17717
  %17723 = load i32, ptr %446, align 4, !tbaa !5
  %17724 = call ptr @__errno_location() #12
  store i32 %17723, ptr %17724, align 4, !tbaa !5
  %17725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17726 = load i32, ptr @test_count, align 4, !tbaa !5
  %17727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17728 = load i32, ptr %17727, align 4, !tbaa !5
  %17729 = call ptr @s2n_strerror(i32 noundef %17728, ptr noundef @.str.80)
  %17730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17731 = load i32, ptr %17730, align 4, !tbaa !5
  %17732 = call ptr @s2n_strerror_debug(i32 noundef %17731, ptr noundef @.str.80)
  %17733 = call ptr @__errno_location() #12
  %17734 = load i32, ptr %17733, align 4, !tbaa !5
  %17735 = call ptr @strerror(i32 noundef %17734) #11
  %17736 = call ptr @__errno_location() #12
  %17737 = load i32, ptr %17736, align 4, !tbaa !5
  %17738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17725, ptr noundef @.str.78, i32 noundef %17726, ptr noundef @.str.245, ptr noundef @.str.77, i32 noundef 660, ptr noundef %17729, ptr noundef %17732, ptr noundef %17735, i32 noundef %17737) #11
  br label %17756

17739:                                            ; preds = %17717, %17710
  %17740 = load i32, ptr %446, align 4, !tbaa !5
  %17741 = call ptr @__errno_location() #12
  store i32 %17740, ptr %17741, align 4, !tbaa !5
  %17742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17743 = load i32, ptr @test_count, align 4, !tbaa !5
  %17744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17745 = load i32, ptr %17744, align 4, !tbaa !5
  %17746 = call ptr @s2n_strerror(i32 noundef %17745, ptr noundef @.str.80)
  %17747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17748 = load i32, ptr %17747, align 4, !tbaa !5
  %17749 = call ptr @s2n_strerror_debug(i32 noundef %17748, ptr noundef @.str.80)
  %17750 = call ptr @__errno_location() #12
  %17751 = load i32, ptr %17750, align 4, !tbaa !5
  %17752 = call ptr @strerror(i32 noundef %17751) #11
  %17753 = call ptr @__errno_location() #12
  %17754 = load i32, ptr %17753, align 4, !tbaa !5
  %17755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17742, ptr noundef @.str.81, i32 noundef %17743, ptr noundef @.str.245, ptr noundef @.str.77, i32 noundef 660, ptr noundef %17746, ptr noundef %17749, ptr noundef %17752, i32 noundef %17754) #11
  br label %17756

17756:                                            ; preds = %17739, %17722
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #11
  br label %17757

17757:                                            ; preds = %17756
  br label %17758

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

17759:                                            ; No predecessors!
  br label %17760

17760:                                            ; preds = %17759
  br label %17761

17761:                                            ; preds = %17760, %17697
  br label %17762

17762:                                            ; preds = %17761
  br label %17763

17763:                                            ; preds = %17762
  br label %17764

17764:                                            ; preds = %17763
  %17765 = load i32, ptr @test_count, align 4, !tbaa !5
  %17766 = add nsw i32 %17765, 1
  store i32 %17766, ptr @test_count, align 4, !tbaa !5
  %17767 = load ptr, ptr %444, align 8, !tbaa !9
  %17768 = call i32 @s2n_psk_init(ptr noundef %17767, i32 noundef 0)
  %17769 = getelementptr inbounds %struct.s2n_result, ptr %447, i32 0, i32 0
  store i32 %17768, ptr %17769, align 4
  %17770 = getelementptr inbounds %struct.s2n_result, ptr %447, i32 0, i32 0
  %17771 = load i32, ptr %17770, align 4
  %17772 = call zeroext i1 @s2n_result_is_ok(i32 %17771)
  br i1 %17772, label %17826, label %17773

17773:                                            ; preds = %17764
  br label %17774

17774:                                            ; preds = %17773
  br label %17775

17775:                                            ; preds = %17774
  call void @llvm.lifetime.start.p0(i64 4, ptr %448) #11
  %17776 = call ptr @__errno_location() #12
  %17777 = load i32, ptr %17776, align 4, !tbaa !5
  store i32 %17777, ptr %448, align 4, !tbaa !5
  %17778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17779 = call i32 @s2n_print_stacktrace(ptr noundef %17778)
  %17780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17781 = trunc i8 %17780 to i1
  br i1 %17781, label %17782, label %17804

17782:                                            ; preds = %17775
  %17783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17784 = call i32 @fileno(ptr noundef %17783) #11
  %17785 = call i32 @isatty(i32 noundef %17784) #11
  %17786 = icmp ne i32 %17785, 0
  br i1 %17786, label %17787, label %17804

17787:                                            ; preds = %17782
  %17788 = load i32, ptr %448, align 4, !tbaa !5
  %17789 = call ptr @__errno_location() #12
  store i32 %17788, ptr %17789, align 4, !tbaa !5
  %17790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17791 = load i32, ptr @test_count, align 4, !tbaa !5
  %17792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17793 = load i32, ptr %17792, align 4, !tbaa !5
  %17794 = call ptr @s2n_strerror(i32 noundef %17793, ptr noundef @.str.80)
  %17795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17796 = load i32, ptr %17795, align 4, !tbaa !5
  %17797 = call ptr @s2n_strerror_debug(i32 noundef %17796, ptr noundef @.str.80)
  %17798 = call ptr @__errno_location() #12
  %17799 = load i32, ptr %17798, align 4, !tbaa !5
  %17800 = call ptr @strerror(i32 noundef %17799) #11
  %17801 = call ptr @__errno_location() #12
  %17802 = load i32, ptr %17801, align 4, !tbaa !5
  %17803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17790, ptr noundef @.str.78, i32 noundef %17791, ptr noundef @.str.246, ptr noundef @.str.77, i32 noundef 661, ptr noundef %17794, ptr noundef %17797, ptr noundef %17800, i32 noundef %17802) #11
  br label %17821

17804:                                            ; preds = %17782, %17775
  %17805 = load i32, ptr %448, align 4, !tbaa !5
  %17806 = call ptr @__errno_location() #12
  store i32 %17805, ptr %17806, align 4, !tbaa !5
  %17807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17808 = load i32, ptr @test_count, align 4, !tbaa !5
  %17809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17810 = load i32, ptr %17809, align 4, !tbaa !5
  %17811 = call ptr @s2n_strerror(i32 noundef %17810, ptr noundef @.str.80)
  %17812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17813 = load i32, ptr %17812, align 4, !tbaa !5
  %17814 = call ptr @s2n_strerror_debug(i32 noundef %17813, ptr noundef @.str.80)
  %17815 = call ptr @__errno_location() #12
  %17816 = load i32, ptr %17815, align 4, !tbaa !5
  %17817 = call ptr @strerror(i32 noundef %17816) #11
  %17818 = call ptr @__errno_location() #12
  %17819 = load i32, ptr %17818, align 4, !tbaa !5
  %17820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17807, ptr noundef @.str.81, i32 noundef %17808, ptr noundef @.str.246, ptr noundef @.str.77, i32 noundef 661, ptr noundef %17811, ptr noundef %17814, ptr noundef %17817, i32 noundef %17819) #11
  br label %17821

17821:                                            ; preds = %17804, %17787
  call void @llvm.lifetime.end.p0(i64 4, ptr %448) #11
  br label %17822

17822:                                            ; preds = %17821
  br label %17823

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

17824:                                            ; No predecessors!
  br label %17825

17825:                                            ; preds = %17824
  br label %17826

17826:                                            ; preds = %17825, %17764
  br label %17827

17827:                                            ; preds = %17826
  br label %17828

17828:                                            ; preds = %17827
  br label %17829

17829:                                            ; preds = %17828
  %17830 = load i32, ptr @test_count, align 4, !tbaa !5
  %17831 = add nsw i32 %17830, 1
  store i32 %17831, ptr @test_count, align 4, !tbaa !5
  %17832 = load ptr, ptr %444, align 8, !tbaa !9
  %17833 = getelementptr inbounds %struct.s2n_blob, ptr %300, i32 0, i32 0
  %17834 = load ptr, ptr %17833, align 8, !tbaa !80
  %17835 = getelementptr inbounds %struct.s2n_blob, ptr %300, i32 0, i32 1
  %17836 = load i32, ptr %17835, align 8, !tbaa !79
  %17837 = trunc i32 %17836 to i16
  %17838 = call i32 @s2n_psk_set_identity(ptr noundef %17832, ptr noundef %17834, i16 noundef zeroext %17837)
  %17839 = icmp eq i32 %17838, -1
  br i1 %17839, label %17840, label %17893

17840:                                            ; preds = %17829
  br label %17841

17841:                                            ; preds = %17840
  br label %17842

17842:                                            ; preds = %17841
  call void @llvm.lifetime.start.p0(i64 4, ptr %449) #11
  %17843 = call ptr @__errno_location() #12
  %17844 = load i32, ptr %17843, align 4, !tbaa !5
  store i32 %17844, ptr %449, align 4, !tbaa !5
  %17845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17846 = call i32 @s2n_print_stacktrace(ptr noundef %17845)
  %17847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17848 = trunc i8 %17847 to i1
  br i1 %17848, label %17849, label %17871

17849:                                            ; preds = %17842
  %17850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17851 = call i32 @fileno(ptr noundef %17850) #11
  %17852 = call i32 @isatty(i32 noundef %17851) #11
  %17853 = icmp ne i32 %17852, 0
  br i1 %17853, label %17854, label %17871

17854:                                            ; preds = %17849
  %17855 = load i32, ptr %449, align 4, !tbaa !5
  %17856 = call ptr @__errno_location() #12
  store i32 %17855, ptr %17856, align 4, !tbaa !5
  %17857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17858 = load i32, ptr @test_count, align 4, !tbaa !5
  %17859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17860 = load i32, ptr %17859, align 4, !tbaa !5
  %17861 = call ptr @s2n_strerror(i32 noundef %17860, ptr noundef @.str.80)
  %17862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17863 = load i32, ptr %17862, align 4, !tbaa !5
  %17864 = call ptr @s2n_strerror_debug(i32 noundef %17863, ptr noundef @.str.80)
  %17865 = call ptr @__errno_location() #12
  %17866 = load i32, ptr %17865, align 4, !tbaa !5
  %17867 = call ptr @strerror(i32 noundef %17866) #11
  %17868 = call ptr @__errno_location() #12
  %17869 = load i32, ptr %17868, align 4, !tbaa !5
  %17870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17857, ptr noundef @.str.78, i32 noundef %17858, ptr noundef @.str.247, ptr noundef @.str.77, i32 noundef 662, ptr noundef %17861, ptr noundef %17864, ptr noundef %17867, i32 noundef %17869) #11
  br label %17888

17871:                                            ; preds = %17849, %17842
  %17872 = load i32, ptr %449, 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.80)
  %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.80)
  %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.81, i32 noundef %17875, ptr noundef @.str.247, ptr noundef @.str.77, i32 noundef 662, ptr noundef %17878, ptr noundef %17881, ptr noundef %17884, i32 noundef %17886) #11
  br label %17888

17888:                                            ; preds = %17871, %17854
  call void @llvm.lifetime.end.p0(i64 4, ptr %449) #11
  br label %17889

17889:                                            ; preds = %17888
  br label %17890

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

17891:                                            ; No predecessors!
  br label %17892

17892:                                            ; preds = %17891
  br label %17893

17893:                                            ; preds = %17892, %17829
  br label %17894

17894:                                            ; preds = %17893
  br label %17895

17895:                                            ; preds = %17894
  br label %17896

17896:                                            ; preds = %17895
  %17897 = load i32, ptr @test_count, align 4, !tbaa !5
  %17898 = add nsw i32 %17897, 1
  store i32 %17898, ptr @test_count, align 4, !tbaa !5
  %17899 = load ptr, ptr %444, align 8, !tbaa !9
  %17900 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 0
  %17901 = load ptr, ptr %17900, align 8, !tbaa !80
  %17902 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 1
  %17903 = load i32, ptr %17902, align 8, !tbaa !79
  %17904 = trunc i32 %17903 to i16
  %17905 = call i32 @s2n_psk_set_secret(ptr noundef %17899, ptr noundef %17901, i16 noundef zeroext %17904)
  %17906 = icmp eq i32 %17905, -1
  br i1 %17906, label %17907, label %17960

17907:                                            ; preds = %17896
  br label %17908

17908:                                            ; preds = %17907
  br label %17909

17909:                                            ; preds = %17908
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #11
  %17910 = call ptr @__errno_location() #12
  %17911 = load i32, ptr %17910, align 4, !tbaa !5
  store i32 %17911, ptr %450, align 4, !tbaa !5
  %17912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17913 = call i32 @s2n_print_stacktrace(ptr noundef %17912)
  %17914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17915 = trunc i8 %17914 to i1
  br i1 %17915, label %17916, label %17938

17916:                                            ; preds = %17909
  %17917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17918 = call i32 @fileno(ptr noundef %17917) #11
  %17919 = call i32 @isatty(i32 noundef %17918) #11
  %17920 = icmp ne i32 %17919, 0
  br i1 %17920, label %17921, label %17938

17921:                                            ; preds = %17916
  %17922 = load i32, ptr %450, align 4, !tbaa !5
  %17923 = call ptr @__errno_location() #12
  store i32 %17922, ptr %17923, align 4, !tbaa !5
  %17924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17925 = load i32, ptr @test_count, align 4, !tbaa !5
  %17926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17927 = load i32, ptr %17926, align 4, !tbaa !5
  %17928 = call ptr @s2n_strerror(i32 noundef %17927, ptr noundef @.str.80)
  %17929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17930 = load i32, ptr %17929, align 4, !tbaa !5
  %17931 = call ptr @s2n_strerror_debug(i32 noundef %17930, ptr noundef @.str.80)
  %17932 = call ptr @__errno_location() #12
  %17933 = load i32, ptr %17932, align 4, !tbaa !5
  %17934 = call ptr @strerror(i32 noundef %17933) #11
  %17935 = call ptr @__errno_location() #12
  %17936 = load i32, ptr %17935, align 4, !tbaa !5
  %17937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17924, ptr noundef @.str.78, i32 noundef %17925, ptr noundef @.str.248, ptr noundef @.str.77, i32 noundef 663, ptr noundef %17928, ptr noundef %17931, ptr noundef %17934, i32 noundef %17936) #11
  br label %17955

17938:                                            ; preds = %17916, %17909
  %17939 = load i32, ptr %450, align 4, !tbaa !5
  %17940 = call ptr @__errno_location() #12
  store i32 %17939, ptr %17940, align 4, !tbaa !5
  %17941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17942 = load i32, ptr @test_count, align 4, !tbaa !5
  %17943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17944 = load i32, ptr %17943, align 4, !tbaa !5
  %17945 = call ptr @s2n_strerror(i32 noundef %17944, ptr noundef @.str.80)
  %17946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17947 = load i32, ptr %17946, align 4, !tbaa !5
  %17948 = call ptr @s2n_strerror_debug(i32 noundef %17947, ptr noundef @.str.80)
  %17949 = call ptr @__errno_location() #12
  %17950 = load i32, ptr %17949, align 4, !tbaa !5
  %17951 = call ptr @strerror(i32 noundef %17950) #11
  %17952 = call ptr @__errno_location() #12
  %17953 = load i32, ptr %17952, align 4, !tbaa !5
  %17954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17941, ptr noundef @.str.81, i32 noundef %17942, ptr noundef @.str.248, ptr noundef @.str.77, i32 noundef 663, ptr noundef %17945, ptr noundef %17948, ptr noundef %17951, i32 noundef %17953) #11
  br label %17955

17955:                                            ; preds = %17938, %17921
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #11
  br label %17956

17956:                                            ; preds = %17955
  br label %17957

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

17958:                                            ; No predecessors!
  br label %17959

17959:                                            ; preds = %17958
  br label %17960

17960:                                            ; preds = %17959, %17896
  br label %17961

17961:                                            ; preds = %17960
  br label %17962

17962:                                            ; preds = %17961
  %17963 = load i32, ptr %443, align 4, !tbaa !5
  %17964 = load ptr, ptr %444, align 8, !tbaa !9
  %17965 = getelementptr inbounds %struct.s2n_psk, ptr %17964, i32 0, i32 3
  store i32 %17963, ptr %17965, align 8, !tbaa !20
  call void @llvm.lifetime.end.p0(i64 8, ptr %444) #11
  br label %17966

17966:                                            ; preds = %17962
  %17967 = load i32, ptr %443, align 4, !tbaa !5
  %17968 = add i32 %17967, 1
  store i32 %17968, ptr %443, align 4, !tbaa !5
  br label %17692, !llvm.loop !83

17969:                                            ; preds = %17695
  call void @llvm.lifetime.start.p0(i64 40, ptr %451) #11
  call void @llvm.memset.p0.i64(ptr align 8 %451, i8 0, i64 40, i1 false)
  br label %17970

17970:                                            ; preds = %17969
  %17971 = load i32, ptr @test_count, align 4, !tbaa !5
  %17972 = add nsw i32 %17971, 1
  store i32 %17972, ptr @test_count, align 4, !tbaa !5
  %17973 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %451, i32 noundef 0)
  %17974 = icmp eq i32 %17973, -1
  br i1 %17974, label %17975, label %18028

17975:                                            ; preds = %17970
  br label %17976

17976:                                            ; preds = %17975
  br label %17977

17977:                                            ; preds = %17976
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #11
  %17978 = call ptr @__errno_location() #12
  %17979 = load i32, ptr %17978, align 4, !tbaa !5
  store i32 %17979, ptr %452, align 4, !tbaa !5
  %17980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17981 = call i32 @s2n_print_stacktrace(ptr noundef %17980)
  %17982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17983 = trunc i8 %17982 to i1
  br i1 %17983, label %17984, label %18006

17984:                                            ; preds = %17977
  %17985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17986 = call i32 @fileno(ptr noundef %17985) #11
  %17987 = call i32 @isatty(i32 noundef %17986) #11
  %17988 = icmp ne i32 %17987, 0
  br i1 %17988, label %17989, label %18006

17989:                                            ; preds = %17984
  %17990 = load i32, ptr %452, align 4, !tbaa !5
  %17991 = call ptr @__errno_location() #12
  store i32 %17990, ptr %17991, align 4, !tbaa !5
  %17992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17993 = load i32, ptr @test_count, align 4, !tbaa !5
  %17994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17995 = load i32, ptr %17994, align 4, !tbaa !5
  %17996 = call ptr @s2n_strerror(i32 noundef %17995, ptr noundef @.str.80)
  %17997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17998 = load i32, ptr %17997, align 4, !tbaa !5
  %17999 = call ptr @s2n_strerror_debug(i32 noundef %17998, ptr noundef @.str.80)
  %18000 = call ptr @__errno_location() #12
  %18001 = load i32, ptr %18000, align 4, !tbaa !5
  %18002 = call ptr @strerror(i32 noundef %18001) #11
  %18003 = call ptr @__errno_location() #12
  %18004 = load i32, ptr %18003, align 4, !tbaa !5
  %18005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17992, ptr noundef @.str.78, i32 noundef %17993, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 668, ptr noundef %17996, ptr noundef %17999, ptr noundef %18002, i32 noundef %18004) #11
  br label %18023

18006:                                            ; preds = %17984, %17977
  %18007 = load i32, ptr %452, align 4, !tbaa !5
  %18008 = call ptr @__errno_location() #12
  store i32 %18007, ptr %18008, align 4, !tbaa !5
  %18009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18010 = load i32, ptr @test_count, align 4, !tbaa !5
  %18011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18012 = load i32, ptr %18011, align 4, !tbaa !5
  %18013 = call ptr @s2n_strerror(i32 noundef %18012, ptr noundef @.str.80)
  %18014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18015 = load i32, ptr %18014, align 4, !tbaa !5
  %18016 = call ptr @s2n_strerror_debug(i32 noundef %18015, ptr noundef @.str.80)
  %18017 = call ptr @__errno_location() #12
  %18018 = load i32, ptr %18017, align 4, !tbaa !5
  %18019 = call ptr @strerror(i32 noundef %18018) #11
  %18020 = call ptr @__errno_location() #12
  %18021 = load i32, ptr %18020, align 4, !tbaa !5
  %18022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18009, ptr noundef @.str.81, i32 noundef %18010, ptr noundef @.str.200, ptr noundef @.str.77, i32 noundef 668, ptr noundef %18013, ptr noundef %18016, ptr noundef %18019, i32 noundef %18021) #11
  br label %18023

18023:                                            ; preds = %18006, %17989
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #11
  br label %18024

18024:                                            ; preds = %18023
  br label %18025

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

18026:                                            ; No predecessors!
  br label %18027

18027:                                            ; preds = %18026
  br label %18028

18028:                                            ; preds = %18027, %17970
  br label %18029

18029:                                            ; preds = %18028
  br label %18030

18030:                                            ; preds = %18029
  br label %18031

18031:                                            ; preds = %18030
  %18032 = load i32, ptr @test_count, align 4, !tbaa !5
  %18033 = add nsw i32 %18032, 1
  store i32 %18033, ptr @test_count, align 4, !tbaa !5
  %18034 = load ptr, ptr %441, align 8, !tbaa !9
  %18035 = call i32 @s2n_psk_write_binder_list(ptr noundef %18034, ptr noundef %303, ptr noundef %451)
  %18036 = getelementptr inbounds %struct.s2n_result, ptr %453, i32 0, i32 0
  store i32 %18035, ptr %18036, align 4
  %18037 = getelementptr inbounds %struct.s2n_result, ptr %453, i32 0, i32 0
  %18038 = load i32, ptr %18037, align 4
  %18039 = call zeroext i1 @s2n_result_is_ok(i32 %18038)
  br i1 %18039, label %18093, label %18040

18040:                                            ; preds = %18031
  br label %18041

18041:                                            ; preds = %18040
  br label %18042

18042:                                            ; preds = %18041
  call void @llvm.lifetime.start.p0(i64 4, ptr %454) #11
  %18043 = call ptr @__errno_location() #12
  %18044 = load i32, ptr %18043, align 4, !tbaa !5
  store i32 %18044, ptr %454, align 4, !tbaa !5
  %18045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18046 = call i32 @s2n_print_stacktrace(ptr noundef %18045)
  %18047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18048 = trunc i8 %18047 to i1
  br i1 %18048, label %18049, label %18071

18049:                                            ; preds = %18042
  %18050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18051 = call i32 @fileno(ptr noundef %18050) #11
  %18052 = call i32 @isatty(i32 noundef %18051) #11
  %18053 = icmp ne i32 %18052, 0
  br i1 %18053, label %18054, label %18071

18054:                                            ; preds = %18049
  %18055 = load i32, ptr %454, align 4, !tbaa !5
  %18056 = call ptr @__errno_location() #12
  store i32 %18055, ptr %18056, align 4, !tbaa !5
  %18057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18058 = load i32, ptr @test_count, align 4, !tbaa !5
  %18059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18060 = load i32, ptr %18059, align 4, !tbaa !5
  %18061 = call ptr @s2n_strerror(i32 noundef %18060, ptr noundef @.str.80)
  %18062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18063 = load i32, ptr %18062, align 4, !tbaa !5
  %18064 = call ptr @s2n_strerror_debug(i32 noundef %18063, ptr noundef @.str.80)
  %18065 = call ptr @__errno_location() #12
  %18066 = load i32, ptr %18065, align 4, !tbaa !5
  %18067 = call ptr @strerror(i32 noundef %18066) #11
  %18068 = call ptr @__errno_location() #12
  %18069 = load i32, ptr %18068, align 4, !tbaa !5
  %18070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18057, ptr noundef @.str.78, i32 noundef %18058, ptr noundef @.str.205, ptr noundef @.str.77, i32 noundef 670, ptr noundef %18061, ptr noundef %18064, ptr noundef %18067, i32 noundef %18069) #11
  br label %18088

18071:                                            ; preds = %18049, %18042
  %18072 = load i32, ptr %454, align 4, !tbaa !5
  %18073 = call ptr @__errno_location() #12
  store i32 %18072, ptr %18073, align 4, !tbaa !5
  %18074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18075 = load i32, ptr @test_count, align 4, !tbaa !5
  %18076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18077 = load i32, ptr %18076, align 4, !tbaa !5
  %18078 = call ptr @s2n_strerror(i32 noundef %18077, ptr noundef @.str.80)
  %18079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18080 = load i32, ptr %18079, align 4, !tbaa !5
  %18081 = call ptr @s2n_strerror_debug(i32 noundef %18080, ptr noundef @.str.80)
  %18082 = call ptr @__errno_location() #12
  %18083 = load i32, ptr %18082, align 4, !tbaa !5
  %18084 = call ptr @strerror(i32 noundef %18083) #11
  %18085 = call ptr @__errno_location() #12
  %18086 = load i32, ptr %18085, align 4, !tbaa !5
  %18087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18074, ptr noundef @.str.81, i32 noundef %18075, ptr noundef @.str.205, ptr noundef @.str.77, i32 noundef 670, ptr noundef %18078, ptr noundef %18081, ptr noundef %18084, i32 noundef %18086) #11
  br label %18088

18088:                                            ; preds = %18071, %18054
  call void @llvm.lifetime.end.p0(i64 4, ptr %454) #11
  br label %18089

18089:                                            ; preds = %18088
  br label %18090

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

18091:                                            ; No predecessors!
  br label %18092

18092:                                            ; preds = %18091
  br label %18093

18093:                                            ; preds = %18092, %18031
  br label %18094

18094:                                            ; preds = %18093
  br label %18095

18095:                                            ; preds = %18094
  call void @llvm.lifetime.start.p0(i64 2, ptr %455) #11
  store i16 0, ptr %455, align 2, !tbaa !66
  br label %18096

18096:                                            ; preds = %18095
  %18097 = load i32, ptr @test_count, align 4, !tbaa !5
  %18098 = add nsw i32 %18097, 1
  store i32 %18098, ptr @test_count, align 4, !tbaa !5
  %18099 = call i32 @s2n_stuffer_read_uint16(ptr noundef %451, ptr noundef %455)
  %18100 = icmp eq i32 %18099, -1
  br i1 %18100, label %18101, label %18154

18101:                                            ; preds = %18096
  br label %18102

18102:                                            ; preds = %18101
  br label %18103

18103:                                            ; preds = %18102
  call void @llvm.lifetime.start.p0(i64 4, ptr %456) #11
  %18104 = call ptr @__errno_location() #12
  %18105 = load i32, ptr %18104, align 4, !tbaa !5
  store i32 %18105, ptr %456, align 4, !tbaa !5
  %18106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18107 = call i32 @s2n_print_stacktrace(ptr noundef %18106)
  %18108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18109 = trunc i8 %18108 to i1
  br i1 %18109, label %18110, label %18132

18110:                                            ; preds = %18103
  %18111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18112 = call i32 @fileno(ptr noundef %18111) #11
  %18113 = call i32 @isatty(i32 noundef %18112) #11
  %18114 = icmp ne i32 %18113, 0
  br i1 %18114, label %18115, label %18132

18115:                                            ; preds = %18110
  %18116 = load i32, ptr %456, align 4, !tbaa !5
  %18117 = call ptr @__errno_location() #12
  store i32 %18116, ptr %18117, align 4, !tbaa !5
  %18118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18119 = load i32, ptr @test_count, align 4, !tbaa !5
  %18120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18121 = load i32, ptr %18120, align 4, !tbaa !5
  %18122 = call ptr @s2n_strerror(i32 noundef %18121, ptr noundef @.str.80)
  %18123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18124 = load i32, ptr %18123, align 4, !tbaa !5
  %18125 = call ptr @s2n_strerror_debug(i32 noundef %18124, ptr noundef @.str.80)
  %18126 = call ptr @__errno_location() #12
  %18127 = load i32, ptr %18126, align 4, !tbaa !5
  %18128 = call ptr @strerror(i32 noundef %18127) #11
  %18129 = call ptr @__errno_location() #12
  %18130 = load i32, ptr %18129, align 4, !tbaa !5
  %18131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18118, ptr noundef @.str.78, i32 noundef %18119, ptr noundef @.str.206, ptr noundef @.str.77, i32 noundef 673, ptr noundef %18122, ptr noundef %18125, ptr noundef %18128, i32 noundef %18130) #11
  br label %18149

18132:                                            ; preds = %18110, %18103
  %18133 = load i32, ptr %456, align 4, !tbaa !5
  %18134 = call ptr @__errno_location() #12
  store i32 %18133, ptr %18134, align 4, !tbaa !5
  %18135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18136 = load i32, ptr @test_count, align 4, !tbaa !5
  %18137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18138 = load i32, ptr %18137, align 4, !tbaa !5
  %18139 = call ptr @s2n_strerror(i32 noundef %18138, ptr noundef @.str.80)
  %18140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18141 = load i32, ptr %18140, align 4, !tbaa !5
  %18142 = call ptr @s2n_strerror_debug(i32 noundef %18141, ptr noundef @.str.80)
  %18143 = call ptr @__errno_location() #12
  %18144 = load i32, ptr %18143, align 4, !tbaa !5
  %18145 = call ptr @strerror(i32 noundef %18144) #11
  %18146 = call ptr @__errno_location() #12
  %18147 = load i32, ptr %18146, align 4, !tbaa !5
  %18148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18135, ptr noundef @.str.81, i32 noundef %18136, ptr noundef @.str.206, ptr noundef @.str.77, i32 noundef 673, ptr noundef %18139, ptr noundef %18142, ptr noundef %18145, i32 noundef %18147) #11
  br label %18149

18149:                                            ; preds = %18132, %18115
  call void @llvm.lifetime.end.p0(i64 4, ptr %456) #11
  br label %18150

18150:                                            ; preds = %18149
  br label %18151

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

18152:                                            ; No predecessors!
  br label %18153

18153:                                            ; preds = %18152
  br label %18154

18154:                                            ; preds = %18153, %18096
  br label %18155

18155:                                            ; preds = %18154
  br label %18156

18156:                                            ; preds = %18155
  br label %18157

18157:                                            ; preds = %18156
  %18158 = load i32, ptr @test_count, align 4, !tbaa !5
  %18159 = add nsw i32 %18158, 1
  store i32 %18159, ptr @test_count, align 4, !tbaa !5
  %18160 = load i16, ptr %455, align 2, !tbaa !66
  %18161 = zext i16 %18160 to i32
  %18162 = getelementptr inbounds %struct.s2n_stuffer, ptr %451, i32 0, i32 2
  %18163 = load i32, ptr %18162, align 4, !tbaa !67
  %18164 = getelementptr inbounds %struct.s2n_stuffer, ptr %451, i32 0, i32 1
  %18165 = load i32, ptr %18164, align 8, !tbaa !68
  %18166 = sub i32 %18163, %18165
  %18167 = icmp eq i32 %18161, %18166
  br i1 %18167, label %18221, label %18168

18168:                                            ; preds = %18157
  br label %18169

18169:                                            ; preds = %18168
  br label %18170

18170:                                            ; preds = %18169
  call void @llvm.lifetime.start.p0(i64 4, ptr %457) #11
  %18171 = call ptr @__errno_location() #12
  %18172 = load i32, ptr %18171, align 4, !tbaa !5
  store i32 %18172, ptr %457, align 4, !tbaa !5
  %18173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18174 = call i32 @s2n_print_stacktrace(ptr noundef %18173)
  %18175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18176 = trunc i8 %18175 to i1
  br i1 %18176, label %18177, label %18199

18177:                                            ; preds = %18170
  %18178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18179 = call i32 @fileno(ptr noundef %18178) #11
  %18180 = call i32 @isatty(i32 noundef %18179) #11
  %18181 = icmp ne i32 %18180, 0
  br i1 %18181, label %18182, label %18199

18182:                                            ; preds = %18177
  %18183 = load i32, ptr %457, align 4, !tbaa !5
  %18184 = call ptr @__errno_location() #12
  store i32 %18183, ptr %18184, align 4, !tbaa !5
  %18185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18186 = load i32, ptr @test_count, align 4, !tbaa !5
  %18187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18188 = load i32, ptr %18187, align 4, !tbaa !5
  %18189 = call ptr @s2n_strerror(i32 noundef %18188, ptr noundef @.str.80)
  %18190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18191 = load i32, ptr %18190, align 4, !tbaa !5
  %18192 = call ptr @s2n_strerror_debug(i32 noundef %18191, ptr noundef @.str.80)
  %18193 = call ptr @__errno_location() #12
  %18194 = load i32, ptr %18193, align 4, !tbaa !5
  %18195 = call ptr @strerror(i32 noundef %18194) #11
  %18196 = call ptr @__errno_location() #12
  %18197 = load i32, ptr %18196, align 4, !tbaa !5
  %18198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18185, ptr noundef @.str.78, i32 noundef %18186, ptr noundef @.str.207, ptr noundef @.str.77, i32 noundef 674, ptr noundef %18189, ptr noundef %18192, ptr noundef %18195, i32 noundef %18197) #11
  br label %18216

18199:                                            ; preds = %18177, %18170
  %18200 = load i32, ptr %457, align 4, !tbaa !5
  %18201 = call ptr @__errno_location() #12
  store i32 %18200, ptr %18201, align 4, !tbaa !5
  %18202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18203 = load i32, ptr @test_count, align 4, !tbaa !5
  %18204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18205 = load i32, ptr %18204, align 4, !tbaa !5
  %18206 = call ptr @s2n_strerror(i32 noundef %18205, ptr noundef @.str.80)
  %18207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18208 = load i32, ptr %18207, align 4, !tbaa !5
  %18209 = call ptr @s2n_strerror_debug(i32 noundef %18208, ptr noundef @.str.80)
  %18210 = call ptr @__errno_location() #12
  %18211 = load i32, ptr %18210, align 4, !tbaa !5
  %18212 = call ptr @strerror(i32 noundef %18211) #11
  %18213 = call ptr @__errno_location() #12
  %18214 = load i32, ptr %18213, align 4, !tbaa !5
  %18215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18202, ptr noundef @.str.81, i32 noundef %18203, ptr noundef @.str.207, ptr noundef @.str.77, i32 noundef 674, ptr noundef %18206, ptr noundef %18209, ptr noundef %18212, i32 noundef %18214) #11
  br label %18216

18216:                                            ; preds = %18199, %18182
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #11
  br label %18217

18217:                                            ; preds = %18216
  br label %18218

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

18219:                                            ; No predecessors!
  br label %18220

18220:                                            ; preds = %18219
  br label %18221

18221:                                            ; preds = %18220, %18157
  br label %18222

18222:                                            ; preds = %18221
  br label %18223

18223:                                            ; preds = %18222
  call void @llvm.lifetime.start.p0(i64 4, ptr %458) #11
  store i32 4, ptr %458, align 4, !tbaa !5
  br label %18224

18224:                                            ; preds = %18506, %18223
  %18225 = load i32, ptr %458, align 4, !tbaa !5
  %18226 = icmp ule i32 %18225, 5
  br i1 %18226, label %18228, label %18227

18227:                                            ; preds = %18224
  store i32 1767, ptr %302, align 4
  br label %18509

18228:                                            ; preds = %18224
  call void @llvm.lifetime.start.p0(i64 1, ptr %459) #11
  store i8 0, ptr %459, align 1, !tbaa !26
  br label %18229

18229:                                            ; preds = %18228
  %18230 = load i32, ptr %458, align 4, !tbaa !5
  %18231 = call i32 @s2n_hmac_digest_size(i32 noundef %18230, ptr noundef %459)
  %18232 = icmp sgt i32 %18231, -1
  br i1 %18232, label %18234, label %18233

18233:                                            ; preds = %18229
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %302, align 4
  br label %18503

18234:                                            ; preds = %18229
  br label %18235

18235:                                            ; preds = %18234
  br label %18236

18236:                                            ; preds = %18235
  call void @llvm.lifetime.start.p0(i64 1, ptr %460) #11
  store i8 0, ptr %460, align 1, !tbaa !26
  br label %18237

18237:                                            ; preds = %18236
  %18238 = load i32, ptr @test_count, align 4, !tbaa !5
  %18239 = add nsw i32 %18238, 1
  store i32 %18239, ptr @test_count, align 4, !tbaa !5
  %18240 = call i32 @s2n_stuffer_read_uint8(ptr noundef %451, ptr noundef %460)
  %18241 = icmp eq i32 %18240, -1
  br i1 %18241, label %18242, label %18295

18242:                                            ; preds = %18237
  br label %18243

18243:                                            ; preds = %18242
  br label %18244

18244:                                            ; preds = %18243
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #11
  %18245 = call ptr @__errno_location() #12
  %18246 = load i32, ptr %18245, align 4, !tbaa !5
  store i32 %18246, ptr %461, align 4, !tbaa !5
  %18247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18248 = call i32 @s2n_print_stacktrace(ptr noundef %18247)
  %18249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18250 = trunc i8 %18249 to i1
  br i1 %18250, label %18251, label %18273

18251:                                            ; preds = %18244
  %18252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18253 = call i32 @fileno(ptr noundef %18252) #11
  %18254 = call i32 @isatty(i32 noundef %18253) #11
  %18255 = icmp ne i32 %18254, 0
  br i1 %18255, label %18256, label %18273

18256:                                            ; preds = %18251
  %18257 = load i32, ptr %461, align 4, !tbaa !5
  %18258 = call ptr @__errno_location() #12
  store i32 %18257, ptr %18258, align 4, !tbaa !5
  %18259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18260 = load i32, ptr @test_count, align 4, !tbaa !5
  %18261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18262 = load i32, ptr %18261, align 4, !tbaa !5
  %18263 = call ptr @s2n_strerror(i32 noundef %18262, ptr noundef @.str.80)
  %18264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18265 = load i32, ptr %18264, align 4, !tbaa !5
  %18266 = call ptr @s2n_strerror_debug(i32 noundef %18265, ptr noundef @.str.80)
  %18267 = call ptr @__errno_location() #12
  %18268 = load i32, ptr %18267, align 4, !tbaa !5
  %18269 = call ptr @strerror(i32 noundef %18268) #11
  %18270 = call ptr @__errno_location() #12
  %18271 = load i32, ptr %18270, align 4, !tbaa !5
  %18272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18259, ptr noundef @.str.78, i32 noundef %18260, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 681, ptr noundef %18263, ptr noundef %18266, ptr noundef %18269, i32 noundef %18271) #11
  br label %18290

18273:                                            ; preds = %18251, %18244
  %18274 = load i32, ptr %461, align 4, !tbaa !5
  %18275 = call ptr @__errno_location() #12
  store i32 %18274, ptr %18275, align 4, !tbaa !5
  %18276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18277 = load i32, ptr @test_count, align 4, !tbaa !5
  %18278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18279 = load i32, ptr %18278, align 4, !tbaa !5
  %18280 = call ptr @s2n_strerror(i32 noundef %18279, ptr noundef @.str.80)
  %18281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18282 = load i32, ptr %18281, align 4, !tbaa !5
  %18283 = call ptr @s2n_strerror_debug(i32 noundef %18282, ptr noundef @.str.80)
  %18284 = call ptr @__errno_location() #12
  %18285 = load i32, ptr %18284, align 4, !tbaa !5
  %18286 = call ptr @strerror(i32 noundef %18285) #11
  %18287 = call ptr @__errno_location() #12
  %18288 = load i32, ptr %18287, align 4, !tbaa !5
  %18289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18276, ptr noundef @.str.81, i32 noundef %18277, ptr noundef @.str.208, ptr noundef @.str.77, i32 noundef 681, ptr noundef %18280, ptr noundef %18283, ptr noundef %18286, i32 noundef %18288) #11
  br label %18290

18290:                                            ; preds = %18273, %18256
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #11
  br label %18291

18291:                                            ; preds = %18290
  br label %18292

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

18293:                                            ; No predecessors!
  br label %18294

18294:                                            ; preds = %18293
  br label %18295

18295:                                            ; preds = %18294, %18237
  br label %18296

18296:                                            ; preds = %18295
  br label %18297

18297:                                            ; preds = %18296
  br label %18298

18298:                                            ; preds = %18297
  %18299 = load i32, ptr @test_count, align 4, !tbaa !5
  %18300 = add nsw i32 %18299, 1
  store i32 %18300, ptr @test_count, align 4, !tbaa !5
  %18301 = load i8, ptr %460, align 1, !tbaa !26
  %18302 = zext i8 %18301 to i32
  %18303 = load i8, ptr %459, align 1, !tbaa !26
  %18304 = zext i8 %18303 to i32
  %18305 = icmp eq i32 %18302, %18304
  br i1 %18305, label %18359, label %18306

18306:                                            ; preds = %18298
  br label %18307

18307:                                            ; preds = %18306
  br label %18308

18308:                                            ; preds = %18307
  call void @llvm.lifetime.start.p0(i64 4, ptr %462) #11
  %18309 = call ptr @__errno_location() #12
  %18310 = load i32, ptr %18309, align 4, !tbaa !5
  store i32 %18310, ptr %462, align 4, !tbaa !5
  %18311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18312 = call i32 @s2n_print_stacktrace(ptr noundef %18311)
  %18313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18314 = trunc i8 %18313 to i1
  br i1 %18314, label %18315, label %18337

18315:                                            ; preds = %18308
  %18316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18317 = call i32 @fileno(ptr noundef %18316) #11
  %18318 = call i32 @isatty(i32 noundef %18317) #11
  %18319 = icmp ne i32 %18318, 0
  br i1 %18319, label %18320, label %18337

18320:                                            ; preds = %18315
  %18321 = load i32, ptr %462, align 4, !tbaa !5
  %18322 = call ptr @__errno_location() #12
  store i32 %18321, ptr %18322, align 4, !tbaa !5
  %18323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18324 = load i32, ptr @test_count, align 4, !tbaa !5
  %18325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18326 = load i32, ptr %18325, align 4, !tbaa !5
  %18327 = call ptr @s2n_strerror(i32 noundef %18326, ptr noundef @.str.80)
  %18328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18329 = load i32, ptr %18328, align 4, !tbaa !5
  %18330 = call ptr @s2n_strerror_debug(i32 noundef %18329, ptr noundef @.str.80)
  %18331 = call ptr @__errno_location() #12
  %18332 = load i32, ptr %18331, align 4, !tbaa !5
  %18333 = call ptr @strerror(i32 noundef %18332) #11
  %18334 = call ptr @__errno_location() #12
  %18335 = load i32, ptr %18334, align 4, !tbaa !5
  %18336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18323, ptr noundef @.str.78, i32 noundef %18324, ptr noundef @.str.249, ptr noundef @.str.77, i32 noundef 682, ptr noundef %18327, ptr noundef %18330, ptr noundef %18333, i32 noundef %18335) #11
  br label %18354

18337:                                            ; preds = %18315, %18308
  %18338 = load i32, ptr %462, align 4, !tbaa !5
  %18339 = call ptr @__errno_location() #12
  store i32 %18338, ptr %18339, align 4, !tbaa !5
  %18340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18341 = load i32, ptr @test_count, align 4, !tbaa !5
  %18342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18343 = load i32, ptr %18342, align 4, !tbaa !5
  %18344 = call ptr @s2n_strerror(i32 noundef %18343, ptr noundef @.str.80)
  %18345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18346 = load i32, ptr %18345, align 4, !tbaa !5
  %18347 = call ptr @s2n_strerror_debug(i32 noundef %18346, ptr noundef @.str.80)
  %18348 = call ptr @__errno_location() #12
  %18349 = load i32, ptr %18348, align 4, !tbaa !5
  %18350 = call ptr @strerror(i32 noundef %18349) #11
  %18351 = call ptr @__errno_location() #12
  %18352 = load i32, ptr %18351, align 4, !tbaa !5
  %18353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18340, ptr noundef @.str.81, i32 noundef %18341, ptr noundef @.str.249, ptr noundef @.str.77, i32 noundef 682, ptr noundef %18344, ptr noundef %18347, ptr noundef %18350, i32 noundef %18352) #11
  br label %18354

18354:                                            ; preds = %18337, %18320
  call void @llvm.lifetime.end.p0(i64 4, ptr %462) #11
  br label %18355

18355:                                            ; preds = %18354
  br label %18356

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

18357:                                            ; No predecessors!
  br label %18358

18358:                                            ; preds = %18357
  br label %18359

18359:                                            ; preds = %18358, %18298
  br label %18360

18360:                                            ; preds = %18359
  br label %18361

18361:                                            ; preds = %18360
  call void @llvm.lifetime.start.p0(i64 8, ptr %463) #11
  store ptr null, ptr %463, align 8, !tbaa !9
  br label %18362

18362:                                            ; preds = %18361
  %18363 = load i32, ptr @test_count, align 4, !tbaa !5
  %18364 = add nsw i32 %18363, 1
  store i32 %18364, ptr @test_count, align 4, !tbaa !5
  %18365 = load i8, ptr %460, align 1, !tbaa !26
  %18366 = zext i8 %18365 to i32
  %18367 = call ptr @s2n_stuffer_raw_read(ptr noundef %451, i32 noundef %18366)
  store ptr %18367, ptr %463, align 8, !tbaa !9
  %18368 = icmp eq ptr %18367, null
  br i1 %18368, label %18369, label %18422

18369:                                            ; preds = %18362
  br label %18370

18370:                                            ; preds = %18369
  br label %18371

18371:                                            ; preds = %18370
  call void @llvm.lifetime.start.p0(i64 4, ptr %464) #11
  %18372 = call ptr @__errno_location() #12
  %18373 = load i32, ptr %18372, align 4, !tbaa !5
  store i32 %18373, ptr %464, align 4, !tbaa !5
  %18374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18375 = call i32 @s2n_print_stacktrace(ptr noundef %18374)
  %18376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18377 = trunc i8 %18376 to i1
  br i1 %18377, label %18378, label %18400

18378:                                            ; preds = %18371
  %18379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18380 = call i32 @fileno(ptr noundef %18379) #11
  %18381 = call i32 @isatty(i32 noundef %18380) #11
  %18382 = icmp ne i32 %18381, 0
  br i1 %18382, label %18383, label %18400

18383:                                            ; preds = %18378
  %18384 = load i32, ptr %464, align 4, !tbaa !5
  %18385 = call ptr @__errno_location() #12
  store i32 %18384, ptr %18385, align 4, !tbaa !5
  %18386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18387 = load i32, ptr @test_count, align 4, !tbaa !5
  %18388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18389 = load i32, ptr %18388, align 4, !tbaa !5
  %18390 = call ptr @s2n_strerror(i32 noundef %18389, ptr noundef @.str.80)
  %18391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18392 = load i32, ptr %18391, align 4, !tbaa !5
  %18393 = call ptr @s2n_strerror_debug(i32 noundef %18392, ptr noundef @.str.80)
  %18394 = call ptr @__errno_location() #12
  %18395 = load i32, ptr %18394, align 4, !tbaa !5
  %18396 = call ptr @strerror(i32 noundef %18395) #11
  %18397 = call ptr @__errno_location() #12
  %18398 = load i32, ptr %18397, align 4, !tbaa !5
  %18399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18386, ptr noundef @.str.78, i32 noundef %18387, ptr noundef @.str.243, ptr noundef @.str.77, i32 noundef 685, ptr noundef %18390, ptr noundef %18393, ptr noundef %18396, i32 noundef %18398) #11
  br label %18417

18400:                                            ; preds = %18378, %18371
  %18401 = load i32, ptr %464, align 4, !tbaa !5
  %18402 = call ptr @__errno_location() #12
  store i32 %18401, ptr %18402, align 4, !tbaa !5
  %18403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18404 = load i32, ptr @test_count, align 4, !tbaa !5
  %18405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18406 = load i32, ptr %18405, align 4, !tbaa !5
  %18407 = call ptr @s2n_strerror(i32 noundef %18406, ptr noundef @.str.80)
  %18408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18409 = load i32, ptr %18408, align 4, !tbaa !5
  %18410 = call ptr @s2n_strerror_debug(i32 noundef %18409, ptr noundef @.str.80)
  %18411 = call ptr @__errno_location() #12
  %18412 = load i32, ptr %18411, align 4, !tbaa !5
  %18413 = call ptr @strerror(i32 noundef %18412) #11
  %18414 = call ptr @__errno_location() #12
  %18415 = load i32, ptr %18414, align 4, !tbaa !5
  %18416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18403, ptr noundef @.str.81, i32 noundef %18404, ptr noundef @.str.243, ptr noundef @.str.77, i32 noundef 685, ptr noundef %18407, ptr noundef %18410, ptr noundef %18413, i32 noundef %18415) #11
  br label %18417

18417:                                            ; preds = %18400, %18383
  call void @llvm.lifetime.end.p0(i64 4, ptr %464) #11
  br label %18418

18418:                                            ; preds = %18417
  br label %18419

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

18420:                                            ; No predecessors!
  br label %18421

18421:                                            ; preds = %18420
  br label %18422

18422:                                            ; preds = %18421, %18362
  br label %18423

18423:                                            ; preds = %18422
  br label %18424

18424:                                            ; preds = %18423
  %18425 = load i32, ptr %458, align 4, !tbaa !5
  %18426 = icmp eq i32 %18425, 4
  br i1 %18426, label %18427, label %18502

18427:                                            ; preds = %18424
  br label %18428

18428:                                            ; preds = %18427
  %18429 = load i8, ptr %460, align 1, !tbaa !26
  %18430 = zext i8 %18429 to i32
  %18431 = icmp ne i32 %18430, 0
  br i1 %18431, label %18432, label %18499

18432:                                            ; preds = %18428
  br label %18433

18433:                                            ; preds = %18432
  %18434 = load i32, ptr @test_count, align 4, !tbaa !5
  %18435 = add nsw i32 %18434, 1
  store i32 %18435, ptr @test_count, align 4, !tbaa !5
  %18436 = load ptr, ptr %463, align 8, !tbaa !9
  %18437 = getelementptr inbounds %struct.s2n_blob, ptr %313, i32 0, i32 0
  %18438 = load ptr, ptr %18437, align 8, !tbaa !80
  %18439 = load i8, ptr %460, align 1, !tbaa !26
  %18440 = zext i8 %18439 to i64
  %18441 = call i32 @memcmp(ptr noundef %18436, ptr noundef %18438, i64 noundef %18440) #14
  %18442 = icmp eq i32 %18441, 0
  br i1 %18442, label %18496, label %18443

18443:                                            ; preds = %18433
  br label %18444

18444:                                            ; preds = %18443
  br label %18445

18445:                                            ; preds = %18444
  call void @llvm.lifetime.start.p0(i64 4, ptr %465) #11
  %18446 = call ptr @__errno_location() #12
  %18447 = load i32, ptr %18446, align 4, !tbaa !5
  store i32 %18447, ptr %465, align 4, !tbaa !5
  %18448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18449 = call i32 @s2n_print_stacktrace(ptr noundef %18448)
  %18450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18451 = trunc i8 %18450 to i1
  br i1 %18451, label %18452, label %18474

18452:                                            ; preds = %18445
  %18453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18454 = call i32 @fileno(ptr noundef %18453) #11
  %18455 = call i32 @isatty(i32 noundef %18454) #11
  %18456 = icmp ne i32 %18455, 0
  br i1 %18456, label %18457, label %18474

18457:                                            ; preds = %18452
  %18458 = load i32, ptr %465, align 4, !tbaa !5
  %18459 = call ptr @__errno_location() #12
  store i32 %18458, ptr %18459, align 4, !tbaa !5
  %18460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18461 = load i32, ptr @test_count, align 4, !tbaa !5
  %18462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18463 = load i32, ptr %18462, align 4, !tbaa !5
  %18464 = call ptr @s2n_strerror(i32 noundef %18463, ptr noundef @.str.80)
  %18465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18466 = load i32, ptr %18465, align 4, !tbaa !5
  %18467 = call ptr @s2n_strerror_debug(i32 noundef %18466, ptr noundef @.str.80)
  %18468 = call ptr @__errno_location() #12
  %18469 = load i32, ptr %18468, align 4, !tbaa !5
  %18470 = call ptr @strerror(i32 noundef %18469) #11
  %18471 = call ptr @__errno_location() #12
  %18472 = load i32, ptr %18471, align 4, !tbaa !5
  %18473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18460, ptr noundef @.str.78, i32 noundef %18461, ptr noundef @.str.244, ptr noundef @.str.77, i32 noundef 689, ptr noundef %18464, ptr noundef %18467, ptr noundef %18470, i32 noundef %18472) #11
  br label %18491

18474:                                            ; preds = %18452, %18445
  %18475 = load i32, ptr %465, align 4, !tbaa !5
  %18476 = call ptr @__errno_location() #12
  store i32 %18475, ptr %18476, align 4, !tbaa !5
  %18477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18478 = load i32, ptr @test_count, align 4, !tbaa !5
  %18479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18480 = load i32, ptr %18479, align 4, !tbaa !5
  %18481 = call ptr @s2n_strerror(i32 noundef %18480, ptr noundef @.str.80)
  %18482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18483 = load i32, ptr %18482, align 4, !tbaa !5
  %18484 = call ptr @s2n_strerror_debug(i32 noundef %18483, ptr noundef @.str.80)
  %18485 = call ptr @__errno_location() #12
  %18486 = load i32, ptr %18485, align 4, !tbaa !5
  %18487 = call ptr @strerror(i32 noundef %18486) #11
  %18488 = call ptr @__errno_location() #12
  %18489 = load i32, ptr %18488, align 4, !tbaa !5
  %18490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18477, ptr noundef @.str.81, i32 noundef %18478, ptr noundef @.str.244, ptr noundef @.str.77, i32 noundef 689, ptr noundef %18481, ptr noundef %18484, ptr noundef %18487, i32 noundef %18489) #11
  br label %18491

18491:                                            ; preds = %18474, %18457
  call void @llvm.lifetime.end.p0(i64 4, ptr %465) #11
  br label %18492

18492:                                            ; preds = %18491
  br label %18493

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

18494:                                            ; No predecessors!
  br label %18495

18495:                                            ; preds = %18494
  br label %18496

18496:                                            ; preds = %18495, %18433
  br label %18497

18497:                                            ; preds = %18496
  br label %18498

18498:                                            ; preds = %18497
  br label %18499

18499:                                            ; preds = %18498, %18428
  br label %18500

18500:                                            ; preds = %18499
  br label %18501

18501:                                            ; preds = %18500
  br label %18502

18502:                                            ; preds = %18501, %18424
  call void @llvm.lifetime.end.p0(i64 8, ptr %463) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %460) #11
  store i32 0, ptr %302, align 4
  br label %18503

18503:                                            ; preds = %18502, %18233
  call void @llvm.lifetime.end.p0(i64 1, ptr %459) #11
  %18504 = load i32, ptr %302, align 4
  switch i32 %18504, label %18509 [
    i32 0, label %18505
  ]

18505:                                            ; preds = %18503
  br label %18506

18506:                                            ; preds = %18505
  %18507 = load i32, ptr %458, align 4, !tbaa !5
  %18508 = add i32 %18507, 1
  store i32 %18508, ptr %458, align 4, !tbaa !5
  br label %18224, !llvm.loop !84

18509:                                            ; preds = %18503, %18227
  call void @llvm.lifetime.end.p0(i64 4, ptr %458) #11
  %18510 = load i32, ptr %302, align 4
  switch i32 %18510, label %18700 [
    i32 1767, label %18511
  ]

18511:                                            ; preds = %18509
  br label %18512

18512:                                            ; preds = %18511
  %18513 = load i32, ptr @test_count, align 4, !tbaa !5
  %18514 = add nsw i32 %18513, 1
  store i32 %18514, ptr @test_count, align 4, !tbaa !5
  %18515 = getelementptr inbounds %struct.s2n_stuffer, ptr %451, i32 0, i32 2
  %18516 = load i32, ptr %18515, align 4, !tbaa !67
  %18517 = getelementptr inbounds %struct.s2n_stuffer, ptr %451, i32 0, i32 1
  %18518 = load i32, ptr %18517, align 8, !tbaa !68
  %18519 = sub i32 %18516, %18518
  %18520 = icmp eq i32 %18519, 0
  br i1 %18520, label %18574, label %18521

18521:                                            ; preds = %18512
  br label %18522

18522:                                            ; preds = %18521
  br label %18523

18523:                                            ; preds = %18522
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #11
  %18524 = call ptr @__errno_location() #12
  %18525 = load i32, ptr %18524, align 4, !tbaa !5
  store i32 %18525, ptr %466, align 4, !tbaa !5
  %18526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18527 = call i32 @s2n_print_stacktrace(ptr noundef %18526)
  %18528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18529 = trunc i8 %18528 to i1
  br i1 %18529, label %18530, label %18552

18530:                                            ; preds = %18523
  %18531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18532 = call i32 @fileno(ptr noundef %18531) #11
  %18533 = call i32 @isatty(i32 noundef %18532) #11
  %18534 = icmp ne i32 %18533, 0
  br i1 %18534, label %18535, label %18552

18535:                                            ; preds = %18530
  %18536 = load i32, ptr %466, align 4, !tbaa !5
  %18537 = call ptr @__errno_location() #12
  store i32 %18536, ptr %18537, align 4, !tbaa !5
  %18538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18539 = load i32, ptr @test_count, align 4, !tbaa !5
  %18540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18541 = load i32, ptr %18540, align 4, !tbaa !5
  %18542 = call ptr @s2n_strerror(i32 noundef %18541, ptr noundef @.str.80)
  %18543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18544 = load i32, ptr %18543, align 4, !tbaa !5
  %18545 = call ptr @s2n_strerror_debug(i32 noundef %18544, ptr noundef @.str.80)
  %18546 = call ptr @__errno_location() #12
  %18547 = load i32, ptr %18546, align 4, !tbaa !5
  %18548 = call ptr @strerror(i32 noundef %18547) #11
  %18549 = call ptr @__errno_location() #12
  %18550 = load i32, ptr %18549, align 4, !tbaa !5
  %18551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18538, ptr noundef @.str.78, i32 noundef %18539, ptr noundef @.str.210, ptr noundef @.str.77, i32 noundef 693, ptr noundef %18542, ptr noundef %18545, ptr noundef %18548, i32 noundef %18550) #11
  br label %18569

18552:                                            ; preds = %18530, %18523
  %18553 = load i32, ptr %466, align 4, !tbaa !5
  %18554 = call ptr @__errno_location() #12
  store i32 %18553, ptr %18554, align 4, !tbaa !5
  %18555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18556 = load i32, ptr @test_count, align 4, !tbaa !5
  %18557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18558 = load i32, ptr %18557, align 4, !tbaa !5
  %18559 = call ptr @s2n_strerror(i32 noundef %18558, ptr noundef @.str.80)
  %18560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18561 = load i32, ptr %18560, align 4, !tbaa !5
  %18562 = call ptr @s2n_strerror_debug(i32 noundef %18561, ptr noundef @.str.80)
  %18563 = call ptr @__errno_location() #12
  %18564 = load i32, ptr %18563, align 4, !tbaa !5
  %18565 = call ptr @strerror(i32 noundef %18564) #11
  %18566 = call ptr @__errno_location() #12
  %18567 = load i32, ptr %18566, align 4, !tbaa !5
  %18568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18555, ptr noundef @.str.81, i32 noundef %18556, ptr noundef @.str.210, ptr noundef @.str.77, i32 noundef 693, ptr noundef %18559, ptr noundef %18562, ptr noundef %18565, i32 noundef %18567) #11
  br label %18569

18569:                                            ; preds = %18552, %18535
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #11
  br label %18570

18570:                                            ; preds = %18569
  br label %18571

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

18572:                                            ; No predecessors!
  br label %18573

18573:                                            ; preds = %18572
  br label %18574

18574:                                            ; preds = %18573, %18512
  br label %18575

18575:                                            ; preds = %18574
  br label %18576

18576:                                            ; preds = %18575
  br label %18577

18577:                                            ; preds = %18576
  %18578 = load i32, ptr @test_count, align 4, !tbaa !5
  %18579 = add nsw i32 %18578, 1
  store i32 %18579, ptr @test_count, align 4, !tbaa !5
  %18580 = load ptr, ptr %441, align 8, !tbaa !9
  %18581 = call i32 @s2n_connection_free(ptr noundef %18580)
  %18582 = icmp eq i32 %18581, -1
  br i1 %18582, label %18583, label %18636

18583:                                            ; preds = %18577
  br label %18584

18584:                                            ; preds = %18583
  br label %18585

18585:                                            ; preds = %18584
  call void @llvm.lifetime.start.p0(i64 4, ptr %467) #11
  %18586 = call ptr @__errno_location() #12
  %18587 = load i32, ptr %18586, align 4, !tbaa !5
  store i32 %18587, ptr %467, align 4, !tbaa !5
  %18588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18589 = call i32 @s2n_print_stacktrace(ptr noundef %18588)
  %18590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18591 = trunc i8 %18590 to i1
  br i1 %18591, label %18592, label %18614

18592:                                            ; preds = %18585
  %18593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18594 = call i32 @fileno(ptr noundef %18593) #11
  %18595 = call i32 @isatty(i32 noundef %18594) #11
  %18596 = icmp ne i32 %18595, 0
  br i1 %18596, label %18597, label %18614

18597:                                            ; preds = %18592
  %18598 = load i32, ptr %467, align 4, !tbaa !5
  %18599 = call ptr @__errno_location() #12
  store i32 %18598, ptr %18599, align 4, !tbaa !5
  %18600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18601 = load i32, ptr @test_count, align 4, !tbaa !5
  %18602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18603 = load i32, ptr %18602, align 4, !tbaa !5
  %18604 = call ptr @s2n_strerror(i32 noundef %18603, ptr noundef @.str.80)
  %18605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18606 = load i32, ptr %18605, align 4, !tbaa !5
  %18607 = call ptr @s2n_strerror_debug(i32 noundef %18606, ptr noundef @.str.80)
  %18608 = call ptr @__errno_location() #12
  %18609 = load i32, ptr %18608, align 4, !tbaa !5
  %18610 = call ptr @strerror(i32 noundef %18609) #11
  %18611 = call ptr @__errno_location() #12
  %18612 = load i32, ptr %18611, align 4, !tbaa !5
  %18613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18600, ptr noundef @.str.78, i32 noundef %18601, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 695, ptr noundef %18604, ptr noundef %18607, ptr noundef %18610, i32 noundef %18612) #11
  br label %18631

18614:                                            ; preds = %18592, %18585
  %18615 = load i32, ptr %467, align 4, !tbaa !5
  %18616 = call ptr @__errno_location() #12
  store i32 %18615, ptr %18616, align 4, !tbaa !5
  %18617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18618 = load i32, ptr @test_count, align 4, !tbaa !5
  %18619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18620 = load i32, ptr %18619, align 4, !tbaa !5
  %18621 = call ptr @s2n_strerror(i32 noundef %18620, ptr noundef @.str.80)
  %18622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18623 = load i32, ptr %18622, align 4, !tbaa !5
  %18624 = call ptr @s2n_strerror_debug(i32 noundef %18623, ptr noundef @.str.80)
  %18625 = call ptr @__errno_location() #12
  %18626 = load i32, ptr %18625, align 4, !tbaa !5
  %18627 = call ptr @strerror(i32 noundef %18626) #11
  %18628 = call ptr @__errno_location() #12
  %18629 = load i32, ptr %18628, align 4, !tbaa !5
  %18630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18617, ptr noundef @.str.81, i32 noundef %18618, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 695, ptr noundef %18621, ptr noundef %18624, ptr noundef %18627, i32 noundef %18629) #11
  br label %18631

18631:                                            ; preds = %18614, %18597
  call void @llvm.lifetime.end.p0(i64 4, ptr %467) #11
  br label %18632

18632:                                            ; preds = %18631
  br label %18633

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

18634:                                            ; No predecessors!
  br label %18635

18635:                                            ; preds = %18634
  br label %18636

18636:                                            ; preds = %18635, %18577
  br label %18637

18637:                                            ; preds = %18636
  br label %18638

18638:                                            ; preds = %18637
  br label %18639

18639:                                            ; preds = %18638
  %18640 = load i32, ptr @test_count, align 4, !tbaa !5
  %18641 = add nsw i32 %18640, 1
  store i32 %18641, ptr @test_count, align 4, !tbaa !5
  %18642 = call i32 @s2n_stuffer_free(ptr noundef %451)
  %18643 = icmp eq i32 %18642, -1
  br i1 %18643, label %18644, label %18697

18644:                                            ; preds = %18639
  br label %18645

18645:                                            ; preds = %18644
  br label %18646

18646:                                            ; preds = %18645
  call void @llvm.lifetime.start.p0(i64 4, ptr %468) #11
  %18647 = call ptr @__errno_location() #12
  %18648 = load i32, ptr %18647, align 4, !tbaa !5
  store i32 %18648, ptr %468, align 4, !tbaa !5
  %18649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18650 = call i32 @s2n_print_stacktrace(ptr noundef %18649)
  %18651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18652 = trunc i8 %18651 to i1
  br i1 %18652, label %18653, label %18675

18653:                                            ; preds = %18646
  %18654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18655 = call i32 @fileno(ptr noundef %18654) #11
  %18656 = call i32 @isatty(i32 noundef %18655) #11
  %18657 = icmp ne i32 %18656, 0
  br i1 %18657, label %18658, label %18675

18658:                                            ; preds = %18653
  %18659 = load i32, ptr %468, align 4, !tbaa !5
  %18660 = call ptr @__errno_location() #12
  store i32 %18659, ptr %18660, align 4, !tbaa !5
  %18661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18662 = load i32, ptr @test_count, align 4, !tbaa !5
  %18663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18664 = load i32, ptr %18663, align 4, !tbaa !5
  %18665 = call ptr @s2n_strerror(i32 noundef %18664, ptr noundef @.str.80)
  %18666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18667 = load i32, ptr %18666, align 4, !tbaa !5
  %18668 = call ptr @s2n_strerror_debug(i32 noundef %18667, ptr noundef @.str.80)
  %18669 = call ptr @__errno_location() #12
  %18670 = load i32, ptr %18669, align 4, !tbaa !5
  %18671 = call ptr @strerror(i32 noundef %18670) #11
  %18672 = call ptr @__errno_location() #12
  %18673 = load i32, ptr %18672, align 4, !tbaa !5
  %18674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18661, ptr noundef @.str.78, i32 noundef %18662, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 696, ptr noundef %18665, ptr noundef %18668, ptr noundef %18671, i32 noundef %18673) #11
  br label %18692

18675:                                            ; preds = %18653, %18646
  %18676 = load i32, ptr %468, align 4, !tbaa !5
  %18677 = call ptr @__errno_location() #12
  store i32 %18676, ptr %18677, align 4, !tbaa !5
  %18678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18679 = load i32, ptr @test_count, align 4, !tbaa !5
  %18680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18681 = load i32, ptr %18680, align 4, !tbaa !5
  %18682 = call ptr @s2n_strerror(i32 noundef %18681, ptr noundef @.str.80)
  %18683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18684 = load i32, ptr %18683, align 4, !tbaa !5
  %18685 = call ptr @s2n_strerror_debug(i32 noundef %18684, ptr noundef @.str.80)
  %18686 = call ptr @__errno_location() #12
  %18687 = load i32, ptr %18686, align 4, !tbaa !5
  %18688 = call ptr @strerror(i32 noundef %18687) #11
  %18689 = call ptr @__errno_location() #12
  %18690 = load i32, ptr %18689, align 4, !tbaa !5
  %18691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18678, ptr noundef @.str.81, i32 noundef %18679, ptr noundef @.str.211, ptr noundef @.str.77, i32 noundef 696, ptr noundef %18682, ptr noundef %18685, ptr noundef %18688, i32 noundef %18690) #11
  br label %18692

18692:                                            ; preds = %18675, %18658
  call void @llvm.lifetime.end.p0(i64 4, ptr %468) #11
  br label %18693

18693:                                            ; preds = %18692
  br label %18694

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

18695:                                            ; No predecessors!
  br label %18696

18696:                                            ; preds = %18695
  br label %18697

18697:                                            ; preds = %18696, %18639
  br label %18698

18698:                                            ; preds = %18697
  br label %18699

18699:                                            ; preds = %18698
  store i32 0, ptr %302, align 4
  br label %18700

18700:                                            ; preds = %18699, %18509
  call void @llvm.lifetime.end.p0(i64 2, ptr %455) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %451) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %441) #11
  %18701 = load i32, ptr %302, align 4
  switch i32 %18701, label %19452 [
    i32 0, label %18702
  ]

18702:                                            ; preds = %18700
  call void @llvm.lifetime.start.p0(i64 8, ptr %469) #11
  store ptr null, ptr %469, align 8, !tbaa !9
  br label %18703

18703:                                            ; preds = %18702
  %18704 = load i32, ptr @test_count, align 4, !tbaa !5
  %18705 = add nsw i32 %18704, 1
  store i32 %18705, ptr @test_count, align 4, !tbaa !5
  %18706 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %18706, ptr %469, align 8, !tbaa !9
  %18707 = icmp eq ptr %18706, null
  br i1 %18707, label %18708, label %18761

18708:                                            ; preds = %18703
  br label %18709

18709:                                            ; preds = %18708
  br label %18710

18710:                                            ; preds = %18709
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #11
  %18711 = call ptr @__errno_location() #12
  %18712 = load i32, ptr %18711, align 4, !tbaa !5
  store i32 %18712, ptr %470, align 4, !tbaa !5
  %18713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18714 = call i32 @s2n_print_stacktrace(ptr noundef %18713)
  %18715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18716 = trunc i8 %18715 to i1
  br i1 %18716, label %18717, label %18739

18717:                                            ; preds = %18710
  %18718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18719 = call i32 @fileno(ptr noundef %18718) #11
  %18720 = call i32 @isatty(i32 noundef %18719) #11
  %18721 = icmp ne i32 %18720, 0
  br i1 %18721, label %18722, label %18739

18722:                                            ; preds = %18717
  %18723 = load i32, ptr %470, align 4, !tbaa !5
  %18724 = call ptr @__errno_location() #12
  store i32 %18723, ptr %18724, align 4, !tbaa !5
  %18725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18726 = load i32, ptr @test_count, align 4, !tbaa !5
  %18727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18728 = load i32, ptr %18727, align 4, !tbaa !5
  %18729 = call ptr @s2n_strerror(i32 noundef %18728, ptr noundef @.str.80)
  %18730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18731 = load i32, ptr %18730, align 4, !tbaa !5
  %18732 = call ptr @s2n_strerror_debug(i32 noundef %18731, ptr noundef @.str.80)
  %18733 = call ptr @__errno_location() #12
  %18734 = load i32, ptr %18733, align 4, !tbaa !5
  %18735 = call ptr @strerror(i32 noundef %18734) #11
  %18736 = call ptr @__errno_location() #12
  %18737 = load i32, ptr %18736, align 4, !tbaa !5
  %18738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18725, ptr noundef @.str.78, i32 noundef %18726, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 702, ptr noundef %18729, ptr noundef %18732, ptr noundef %18735, i32 noundef %18737) #11
  br label %18756

18739:                                            ; preds = %18717, %18710
  %18740 = load i32, ptr %470, align 4, !tbaa !5
  %18741 = call ptr @__errno_location() #12
  store i32 %18740, ptr %18741, align 4, !tbaa !5
  %18742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18743 = load i32, ptr @test_count, align 4, !tbaa !5
  %18744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18745 = load i32, ptr %18744, align 4, !tbaa !5
  %18746 = call ptr @s2n_strerror(i32 noundef %18745, ptr noundef @.str.80)
  %18747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18748 = load i32, ptr %18747, align 4, !tbaa !5
  %18749 = call ptr @s2n_strerror_debug(i32 noundef %18748, ptr noundef @.str.80)
  %18750 = call ptr @__errno_location() #12
  %18751 = load i32, ptr %18750, align 4, !tbaa !5
  %18752 = call ptr @strerror(i32 noundef %18751) #11
  %18753 = call ptr @__errno_location() #12
  %18754 = load i32, ptr %18753, align 4, !tbaa !5
  %18755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18742, ptr noundef @.str.81, i32 noundef %18743, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 702, ptr noundef %18746, ptr noundef %18749, ptr noundef %18752, i32 noundef %18754) #11
  br label %18756

18756:                                            ; preds = %18739, %18722
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #11
  br label %18757

18757:                                            ; preds = %18756
  br label %18758

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

18759:                                            ; No predecessors!
  br label %18760

18760:                                            ; preds = %18759
  br label %18761

18761:                                            ; preds = %18760, %18703
  br label %18762

18762:                                            ; preds = %18761
  br label %18763

18763:                                            ; preds = %18762
  br label %18764

18764:                                            ; preds = %18763
  %18765 = load i32, ptr @test_count, align 4, !tbaa !5
  %18766 = add nsw i32 %18765, 1
  store i32 %18766, ptr @test_count, align 4, !tbaa !5
  %18767 = load ptr, ptr %469, align 8, !tbaa !9
  %18768 = getelementptr inbounds %struct.s2n_connection, ptr %18767, i32 0, i32 52
  %18769 = getelementptr inbounds %struct.s2n_handshake, ptr %18768, i32 0, i32 0
  %18770 = call i32 @s2n_stuffer_write(ptr noundef %18769, ptr noundef %303)
  %18771 = icmp eq i32 %18770, -1
  br i1 %18771, label %18772, label %18825

18772:                                            ; preds = %18764
  br label %18773

18773:                                            ; preds = %18772
  br label %18774

18774:                                            ; preds = %18773
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #11
  %18775 = call ptr @__errno_location() #12
  %18776 = load i32, ptr %18775, align 4, !tbaa !5
  store i32 %18776, ptr %471, align 4, !tbaa !5
  %18777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18778 = call i32 @s2n_print_stacktrace(ptr noundef %18777)
  %18779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18780 = trunc i8 %18779 to i1
  br i1 %18780, label %18781, label %18803

18781:                                            ; preds = %18774
  %18782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18783 = call i32 @fileno(ptr noundef %18782) #11
  %18784 = call i32 @isatty(i32 noundef %18783) #11
  %18785 = icmp ne i32 %18784, 0
  br i1 %18785, label %18786, label %18803

18786:                                            ; preds = %18781
  %18787 = load i32, ptr %471, align 4, !tbaa !5
  %18788 = call ptr @__errno_location() #12
  store i32 %18787, ptr %18788, align 4, !tbaa !5
  %18789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18790 = load i32, ptr @test_count, align 4, !tbaa !5
  %18791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18792 = load i32, ptr %18791, align 4, !tbaa !5
  %18793 = call ptr @s2n_strerror(i32 noundef %18792, ptr noundef @.str.80)
  %18794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18795 = load i32, ptr %18794, align 4, !tbaa !5
  %18796 = call ptr @s2n_strerror_debug(i32 noundef %18795, ptr noundef @.str.80)
  %18797 = call ptr @__errno_location() #12
  %18798 = load i32, ptr %18797, align 4, !tbaa !5
  %18799 = call ptr @strerror(i32 noundef %18798) #11
  %18800 = call ptr @__errno_location() #12
  %18801 = load i32, ptr %18800, align 4, !tbaa !5
  %18802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18789, ptr noundef @.str.78, i32 noundef %18790, ptr noundef @.str.250, ptr noundef @.str.77, i32 noundef 704, ptr noundef %18793, ptr noundef %18796, ptr noundef %18799, i32 noundef %18801) #11
  br label %18820

18803:                                            ; preds = %18781, %18774
  %18804 = load i32, ptr %471, align 4, !tbaa !5
  %18805 = call ptr @__errno_location() #12
  store i32 %18804, ptr %18805, align 4, !tbaa !5
  %18806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18807 = load i32, ptr @test_count, align 4, !tbaa !5
  %18808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18809 = load i32, ptr %18808, align 4, !tbaa !5
  %18810 = call ptr @s2n_strerror(i32 noundef %18809, ptr noundef @.str.80)
  %18811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18812 = load i32, ptr %18811, align 4, !tbaa !5
  %18813 = call ptr @s2n_strerror_debug(i32 noundef %18812, ptr noundef @.str.80)
  %18814 = call ptr @__errno_location() #12
  %18815 = load i32, ptr %18814, align 4, !tbaa !5
  %18816 = call ptr @strerror(i32 noundef %18815) #11
  %18817 = call ptr @__errno_location() #12
  %18818 = load i32, ptr %18817, align 4, !tbaa !5
  %18819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18806, ptr noundef @.str.81, i32 noundef %18807, ptr noundef @.str.250, ptr noundef @.str.77, i32 noundef 704, ptr noundef %18810, ptr noundef %18813, ptr noundef %18816, i32 noundef %18818) #11
  br label %18820

18820:                                            ; preds = %18803, %18786
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #11
  br label %18821

18821:                                            ; preds = %18820
  br label %18822

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

18823:                                            ; No predecessors!
  br label %18824

18824:                                            ; preds = %18823
  br label %18825

18825:                                            ; preds = %18824, %18764
  br label %18826

18826:                                            ; preds = %18825
  br label %18827

18827:                                            ; preds = %18826
  %18828 = getelementptr inbounds %struct.s2n_blob, ptr %305, i32 0, i32 1
  %18829 = load i32, ptr %18828, align 8, !tbaa !79
  %18830 = getelementptr inbounds %struct.s2n_blob, ptr %303, i32 0, i32 1
  %18831 = load i32, ptr %18830, align 8, !tbaa !79
  %18832 = sub i32 %18829, %18831
  %18833 = trunc i32 %18832 to i16
  %18834 = load ptr, ptr %469, align 8, !tbaa !9
  %18835 = getelementptr inbounds %struct.s2n_connection, ptr %18834, i32 0, i32 33
  %18836 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %18835, i32 0, i32 2
  store i16 %18833, ptr %18836, align 8, !tbaa !42
  br label %18837

18837:                                            ; preds = %18827
  %18838 = load i32, ptr @test_count, align 4, !tbaa !5
  %18839 = add nsw i32 %18838, 1
  store i32 %18839, ptr @test_count, align 4, !tbaa !5
  %18840 = load ptr, ptr %469, align 8, !tbaa !9
  %18841 = getelementptr inbounds %struct.s2n_connection, ptr %18840, i32 0, i32 52
  %18842 = getelementptr inbounds %struct.s2n_handshake, ptr %18841, i32 0, i32 0
  %18843 = load ptr, ptr %469, align 8, !tbaa !9
  %18844 = getelementptr inbounds %struct.s2n_connection, ptr %18843, i32 0, i32 33
  %18845 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %18844, i32 0, i32 2
  %18846 = load i16, ptr %18845, align 8, !tbaa !42
  %18847 = zext i16 %18846 to i32
  %18848 = call i32 @s2n_stuffer_skip_write(ptr noundef %18842, i32 noundef %18847)
  %18849 = icmp eq i32 %18848, -1
  br i1 %18849, label %18850, label %18903

18850:                                            ; preds = %18837
  br label %18851

18851:                                            ; preds = %18850
  br label %18852

18852:                                            ; preds = %18851
  call void @llvm.lifetime.start.p0(i64 4, ptr %472) #11
  %18853 = call ptr @__errno_location() #12
  %18854 = load i32, ptr %18853, align 4, !tbaa !5
  store i32 %18854, ptr %472, align 4, !tbaa !5
  %18855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18856 = call i32 @s2n_print_stacktrace(ptr noundef %18855)
  %18857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18858 = trunc i8 %18857 to i1
  br i1 %18858, label %18859, label %18881

18859:                                            ; preds = %18852
  %18860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18861 = call i32 @fileno(ptr noundef %18860) #11
  %18862 = call i32 @isatty(i32 noundef %18861) #11
  %18863 = icmp ne i32 %18862, 0
  br i1 %18863, label %18864, label %18881

18864:                                            ; preds = %18859
  %18865 = load i32, ptr %472, align 4, !tbaa !5
  %18866 = call ptr @__errno_location() #12
  store i32 %18865, ptr %18866, align 4, !tbaa !5
  %18867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18868 = load i32, ptr @test_count, align 4, !tbaa !5
  %18869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18870 = load i32, ptr %18869, align 4, !tbaa !5
  %18871 = call ptr @s2n_strerror(i32 noundef %18870, ptr noundef @.str.80)
  %18872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18873 = load i32, ptr %18872, align 4, !tbaa !5
  %18874 = call ptr @s2n_strerror_debug(i32 noundef %18873, ptr noundef @.str.80)
  %18875 = call ptr @__errno_location() #12
  %18876 = load i32, ptr %18875, align 4, !tbaa !5
  %18877 = call ptr @strerror(i32 noundef %18876) #11
  %18878 = call ptr @__errno_location() #12
  %18879 = load i32, ptr %18878, align 4, !tbaa !5
  %18880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18867, ptr noundef @.str.78, i32 noundef %18868, ptr noundef @.str.251, ptr noundef @.str.77, i32 noundef 706, ptr noundef %18871, ptr noundef %18874, ptr noundef %18877, i32 noundef %18879) #11
  br label %18898

18881:                                            ; preds = %18859, %18852
  %18882 = load i32, ptr %472, align 4, !tbaa !5
  %18883 = call ptr @__errno_location() #12
  store i32 %18882, ptr %18883, align 4, !tbaa !5
  %18884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18885 = load i32, ptr @test_count, align 4, !tbaa !5
  %18886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18887 = load i32, ptr %18886, align 4, !tbaa !5
  %18888 = call ptr @s2n_strerror(i32 noundef %18887, ptr noundef @.str.80)
  %18889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18890 = load i32, ptr %18889, align 4, !tbaa !5
  %18891 = call ptr @s2n_strerror_debug(i32 noundef %18890, ptr noundef @.str.80)
  %18892 = call ptr @__errno_location() #12
  %18893 = load i32, ptr %18892, align 4, !tbaa !5
  %18894 = call ptr @strerror(i32 noundef %18893) #11
  %18895 = call ptr @__errno_location() #12
  %18896 = load i32, ptr %18895, align 4, !tbaa !5
  %18897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18884, ptr noundef @.str.81, i32 noundef %18885, ptr noundef @.str.251, ptr noundef @.str.77, i32 noundef 706, ptr noundef %18888, ptr noundef %18891, ptr noundef %18894, i32 noundef %18896) #11
  br label %18898

18898:                                            ; preds = %18881, %18864
  call void @llvm.lifetime.end.p0(i64 4, ptr %472) #11
  br label %18899

18899:                                            ; preds = %18898
  br label %18900

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

18901:                                            ; No predecessors!
  br label %18902

18902:                                            ; preds = %18901
  br label %18903

18903:                                            ; preds = %18902, %18837
  br label %18904

18904:                                            ; preds = %18903
  br label %18905

18905:                                            ; preds = %18904
  call void @llvm.lifetime.start.p0(i64 8, ptr %473) #11
  store ptr null, ptr %473, align 8, !tbaa !9
  br label %18906

18906:                                            ; preds = %18905
  %18907 = load i32, ptr @test_count, align 4, !tbaa !5
  %18908 = add nsw i32 %18907, 1
  store i32 %18908, ptr @test_count, align 4, !tbaa !5
  %18909 = load ptr, ptr %469, align 8, !tbaa !9
  %18910 = getelementptr inbounds %struct.s2n_connection, ptr %18909, i32 0, i32 33
  %18911 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %18910, i32 0, i32 1
  %18912 = call i32 @s2n_array_pushback(ptr noundef %18911, ptr noundef %473)
  %18913 = getelementptr inbounds %struct.s2n_result, ptr %474, i32 0, i32 0
  store i32 %18912, ptr %18913, align 4
  %18914 = getelementptr inbounds %struct.s2n_result, ptr %474, i32 0, i32 0
  %18915 = load i32, ptr %18914, align 4
  %18916 = call zeroext i1 @s2n_result_is_ok(i32 %18915)
  br i1 %18916, label %18970, label %18917

18917:                                            ; preds = %18906
  br label %18918

18918:                                            ; preds = %18917
  br label %18919

18919:                                            ; preds = %18918
  call void @llvm.lifetime.start.p0(i64 4, ptr %475) #11
  %18920 = call ptr @__errno_location() #12
  %18921 = load i32, ptr %18920, align 4, !tbaa !5
  store i32 %18921, ptr %475, align 4, !tbaa !5
  %18922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18923 = call i32 @s2n_print_stacktrace(ptr noundef %18922)
  %18924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18925 = trunc i8 %18924 to i1
  br i1 %18925, label %18926, label %18948

18926:                                            ; preds = %18919
  %18927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18928 = call i32 @fileno(ptr noundef %18927) #11
  %18929 = call i32 @isatty(i32 noundef %18928) #11
  %18930 = icmp ne i32 %18929, 0
  br i1 %18930, label %18931, label %18948

18931:                                            ; preds = %18926
  %18932 = load i32, ptr %475, align 4, !tbaa !5
  %18933 = call ptr @__errno_location() #12
  store i32 %18932, ptr %18933, align 4, !tbaa !5
  %18934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18935 = load i32, ptr @test_count, align 4, !tbaa !5
  %18936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18937 = load i32, ptr %18936, align 4, !tbaa !5
  %18938 = call ptr @s2n_strerror(i32 noundef %18937, ptr noundef @.str.80)
  %18939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18940 = load i32, ptr %18939, align 4, !tbaa !5
  %18941 = call ptr @s2n_strerror_debug(i32 noundef %18940, ptr noundef @.str.80)
  %18942 = call ptr @__errno_location() #12
  %18943 = load i32, ptr %18942, align 4, !tbaa !5
  %18944 = call ptr @strerror(i32 noundef %18943) #11
  %18945 = call ptr @__errno_location() #12
  %18946 = load i32, ptr %18945, align 4, !tbaa !5
  %18947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18934, ptr noundef @.str.78, i32 noundef %18935, ptr noundef @.str.245, ptr noundef @.str.77, i32 noundef 709, ptr noundef %18938, ptr noundef %18941, ptr noundef %18944, i32 noundef %18946) #11
  br label %18965

18948:                                            ; preds = %18926, %18919
  %18949 = load i32, ptr %475, align 4, !tbaa !5
  %18950 = call ptr @__errno_location() #12
  store i32 %18949, ptr %18950, align 4, !tbaa !5
  %18951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18952 = load i32, ptr @test_count, align 4, !tbaa !5
  %18953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18954 = load i32, ptr %18953, align 4, !tbaa !5
  %18955 = call ptr @s2n_strerror(i32 noundef %18954, ptr noundef @.str.80)
  %18956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18957 = load i32, ptr %18956, align 4, !tbaa !5
  %18958 = call ptr @s2n_strerror_debug(i32 noundef %18957, ptr noundef @.str.80)
  %18959 = call ptr @__errno_location() #12
  %18960 = load i32, ptr %18959, align 4, !tbaa !5
  %18961 = call ptr @strerror(i32 noundef %18960) #11
  %18962 = call ptr @__errno_location() #12
  %18963 = load i32, ptr %18962, align 4, !tbaa !5
  %18964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18951, ptr noundef @.str.81, i32 noundef %18952, ptr noundef @.str.245, ptr noundef @.str.77, i32 noundef 709, ptr noundef %18955, ptr noundef %18958, ptr noundef %18961, i32 noundef %18963) #11
  br label %18965

18965:                                            ; preds = %18948, %18931
  call void @llvm.lifetime.end.p0(i64 4, ptr %475) #11
  br label %18966

18966:                                            ; preds = %18965
  br label %18967

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

18968:                                            ; No predecessors!
  br label %18969

18969:                                            ; preds = %18968
  br label %18970

18970:                                            ; preds = %18969, %18906
  br label %18971

18971:                                            ; preds = %18970
  br label %18972

18972:                                            ; preds = %18971
  br label %18973

18973:                                            ; preds = %18972
  %18974 = load i32, ptr @test_count, align 4, !tbaa !5
  %18975 = add nsw i32 %18974, 1
  store i32 %18975, ptr @test_count, align 4, !tbaa !5
  %18976 = load ptr, ptr %473, align 8, !tbaa !9
  %18977 = call i32 @s2n_psk_init(ptr noundef %18976, i32 noundef 0)
  %18978 = getelementptr inbounds %struct.s2n_result, ptr %476, i32 0, i32 0
  store i32 %18977, ptr %18978, align 4
  %18979 = getelementptr inbounds %struct.s2n_result, ptr %476, i32 0, i32 0
  %18980 = load i32, ptr %18979, align 4
  %18981 = call zeroext i1 @s2n_result_is_ok(i32 %18980)
  br i1 %18981, label %19035, label %18982

18982:                                            ; preds = %18973
  br label %18983

18983:                                            ; preds = %18982
  br label %18984

18984:                                            ; preds = %18983
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #11
  %18985 = call ptr @__errno_location() #12
  %18986 = load i32, ptr %18985, align 4, !tbaa !5
  store i32 %18986, ptr %477, align 4, !tbaa !5
  %18987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18988 = call i32 @s2n_print_stacktrace(ptr noundef %18987)
  %18989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18990 = trunc i8 %18989 to i1
  br i1 %18990, label %18991, label %19013

18991:                                            ; preds = %18984
  %18992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18993 = call i32 @fileno(ptr noundef %18992) #11
  %18994 = call i32 @isatty(i32 noundef %18993) #11
  %18995 = icmp ne i32 %18994, 0
  br i1 %18995, label %18996, label %19013

18996:                                            ; preds = %18991
  %18997 = load i32, ptr %477, align 4, !tbaa !5
  %18998 = call ptr @__errno_location() #12
  store i32 %18997, ptr %18998, align 4, !tbaa !5
  %18999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19000 = load i32, ptr @test_count, align 4, !tbaa !5
  %19001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19002 = load i32, ptr %19001, align 4, !tbaa !5
  %19003 = call ptr @s2n_strerror(i32 noundef %19002, ptr noundef @.str.80)
  %19004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19005 = load i32, ptr %19004, align 4, !tbaa !5
  %19006 = call ptr @s2n_strerror_debug(i32 noundef %19005, ptr noundef @.str.80)
  %19007 = call ptr @__errno_location() #12
  %19008 = load i32, ptr %19007, align 4, !tbaa !5
  %19009 = call ptr @strerror(i32 noundef %19008) #11
  %19010 = call ptr @__errno_location() #12
  %19011 = load i32, ptr %19010, align 4, !tbaa !5
  %19012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18999, ptr noundef @.str.78, i32 noundef %19000, ptr noundef @.str.246, ptr noundef @.str.77, i32 noundef 710, ptr noundef %19003, ptr noundef %19006, ptr noundef %19009, i32 noundef %19011) #11
  br label %19030

19013:                                            ; preds = %18991, %18984
  %19014 = load i32, ptr %477, align 4, !tbaa !5
  %19015 = call ptr @__errno_location() #12
  store i32 %19014, ptr %19015, align 4, !tbaa !5
  %19016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19017 = load i32, ptr @test_count, align 4, !tbaa !5
  %19018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19019 = load i32, ptr %19018, align 4, !tbaa !5
  %19020 = call ptr @s2n_strerror(i32 noundef %19019, ptr noundef @.str.80)
  %19021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19022 = load i32, ptr %19021, align 4, !tbaa !5
  %19023 = call ptr @s2n_strerror_debug(i32 noundef %19022, ptr noundef @.str.80)
  %19024 = call ptr @__errno_location() #12
  %19025 = load i32, ptr %19024, align 4, !tbaa !5
  %19026 = call ptr @strerror(i32 noundef %19025) #11
  %19027 = call ptr @__errno_location() #12
  %19028 = load i32, ptr %19027, align 4, !tbaa !5
  %19029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19016, ptr noundef @.str.81, i32 noundef %19017, ptr noundef @.str.246, ptr noundef @.str.77, i32 noundef 710, ptr noundef %19020, ptr noundef %19023, ptr noundef %19026, i32 noundef %19028) #11
  br label %19030

19030:                                            ; preds = %19013, %18996
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #11
  br label %19031

19031:                                            ; preds = %19030
  br label %19032

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

19033:                                            ; No predecessors!
  br label %19034

19034:                                            ; preds = %19033
  br label %19035

19035:                                            ; preds = %19034, %18973
  br label %19036

19036:                                            ; preds = %19035
  br label %19037

19037:                                            ; preds = %19036
  br label %19038

19038:                                            ; preds = %19037
  %19039 = load i32, ptr @test_count, align 4, !tbaa !5
  %19040 = add nsw i32 %19039, 1
  store i32 %19040, ptr @test_count, align 4, !tbaa !5
  %19041 = load ptr, ptr %473, align 8, !tbaa !9
  %19042 = getelementptr inbounds %struct.s2n_blob, ptr %300, i32 0, i32 0
  %19043 = load ptr, ptr %19042, align 8, !tbaa !80
  %19044 = getelementptr inbounds %struct.s2n_blob, ptr %300, i32 0, i32 1
  %19045 = load i32, ptr %19044, align 8, !tbaa !79
  %19046 = trunc i32 %19045 to i16
  %19047 = call i32 @s2n_psk_set_identity(ptr noundef %19041, ptr noundef %19043, i16 noundef zeroext %19046)
  %19048 = icmp eq i32 %19047, -1
  br i1 %19048, label %19049, label %19102

19049:                                            ; preds = %19038
  br label %19050

19050:                                            ; preds = %19049
  br label %19051

19051:                                            ; preds = %19050
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #11
  %19052 = call ptr @__errno_location() #12
  %19053 = load i32, ptr %19052, align 4, !tbaa !5
  store i32 %19053, ptr %478, align 4, !tbaa !5
  %19054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19055 = call i32 @s2n_print_stacktrace(ptr noundef %19054)
  %19056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19057 = trunc i8 %19056 to i1
  br i1 %19057, label %19058, label %19080

19058:                                            ; preds = %19051
  %19059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19060 = call i32 @fileno(ptr noundef %19059) #11
  %19061 = call i32 @isatty(i32 noundef %19060) #11
  %19062 = icmp ne i32 %19061, 0
  br i1 %19062, label %19063, label %19080

19063:                                            ; preds = %19058
  %19064 = load i32, ptr %478, align 4, !tbaa !5
  %19065 = call ptr @__errno_location() #12
  store i32 %19064, ptr %19065, align 4, !tbaa !5
  %19066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19067 = load i32, ptr @test_count, align 4, !tbaa !5
  %19068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19069 = load i32, ptr %19068, align 4, !tbaa !5
  %19070 = call ptr @s2n_strerror(i32 noundef %19069, ptr noundef @.str.80)
  %19071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19072 = load i32, ptr %19071, align 4, !tbaa !5
  %19073 = call ptr @s2n_strerror_debug(i32 noundef %19072, ptr noundef @.str.80)
  %19074 = call ptr @__errno_location() #12
  %19075 = load i32, ptr %19074, align 4, !tbaa !5
  %19076 = call ptr @strerror(i32 noundef %19075) #11
  %19077 = call ptr @__errno_location() #12
  %19078 = load i32, ptr %19077, align 4, !tbaa !5
  %19079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19066, ptr noundef @.str.78, i32 noundef %19067, ptr noundef @.str.247, ptr noundef @.str.77, i32 noundef 711, ptr noundef %19070, ptr noundef %19073, ptr noundef %19076, i32 noundef %19078) #11
  br label %19097

19080:                                            ; preds = %19058, %19051
  %19081 = load i32, ptr %478, align 4, !tbaa !5
  %19082 = call ptr @__errno_location() #12
  store i32 %19081, ptr %19082, align 4, !tbaa !5
  %19083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19084 = load i32, ptr @test_count, align 4, !tbaa !5
  %19085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19086 = load i32, ptr %19085, align 4, !tbaa !5
  %19087 = call ptr @s2n_strerror(i32 noundef %19086, ptr noundef @.str.80)
  %19088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19089 = load i32, ptr %19088, align 4, !tbaa !5
  %19090 = call ptr @s2n_strerror_debug(i32 noundef %19089, ptr noundef @.str.80)
  %19091 = call ptr @__errno_location() #12
  %19092 = load i32, ptr %19091, align 4, !tbaa !5
  %19093 = call ptr @strerror(i32 noundef %19092) #11
  %19094 = call ptr @__errno_location() #12
  %19095 = load i32, ptr %19094, align 4, !tbaa !5
  %19096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19083, ptr noundef @.str.81, i32 noundef %19084, ptr noundef @.str.247, ptr noundef @.str.77, i32 noundef 711, ptr noundef %19087, ptr noundef %19090, ptr noundef %19093, i32 noundef %19095) #11
  br label %19097

19097:                                            ; preds = %19080, %19063
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #11
  br label %19098

19098:                                            ; preds = %19097
  br label %19099

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

19100:                                            ; No predecessors!
  br label %19101

19101:                                            ; preds = %19100
  br label %19102

19102:                                            ; preds = %19101, %19038
  br label %19103

19103:                                            ; preds = %19102
  br label %19104

19104:                                            ; preds = %19103
  br label %19105

19105:                                            ; preds = %19104
  %19106 = load i32, ptr @test_count, align 4, !tbaa !5
  %19107 = add nsw i32 %19106, 1
  store i32 %19107, ptr @test_count, align 4, !tbaa !5
  %19108 = load ptr, ptr %473, align 8, !tbaa !9
  %19109 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 0
  %19110 = load ptr, ptr %19109, align 8, !tbaa !80
  %19111 = getelementptr inbounds %struct.s2n_blob, ptr %307, i32 0, i32 1
  %19112 = load i32, ptr %19111, align 8, !tbaa !79
  %19113 = trunc i32 %19112 to i16
  %19114 = call i32 @s2n_psk_set_secret(ptr noundef %19108, ptr noundef %19110, i16 noundef zeroext %19113)
  %19115 = icmp eq i32 %19114, -1
  br i1 %19115, label %19116, label %19169

19116:                                            ; preds = %19105
  br label %19117

19117:                                            ; preds = %19116
  br label %19118

19118:                                            ; preds = %19117
  call void @llvm.lifetime.start.p0(i64 4, ptr %479) #11
  %19119 = call ptr @__errno_location() #12
  %19120 = load i32, ptr %19119, align 4, !tbaa !5
  store i32 %19120, ptr %479, align 4, !tbaa !5
  %19121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19122 = call i32 @s2n_print_stacktrace(ptr noundef %19121)
  %19123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19124 = trunc i8 %19123 to i1
  br i1 %19124, label %19125, label %19147

19125:                                            ; preds = %19118
  %19126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19127 = call i32 @fileno(ptr noundef %19126) #11
  %19128 = call i32 @isatty(i32 noundef %19127) #11
  %19129 = icmp ne i32 %19128, 0
  br i1 %19129, label %19130, label %19147

19130:                                            ; preds = %19125
  %19131 = load i32, ptr %479, align 4, !tbaa !5
  %19132 = call ptr @__errno_location() #12
  store i32 %19131, ptr %19132, align 4, !tbaa !5
  %19133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19134 = load i32, ptr @test_count, align 4, !tbaa !5
  %19135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19136 = load i32, ptr %19135, align 4, !tbaa !5
  %19137 = call ptr @s2n_strerror(i32 noundef %19136, ptr noundef @.str.80)
  %19138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19139 = load i32, ptr %19138, align 4, !tbaa !5
  %19140 = call ptr @s2n_strerror_debug(i32 noundef %19139, ptr noundef @.str.80)
  %19141 = call ptr @__errno_location() #12
  %19142 = load i32, ptr %19141, align 4, !tbaa !5
  %19143 = call ptr @strerror(i32 noundef %19142) #11
  %19144 = call ptr @__errno_location() #12
  %19145 = load i32, ptr %19144, align 4, !tbaa !5
  %19146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19133, ptr noundef @.str.78, i32 noundef %19134, ptr noundef @.str.248, ptr noundef @.str.77, i32 noundef 712, ptr noundef %19137, ptr noundef %19140, ptr noundef %19143, i32 noundef %19145) #11
  br label %19164

19147:                                            ; preds = %19125, %19118
  %19148 = load i32, ptr %479, 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.80)
  %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.80)
  %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.81, i32 noundef %19151, ptr noundef @.str.248, ptr noundef @.str.77, i32 noundef 712, ptr noundef %19154, ptr noundef %19157, ptr noundef %19160, i32 noundef %19162) #11
  br label %19164

19164:                                            ; preds = %19147, %19130
  call void @llvm.lifetime.end.p0(i64 4, ptr %479) #11
  br label %19165

19165:                                            ; preds = %19164
  br label %19166

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

19167:                                            ; No predecessors!
  br label %19168

19168:                                            ; preds = %19167
  br label %19169

19169:                                            ; preds = %19168, %19105
  br label %19170

19170:                                            ; preds = %19169
  br label %19171

19171:                                            ; preds = %19170
  br label %19172

19172:                                            ; preds = %19171
  %19173 = load i32, ptr @test_count, align 4, !tbaa !5
  %19174 = add nsw i32 %19173, 1
  store i32 %19174, ptr @test_count, align 4, !tbaa !5
  %19175 = load ptr, ptr %469, align 8, !tbaa !9
  %19176 = call i32 @s2n_finish_psk_extension(ptr noundef %19175)
  %19177 = getelementptr inbounds %struct.s2n_result, ptr %480, i32 0, i32 0
  store i32 %19176, ptr %19177, align 4
  %19178 = getelementptr inbounds %struct.s2n_result, ptr %480, i32 0, i32 0
  %19179 = load i32, ptr %19178, align 4
  %19180 = call zeroext i1 @s2n_result_is_ok(i32 %19179)
  br i1 %19180, label %19234, label %19181

19181:                                            ; preds = %19172
  br label %19182

19182:                                            ; preds = %19181
  br label %19183

19183:                                            ; preds = %19182
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #11
  %19184 = call ptr @__errno_location() #12
  %19185 = load i32, ptr %19184, align 4, !tbaa !5
  store i32 %19185, ptr %481, align 4, !tbaa !5
  %19186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19187 = call i32 @s2n_print_stacktrace(ptr noundef %19186)
  %19188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19189 = trunc i8 %19188 to i1
  br i1 %19189, label %19190, label %19212

19190:                                            ; preds = %19183
  %19191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19192 = call i32 @fileno(ptr noundef %19191) #11
  %19193 = call i32 @isatty(i32 noundef %19192) #11
  %19194 = icmp ne i32 %19193, 0
  br i1 %19194, label %19195, label %19212

19195:                                            ; preds = %19190
  %19196 = load i32, ptr %481, align 4, !tbaa !5
  %19197 = call ptr @__errno_location() #12
  store i32 %19196, ptr %19197, align 4, !tbaa !5
  %19198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19199 = load i32, ptr @test_count, align 4, !tbaa !5
  %19200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19201 = load i32, ptr %19200, align 4, !tbaa !5
  %19202 = call ptr @s2n_strerror(i32 noundef %19201, ptr noundef @.str.80)
  %19203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19204 = load i32, ptr %19203, align 4, !tbaa !5
  %19205 = call ptr @s2n_strerror_debug(i32 noundef %19204, ptr noundef @.str.80)
  %19206 = call ptr @__errno_location() #12
  %19207 = load i32, ptr %19206, align 4, !tbaa !5
  %19208 = call ptr @strerror(i32 noundef %19207) #11
  %19209 = call ptr @__errno_location() #12
  %19210 = load i32, ptr %19209, align 4, !tbaa !5
  %19211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19198, ptr noundef @.str.78, i32 noundef %19199, ptr noundef @.str.252, ptr noundef @.str.77, i32 noundef 714, ptr noundef %19202, ptr noundef %19205, ptr noundef %19208, i32 noundef %19210) #11
  br label %19229

19212:                                            ; preds = %19190, %19183
  %19213 = load i32, ptr %481, align 4, !tbaa !5
  %19214 = call ptr @__errno_location() #12
  store i32 %19213, ptr %19214, align 4, !tbaa !5
  %19215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19216 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %19218, ptr noundef @.str.80)
  %19220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19221 = load i32, ptr %19220, align 4, !tbaa !5
  %19222 = call ptr @s2n_strerror_debug(i32 noundef %19221, ptr noundef @.str.80)
  %19223 = call ptr @__errno_location() #12
  %19224 = load i32, ptr %19223, align 4, !tbaa !5
  %19225 = call ptr @strerror(i32 noundef %19224) #11
  %19226 = call ptr @__errno_location() #12
  %19227 = load i32, ptr %19226, align 4, !tbaa !5
  %19228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19215, ptr noundef @.str.81, i32 noundef %19216, ptr noundef @.str.252, ptr noundef @.str.77, i32 noundef 714, ptr noundef %19219, ptr noundef %19222, ptr noundef %19225, i32 noundef %19227) #11
  br label %19229

19229:                                            ; preds = %19212, %19195
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #11
  br label %19230

19230:                                            ; preds = %19229
  br label %19231

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

19232:                                            ; No predecessors!
  br label %19233

19233:                                            ; preds = %19232
  br label %19234

19234:                                            ; preds = %19233, %19172
  br label %19235

19235:                                            ; preds = %19234
  br label %19236

19236:                                            ; preds = %19235
  br label %19237

19237:                                            ; preds = %19236
  %19238 = load i32, ptr @test_count, align 4, !tbaa !5
  %19239 = add nsw i32 %19238, 1
  store i32 %19239, ptr @test_count, align 4, !tbaa !5
  %19240 = load ptr, ptr %469, align 8, !tbaa !9
  %19241 = getelementptr inbounds %struct.s2n_connection, ptr %19240, i32 0, i32 52
  %19242 = getelementptr inbounds %struct.s2n_handshake, ptr %19241, i32 0, i32 0
  %19243 = getelementptr inbounds %struct.s2n_stuffer, ptr %19242, i32 0, i32 2
  %19244 = load i32, ptr %19243, align 4, !tbaa !85
  %19245 = load ptr, ptr %469, align 8, !tbaa !9
  %19246 = getelementptr inbounds %struct.s2n_connection, ptr %19245, i32 0, i32 52
  %19247 = getelementptr inbounds %struct.s2n_handshake, ptr %19246, i32 0, i32 0
  %19248 = getelementptr inbounds %struct.s2n_stuffer, ptr %19247, i32 0, i32 1
  %19249 = load i32, ptr %19248, align 8, !tbaa !86
  %19250 = sub i32 %19244, %19249
  %19251 = getelementptr inbounds %struct.s2n_blob, ptr %305, i32 0, i32 1
  %19252 = load i32, ptr %19251, align 8, !tbaa !79
  %19253 = icmp eq i32 %19250, %19252
  br i1 %19253, label %19307, label %19254

19254:                                            ; preds = %19237
  br label %19255

19255:                                            ; preds = %19254
  br label %19256

19256:                                            ; preds = %19255
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #11
  %19257 = call ptr @__errno_location() #12
  %19258 = load i32, ptr %19257, align 4, !tbaa !5
  store i32 %19258, ptr %482, align 4, !tbaa !5
  %19259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19260 = call i32 @s2n_print_stacktrace(ptr noundef %19259)
  %19261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19262 = trunc i8 %19261 to i1
  br i1 %19262, label %19263, label %19285

19263:                                            ; preds = %19256
  %19264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19265 = call i32 @fileno(ptr noundef %19264) #11
  %19266 = call i32 @isatty(i32 noundef %19265) #11
  %19267 = icmp ne i32 %19266, 0
  br i1 %19267, label %19268, label %19285

19268:                                            ; preds = %19263
  %19269 = load i32, ptr %482, align 4, !tbaa !5
  %19270 = call ptr @__errno_location() #12
  store i32 %19269, ptr %19270, align 4, !tbaa !5
  %19271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19272 = load i32, ptr @test_count, align 4, !tbaa !5
  %19273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19274 = load i32, ptr %19273, align 4, !tbaa !5
  %19275 = call ptr @s2n_strerror(i32 noundef %19274, ptr noundef @.str.80)
  %19276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19277 = load i32, ptr %19276, align 4, !tbaa !5
  %19278 = call ptr @s2n_strerror_debug(i32 noundef %19277, ptr noundef @.str.80)
  %19279 = call ptr @__errno_location() #12
  %19280 = load i32, ptr %19279, align 4, !tbaa !5
  %19281 = call ptr @strerror(i32 noundef %19280) #11
  %19282 = call ptr @__errno_location() #12
  %19283 = load i32, ptr %19282, align 4, !tbaa !5
  %19284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19271, ptr noundef @.str.78, i32 noundef %19272, ptr noundef @.str.253, ptr noundef @.str.77, i32 noundef 715, ptr noundef %19275, ptr noundef %19278, ptr noundef %19281, i32 noundef %19283) #11
  br label %19302

19285:                                            ; preds = %19263, %19256
  %19286 = load i32, ptr %482, align 4, !tbaa !5
  %19287 = call ptr @__errno_location() #12
  store i32 %19286, ptr %19287, align 4, !tbaa !5
  %19288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19289 = load i32, ptr @test_count, align 4, !tbaa !5
  %19290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19291 = load i32, ptr %19290, align 4, !tbaa !5
  %19292 = call ptr @s2n_strerror(i32 noundef %19291, ptr noundef @.str.80)
  %19293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19294 = load i32, ptr %19293, align 4, !tbaa !5
  %19295 = call ptr @s2n_strerror_debug(i32 noundef %19294, ptr noundef @.str.80)
  %19296 = call ptr @__errno_location() #12
  %19297 = load i32, ptr %19296, align 4, !tbaa !5
  %19298 = call ptr @strerror(i32 noundef %19297) #11
  %19299 = call ptr @__errno_location() #12
  %19300 = load i32, ptr %19299, align 4, !tbaa !5
  %19301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19288, ptr noundef @.str.81, i32 noundef %19289, ptr noundef @.str.253, ptr noundef @.str.77, i32 noundef 715, ptr noundef %19292, ptr noundef %19295, ptr noundef %19298, i32 noundef %19300) #11
  br label %19302

19302:                                            ; preds = %19285, %19268
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #11
  br label %19303

19303:                                            ; preds = %19302
  br label %19304

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

19305:                                            ; No predecessors!
  br label %19306

19306:                                            ; preds = %19305
  br label %19307

19307:                                            ; preds = %19306, %19237
  br label %19308

19308:                                            ; preds = %19307
  br label %19309

19309:                                            ; preds = %19308
  br label %19310

19310:                                            ; preds = %19309
  %19311 = getelementptr inbounds %struct.s2n_blob, ptr %305, i32 0, i32 1
  %19312 = load i32, ptr %19311, align 8, !tbaa !79
  %19313 = icmp ne i32 %19312, 0
  br i1 %19313, label %19314, label %19387

19314:                                            ; preds = %19310
  br label %19315

19315:                                            ; preds = %19314
  %19316 = load i32, ptr @test_count, align 4, !tbaa !5
  %19317 = add nsw i32 %19316, 1
  store i32 %19317, ptr @test_count, align 4, !tbaa !5
  %19318 = load ptr, ptr %469, align 8, !tbaa !9
  %19319 = getelementptr inbounds %struct.s2n_connection, ptr %19318, i32 0, i32 52
  %19320 = getelementptr inbounds %struct.s2n_handshake, ptr %19319, i32 0, i32 0
  %19321 = getelementptr inbounds %struct.s2n_stuffer, ptr %19320, i32 0, i32 0
  %19322 = getelementptr inbounds %struct.s2n_blob, ptr %19321, i32 0, i32 0
  %19323 = load ptr, ptr %19322, align 8, !tbaa !87
  %19324 = getelementptr inbounds %struct.s2n_blob, ptr %305, i32 0, i32 0
  %19325 = load ptr, ptr %19324, align 8, !tbaa !80
  %19326 = getelementptr inbounds %struct.s2n_blob, ptr %305, i32 0, i32 1
  %19327 = load i32, ptr %19326, align 8, !tbaa !79
  %19328 = zext i32 %19327 to i64
  %19329 = call i32 @memcmp(ptr noundef %19323, ptr noundef %19325, i64 noundef %19328) #14
  %19330 = icmp eq i32 %19329, 0
  br i1 %19330, label %19384, label %19331

19331:                                            ; preds = %19315
  br label %19332

19332:                                            ; preds = %19331
  br label %19333

19333:                                            ; preds = %19332
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #11
  %19334 = call ptr @__errno_location() #12
  %19335 = load i32, ptr %19334, align 4, !tbaa !5
  store i32 %19335, ptr %483, align 4, !tbaa !5
  %19336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19337 = call i32 @s2n_print_stacktrace(ptr noundef %19336)
  %19338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19339 = trunc i8 %19338 to i1
  br i1 %19339, label %19340, label %19362

19340:                                            ; preds = %19333
  %19341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19342 = call i32 @fileno(ptr noundef %19341) #11
  %19343 = call i32 @isatty(i32 noundef %19342) #11
  %19344 = icmp ne i32 %19343, 0
  br i1 %19344, label %19345, label %19362

19345:                                            ; preds = %19340
  %19346 = load i32, ptr %483, align 4, !tbaa !5
  %19347 = call ptr @__errno_location() #12
  store i32 %19346, ptr %19347, align 4, !tbaa !5
  %19348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19349 = load i32, ptr @test_count, align 4, !tbaa !5
  %19350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19351 = load i32, ptr %19350, align 4, !tbaa !5
  %19352 = call ptr @s2n_strerror(i32 noundef %19351, ptr noundef @.str.80)
  %19353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19354 = load i32, ptr %19353, align 4, !tbaa !5
  %19355 = call ptr @s2n_strerror_debug(i32 noundef %19354, ptr noundef @.str.80)
  %19356 = call ptr @__errno_location() #12
  %19357 = load i32, ptr %19356, align 4, !tbaa !5
  %19358 = call ptr @strerror(i32 noundef %19357) #11
  %19359 = call ptr @__errno_location() #12
  %19360 = load i32, ptr %19359, align 4, !tbaa !5
  %19361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19348, ptr noundef @.str.78, i32 noundef %19349, ptr noundef @.str.254, ptr noundef @.str.77, i32 noundef 716, ptr noundef %19352, ptr noundef %19355, ptr noundef %19358, i32 noundef %19360) #11
  br label %19379

19362:                                            ; preds = %19340, %19333
  %19363 = load i32, ptr %483, align 4, !tbaa !5
  %19364 = call ptr @__errno_location() #12
  store i32 %19363, ptr %19364, align 4, !tbaa !5
  %19365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19366 = load i32, ptr @test_count, align 4, !tbaa !5
  %19367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19368 = load i32, ptr %19367, align 4, !tbaa !5
  %19369 = call ptr @s2n_strerror(i32 noundef %19368, ptr noundef @.str.80)
  %19370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19371 = load i32, ptr %19370, align 4, !tbaa !5
  %19372 = call ptr @s2n_strerror_debug(i32 noundef %19371, ptr noundef @.str.80)
  %19373 = call ptr @__errno_location() #12
  %19374 = load i32, ptr %19373, align 4, !tbaa !5
  %19375 = call ptr @strerror(i32 noundef %19374) #11
  %19376 = call ptr @__errno_location() #12
  %19377 = load i32, ptr %19376, align 4, !tbaa !5
  %19378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19365, ptr noundef @.str.81, i32 noundef %19366, ptr noundef @.str.254, ptr noundef @.str.77, i32 noundef 716, ptr noundef %19369, ptr noundef %19372, ptr noundef %19375, i32 noundef %19377) #11
  br label %19379

19379:                                            ; preds = %19362, %19345
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #11
  br label %19380

19380:                                            ; preds = %19379
  br label %19381

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

19382:                                            ; No predecessors!
  br label %19383

19383:                                            ; preds = %19382
  br label %19384

19384:                                            ; preds = %19383, %19315
  br label %19385

19385:                                            ; preds = %19384
  br label %19386

19386:                                            ; preds = %19385
  br label %19387

19387:                                            ; preds = %19386, %19310
  br label %19388

19388:                                            ; preds = %19387
  br label %19389

19389:                                            ; preds = %19388
  br label %19390

19390:                                            ; preds = %19389
  %19391 = load i32, ptr @test_count, align 4, !tbaa !5
  %19392 = add nsw i32 %19391, 1
  store i32 %19392, ptr @test_count, align 4, !tbaa !5
  %19393 = load ptr, ptr %469, align 8, !tbaa !9
  %19394 = call i32 @s2n_connection_free(ptr noundef %19393)
  %19395 = icmp eq i32 %19394, -1
  br i1 %19395, label %19396, label %19449

19396:                                            ; preds = %19390
  br label %19397

19397:                                            ; preds = %19396
  br label %19398

19398:                                            ; preds = %19397
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #11
  %19399 = call ptr @__errno_location() #12
  %19400 = load i32, ptr %19399, align 4, !tbaa !5
  store i32 %19400, ptr %484, align 4, !tbaa !5
  %19401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19402 = call i32 @s2n_print_stacktrace(ptr noundef %19401)
  %19403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19404 = trunc i8 %19403 to i1
  br i1 %19404, label %19405, label %19427

19405:                                            ; preds = %19398
  %19406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19407 = call i32 @fileno(ptr noundef %19406) #11
  %19408 = call i32 @isatty(i32 noundef %19407) #11
  %19409 = icmp ne i32 %19408, 0
  br i1 %19409, label %19410, label %19427

19410:                                            ; preds = %19405
  %19411 = load i32, ptr %484, align 4, !tbaa !5
  %19412 = call ptr @__errno_location() #12
  store i32 %19411, ptr %19412, align 4, !tbaa !5
  %19413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19414 = load i32, ptr @test_count, align 4, !tbaa !5
  %19415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19416 = load i32, ptr %19415, align 4, !tbaa !5
  %19417 = call ptr @s2n_strerror(i32 noundef %19416, ptr noundef @.str.80)
  %19418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19419 = load i32, ptr %19418, align 4, !tbaa !5
  %19420 = call ptr @s2n_strerror_debug(i32 noundef %19419, ptr noundef @.str.80)
  %19421 = call ptr @__errno_location() #12
  %19422 = load i32, ptr %19421, align 4, !tbaa !5
  %19423 = call ptr @strerror(i32 noundef %19422) #11
  %19424 = call ptr @__errno_location() #12
  %19425 = load i32, ptr %19424, align 4, !tbaa !5
  %19426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19413, ptr noundef @.str.78, i32 noundef %19414, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 718, ptr noundef %19417, ptr noundef %19420, ptr noundef %19423, i32 noundef %19425) #11
  br label %19444

19427:                                            ; preds = %19405, %19398
  %19428 = load i32, ptr %484, align 4, !tbaa !5
  %19429 = call ptr @__errno_location() #12
  store i32 %19428, ptr %19429, align 4, !tbaa !5
  %19430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19431 = load i32, ptr @test_count, align 4, !tbaa !5
  %19432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19433 = load i32, ptr %19432, align 4, !tbaa !5
  %19434 = call ptr @s2n_strerror(i32 noundef %19433, ptr noundef @.str.80)
  %19435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19436 = load i32, ptr %19435, align 4, !tbaa !5
  %19437 = call ptr @s2n_strerror_debug(i32 noundef %19436, ptr noundef @.str.80)
  %19438 = call ptr @__errno_location() #12
  %19439 = load i32, ptr %19438, align 4, !tbaa !5
  %19440 = call ptr @strerror(i32 noundef %19439) #11
  %19441 = call ptr @__errno_location() #12
  %19442 = load i32, ptr %19441, align 4, !tbaa !5
  %19443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19430, ptr noundef @.str.81, i32 noundef %19431, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 718, ptr noundef %19434, ptr noundef %19437, ptr noundef %19440, i32 noundef %19442) #11
  br label %19444

19444:                                            ; preds = %19427, %19410
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #11
  br label %19445

19445:                                            ; preds = %19444
  br label %19446

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

19447:                                            ; No predecessors!
  br label %19448

19448:                                            ; preds = %19447
  br label %19449

19449:                                            ; preds = %19448, %19390
  br label %19450

19450:                                            ; preds = %19449
  br label %19451

19451:                                            ; preds = %19450
  call void @llvm.lifetime.end.p0(i64 8, ptr %473) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %469) #11
  store i32 0, ptr %302, align 4
  br label %19452

19452:                                            ; preds = %19451, %18700, %12651
  %19453 = call i32 @s2n_free(ptr noundef %313)
  call void @llvm.lifetime.end.p0(i64 24, ptr %313) #11
  br label %19454

19454:                                            ; preds = %19452, %12641
  %19455 = call i32 @s2n_free(ptr noundef %311)
  call void @llvm.lifetime.end.p0(i64 24, ptr %311) #11
  br label %19456

19456:                                            ; preds = %19454, %12631
  %19457 = call i32 @s2n_free(ptr noundef %309)
  call void @llvm.lifetime.end.p0(i64 24, ptr %309) #11
  br label %19458

19458:                                            ; preds = %19456, %12621
  %19459 = call i32 @s2n_free(ptr noundef %307)
  call void @llvm.lifetime.end.p0(i64 24, ptr %307) #11
  br label %19460

19460:                                            ; preds = %19458, %12611
  %19461 = call i32 @s2n_free(ptr noundef %305)
  call void @llvm.lifetime.end.p0(i64 24, ptr %305) #11
  br label %19462

19462:                                            ; preds = %19460, %12601
  %19463 = call i32 @s2n_free(ptr noundef %303)
  call void @llvm.lifetime.end.p0(i64 24, ptr %303) #11
  br label %19464

19464:                                            ; preds = %19462, %12591
  %19465 = call i32 @s2n_free(ptr noundef %300)
  call void @llvm.lifetime.end.p0(i64 24, ptr %300) #11
  %19466 = load i32, ptr %302, align 4
  switch i32 %19466, label %32661 [
    i32 0, label %19467
    i32 1, label %32659
  ]

19467:                                            ; preds = %19464
  call void @llvm.lifetime.start.p0(i64 9, ptr %485) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %485, ptr align 1 @__const.main.identity_0, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 7, ptr %486) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %486, ptr align 1 @__const.main.secret_0, i64 7, i1 false)
  call void @llvm.lifetime.start.p0(i64 11, ptr %487) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %487, ptr align 1 @__const.main.identity_1, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 65535, ptr %488) #11
  call void @llvm.memset.p0.i64(ptr align 16 %488, i8 0, i64 65535, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %489) #11
  %19468 = call ptr @s2n_external_psk_new()
  store ptr %19468, ptr %489, align 8, !tbaa !9
  br label %19469

19469:                                            ; preds = %19467
  %19470 = load i32, ptr @test_count, align 4, !tbaa !5
  %19471 = add nsw i32 %19470, 1
  store i32 %19471, ptr @test_count, align 4, !tbaa !5
  %19472 = load ptr, ptr %489, align 8, !tbaa !9
  %19473 = getelementptr inbounds [9 x i8], ptr %485, i64 0, i64 0
  %19474 = call i32 @s2n_psk_set_identity(ptr noundef %19472, ptr noundef %19473, i16 noundef zeroext 9)
  %19475 = icmp eq i32 %19474, -1
  br i1 %19475, label %19476, label %19529

19476:                                            ; preds = %19469
  br label %19477

19477:                                            ; preds = %19476
  br label %19478

19478:                                            ; preds = %19477
  call void @llvm.lifetime.start.p0(i64 4, ptr %490) #11
  %19479 = call ptr @__errno_location() #12
  %19480 = load i32, ptr %19479, align 4, !tbaa !5
  store i32 %19480, ptr %490, align 4, !tbaa !5
  %19481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19482 = call i32 @s2n_print_stacktrace(ptr noundef %19481)
  %19483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19484 = trunc i8 %19483 to i1
  br i1 %19484, label %19485, label %19507

19485:                                            ; preds = %19478
  %19486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19487 = call i32 @fileno(ptr noundef %19486) #11
  %19488 = call i32 @isatty(i32 noundef %19487) #11
  %19489 = icmp ne i32 %19488, 0
  br i1 %19489, label %19490, label %19507

19490:                                            ; preds = %19485
  %19491 = load i32, ptr %490, align 4, !tbaa !5
  %19492 = call ptr @__errno_location() #12
  store i32 %19491, ptr %19492, align 4, !tbaa !5
  %19493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19494 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %19496, ptr noundef @.str.80)
  %19498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19499 = load i32, ptr %19498, align 4, !tbaa !5
  %19500 = call ptr @s2n_strerror_debug(i32 noundef %19499, ptr noundef @.str.80)
  %19501 = call ptr @__errno_location() #12
  %19502 = load i32, ptr %19501, align 4, !tbaa !5
  %19503 = call ptr @strerror(i32 noundef %19502) #11
  %19504 = call ptr @__errno_location() #12
  %19505 = load i32, ptr %19504, align 4, !tbaa !5
  %19506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19493, ptr noundef @.str.78, i32 noundef %19494, ptr noundef @.str.255, ptr noundef @.str.77, i32 noundef 732, ptr noundef %19497, ptr noundef %19500, ptr noundef %19503, i32 noundef %19505) #11
  br label %19524

19507:                                            ; preds = %19485, %19478
  %19508 = load i32, ptr %490, align 4, !tbaa !5
  %19509 = call ptr @__errno_location() #12
  store i32 %19508, ptr %19509, align 4, !tbaa !5
  %19510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19511 = load i32, ptr @test_count, align 4, !tbaa !5
  %19512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19513 = load i32, ptr %19512, align 4, !tbaa !5
  %19514 = call ptr @s2n_strerror(i32 noundef %19513, ptr noundef @.str.80)
  %19515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19516 = load i32, ptr %19515, align 4, !tbaa !5
  %19517 = call ptr @s2n_strerror_debug(i32 noundef %19516, ptr noundef @.str.80)
  %19518 = call ptr @__errno_location() #12
  %19519 = load i32, ptr %19518, align 4, !tbaa !5
  %19520 = call ptr @strerror(i32 noundef %19519) #11
  %19521 = call ptr @__errno_location() #12
  %19522 = load i32, ptr %19521, align 4, !tbaa !5
  %19523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19510, ptr noundef @.str.81, i32 noundef %19511, ptr noundef @.str.255, ptr noundef @.str.77, i32 noundef 732, ptr noundef %19514, ptr noundef %19517, ptr noundef %19520, i32 noundef %19522) #11
  br label %19524

19524:                                            ; preds = %19507, %19490
  call void @llvm.lifetime.end.p0(i64 4, ptr %490) #11
  br label %19525

19525:                                            ; preds = %19524
  br label %19526

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

19527:                                            ; No predecessors!
  br label %19528

19528:                                            ; preds = %19527
  br label %19529

19529:                                            ; preds = %19528, %19469
  br label %19530

19530:                                            ; preds = %19529
  br label %19531

19531:                                            ; preds = %19530
  br label %19532

19532:                                            ; preds = %19531
  %19533 = load i32, ptr @test_count, align 4, !tbaa !5
  %19534 = add nsw i32 %19533, 1
  store i32 %19534, ptr @test_count, align 4, !tbaa !5
  %19535 = load ptr, ptr %489, align 8, !tbaa !9
  %19536 = getelementptr inbounds [7 x i8], ptr %486, i64 0, i64 0
  %19537 = call i32 @s2n_psk_set_secret(ptr noundef %19535, ptr noundef %19536, i16 noundef zeroext 7)
  %19538 = icmp eq i32 %19537, -1
  br i1 %19538, label %19539, label %19592

19539:                                            ; preds = %19532
  br label %19540

19540:                                            ; preds = %19539
  br label %19541

19541:                                            ; preds = %19540
  call void @llvm.lifetime.start.p0(i64 4, ptr %491) #11
  %19542 = call ptr @__errno_location() #12
  %19543 = load i32, ptr %19542, align 4, !tbaa !5
  store i32 %19543, ptr %491, align 4, !tbaa !5
  %19544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19545 = call i32 @s2n_print_stacktrace(ptr noundef %19544)
  %19546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19547 = trunc i8 %19546 to i1
  br i1 %19547, label %19548, label %19570

19548:                                            ; preds = %19541
  %19549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19550 = call i32 @fileno(ptr noundef %19549) #11
  %19551 = call i32 @isatty(i32 noundef %19550) #11
  %19552 = icmp ne i32 %19551, 0
  br i1 %19552, label %19553, label %19570

19553:                                            ; preds = %19548
  %19554 = load i32, ptr %491, align 4, !tbaa !5
  %19555 = call ptr @__errno_location() #12
  store i32 %19554, ptr %19555, align 4, !tbaa !5
  %19556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19557 = load i32, ptr @test_count, align 4, !tbaa !5
  %19558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19559 = load i32, ptr %19558, align 4, !tbaa !5
  %19560 = call ptr @s2n_strerror(i32 noundef %19559, ptr noundef @.str.80)
  %19561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19562 = load i32, ptr %19561, align 4, !tbaa !5
  %19563 = call ptr @s2n_strerror_debug(i32 noundef %19562, ptr noundef @.str.80)
  %19564 = call ptr @__errno_location() #12
  %19565 = load i32, ptr %19564, align 4, !tbaa !5
  %19566 = call ptr @strerror(i32 noundef %19565) #11
  %19567 = call ptr @__errno_location() #12
  %19568 = load i32, ptr %19567, align 4, !tbaa !5
  %19569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19556, ptr noundef @.str.78, i32 noundef %19557, ptr noundef @.str.256, ptr noundef @.str.77, i32 noundef 733, ptr noundef %19560, ptr noundef %19563, ptr noundef %19566, i32 noundef %19568) #11
  br label %19587

19570:                                            ; preds = %19548, %19541
  %19571 = load i32, ptr %491, align 4, !tbaa !5
  %19572 = call ptr @__errno_location() #12
  store i32 %19571, ptr %19572, align 4, !tbaa !5
  %19573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19574 = load i32, ptr @test_count, align 4, !tbaa !5
  %19575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19576 = load i32, ptr %19575, align 4, !tbaa !5
  %19577 = call ptr @s2n_strerror(i32 noundef %19576, ptr noundef @.str.80)
  %19578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19579 = load i32, ptr %19578, align 4, !tbaa !5
  %19580 = call ptr @s2n_strerror_debug(i32 noundef %19579, ptr noundef @.str.80)
  %19581 = call ptr @__errno_location() #12
  %19582 = load i32, ptr %19581, align 4, !tbaa !5
  %19583 = call ptr @strerror(i32 noundef %19582) #11
  %19584 = call ptr @__errno_location() #12
  %19585 = load i32, ptr %19584, align 4, !tbaa !5
  %19586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19573, ptr noundef @.str.81, i32 noundef %19574, ptr noundef @.str.256, ptr noundef @.str.77, i32 noundef 733, ptr noundef %19577, ptr noundef %19580, ptr noundef %19583, i32 noundef %19585) #11
  br label %19587

19587:                                            ; preds = %19570, %19553
  call void @llvm.lifetime.end.p0(i64 4, ptr %491) #11
  br label %19588

19588:                                            ; preds = %19587
  br label %19589

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

19590:                                            ; No predecessors!
  br label %19591

19591:                                            ; preds = %19590
  br label %19592

19592:                                            ; preds = %19591, %19532
  br label %19593

19593:                                            ; preds = %19592
  br label %19594

19594:                                            ; preds = %19593
  br label %19595

19595:                                            ; preds = %19594
  %19596 = load i32, ptr @test_count, align 4, !tbaa !5
  %19597 = add nsw i32 %19596, 1
  store i32 %19597, ptr @test_count, align 4, !tbaa !5
  %19598 = load ptr, ptr %489, align 8, !tbaa !9
  %19599 = call i32 @s2n_psk_set_hmac(ptr noundef %19598, i32 noundef 1)
  %19600 = icmp eq i32 %19599, -1
  br i1 %19600, label %19601, label %19654

19601:                                            ; preds = %19595
  br label %19602

19602:                                            ; preds = %19601
  br label %19603

19603:                                            ; preds = %19602
  call void @llvm.lifetime.start.p0(i64 4, ptr %492) #11
  %19604 = call ptr @__errno_location() #12
  %19605 = load i32, ptr %19604, align 4, !tbaa !5
  store i32 %19605, ptr %492, align 4, !tbaa !5
  %19606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19607 = call i32 @s2n_print_stacktrace(ptr noundef %19606)
  %19608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19609 = trunc i8 %19608 to i1
  br i1 %19609, label %19610, label %19632

19610:                                            ; preds = %19603
  %19611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19612 = call i32 @fileno(ptr noundef %19611) #11
  %19613 = call i32 @isatty(i32 noundef %19612) #11
  %19614 = icmp ne i32 %19613, 0
  br i1 %19614, label %19615, label %19632

19615:                                            ; preds = %19610
  %19616 = load i32, ptr %492, align 4, !tbaa !5
  %19617 = call ptr @__errno_location() #12
  store i32 %19616, ptr %19617, align 4, !tbaa !5
  %19618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19619 = load i32, ptr @test_count, align 4, !tbaa !5
  %19620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19621 = load i32, ptr %19620, align 4, !tbaa !5
  %19622 = call ptr @s2n_strerror(i32 noundef %19621, ptr noundef @.str.80)
  %19623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19624 = load i32, ptr %19623, align 4, !tbaa !5
  %19625 = call ptr @s2n_strerror_debug(i32 noundef %19624, ptr noundef @.str.80)
  %19626 = call ptr @__errno_location() #12
  %19627 = load i32, ptr %19626, align 4, !tbaa !5
  %19628 = call ptr @strerror(i32 noundef %19627) #11
  %19629 = call ptr @__errno_location() #12
  %19630 = load i32, ptr %19629, align 4, !tbaa !5
  %19631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19618, ptr noundef @.str.78, i32 noundef %19619, ptr noundef @.str.257, ptr noundef @.str.77, i32 noundef 734, ptr noundef %19622, ptr noundef %19625, ptr noundef %19628, i32 noundef %19630) #11
  br label %19649

19632:                                            ; preds = %19610, %19603
  %19633 = load i32, ptr %492, align 4, !tbaa !5
  %19634 = call ptr @__errno_location() #12
  store i32 %19633, ptr %19634, align 4, !tbaa !5
  %19635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19636 = load i32, ptr @test_count, align 4, !tbaa !5
  %19637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19638 = load i32, ptr %19637, align 4, !tbaa !5
  %19639 = call ptr @s2n_strerror(i32 noundef %19638, ptr noundef @.str.80)
  %19640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19641 = load i32, ptr %19640, align 4, !tbaa !5
  %19642 = call ptr @s2n_strerror_debug(i32 noundef %19641, ptr noundef @.str.80)
  %19643 = call ptr @__errno_location() #12
  %19644 = load i32, ptr %19643, align 4, !tbaa !5
  %19645 = call ptr @strerror(i32 noundef %19644) #11
  %19646 = call ptr @__errno_location() #12
  %19647 = load i32, ptr %19646, align 4, !tbaa !5
  %19648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19635, ptr noundef @.str.81, i32 noundef %19636, ptr noundef @.str.257, ptr noundef @.str.77, i32 noundef 734, ptr noundef %19639, ptr noundef %19642, ptr noundef %19645, i32 noundef %19647) #11
  br label %19649

19649:                                            ; preds = %19632, %19615
  call void @llvm.lifetime.end.p0(i64 4, ptr %492) #11
  br label %19650

19650:                                            ; preds = %19649
  br label %19651

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

19652:                                            ; No predecessors!
  br label %19653

19653:                                            ; preds = %19652
  br label %19654

19654:                                            ; preds = %19653, %19595
  br label %19655

19655:                                            ; preds = %19654
  br label %19656

19656:                                            ; preds = %19655
  call void @llvm.lifetime.start.p0(i64 8, ptr %493) #11
  store ptr null, ptr %493, align 8, !tbaa !9
  br label %19657

19657:                                            ; preds = %19656
  %19658 = load i32, ptr @test_count, align 4, !tbaa !5
  %19659 = add nsw i32 %19658, 1
  store i32 %19659, ptr @test_count, align 4, !tbaa !5
  %19660 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %19660, ptr %493, align 8, !tbaa !9
  %19661 = icmp eq ptr %19660, null
  br i1 %19661, label %19662, label %19715

19662:                                            ; preds = %19657
  br label %19663

19663:                                            ; preds = %19662
  br label %19664

19664:                                            ; preds = %19663
  call void @llvm.lifetime.start.p0(i64 4, ptr %494) #11
  %19665 = call ptr @__errno_location() #12
  %19666 = load i32, ptr %19665, align 4, !tbaa !5
  store i32 %19666, ptr %494, align 4, !tbaa !5
  %19667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19668 = call i32 @s2n_print_stacktrace(ptr noundef %19667)
  %19669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19670 = trunc i8 %19669 to i1
  br i1 %19670, label %19671, label %19693

19671:                                            ; preds = %19664
  %19672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19673 = call i32 @fileno(ptr noundef %19672) #11
  %19674 = call i32 @isatty(i32 noundef %19673) #11
  %19675 = icmp ne i32 %19674, 0
  br i1 %19675, label %19676, label %19693

19676:                                            ; preds = %19671
  %19677 = load i32, ptr %494, align 4, !tbaa !5
  %19678 = call ptr @__errno_location() #12
  store i32 %19677, ptr %19678, align 4, !tbaa !5
  %19679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19680 = load i32, ptr @test_count, align 4, !tbaa !5
  %19681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19682 = load i32, ptr %19681, align 4, !tbaa !5
  %19683 = call ptr @s2n_strerror(i32 noundef %19682, ptr noundef @.str.80)
  %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_debug(i32 noundef %19685, ptr noundef @.str.80)
  %19687 = call ptr @__errno_location() #12
  %19688 = load i32, ptr %19687, align 4, !tbaa !5
  %19689 = call ptr @strerror(i32 noundef %19688) #11
  %19690 = call ptr @__errno_location() #12
  %19691 = load i32, ptr %19690, align 4, !tbaa !5
  %19692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19679, ptr noundef @.str.78, i32 noundef %19680, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 739, ptr noundef %19683, ptr noundef %19686, ptr noundef %19689, i32 noundef %19691) #11
  br label %19710

19693:                                            ; preds = %19671, %19664
  %19694 = load i32, ptr %494, align 4, !tbaa !5
  %19695 = call ptr @__errno_location() #12
  store i32 %19694, ptr %19695, align 4, !tbaa !5
  %19696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19697 = load i32, ptr @test_count, align 4, !tbaa !5
  %19698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19699 = load i32, ptr %19698, align 4, !tbaa !5
  %19700 = call ptr @s2n_strerror(i32 noundef %19699, ptr noundef @.str.80)
  %19701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19702 = load i32, ptr %19701, align 4, !tbaa !5
  %19703 = call ptr @s2n_strerror_debug(i32 noundef %19702, ptr noundef @.str.80)
  %19704 = call ptr @__errno_location() #12
  %19705 = load i32, ptr %19704, align 4, !tbaa !5
  %19706 = call ptr @strerror(i32 noundef %19705) #11
  %19707 = call ptr @__errno_location() #12
  %19708 = load i32, ptr %19707, align 4, !tbaa !5
  %19709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19696, ptr noundef @.str.81, i32 noundef %19697, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 739, ptr noundef %19700, ptr noundef %19703, ptr noundef %19706, i32 noundef %19708) #11
  br label %19710

19710:                                            ; preds = %19693, %19676
  call void @llvm.lifetime.end.p0(i64 4, ptr %494) #11
  br label %19711

19711:                                            ; preds = %19710
  br label %19712

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

19713:                                            ; No predecessors!
  br label %19714

19714:                                            ; preds = %19713
  br label %19715

19715:                                            ; preds = %19714, %19657
  br label %19716

19716:                                            ; preds = %19715
  br label %19717

19717:                                            ; preds = %19716
  br label %19718

19718:                                            ; preds = %19717
  br label %19719

19719:                                            ; preds = %19718
  br label %19720

19720:                                            ; preds = %19719
  %19721 = load i32, ptr @test_count, align 4, !tbaa !5
  %19722 = add nsw i32 %19721, 1
  store i32 %19722, ptr @test_count, align 4, !tbaa !5
  %19723 = load ptr, ptr %489, align 8, !tbaa !9
  %19724 = call i32 @s2n_connection_append_psk(ptr noundef null, ptr noundef %19723)
  %19725 = icmp eq i32 %19724, -1
  br i1 %19725, label %19779, label %19726

19726:                                            ; preds = %19720
  br label %19727

19727:                                            ; preds = %19726
  br label %19728

19728:                                            ; preds = %19727
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #11
  %19729 = call ptr @__errno_location() #12
  %19730 = load i32, ptr %19729, align 4, !tbaa !5
  store i32 %19730, ptr %495, align 4, !tbaa !5
  %19731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19732 = call i32 @s2n_print_stacktrace(ptr noundef %19731)
  %19733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19734 = trunc i8 %19733 to i1
  br i1 %19734, label %19735, label %19757

19735:                                            ; preds = %19728
  %19736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19737 = call i32 @fileno(ptr noundef %19736) #11
  %19738 = call i32 @isatty(i32 noundef %19737) #11
  %19739 = icmp ne i32 %19738, 0
  br i1 %19739, label %19740, label %19757

19740:                                            ; preds = %19735
  %19741 = load i32, ptr %495, align 4, !tbaa !5
  %19742 = call ptr @__errno_location() #12
  store i32 %19741, ptr %19742, align 4, !tbaa !5
  %19743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19744 = load i32, ptr @test_count, align 4, !tbaa !5
  %19745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19746 = load i32, ptr %19745, align 4, !tbaa !5
  %19747 = call ptr @s2n_strerror(i32 noundef %19746, ptr noundef @.str.80)
  %19748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19749 = load i32, ptr %19748, align 4, !tbaa !5
  %19750 = call ptr @s2n_strerror_debug(i32 noundef %19749, ptr noundef @.str.80)
  %19751 = call ptr @__errno_location() #12
  %19752 = load i32, ptr %19751, align 4, !tbaa !5
  %19753 = call ptr @strerror(i32 noundef %19752) #11
  %19754 = call ptr @__errno_location() #12
  %19755 = load i32, ptr %19754, align 4, !tbaa !5
  %19756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19743, ptr noundef @.str.78, i32 noundef %19744, ptr noundef @.str.258, ptr noundef @.str.77, i32 noundef 741, ptr noundef %19747, ptr noundef %19750, ptr noundef %19753, i32 noundef %19755) #11
  br label %19774

19757:                                            ; preds = %19735, %19728
  %19758 = load i32, ptr %495, align 4, !tbaa !5
  %19759 = call ptr @__errno_location() #12
  store i32 %19758, ptr %19759, align 4, !tbaa !5
  %19760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19761 = load i32, ptr @test_count, align 4, !tbaa !5
  %19762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19763 = load i32, ptr %19762, align 4, !tbaa !5
  %19764 = call ptr @s2n_strerror(i32 noundef %19763, ptr noundef @.str.80)
  %19765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19766 = load i32, ptr %19765, align 4, !tbaa !5
  %19767 = call ptr @s2n_strerror_debug(i32 noundef %19766, ptr noundef @.str.80)
  %19768 = call ptr @__errno_location() #12
  %19769 = load i32, ptr %19768, align 4, !tbaa !5
  %19770 = call ptr @strerror(i32 noundef %19769) #11
  %19771 = call ptr @__errno_location() #12
  %19772 = load i32, ptr %19771, align 4, !tbaa !5
  %19773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19760, ptr noundef @.str.81, i32 noundef %19761, ptr noundef @.str.258, ptr noundef @.str.77, i32 noundef 741, ptr noundef %19764, ptr noundef %19767, ptr noundef %19770, i32 noundef %19772) #11
  br label %19774

19774:                                            ; preds = %19757, %19740
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #11
  br label %19775

19775:                                            ; preds = %19774
  br label %19776

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

19777:                                            ; No predecessors!
  br label %19778

19778:                                            ; preds = %19777
  br label %19779

19779:                                            ; preds = %19778, %19720
  br label %19780

19780:                                            ; preds = %19779
  br label %19781

19781:                                            ; preds = %19780
  br label %19782

19782:                                            ; preds = %19781
  %19783 = load i32, ptr @test_count, align 4, !tbaa !5
  %19784 = add nsw i32 %19783, 1
  store i32 %19784, ptr @test_count, align 4, !tbaa !5
  %19785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19786 = load i32, ptr %19785, align 4, !tbaa !5
  %19787 = icmp eq i32 %19786, 402653193
  br i1 %19787, label %19841, label %19788

19788:                                            ; preds = %19782
  br label %19789

19789:                                            ; preds = %19788
  br label %19790

19790:                                            ; preds = %19789
  call void @llvm.lifetime.start.p0(i64 4, ptr %496) #11
  %19791 = call ptr @__errno_location() #12
  %19792 = load i32, ptr %19791, align 4, !tbaa !5
  store i32 %19792, ptr %496, align 4, !tbaa !5
  %19793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19794 = call i32 @s2n_print_stacktrace(ptr noundef %19793)
  %19795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19796 = trunc i8 %19795 to i1
  br i1 %19796, label %19797, label %19819

19797:                                            ; preds = %19790
  %19798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19799 = call i32 @fileno(ptr noundef %19798) #11
  %19800 = call i32 @isatty(i32 noundef %19799) #11
  %19801 = icmp ne i32 %19800, 0
  br i1 %19801, label %19802, label %19819

19802:                                            ; preds = %19797
  %19803 = load i32, ptr %496, align 4, !tbaa !5
  %19804 = call ptr @__errno_location() #12
  store i32 %19803, ptr %19804, align 4, !tbaa !5
  %19805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19806 = load i32, ptr @test_count, align 4, !tbaa !5
  %19807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19808 = load i32, ptr %19807, align 4, !tbaa !5
  %19809 = call ptr @s2n_strerror(i32 noundef %19808, ptr noundef @.str.80)
  %19810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19811 = load i32, ptr %19810, align 4, !tbaa !5
  %19812 = call ptr @s2n_strerror_debug(i32 noundef %19811, ptr noundef @.str.80)
  %19813 = call ptr @__errno_location() #12
  %19814 = load i32, ptr %19813, align 4, !tbaa !5
  %19815 = call ptr @strerror(i32 noundef %19814) #11
  %19816 = call ptr @__errno_location() #12
  %19817 = load i32, ptr %19816, align 4, !tbaa !5
  %19818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19805, ptr noundef @.str.78, i32 noundef %19806, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 741, ptr noundef %19809, ptr noundef %19812, ptr noundef %19815, i32 noundef %19817) #11
  br label %19836

19819:                                            ; preds = %19797, %19790
  %19820 = load i32, ptr %496, align 4, !tbaa !5
  %19821 = call ptr @__errno_location() #12
  store i32 %19820, ptr %19821, align 4, !tbaa !5
  %19822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19823 = load i32, ptr @test_count, align 4, !tbaa !5
  %19824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19825 = load i32, ptr %19824, align 4, !tbaa !5
  %19826 = call ptr @s2n_strerror(i32 noundef %19825, ptr noundef @.str.80)
  %19827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19828 = load i32, ptr %19827, align 4, !tbaa !5
  %19829 = call ptr @s2n_strerror_debug(i32 noundef %19828, ptr noundef @.str.80)
  %19830 = call ptr @__errno_location() #12
  %19831 = load i32, ptr %19830, align 4, !tbaa !5
  %19832 = call ptr @strerror(i32 noundef %19831) #11
  %19833 = call ptr @__errno_location() #12
  %19834 = load i32, ptr %19833, align 4, !tbaa !5
  %19835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19822, ptr noundef @.str.81, i32 noundef %19823, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 741, ptr noundef %19826, ptr noundef %19829, ptr noundef %19832, i32 noundef %19834) #11
  br label %19836

19836:                                            ; preds = %19819, %19802
  call void @llvm.lifetime.end.p0(i64 4, ptr %496) #11
  br label %19837

19837:                                            ; preds = %19836
  br label %19838

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

19839:                                            ; No predecessors!
  br label %19840

19840:                                            ; preds = %19839
  br label %19841

19841:                                            ; preds = %19840, %19782
  br label %19842

19842:                                            ; preds = %19841
  br label %19843

19843:                                            ; preds = %19842
  br label %19844

19844:                                            ; preds = %19843
  %19845 = load i32, ptr @test_count, align 4, !tbaa !5
  %19846 = add nsw i32 %19845, 1
  store i32 %19846, ptr @test_count, align 4, !tbaa !5
  %19847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19848 = load i32, ptr %19847, align 4, !tbaa !5
  %19849 = call ptr @s2n_strerror_debug(i32 noundef %19848, ptr noundef @.str.80)
  %19850 = icmp eq ptr %19849, null
  br i1 %19850, label %19851, label %19904

19851:                                            ; preds = %19844
  br label %19852

19852:                                            ; preds = %19851
  br label %19853

19853:                                            ; preds = %19852
  call void @llvm.lifetime.start.p0(i64 4, ptr %497) #11
  %19854 = call ptr @__errno_location() #12
  %19855 = load i32, ptr %19854, align 4, !tbaa !5
  store i32 %19855, ptr %497, align 4, !tbaa !5
  %19856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19857 = call i32 @s2n_print_stacktrace(ptr noundef %19856)
  %19858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19859 = trunc i8 %19858 to i1
  br i1 %19859, label %19860, label %19882

19860:                                            ; preds = %19853
  %19861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19862 = call i32 @fileno(ptr noundef %19861) #11
  %19863 = call i32 @isatty(i32 noundef %19862) #11
  %19864 = icmp ne i32 %19863, 0
  br i1 %19864, label %19865, label %19882

19865:                                            ; preds = %19860
  %19866 = load i32, ptr %497, align 4, !tbaa !5
  %19867 = call ptr @__errno_location() #12
  store i32 %19866, ptr %19867, align 4, !tbaa !5
  %19868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19869 = load i32, ptr @test_count, align 4, !tbaa !5
  %19870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19871 = load i32, ptr %19870, align 4, !tbaa !5
  %19872 = call ptr @s2n_strerror(i32 noundef %19871, ptr noundef @.str.80)
  %19873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19874 = load i32, ptr %19873, align 4, !tbaa !5
  %19875 = call ptr @s2n_strerror_debug(i32 noundef %19874, ptr noundef @.str.80)
  %19876 = call ptr @__errno_location() #12
  %19877 = load i32, ptr %19876, align 4, !tbaa !5
  %19878 = call ptr @strerror(i32 noundef %19877) #11
  %19879 = call ptr @__errno_location() #12
  %19880 = load i32, ptr %19879, align 4, !tbaa !5
  %19881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19868, ptr noundef @.str.78, i32 noundef %19869, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 741, ptr noundef %19872, ptr noundef %19875, ptr noundef %19878, i32 noundef %19880) #11
  br label %19899

19882:                                            ; preds = %19860, %19853
  %19883 = load i32, ptr %497, align 4, !tbaa !5
  %19884 = call ptr @__errno_location() #12
  store i32 %19883, ptr %19884, align 4, !tbaa !5
  %19885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19886 = load i32, ptr @test_count, align 4, !tbaa !5
  %19887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19888 = load i32, ptr %19887, align 4, !tbaa !5
  %19889 = call ptr @s2n_strerror(i32 noundef %19888, ptr noundef @.str.80)
  %19890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19891 = load i32, ptr %19890, align 4, !tbaa !5
  %19892 = call ptr @s2n_strerror_debug(i32 noundef %19891, ptr noundef @.str.80)
  %19893 = call ptr @__errno_location() #12
  %19894 = load i32, ptr %19893, align 4, !tbaa !5
  %19895 = call ptr @strerror(i32 noundef %19894) #11
  %19896 = call ptr @__errno_location() #12
  %19897 = load i32, ptr %19896, align 4, !tbaa !5
  %19898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19885, ptr noundef @.str.81, i32 noundef %19886, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 741, ptr noundef %19889, ptr noundef %19892, ptr noundef %19895, i32 noundef %19897) #11
  br label %19899

19899:                                            ; preds = %19882, %19865
  call void @llvm.lifetime.end.p0(i64 4, ptr %497) #11
  br label %19900

19900:                                            ; preds = %19899
  br label %19901

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

19902:                                            ; No predecessors!
  br label %19903

19903:                                            ; preds = %19902
  br label %19904

19904:                                            ; preds = %19903, %19844
  br label %19905

19905:                                            ; preds = %19904
  br label %19906

19906:                                            ; preds = %19905
  br label %19907

19907:                                            ; preds = %19906
  br label %19908

19908:                                            ; preds = %19907
  br label %19909

19909:                                            ; preds = %19908
  %19910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19910, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19911 = call ptr @__errno_location() #12
  store i32 0, ptr %19911, align 4, !tbaa !5
  br label %19912

19912:                                            ; preds = %19909
  br label %19913

19913:                                            ; preds = %19912
  br label %19914

19914:                                            ; preds = %19913
  br label %19915

19915:                                            ; preds = %19914
  br label %19916

19916:                                            ; preds = %19915
  br label %19917

19917:                                            ; preds = %19916
  br label %19918

19918:                                            ; preds = %19917
  %19919 = load i32, ptr @test_count, align 4, !tbaa !5
  %19920 = add nsw i32 %19919, 1
  store i32 %19920, ptr @test_count, align 4, !tbaa !5
  %19921 = load ptr, ptr %493, align 8, !tbaa !9
  %19922 = call i32 @s2n_connection_append_psk(ptr noundef %19921, ptr noundef null)
  %19923 = icmp eq i32 %19922, -1
  br i1 %19923, label %19977, label %19924

19924:                                            ; preds = %19918
  br label %19925

19925:                                            ; preds = %19924
  br label %19926

19926:                                            ; preds = %19925
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #11
  %19927 = call ptr @__errno_location() #12
  %19928 = load i32, ptr %19927, align 4, !tbaa !5
  store i32 %19928, ptr %498, align 4, !tbaa !5
  %19929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19930 = call i32 @s2n_print_stacktrace(ptr noundef %19929)
  %19931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19932 = trunc i8 %19931 to i1
  br i1 %19932, label %19933, label %19955

19933:                                            ; preds = %19926
  %19934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19935 = call i32 @fileno(ptr noundef %19934) #11
  %19936 = call i32 @isatty(i32 noundef %19935) #11
  %19937 = icmp ne i32 %19936, 0
  br i1 %19937, label %19938, label %19955

19938:                                            ; preds = %19933
  %19939 = load i32, ptr %498, 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.80)
  %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.80)
  %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.78, i32 noundef %19942, ptr noundef @.str.259, ptr noundef @.str.77, i32 noundef 742, ptr noundef %19945, ptr noundef %19948, ptr noundef %19951, i32 noundef %19953) #11
  br label %19972

19955:                                            ; preds = %19933, %19926
  %19956 = load i32, ptr %498, align 4, !tbaa !5
  %19957 = call ptr @__errno_location() #12
  store i32 %19956, ptr %19957, align 4, !tbaa !5
  %19958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19959 = load i32, ptr @test_count, align 4, !tbaa !5
  %19960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19961 = load i32, ptr %19960, align 4, !tbaa !5
  %19962 = call ptr @s2n_strerror(i32 noundef %19961, ptr noundef @.str.80)
  %19963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19964 = load i32, ptr %19963, align 4, !tbaa !5
  %19965 = call ptr @s2n_strerror_debug(i32 noundef %19964, ptr noundef @.str.80)
  %19966 = call ptr @__errno_location() #12
  %19967 = load i32, ptr %19966, align 4, !tbaa !5
  %19968 = call ptr @strerror(i32 noundef %19967) #11
  %19969 = call ptr @__errno_location() #12
  %19970 = load i32, ptr %19969, align 4, !tbaa !5
  %19971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19958, ptr noundef @.str.81, i32 noundef %19959, ptr noundef @.str.259, ptr noundef @.str.77, i32 noundef 742, ptr noundef %19962, ptr noundef %19965, ptr noundef %19968, i32 noundef %19970) #11
  br label %19972

19972:                                            ; preds = %19955, %19938
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #11
  br label %19973

19973:                                            ; preds = %19972
  br label %19974

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

19975:                                            ; No predecessors!
  br label %19976

19976:                                            ; preds = %19975
  br label %19977

19977:                                            ; preds = %19976, %19918
  br label %19978

19978:                                            ; preds = %19977
  br label %19979

19979:                                            ; preds = %19978
  br label %19980

19980:                                            ; preds = %19979
  %19981 = load i32, ptr @test_count, align 4, !tbaa !5
  %19982 = add nsw i32 %19981, 1
  store i32 %19982, ptr @test_count, align 4, !tbaa !5
  %19983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19984 = load i32, ptr %19983, align 4, !tbaa !5
  %19985 = icmp eq i32 %19984, 402653193
  br i1 %19985, label %20039, label %19986

19986:                                            ; preds = %19980
  br label %19987

19987:                                            ; preds = %19986
  br label %19988

19988:                                            ; preds = %19987
  call void @llvm.lifetime.start.p0(i64 4, ptr %499) #11
  %19989 = call ptr @__errno_location() #12
  %19990 = load i32, ptr %19989, align 4, !tbaa !5
  store i32 %19990, ptr %499, align 4, !tbaa !5
  %19991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19992 = call i32 @s2n_print_stacktrace(ptr noundef %19991)
  %19993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19994 = trunc i8 %19993 to i1
  br i1 %19994, label %19995, label %20017

19995:                                            ; preds = %19988
  %19996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19997 = call i32 @fileno(ptr noundef %19996) #11
  %19998 = call i32 @isatty(i32 noundef %19997) #11
  %19999 = icmp ne i32 %19998, 0
  br i1 %19999, label %20000, label %20017

20000:                                            ; preds = %19995
  %20001 = load i32, ptr %499, align 4, !tbaa !5
  %20002 = call ptr @__errno_location() #12
  store i32 %20001, ptr %20002, align 4, !tbaa !5
  %20003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20004 = load i32, ptr @test_count, align 4, !tbaa !5
  %20005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20006 = load i32, ptr %20005, align 4, !tbaa !5
  %20007 = call ptr @s2n_strerror(i32 noundef %20006, ptr noundef @.str.80)
  %20008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20009 = load i32, ptr %20008, align 4, !tbaa !5
  %20010 = call ptr @s2n_strerror_debug(i32 noundef %20009, ptr noundef @.str.80)
  %20011 = call ptr @__errno_location() #12
  %20012 = load i32, ptr %20011, align 4, !tbaa !5
  %20013 = call ptr @strerror(i32 noundef %20012) #11
  %20014 = call ptr @__errno_location() #12
  %20015 = load i32, ptr %20014, align 4, !tbaa !5
  %20016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20003, ptr noundef @.str.78, i32 noundef %20004, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 742, ptr noundef %20007, ptr noundef %20010, ptr noundef %20013, i32 noundef %20015) #11
  br label %20034

20017:                                            ; preds = %19995, %19988
  %20018 = load i32, ptr %499, align 4, !tbaa !5
  %20019 = call ptr @__errno_location() #12
  store i32 %20018, ptr %20019, align 4, !tbaa !5
  %20020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20021 = load i32, ptr @test_count, align 4, !tbaa !5
  %20022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20023 = load i32, ptr %20022, align 4, !tbaa !5
  %20024 = call ptr @s2n_strerror(i32 noundef %20023, ptr noundef @.str.80)
  %20025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20026 = load i32, ptr %20025, align 4, !tbaa !5
  %20027 = call ptr @s2n_strerror_debug(i32 noundef %20026, ptr noundef @.str.80)
  %20028 = call ptr @__errno_location() #12
  %20029 = load i32, ptr %20028, align 4, !tbaa !5
  %20030 = call ptr @strerror(i32 noundef %20029) #11
  %20031 = call ptr @__errno_location() #12
  %20032 = load i32, ptr %20031, align 4, !tbaa !5
  %20033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20020, ptr noundef @.str.81, i32 noundef %20021, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 742, ptr noundef %20024, ptr noundef %20027, ptr noundef %20030, i32 noundef %20032) #11
  br label %20034

20034:                                            ; preds = %20017, %20000
  call void @llvm.lifetime.end.p0(i64 4, ptr %499) #11
  br label %20035

20035:                                            ; preds = %20034
  br label %20036

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

20037:                                            ; No predecessors!
  br label %20038

20038:                                            ; preds = %20037
  br label %20039

20039:                                            ; preds = %20038, %19980
  br label %20040

20040:                                            ; preds = %20039
  br label %20041

20041:                                            ; preds = %20040
  br label %20042

20042:                                            ; preds = %20041
  %20043 = load i32, ptr @test_count, align 4, !tbaa !5
  %20044 = add nsw i32 %20043, 1
  store i32 %20044, ptr @test_count, align 4, !tbaa !5
  %20045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20046 = load i32, ptr %20045, align 4, !tbaa !5
  %20047 = call ptr @s2n_strerror_debug(i32 noundef %20046, ptr noundef @.str.80)
  %20048 = icmp eq ptr %20047, null
  br i1 %20048, label %20049, label %20102

20049:                                            ; preds = %20042
  br label %20050

20050:                                            ; preds = %20049
  br label %20051

20051:                                            ; preds = %20050
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #11
  %20052 = call ptr @__errno_location() #12
  %20053 = load i32, ptr %20052, align 4, !tbaa !5
  store i32 %20053, ptr %500, align 4, !tbaa !5
  %20054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20055 = call i32 @s2n_print_stacktrace(ptr noundef %20054)
  %20056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20057 = trunc i8 %20056 to i1
  br i1 %20057, label %20058, label %20080

20058:                                            ; preds = %20051
  %20059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20060 = call i32 @fileno(ptr noundef %20059) #11
  %20061 = call i32 @isatty(i32 noundef %20060) #11
  %20062 = icmp ne i32 %20061, 0
  br i1 %20062, label %20063, label %20080

20063:                                            ; preds = %20058
  %20064 = load i32, ptr %500, align 4, !tbaa !5
  %20065 = call ptr @__errno_location() #12
  store i32 %20064, ptr %20065, align 4, !tbaa !5
  %20066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20067 = load i32, ptr @test_count, align 4, !tbaa !5
  %20068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20069 = load i32, ptr %20068, align 4, !tbaa !5
  %20070 = call ptr @s2n_strerror(i32 noundef %20069, ptr noundef @.str.80)
  %20071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20072 = load i32, ptr %20071, align 4, !tbaa !5
  %20073 = call ptr @s2n_strerror_debug(i32 noundef %20072, ptr noundef @.str.80)
  %20074 = call ptr @__errno_location() #12
  %20075 = load i32, ptr %20074, align 4, !tbaa !5
  %20076 = call ptr @strerror(i32 noundef %20075) #11
  %20077 = call ptr @__errno_location() #12
  %20078 = load i32, ptr %20077, align 4, !tbaa !5
  %20079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20066, ptr noundef @.str.78, i32 noundef %20067, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 742, ptr noundef %20070, ptr noundef %20073, ptr noundef %20076, i32 noundef %20078) #11
  br label %20097

20080:                                            ; preds = %20058, %20051
  %20081 = load i32, ptr %500, align 4, !tbaa !5
  %20082 = call ptr @__errno_location() #12
  store i32 %20081, ptr %20082, align 4, !tbaa !5
  %20083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20084 = load i32, ptr @test_count, align 4, !tbaa !5
  %20085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20086 = load i32, ptr %20085, align 4, !tbaa !5
  %20087 = call ptr @s2n_strerror(i32 noundef %20086, ptr noundef @.str.80)
  %20088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20089 = load i32, ptr %20088, align 4, !tbaa !5
  %20090 = call ptr @s2n_strerror_debug(i32 noundef %20089, ptr noundef @.str.80)
  %20091 = call ptr @__errno_location() #12
  %20092 = load i32, ptr %20091, align 4, !tbaa !5
  %20093 = call ptr @strerror(i32 noundef %20092) #11
  %20094 = call ptr @__errno_location() #12
  %20095 = load i32, ptr %20094, align 4, !tbaa !5
  %20096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20083, ptr noundef @.str.81, i32 noundef %20084, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 742, ptr noundef %20087, ptr noundef %20090, ptr noundef %20093, i32 noundef %20095) #11
  br label %20097

20097:                                            ; preds = %20080, %20063
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #11
  br label %20098

20098:                                            ; preds = %20097
  br label %20099

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

20100:                                            ; No predecessors!
  br label %20101

20101:                                            ; preds = %20100
  br label %20102

20102:                                            ; preds = %20101, %20042
  br label %20103

20103:                                            ; preds = %20102
  br label %20104

20104:                                            ; preds = %20103
  br label %20105

20105:                                            ; preds = %20104
  br label %20106

20106:                                            ; preds = %20105
  br label %20107

20107:                                            ; preds = %20106
  %20108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20108, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20109 = call ptr @__errno_location() #12
  store i32 0, ptr %20109, align 4, !tbaa !5
  br label %20110

20110:                                            ; preds = %20107
  br label %20111

20111:                                            ; preds = %20110
  br label %20112

20112:                                            ; preds = %20111
  br label %20113

20113:                                            ; preds = %20112
  br label %20114

20114:                                            ; preds = %20113
  %20115 = load i32, ptr @test_count, align 4, !tbaa !5
  %20116 = add nsw i32 %20115, 1
  store i32 %20116, ptr @test_count, align 4, !tbaa !5
  %20117 = load ptr, ptr %493, align 8, !tbaa !9
  %20118 = call i32 @s2n_connection_free(ptr noundef %20117)
  %20119 = icmp eq i32 %20118, -1
  br i1 %20119, label %20120, label %20173

20120:                                            ; preds = %20114
  br label %20121

20121:                                            ; preds = %20120
  br label %20122

20122:                                            ; preds = %20121
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #11
  %20123 = call ptr @__errno_location() #12
  %20124 = load i32, ptr %20123, align 4, !tbaa !5
  store i32 %20124, ptr %501, align 4, !tbaa !5
  %20125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20126 = call i32 @s2n_print_stacktrace(ptr noundef %20125)
  %20127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20128 = trunc i8 %20127 to i1
  br i1 %20128, label %20129, label %20151

20129:                                            ; preds = %20122
  %20130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20131 = call i32 @fileno(ptr noundef %20130) #11
  %20132 = call i32 @isatty(i32 noundef %20131) #11
  %20133 = icmp ne i32 %20132, 0
  br i1 %20133, label %20134, label %20151

20134:                                            ; preds = %20129
  %20135 = load i32, ptr %501, align 4, !tbaa !5
  %20136 = call ptr @__errno_location() #12
  store i32 %20135, ptr %20136, align 4, !tbaa !5
  %20137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20138 = load i32, ptr @test_count, align 4, !tbaa !5
  %20139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20140 = load i32, ptr %20139, align 4, !tbaa !5
  %20141 = call ptr @s2n_strerror(i32 noundef %20140, ptr noundef @.str.80)
  %20142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20143 = load i32, ptr %20142, align 4, !tbaa !5
  %20144 = call ptr @s2n_strerror_debug(i32 noundef %20143, ptr noundef @.str.80)
  %20145 = call ptr @__errno_location() #12
  %20146 = load i32, ptr %20145, align 4, !tbaa !5
  %20147 = call ptr @strerror(i32 noundef %20146) #11
  %20148 = call ptr @__errno_location() #12
  %20149 = load i32, ptr %20148, align 4, !tbaa !5
  %20150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20137, ptr noundef @.str.78, i32 noundef %20138, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 744, ptr noundef %20141, ptr noundef %20144, ptr noundef %20147, i32 noundef %20149) #11
  br label %20168

20151:                                            ; preds = %20129, %20122
  %20152 = load i32, ptr %501, align 4, !tbaa !5
  %20153 = call ptr @__errno_location() #12
  store i32 %20152, ptr %20153, align 4, !tbaa !5
  %20154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20155 = load i32, ptr @test_count, align 4, !tbaa !5
  %20156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20157 = load i32, ptr %20156, align 4, !tbaa !5
  %20158 = call ptr @s2n_strerror(i32 noundef %20157, ptr noundef @.str.80)
  %20159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20160 = load i32, ptr %20159, align 4, !tbaa !5
  %20161 = call ptr @s2n_strerror_debug(i32 noundef %20160, ptr noundef @.str.80)
  %20162 = call ptr @__errno_location() #12
  %20163 = load i32, ptr %20162, align 4, !tbaa !5
  %20164 = call ptr @strerror(i32 noundef %20163) #11
  %20165 = call ptr @__errno_location() #12
  %20166 = load i32, ptr %20165, align 4, !tbaa !5
  %20167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20154, ptr noundef @.str.81, i32 noundef %20155, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 744, ptr noundef %20158, ptr noundef %20161, ptr noundef %20164, i32 noundef %20166) #11
  br label %20168

20168:                                            ; preds = %20151, %20134
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #11
  br label %20169

20169:                                            ; preds = %20168
  br label %20170

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

20171:                                            ; No predecessors!
  br label %20172

20172:                                            ; preds = %20171
  br label %20173

20173:                                            ; preds = %20172, %20114
  br label %20174

20174:                                            ; preds = %20173
  br label %20175

20175:                                            ; preds = %20174
  call void @llvm.lifetime.end.p0(i64 8, ptr %493) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %502) #11
  store ptr null, ptr %502, align 8, !tbaa !9
  br label %20176

20176:                                            ; preds = %20175
  %20177 = load i32, ptr @test_count, align 4, !tbaa !5
  %20178 = add nsw i32 %20177, 1
  store i32 %20178, ptr @test_count, align 4, !tbaa !5
  %20179 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %20179, ptr %502, align 8, !tbaa !9
  %20180 = icmp eq ptr %20179, null
  br i1 %20180, label %20181, label %20234

20181:                                            ; preds = %20176
  br label %20182

20182:                                            ; preds = %20181
  br label %20183

20183:                                            ; preds = %20182
  call void @llvm.lifetime.start.p0(i64 4, ptr %503) #11
  %20184 = call ptr @__errno_location() #12
  %20185 = load i32, ptr %20184, align 4, !tbaa !5
  store i32 %20185, ptr %503, align 4, !tbaa !5
  %20186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20187 = call i32 @s2n_print_stacktrace(ptr noundef %20186)
  %20188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20189 = trunc i8 %20188 to i1
  br i1 %20189, label %20190, label %20212

20190:                                            ; preds = %20183
  %20191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20192 = call i32 @fileno(ptr noundef %20191) #11
  %20193 = call i32 @isatty(i32 noundef %20192) #11
  %20194 = icmp ne i32 %20193, 0
  br i1 %20194, label %20195, label %20212

20195:                                            ; preds = %20190
  %20196 = load i32, ptr %503, 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.80)
  %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.80)
  %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.78, i32 noundef %20199, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 750, ptr noundef %20202, ptr noundef %20205, ptr noundef %20208, i32 noundef %20210) #11
  br label %20229

20212:                                            ; preds = %20190, %20183
  %20213 = load i32, ptr %503, align 4, !tbaa !5
  %20214 = call ptr @__errno_location() #12
  store i32 %20213, ptr %20214, align 4, !tbaa !5
  %20215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20216 = load i32, ptr @test_count, align 4, !tbaa !5
  %20217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20218 = load i32, ptr %20217, align 4, !tbaa !5
  %20219 = call ptr @s2n_strerror(i32 noundef %20218, ptr noundef @.str.80)
  %20220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20221 = load i32, ptr %20220, align 4, !tbaa !5
  %20222 = call ptr @s2n_strerror_debug(i32 noundef %20221, ptr noundef @.str.80)
  %20223 = call ptr @__errno_location() #12
  %20224 = load i32, ptr %20223, align 4, !tbaa !5
  %20225 = call ptr @strerror(i32 noundef %20224) #11
  %20226 = call ptr @__errno_location() #12
  %20227 = load i32, ptr %20226, align 4, !tbaa !5
  %20228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20215, ptr noundef @.str.81, i32 noundef %20216, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 750, ptr noundef %20219, ptr noundef %20222, ptr noundef %20225, i32 noundef %20227) #11
  br label %20229

20229:                                            ; preds = %20212, %20195
  call void @llvm.lifetime.end.p0(i64 4, ptr %503) #11
  br label %20230

20230:                                            ; preds = %20229
  br label %20231

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

20232:                                            ; No predecessors!
  br label %20233

20233:                                            ; preds = %20232
  br label %20234

20234:                                            ; preds = %20233, %20176
  br label %20235

20235:                                            ; preds = %20234
  br label %20236

20236:                                            ; preds = %20235
  br label %20237

20237:                                            ; preds = %20236
  %20238 = load i32, ptr @test_count, align 4, !tbaa !5
  %20239 = add nsw i32 %20238, 1
  store i32 %20239, ptr @test_count, align 4, !tbaa !5
  %20240 = load ptr, ptr %502, align 8, !tbaa !9
  %20241 = load ptr, ptr %489, align 8, !tbaa !9
  %20242 = call i32 @s2n_connection_append_psk(ptr noundef %20240, ptr noundef %20241)
  %20243 = icmp eq i32 %20242, -1
  br i1 %20243, label %20244, label %20297

20244:                                            ; preds = %20237
  br label %20245

20245:                                            ; preds = %20244
  br label %20246

20246:                                            ; preds = %20245
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #11
  %20247 = call ptr @__errno_location() #12
  %20248 = load i32, ptr %20247, align 4, !tbaa !5
  store i32 %20248, ptr %504, align 4, !tbaa !5
  %20249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20250 = call i32 @s2n_print_stacktrace(ptr noundef %20249)
  %20251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20252 = trunc i8 %20251 to i1
  br i1 %20252, label %20253, label %20275

20253:                                            ; preds = %20246
  %20254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20255 = call i32 @fileno(ptr noundef %20254) #11
  %20256 = call i32 @isatty(i32 noundef %20255) #11
  %20257 = icmp ne i32 %20256, 0
  br i1 %20257, label %20258, label %20275

20258:                                            ; preds = %20253
  %20259 = load i32, ptr %504, align 4, !tbaa !5
  %20260 = call ptr @__errno_location() #12
  store i32 %20259, ptr %20260, align 4, !tbaa !5
  %20261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20262 = load i32, ptr @test_count, align 4, !tbaa !5
  %20263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20264 = load i32, ptr %20263, align 4, !tbaa !5
  %20265 = call ptr @s2n_strerror(i32 noundef %20264, ptr noundef @.str.80)
  %20266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20267 = load i32, ptr %20266, align 4, !tbaa !5
  %20268 = call ptr @s2n_strerror_debug(i32 noundef %20267, ptr noundef @.str.80)
  %20269 = call ptr @__errno_location() #12
  %20270 = load i32, ptr %20269, align 4, !tbaa !5
  %20271 = call ptr @strerror(i32 noundef %20270) #11
  %20272 = call ptr @__errno_location() #12
  %20273 = load i32, ptr %20272, align 4, !tbaa !5
  %20274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20261, ptr noundef @.str.78, i32 noundef %20262, ptr noundef @.str.260, ptr noundef @.str.77, i32 noundef 752, ptr noundef %20265, ptr noundef %20268, ptr noundef %20271, i32 noundef %20273) #11
  br label %20292

20275:                                            ; preds = %20253, %20246
  %20276 = load i32, ptr %504, align 4, !tbaa !5
  %20277 = call ptr @__errno_location() #12
  store i32 %20276, ptr %20277, align 4, !tbaa !5
  %20278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20279 = load i32, ptr @test_count, align 4, !tbaa !5
  %20280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20281 = load i32, ptr %20280, align 4, !tbaa !5
  %20282 = call ptr @s2n_strerror(i32 noundef %20281, ptr noundef @.str.80)
  %20283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20284 = load i32, ptr %20283, align 4, !tbaa !5
  %20285 = call ptr @s2n_strerror_debug(i32 noundef %20284, ptr noundef @.str.80)
  %20286 = call ptr @__errno_location() #12
  %20287 = load i32, ptr %20286, align 4, !tbaa !5
  %20288 = call ptr @strerror(i32 noundef %20287) #11
  %20289 = call ptr @__errno_location() #12
  %20290 = load i32, ptr %20289, align 4, !tbaa !5
  %20291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20278, ptr noundef @.str.81, i32 noundef %20279, ptr noundef @.str.260, ptr noundef @.str.77, i32 noundef 752, ptr noundef %20282, ptr noundef %20285, ptr noundef %20288, i32 noundef %20290) #11
  br label %20292

20292:                                            ; preds = %20275, %20258
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #11
  br label %20293

20293:                                            ; preds = %20292
  br label %20294

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

20295:                                            ; No predecessors!
  br label %20296

20296:                                            ; preds = %20295
  br label %20297

20297:                                            ; preds = %20296, %20237
  br label %20298

20298:                                            ; preds = %20297
  br label %20299

20299:                                            ; preds = %20298
  call void @llvm.lifetime.start.p0(i64 8, ptr %505) #11
  store ptr null, ptr %505, align 8, !tbaa !9
  br label %20300

20300:                                            ; preds = %20299
  %20301 = load i32, ptr @test_count, align 4, !tbaa !5
  %20302 = add nsw i32 %20301, 1
  store i32 %20302, ptr @test_count, align 4, !tbaa !5
  %20303 = load ptr, ptr %502, align 8, !tbaa !9
  %20304 = getelementptr inbounds %struct.s2n_connection, ptr %20303, i32 0, i32 33
  %20305 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %20304, i32 0, i32 1
  %20306 = call i32 @s2n_array_get(ptr noundef %20305, i32 noundef 0, ptr noundef %505)
  %20307 = getelementptr inbounds %struct.s2n_result, ptr %506, i32 0, i32 0
  store i32 %20306, ptr %20307, align 4
  %20308 = getelementptr inbounds %struct.s2n_result, ptr %506, i32 0, i32 0
  %20309 = load i32, ptr %20308, align 4
  %20310 = call zeroext i1 @s2n_result_is_ok(i32 %20309)
  br i1 %20310, label %20364, label %20311

20311:                                            ; preds = %20300
  br label %20312

20312:                                            ; preds = %20311
  br label %20313

20313:                                            ; preds = %20312
  call void @llvm.lifetime.start.p0(i64 4, ptr %507) #11
  %20314 = call ptr @__errno_location() #12
  %20315 = load i32, ptr %20314, align 4, !tbaa !5
  store i32 %20315, ptr %507, align 4, !tbaa !5
  %20316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20317 = call i32 @s2n_print_stacktrace(ptr noundef %20316)
  %20318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20319 = trunc i8 %20318 to i1
  br i1 %20319, label %20320, label %20342

20320:                                            ; preds = %20313
  %20321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20322 = call i32 @fileno(ptr noundef %20321) #11
  %20323 = call i32 @isatty(i32 noundef %20322) #11
  %20324 = icmp ne i32 %20323, 0
  br i1 %20324, label %20325, label %20342

20325:                                            ; preds = %20320
  %20326 = load i32, ptr %507, align 4, !tbaa !5
  %20327 = call ptr @__errno_location() #12
  store i32 %20326, ptr %20327, align 4, !tbaa !5
  %20328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20329 = load i32, ptr @test_count, align 4, !tbaa !5
  %20330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20331 = load i32, ptr %20330, align 4, !tbaa !5
  %20332 = call ptr @s2n_strerror(i32 noundef %20331, ptr noundef @.str.80)
  %20333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20334 = load i32, ptr %20333, align 4, !tbaa !5
  %20335 = call ptr @s2n_strerror_debug(i32 noundef %20334, ptr noundef @.str.80)
  %20336 = call ptr @__errno_location() #12
  %20337 = load i32, ptr %20336, align 4, !tbaa !5
  %20338 = call ptr @strerror(i32 noundef %20337) #11
  %20339 = call ptr @__errno_location() #12
  %20340 = load i32, ptr %20339, align 4, !tbaa !5
  %20341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20328, ptr noundef @.str.78, i32 noundef %20329, ptr noundef @.str.261, ptr noundef @.str.77, i32 noundef 755, ptr noundef %20332, ptr noundef %20335, ptr noundef %20338, i32 noundef %20340) #11
  br label %20359

20342:                                            ; preds = %20320, %20313
  %20343 = load i32, ptr %507, align 4, !tbaa !5
  %20344 = call ptr @__errno_location() #12
  store i32 %20343, ptr %20344, align 4, !tbaa !5
  %20345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20346 = load i32, ptr @test_count, align 4, !tbaa !5
  %20347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20348 = load i32, ptr %20347, align 4, !tbaa !5
  %20349 = call ptr @s2n_strerror(i32 noundef %20348, ptr noundef @.str.80)
  %20350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20351 = load i32, ptr %20350, align 4, !tbaa !5
  %20352 = call ptr @s2n_strerror_debug(i32 noundef %20351, ptr noundef @.str.80)
  %20353 = call ptr @__errno_location() #12
  %20354 = load i32, ptr %20353, align 4, !tbaa !5
  %20355 = call ptr @strerror(i32 noundef %20354) #11
  %20356 = call ptr @__errno_location() #12
  %20357 = load i32, ptr %20356, align 4, !tbaa !5
  %20358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20345, ptr noundef @.str.81, i32 noundef %20346, ptr noundef @.str.261, ptr noundef @.str.77, i32 noundef 755, ptr noundef %20349, ptr noundef %20352, ptr noundef %20355, i32 noundef %20357) #11
  br label %20359

20359:                                            ; preds = %20342, %20325
  call void @llvm.lifetime.end.p0(i64 4, ptr %507) #11
  br label %20360

20360:                                            ; preds = %20359
  br label %20361

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

20362:                                            ; No predecessors!
  br label %20363

20363:                                            ; preds = %20362
  br label %20364

20364:                                            ; preds = %20363, %20300
  br label %20365

20365:                                            ; preds = %20364
  br label %20366

20366:                                            ; preds = %20365
  br label %20367

20367:                                            ; preds = %20366
  %20368 = load i32, ptr @test_count, align 4, !tbaa !5
  %20369 = add nsw i32 %20368, 1
  store i32 %20369, ptr @test_count, align 4, !tbaa !5
  %20370 = load ptr, ptr %505, align 8, !tbaa !9
  %20371 = icmp eq ptr %20370, null
  br i1 %20371, label %20372, label %20425

20372:                                            ; preds = %20367
  br label %20373

20373:                                            ; preds = %20372
  br label %20374

20374:                                            ; preds = %20373
  call void @llvm.lifetime.start.p0(i64 4, ptr %508) #11
  %20375 = call ptr @__errno_location() #12
  %20376 = load i32, ptr %20375, align 4, !tbaa !5
  store i32 %20376, ptr %508, align 4, !tbaa !5
  %20377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20378 = call i32 @s2n_print_stacktrace(ptr noundef %20377)
  %20379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20380 = trunc i8 %20379 to i1
  br i1 %20380, label %20381, label %20403

20381:                                            ; preds = %20374
  %20382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20383 = call i32 @fileno(ptr noundef %20382) #11
  %20384 = call i32 @isatty(i32 noundef %20383) #11
  %20385 = icmp ne i32 %20384, 0
  br i1 %20385, label %20386, label %20403

20386:                                            ; preds = %20381
  %20387 = load i32, ptr %508, align 4, !tbaa !5
  %20388 = call ptr @__errno_location() #12
  store i32 %20387, ptr %20388, align 4, !tbaa !5
  %20389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20390 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %20392, ptr noundef @.str.80)
  %20394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20395 = load i32, ptr %20394, align 4, !tbaa !5
  %20396 = call ptr @s2n_strerror_debug(i32 noundef %20395, ptr noundef @.str.80)
  %20397 = call ptr @__errno_location() #12
  %20398 = load i32, ptr %20397, align 4, !tbaa !5
  %20399 = call ptr @strerror(i32 noundef %20398) #11
  %20400 = call ptr @__errno_location() #12
  %20401 = load i32, ptr %20400, align 4, !tbaa !5
  %20402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20389, ptr noundef @.str.78, i32 noundef %20390, ptr noundef @.str.262, ptr noundef @.str.77, i32 noundef 756, ptr noundef %20393, ptr noundef %20396, ptr noundef %20399, i32 noundef %20401) #11
  br label %20420

20403:                                            ; preds = %20381, %20374
  %20404 = load i32, ptr %508, align 4, !tbaa !5
  %20405 = call ptr @__errno_location() #12
  store i32 %20404, ptr %20405, align 4, !tbaa !5
  %20406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20407 = load i32, ptr @test_count, align 4, !tbaa !5
  %20408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20409 = load i32, ptr %20408, align 4, !tbaa !5
  %20410 = call ptr @s2n_strerror(i32 noundef %20409, ptr noundef @.str.80)
  %20411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20412 = load i32, ptr %20411, align 4, !tbaa !5
  %20413 = call ptr @s2n_strerror_debug(i32 noundef %20412, ptr noundef @.str.80)
  %20414 = call ptr @__errno_location() #12
  %20415 = load i32, ptr %20414, align 4, !tbaa !5
  %20416 = call ptr @strerror(i32 noundef %20415) #11
  %20417 = call ptr @__errno_location() #12
  %20418 = load i32, ptr %20417, align 4, !tbaa !5
  %20419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20406, ptr noundef @.str.81, i32 noundef %20407, ptr noundef @.str.262, ptr noundef @.str.77, i32 noundef 756, ptr noundef %20410, ptr noundef %20413, ptr noundef %20416, i32 noundef %20418) #11
  br label %20420

20420:                                            ; preds = %20403, %20386
  call void @llvm.lifetime.end.p0(i64 4, ptr %508) #11
  br label %20421

20421:                                            ; preds = %20420
  br label %20422

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

20423:                                            ; No predecessors!
  br label %20424

20424:                                            ; preds = %20423
  br label %20425

20425:                                            ; preds = %20424, %20367
  br label %20426

20426:                                            ; preds = %20425
  br label %20427

20427:                                            ; preds = %20426
  br label %20428

20428:                                            ; preds = %20427
  %20429 = load i32, ptr @test_count, align 4, !tbaa !5
  %20430 = add nsw i32 %20429, 1
  store i32 %20430, ptr @test_count, align 4, !tbaa !5
  %20431 = load ptr, ptr %505, align 8, !tbaa !9
  %20432 = getelementptr inbounds %struct.s2n_psk, ptr %20431, i32 0, i32 0
  %20433 = load i32, ptr %20432, align 8, !tbaa !15
  %20434 = icmp eq i32 %20433, 1
  br i1 %20434, label %20488, label %20435

20435:                                            ; preds = %20428
  br label %20436

20436:                                            ; preds = %20435
  br label %20437

20437:                                            ; preds = %20436
  call void @llvm.lifetime.start.p0(i64 4, ptr %509) #11
  %20438 = call ptr @__errno_location() #12
  %20439 = load i32, ptr %20438, align 4, !tbaa !5
  store i32 %20439, ptr %509, align 4, !tbaa !5
  %20440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20441 = call i32 @s2n_print_stacktrace(ptr noundef %20440)
  %20442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20443 = trunc i8 %20442 to i1
  br i1 %20443, label %20444, label %20466

20444:                                            ; preds = %20437
  %20445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20446 = call i32 @fileno(ptr noundef %20445) #11
  %20447 = call i32 @isatty(i32 noundef %20446) #11
  %20448 = icmp ne i32 %20447, 0
  br i1 %20448, label %20449, label %20466

20449:                                            ; preds = %20444
  %20450 = load i32, ptr %509, align 4, !tbaa !5
  %20451 = call ptr @__errno_location() #12
  store i32 %20450, ptr %20451, align 4, !tbaa !5
  %20452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20453 = load i32, ptr @test_count, align 4, !tbaa !5
  %20454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20455 = load i32, ptr %20454, align 4, !tbaa !5
  %20456 = call ptr @s2n_strerror(i32 noundef %20455, ptr noundef @.str.80)
  %20457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20458 = load i32, ptr %20457, align 4, !tbaa !5
  %20459 = call ptr @s2n_strerror_debug(i32 noundef %20458, ptr noundef @.str.80)
  %20460 = call ptr @__errno_location() #12
  %20461 = load i32, ptr %20460, align 4, !tbaa !5
  %20462 = call ptr @strerror(i32 noundef %20461) #11
  %20463 = call ptr @__errno_location() #12
  %20464 = load i32, ptr %20463, align 4, !tbaa !5
  %20465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20452, ptr noundef @.str.78, i32 noundef %20453, ptr noundef @.str.263, ptr noundef @.str.77, i32 noundef 758, ptr noundef %20456, ptr noundef %20459, ptr noundef %20462, i32 noundef %20464) #11
  br label %20483

20466:                                            ; preds = %20444, %20437
  %20467 = load i32, ptr %509, align 4, !tbaa !5
  %20468 = call ptr @__errno_location() #12
  store i32 %20467, ptr %20468, align 4, !tbaa !5
  %20469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20470 = load i32, ptr @test_count, align 4, !tbaa !5
  %20471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20472 = load i32, ptr %20471, align 4, !tbaa !5
  %20473 = call ptr @s2n_strerror(i32 noundef %20472, ptr noundef @.str.80)
  %20474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20475 = load i32, ptr %20474, align 4, !tbaa !5
  %20476 = call ptr @s2n_strerror_debug(i32 noundef %20475, ptr noundef @.str.80)
  %20477 = call ptr @__errno_location() #12
  %20478 = load i32, ptr %20477, align 4, !tbaa !5
  %20479 = call ptr @strerror(i32 noundef %20478) #11
  %20480 = call ptr @__errno_location() #12
  %20481 = load i32, ptr %20480, align 4, !tbaa !5
  %20482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20469, ptr noundef @.str.81, i32 noundef %20470, ptr noundef @.str.263, ptr noundef @.str.77, i32 noundef 758, ptr noundef %20473, ptr noundef %20476, ptr noundef %20479, i32 noundef %20481) #11
  br label %20483

20483:                                            ; preds = %20466, %20449
  call void @llvm.lifetime.end.p0(i64 4, ptr %509) #11
  br label %20484

20484:                                            ; preds = %20483
  br label %20485

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

20486:                                            ; No predecessors!
  br label %20487

20487:                                            ; preds = %20486
  br label %20488

20488:                                            ; preds = %20487, %20428
  br label %20489

20489:                                            ; preds = %20488
  br label %20490

20490:                                            ; preds = %20489
  br label %20491

20491:                                            ; preds = %20490
  %20492 = load i32, ptr @test_count, align 4, !tbaa !5
  %20493 = add nsw i32 %20492, 1
  store i32 %20493, ptr @test_count, align 4, !tbaa !5
  %20494 = load ptr, ptr %505, align 8, !tbaa !9
  %20495 = getelementptr inbounds %struct.s2n_psk, ptr %20494, i32 0, i32 1
  %20496 = getelementptr inbounds %struct.s2n_blob, ptr %20495, i32 0, i32 1
  %20497 = load i32, ptr %20496, align 8, !tbaa !24
  %20498 = load ptr, ptr %489, align 8, !tbaa !9
  %20499 = getelementptr inbounds %struct.s2n_psk, ptr %20498, i32 0, i32 1
  %20500 = getelementptr inbounds %struct.s2n_blob, ptr %20499, i32 0, i32 1
  %20501 = load i32, ptr %20500, align 8, !tbaa !24
  %20502 = icmp eq i32 %20497, %20501
  br i1 %20502, label %20556, label %20503

20503:                                            ; preds = %20491
  br label %20504

20504:                                            ; preds = %20503
  br label %20505

20505:                                            ; preds = %20504
  call void @llvm.lifetime.start.p0(i64 4, ptr %510) #11
  %20506 = call ptr @__errno_location() #12
  %20507 = load i32, ptr %20506, align 4, !tbaa !5
  store i32 %20507, ptr %510, align 4, !tbaa !5
  %20508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20509 = call i32 @s2n_print_stacktrace(ptr noundef %20508)
  %20510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20511 = trunc i8 %20510 to i1
  br i1 %20511, label %20512, label %20534

20512:                                            ; preds = %20505
  %20513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20514 = call i32 @fileno(ptr noundef %20513) #11
  %20515 = call i32 @isatty(i32 noundef %20514) #11
  %20516 = icmp ne i32 %20515, 0
  br i1 %20516, label %20517, label %20534

20517:                                            ; preds = %20512
  %20518 = load i32, ptr %510, align 4, !tbaa !5
  %20519 = call ptr @__errno_location() #12
  store i32 %20518, ptr %20519, align 4, !tbaa !5
  %20520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20521 = load i32, ptr @test_count, align 4, !tbaa !5
  %20522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20523 = load i32, ptr %20522, align 4, !tbaa !5
  %20524 = call ptr @s2n_strerror(i32 noundef %20523, ptr noundef @.str.80)
  %20525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20526 = load i32, ptr %20525, align 4, !tbaa !5
  %20527 = call ptr @s2n_strerror_debug(i32 noundef %20526, ptr noundef @.str.80)
  %20528 = call ptr @__errno_location() #12
  %20529 = load i32, ptr %20528, align 4, !tbaa !5
  %20530 = call ptr @strerror(i32 noundef %20529) #11
  %20531 = call ptr @__errno_location() #12
  %20532 = load i32, ptr %20531, align 4, !tbaa !5
  %20533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20520, ptr noundef @.str.78, i32 noundef %20521, ptr noundef @.str.264, ptr noundef @.str.77, i32 noundef 759, ptr noundef %20524, ptr noundef %20527, ptr noundef %20530, i32 noundef %20532) #11
  br label %20551

20534:                                            ; preds = %20512, %20505
  %20535 = load i32, ptr %510, align 4, !tbaa !5
  %20536 = call ptr @__errno_location() #12
  store i32 %20535, ptr %20536, align 4, !tbaa !5
  %20537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20538 = load i32, ptr @test_count, align 4, !tbaa !5
  %20539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20540 = load i32, ptr %20539, align 4, !tbaa !5
  %20541 = call ptr @s2n_strerror(i32 noundef %20540, ptr noundef @.str.80)
  %20542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20543 = load i32, ptr %20542, align 4, !tbaa !5
  %20544 = call ptr @s2n_strerror_debug(i32 noundef %20543, ptr noundef @.str.80)
  %20545 = call ptr @__errno_location() #12
  %20546 = load i32, ptr %20545, align 4, !tbaa !5
  %20547 = call ptr @strerror(i32 noundef %20546) #11
  %20548 = call ptr @__errno_location() #12
  %20549 = load i32, ptr %20548, align 4, !tbaa !5
  %20550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20537, ptr noundef @.str.81, i32 noundef %20538, ptr noundef @.str.264, ptr noundef @.str.77, i32 noundef 759, ptr noundef %20541, ptr noundef %20544, ptr noundef %20547, i32 noundef %20549) #11
  br label %20551

20551:                                            ; preds = %20534, %20517
  call void @llvm.lifetime.end.p0(i64 4, ptr %510) #11
  br label %20552

20552:                                            ; preds = %20551
  br label %20553

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

20554:                                            ; No predecessors!
  br label %20555

20555:                                            ; preds = %20554
  br label %20556

20556:                                            ; preds = %20555, %20491
  br label %20557

20557:                                            ; preds = %20556
  br label %20558

20558:                                            ; preds = %20557
  br label %20559

20559:                                            ; preds = %20558
  %20560 = load ptr, ptr %489, align 8, !tbaa !9
  %20561 = getelementptr inbounds %struct.s2n_psk, ptr %20560, i32 0, i32 1
  %20562 = getelementptr inbounds %struct.s2n_blob, ptr %20561, i32 0, i32 1
  %20563 = load i32, ptr %20562, align 8, !tbaa !24
  %20564 = icmp ne i32 %20563, 0
  br i1 %20564, label %20565, label %20640

20565:                                            ; preds = %20559
  br label %20566

20566:                                            ; preds = %20565
  %20567 = load i32, ptr @test_count, align 4, !tbaa !5
  %20568 = add nsw i32 %20567, 1
  store i32 %20568, ptr @test_count, align 4, !tbaa !5
  %20569 = load ptr, ptr %505, align 8, !tbaa !9
  %20570 = getelementptr inbounds %struct.s2n_psk, ptr %20569, i32 0, i32 1
  %20571 = getelementptr inbounds %struct.s2n_blob, ptr %20570, i32 0, i32 0
  %20572 = load ptr, ptr %20571, align 8, !tbaa !25
  %20573 = load ptr, ptr %489, align 8, !tbaa !9
  %20574 = getelementptr inbounds %struct.s2n_psk, ptr %20573, i32 0, i32 1
  %20575 = getelementptr inbounds %struct.s2n_blob, ptr %20574, i32 0, i32 0
  %20576 = load ptr, ptr %20575, align 8, !tbaa !25
  %20577 = load ptr, ptr %489, align 8, !tbaa !9
  %20578 = getelementptr inbounds %struct.s2n_psk, ptr %20577, i32 0, i32 1
  %20579 = getelementptr inbounds %struct.s2n_blob, ptr %20578, i32 0, i32 1
  %20580 = load i32, ptr %20579, align 8, !tbaa !24
  %20581 = zext i32 %20580 to i64
  %20582 = call i32 @memcmp(ptr noundef %20572, ptr noundef %20576, i64 noundef %20581) #14
  %20583 = icmp eq i32 %20582, 0
  br i1 %20583, label %20637, label %20584

20584:                                            ; preds = %20566
  br label %20585

20585:                                            ; preds = %20584
  br label %20586

20586:                                            ; preds = %20585
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #11
  %20587 = call ptr @__errno_location() #12
  %20588 = load i32, ptr %20587, align 4, !tbaa !5
  store i32 %20588, ptr %511, align 4, !tbaa !5
  %20589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20590 = call i32 @s2n_print_stacktrace(ptr noundef %20589)
  %20591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20592 = trunc i8 %20591 to i1
  br i1 %20592, label %20593, label %20615

20593:                                            ; preds = %20586
  %20594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20595 = call i32 @fileno(ptr noundef %20594) #11
  %20596 = call i32 @isatty(i32 noundef %20595) #11
  %20597 = icmp ne i32 %20596, 0
  br i1 %20597, label %20598, label %20615

20598:                                            ; preds = %20593
  %20599 = load i32, ptr %511, align 4, !tbaa !5
  %20600 = call ptr @__errno_location() #12
  store i32 %20599, ptr %20600, align 4, !tbaa !5
  %20601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20602 = load i32, ptr @test_count, align 4, !tbaa !5
  %20603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20604 = load i32, ptr %20603, align 4, !tbaa !5
  %20605 = call ptr @s2n_strerror(i32 noundef %20604, ptr noundef @.str.80)
  %20606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20607 = load i32, ptr %20606, align 4, !tbaa !5
  %20608 = call ptr @s2n_strerror_debug(i32 noundef %20607, ptr noundef @.str.80)
  %20609 = call ptr @__errno_location() #12
  %20610 = load i32, ptr %20609, align 4, !tbaa !5
  %20611 = call ptr @strerror(i32 noundef %20610) #11
  %20612 = call ptr @__errno_location() #12
  %20613 = load i32, ptr %20612, align 4, !tbaa !5
  %20614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20601, ptr noundef @.str.78, i32 noundef %20602, ptr noundef @.str.265, ptr noundef @.str.77, i32 noundef 760, ptr noundef %20605, ptr noundef %20608, ptr noundef %20611, i32 noundef %20613) #11
  br label %20632

20615:                                            ; preds = %20593, %20586
  %20616 = load i32, ptr %511, 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.80)
  %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.80)
  %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.81, i32 noundef %20619, ptr noundef @.str.265, ptr noundef @.str.77, i32 noundef 760, ptr noundef %20622, ptr noundef %20625, ptr noundef %20628, i32 noundef %20630) #11
  br label %20632

20632:                                            ; preds = %20615, %20598
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #11
  br label %20633

20633:                                            ; preds = %20632
  br label %20634

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

20635:                                            ; No predecessors!
  br label %20636

20636:                                            ; preds = %20635
  br label %20637

20637:                                            ; preds = %20636, %20566
  br label %20638

20638:                                            ; preds = %20637
  br label %20639

20639:                                            ; preds = %20638
  br label %20640

20640:                                            ; preds = %20639, %20559
  br label %20641

20641:                                            ; preds = %20640
  br label %20642

20642:                                            ; preds = %20641
  br label %20643

20643:                                            ; preds = %20642
  %20644 = load i32, ptr @test_count, align 4, !tbaa !5
  %20645 = add nsw i32 %20644, 1
  store i32 %20645, ptr @test_count, align 4, !tbaa !5
  %20646 = load ptr, ptr %505, align 8, !tbaa !9
  %20647 = getelementptr inbounds %struct.s2n_psk, ptr %20646, i32 0, i32 2
  %20648 = getelementptr inbounds %struct.s2n_blob, ptr %20647, i32 0, i32 1
  %20649 = load i32, ptr %20648, align 8, !tbaa !27
  %20650 = load ptr, ptr %489, align 8, !tbaa !9
  %20651 = getelementptr inbounds %struct.s2n_psk, ptr %20650, i32 0, i32 2
  %20652 = getelementptr inbounds %struct.s2n_blob, ptr %20651, i32 0, i32 1
  %20653 = load i32, ptr %20652, align 8, !tbaa !27
  %20654 = icmp eq i32 %20649, %20653
  br i1 %20654, label %20708, label %20655

20655:                                            ; preds = %20643
  br label %20656

20656:                                            ; preds = %20655
  br label %20657

20657:                                            ; preds = %20656
  call void @llvm.lifetime.start.p0(i64 4, ptr %512) #11
  %20658 = call ptr @__errno_location() #12
  %20659 = load i32, ptr %20658, align 4, !tbaa !5
  store i32 %20659, ptr %512, align 4, !tbaa !5
  %20660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20661 = call i32 @s2n_print_stacktrace(ptr noundef %20660)
  %20662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20663 = trunc i8 %20662 to i1
  br i1 %20663, label %20664, label %20686

20664:                                            ; preds = %20657
  %20665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20666 = call i32 @fileno(ptr noundef %20665) #11
  %20667 = call i32 @isatty(i32 noundef %20666) #11
  %20668 = icmp ne i32 %20667, 0
  br i1 %20668, label %20669, label %20686

20669:                                            ; preds = %20664
  %20670 = load i32, ptr %512, align 4, !tbaa !5
  %20671 = call ptr @__errno_location() #12
  store i32 %20670, ptr %20671, align 4, !tbaa !5
  %20672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20673 = load i32, ptr @test_count, align 4, !tbaa !5
  %20674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20675 = load i32, ptr %20674, align 4, !tbaa !5
  %20676 = call ptr @s2n_strerror(i32 noundef %20675, ptr noundef @.str.80)
  %20677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20678 = load i32, ptr %20677, align 4, !tbaa !5
  %20679 = call ptr @s2n_strerror_debug(i32 noundef %20678, ptr noundef @.str.80)
  %20680 = call ptr @__errno_location() #12
  %20681 = load i32, ptr %20680, align 4, !tbaa !5
  %20682 = call ptr @strerror(i32 noundef %20681) #11
  %20683 = call ptr @__errno_location() #12
  %20684 = load i32, ptr %20683, align 4, !tbaa !5
  %20685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20672, ptr noundef @.str.78, i32 noundef %20673, ptr noundef @.str.266, ptr noundef @.str.77, i32 noundef 761, ptr noundef %20676, ptr noundef %20679, ptr noundef %20682, i32 noundef %20684) #11
  br label %20703

20686:                                            ; preds = %20664, %20657
  %20687 = load i32, ptr %512, align 4, !tbaa !5
  %20688 = call ptr @__errno_location() #12
  store i32 %20687, ptr %20688, align 4, !tbaa !5
  %20689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20690 = load i32, ptr @test_count, align 4, !tbaa !5
  %20691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20692 = load i32, ptr %20691, align 4, !tbaa !5
  %20693 = call ptr @s2n_strerror(i32 noundef %20692, ptr noundef @.str.80)
  %20694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20695 = load i32, ptr %20694, align 4, !tbaa !5
  %20696 = call ptr @s2n_strerror_debug(i32 noundef %20695, ptr noundef @.str.80)
  %20697 = call ptr @__errno_location() #12
  %20698 = load i32, ptr %20697, align 4, !tbaa !5
  %20699 = call ptr @strerror(i32 noundef %20698) #11
  %20700 = call ptr @__errno_location() #12
  %20701 = load i32, ptr %20700, align 4, !tbaa !5
  %20702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20689, ptr noundef @.str.81, i32 noundef %20690, ptr noundef @.str.266, ptr noundef @.str.77, i32 noundef 761, ptr noundef %20693, ptr noundef %20696, ptr noundef %20699, i32 noundef %20701) #11
  br label %20703

20703:                                            ; preds = %20686, %20669
  call void @llvm.lifetime.end.p0(i64 4, ptr %512) #11
  br label %20704

20704:                                            ; preds = %20703
  br label %20705

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

20706:                                            ; No predecessors!
  br label %20707

20707:                                            ; preds = %20706
  br label %20708

20708:                                            ; preds = %20707, %20643
  br label %20709

20709:                                            ; preds = %20708
  br label %20710

20710:                                            ; preds = %20709
  br label %20711

20711:                                            ; preds = %20710
  %20712 = load ptr, ptr %489, align 8, !tbaa !9
  %20713 = getelementptr inbounds %struct.s2n_psk, ptr %20712, i32 0, i32 2
  %20714 = getelementptr inbounds %struct.s2n_blob, ptr %20713, i32 0, i32 1
  %20715 = load i32, ptr %20714, align 8, !tbaa !27
  %20716 = icmp ne i32 %20715, 0
  br i1 %20716, label %20717, label %20792

20717:                                            ; preds = %20711
  br label %20718

20718:                                            ; preds = %20717
  %20719 = load i32, ptr @test_count, align 4, !tbaa !5
  %20720 = add nsw i32 %20719, 1
  store i32 %20720, ptr @test_count, align 4, !tbaa !5
  %20721 = load ptr, ptr %505, align 8, !tbaa !9
  %20722 = getelementptr inbounds %struct.s2n_psk, ptr %20721, i32 0, i32 2
  %20723 = getelementptr inbounds %struct.s2n_blob, ptr %20722, i32 0, i32 0
  %20724 = load ptr, ptr %20723, align 8, !tbaa !28
  %20725 = load ptr, ptr %489, align 8, !tbaa !9
  %20726 = getelementptr inbounds %struct.s2n_psk, ptr %20725, i32 0, i32 2
  %20727 = getelementptr inbounds %struct.s2n_blob, ptr %20726, i32 0, i32 0
  %20728 = load ptr, ptr %20727, align 8, !tbaa !28
  %20729 = load ptr, ptr %489, align 8, !tbaa !9
  %20730 = getelementptr inbounds %struct.s2n_psk, ptr %20729, i32 0, i32 2
  %20731 = getelementptr inbounds %struct.s2n_blob, ptr %20730, i32 0, i32 1
  %20732 = load i32, ptr %20731, align 8, !tbaa !27
  %20733 = zext i32 %20732 to i64
  %20734 = call i32 @memcmp(ptr noundef %20724, ptr noundef %20728, i64 noundef %20733) #14
  %20735 = icmp eq i32 %20734, 0
  br i1 %20735, label %20789, label %20736

20736:                                            ; preds = %20718
  br label %20737

20737:                                            ; preds = %20736
  br label %20738

20738:                                            ; preds = %20737
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #11
  %20739 = call ptr @__errno_location() #12
  %20740 = load i32, ptr %20739, align 4, !tbaa !5
  store i32 %20740, ptr %513, align 4, !tbaa !5
  %20741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20742 = call i32 @s2n_print_stacktrace(ptr noundef %20741)
  %20743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20744 = trunc i8 %20743 to i1
  br i1 %20744, label %20745, label %20767

20745:                                            ; preds = %20738
  %20746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20747 = call i32 @fileno(ptr noundef %20746) #11
  %20748 = call i32 @isatty(i32 noundef %20747) #11
  %20749 = icmp ne i32 %20748, 0
  br i1 %20749, label %20750, label %20767

20750:                                            ; preds = %20745
  %20751 = load i32, ptr %513, align 4, !tbaa !5
  %20752 = call ptr @__errno_location() #12
  store i32 %20751, ptr %20752, align 4, !tbaa !5
  %20753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20754 = load i32, ptr @test_count, align 4, !tbaa !5
  %20755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20756 = load i32, ptr %20755, align 4, !tbaa !5
  %20757 = call ptr @s2n_strerror(i32 noundef %20756, ptr noundef @.str.80)
  %20758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20759 = load i32, ptr %20758, align 4, !tbaa !5
  %20760 = call ptr @s2n_strerror_debug(i32 noundef %20759, ptr noundef @.str.80)
  %20761 = call ptr @__errno_location() #12
  %20762 = load i32, ptr %20761, align 4, !tbaa !5
  %20763 = call ptr @strerror(i32 noundef %20762) #11
  %20764 = call ptr @__errno_location() #12
  %20765 = load i32, ptr %20764, align 4, !tbaa !5
  %20766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20753, ptr noundef @.str.78, i32 noundef %20754, ptr noundef @.str.267, ptr noundef @.str.77, i32 noundef 762, ptr noundef %20757, ptr noundef %20760, ptr noundef %20763, i32 noundef %20765) #11
  br label %20784

20767:                                            ; preds = %20745, %20738
  %20768 = load i32, ptr %513, align 4, !tbaa !5
  %20769 = call ptr @__errno_location() #12
  store i32 %20768, ptr %20769, align 4, !tbaa !5
  %20770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20771 = load i32, ptr @test_count, align 4, !tbaa !5
  %20772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20773 = load i32, ptr %20772, align 4, !tbaa !5
  %20774 = call ptr @s2n_strerror(i32 noundef %20773, ptr noundef @.str.80)
  %20775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20776 = load i32, ptr %20775, align 4, !tbaa !5
  %20777 = call ptr @s2n_strerror_debug(i32 noundef %20776, ptr noundef @.str.80)
  %20778 = call ptr @__errno_location() #12
  %20779 = load i32, ptr %20778, align 4, !tbaa !5
  %20780 = call ptr @strerror(i32 noundef %20779) #11
  %20781 = call ptr @__errno_location() #12
  %20782 = load i32, ptr %20781, align 4, !tbaa !5
  %20783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20770, ptr noundef @.str.81, i32 noundef %20771, ptr noundef @.str.267, ptr noundef @.str.77, i32 noundef 762, ptr noundef %20774, ptr noundef %20777, ptr noundef %20780, i32 noundef %20782) #11
  br label %20784

20784:                                            ; preds = %20767, %20750
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #11
  br label %20785

20785:                                            ; preds = %20784
  br label %20786

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

20787:                                            ; No predecessors!
  br label %20788

20788:                                            ; preds = %20787
  br label %20789

20789:                                            ; preds = %20788, %20718
  br label %20790

20790:                                            ; preds = %20789
  br label %20791

20791:                                            ; preds = %20790
  br label %20792

20792:                                            ; preds = %20791, %20711
  br label %20793

20793:                                            ; preds = %20792
  br label %20794

20794:                                            ; preds = %20793
  br label %20795

20795:                                            ; preds = %20794
  %20796 = load i32, ptr @test_count, align 4, !tbaa !5
  %20797 = add nsw i32 %20796, 1
  store i32 %20797, ptr @test_count, align 4, !tbaa !5
  %20798 = load ptr, ptr %505, align 8, !tbaa !9
  %20799 = getelementptr inbounds %struct.s2n_psk, ptr %20798, i32 0, i32 3
  %20800 = load i32, ptr %20799, align 8, !tbaa !20
  %20801 = icmp eq i32 %20800, 5
  br i1 %20801, label %20855, label %20802

20802:                                            ; preds = %20795
  br label %20803

20803:                                            ; preds = %20802
  br label %20804

20804:                                            ; preds = %20803
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #11
  %20805 = call ptr @__errno_location() #12
  %20806 = load i32, ptr %20805, align 4, !tbaa !5
  store i32 %20806, ptr %514, align 4, !tbaa !5
  %20807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20808 = call i32 @s2n_print_stacktrace(ptr noundef %20807)
  %20809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20810 = trunc i8 %20809 to i1
  br i1 %20810, label %20811, label %20833

20811:                                            ; preds = %20804
  %20812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20813 = call i32 @fileno(ptr noundef %20812) #11
  %20814 = call i32 @isatty(i32 noundef %20813) #11
  %20815 = icmp ne i32 %20814, 0
  br i1 %20815, label %20816, label %20833

20816:                                            ; preds = %20811
  %20817 = load i32, ptr %514, align 4, !tbaa !5
  %20818 = call ptr @__errno_location() #12
  store i32 %20817, ptr %20818, align 4, !tbaa !5
  %20819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20820 = load i32, ptr @test_count, align 4, !tbaa !5
  %20821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20822 = load i32, ptr %20821, align 4, !tbaa !5
  %20823 = call ptr @s2n_strerror(i32 noundef %20822, ptr noundef @.str.80)
  %20824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20825 = load i32, ptr %20824, align 4, !tbaa !5
  %20826 = call ptr @s2n_strerror_debug(i32 noundef %20825, ptr noundef @.str.80)
  %20827 = call ptr @__errno_location() #12
  %20828 = load i32, ptr %20827, align 4, !tbaa !5
  %20829 = call ptr @strerror(i32 noundef %20828) #11
  %20830 = call ptr @__errno_location() #12
  %20831 = load i32, ptr %20830, align 4, !tbaa !5
  %20832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20819, ptr noundef @.str.78, i32 noundef %20820, ptr noundef @.str.268, ptr noundef @.str.77, i32 noundef 763, ptr noundef %20823, ptr noundef %20826, ptr noundef %20829, i32 noundef %20831) #11
  br label %20850

20833:                                            ; preds = %20811, %20804
  %20834 = load i32, ptr %514, align 4, !tbaa !5
  %20835 = call ptr @__errno_location() #12
  store i32 %20834, ptr %20835, align 4, !tbaa !5
  %20836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20837 = load i32, ptr @test_count, align 4, !tbaa !5
  %20838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20839 = load i32, ptr %20838, align 4, !tbaa !5
  %20840 = call ptr @s2n_strerror(i32 noundef %20839, ptr noundef @.str.80)
  %20841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20842 = load i32, ptr %20841, align 4, !tbaa !5
  %20843 = call ptr @s2n_strerror_debug(i32 noundef %20842, ptr noundef @.str.80)
  %20844 = call ptr @__errno_location() #12
  %20845 = load i32, ptr %20844, align 4, !tbaa !5
  %20846 = call ptr @strerror(i32 noundef %20845) #11
  %20847 = call ptr @__errno_location() #12
  %20848 = load i32, ptr %20847, align 4, !tbaa !5
  %20849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20836, ptr noundef @.str.81, i32 noundef %20837, ptr noundef @.str.268, ptr noundef @.str.77, i32 noundef 763, ptr noundef %20840, ptr noundef %20843, ptr noundef %20846, i32 noundef %20848) #11
  br label %20850

20850:                                            ; preds = %20833, %20816
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #11
  br label %20851

20851:                                            ; preds = %20850
  br label %20852

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

20853:                                            ; No predecessors!
  br label %20854

20854:                                            ; preds = %20853
  br label %20855

20855:                                            ; preds = %20854, %20795
  br label %20856

20856:                                            ; preds = %20855
  br label %20857

20857:                                            ; preds = %20856
  br label %20858

20858:                                            ; preds = %20857
  %20859 = load i32, ptr @test_count, align 4, !tbaa !5
  %20860 = add nsw i32 %20859, 1
  store i32 %20860, ptr @test_count, align 4, !tbaa !5
  %20861 = load ptr, ptr %505, align 8, !tbaa !9
  %20862 = getelementptr inbounds %struct.s2n_psk, ptr %20861, i32 0, i32 4
  %20863 = load i32, ptr %20862, align 4, !tbaa !21
  %20864 = icmp eq i32 %20863, 0
  br i1 %20864, label %20918, label %20865

20865:                                            ; preds = %20858
  br label %20866

20866:                                            ; preds = %20865
  br label %20867

20867:                                            ; preds = %20866
  call void @llvm.lifetime.start.p0(i64 4, ptr %515) #11
  %20868 = call ptr @__errno_location() #12
  %20869 = load i32, ptr %20868, align 4, !tbaa !5
  store i32 %20869, ptr %515, align 4, !tbaa !5
  %20870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20871 = call i32 @s2n_print_stacktrace(ptr noundef %20870)
  %20872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20873 = trunc i8 %20872 to i1
  br i1 %20873, label %20874, label %20896

20874:                                            ; preds = %20867
  %20875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20876 = call i32 @fileno(ptr noundef %20875) #11
  %20877 = call i32 @isatty(i32 noundef %20876) #11
  %20878 = icmp ne i32 %20877, 0
  br i1 %20878, label %20879, label %20896

20879:                                            ; preds = %20874
  %20880 = load i32, ptr %515, align 4, !tbaa !5
  %20881 = call ptr @__errno_location() #12
  store i32 %20880, ptr %20881, align 4, !tbaa !5
  %20882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20883 = load i32, ptr @test_count, align 4, !tbaa !5
  %20884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20885 = load i32, ptr %20884, align 4, !tbaa !5
  %20886 = call ptr @s2n_strerror(i32 noundef %20885, ptr noundef @.str.80)
  %20887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20888 = load i32, ptr %20887, align 4, !tbaa !5
  %20889 = call ptr @s2n_strerror_debug(i32 noundef %20888, ptr noundef @.str.80)
  %20890 = call ptr @__errno_location() #12
  %20891 = load i32, ptr %20890, align 4, !tbaa !5
  %20892 = call ptr @strerror(i32 noundef %20891) #11
  %20893 = call ptr @__errno_location() #12
  %20894 = load i32, ptr %20893, align 4, !tbaa !5
  %20895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20882, ptr noundef @.str.78, i32 noundef %20883, ptr noundef @.str.269, ptr noundef @.str.77, i32 noundef 764, ptr noundef %20886, ptr noundef %20889, ptr noundef %20892, i32 noundef %20894) #11
  br label %20913

20896:                                            ; preds = %20874, %20867
  %20897 = load i32, ptr %515, align 4, !tbaa !5
  %20898 = call ptr @__errno_location() #12
  store i32 %20897, ptr %20898, align 4, !tbaa !5
  %20899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20900 = load i32, ptr @test_count, align 4, !tbaa !5
  %20901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20902 = load i32, ptr %20901, align 4, !tbaa !5
  %20903 = call ptr @s2n_strerror(i32 noundef %20902, ptr noundef @.str.80)
  %20904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20905 = load i32, ptr %20904, align 4, !tbaa !5
  %20906 = call ptr @s2n_strerror_debug(i32 noundef %20905, ptr noundef @.str.80)
  %20907 = call ptr @__errno_location() #12
  %20908 = load i32, ptr %20907, align 4, !tbaa !5
  %20909 = call ptr @strerror(i32 noundef %20908) #11
  %20910 = call ptr @__errno_location() #12
  %20911 = load i32, ptr %20910, align 4, !tbaa !5
  %20912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20899, ptr noundef @.str.81, i32 noundef %20900, ptr noundef @.str.269, ptr noundef @.str.77, i32 noundef 764, ptr noundef %20903, ptr noundef %20906, ptr noundef %20909, i32 noundef %20911) #11
  br label %20913

20913:                                            ; preds = %20896, %20879
  call void @llvm.lifetime.end.p0(i64 4, ptr %515) #11
  br label %20914

20914:                                            ; preds = %20913
  br label %20915

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

20916:                                            ; No predecessors!
  br label %20917

20917:                                            ; preds = %20916
  br label %20918

20918:                                            ; preds = %20917, %20858
  br label %20919

20919:                                            ; preds = %20918
  br label %20920

20920:                                            ; preds = %20919
  br label %20921

20921:                                            ; preds = %20920
  %20922 = load i32, ptr @test_count, align 4, !tbaa !5
  %20923 = add nsw i32 %20922, 1
  store i32 %20923, ptr @test_count, align 4, !tbaa !5
  %20924 = load ptr, ptr %505, align 8, !tbaa !9
  %20925 = getelementptr inbounds %struct.s2n_psk, ptr %20924, i32 0, i32 5
  %20926 = load i64, ptr %20925, align 8, !tbaa !22
  %20927 = icmp eq i64 %20926, 0
  br i1 %20927, label %20981, label %20928

20928:                                            ; preds = %20921
  br label %20929

20929:                                            ; preds = %20928
  br label %20930

20930:                                            ; preds = %20929
  call void @llvm.lifetime.start.p0(i64 4, ptr %516) #11
  %20931 = call ptr @__errno_location() #12
  %20932 = load i32, ptr %20931, align 4, !tbaa !5
  store i32 %20932, ptr %516, align 4, !tbaa !5
  %20933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20934 = call i32 @s2n_print_stacktrace(ptr noundef %20933)
  %20935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20936 = trunc i8 %20935 to i1
  br i1 %20936, label %20937, label %20959

20937:                                            ; preds = %20930
  %20938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20939 = call i32 @fileno(ptr noundef %20938) #11
  %20940 = call i32 @isatty(i32 noundef %20939) #11
  %20941 = icmp ne i32 %20940, 0
  br i1 %20941, label %20942, label %20959

20942:                                            ; preds = %20937
  %20943 = load i32, ptr %516, align 4, !tbaa !5
  %20944 = call ptr @__errno_location() #12
  store i32 %20943, ptr %20944, align 4, !tbaa !5
  %20945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20946 = load i32, ptr @test_count, align 4, !tbaa !5
  %20947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20948 = load i32, ptr %20947, align 4, !tbaa !5
  %20949 = call ptr @s2n_strerror(i32 noundef %20948, ptr noundef @.str.80)
  %20950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20951 = load i32, ptr %20950, align 4, !tbaa !5
  %20952 = call ptr @s2n_strerror_debug(i32 noundef %20951, ptr noundef @.str.80)
  %20953 = call ptr @__errno_location() #12
  %20954 = load i32, ptr %20953, align 4, !tbaa !5
  %20955 = call ptr @strerror(i32 noundef %20954) #11
  %20956 = call ptr @__errno_location() #12
  %20957 = load i32, ptr %20956, align 4, !tbaa !5
  %20958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20945, ptr noundef @.str.78, i32 noundef %20946, ptr noundef @.str.270, ptr noundef @.str.77, i32 noundef 765, ptr noundef %20949, ptr noundef %20952, ptr noundef %20955, i32 noundef %20957) #11
  br label %20976

20959:                                            ; preds = %20937, %20930
  %20960 = load i32, ptr %516, align 4, !tbaa !5
  %20961 = call ptr @__errno_location() #12
  store i32 %20960, ptr %20961, align 4, !tbaa !5
  %20962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20963 = load i32, ptr @test_count, align 4, !tbaa !5
  %20964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20965 = load i32, ptr %20964, align 4, !tbaa !5
  %20966 = call ptr @s2n_strerror(i32 noundef %20965, ptr noundef @.str.80)
  %20967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20968 = load i32, ptr %20967, align 4, !tbaa !5
  %20969 = call ptr @s2n_strerror_debug(i32 noundef %20968, ptr noundef @.str.80)
  %20970 = call ptr @__errno_location() #12
  %20971 = load i32, ptr %20970, align 4, !tbaa !5
  %20972 = call ptr @strerror(i32 noundef %20971) #11
  %20973 = call ptr @__errno_location() #12
  %20974 = load i32, ptr %20973, align 4, !tbaa !5
  %20975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20962, ptr noundef @.str.81, i32 noundef %20963, ptr noundef @.str.270, ptr noundef @.str.77, i32 noundef 765, ptr noundef %20966, ptr noundef %20969, ptr noundef %20972, i32 noundef %20974) #11
  br label %20976

20976:                                            ; preds = %20959, %20942
  call void @llvm.lifetime.end.p0(i64 4, ptr %516) #11
  br label %20977

20977:                                            ; preds = %20976
  br label %20978

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

20979:                                            ; No predecessors!
  br label %20980

20980:                                            ; preds = %20979
  br label %20981

20981:                                            ; preds = %20980, %20921
  br label %20982

20982:                                            ; preds = %20981
  br label %20983

20983:                                            ; preds = %20982
  br label %20984

20984:                                            ; preds = %20983
  %20985 = load i32, ptr @test_count, align 4, !tbaa !5
  %20986 = add nsw i32 %20985, 1
  store i32 %20986, ptr @test_count, align 4, !tbaa !5
  %20987 = load ptr, ptr %502, align 8, !tbaa !9
  %20988 = call i32 @s2n_connection_free(ptr noundef %20987)
  %20989 = icmp eq i32 %20988, -1
  br i1 %20989, label %20990, label %21043

20990:                                            ; preds = %20984
  br label %20991

20991:                                            ; preds = %20990
  br label %20992

20992:                                            ; preds = %20991
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #11
  %20993 = call ptr @__errno_location() #12
  %20994 = load i32, ptr %20993, align 4, !tbaa !5
  store i32 %20994, ptr %517, align 4, !tbaa !5
  %20995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20996 = call i32 @s2n_print_stacktrace(ptr noundef %20995)
  %20997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20998 = trunc i8 %20997 to i1
  br i1 %20998, label %20999, label %21021

20999:                                            ; preds = %20992
  %21000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21001 = call i32 @fileno(ptr noundef %21000) #11
  %21002 = call i32 @isatty(i32 noundef %21001) #11
  %21003 = icmp ne i32 %21002, 0
  br i1 %21003, label %21004, label %21021

21004:                                            ; preds = %20999
  %21005 = load i32, ptr %517, align 4, !tbaa !5
  %21006 = call ptr @__errno_location() #12
  store i32 %21005, ptr %21006, align 4, !tbaa !5
  %21007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21008 = load i32, ptr @test_count, align 4, !tbaa !5
  %21009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21010 = load i32, ptr %21009, align 4, !tbaa !5
  %21011 = call ptr @s2n_strerror(i32 noundef %21010, ptr noundef @.str.80)
  %21012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21013 = load i32, ptr %21012, align 4, !tbaa !5
  %21014 = call ptr @s2n_strerror_debug(i32 noundef %21013, ptr noundef @.str.80)
  %21015 = call ptr @__errno_location() #12
  %21016 = load i32, ptr %21015, align 4, !tbaa !5
  %21017 = call ptr @strerror(i32 noundef %21016) #11
  %21018 = call ptr @__errno_location() #12
  %21019 = load i32, ptr %21018, align 4, !tbaa !5
  %21020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21007, ptr noundef @.str.78, i32 noundef %21008, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 767, ptr noundef %21011, ptr noundef %21014, ptr noundef %21017, i32 noundef %21019) #11
  br label %21038

21021:                                            ; preds = %20999, %20992
  %21022 = load i32, ptr %517, align 4, !tbaa !5
  %21023 = call ptr @__errno_location() #12
  store i32 %21022, ptr %21023, align 4, !tbaa !5
  %21024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21025 = load i32, ptr @test_count, align 4, !tbaa !5
  %21026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21027 = load i32, ptr %21026, align 4, !tbaa !5
  %21028 = call ptr @s2n_strerror(i32 noundef %21027, ptr noundef @.str.80)
  %21029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21030 = load i32, ptr %21029, align 4, !tbaa !5
  %21031 = call ptr @s2n_strerror_debug(i32 noundef %21030, ptr noundef @.str.80)
  %21032 = call ptr @__errno_location() #12
  %21033 = load i32, ptr %21032, align 4, !tbaa !5
  %21034 = call ptr @strerror(i32 noundef %21033) #11
  %21035 = call ptr @__errno_location() #12
  %21036 = load i32, ptr %21035, align 4, !tbaa !5
  %21037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21024, ptr noundef @.str.81, i32 noundef %21025, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 767, ptr noundef %21028, ptr noundef %21031, ptr noundef %21034, i32 noundef %21036) #11
  br label %21038

21038:                                            ; preds = %21021, %21004
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #11
  br label %21039

21039:                                            ; preds = %21038
  br label %21040

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

21041:                                            ; No predecessors!
  br label %21042

21042:                                            ; preds = %21041
  br label %21043

21043:                                            ; preds = %21042, %20984
  br label %21044

21044:                                            ; preds = %21043
  br label %21045

21045:                                            ; preds = %21044
  call void @llvm.lifetime.end.p0(i64 8, ptr %505) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %502) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %518) #11
  store ptr null, ptr %518, align 8, !tbaa !9
  br label %21046

21046:                                            ; preds = %21045
  %21047 = load i32, ptr @test_count, align 4, !tbaa !5
  %21048 = add nsw i32 %21047, 1
  store i32 %21048, ptr @test_count, align 4, !tbaa !5
  %21049 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %21049, ptr %518, align 8, !tbaa !9
  %21050 = icmp eq ptr %21049, null
  br i1 %21050, label %21051, label %21104

21051:                                            ; preds = %21046
  br label %21052

21052:                                            ; preds = %21051
  br label %21053

21053:                                            ; preds = %21052
  call void @llvm.lifetime.start.p0(i64 4, ptr %519) #11
  %21054 = call ptr @__errno_location() #12
  %21055 = load i32, ptr %21054, align 4, !tbaa !5
  store i32 %21055, ptr %519, align 4, !tbaa !5
  %21056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21057 = call i32 @s2n_print_stacktrace(ptr noundef %21056)
  %21058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21059 = trunc i8 %21058 to i1
  br i1 %21059, label %21060, label %21082

21060:                                            ; preds = %21053
  %21061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21062 = call i32 @fileno(ptr noundef %21061) #11
  %21063 = call i32 @isatty(i32 noundef %21062) #11
  %21064 = icmp ne i32 %21063, 0
  br i1 %21064, label %21065, label %21082

21065:                                            ; preds = %21060
  %21066 = load i32, ptr %519, align 4, !tbaa !5
  %21067 = call ptr @__errno_location() #12
  store i32 %21066, ptr %21067, align 4, !tbaa !5
  %21068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21069 = load i32, ptr @test_count, align 4, !tbaa !5
  %21070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21071 = load i32, ptr %21070, align 4, !tbaa !5
  %21072 = call ptr @s2n_strerror(i32 noundef %21071, ptr noundef @.str.80)
  %21073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21074 = load i32, ptr %21073, align 4, !tbaa !5
  %21075 = call ptr @s2n_strerror_debug(i32 noundef %21074, ptr noundef @.str.80)
  %21076 = call ptr @__errno_location() #12
  %21077 = load i32, ptr %21076, align 4, !tbaa !5
  %21078 = call ptr @strerror(i32 noundef %21077) #11
  %21079 = call ptr @__errno_location() #12
  %21080 = load i32, ptr %21079, align 4, !tbaa !5
  %21081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21068, ptr noundef @.str.78, i32 noundef %21069, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 773, ptr noundef %21072, ptr noundef %21075, ptr noundef %21078, i32 noundef %21080) #11
  br label %21099

21082:                                            ; preds = %21060, %21053
  %21083 = load i32, ptr %519, align 4, !tbaa !5
  %21084 = call ptr @__errno_location() #12
  store i32 %21083, ptr %21084, align 4, !tbaa !5
  %21085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21086 = load i32, ptr @test_count, align 4, !tbaa !5
  %21087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21088 = load i32, ptr %21087, align 4, !tbaa !5
  %21089 = call ptr @s2n_strerror(i32 noundef %21088, ptr noundef @.str.80)
  %21090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21091 = load i32, ptr %21090, align 4, !tbaa !5
  %21092 = call ptr @s2n_strerror_debug(i32 noundef %21091, ptr noundef @.str.80)
  %21093 = call ptr @__errno_location() #12
  %21094 = load i32, ptr %21093, align 4, !tbaa !5
  %21095 = call ptr @strerror(i32 noundef %21094) #11
  %21096 = call ptr @__errno_location() #12
  %21097 = load i32, ptr %21096, align 4, !tbaa !5
  %21098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21085, ptr noundef @.str.81, i32 noundef %21086, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 773, ptr noundef %21089, ptr noundef %21092, ptr noundef %21095, i32 noundef %21097) #11
  br label %21099

21099:                                            ; preds = %21082, %21065
  call void @llvm.lifetime.end.p0(i64 4, ptr %519) #11
  br label %21100

21100:                                            ; preds = %21099
  br label %21101

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

21102:                                            ; No predecessors!
  br label %21103

21103:                                            ; preds = %21102
  br label %21104

21104:                                            ; preds = %21103, %21046
  br label %21105

21105:                                            ; preds = %21104
  br label %21106

21106:                                            ; preds = %21105
  call void @llvm.lifetime.start.p0(i64 8, ptr %520) #11
  %21107 = call ptr @s2n_external_psk_new()
  store ptr %21107, ptr %520, align 8, !tbaa !9
  br label %21108

21108:                                            ; preds = %21106
  %21109 = load i32, ptr @test_count, align 4, !tbaa !5
  %21110 = add nsw i32 %21109, 1
  store i32 %21110, ptr @test_count, align 4, !tbaa !5
  %21111 = load ptr, ptr %520, align 8, !tbaa !9
  %21112 = getelementptr inbounds [9 x i8], ptr %485, i64 0, i64 0
  %21113 = call i32 @s2n_psk_set_identity(ptr noundef %21111, ptr noundef %21112, i16 noundef zeroext 9)
  %21114 = icmp eq i32 %21113, -1
  br i1 %21114, label %21115, label %21168

21115:                                            ; preds = %21108
  br label %21116

21116:                                            ; preds = %21115
  br label %21117

21117:                                            ; preds = %21116
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #11
  %21118 = call ptr @__errno_location() #12
  %21119 = load i32, ptr %21118, align 4, !tbaa !5
  store i32 %21119, ptr %521, align 4, !tbaa !5
  %21120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21121 = call i32 @s2n_print_stacktrace(ptr noundef %21120)
  %21122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21123 = trunc i8 %21122 to i1
  br i1 %21123, label %21124, label %21146

21124:                                            ; preds = %21117
  %21125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21126 = call i32 @fileno(ptr noundef %21125) #11
  %21127 = call i32 @isatty(i32 noundef %21126) #11
  %21128 = icmp ne i32 %21127, 0
  br i1 %21128, label %21129, label %21146

21129:                                            ; preds = %21124
  %21130 = load i32, ptr %521, align 4, !tbaa !5
  %21131 = call ptr @__errno_location() #12
  store i32 %21130, ptr %21131, align 4, !tbaa !5
  %21132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21133 = load i32, ptr @test_count, align 4, !tbaa !5
  %21134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21135 = load i32, ptr %21134, align 4, !tbaa !5
  %21136 = call ptr @s2n_strerror(i32 noundef %21135, ptr noundef @.str.80)
  %21137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21138 = load i32, ptr %21137, align 4, !tbaa !5
  %21139 = call ptr @s2n_strerror_debug(i32 noundef %21138, ptr noundef @.str.80)
  %21140 = call ptr @__errno_location() #12
  %21141 = load i32, ptr %21140, align 4, !tbaa !5
  %21142 = call ptr @strerror(i32 noundef %21141) #11
  %21143 = call ptr @__errno_location() #12
  %21144 = load i32, ptr %21143, align 4, !tbaa !5
  %21145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21132, ptr noundef @.str.78, i32 noundef %21133, ptr noundef @.str.271, ptr noundef @.str.77, i32 noundef 776, ptr noundef %21136, ptr noundef %21139, ptr noundef %21142, i32 noundef %21144) #11
  br label %21163

21146:                                            ; preds = %21124, %21117
  %21147 = load i32, ptr %521, align 4, !tbaa !5
  %21148 = call ptr @__errno_location() #12
  store i32 %21147, ptr %21148, align 4, !tbaa !5
  %21149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21150 = load i32, ptr @test_count, align 4, !tbaa !5
  %21151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21152 = load i32, ptr %21151, align 4, !tbaa !5
  %21153 = call ptr @s2n_strerror(i32 noundef %21152, ptr noundef @.str.80)
  %21154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21155 = load i32, ptr %21154, align 4, !tbaa !5
  %21156 = call ptr @s2n_strerror_debug(i32 noundef %21155, ptr noundef @.str.80)
  %21157 = call ptr @__errno_location() #12
  %21158 = load i32, ptr %21157, align 4, !tbaa !5
  %21159 = call ptr @strerror(i32 noundef %21158) #11
  %21160 = call ptr @__errno_location() #12
  %21161 = load i32, ptr %21160, align 4, !tbaa !5
  %21162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21149, ptr noundef @.str.81, i32 noundef %21150, ptr noundef @.str.271, ptr noundef @.str.77, i32 noundef 776, ptr noundef %21153, ptr noundef %21156, ptr noundef %21159, i32 noundef %21161) #11
  br label %21163

21163:                                            ; preds = %21146, %21129
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #11
  br label %21164

21164:                                            ; preds = %21163
  br label %21165

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

21166:                                            ; No predecessors!
  br label %21167

21167:                                            ; preds = %21166
  br label %21168

21168:                                            ; preds = %21167, %21108
  br label %21169

21169:                                            ; preds = %21168
  br label %21170

21170:                                            ; preds = %21169
  br label %21171

21171:                                            ; preds = %21170
  %21172 = load i32, ptr @test_count, align 4, !tbaa !5
  %21173 = add nsw i32 %21172, 1
  store i32 %21173, ptr @test_count, align 4, !tbaa !5
  %21174 = load ptr, ptr %520, align 8, !tbaa !9
  %21175 = getelementptr inbounds [7 x i8], ptr %486, i64 0, i64 0
  %21176 = call i32 @s2n_psk_set_secret(ptr noundef %21174, ptr noundef %21175, i16 noundef zeroext 7)
  %21177 = icmp eq i32 %21176, -1
  br i1 %21177, label %21178, label %21231

21178:                                            ; preds = %21171
  br label %21179

21179:                                            ; preds = %21178
  br label %21180

21180:                                            ; preds = %21179
  call void @llvm.lifetime.start.p0(i64 4, ptr %522) #11
  %21181 = call ptr @__errno_location() #12
  %21182 = load i32, ptr %21181, align 4, !tbaa !5
  store i32 %21182, ptr %522, align 4, !tbaa !5
  %21183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21184 = call i32 @s2n_print_stacktrace(ptr noundef %21183)
  %21185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21186 = trunc i8 %21185 to i1
  br i1 %21186, label %21187, label %21209

21187:                                            ; preds = %21180
  %21188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21189 = call i32 @fileno(ptr noundef %21188) #11
  %21190 = call i32 @isatty(i32 noundef %21189) #11
  %21191 = icmp ne i32 %21190, 0
  br i1 %21191, label %21192, label %21209

21192:                                            ; preds = %21187
  %21193 = load i32, ptr %522, align 4, !tbaa !5
  %21194 = call ptr @__errno_location() #12
  store i32 %21193, ptr %21194, align 4, !tbaa !5
  %21195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21196 = load i32, ptr @test_count, align 4, !tbaa !5
  %21197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21198 = load i32, ptr %21197, align 4, !tbaa !5
  %21199 = call ptr @s2n_strerror(i32 noundef %21198, ptr noundef @.str.80)
  %21200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21201 = load i32, ptr %21200, align 4, !tbaa !5
  %21202 = call ptr @s2n_strerror_debug(i32 noundef %21201, ptr noundef @.str.80)
  %21203 = call ptr @__errno_location() #12
  %21204 = load i32, ptr %21203, align 4, !tbaa !5
  %21205 = call ptr @strerror(i32 noundef %21204) #11
  %21206 = call ptr @__errno_location() #12
  %21207 = load i32, ptr %21206, align 4, !tbaa !5
  %21208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21195, ptr noundef @.str.78, i32 noundef %21196, ptr noundef @.str.272, ptr noundef @.str.77, i32 noundef 777, ptr noundef %21199, ptr noundef %21202, ptr noundef %21205, i32 noundef %21207) #11
  br label %21226

21209:                                            ; preds = %21187, %21180
  %21210 = load i32, ptr %522, align 4, !tbaa !5
  %21211 = call ptr @__errno_location() #12
  store i32 %21210, ptr %21211, align 4, !tbaa !5
  %21212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21213 = load i32, ptr @test_count, align 4, !tbaa !5
  %21214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21215 = load i32, ptr %21214, align 4, !tbaa !5
  %21216 = call ptr @s2n_strerror(i32 noundef %21215, ptr noundef @.str.80)
  %21217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21218 = load i32, ptr %21217, align 4, !tbaa !5
  %21219 = call ptr @s2n_strerror_debug(i32 noundef %21218, ptr noundef @.str.80)
  %21220 = call ptr @__errno_location() #12
  %21221 = load i32, ptr %21220, align 4, !tbaa !5
  %21222 = call ptr @strerror(i32 noundef %21221) #11
  %21223 = call ptr @__errno_location() #12
  %21224 = load i32, ptr %21223, align 4, !tbaa !5
  %21225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21212, ptr noundef @.str.81, i32 noundef %21213, ptr noundef @.str.272, ptr noundef @.str.77, i32 noundef 777, ptr noundef %21216, ptr noundef %21219, ptr noundef %21222, i32 noundef %21224) #11
  br label %21226

21226:                                            ; preds = %21209, %21192
  call void @llvm.lifetime.end.p0(i64 4, ptr %522) #11
  br label %21227

21227:                                            ; preds = %21226
  br label %21228

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

21229:                                            ; No predecessors!
  br label %21230

21230:                                            ; preds = %21229
  br label %21231

21231:                                            ; preds = %21230, %21171
  br label %21232

21232:                                            ; preds = %21231
  br label %21233

21233:                                            ; preds = %21232
  br label %21234

21234:                                            ; preds = %21233
  %21235 = load i32, ptr @test_count, align 4, !tbaa !5
  %21236 = add nsw i32 %21235, 1
  store i32 %21236, ptr @test_count, align 4, !tbaa !5
  %21237 = load ptr, ptr %520, align 8, !tbaa !9
  %21238 = call i32 @s2n_psk_set_hmac(ptr noundef %21237, i32 noundef 1)
  %21239 = icmp eq i32 %21238, -1
  br i1 %21239, label %21240, label %21293

21240:                                            ; preds = %21234
  br label %21241

21241:                                            ; preds = %21240
  br label %21242

21242:                                            ; preds = %21241
  call void @llvm.lifetime.start.p0(i64 4, ptr %523) #11
  %21243 = call ptr @__errno_location() #12
  %21244 = load i32, ptr %21243, align 4, !tbaa !5
  store i32 %21244, ptr %523, align 4, !tbaa !5
  %21245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21246 = call i32 @s2n_print_stacktrace(ptr noundef %21245)
  %21247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21248 = trunc i8 %21247 to i1
  br i1 %21248, label %21249, label %21271

21249:                                            ; preds = %21242
  %21250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21251 = call i32 @fileno(ptr noundef %21250) #11
  %21252 = call i32 @isatty(i32 noundef %21251) #11
  %21253 = icmp ne i32 %21252, 0
  br i1 %21253, label %21254, label %21271

21254:                                            ; preds = %21249
  %21255 = load i32, ptr %523, align 4, !tbaa !5
  %21256 = call ptr @__errno_location() #12
  store i32 %21255, ptr %21256, align 4, !tbaa !5
  %21257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21258 = load i32, ptr @test_count, align 4, !tbaa !5
  %21259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21260 = load i32, ptr %21259, align 4, !tbaa !5
  %21261 = call ptr @s2n_strerror(i32 noundef %21260, ptr noundef @.str.80)
  %21262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21263 = load i32, ptr %21262, align 4, !tbaa !5
  %21264 = call ptr @s2n_strerror_debug(i32 noundef %21263, ptr noundef @.str.80)
  %21265 = call ptr @__errno_location() #12
  %21266 = load i32, ptr %21265, align 4, !tbaa !5
  %21267 = call ptr @strerror(i32 noundef %21266) #11
  %21268 = call ptr @__errno_location() #12
  %21269 = load i32, ptr %21268, align 4, !tbaa !5
  %21270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21257, ptr noundef @.str.78, i32 noundef %21258, ptr noundef @.str.273, ptr noundef @.str.77, i32 noundef 778, ptr noundef %21261, ptr noundef %21264, ptr noundef %21267, i32 noundef %21269) #11
  br label %21288

21271:                                            ; preds = %21249, %21242
  %21272 = load i32, ptr %523, align 4, !tbaa !5
  %21273 = call ptr @__errno_location() #12
  store i32 %21272, ptr %21273, align 4, !tbaa !5
  %21274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21275 = load i32, ptr @test_count, align 4, !tbaa !5
  %21276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21277 = load i32, ptr %21276, align 4, !tbaa !5
  %21278 = call ptr @s2n_strerror(i32 noundef %21277, ptr noundef @.str.80)
  %21279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21280 = load i32, ptr %21279, align 4, !tbaa !5
  %21281 = call ptr @s2n_strerror_debug(i32 noundef %21280, ptr noundef @.str.80)
  %21282 = call ptr @__errno_location() #12
  %21283 = load i32, ptr %21282, align 4, !tbaa !5
  %21284 = call ptr @strerror(i32 noundef %21283) #11
  %21285 = call ptr @__errno_location() #12
  %21286 = load i32, ptr %21285, align 4, !tbaa !5
  %21287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21274, ptr noundef @.str.81, i32 noundef %21275, ptr noundef @.str.273, ptr noundef @.str.77, i32 noundef 778, ptr noundef %21278, ptr noundef %21281, ptr noundef %21284, i32 noundef %21286) #11
  br label %21288

21288:                                            ; preds = %21271, %21254
  call void @llvm.lifetime.end.p0(i64 4, ptr %523) #11
  br label %21289

21289:                                            ; preds = %21288
  br label %21290

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

21291:                                            ; No predecessors!
  br label %21292

21292:                                            ; preds = %21291
  br label %21293

21293:                                            ; preds = %21292, %21234
  br label %21294

21294:                                            ; preds = %21293
  br label %21295

21295:                                            ; preds = %21294
  br label %21296

21296:                                            ; preds = %21295
  %21297 = load i32, ptr @test_count, align 4, !tbaa !5
  %21298 = add nsw i32 %21297, 1
  store i32 %21298, ptr @test_count, align 4, !tbaa !5
  %21299 = load ptr, ptr %518, align 8, !tbaa !9
  %21300 = load ptr, ptr %520, align 8, !tbaa !9
  %21301 = call i32 @s2n_connection_append_psk(ptr noundef %21299, ptr noundef %21300)
  %21302 = icmp eq i32 %21301, -1
  br i1 %21302, label %21303, label %21356

21303:                                            ; preds = %21296
  br label %21304

21304:                                            ; preds = %21303
  br label %21305

21305:                                            ; preds = %21304
  call void @llvm.lifetime.start.p0(i64 4, ptr %524) #11
  %21306 = call ptr @__errno_location() #12
  %21307 = load i32, ptr %21306, align 4, !tbaa !5
  store i32 %21307, ptr %524, align 4, !tbaa !5
  %21308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21309 = call i32 @s2n_print_stacktrace(ptr noundef %21308)
  %21310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21311 = trunc i8 %21310 to i1
  br i1 %21311, label %21312, label %21334

21312:                                            ; preds = %21305
  %21313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21314 = call i32 @fileno(ptr noundef %21313) #11
  %21315 = call i32 @isatty(i32 noundef %21314) #11
  %21316 = icmp ne i32 %21315, 0
  br i1 %21316, label %21317, label %21334

21317:                                            ; preds = %21312
  %21318 = load i32, ptr %524, align 4, !tbaa !5
  %21319 = call ptr @__errno_location() #12
  store i32 %21318, ptr %21319, align 4, !tbaa !5
  %21320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21321 = load i32, ptr @test_count, align 4, !tbaa !5
  %21322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21323 = load i32, ptr %21322, align 4, !tbaa !5
  %21324 = call ptr @s2n_strerror(i32 noundef %21323, ptr noundef @.str.80)
  %21325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21326 = load i32, ptr %21325, align 4, !tbaa !5
  %21327 = call ptr @s2n_strerror_debug(i32 noundef %21326, ptr noundef @.str.80)
  %21328 = call ptr @__errno_location() #12
  %21329 = load i32, ptr %21328, align 4, !tbaa !5
  %21330 = call ptr @strerror(i32 noundef %21329) #11
  %21331 = call ptr @__errno_location() #12
  %21332 = load i32, ptr %21331, align 4, !tbaa !5
  %21333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21320, ptr noundef @.str.78, i32 noundef %21321, ptr noundef @.str.274, ptr noundef @.str.77, i32 noundef 780, ptr noundef %21324, ptr noundef %21327, ptr noundef %21330, i32 noundef %21332) #11
  br label %21351

21334:                                            ; preds = %21312, %21305
  %21335 = load i32, ptr %524, align 4, !tbaa !5
  %21336 = call ptr @__errno_location() #12
  store i32 %21335, ptr %21336, align 4, !tbaa !5
  %21337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21338 = load i32, ptr @test_count, align 4, !tbaa !5
  %21339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21340 = load i32, ptr %21339, align 4, !tbaa !5
  %21341 = call ptr @s2n_strerror(i32 noundef %21340, ptr noundef @.str.80)
  %21342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21343 = load i32, ptr %21342, align 4, !tbaa !5
  %21344 = call ptr @s2n_strerror_debug(i32 noundef %21343, ptr noundef @.str.80)
  %21345 = call ptr @__errno_location() #12
  %21346 = load i32, ptr %21345, align 4, !tbaa !5
  %21347 = call ptr @strerror(i32 noundef %21346) #11
  %21348 = call ptr @__errno_location() #12
  %21349 = load i32, ptr %21348, align 4, !tbaa !5
  %21350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21337, ptr noundef @.str.81, i32 noundef %21338, ptr noundef @.str.274, ptr noundef @.str.77, i32 noundef 780, ptr noundef %21341, ptr noundef %21344, ptr noundef %21347, i32 noundef %21349) #11
  br label %21351

21351:                                            ; preds = %21334, %21317
  call void @llvm.lifetime.end.p0(i64 4, ptr %524) #11
  br label %21352

21352:                                            ; preds = %21351
  br label %21353

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

21354:                                            ; No predecessors!
  br label %21355

21355:                                            ; preds = %21354
  br label %21356

21356:                                            ; preds = %21355, %21296
  br label %21357

21357:                                            ; preds = %21356
  br label %21358

21358:                                            ; preds = %21357
  br label %21359

21359:                                            ; preds = %21358
  %21360 = load i32, ptr @test_count, align 4, !tbaa !5
  %21361 = add nsw i32 %21360, 1
  store i32 %21361, ptr @test_count, align 4, !tbaa !5
  %21362 = call i32 @s2n_psk_free(ptr noundef %520)
  %21363 = icmp eq i32 %21362, -1
  br i1 %21363, label %21364, label %21417

21364:                                            ; preds = %21359
  br label %21365

21365:                                            ; preds = %21364
  br label %21366

21366:                                            ; preds = %21365
  call void @llvm.lifetime.start.p0(i64 4, ptr %525) #11
  %21367 = call ptr @__errno_location() #12
  %21368 = load i32, ptr %21367, align 4, !tbaa !5
  store i32 %21368, ptr %525, 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 %525, 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.80)
  %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.80)
  %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.78, i32 noundef %21382, ptr noundef @.str.275, ptr noundef @.str.77, i32 noundef 783, ptr noundef %21385, ptr noundef %21388, ptr noundef %21391, i32 noundef %21393) #11
  br label %21412

21395:                                            ; preds = %21373, %21366
  %21396 = load i32, ptr %525, 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.80)
  %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.80)
  %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.81, i32 noundef %21399, ptr noundef @.str.275, ptr noundef @.str.77, i32 noundef 783, 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 %525) #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, %21359
  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 %520, align 8, !tbaa !9
  %21424 = icmp eq ptr %21423, null
  br i1 %21424, label %21478, label %21425

21425:                                            ; preds = %21420
  br label %21426

21426:                                            ; preds = %21425
  br label %21427

21427:                                            ; preds = %21426
  call void @llvm.lifetime.start.p0(i64 4, ptr %526) #11
  %21428 = call ptr @__errno_location() #12
  %21429 = load i32, ptr %21428, align 4, !tbaa !5
  store i32 %21429, ptr %526, align 4, !tbaa !5
  %21430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21431 = call i32 @s2n_print_stacktrace(ptr noundef %21430)
  %21432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21433 = trunc i8 %21432 to i1
  br i1 %21433, label %21434, label %21456

21434:                                            ; preds = %21427
  %21435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21436 = call i32 @fileno(ptr noundef %21435) #11
  %21437 = call i32 @isatty(i32 noundef %21436) #11
  %21438 = icmp ne i32 %21437, 0
  br i1 %21438, label %21439, label %21456

21439:                                            ; preds = %21434
  %21440 = load i32, ptr %526, align 4, !tbaa !5
  %21441 = call ptr @__errno_location() #12
  store i32 %21440, ptr %21441, align 4, !tbaa !5
  %21442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21443 = load i32, ptr @test_count, align 4, !tbaa !5
  %21444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21445 = load i32, ptr %21444, align 4, !tbaa !5
  %21446 = call ptr @s2n_strerror(i32 noundef %21445, ptr noundef @.str.80)
  %21447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21448 = load i32, ptr %21447, align 4, !tbaa !5
  %21449 = call ptr @s2n_strerror_debug(i32 noundef %21448, ptr noundef @.str.80)
  %21450 = call ptr @__errno_location() #12
  %21451 = load i32, ptr %21450, align 4, !tbaa !5
  %21452 = call ptr @strerror(i32 noundef %21451) #11
  %21453 = call ptr @__errno_location() #12
  %21454 = load i32, ptr %21453, align 4, !tbaa !5
  %21455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21442, ptr noundef @.str.78, i32 noundef %21443, ptr noundef @.str.276, ptr noundef @.str.77, i32 noundef 784, ptr noundef %21446, ptr noundef %21449, ptr noundef %21452, i32 noundef %21454) #11
  br label %21473

21456:                                            ; preds = %21434, %21427
  %21457 = load i32, ptr %526, align 4, !tbaa !5
  %21458 = call ptr @__errno_location() #12
  store i32 %21457, ptr %21458, align 4, !tbaa !5
  %21459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21460 = load i32, ptr @test_count, align 4, !tbaa !5
  %21461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21462 = load i32, ptr %21461, align 4, !tbaa !5
  %21463 = call ptr @s2n_strerror(i32 noundef %21462, ptr noundef @.str.80)
  %21464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21465 = load i32, ptr %21464, align 4, !tbaa !5
  %21466 = call ptr @s2n_strerror_debug(i32 noundef %21465, ptr noundef @.str.80)
  %21467 = call ptr @__errno_location() #12
  %21468 = load i32, ptr %21467, align 4, !tbaa !5
  %21469 = call ptr @strerror(i32 noundef %21468) #11
  %21470 = call ptr @__errno_location() #12
  %21471 = load i32, ptr %21470, align 4, !tbaa !5
  %21472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21459, ptr noundef @.str.81, i32 noundef %21460, ptr noundef @.str.276, ptr noundef @.str.77, i32 noundef 784, ptr noundef %21463, ptr noundef %21466, ptr noundef %21469, i32 noundef %21471) #11
  br label %21473

21473:                                            ; preds = %21456, %21439
  call void @llvm.lifetime.end.p0(i64 4, ptr %526) #11
  br label %21474

21474:                                            ; preds = %21473
  br label %21475

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

21476:                                            ; No predecessors!
  br label %21477

21477:                                            ; preds = %21476
  br label %21478

21478:                                            ; preds = %21477, %21420
  br label %21479

21479:                                            ; preds = %21478
  br label %21480

21480:                                            ; preds = %21479
  call void @llvm.lifetime.start.p0(i64 8, ptr %527) #11
  store ptr null, ptr %527, align 8, !tbaa !9
  br label %21481

21481:                                            ; preds = %21480
  %21482 = load i32, ptr @test_count, align 4, !tbaa !5
  %21483 = add nsw i32 %21482, 1
  store i32 %21483, ptr @test_count, align 4, !tbaa !5
  %21484 = load ptr, ptr %518, align 8, !tbaa !9
  %21485 = getelementptr inbounds %struct.s2n_connection, ptr %21484, i32 0, i32 33
  %21486 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %21485, i32 0, i32 1
  %21487 = call i32 @s2n_array_get(ptr noundef %21486, i32 noundef 0, ptr noundef %527)
  %21488 = getelementptr inbounds %struct.s2n_result, ptr %528, i32 0, i32 0
  store i32 %21487, ptr %21488, align 4
  %21489 = getelementptr inbounds %struct.s2n_result, ptr %528, i32 0, i32 0
  %21490 = load i32, ptr %21489, align 4
  %21491 = call zeroext i1 @s2n_result_is_ok(i32 %21490)
  br i1 %21491, label %21545, label %21492

21492:                                            ; preds = %21481
  br label %21493

21493:                                            ; preds = %21492
  br label %21494

21494:                                            ; preds = %21493
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #11
  %21495 = call ptr @__errno_location() #12
  %21496 = load i32, ptr %21495, align 4, !tbaa !5
  store i32 %21496, ptr %529, align 4, !tbaa !5
  %21497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21498 = call i32 @s2n_print_stacktrace(ptr noundef %21497)
  %21499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21500 = trunc i8 %21499 to i1
  br i1 %21500, label %21501, label %21523

21501:                                            ; preds = %21494
  %21502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21503 = call i32 @fileno(ptr noundef %21502) #11
  %21504 = call i32 @isatty(i32 noundef %21503) #11
  %21505 = icmp ne i32 %21504, 0
  br i1 %21505, label %21506, label %21523

21506:                                            ; preds = %21501
  %21507 = load i32, ptr %529, align 4, !tbaa !5
  %21508 = call ptr @__errno_location() #12
  store i32 %21507, ptr %21508, align 4, !tbaa !5
  %21509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21510 = load i32, ptr @test_count, align 4, !tbaa !5
  %21511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21512 = load i32, ptr %21511, align 4, !tbaa !5
  %21513 = call ptr @s2n_strerror(i32 noundef %21512, ptr noundef @.str.80)
  %21514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21515 = load i32, ptr %21514, align 4, !tbaa !5
  %21516 = call ptr @s2n_strerror_debug(i32 noundef %21515, ptr noundef @.str.80)
  %21517 = call ptr @__errno_location() #12
  %21518 = load i32, ptr %21517, align 4, !tbaa !5
  %21519 = call ptr @strerror(i32 noundef %21518) #11
  %21520 = call ptr @__errno_location() #12
  %21521 = load i32, ptr %21520, align 4, !tbaa !5
  %21522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21509, ptr noundef @.str.78, i32 noundef %21510, ptr noundef @.str.277, ptr noundef @.str.77, i32 noundef 788, ptr noundef %21513, ptr noundef %21516, ptr noundef %21519, i32 noundef %21521) #11
  br label %21540

21523:                                            ; preds = %21501, %21494
  %21524 = load i32, ptr %529, align 4, !tbaa !5
  %21525 = call ptr @__errno_location() #12
  store i32 %21524, ptr %21525, align 4, !tbaa !5
  %21526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21527 = load i32, ptr @test_count, align 4, !tbaa !5
  %21528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21529 = load i32, ptr %21528, align 4, !tbaa !5
  %21530 = call ptr @s2n_strerror(i32 noundef %21529, ptr noundef @.str.80)
  %21531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21532 = load i32, ptr %21531, align 4, !tbaa !5
  %21533 = call ptr @s2n_strerror_debug(i32 noundef %21532, ptr noundef @.str.80)
  %21534 = call ptr @__errno_location() #12
  %21535 = load i32, ptr %21534, align 4, !tbaa !5
  %21536 = call ptr @strerror(i32 noundef %21535) #11
  %21537 = call ptr @__errno_location() #12
  %21538 = load i32, ptr %21537, align 4, !tbaa !5
  %21539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21526, ptr noundef @.str.81, i32 noundef %21527, ptr noundef @.str.277, ptr noundef @.str.77, i32 noundef 788, ptr noundef %21530, ptr noundef %21533, ptr noundef %21536, i32 noundef %21538) #11
  br label %21540

21540:                                            ; preds = %21523, %21506
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #11
  br label %21541

21541:                                            ; preds = %21540
  br label %21542

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

21543:                                            ; No predecessors!
  br label %21544

21544:                                            ; preds = %21543
  br label %21545

21545:                                            ; preds = %21544, %21481
  br label %21546

21546:                                            ; preds = %21545
  br label %21547

21547:                                            ; preds = %21546
  br label %21548

21548:                                            ; preds = %21547
  %21549 = load i32, ptr @test_count, align 4, !tbaa !5
  %21550 = add nsw i32 %21549, 1
  store i32 %21550, ptr @test_count, align 4, !tbaa !5
  %21551 = load ptr, ptr %527, align 8, !tbaa !9
  %21552 = icmp eq ptr %21551, null
  br i1 %21552, label %21553, label %21606

21553:                                            ; preds = %21548
  br label %21554

21554:                                            ; preds = %21553
  br label %21555

21555:                                            ; preds = %21554
  call void @llvm.lifetime.start.p0(i64 4, ptr %530) #11
  %21556 = call ptr @__errno_location() #12
  %21557 = load i32, ptr %21556, align 4, !tbaa !5
  store i32 %21557, ptr %530, align 4, !tbaa !5
  %21558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21559 = call i32 @s2n_print_stacktrace(ptr noundef %21558)
  %21560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21561 = trunc i8 %21560 to i1
  br i1 %21561, label %21562, label %21584

21562:                                            ; preds = %21555
  %21563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21564 = call i32 @fileno(ptr noundef %21563) #11
  %21565 = call i32 @isatty(i32 noundef %21564) #11
  %21566 = icmp ne i32 %21565, 0
  br i1 %21566, label %21567, label %21584

21567:                                            ; preds = %21562
  %21568 = load i32, ptr %530, align 4, !tbaa !5
  %21569 = call ptr @__errno_location() #12
  store i32 %21568, ptr %21569, align 4, !tbaa !5
  %21570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21571 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %21573, ptr noundef @.str.80)
  %21575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21576 = load i32, ptr %21575, align 4, !tbaa !5
  %21577 = call ptr @s2n_strerror_debug(i32 noundef %21576, ptr noundef @.str.80)
  %21578 = call ptr @__errno_location() #12
  %21579 = load i32, ptr %21578, align 4, !tbaa !5
  %21580 = call ptr @strerror(i32 noundef %21579) #11
  %21581 = call ptr @__errno_location() #12
  %21582 = load i32, ptr %21581, align 4, !tbaa !5
  %21583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21570, ptr noundef @.str.78, i32 noundef %21571, ptr noundef @.str.278, ptr noundef @.str.77, i32 noundef 789, ptr noundef %21574, ptr noundef %21577, ptr noundef %21580, i32 noundef %21582) #11
  br label %21601

21584:                                            ; preds = %21562, %21555
  %21585 = load i32, ptr %530, align 4, !tbaa !5
  %21586 = call ptr @__errno_location() #12
  store i32 %21585, ptr %21586, align 4, !tbaa !5
  %21587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21588 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %21590, ptr noundef @.str.80)
  %21592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21593 = load i32, ptr %21592, align 4, !tbaa !5
  %21594 = call ptr @s2n_strerror_debug(i32 noundef %21593, ptr noundef @.str.80)
  %21595 = call ptr @__errno_location() #12
  %21596 = load i32, ptr %21595, align 4, !tbaa !5
  %21597 = call ptr @strerror(i32 noundef %21596) #11
  %21598 = call ptr @__errno_location() #12
  %21599 = load i32, ptr %21598, align 4, !tbaa !5
  %21600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21587, ptr noundef @.str.81, i32 noundef %21588, ptr noundef @.str.278, ptr noundef @.str.77, i32 noundef 789, ptr noundef %21591, ptr noundef %21594, ptr noundef %21597, i32 noundef %21599) #11
  br label %21601

21601:                                            ; preds = %21584, %21567
  call void @llvm.lifetime.end.p0(i64 4, ptr %530) #11
  br label %21602

21602:                                            ; preds = %21601
  br label %21603

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

21604:                                            ; No predecessors!
  br label %21605

21605:                                            ; preds = %21604
  br label %21606

21606:                                            ; preds = %21605, %21548
  br label %21607

21607:                                            ; preds = %21606
  br label %21608

21608:                                            ; preds = %21607
  br label %21609

21609:                                            ; preds = %21608
  %21610 = load i32, ptr @test_count, align 4, !tbaa !5
  %21611 = add nsw i32 %21610, 1
  store i32 %21611, ptr @test_count, align 4, !tbaa !5
  %21612 = load ptr, ptr %527, align 8, !tbaa !9
  %21613 = getelementptr inbounds %struct.s2n_psk, ptr %21612, i32 0, i32 1
  %21614 = getelementptr inbounds %struct.s2n_blob, ptr %21613, i32 0, i32 1
  %21615 = load i32, ptr %21614, align 8, !tbaa !24
  %21616 = load ptr, ptr %489, align 8, !tbaa !9
  %21617 = getelementptr inbounds %struct.s2n_psk, ptr %21616, i32 0, i32 1
  %21618 = getelementptr inbounds %struct.s2n_blob, ptr %21617, i32 0, i32 1
  %21619 = load i32, ptr %21618, align 8, !tbaa !24
  %21620 = icmp eq i32 %21615, %21619
  br i1 %21620, label %21674, label %21621

21621:                                            ; preds = %21609
  br label %21622

21622:                                            ; preds = %21621
  br label %21623

21623:                                            ; preds = %21622
  call void @llvm.lifetime.start.p0(i64 4, ptr %531) #11
  %21624 = call ptr @__errno_location() #12
  %21625 = load i32, ptr %21624, align 4, !tbaa !5
  store i32 %21625, ptr %531, align 4, !tbaa !5
  %21626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21627 = call i32 @s2n_print_stacktrace(ptr noundef %21626)
  %21628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21629 = trunc i8 %21628 to i1
  br i1 %21629, label %21630, label %21652

21630:                                            ; preds = %21623
  %21631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21632 = call i32 @fileno(ptr noundef %21631) #11
  %21633 = call i32 @isatty(i32 noundef %21632) #11
  %21634 = icmp ne i32 %21633, 0
  br i1 %21634, label %21635, label %21652

21635:                                            ; preds = %21630
  %21636 = load i32, ptr %531, align 4, !tbaa !5
  %21637 = call ptr @__errno_location() #12
  store i32 %21636, ptr %21637, align 4, !tbaa !5
  %21638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21639 = load i32, ptr @test_count, align 4, !tbaa !5
  %21640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21641 = load i32, ptr %21640, align 4, !tbaa !5
  %21642 = call ptr @s2n_strerror(i32 noundef %21641, ptr noundef @.str.80)
  %21643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21644 = load i32, ptr %21643, align 4, !tbaa !5
  %21645 = call ptr @s2n_strerror_debug(i32 noundef %21644, ptr noundef @.str.80)
  %21646 = call ptr @__errno_location() #12
  %21647 = load i32, ptr %21646, align 4, !tbaa !5
  %21648 = call ptr @strerror(i32 noundef %21647) #11
  %21649 = call ptr @__errno_location() #12
  %21650 = load i32, ptr %21649, align 4, !tbaa !5
  %21651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21638, ptr noundef @.str.78, i32 noundef %21639, ptr noundef @.str.279, ptr noundef @.str.77, i32 noundef 792, ptr noundef %21642, ptr noundef %21645, ptr noundef %21648, i32 noundef %21650) #11
  br label %21669

21652:                                            ; preds = %21630, %21623
  %21653 = load i32, ptr %531, align 4, !tbaa !5
  %21654 = call ptr @__errno_location() #12
  store i32 %21653, ptr %21654, align 4, !tbaa !5
  %21655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21656 = load i32, ptr @test_count, align 4, !tbaa !5
  %21657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21658 = load i32, ptr %21657, align 4, !tbaa !5
  %21659 = call ptr @s2n_strerror(i32 noundef %21658, ptr noundef @.str.80)
  %21660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21661 = load i32, ptr %21660, align 4, !tbaa !5
  %21662 = call ptr @s2n_strerror_debug(i32 noundef %21661, ptr noundef @.str.80)
  %21663 = call ptr @__errno_location() #12
  %21664 = load i32, ptr %21663, align 4, !tbaa !5
  %21665 = call ptr @strerror(i32 noundef %21664) #11
  %21666 = call ptr @__errno_location() #12
  %21667 = load i32, ptr %21666, align 4, !tbaa !5
  %21668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21655, ptr noundef @.str.81, i32 noundef %21656, ptr noundef @.str.279, ptr noundef @.str.77, i32 noundef 792, ptr noundef %21659, ptr noundef %21662, ptr noundef %21665, i32 noundef %21667) #11
  br label %21669

21669:                                            ; preds = %21652, %21635
  call void @llvm.lifetime.end.p0(i64 4, ptr %531) #11
  br label %21670

21670:                                            ; preds = %21669
  br label %21671

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

21672:                                            ; No predecessors!
  br label %21673

21673:                                            ; preds = %21672
  br label %21674

21674:                                            ; preds = %21673, %21609
  br label %21675

21675:                                            ; preds = %21674
  br label %21676

21676:                                            ; preds = %21675
  br label %21677

21677:                                            ; preds = %21676
  %21678 = load ptr, ptr %489, align 8, !tbaa !9
  %21679 = getelementptr inbounds %struct.s2n_psk, ptr %21678, i32 0, i32 1
  %21680 = getelementptr inbounds %struct.s2n_blob, ptr %21679, i32 0, i32 1
  %21681 = load i32, ptr %21680, align 8, !tbaa !24
  %21682 = icmp ne i32 %21681, 0
  br i1 %21682, label %21683, label %21758

21683:                                            ; preds = %21677
  br label %21684

21684:                                            ; preds = %21683
  %21685 = load i32, ptr @test_count, align 4, !tbaa !5
  %21686 = add nsw i32 %21685, 1
  store i32 %21686, ptr @test_count, align 4, !tbaa !5
  %21687 = load ptr, ptr %527, align 8, !tbaa !9
  %21688 = getelementptr inbounds %struct.s2n_psk, ptr %21687, i32 0, i32 1
  %21689 = getelementptr inbounds %struct.s2n_blob, ptr %21688, i32 0, i32 0
  %21690 = load ptr, ptr %21689, align 8, !tbaa !25
  %21691 = load ptr, ptr %489, align 8, !tbaa !9
  %21692 = getelementptr inbounds %struct.s2n_psk, ptr %21691, i32 0, i32 1
  %21693 = getelementptr inbounds %struct.s2n_blob, ptr %21692, i32 0, i32 0
  %21694 = load ptr, ptr %21693, align 8, !tbaa !25
  %21695 = load ptr, ptr %489, align 8, !tbaa !9
  %21696 = getelementptr inbounds %struct.s2n_psk, ptr %21695, i32 0, i32 1
  %21697 = getelementptr inbounds %struct.s2n_blob, ptr %21696, i32 0, i32 1
  %21698 = load i32, ptr %21697, align 8, !tbaa !24
  %21699 = zext i32 %21698 to i64
  %21700 = call i32 @memcmp(ptr noundef %21690, ptr noundef %21694, i64 noundef %21699) #14
  %21701 = icmp eq i32 %21700, 0
  br i1 %21701, label %21755, label %21702

21702:                                            ; preds = %21684
  br label %21703

21703:                                            ; preds = %21702
  br label %21704

21704:                                            ; preds = %21703
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #11
  %21705 = call ptr @__errno_location() #12
  %21706 = load i32, ptr %21705, align 4, !tbaa !5
  store i32 %21706, ptr %532, align 4, !tbaa !5
  %21707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21708 = call i32 @s2n_print_stacktrace(ptr noundef %21707)
  %21709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21710 = trunc i8 %21709 to i1
  br i1 %21710, label %21711, label %21733

21711:                                            ; preds = %21704
  %21712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21713 = call i32 @fileno(ptr noundef %21712) #11
  %21714 = call i32 @isatty(i32 noundef %21713) #11
  %21715 = icmp ne i32 %21714, 0
  br i1 %21715, label %21716, label %21733

21716:                                            ; preds = %21711
  %21717 = load i32, ptr %532, align 4, !tbaa !5
  %21718 = call ptr @__errno_location() #12
  store i32 %21717, ptr %21718, align 4, !tbaa !5
  %21719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21720 = load i32, ptr @test_count, align 4, !tbaa !5
  %21721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21722 = load i32, ptr %21721, align 4, !tbaa !5
  %21723 = call ptr @s2n_strerror(i32 noundef %21722, ptr noundef @.str.80)
  %21724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21725 = load i32, ptr %21724, align 4, !tbaa !5
  %21726 = call ptr @s2n_strerror_debug(i32 noundef %21725, ptr noundef @.str.80)
  %21727 = call ptr @__errno_location() #12
  %21728 = load i32, ptr %21727, align 4, !tbaa !5
  %21729 = call ptr @strerror(i32 noundef %21728) #11
  %21730 = call ptr @__errno_location() #12
  %21731 = load i32, ptr %21730, align 4, !tbaa !5
  %21732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21719, ptr noundef @.str.78, i32 noundef %21720, ptr noundef @.str.280, ptr noundef @.str.77, i32 noundef 793, ptr noundef %21723, ptr noundef %21726, ptr noundef %21729, i32 noundef %21731) #11
  br label %21750

21733:                                            ; preds = %21711, %21704
  %21734 = load i32, ptr %532, align 4, !tbaa !5
  %21735 = call ptr @__errno_location() #12
  store i32 %21734, ptr %21735, align 4, !tbaa !5
  %21736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21737 = load i32, ptr @test_count, align 4, !tbaa !5
  %21738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21739 = load i32, ptr %21738, align 4, !tbaa !5
  %21740 = call ptr @s2n_strerror(i32 noundef %21739, ptr noundef @.str.80)
  %21741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21742 = load i32, ptr %21741, align 4, !tbaa !5
  %21743 = call ptr @s2n_strerror_debug(i32 noundef %21742, ptr noundef @.str.80)
  %21744 = call ptr @__errno_location() #12
  %21745 = load i32, ptr %21744, align 4, !tbaa !5
  %21746 = call ptr @strerror(i32 noundef %21745) #11
  %21747 = call ptr @__errno_location() #12
  %21748 = load i32, ptr %21747, align 4, !tbaa !5
  %21749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21736, ptr noundef @.str.81, i32 noundef %21737, ptr noundef @.str.280, ptr noundef @.str.77, i32 noundef 793, ptr noundef %21740, ptr noundef %21743, ptr noundef %21746, i32 noundef %21748) #11
  br label %21750

21750:                                            ; preds = %21733, %21716
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #11
  br label %21751

21751:                                            ; preds = %21750
  br label %21752

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

21753:                                            ; No predecessors!
  br label %21754

21754:                                            ; preds = %21753
  br label %21755

21755:                                            ; preds = %21754, %21684
  br label %21756

21756:                                            ; preds = %21755
  br label %21757

21757:                                            ; preds = %21756
  br label %21758

21758:                                            ; preds = %21757, %21677
  br label %21759

21759:                                            ; preds = %21758
  br label %21760

21760:                                            ; preds = %21759
  br label %21761

21761:                                            ; preds = %21760
  %21762 = load i32, ptr @test_count, align 4, !tbaa !5
  %21763 = add nsw i32 %21762, 1
  store i32 %21763, ptr @test_count, align 4, !tbaa !5
  %21764 = load ptr, ptr %518, align 8, !tbaa !9
  %21765 = call i32 @s2n_connection_free(ptr noundef %21764)
  %21766 = icmp eq i32 %21765, -1
  br i1 %21766, label %21767, label %21820

21767:                                            ; preds = %21761
  br label %21768

21768:                                            ; preds = %21767
  br label %21769

21769:                                            ; preds = %21768
  call void @llvm.lifetime.start.p0(i64 4, ptr %533) #11
  %21770 = call ptr @__errno_location() #12
  %21771 = load i32, ptr %21770, align 4, !tbaa !5
  store i32 %21771, ptr %533, align 4, !tbaa !5
  %21772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21773 = call i32 @s2n_print_stacktrace(ptr noundef %21772)
  %21774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21775 = trunc i8 %21774 to i1
  br i1 %21775, label %21776, label %21798

21776:                                            ; preds = %21769
  %21777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21778 = call i32 @fileno(ptr noundef %21777) #11
  %21779 = call i32 @isatty(i32 noundef %21778) #11
  %21780 = icmp ne i32 %21779, 0
  br i1 %21780, label %21781, label %21798

21781:                                            ; preds = %21776
  %21782 = load i32, ptr %533, align 4, !tbaa !5
  %21783 = call ptr @__errno_location() #12
  store i32 %21782, ptr %21783, align 4, !tbaa !5
  %21784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21785 = load i32, ptr @test_count, align 4, !tbaa !5
  %21786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21787 = load i32, ptr %21786, align 4, !tbaa !5
  %21788 = call ptr @s2n_strerror(i32 noundef %21787, ptr noundef @.str.80)
  %21789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21790 = load i32, ptr %21789, align 4, !tbaa !5
  %21791 = call ptr @s2n_strerror_debug(i32 noundef %21790, ptr noundef @.str.80)
  %21792 = call ptr @__errno_location() #12
  %21793 = load i32, ptr %21792, align 4, !tbaa !5
  %21794 = call ptr @strerror(i32 noundef %21793) #11
  %21795 = call ptr @__errno_location() #12
  %21796 = load i32, ptr %21795, align 4, !tbaa !5
  %21797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21784, ptr noundef @.str.78, i32 noundef %21785, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 795, ptr noundef %21788, ptr noundef %21791, ptr noundef %21794, i32 noundef %21796) #11
  br label %21815

21798:                                            ; preds = %21776, %21769
  %21799 = load i32, ptr %533, align 4, !tbaa !5
  %21800 = call ptr @__errno_location() #12
  store i32 %21799, ptr %21800, align 4, !tbaa !5
  %21801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21802 = load i32, ptr @test_count, align 4, !tbaa !5
  %21803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21804 = load i32, ptr %21803, align 4, !tbaa !5
  %21805 = call ptr @s2n_strerror(i32 noundef %21804, ptr noundef @.str.80)
  %21806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21807 = load i32, ptr %21806, align 4, !tbaa !5
  %21808 = call ptr @s2n_strerror_debug(i32 noundef %21807, ptr noundef @.str.80)
  %21809 = call ptr @__errno_location() #12
  %21810 = load i32, ptr %21809, align 4, !tbaa !5
  %21811 = call ptr @strerror(i32 noundef %21810) #11
  %21812 = call ptr @__errno_location() #12
  %21813 = load i32, ptr %21812, align 4, !tbaa !5
  %21814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21801, ptr noundef @.str.81, i32 noundef %21802, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 795, ptr noundef %21805, ptr noundef %21808, ptr noundef %21811, i32 noundef %21813) #11
  br label %21815

21815:                                            ; preds = %21798, %21781
  call void @llvm.lifetime.end.p0(i64 4, ptr %533) #11
  br label %21816

21816:                                            ; preds = %21815
  br label %21817

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

21818:                                            ; No predecessors!
  br label %21819

21819:                                            ; preds = %21818
  br label %21820

21820:                                            ; preds = %21819, %21761
  br label %21821

21821:                                            ; preds = %21820
  br label %21822

21822:                                            ; preds = %21821
  call void @llvm.lifetime.end.p0(i64 8, ptr %527) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %520) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %518) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %534) #11
  %21823 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %21823, ptr %534, align 8, !tbaa !9
  br label %21824

21824:                                            ; preds = %21822
  %21825 = load i32, ptr @test_count, align 4, !tbaa !5
  %21826 = add nsw i32 %21825, 1
  store i32 %21826, ptr @test_count, align 4, !tbaa !5
  %21827 = load ptr, ptr %534, align 8, !tbaa !9
  %21828 = icmp eq ptr %21827, null
  br i1 %21828, label %21829, label %21882

21829:                                            ; preds = %21824
  br label %21830

21830:                                            ; preds = %21829
  br label %21831

21831:                                            ; preds = %21830
  call void @llvm.lifetime.start.p0(i64 4, ptr %535) #11
  %21832 = call ptr @__errno_location() #12
  %21833 = load i32, ptr %21832, align 4, !tbaa !5
  store i32 %21833, ptr %535, align 4, !tbaa !5
  %21834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21835 = call i32 @s2n_print_stacktrace(ptr noundef %21834)
  %21836 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21837 = trunc i8 %21836 to i1
  br i1 %21837, label %21838, label %21860

21838:                                            ; preds = %21831
  %21839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21840 = call i32 @fileno(ptr noundef %21839) #11
  %21841 = call i32 @isatty(i32 noundef %21840) #11
  %21842 = icmp ne i32 %21841, 0
  br i1 %21842, label %21843, label %21860

21843:                                            ; preds = %21838
  %21844 = load i32, ptr %535, align 4, !tbaa !5
  %21845 = call ptr @__errno_location() #12
  store i32 %21844, ptr %21845, align 4, !tbaa !5
  %21846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21847 = load i32, ptr @test_count, align 4, !tbaa !5
  %21848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21849 = load i32, ptr %21848, align 4, !tbaa !5
  %21850 = call ptr @s2n_strerror(i32 noundef %21849, ptr noundef @.str.80)
  %21851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21852 = load i32, ptr %21851, align 4, !tbaa !5
  %21853 = call ptr @s2n_strerror_debug(i32 noundef %21852, ptr noundef @.str.80)
  %21854 = call ptr @__errno_location() #12
  %21855 = load i32, ptr %21854, align 4, !tbaa !5
  %21856 = call ptr @strerror(i32 noundef %21855) #11
  %21857 = call ptr @__errno_location() #12
  %21858 = load i32, ptr %21857, align 4, !tbaa !5
  %21859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21846, ptr noundef @.str.78, i32 noundef %21847, ptr noundef @.str.281, ptr noundef @.str.77, i32 noundef 803, ptr noundef %21850, ptr noundef %21853, ptr noundef %21856, i32 noundef %21858) #11
  br label %21877

21860:                                            ; preds = %21838, %21831
  %21861 = load i32, ptr %535, align 4, !tbaa !5
  %21862 = call ptr @__errno_location() #12
  store i32 %21861, ptr %21862, align 4, !tbaa !5
  %21863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21864 = load i32, ptr @test_count, align 4, !tbaa !5
  %21865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21866 = load i32, ptr %21865, align 4, !tbaa !5
  %21867 = call ptr @s2n_strerror(i32 noundef %21866, ptr noundef @.str.80)
  %21868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21869 = load i32, ptr %21868, align 4, !tbaa !5
  %21870 = call ptr @s2n_strerror_debug(i32 noundef %21869, ptr noundef @.str.80)
  %21871 = call ptr @__errno_location() #12
  %21872 = load i32, ptr %21871, align 4, !tbaa !5
  %21873 = call ptr @strerror(i32 noundef %21872) #11
  %21874 = call ptr @__errno_location() #12
  %21875 = load i32, ptr %21874, align 4, !tbaa !5
  %21876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21863, ptr noundef @.str.81, i32 noundef %21864, ptr noundef @.str.281, ptr noundef @.str.77, i32 noundef 803, ptr noundef %21867, ptr noundef %21870, ptr noundef %21873, i32 noundef %21875) #11
  br label %21877

21877:                                            ; preds = %21860, %21843
  call void @llvm.lifetime.end.p0(i64 4, ptr %535) #11
  br label %21878

21878:                                            ; preds = %21877
  br label %21879

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

21880:                                            ; No predecessors!
  br label %21881

21881:                                            ; preds = %21880
  br label %21882

21882:                                            ; preds = %21881, %21824
  br label %21883

21883:                                            ; preds = %21882
  br label %21884

21884:                                            ; preds = %21883
  call void @llvm.lifetime.start.p0(i64 8, ptr %536) #11
  %21885 = call ptr @s2n_external_psk_new()
  store ptr %21885, ptr %536, align 8, !tbaa !9
  br label %21886

21886:                                            ; preds = %21884
  %21887 = load i32, ptr @test_count, align 4, !tbaa !5
  %21888 = add nsw i32 %21887, 1
  store i32 %21888, ptr @test_count, align 4, !tbaa !5
  %21889 = load ptr, ptr %536, align 8, !tbaa !9
  %21890 = getelementptr inbounds [7 x i8], ptr %486, i64 0, i64 0
  %21891 = call i32 @s2n_psk_set_secret(ptr noundef %21889, ptr noundef %21890, i16 noundef zeroext 7)
  %21892 = icmp eq i32 %21891, -1
  br i1 %21892, label %21893, label %21946

21893:                                            ; preds = %21886
  br label %21894

21894:                                            ; preds = %21893
  br label %21895

21895:                                            ; preds = %21894
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #11
  %21896 = call ptr @__errno_location() #12
  %21897 = load i32, ptr %21896, align 4, !tbaa !5
  store i32 %21897, ptr %537, align 4, !tbaa !5
  %21898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21899 = call i32 @s2n_print_stacktrace(ptr noundef %21898)
  %21900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21901 = trunc i8 %21900 to i1
  br i1 %21901, label %21902, label %21924

21902:                                            ; preds = %21895
  %21903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21904 = call i32 @fileno(ptr noundef %21903) #11
  %21905 = call i32 @isatty(i32 noundef %21904) #11
  %21906 = icmp ne i32 %21905, 0
  br i1 %21906, label %21907, label %21924

21907:                                            ; preds = %21902
  %21908 = load i32, ptr %537, align 4, !tbaa !5
  %21909 = call ptr @__errno_location() #12
  store i32 %21908, ptr %21909, align 4, !tbaa !5
  %21910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21911 = load i32, ptr @test_count, align 4, !tbaa !5
  %21912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21913 = load i32, ptr %21912, align 4, !tbaa !5
  %21914 = call ptr @s2n_strerror(i32 noundef %21913, ptr noundef @.str.80)
  %21915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21916 = load i32, ptr %21915, align 4, !tbaa !5
  %21917 = call ptr @s2n_strerror_debug(i32 noundef %21916, ptr noundef @.str.80)
  %21918 = call ptr @__errno_location() #12
  %21919 = load i32, ptr %21918, align 4, !tbaa !5
  %21920 = call ptr @strerror(i32 noundef %21919) #11
  %21921 = call ptr @__errno_location() #12
  %21922 = load i32, ptr %21921, align 4, !tbaa !5
  %21923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21910, ptr noundef @.str.78, i32 noundef %21911, ptr noundef @.str.282, ptr noundef @.str.77, i32 noundef 806, ptr noundef %21914, ptr noundef %21917, ptr noundef %21920, i32 noundef %21922) #11
  br label %21941

21924:                                            ; preds = %21902, %21895
  %21925 = load i32, ptr %537, align 4, !tbaa !5
  %21926 = call ptr @__errno_location() #12
  store i32 %21925, ptr %21926, align 4, !tbaa !5
  %21927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21928 = load i32, ptr @test_count, align 4, !tbaa !5
  %21929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21930 = load i32, ptr %21929, align 4, !tbaa !5
  %21931 = call ptr @s2n_strerror(i32 noundef %21930, ptr noundef @.str.80)
  %21932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21933 = load i32, ptr %21932, align 4, !tbaa !5
  %21934 = call ptr @s2n_strerror_debug(i32 noundef %21933, ptr noundef @.str.80)
  %21935 = call ptr @__errno_location() #12
  %21936 = load i32, ptr %21935, align 4, !tbaa !5
  %21937 = call ptr @strerror(i32 noundef %21936) #11
  %21938 = call ptr @__errno_location() #12
  %21939 = load i32, ptr %21938, align 4, !tbaa !5
  %21940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21927, ptr noundef @.str.81, i32 noundef %21928, ptr noundef @.str.282, ptr noundef @.str.77, i32 noundef 806, ptr noundef %21931, ptr noundef %21934, ptr noundef %21937, i32 noundef %21939) #11
  br label %21941

21941:                                            ; preds = %21924, %21907
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #11
  br label %21942

21942:                                            ; preds = %21941
  br label %21943

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

21944:                                            ; No predecessors!
  br label %21945

21945:                                            ; preds = %21944
  br label %21946

21946:                                            ; preds = %21945, %21886
  br label %21947

21947:                                            ; preds = %21946
  br label %21948

21948:                                            ; preds = %21947
  br label %21949

21949:                                            ; preds = %21948
  br label %21950

21950:                                            ; preds = %21949
  br label %21951

21951:                                            ; preds = %21950
  %21952 = load i32, ptr @test_count, align 4, !tbaa !5
  %21953 = add nsw i32 %21952, 1
  store i32 %21953, ptr @test_count, align 4, !tbaa !5
  %21954 = load ptr, ptr %534, align 8, !tbaa !9
  %21955 = load ptr, ptr %536, align 8, !tbaa !9
  %21956 = call i32 @s2n_connection_append_psk(ptr noundef %21954, ptr noundef %21955)
  %21957 = icmp eq i32 %21956, -1
  br i1 %21957, label %22011, label %21958

21958:                                            ; preds = %21951
  br label %21959

21959:                                            ; preds = %21958
  br label %21960

21960:                                            ; preds = %21959
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #11
  %21961 = call ptr @__errno_location() #12
  %21962 = load i32, ptr %21961, align 4, !tbaa !5
  store i32 %21962, ptr %538, align 4, !tbaa !5
  %21963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21964 = call i32 @s2n_print_stacktrace(ptr noundef %21963)
  %21965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21966 = trunc i8 %21965 to i1
  br i1 %21966, label %21967, label %21989

21967:                                            ; preds = %21960
  %21968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21969 = call i32 @fileno(ptr noundef %21968) #11
  %21970 = call i32 @isatty(i32 noundef %21969) #11
  %21971 = icmp ne i32 %21970, 0
  br i1 %21971, label %21972, label %21989

21972:                                            ; preds = %21967
  %21973 = load i32, ptr %538, align 4, !tbaa !5
  %21974 = call ptr @__errno_location() #12
  store i32 %21973, ptr %21974, align 4, !tbaa !5
  %21975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21976 = load i32, ptr @test_count, align 4, !tbaa !5
  %21977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21978 = load i32, ptr %21977, align 4, !tbaa !5
  %21979 = call ptr @s2n_strerror(i32 noundef %21978, ptr noundef @.str.80)
  %21980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21981 = load i32, ptr %21980, align 4, !tbaa !5
  %21982 = call ptr @s2n_strerror_debug(i32 noundef %21981, ptr noundef @.str.80)
  %21983 = call ptr @__errno_location() #12
  %21984 = load i32, ptr %21983, align 4, !tbaa !5
  %21985 = call ptr @strerror(i32 noundef %21984) #11
  %21986 = call ptr @__errno_location() #12
  %21987 = load i32, ptr %21986, align 4, !tbaa !5
  %21988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21975, ptr noundef @.str.78, i32 noundef %21976, ptr noundef @.str.283, ptr noundef @.str.77, i32 noundef 809, ptr noundef %21979, ptr noundef %21982, ptr noundef %21985, i32 noundef %21987) #11
  br label %22006

21989:                                            ; preds = %21967, %21960
  %21990 = load i32, ptr %538, align 4, !tbaa !5
  %21991 = call ptr @__errno_location() #12
  store i32 %21990, ptr %21991, align 4, !tbaa !5
  %21992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21993 = load i32, ptr @test_count, align 4, !tbaa !5
  %21994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21995 = load i32, ptr %21994, align 4, !tbaa !5
  %21996 = call ptr @s2n_strerror(i32 noundef %21995, ptr noundef @.str.80)
  %21997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21998 = load i32, ptr %21997, align 4, !tbaa !5
  %21999 = call ptr @s2n_strerror_debug(i32 noundef %21998, ptr noundef @.str.80)
  %22000 = call ptr @__errno_location() #12
  %22001 = load i32, ptr %22000, align 4, !tbaa !5
  %22002 = call ptr @strerror(i32 noundef %22001) #11
  %22003 = call ptr @__errno_location() #12
  %22004 = load i32, ptr %22003, align 4, !tbaa !5
  %22005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21992, ptr noundef @.str.81, i32 noundef %21993, ptr noundef @.str.283, ptr noundef @.str.77, i32 noundef 809, ptr noundef %21996, ptr noundef %21999, ptr noundef %22002, i32 noundef %22004) #11
  br label %22006

22006:                                            ; preds = %21989, %21972
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #11
  br label %22007

22007:                                            ; preds = %22006
  br label %22008

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

22009:                                            ; No predecessors!
  br label %22010

22010:                                            ; preds = %22009
  br label %22011

22011:                                            ; preds = %22010, %21951
  br label %22012

22012:                                            ; preds = %22011
  br label %22013

22013:                                            ; preds = %22012
  br label %22014

22014:                                            ; preds = %22013
  %22015 = load i32, ptr @test_count, align 4, !tbaa !5
  %22016 = add nsw i32 %22015, 1
  store i32 %22016, ptr @test_count, align 4, !tbaa !5
  %22017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22018 = load i32, ptr %22017, align 4, !tbaa !5
  %22019 = icmp eq i32 %22018, 469762089
  br i1 %22019, label %22073, label %22020

22020:                                            ; preds = %22014
  br label %22021

22021:                                            ; preds = %22020
  br label %22022

22022:                                            ; preds = %22021
  call void @llvm.lifetime.start.p0(i64 4, ptr %539) #11
  %22023 = call ptr @__errno_location() #12
  %22024 = load i32, ptr %22023, align 4, !tbaa !5
  store i32 %22024, ptr %539, align 4, !tbaa !5
  %22025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22026 = call i32 @s2n_print_stacktrace(ptr noundef %22025)
  %22027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22028 = trunc i8 %22027 to i1
  br i1 %22028, label %22029, label %22051

22029:                                            ; preds = %22022
  %22030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22031 = call i32 @fileno(ptr noundef %22030) #11
  %22032 = call i32 @isatty(i32 noundef %22031) #11
  %22033 = icmp ne i32 %22032, 0
  br i1 %22033, label %22034, label %22051

22034:                                            ; preds = %22029
  %22035 = load i32, ptr %539, align 4, !tbaa !5
  %22036 = call ptr @__errno_location() #12
  store i32 %22035, ptr %22036, align 4, !tbaa !5
  %22037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22038 = load i32, ptr @test_count, align 4, !tbaa !5
  %22039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22040 = load i32, ptr %22039, align 4, !tbaa !5
  %22041 = call ptr @s2n_strerror(i32 noundef %22040, ptr noundef @.str.80)
  %22042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22043 = load i32, ptr %22042, align 4, !tbaa !5
  %22044 = call ptr @s2n_strerror_debug(i32 noundef %22043, ptr noundef @.str.80)
  %22045 = call ptr @__errno_location() #12
  %22046 = load i32, ptr %22045, align 4, !tbaa !5
  %22047 = call ptr @strerror(i32 noundef %22046) #11
  %22048 = call ptr @__errno_location() #12
  %22049 = load i32, ptr %22048, align 4, !tbaa !5
  %22050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22037, ptr noundef @.str.78, i32 noundef %22038, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 809, ptr noundef %22041, ptr noundef %22044, ptr noundef %22047, i32 noundef %22049) #11
  br label %22068

22051:                                            ; preds = %22029, %22022
  %22052 = load i32, ptr %539, align 4, !tbaa !5
  %22053 = call ptr @__errno_location() #12
  store i32 %22052, ptr %22053, align 4, !tbaa !5
  %22054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22055 = load i32, ptr @test_count, align 4, !tbaa !5
  %22056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22057 = load i32, ptr %22056, align 4, !tbaa !5
  %22058 = call ptr @s2n_strerror(i32 noundef %22057, ptr noundef @.str.80)
  %22059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22060 = load i32, ptr %22059, align 4, !tbaa !5
  %22061 = call ptr @s2n_strerror_debug(i32 noundef %22060, ptr noundef @.str.80)
  %22062 = call ptr @__errno_location() #12
  %22063 = load i32, ptr %22062, align 4, !tbaa !5
  %22064 = call ptr @strerror(i32 noundef %22063) #11
  %22065 = call ptr @__errno_location() #12
  %22066 = load i32, ptr %22065, align 4, !tbaa !5
  %22067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22054, ptr noundef @.str.81, i32 noundef %22055, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 809, ptr noundef %22058, ptr noundef %22061, ptr noundef %22064, i32 noundef %22066) #11
  br label %22068

22068:                                            ; preds = %22051, %22034
  call void @llvm.lifetime.end.p0(i64 4, ptr %539) #11
  br label %22069

22069:                                            ; preds = %22068
  br label %22070

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

22071:                                            ; No predecessors!
  br label %22072

22072:                                            ; preds = %22071
  br label %22073

22073:                                            ; preds = %22072, %22014
  br label %22074

22074:                                            ; preds = %22073
  br label %22075

22075:                                            ; preds = %22074
  br label %22076

22076:                                            ; preds = %22075
  %22077 = load i32, ptr @test_count, align 4, !tbaa !5
  %22078 = add nsw i32 %22077, 1
  store i32 %22078, ptr @test_count, align 4, !tbaa !5
  %22079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22080 = load i32, ptr %22079, align 4, !tbaa !5
  %22081 = call ptr @s2n_strerror_debug(i32 noundef %22080, ptr noundef @.str.80)
  %22082 = icmp eq ptr %22081, null
  br i1 %22082, label %22083, label %22136

22083:                                            ; preds = %22076
  br label %22084

22084:                                            ; preds = %22083
  br label %22085

22085:                                            ; preds = %22084
  call void @llvm.lifetime.start.p0(i64 4, ptr %540) #11
  %22086 = call ptr @__errno_location() #12
  %22087 = load i32, ptr %22086, align 4, !tbaa !5
  store i32 %22087, ptr %540, align 4, !tbaa !5
  %22088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22089 = call i32 @s2n_print_stacktrace(ptr noundef %22088)
  %22090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22091 = trunc i8 %22090 to i1
  br i1 %22091, label %22092, label %22114

22092:                                            ; preds = %22085
  %22093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22094 = call i32 @fileno(ptr noundef %22093) #11
  %22095 = call i32 @isatty(i32 noundef %22094) #11
  %22096 = icmp ne i32 %22095, 0
  br i1 %22096, label %22097, label %22114

22097:                                            ; preds = %22092
  %22098 = load i32, ptr %540, align 4, !tbaa !5
  %22099 = call ptr @__errno_location() #12
  store i32 %22098, ptr %22099, align 4, !tbaa !5
  %22100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22101 = load i32, ptr @test_count, align 4, !tbaa !5
  %22102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22103 = load i32, ptr %22102, align 4, !tbaa !5
  %22104 = call ptr @s2n_strerror(i32 noundef %22103, ptr noundef @.str.80)
  %22105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22106 = load i32, ptr %22105, align 4, !tbaa !5
  %22107 = call ptr @s2n_strerror_debug(i32 noundef %22106, ptr noundef @.str.80)
  %22108 = call ptr @__errno_location() #12
  %22109 = load i32, ptr %22108, align 4, !tbaa !5
  %22110 = call ptr @strerror(i32 noundef %22109) #11
  %22111 = call ptr @__errno_location() #12
  %22112 = load i32, ptr %22111, align 4, !tbaa !5
  %22113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22100, ptr noundef @.str.78, i32 noundef %22101, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 809, ptr noundef %22104, ptr noundef %22107, ptr noundef %22110, i32 noundef %22112) #11
  br label %22131

22114:                                            ; preds = %22092, %22085
  %22115 = load i32, ptr %540, align 4, !tbaa !5
  %22116 = call ptr @__errno_location() #12
  store i32 %22115, ptr %22116, align 4, !tbaa !5
  %22117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22118 = load i32, ptr @test_count, align 4, !tbaa !5
  %22119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22120 = load i32, ptr %22119, align 4, !tbaa !5
  %22121 = call ptr @s2n_strerror(i32 noundef %22120, ptr noundef @.str.80)
  %22122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22123 = load i32, ptr %22122, align 4, !tbaa !5
  %22124 = call ptr @s2n_strerror_debug(i32 noundef %22123, ptr noundef @.str.80)
  %22125 = call ptr @__errno_location() #12
  %22126 = load i32, ptr %22125, align 4, !tbaa !5
  %22127 = call ptr @strerror(i32 noundef %22126) #11
  %22128 = call ptr @__errno_location() #12
  %22129 = load i32, ptr %22128, align 4, !tbaa !5
  %22130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22117, ptr noundef @.str.81, i32 noundef %22118, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 809, ptr noundef %22121, ptr noundef %22124, ptr noundef %22127, i32 noundef %22129) #11
  br label %22131

22131:                                            ; preds = %22114, %22097
  call void @llvm.lifetime.end.p0(i64 4, ptr %540) #11
  br label %22132

22132:                                            ; preds = %22131
  br label %22133

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

22134:                                            ; No predecessors!
  br label %22135

22135:                                            ; preds = %22134
  br label %22136

22136:                                            ; preds = %22135, %22076
  br label %22137

22137:                                            ; preds = %22136
  br label %22138

22138:                                            ; preds = %22137
  br label %22139

22139:                                            ; preds = %22138
  br label %22140

22140:                                            ; preds = %22139
  br label %22141

22141:                                            ; preds = %22140
  %22142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22142, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22143 = call ptr @__errno_location() #12
  store i32 0, ptr %22143, align 4, !tbaa !5
  br label %22144

22144:                                            ; preds = %22141
  br label %22145

22145:                                            ; preds = %22144
  br label %22146

22146:                                            ; preds = %22145
  br label %22147

22147:                                            ; preds = %22146
  br label %22148

22148:                                            ; preds = %22147
  %22149 = load i32, ptr @test_count, align 4, !tbaa !5
  %22150 = add nsw i32 %22149, 1
  store i32 %22150, ptr @test_count, align 4, !tbaa !5
  %22151 = load ptr, ptr %534, align 8, !tbaa !9
  %22152 = getelementptr inbounds %struct.s2n_connection, ptr %22151, i32 0, i32 33
  %22153 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %22152, i32 0, i32 1
  %22154 = getelementptr inbounds %struct.s2n_array, ptr %22153, i32 0, i32 1
  %22155 = load i32, ptr %22154, align 8, !tbaa !88
  %22156 = icmp eq i32 %22155, 0
  br i1 %22156, label %22210, label %22157

22157:                                            ; preds = %22148
  br label %22158

22158:                                            ; preds = %22157
  br label %22159

22159:                                            ; preds = %22158
  call void @llvm.lifetime.start.p0(i64 4, ptr %541) #11
  %22160 = call ptr @__errno_location() #12
  %22161 = load i32, ptr %22160, align 4, !tbaa !5
  store i32 %22161, ptr %541, align 4, !tbaa !5
  %22162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22163 = call i32 @s2n_print_stacktrace(ptr noundef %22162)
  %22164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22165 = trunc i8 %22164 to i1
  br i1 %22165, label %22166, label %22188

22166:                                            ; preds = %22159
  %22167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22168 = call i32 @fileno(ptr noundef %22167) #11
  %22169 = call i32 @isatty(i32 noundef %22168) #11
  %22170 = icmp ne i32 %22169, 0
  br i1 %22170, label %22171, label %22188

22171:                                            ; preds = %22166
  %22172 = load i32, ptr %541, align 4, !tbaa !5
  %22173 = call ptr @__errno_location() #12
  store i32 %22172, ptr %22173, align 4, !tbaa !5
  %22174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22175 = load i32, ptr @test_count, align 4, !tbaa !5
  %22176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22177 = load i32, ptr %22176, align 4, !tbaa !5
  %22178 = call ptr @s2n_strerror(i32 noundef %22177, ptr noundef @.str.80)
  %22179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22180 = load i32, ptr %22179, align 4, !tbaa !5
  %22181 = call ptr @s2n_strerror_debug(i32 noundef %22180, ptr noundef @.str.80)
  %22182 = call ptr @__errno_location() #12
  %22183 = load i32, ptr %22182, align 4, !tbaa !5
  %22184 = call ptr @strerror(i32 noundef %22183) #11
  %22185 = call ptr @__errno_location() #12
  %22186 = load i32, ptr %22185, align 4, !tbaa !5
  %22187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22174, ptr noundef @.str.78, i32 noundef %22175, ptr noundef @.str.284, ptr noundef @.str.77, i32 noundef 810, ptr noundef %22178, ptr noundef %22181, ptr noundef %22184, i32 noundef %22186) #11
  br label %22205

22188:                                            ; preds = %22166, %22159
  %22189 = load i32, ptr %541, align 4, !tbaa !5
  %22190 = call ptr @__errno_location() #12
  store i32 %22189, ptr %22190, align 4, !tbaa !5
  %22191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22192 = load i32, ptr @test_count, align 4, !tbaa !5
  %22193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22194 = load i32, ptr %22193, align 4, !tbaa !5
  %22195 = call ptr @s2n_strerror(i32 noundef %22194, ptr noundef @.str.80)
  %22196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22197 = load i32, ptr %22196, align 4, !tbaa !5
  %22198 = call ptr @s2n_strerror_debug(i32 noundef %22197, ptr noundef @.str.80)
  %22199 = call ptr @__errno_location() #12
  %22200 = load i32, ptr %22199, align 4, !tbaa !5
  %22201 = call ptr @strerror(i32 noundef %22200) #11
  %22202 = call ptr @__errno_location() #12
  %22203 = load i32, ptr %22202, align 4, !tbaa !5
  %22204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22191, ptr noundef @.str.81, i32 noundef %22192, ptr noundef @.str.284, ptr noundef @.str.77, i32 noundef 810, ptr noundef %22195, ptr noundef %22198, ptr noundef %22201, i32 noundef %22203) #11
  br label %22205

22205:                                            ; preds = %22188, %22171
  call void @llvm.lifetime.end.p0(i64 4, ptr %541) #11
  br label %22206

22206:                                            ; preds = %22205
  br label %22207

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

22208:                                            ; No predecessors!
  br label %22209

22209:                                            ; preds = %22208
  br label %22210

22210:                                            ; preds = %22209, %22148
  br label %22211

22211:                                            ; preds = %22210
  br label %22212

22212:                                            ; preds = %22211
  br label %22213

22213:                                            ; preds = %22212
  %22214 = load i32, ptr @test_count, align 4, !tbaa !5
  %22215 = add nsw i32 %22214, 1
  store i32 %22215, ptr @test_count, align 4, !tbaa !5
  %22216 = load ptr, ptr %536, align 8, !tbaa !9
  %22217 = getelementptr inbounds [9 x i8], ptr %485, i64 0, i64 0
  %22218 = call i32 @s2n_psk_set_identity(ptr noundef %22216, ptr noundef %22217, i16 noundef zeroext 9)
  %22219 = icmp eq i32 %22218, -1
  br i1 %22219, label %22220, label %22273

22220:                                            ; preds = %22213
  br label %22221

22221:                                            ; preds = %22220
  br label %22222

22222:                                            ; preds = %22221
  call void @llvm.lifetime.start.p0(i64 4, ptr %542) #11
  %22223 = call ptr @__errno_location() #12
  %22224 = load i32, ptr %22223, align 4, !tbaa !5
  store i32 %22224, ptr %542, align 4, !tbaa !5
  %22225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22226 = call i32 @s2n_print_stacktrace(ptr noundef %22225)
  %22227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22228 = trunc i8 %22227 to i1
  br i1 %22228, label %22229, label %22251

22229:                                            ; preds = %22222
  %22230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22231 = call i32 @fileno(ptr noundef %22230) #11
  %22232 = call i32 @isatty(i32 noundef %22231) #11
  %22233 = icmp ne i32 %22232, 0
  br i1 %22233, label %22234, label %22251

22234:                                            ; preds = %22229
  %22235 = load i32, ptr %542, align 4, !tbaa !5
  %22236 = call ptr @__errno_location() #12
  store i32 %22235, ptr %22236, align 4, !tbaa !5
  %22237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22238 = load i32, ptr @test_count, align 4, !tbaa !5
  %22239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22240 = load i32, ptr %22239, align 4, !tbaa !5
  %22241 = call ptr @s2n_strerror(i32 noundef %22240, ptr noundef @.str.80)
  %22242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22243 = load i32, ptr %22242, align 4, !tbaa !5
  %22244 = call ptr @s2n_strerror_debug(i32 noundef %22243, ptr noundef @.str.80)
  %22245 = call ptr @__errno_location() #12
  %22246 = load i32, ptr %22245, align 4, !tbaa !5
  %22247 = call ptr @strerror(i32 noundef %22246) #11
  %22248 = call ptr @__errno_location() #12
  %22249 = load i32, ptr %22248, align 4, !tbaa !5
  %22250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22237, ptr noundef @.str.78, i32 noundef %22238, ptr noundef @.str.285, ptr noundef @.str.77, i32 noundef 813, ptr noundef %22241, ptr noundef %22244, ptr noundef %22247, i32 noundef %22249) #11
  br label %22268

22251:                                            ; preds = %22229, %22222
  %22252 = load i32, ptr %542, align 4, !tbaa !5
  %22253 = call ptr @__errno_location() #12
  store i32 %22252, ptr %22253, align 4, !tbaa !5
  %22254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22255 = load i32, ptr @test_count, align 4, !tbaa !5
  %22256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22257 = load i32, ptr %22256, align 4, !tbaa !5
  %22258 = call ptr @s2n_strerror(i32 noundef %22257, ptr noundef @.str.80)
  %22259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22260 = load i32, ptr %22259, align 4, !tbaa !5
  %22261 = call ptr @s2n_strerror_debug(i32 noundef %22260, ptr noundef @.str.80)
  %22262 = call ptr @__errno_location() #12
  %22263 = load i32, ptr %22262, align 4, !tbaa !5
  %22264 = call ptr @strerror(i32 noundef %22263) #11
  %22265 = call ptr @__errno_location() #12
  %22266 = load i32, ptr %22265, align 4, !tbaa !5
  %22267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22254, ptr noundef @.str.81, i32 noundef %22255, ptr noundef @.str.285, ptr noundef @.str.77, i32 noundef 813, ptr noundef %22258, ptr noundef %22261, ptr noundef %22264, i32 noundef %22266) #11
  br label %22268

22268:                                            ; preds = %22251, %22234
  call void @llvm.lifetime.end.p0(i64 4, ptr %542) #11
  br label %22269

22269:                                            ; preds = %22268
  br label %22270

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

22271:                                            ; No predecessors!
  br label %22272

22272:                                            ; preds = %22271
  br label %22273

22273:                                            ; preds = %22272, %22213
  br label %22274

22274:                                            ; preds = %22273
  br label %22275

22275:                                            ; preds = %22274
  br label %22276

22276:                                            ; preds = %22275
  %22277 = load i32, ptr @test_count, align 4, !tbaa !5
  %22278 = add nsw i32 %22277, 1
  store i32 %22278, ptr @test_count, align 4, !tbaa !5
  %22279 = load ptr, ptr %534, align 8, !tbaa !9
  %22280 = load ptr, ptr %536, align 8, !tbaa !9
  %22281 = call i32 @s2n_connection_append_psk(ptr noundef %22279, ptr noundef %22280)
  %22282 = icmp eq i32 %22281, -1
  br i1 %22282, label %22283, label %22336

22283:                                            ; preds = %22276
  br label %22284

22284:                                            ; preds = %22283
  br label %22285

22285:                                            ; preds = %22284
  call void @llvm.lifetime.start.p0(i64 4, ptr %543) #11
  %22286 = call ptr @__errno_location() #12
  %22287 = load i32, ptr %22286, align 4, !tbaa !5
  store i32 %22287, ptr %543, align 4, !tbaa !5
  %22288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22289 = call i32 @s2n_print_stacktrace(ptr noundef %22288)
  %22290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22291 = trunc i8 %22290 to i1
  br i1 %22291, label %22292, label %22314

22292:                                            ; preds = %22285
  %22293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22294 = call i32 @fileno(ptr noundef %22293) #11
  %22295 = call i32 @isatty(i32 noundef %22294) #11
  %22296 = icmp ne i32 %22295, 0
  br i1 %22296, label %22297, label %22314

22297:                                            ; preds = %22292
  %22298 = load i32, ptr %543, align 4, !tbaa !5
  %22299 = call ptr @__errno_location() #12
  store i32 %22298, ptr %22299, align 4, !tbaa !5
  %22300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22301 = load i32, ptr @test_count, align 4, !tbaa !5
  %22302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22303 = load i32, ptr %22302, align 4, !tbaa !5
  %22304 = call ptr @s2n_strerror(i32 noundef %22303, ptr noundef @.str.80)
  %22305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22306 = load i32, ptr %22305, align 4, !tbaa !5
  %22307 = call ptr @s2n_strerror_debug(i32 noundef %22306, ptr noundef @.str.80)
  %22308 = call ptr @__errno_location() #12
  %22309 = load i32, ptr %22308, align 4, !tbaa !5
  %22310 = call ptr @strerror(i32 noundef %22309) #11
  %22311 = call ptr @__errno_location() #12
  %22312 = load i32, ptr %22311, align 4, !tbaa !5
  %22313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22300, ptr noundef @.str.78, i32 noundef %22301, ptr noundef @.str.286, ptr noundef @.str.77, i32 noundef 814, ptr noundef %22304, ptr noundef %22307, ptr noundef %22310, i32 noundef %22312) #11
  br label %22331

22314:                                            ; preds = %22292, %22285
  %22315 = load i32, ptr %543, align 4, !tbaa !5
  %22316 = call ptr @__errno_location() #12
  store i32 %22315, ptr %22316, align 4, !tbaa !5
  %22317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22318 = load i32, ptr @test_count, align 4, !tbaa !5
  %22319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22320 = load i32, ptr %22319, align 4, !tbaa !5
  %22321 = call ptr @s2n_strerror(i32 noundef %22320, ptr noundef @.str.80)
  %22322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22323 = load i32, ptr %22322, align 4, !tbaa !5
  %22324 = call ptr @s2n_strerror_debug(i32 noundef %22323, ptr noundef @.str.80)
  %22325 = call ptr @__errno_location() #12
  %22326 = load i32, ptr %22325, align 4, !tbaa !5
  %22327 = call ptr @strerror(i32 noundef %22326) #11
  %22328 = call ptr @__errno_location() #12
  %22329 = load i32, ptr %22328, align 4, !tbaa !5
  %22330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22317, ptr noundef @.str.81, i32 noundef %22318, ptr noundef @.str.286, ptr noundef @.str.77, i32 noundef 814, ptr noundef %22321, ptr noundef %22324, ptr noundef %22327, i32 noundef %22329) #11
  br label %22331

22331:                                            ; preds = %22314, %22297
  call void @llvm.lifetime.end.p0(i64 4, ptr %543) #11
  br label %22332

22332:                                            ; preds = %22331
  br label %22333

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

22334:                                            ; No predecessors!
  br label %22335

22335:                                            ; preds = %22334
  br label %22336

22336:                                            ; preds = %22335, %22276
  br label %22337

22337:                                            ; preds = %22336
  br label %22338

22338:                                            ; preds = %22337
  %22339 = call i32 @s2n_psk_free(ptr noundef %536)
  call void @llvm.lifetime.end.p0(i64 8, ptr %536) #11
  %22340 = call i32 @s2n_connection_ptr_free(ptr noundef %534)
  %22341 = getelementptr inbounds %struct.s2n_result, ptr %544, i32 0, i32 0
  store i32 %22340, ptr %22341, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %534) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %545) #11
  %22342 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %22342, ptr %545, align 8, !tbaa !9
  br label %22343

22343:                                            ; preds = %22338
  %22344 = load i32, ptr @test_count, align 4, !tbaa !5
  %22345 = add nsw i32 %22344, 1
  store i32 %22345, ptr @test_count, align 4, !tbaa !5
  %22346 = load ptr, ptr %545, align 8, !tbaa !9
  %22347 = icmp eq ptr %22346, null
  br i1 %22347, label %22348, label %22401

22348:                                            ; preds = %22343
  br label %22349

22349:                                            ; preds = %22348
  br label %22350

22350:                                            ; preds = %22349
  call void @llvm.lifetime.start.p0(i64 4, ptr %546) #11
  %22351 = call ptr @__errno_location() #12
  %22352 = load i32, ptr %22351, align 4, !tbaa !5
  store i32 %22352, ptr %546, align 4, !tbaa !5
  %22353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22354 = call i32 @s2n_print_stacktrace(ptr noundef %22353)
  %22355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22356 = trunc i8 %22355 to i1
  br i1 %22356, label %22357, label %22379

22357:                                            ; preds = %22350
  %22358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22359 = call i32 @fileno(ptr noundef %22358) #11
  %22360 = call i32 @isatty(i32 noundef %22359) #11
  %22361 = icmp ne i32 %22360, 0
  br i1 %22361, label %22362, label %22379

22362:                                            ; preds = %22357
  %22363 = load i32, ptr %546, align 4, !tbaa !5
  %22364 = call ptr @__errno_location() #12
  store i32 %22363, ptr %22364, align 4, !tbaa !5
  %22365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22366 = load i32, ptr @test_count, align 4, !tbaa !5
  %22367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22368 = load i32, ptr %22367, align 4, !tbaa !5
  %22369 = call ptr @s2n_strerror(i32 noundef %22368, ptr noundef @.str.80)
  %22370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22371 = load i32, ptr %22370, align 4, !tbaa !5
  %22372 = call ptr @s2n_strerror_debug(i32 noundef %22371, ptr noundef @.str.80)
  %22373 = call ptr @__errno_location() #12
  %22374 = load i32, ptr %22373, align 4, !tbaa !5
  %22375 = call ptr @strerror(i32 noundef %22374) #11
  %22376 = call ptr @__errno_location() #12
  %22377 = load i32, ptr %22376, align 4, !tbaa !5
  %22378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22365, ptr noundef @.str.78, i32 noundef %22366, ptr noundef @.str.281, ptr noundef @.str.77, i32 noundef 820, ptr noundef %22369, ptr noundef %22372, ptr noundef %22375, i32 noundef %22377) #11
  br label %22396

22379:                                            ; preds = %22357, %22350
  %22380 = load i32, ptr %546, align 4, !tbaa !5
  %22381 = call ptr @__errno_location() #12
  store i32 %22380, ptr %22381, align 4, !tbaa !5
  %22382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22383 = load i32, ptr @test_count, align 4, !tbaa !5
  %22384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22385 = load i32, ptr %22384, align 4, !tbaa !5
  %22386 = call ptr @s2n_strerror(i32 noundef %22385, ptr noundef @.str.80)
  %22387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22388 = load i32, ptr %22387, align 4, !tbaa !5
  %22389 = call ptr @s2n_strerror_debug(i32 noundef %22388, ptr noundef @.str.80)
  %22390 = call ptr @__errno_location() #12
  %22391 = load i32, ptr %22390, align 4, !tbaa !5
  %22392 = call ptr @strerror(i32 noundef %22391) #11
  %22393 = call ptr @__errno_location() #12
  %22394 = load i32, ptr %22393, align 4, !tbaa !5
  %22395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22382, ptr noundef @.str.81, i32 noundef %22383, ptr noundef @.str.281, ptr noundef @.str.77, i32 noundef 820, ptr noundef %22386, ptr noundef %22389, ptr noundef %22392, i32 noundef %22394) #11
  br label %22396

22396:                                            ; preds = %22379, %22362
  call void @llvm.lifetime.end.p0(i64 4, ptr %546) #11
  br label %22397

22397:                                            ; preds = %22396
  br label %22398

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

22399:                                            ; No predecessors!
  br label %22400

22400:                                            ; preds = %22399
  br label %22401

22401:                                            ; preds = %22400, %22343
  br label %22402

22402:                                            ; preds = %22401
  br label %22403

22403:                                            ; preds = %22402
  call void @llvm.lifetime.start.p0(i64 8, ptr %547) #11
  %22404 = call ptr @s2n_external_psk_new()
  store ptr %22404, ptr %547, align 8, !tbaa !9
  br label %22405

22405:                                            ; preds = %22403
  %22406 = load i32, ptr @test_count, align 4, !tbaa !5
  %22407 = add nsw i32 %22406, 1
  store i32 %22407, ptr @test_count, align 4, !tbaa !5
  %22408 = load ptr, ptr %547, align 8, !tbaa !9
  %22409 = getelementptr inbounds [9 x i8], ptr %485, i64 0, i64 0
  %22410 = call i32 @s2n_psk_set_identity(ptr noundef %22408, ptr noundef %22409, i16 noundef zeroext 9)
  %22411 = icmp eq i32 %22410, -1
  br i1 %22411, label %22412, label %22465

22412:                                            ; preds = %22405
  br label %22413

22413:                                            ; preds = %22412
  br label %22414

22414:                                            ; preds = %22413
  call void @llvm.lifetime.start.p0(i64 4, ptr %548) #11
  %22415 = call ptr @__errno_location() #12
  %22416 = load i32, ptr %22415, align 4, !tbaa !5
  store i32 %22416, ptr %548, align 4, !tbaa !5
  %22417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22418 = call i32 @s2n_print_stacktrace(ptr noundef %22417)
  %22419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22420 = trunc i8 %22419 to i1
  br i1 %22420, label %22421, label %22443

22421:                                            ; preds = %22414
  %22422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22423 = call i32 @fileno(ptr noundef %22422) #11
  %22424 = call i32 @isatty(i32 noundef %22423) #11
  %22425 = icmp ne i32 %22424, 0
  br i1 %22425, label %22426, label %22443

22426:                                            ; preds = %22421
  %22427 = load i32, ptr %548, align 4, !tbaa !5
  %22428 = call ptr @__errno_location() #12
  store i32 %22427, ptr %22428, align 4, !tbaa !5
  %22429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22430 = load i32, ptr @test_count, align 4, !tbaa !5
  %22431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22432 = load i32, ptr %22431, align 4, !tbaa !5
  %22433 = call ptr @s2n_strerror(i32 noundef %22432, ptr noundef @.str.80)
  %22434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22435 = load i32, ptr %22434, align 4, !tbaa !5
  %22436 = call ptr @s2n_strerror_debug(i32 noundef %22435, ptr noundef @.str.80)
  %22437 = call ptr @__errno_location() #12
  %22438 = load i32, ptr %22437, align 4, !tbaa !5
  %22439 = call ptr @strerror(i32 noundef %22438) #11
  %22440 = call ptr @__errno_location() #12
  %22441 = load i32, ptr %22440, align 4, !tbaa !5
  %22442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22429, ptr noundef @.str.78, i32 noundef %22430, ptr noundef @.str.285, ptr noundef @.str.77, i32 noundef 823, ptr noundef %22433, ptr noundef %22436, ptr noundef %22439, i32 noundef %22441) #11
  br label %22460

22443:                                            ; preds = %22421, %22414
  %22444 = load i32, ptr %548, align 4, !tbaa !5
  %22445 = call ptr @__errno_location() #12
  store i32 %22444, ptr %22445, align 4, !tbaa !5
  %22446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22447 = load i32, ptr @test_count, align 4, !tbaa !5
  %22448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22449 = load i32, ptr %22448, align 4, !tbaa !5
  %22450 = call ptr @s2n_strerror(i32 noundef %22449, ptr noundef @.str.80)
  %22451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22452 = load i32, ptr %22451, align 4, !tbaa !5
  %22453 = call ptr @s2n_strerror_debug(i32 noundef %22452, ptr noundef @.str.80)
  %22454 = call ptr @__errno_location() #12
  %22455 = load i32, ptr %22454, align 4, !tbaa !5
  %22456 = call ptr @strerror(i32 noundef %22455) #11
  %22457 = call ptr @__errno_location() #12
  %22458 = load i32, ptr %22457, align 4, !tbaa !5
  %22459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22446, ptr noundef @.str.81, i32 noundef %22447, ptr noundef @.str.285, ptr noundef @.str.77, i32 noundef 823, ptr noundef %22450, ptr noundef %22453, ptr noundef %22456, i32 noundef %22458) #11
  br label %22460

22460:                                            ; preds = %22443, %22426
  call void @llvm.lifetime.end.p0(i64 4, ptr %548) #11
  br label %22461

22461:                                            ; preds = %22460
  br label %22462

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

22463:                                            ; No predecessors!
  br label %22464

22464:                                            ; preds = %22463
  br label %22465

22465:                                            ; preds = %22464, %22405
  br label %22466

22466:                                            ; preds = %22465
  br label %22467

22467:                                            ; preds = %22466
  br label %22468

22468:                                            ; preds = %22467
  br label %22469

22469:                                            ; preds = %22468
  br label %22470

22470:                                            ; preds = %22469
  %22471 = load i32, ptr @test_count, align 4, !tbaa !5
  %22472 = add nsw i32 %22471, 1
  store i32 %22472, ptr @test_count, align 4, !tbaa !5
  %22473 = load ptr, ptr %545, align 8, !tbaa !9
  %22474 = load ptr, ptr %547, align 8, !tbaa !9
  %22475 = call i32 @s2n_connection_append_psk(ptr noundef %22473, ptr noundef %22474)
  %22476 = icmp eq i32 %22475, -1
  br i1 %22476, label %22530, label %22477

22477:                                            ; preds = %22470
  br label %22478

22478:                                            ; preds = %22477
  br label %22479

22479:                                            ; preds = %22478
  call void @llvm.lifetime.start.p0(i64 4, ptr %549) #11
  %22480 = call ptr @__errno_location() #12
  %22481 = load i32, ptr %22480, align 4, !tbaa !5
  store i32 %22481, ptr %549, align 4, !tbaa !5
  %22482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22483 = call i32 @s2n_print_stacktrace(ptr noundef %22482)
  %22484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22485 = trunc i8 %22484 to i1
  br i1 %22485, label %22486, label %22508

22486:                                            ; preds = %22479
  %22487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22488 = call i32 @fileno(ptr noundef %22487) #11
  %22489 = call i32 @isatty(i32 noundef %22488) #11
  %22490 = icmp ne i32 %22489, 0
  br i1 %22490, label %22491, label %22508

22491:                                            ; preds = %22486
  %22492 = load i32, ptr %549, align 4, !tbaa !5
  %22493 = call ptr @__errno_location() #12
  store i32 %22492, ptr %22493, align 4, !tbaa !5
  %22494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22495 = load i32, ptr @test_count, align 4, !tbaa !5
  %22496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22497 = load i32, ptr %22496, align 4, !tbaa !5
  %22498 = call ptr @s2n_strerror(i32 noundef %22497, ptr noundef @.str.80)
  %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_debug(i32 noundef %22500, ptr noundef @.str.80)
  %22502 = call ptr @__errno_location() #12
  %22503 = load i32, ptr %22502, align 4, !tbaa !5
  %22504 = call ptr @strerror(i32 noundef %22503) #11
  %22505 = call ptr @__errno_location() #12
  %22506 = load i32, ptr %22505, align 4, !tbaa !5
  %22507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22494, ptr noundef @.str.78, i32 noundef %22495, ptr noundef @.str.283, ptr noundef @.str.77, i32 noundef 826, ptr noundef %22498, ptr noundef %22501, ptr noundef %22504, i32 noundef %22506) #11
  br label %22525

22508:                                            ; preds = %22486, %22479
  %22509 = load i32, ptr %549, align 4, !tbaa !5
  %22510 = call ptr @__errno_location() #12
  store i32 %22509, ptr %22510, align 4, !tbaa !5
  %22511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22512 = load i32, ptr @test_count, align 4, !tbaa !5
  %22513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22514 = load i32, ptr %22513, align 4, !tbaa !5
  %22515 = call ptr @s2n_strerror(i32 noundef %22514, ptr noundef @.str.80)
  %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_debug(i32 noundef %22517, ptr noundef @.str.80)
  %22519 = call ptr @__errno_location() #12
  %22520 = load i32, ptr %22519, align 4, !tbaa !5
  %22521 = call ptr @strerror(i32 noundef %22520) #11
  %22522 = call ptr @__errno_location() #12
  %22523 = load i32, ptr %22522, align 4, !tbaa !5
  %22524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22511, ptr noundef @.str.81, i32 noundef %22512, ptr noundef @.str.283, ptr noundef @.str.77, i32 noundef 826, ptr noundef %22515, ptr noundef %22518, ptr noundef %22521, i32 noundef %22523) #11
  br label %22525

22525:                                            ; preds = %22508, %22491
  call void @llvm.lifetime.end.p0(i64 4, ptr %549) #11
  br label %22526

22526:                                            ; preds = %22525
  br label %22527

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

22528:                                            ; No predecessors!
  br label %22529

22529:                                            ; preds = %22528
  br label %22530

22530:                                            ; preds = %22529, %22470
  br label %22531

22531:                                            ; preds = %22530
  br label %22532

22532:                                            ; preds = %22531
  br label %22533

22533:                                            ; preds = %22532
  %22534 = load i32, ptr @test_count, align 4, !tbaa !5
  %22535 = add nsw i32 %22534, 1
  store i32 %22535, ptr @test_count, align 4, !tbaa !5
  %22536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22537 = load i32, ptr %22536, align 4, !tbaa !5
  %22538 = icmp eq i32 %22537, 469762089
  br i1 %22538, label %22592, label %22539

22539:                                            ; preds = %22533
  br label %22540

22540:                                            ; preds = %22539
  br label %22541

22541:                                            ; preds = %22540
  call void @llvm.lifetime.start.p0(i64 4, ptr %550) #11
  %22542 = call ptr @__errno_location() #12
  %22543 = load i32, ptr %22542, align 4, !tbaa !5
  store i32 %22543, ptr %550, align 4, !tbaa !5
  %22544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22545 = call i32 @s2n_print_stacktrace(ptr noundef %22544)
  %22546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22547 = trunc i8 %22546 to i1
  br i1 %22547, label %22548, label %22570

22548:                                            ; preds = %22541
  %22549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22550 = call i32 @fileno(ptr noundef %22549) #11
  %22551 = call i32 @isatty(i32 noundef %22550) #11
  %22552 = icmp ne i32 %22551, 0
  br i1 %22552, label %22553, label %22570

22553:                                            ; preds = %22548
  %22554 = load i32, ptr %550, align 4, !tbaa !5
  %22555 = call ptr @__errno_location() #12
  store i32 %22554, ptr %22555, align 4, !tbaa !5
  %22556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22557 = load i32, ptr @test_count, align 4, !tbaa !5
  %22558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22559 = load i32, ptr %22558, align 4, !tbaa !5
  %22560 = call ptr @s2n_strerror(i32 noundef %22559, ptr noundef @.str.80)
  %22561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22562 = load i32, ptr %22561, align 4, !tbaa !5
  %22563 = call ptr @s2n_strerror_debug(i32 noundef %22562, ptr noundef @.str.80)
  %22564 = call ptr @__errno_location() #12
  %22565 = load i32, ptr %22564, align 4, !tbaa !5
  %22566 = call ptr @strerror(i32 noundef %22565) #11
  %22567 = call ptr @__errno_location() #12
  %22568 = load i32, ptr %22567, align 4, !tbaa !5
  %22569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22556, ptr noundef @.str.78, i32 noundef %22557, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 826, ptr noundef %22560, ptr noundef %22563, ptr noundef %22566, i32 noundef %22568) #11
  br label %22587

22570:                                            ; preds = %22548, %22541
  %22571 = load i32, ptr %550, align 4, !tbaa !5
  %22572 = call ptr @__errno_location() #12
  store i32 %22571, ptr %22572, align 4, !tbaa !5
  %22573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22574 = load i32, ptr @test_count, align 4, !tbaa !5
  %22575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22576 = load i32, ptr %22575, align 4, !tbaa !5
  %22577 = call ptr @s2n_strerror(i32 noundef %22576, ptr noundef @.str.80)
  %22578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22579 = load i32, ptr %22578, align 4, !tbaa !5
  %22580 = call ptr @s2n_strerror_debug(i32 noundef %22579, ptr noundef @.str.80)
  %22581 = call ptr @__errno_location() #12
  %22582 = load i32, ptr %22581, align 4, !tbaa !5
  %22583 = call ptr @strerror(i32 noundef %22582) #11
  %22584 = call ptr @__errno_location() #12
  %22585 = load i32, ptr %22584, align 4, !tbaa !5
  %22586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22573, ptr noundef @.str.81, i32 noundef %22574, ptr noundef @.str.101, ptr noundef @.str.77, i32 noundef 826, ptr noundef %22577, ptr noundef %22580, ptr noundef %22583, i32 noundef %22585) #11
  br label %22587

22587:                                            ; preds = %22570, %22553
  call void @llvm.lifetime.end.p0(i64 4, ptr %550) #11
  br label %22588

22588:                                            ; preds = %22587
  br label %22589

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

22590:                                            ; No predecessors!
  br label %22591

22591:                                            ; preds = %22590
  br label %22592

22592:                                            ; preds = %22591, %22533
  br label %22593

22593:                                            ; preds = %22592
  br label %22594

22594:                                            ; preds = %22593
  br label %22595

22595:                                            ; preds = %22594
  %22596 = load i32, ptr @test_count, align 4, !tbaa !5
  %22597 = add nsw i32 %22596, 1
  store i32 %22597, ptr @test_count, align 4, !tbaa !5
  %22598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22599 = load i32, ptr %22598, align 4, !tbaa !5
  %22600 = call ptr @s2n_strerror_debug(i32 noundef %22599, ptr noundef @.str.80)
  %22601 = icmp eq ptr %22600, null
  br i1 %22601, label %22602, label %22655

22602:                                            ; preds = %22595
  br label %22603

22603:                                            ; preds = %22602
  br label %22604

22604:                                            ; preds = %22603
  call void @llvm.lifetime.start.p0(i64 4, ptr %551) #11
  %22605 = call ptr @__errno_location() #12
  %22606 = load i32, ptr %22605, align 4, !tbaa !5
  store i32 %22606, ptr %551, align 4, !tbaa !5
  %22607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22608 = call i32 @s2n_print_stacktrace(ptr noundef %22607)
  %22609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22610 = trunc i8 %22609 to i1
  br i1 %22610, label %22611, label %22633

22611:                                            ; preds = %22604
  %22612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22613 = call i32 @fileno(ptr noundef %22612) #11
  %22614 = call i32 @isatty(i32 noundef %22613) #11
  %22615 = icmp ne i32 %22614, 0
  br i1 %22615, label %22616, label %22633

22616:                                            ; preds = %22611
  %22617 = load i32, ptr %551, align 4, !tbaa !5
  %22618 = call ptr @__errno_location() #12
  store i32 %22617, ptr %22618, align 4, !tbaa !5
  %22619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22620 = load i32, ptr @test_count, align 4, !tbaa !5
  %22621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22622 = load i32, ptr %22621, align 4, !tbaa !5
  %22623 = call ptr @s2n_strerror(i32 noundef %22622, ptr noundef @.str.80)
  %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_debug(i32 noundef %22625, ptr noundef @.str.80)
  %22627 = call ptr @__errno_location() #12
  %22628 = load i32, ptr %22627, align 4, !tbaa !5
  %22629 = call ptr @strerror(i32 noundef %22628) #11
  %22630 = call ptr @__errno_location() #12
  %22631 = load i32, ptr %22630, align 4, !tbaa !5
  %22632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22619, ptr noundef @.str.78, i32 noundef %22620, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 826, ptr noundef %22623, ptr noundef %22626, ptr noundef %22629, i32 noundef %22631) #11
  br label %22650

22633:                                            ; preds = %22611, %22604
  %22634 = load i32, ptr %551, align 4, !tbaa !5
  %22635 = call ptr @__errno_location() #12
  store i32 %22634, ptr %22635, align 4, !tbaa !5
  %22636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22637 = load i32, ptr @test_count, align 4, !tbaa !5
  %22638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22639 = load i32, ptr %22638, align 4, !tbaa !5
  %22640 = call ptr @s2n_strerror(i32 noundef %22639, ptr noundef @.str.80)
  %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_debug(i32 noundef %22642, ptr noundef @.str.80)
  %22644 = call ptr @__errno_location() #12
  %22645 = load i32, ptr %22644, align 4, !tbaa !5
  %22646 = call ptr @strerror(i32 noundef %22645) #11
  %22647 = call ptr @__errno_location() #12
  %22648 = load i32, ptr %22647, align 4, !tbaa !5
  %22649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22636, ptr noundef @.str.81, i32 noundef %22637, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 826, ptr noundef %22640, ptr noundef %22643, ptr noundef %22646, i32 noundef %22648) #11
  br label %22650

22650:                                            ; preds = %22633, %22616
  call void @llvm.lifetime.end.p0(i64 4, ptr %551) #11
  br label %22651

22651:                                            ; preds = %22650
  br label %22652

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

22653:                                            ; No predecessors!
  br label %22654

22654:                                            ; preds = %22653
  br label %22655

22655:                                            ; preds = %22654, %22595
  br label %22656

22656:                                            ; preds = %22655
  br label %22657

22657:                                            ; preds = %22656
  br label %22658

22658:                                            ; preds = %22657
  br label %22659

22659:                                            ; preds = %22658
  br label %22660

22660:                                            ; preds = %22659
  %22661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22661, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22662 = call ptr @__errno_location() #12
  store i32 0, ptr %22662, align 4, !tbaa !5
  br label %22663

22663:                                            ; preds = %22660
  br label %22664

22664:                                            ; preds = %22663
  br label %22665

22665:                                            ; preds = %22664
  br label %22666

22666:                                            ; preds = %22665
  br label %22667

22667:                                            ; preds = %22666
  %22668 = load i32, ptr @test_count, align 4, !tbaa !5
  %22669 = add nsw i32 %22668, 1
  store i32 %22669, ptr @test_count, align 4, !tbaa !5
  %22670 = load ptr, ptr %545, align 8, !tbaa !9
  %22671 = getelementptr inbounds %struct.s2n_connection, ptr %22670, i32 0, i32 33
  %22672 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %22671, i32 0, i32 1
  %22673 = getelementptr inbounds %struct.s2n_array, ptr %22672, i32 0, i32 1
  %22674 = load i32, ptr %22673, align 8, !tbaa !88
  %22675 = icmp eq i32 %22674, 0
  br i1 %22675, label %22729, label %22676

22676:                                            ; preds = %22667
  br label %22677

22677:                                            ; preds = %22676
  br label %22678

22678:                                            ; preds = %22677
  call void @llvm.lifetime.start.p0(i64 4, ptr %552) #11
  %22679 = call ptr @__errno_location() #12
  %22680 = load i32, ptr %22679, align 4, !tbaa !5
  store i32 %22680, ptr %552, align 4, !tbaa !5
  %22681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22682 = call i32 @s2n_print_stacktrace(ptr noundef %22681)
  %22683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22684 = trunc i8 %22683 to i1
  br i1 %22684, label %22685, label %22707

22685:                                            ; preds = %22678
  %22686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22687 = call i32 @fileno(ptr noundef %22686) #11
  %22688 = call i32 @isatty(i32 noundef %22687) #11
  %22689 = icmp ne i32 %22688, 0
  br i1 %22689, label %22690, label %22707

22690:                                            ; preds = %22685
  %22691 = load i32, ptr %552, align 4, !tbaa !5
  %22692 = call ptr @__errno_location() #12
  store i32 %22691, ptr %22692, align 4, !tbaa !5
  %22693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22694 = load i32, ptr @test_count, align 4, !tbaa !5
  %22695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22696 = load i32, ptr %22695, align 4, !tbaa !5
  %22697 = call ptr @s2n_strerror(i32 noundef %22696, ptr noundef @.str.80)
  %22698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22699 = load i32, ptr %22698, align 4, !tbaa !5
  %22700 = call ptr @s2n_strerror_debug(i32 noundef %22699, ptr noundef @.str.80)
  %22701 = call ptr @__errno_location() #12
  %22702 = load i32, ptr %22701, align 4, !tbaa !5
  %22703 = call ptr @strerror(i32 noundef %22702) #11
  %22704 = call ptr @__errno_location() #12
  %22705 = load i32, ptr %22704, align 4, !tbaa !5
  %22706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22693, ptr noundef @.str.78, i32 noundef %22694, ptr noundef @.str.284, ptr noundef @.str.77, i32 noundef 827, ptr noundef %22697, ptr noundef %22700, ptr noundef %22703, i32 noundef %22705) #11
  br label %22724

22707:                                            ; preds = %22685, %22678
  %22708 = load i32, ptr %552, align 4, !tbaa !5
  %22709 = call ptr @__errno_location() #12
  store i32 %22708, ptr %22709, align 4, !tbaa !5
  %22710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22711 = load i32, ptr @test_count, align 4, !tbaa !5
  %22712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22713 = load i32, ptr %22712, align 4, !tbaa !5
  %22714 = call ptr @s2n_strerror(i32 noundef %22713, ptr noundef @.str.80)
  %22715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22716 = load i32, ptr %22715, align 4, !tbaa !5
  %22717 = call ptr @s2n_strerror_debug(i32 noundef %22716, ptr noundef @.str.80)
  %22718 = call ptr @__errno_location() #12
  %22719 = load i32, ptr %22718, align 4, !tbaa !5
  %22720 = call ptr @strerror(i32 noundef %22719) #11
  %22721 = call ptr @__errno_location() #12
  %22722 = load i32, ptr %22721, align 4, !tbaa !5
  %22723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22710, ptr noundef @.str.81, i32 noundef %22711, ptr noundef @.str.284, ptr noundef @.str.77, i32 noundef 827, ptr noundef %22714, ptr noundef %22717, ptr noundef %22720, i32 noundef %22722) #11
  br label %22724

22724:                                            ; preds = %22707, %22690
  call void @llvm.lifetime.end.p0(i64 4, ptr %552) #11
  br label %22725

22725:                                            ; preds = %22724
  br label %22726

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

22727:                                            ; No predecessors!
  br label %22728

22728:                                            ; preds = %22727
  br label %22729

22729:                                            ; preds = %22728, %22667
  br label %22730

22730:                                            ; preds = %22729
  br label %22731

22731:                                            ; preds = %22730
  br label %22732

22732:                                            ; preds = %22731
  %22733 = load i32, ptr @test_count, align 4, !tbaa !5
  %22734 = add nsw i32 %22733, 1
  store i32 %22734, ptr @test_count, align 4, !tbaa !5
  %22735 = load ptr, ptr %547, align 8, !tbaa !9
  %22736 = getelementptr inbounds [7 x i8], ptr %486, i64 0, i64 0
  %22737 = call i32 @s2n_psk_set_secret(ptr noundef %22735, ptr noundef %22736, i16 noundef zeroext 7)
  %22738 = icmp eq i32 %22737, -1
  br i1 %22738, label %22739, label %22792

22739:                                            ; preds = %22732
  br label %22740

22740:                                            ; preds = %22739
  br label %22741

22741:                                            ; preds = %22740
  call void @llvm.lifetime.start.p0(i64 4, ptr %553) #11
  %22742 = call ptr @__errno_location() #12
  %22743 = load i32, ptr %22742, align 4, !tbaa !5
  store i32 %22743, ptr %553, 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 %553, 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.80)
  %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.80)
  %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.78, i32 noundef %22757, ptr noundef @.str.282, ptr noundef @.str.77, i32 noundef 830, ptr noundef %22760, ptr noundef %22763, ptr noundef %22766, i32 noundef %22768) #11
  br label %22787

22770:                                            ; preds = %22748, %22741
  %22771 = load i32, ptr %553, 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.80)
  %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.80)
  %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.81, i32 noundef %22774, ptr noundef @.str.282, ptr noundef @.str.77, i32 noundef 830, 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 %553) #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, %22732
  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 %545, align 8, !tbaa !9
  %22799 = load ptr, ptr %547, align 8, !tbaa !9
  %22800 = call i32 @s2n_connection_append_psk(ptr noundef %22798, ptr noundef %22799)
  %22801 = icmp eq i32 %22800, -1
  br i1 %22801, label %22802, label %22855

22802:                                            ; preds = %22795
  br label %22803

22803:                                            ; preds = %22802
  br label %22804

22804:                                            ; preds = %22803
  call void @llvm.lifetime.start.p0(i64 4, ptr %554) #11
  %22805 = call ptr @__errno_location() #12
  %22806 = load i32, ptr %22805, align 4, !tbaa !5
  store i32 %22806, ptr %554, 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 %554, 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.80)
  %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.80)
  %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.78, i32 noundef %22820, ptr noundef @.str.286, ptr noundef @.str.77, i32 noundef 831, ptr noundef %22823, ptr noundef %22826, ptr noundef %22829, i32 noundef %22831) #11
  br label %22850

22833:                                            ; preds = %22811, %22804
  %22834 = load i32, ptr %554, 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.80)
  %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.80)
  %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.81, i32 noundef %22837, ptr noundef @.str.286, ptr noundef @.str.77, i32 noundef 831, 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 %554) #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
  %22858 = call i32 @s2n_psk_free(ptr noundef %547)
  call void @llvm.lifetime.end.p0(i64 8, ptr %547) #11
  %22859 = call i32 @s2n_connection_ptr_free(ptr noundef %545)
  %22860 = getelementptr inbounds %struct.s2n_result, ptr %555, i32 0, i32 0
  store i32 %22859, ptr %22860, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %545) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %556) #11
  store ptr null, ptr %556, align 8, !tbaa !9
  br label %22861

22861:                                            ; preds = %22857
  %22862 = load i32, ptr @test_count, align 4, !tbaa !5
  %22863 = add nsw i32 %22862, 1
  store i32 %22863, ptr @test_count, align 4, !tbaa !5
  %22864 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %22864, ptr %556, align 8, !tbaa !9
  %22865 = icmp eq ptr %22864, null
  br i1 %22865, label %22866, label %22919

22866:                                            ; preds = %22861
  br label %22867

22867:                                            ; preds = %22866
  br label %22868

22868:                                            ; preds = %22867
  call void @llvm.lifetime.start.p0(i64 4, ptr %557) #11
  %22869 = call ptr @__errno_location() #12
  %22870 = load i32, ptr %22869, align 4, !tbaa !5
  store i32 %22870, ptr %557, align 4, !tbaa !5
  %22871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22872 = call i32 @s2n_print_stacktrace(ptr noundef %22871)
  %22873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22874 = trunc i8 %22873 to i1
  br i1 %22874, label %22875, label %22897

22875:                                            ; preds = %22868
  %22876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22877 = call i32 @fileno(ptr noundef %22876) #11
  %22878 = call i32 @isatty(i32 noundef %22877) #11
  %22879 = icmp ne i32 %22878, 0
  br i1 %22879, label %22880, label %22897

22880:                                            ; preds = %22875
  %22881 = load i32, ptr %557, align 4, !tbaa !5
  %22882 = call ptr @__errno_location() #12
  store i32 %22881, ptr %22882, align 4, !tbaa !5
  %22883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22884 = load i32, ptr @test_count, align 4, !tbaa !5
  %22885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22886 = load i32, ptr %22885, align 4, !tbaa !5
  %22887 = call ptr @s2n_strerror(i32 noundef %22886, ptr noundef @.str.80)
  %22888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22889 = load i32, ptr %22888, align 4, !tbaa !5
  %22890 = call ptr @s2n_strerror_debug(i32 noundef %22889, ptr noundef @.str.80)
  %22891 = call ptr @__errno_location() #12
  %22892 = load i32, ptr %22891, align 4, !tbaa !5
  %22893 = call ptr @strerror(i32 noundef %22892) #11
  %22894 = call ptr @__errno_location() #12
  %22895 = load i32, ptr %22894, align 4, !tbaa !5
  %22896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22883, ptr noundef @.str.78, i32 noundef %22884, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 838, ptr noundef %22887, ptr noundef %22890, ptr noundef %22893, i32 noundef %22895) #11
  br label %22914

22897:                                            ; preds = %22875, %22868
  %22898 = load i32, ptr %557, align 4, !tbaa !5
  %22899 = call ptr @__errno_location() #12
  store i32 %22898, ptr %22899, align 4, !tbaa !5
  %22900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22901 = load i32, ptr @test_count, align 4, !tbaa !5
  %22902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22903 = load i32, ptr %22902, align 4, !tbaa !5
  %22904 = call ptr @s2n_strerror(i32 noundef %22903, ptr noundef @.str.80)
  %22905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22906 = load i32, ptr %22905, align 4, !tbaa !5
  %22907 = call ptr @s2n_strerror_debug(i32 noundef %22906, ptr noundef @.str.80)
  %22908 = call ptr @__errno_location() #12
  %22909 = load i32, ptr %22908, align 4, !tbaa !5
  %22910 = call ptr @strerror(i32 noundef %22909) #11
  %22911 = call ptr @__errno_location() #12
  %22912 = load i32, ptr %22911, align 4, !tbaa !5
  %22913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22900, ptr noundef @.str.81, i32 noundef %22901, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 838, ptr noundef %22904, ptr noundef %22907, ptr noundef %22910, i32 noundef %22912) #11
  br label %22914

22914:                                            ; preds = %22897, %22880
  call void @llvm.lifetime.end.p0(i64 4, ptr %557) #11
  br label %22915

22915:                                            ; preds = %22914
  br label %22916

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

22917:                                            ; No predecessors!
  br label %22918

22918:                                            ; preds = %22917
  br label %22919

22919:                                            ; preds = %22918, %22861
  br label %22920

22920:                                            ; preds = %22919
  br label %22921

22921:                                            ; preds = %22920
  call void @llvm.lifetime.start.p0(i64 8, ptr %558) #11
  %22922 = call ptr @s2n_external_psk_new()
  store ptr %22922, ptr %558, align 8, !tbaa !9
  br label %22923

22923:                                            ; preds = %22921
  %22924 = load i32, ptr @test_count, align 4, !tbaa !5
  %22925 = add nsw i32 %22924, 1
  store i32 %22925, ptr @test_count, align 4, !tbaa !5
  %22926 = load ptr, ptr %558, align 8, !tbaa !9
  %22927 = getelementptr inbounds [7 x i8], ptr %486, i64 0, i64 0
  %22928 = call i32 @s2n_psk_set_secret(ptr noundef %22926, ptr noundef %22927, i16 noundef zeroext 7)
  %22929 = icmp eq i32 %22928, -1
  br i1 %22929, label %22930, label %22983

22930:                                            ; preds = %22923
  br label %22931

22931:                                            ; preds = %22930
  br label %22932

22932:                                            ; preds = %22931
  call void @llvm.lifetime.start.p0(i64 4, ptr %559) #11
  %22933 = call ptr @__errno_location() #12
  %22934 = load i32, ptr %22933, align 4, !tbaa !5
  store i32 %22934, ptr %559, align 4, !tbaa !5
  %22935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22936 = call i32 @s2n_print_stacktrace(ptr noundef %22935)
  %22937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22938 = trunc i8 %22937 to i1
  br i1 %22938, label %22939, label %22961

22939:                                            ; preds = %22932
  %22940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22941 = call i32 @fileno(ptr noundef %22940) #11
  %22942 = call i32 @isatty(i32 noundef %22941) #11
  %22943 = icmp ne i32 %22942, 0
  br i1 %22943, label %22944, label %22961

22944:                                            ; preds = %22939
  %22945 = load i32, ptr %559, align 4, !tbaa !5
  %22946 = call ptr @__errno_location() #12
  store i32 %22945, ptr %22946, align 4, !tbaa !5
  %22947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22948 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %22950, ptr noundef @.str.80)
  %22952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22953 = load i32, ptr %22952, align 4, !tbaa !5
  %22954 = call ptr @s2n_strerror_debug(i32 noundef %22953, ptr noundef @.str.80)
  %22955 = call ptr @__errno_location() #12
  %22956 = load i32, ptr %22955, align 4, !tbaa !5
  %22957 = call ptr @strerror(i32 noundef %22956) #11
  %22958 = call ptr @__errno_location() #12
  %22959 = load i32, ptr %22958, align 4, !tbaa !5
  %22960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22947, ptr noundef @.str.78, i32 noundef %22948, ptr noundef @.str.282, ptr noundef @.str.77, i32 noundef 841, ptr noundef %22951, ptr noundef %22954, ptr noundef %22957, i32 noundef %22959) #11
  br label %22978

22961:                                            ; preds = %22939, %22932
  %22962 = load i32, ptr %559, align 4, !tbaa !5
  %22963 = call ptr @__errno_location() #12
  store i32 %22962, ptr %22963, align 4, !tbaa !5
  %22964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22965 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %22967, ptr noundef @.str.80)
  %22969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22970 = load i32, ptr %22969, align 4, !tbaa !5
  %22971 = call ptr @s2n_strerror_debug(i32 noundef %22970, ptr noundef @.str.80)
  %22972 = call ptr @__errno_location() #12
  %22973 = load i32, ptr %22972, align 4, !tbaa !5
  %22974 = call ptr @strerror(i32 noundef %22973) #11
  %22975 = call ptr @__errno_location() #12
  %22976 = load i32, ptr %22975, align 4, !tbaa !5
  %22977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22964, ptr noundef @.str.81, i32 noundef %22965, ptr noundef @.str.282, ptr noundef @.str.77, i32 noundef 841, ptr noundef %22968, ptr noundef %22971, ptr noundef %22974, i32 noundef %22976) #11
  br label %22978

22978:                                            ; preds = %22961, %22944
  call void @llvm.lifetime.end.p0(i64 4, ptr %559) #11
  br label %22979

22979:                                            ; preds = %22978
  br label %22980

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

22981:                                            ; No predecessors!
  br label %22982

22982:                                            ; preds = %22981
  br label %22983

22983:                                            ; preds = %22982, %22923
  br label %22984

22984:                                            ; preds = %22983
  br label %22985

22985:                                            ; preds = %22984
  call void @llvm.lifetime.start.p0(i64 2, ptr %560) #11
  store i16 -48, ptr %560, align 2, !tbaa !66
  br label %22986

22986:                                            ; preds = %22985
  %22987 = load i32, ptr @test_count, align 4, !tbaa !5
  %22988 = add nsw i32 %22987, 1
  store i32 %22988, ptr @test_count, align 4, !tbaa !5
  %22989 = load ptr, ptr %558, align 8, !tbaa !9
  %22990 = getelementptr inbounds [65535 x i8], ptr %488, i64 0, i64 0
  %22991 = load i16, ptr %560, align 2, !tbaa !66
  %22992 = zext i16 %22991 to i32
  %22993 = add nsw i32 %22992, 1
  %22994 = trunc i32 %22993 to i16
  %22995 = call i32 @s2n_psk_set_identity(ptr noundef %22989, ptr noundef %22990, i16 noundef zeroext %22994)
  %22996 = icmp eq i32 %22995, -1
  br i1 %22996, label %22997, label %23050

22997:                                            ; preds = %22986
  br label %22998

22998:                                            ; preds = %22997
  br label %22999

22999:                                            ; preds = %22998
  call void @llvm.lifetime.start.p0(i64 4, ptr %561) #11
  %23000 = call ptr @__errno_location() #12
  %23001 = load i32, ptr %23000, align 4, !tbaa !5
  store i32 %23001, ptr %561, align 4, !tbaa !5
  %23002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23003 = call i32 @s2n_print_stacktrace(ptr noundef %23002)
  %23004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23005 = trunc i8 %23004 to i1
  br i1 %23005, label %23006, label %23028

23006:                                            ; preds = %22999
  %23007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23008 = call i32 @fileno(ptr noundef %23007) #11
  %23009 = call i32 @isatty(i32 noundef %23008) #11
  %23010 = icmp ne i32 %23009, 0
  br i1 %23010, label %23011, label %23028

23011:                                            ; preds = %23006
  %23012 = load i32, ptr %561, align 4, !tbaa !5
  %23013 = call ptr @__errno_location() #12
  store i32 %23012, ptr %23013, align 4, !tbaa !5
  %23014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23015 = load i32, ptr @test_count, align 4, !tbaa !5
  %23016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23017 = load i32, ptr %23016, align 4, !tbaa !5
  %23018 = call ptr @s2n_strerror(i32 noundef %23017, ptr noundef @.str.80)
  %23019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23020 = load i32, ptr %23019, align 4, !tbaa !5
  %23021 = call ptr @s2n_strerror_debug(i32 noundef %23020, ptr noundef @.str.80)
  %23022 = call ptr @__errno_location() #12
  %23023 = load i32, ptr %23022, align 4, !tbaa !5
  %23024 = call ptr @strerror(i32 noundef %23023) #11
  %23025 = call ptr @__errno_location() #12
  %23026 = load i32, ptr %23025, align 4, !tbaa !5
  %23027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23014, ptr noundef @.str.78, i32 noundef %23015, ptr noundef @.str.287, ptr noundef @.str.77, i32 noundef 852, ptr noundef %23018, ptr noundef %23021, ptr noundef %23024, i32 noundef %23026) #11
  br label %23045

23028:                                            ; preds = %23006, %22999
  %23029 = load i32, ptr %561, align 4, !tbaa !5
  %23030 = call ptr @__errno_location() #12
  store i32 %23029, ptr %23030, align 4, !tbaa !5
  %23031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23032 = load i32, ptr @test_count, align 4, !tbaa !5
  %23033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23034 = load i32, ptr %23033, align 4, !tbaa !5
  %23035 = call ptr @s2n_strerror(i32 noundef %23034, ptr noundef @.str.80)
  %23036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23037 = load i32, ptr %23036, align 4, !tbaa !5
  %23038 = call ptr @s2n_strerror_debug(i32 noundef %23037, ptr noundef @.str.80)
  %23039 = call ptr @__errno_location() #12
  %23040 = load i32, ptr %23039, align 4, !tbaa !5
  %23041 = call ptr @strerror(i32 noundef %23040) #11
  %23042 = call ptr @__errno_location() #12
  %23043 = load i32, ptr %23042, align 4, !tbaa !5
  %23044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23031, ptr noundef @.str.81, i32 noundef %23032, ptr noundef @.str.287, ptr noundef @.str.77, i32 noundef 852, ptr noundef %23035, ptr noundef %23038, ptr noundef %23041, i32 noundef %23043) #11
  br label %23045

23045:                                            ; preds = %23028, %23011
  call void @llvm.lifetime.end.p0(i64 4, ptr %561) #11
  br label %23046

23046:                                            ; preds = %23045
  br label %23047

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

23048:                                            ; No predecessors!
  br label %23049

23049:                                            ; preds = %23048
  br label %23050

23050:                                            ; preds = %23049, %22986
  br label %23051

23051:                                            ; preds = %23050
  br label %23052

23052:                                            ; preds = %23051
  br label %23053

23053:                                            ; preds = %23052
  br label %23054

23054:                                            ; preds = %23053
  br label %23055

23055:                                            ; preds = %23054
  %23056 = load i32, ptr @test_count, align 4, !tbaa !5
  %23057 = add nsw i32 %23056, 1
  store i32 %23057, ptr @test_count, align 4, !tbaa !5
  %23058 = load ptr, ptr %556, align 8, !tbaa !9
  %23059 = load ptr, ptr %558, align 8, !tbaa !9
  %23060 = call i32 @s2n_connection_append_psk(ptr noundef %23058, ptr noundef %23059)
  %23061 = icmp eq i32 %23060, -1
  br i1 %23061, label %23115, label %23062

23062:                                            ; preds = %23055
  br label %23063

23063:                                            ; preds = %23062
  br label %23064

23064:                                            ; preds = %23063
  call void @llvm.lifetime.start.p0(i64 4, ptr %562) #11
  %23065 = call ptr @__errno_location() #12
  %23066 = load i32, ptr %23065, align 4, !tbaa !5
  store i32 %23066, ptr %562, align 4, !tbaa !5
  %23067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23068 = call i32 @s2n_print_stacktrace(ptr noundef %23067)
  %23069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23070 = trunc i8 %23069 to i1
  br i1 %23070, label %23071, label %23093

23071:                                            ; preds = %23064
  %23072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23073 = call i32 @fileno(ptr noundef %23072) #11
  %23074 = call i32 @isatty(i32 noundef %23073) #11
  %23075 = icmp ne i32 %23074, 0
  br i1 %23075, label %23076, label %23093

23076:                                            ; preds = %23071
  %23077 = load i32, ptr %562, align 4, !tbaa !5
  %23078 = call ptr @__errno_location() #12
  store i32 %23077, ptr %23078, align 4, !tbaa !5
  %23079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23080 = load i32, ptr @test_count, align 4, !tbaa !5
  %23081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23082 = load i32, ptr %23081, align 4, !tbaa !5
  %23083 = call ptr @s2n_strerror(i32 noundef %23082, ptr noundef @.str.80)
  %23084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23085 = load i32, ptr %23084, align 4, !tbaa !5
  %23086 = call ptr @s2n_strerror_debug(i32 noundef %23085, ptr noundef @.str.80)
  %23087 = call ptr @__errno_location() #12
  %23088 = load i32, ptr %23087, align 4, !tbaa !5
  %23089 = call ptr @strerror(i32 noundef %23088) #11
  %23090 = call ptr @__errno_location() #12
  %23091 = load i32, ptr %23090, align 4, !tbaa !5
  %23092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23079, ptr noundef @.str.78, i32 noundef %23080, ptr noundef @.str.283, ptr noundef @.str.77, i32 noundef 855, ptr noundef %23083, ptr noundef %23086, ptr noundef %23089, i32 noundef %23091) #11
  br label %23110

23093:                                            ; preds = %23071, %23064
  %23094 = load i32, ptr %562, align 4, !tbaa !5
  %23095 = call ptr @__errno_location() #12
  store i32 %23094, ptr %23095, align 4, !tbaa !5
  %23096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23097 = load i32, ptr @test_count, align 4, !tbaa !5
  %23098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23099 = load i32, ptr %23098, align 4, !tbaa !5
  %23100 = call ptr @s2n_strerror(i32 noundef %23099, ptr noundef @.str.80)
  %23101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23102 = load i32, ptr %23101, align 4, !tbaa !5
  %23103 = call ptr @s2n_strerror_debug(i32 noundef %23102, ptr noundef @.str.80)
  %23104 = call ptr @__errno_location() #12
  %23105 = load i32, ptr %23104, align 4, !tbaa !5
  %23106 = call ptr @strerror(i32 noundef %23105) #11
  %23107 = call ptr @__errno_location() #12
  %23108 = load i32, ptr %23107, align 4, !tbaa !5
  %23109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23096, ptr noundef @.str.81, i32 noundef %23097, ptr noundef @.str.283, ptr noundef @.str.77, i32 noundef 855, ptr noundef %23100, ptr noundef %23103, ptr noundef %23106, i32 noundef %23108) #11
  br label %23110

23110:                                            ; preds = %23093, %23076
  call void @llvm.lifetime.end.p0(i64 4, ptr %562) #11
  br label %23111

23111:                                            ; preds = %23110
  br label %23112

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

23113:                                            ; No predecessors!
  br label %23114

23114:                                            ; preds = %23113
  br label %23115

23115:                                            ; preds = %23114, %23055
  br label %23116

23116:                                            ; preds = %23115
  br label %23117

23117:                                            ; preds = %23116
  br label %23118

23118:                                            ; preds = %23117
  %23119 = load i32, ptr @test_count, align 4, !tbaa !5
  %23120 = add nsw i32 %23119, 1
  store i32 %23120, ptr @test_count, align 4, !tbaa !5
  %23121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23122 = load i32, ptr %23121, align 4, !tbaa !5
  %23123 = icmp eq i32 %23122, 469762109
  br i1 %23123, label %23177, label %23124

23124:                                            ; preds = %23118
  br label %23125

23125:                                            ; preds = %23124
  br label %23126

23126:                                            ; preds = %23125
  call void @llvm.lifetime.start.p0(i64 4, ptr %563) #11
  %23127 = call ptr @__errno_location() #12
  %23128 = load i32, ptr %23127, align 4, !tbaa !5
  store i32 %23128, ptr %563, align 4, !tbaa !5
  %23129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23130 = call i32 @s2n_print_stacktrace(ptr noundef %23129)
  %23131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23132 = trunc i8 %23131 to i1
  br i1 %23132, label %23133, label %23155

23133:                                            ; preds = %23126
  %23134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23135 = call i32 @fileno(ptr noundef %23134) #11
  %23136 = call i32 @isatty(i32 noundef %23135) #11
  %23137 = icmp ne i32 %23136, 0
  br i1 %23137, label %23138, label %23155

23138:                                            ; preds = %23133
  %23139 = load i32, ptr %563, align 4, !tbaa !5
  %23140 = call ptr @__errno_location() #12
  store i32 %23139, ptr %23140, align 4, !tbaa !5
  %23141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23142 = load i32, ptr @test_count, align 4, !tbaa !5
  %23143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23144 = load i32, ptr %23143, align 4, !tbaa !5
  %23145 = call ptr @s2n_strerror(i32 noundef %23144, ptr noundef @.str.80)
  %23146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23147 = load i32, ptr %23146, align 4, !tbaa !5
  %23148 = call ptr @s2n_strerror_debug(i32 noundef %23147, ptr noundef @.str.80)
  %23149 = call ptr @__errno_location() #12
  %23150 = load i32, ptr %23149, align 4, !tbaa !5
  %23151 = call ptr @strerror(i32 noundef %23150) #11
  %23152 = call ptr @__errno_location() #12
  %23153 = load i32, ptr %23152, align 4, !tbaa !5
  %23154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23141, ptr noundef @.str.78, i32 noundef %23142, ptr noundef @.str.288, ptr noundef @.str.77, i32 noundef 855, ptr noundef %23145, ptr noundef %23148, ptr noundef %23151, i32 noundef %23153) #11
  br label %23172

23155:                                            ; preds = %23133, %23126
  %23156 = load i32, ptr %563, align 4, !tbaa !5
  %23157 = call ptr @__errno_location() #12
  store i32 %23156, ptr %23157, align 4, !tbaa !5
  %23158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23159 = load i32, ptr @test_count, align 4, !tbaa !5
  %23160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23161 = load i32, ptr %23160, align 4, !tbaa !5
  %23162 = call ptr @s2n_strerror(i32 noundef %23161, ptr noundef @.str.80)
  %23163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23164 = load i32, ptr %23163, align 4, !tbaa !5
  %23165 = call ptr @s2n_strerror_debug(i32 noundef %23164, ptr noundef @.str.80)
  %23166 = call ptr @__errno_location() #12
  %23167 = load i32, ptr %23166, align 4, !tbaa !5
  %23168 = call ptr @strerror(i32 noundef %23167) #11
  %23169 = call ptr @__errno_location() #12
  %23170 = load i32, ptr %23169, align 4, !tbaa !5
  %23171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23158, ptr noundef @.str.81, i32 noundef %23159, ptr noundef @.str.288, ptr noundef @.str.77, i32 noundef 855, ptr noundef %23162, ptr noundef %23165, ptr noundef %23168, i32 noundef %23170) #11
  br label %23172

23172:                                            ; preds = %23155, %23138
  call void @llvm.lifetime.end.p0(i64 4, ptr %563) #11
  br label %23173

23173:                                            ; preds = %23172
  br label %23174

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

23175:                                            ; No predecessors!
  br label %23176

23176:                                            ; preds = %23175
  br label %23177

23177:                                            ; preds = %23176, %23118
  br label %23178

23178:                                            ; preds = %23177
  br label %23179

23179:                                            ; preds = %23178
  br label %23180

23180:                                            ; preds = %23179
  %23181 = load i32, ptr @test_count, align 4, !tbaa !5
  %23182 = add nsw i32 %23181, 1
  store i32 %23182, ptr @test_count, align 4, !tbaa !5
  %23183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23184 = load i32, ptr %23183, align 4, !tbaa !5
  %23185 = call ptr @s2n_strerror_debug(i32 noundef %23184, ptr noundef @.str.80)
  %23186 = icmp eq ptr %23185, null
  br i1 %23186, label %23187, label %23240

23187:                                            ; preds = %23180
  br label %23188

23188:                                            ; preds = %23187
  br label %23189

23189:                                            ; preds = %23188
  call void @llvm.lifetime.start.p0(i64 4, ptr %564) #11
  %23190 = call ptr @__errno_location() #12
  %23191 = load i32, ptr %23190, align 4, !tbaa !5
  store i32 %23191, ptr %564, align 4, !tbaa !5
  %23192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23193 = call i32 @s2n_print_stacktrace(ptr noundef %23192)
  %23194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23195 = trunc i8 %23194 to i1
  br i1 %23195, label %23196, label %23218

23196:                                            ; preds = %23189
  %23197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23198 = call i32 @fileno(ptr noundef %23197) #11
  %23199 = call i32 @isatty(i32 noundef %23198) #11
  %23200 = icmp ne i32 %23199, 0
  br i1 %23200, label %23201, label %23218

23201:                                            ; preds = %23196
  %23202 = load i32, ptr %564, align 4, !tbaa !5
  %23203 = call ptr @__errno_location() #12
  store i32 %23202, ptr %23203, align 4, !tbaa !5
  %23204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23205 = load i32, ptr @test_count, align 4, !tbaa !5
  %23206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23207 = load i32, ptr %23206, align 4, !tbaa !5
  %23208 = call ptr @s2n_strerror(i32 noundef %23207, ptr noundef @.str.80)
  %23209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23210 = load i32, ptr %23209, align 4, !tbaa !5
  %23211 = call ptr @s2n_strerror_debug(i32 noundef %23210, ptr noundef @.str.80)
  %23212 = call ptr @__errno_location() #12
  %23213 = load i32, ptr %23212, align 4, !tbaa !5
  %23214 = call ptr @strerror(i32 noundef %23213) #11
  %23215 = call ptr @__errno_location() #12
  %23216 = load i32, ptr %23215, align 4, !tbaa !5
  %23217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23204, ptr noundef @.str.78, i32 noundef %23205, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 855, ptr noundef %23208, ptr noundef %23211, ptr noundef %23214, i32 noundef %23216) #11
  br label %23235

23218:                                            ; preds = %23196, %23189
  %23219 = load i32, ptr %564, align 4, !tbaa !5
  %23220 = call ptr @__errno_location() #12
  store i32 %23219, ptr %23220, align 4, !tbaa !5
  %23221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23222 = load i32, ptr @test_count, align 4, !tbaa !5
  %23223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23224 = load i32, ptr %23223, align 4, !tbaa !5
  %23225 = call ptr @s2n_strerror(i32 noundef %23224, ptr noundef @.str.80)
  %23226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23227 = load i32, ptr %23226, align 4, !tbaa !5
  %23228 = call ptr @s2n_strerror_debug(i32 noundef %23227, ptr noundef @.str.80)
  %23229 = call ptr @__errno_location() #12
  %23230 = load i32, ptr %23229, align 4, !tbaa !5
  %23231 = call ptr @strerror(i32 noundef %23230) #11
  %23232 = call ptr @__errno_location() #12
  %23233 = load i32, ptr %23232, align 4, !tbaa !5
  %23234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23221, ptr noundef @.str.81, i32 noundef %23222, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 855, ptr noundef %23225, ptr noundef %23228, ptr noundef %23231, i32 noundef %23233) #11
  br label %23235

23235:                                            ; preds = %23218, %23201
  call void @llvm.lifetime.end.p0(i64 4, ptr %564) #11
  br label %23236

23236:                                            ; preds = %23235
  br label %23237

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

23238:                                            ; No predecessors!
  br label %23239

23239:                                            ; preds = %23238
  br label %23240

23240:                                            ; preds = %23239, %23180
  br label %23241

23241:                                            ; preds = %23240
  br label %23242

23242:                                            ; preds = %23241
  br label %23243

23243:                                            ; preds = %23242
  br label %23244

23244:                                            ; preds = %23243
  br label %23245

23245:                                            ; preds = %23244
  %23246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23246, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23247 = call ptr @__errno_location() #12
  store i32 0, ptr %23247, align 4, !tbaa !5
  br label %23248

23248:                                            ; preds = %23245
  br label %23249

23249:                                            ; preds = %23248
  br label %23250

23250:                                            ; preds = %23249
  br label %23251

23251:                                            ; preds = %23250
  br label %23252

23252:                                            ; preds = %23251
  %23253 = load i32, ptr @test_count, align 4, !tbaa !5
  %23254 = add nsw i32 %23253, 1
  store i32 %23254, ptr @test_count, align 4, !tbaa !5
  %23255 = load ptr, ptr %556, align 8, !tbaa !9
  %23256 = getelementptr inbounds %struct.s2n_connection, ptr %23255, i32 0, i32 33
  %23257 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %23256, i32 0, i32 1
  %23258 = getelementptr inbounds %struct.s2n_array, ptr %23257, i32 0, i32 1
  %23259 = load i32, ptr %23258, align 8, !tbaa !88
  %23260 = icmp eq i32 %23259, 0
  br i1 %23260, label %23314, label %23261

23261:                                            ; preds = %23252
  br label %23262

23262:                                            ; preds = %23261
  br label %23263

23263:                                            ; preds = %23262
  call void @llvm.lifetime.start.p0(i64 4, ptr %565) #11
  %23264 = call ptr @__errno_location() #12
  %23265 = load i32, ptr %23264, align 4, !tbaa !5
  store i32 %23265, ptr %565, align 4, !tbaa !5
  %23266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23267 = call i32 @s2n_print_stacktrace(ptr noundef %23266)
  %23268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23269 = trunc i8 %23268 to i1
  br i1 %23269, label %23270, label %23292

23270:                                            ; preds = %23263
  %23271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23272 = call i32 @fileno(ptr noundef %23271) #11
  %23273 = call i32 @isatty(i32 noundef %23272) #11
  %23274 = icmp ne i32 %23273, 0
  br i1 %23274, label %23275, label %23292

23275:                                            ; preds = %23270
  %23276 = load i32, ptr %565, align 4, !tbaa !5
  %23277 = call ptr @__errno_location() #12
  store i32 %23276, ptr %23277, align 4, !tbaa !5
  %23278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23279 = load i32, ptr @test_count, align 4, !tbaa !5
  %23280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23281 = load i32, ptr %23280, align 4, !tbaa !5
  %23282 = call ptr @s2n_strerror(i32 noundef %23281, ptr noundef @.str.80)
  %23283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23284 = load i32, ptr %23283, align 4, !tbaa !5
  %23285 = call ptr @s2n_strerror_debug(i32 noundef %23284, ptr noundef @.str.80)
  %23286 = call ptr @__errno_location() #12
  %23287 = load i32, ptr %23286, align 4, !tbaa !5
  %23288 = call ptr @strerror(i32 noundef %23287) #11
  %23289 = call ptr @__errno_location() #12
  %23290 = load i32, ptr %23289, align 4, !tbaa !5
  %23291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23278, ptr noundef @.str.78, i32 noundef %23279, ptr noundef @.str.284, ptr noundef @.str.77, i32 noundef 856, ptr noundef %23282, ptr noundef %23285, ptr noundef %23288, i32 noundef %23290) #11
  br label %23309

23292:                                            ; preds = %23270, %23263
  %23293 = load i32, ptr %565, align 4, !tbaa !5
  %23294 = call ptr @__errno_location() #12
  store i32 %23293, ptr %23294, align 4, !tbaa !5
  %23295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23296 = load i32, ptr @test_count, align 4, !tbaa !5
  %23297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23298 = load i32, ptr %23297, align 4, !tbaa !5
  %23299 = call ptr @s2n_strerror(i32 noundef %23298, ptr noundef @.str.80)
  %23300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23301 = load i32, ptr %23300, align 4, !tbaa !5
  %23302 = call ptr @s2n_strerror_debug(i32 noundef %23301, ptr noundef @.str.80)
  %23303 = call ptr @__errno_location() #12
  %23304 = load i32, ptr %23303, align 4, !tbaa !5
  %23305 = call ptr @strerror(i32 noundef %23304) #11
  %23306 = call ptr @__errno_location() #12
  %23307 = load i32, ptr %23306, align 4, !tbaa !5
  %23308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23295, ptr noundef @.str.81, i32 noundef %23296, ptr noundef @.str.284, ptr noundef @.str.77, i32 noundef 856, ptr noundef %23299, ptr noundef %23302, ptr noundef %23305, i32 noundef %23307) #11
  br label %23309

23309:                                            ; preds = %23292, %23275
  call void @llvm.lifetime.end.p0(i64 4, ptr %565) #11
  br label %23310

23310:                                            ; preds = %23309
  br label %23311

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

23312:                                            ; No predecessors!
  br label %23313

23313:                                            ; preds = %23312
  br label %23314

23314:                                            ; preds = %23313, %23252
  br label %23315

23315:                                            ; preds = %23314
  br label %23316

23316:                                            ; preds = %23315
  br label %23317

23317:                                            ; preds = %23316
  %23318 = load i32, ptr @test_count, align 4, !tbaa !5
  %23319 = add nsw i32 %23318, 1
  store i32 %23319, ptr @test_count, align 4, !tbaa !5
  %23320 = load ptr, ptr %558, align 8, !tbaa !9
  %23321 = getelementptr inbounds [65535 x i8], ptr %488, i64 0, i64 0
  %23322 = load i16, ptr %560, align 2, !tbaa !66
  %23323 = call i32 @s2n_psk_set_identity(ptr noundef %23320, ptr noundef %23321, i16 noundef zeroext %23322)
  %23324 = icmp eq i32 %23323, -1
  br i1 %23324, label %23325, label %23378

23325:                                            ; preds = %23317
  br label %23326

23326:                                            ; preds = %23325
  br label %23327

23327:                                            ; preds = %23326
  call void @llvm.lifetime.start.p0(i64 4, ptr %566) #11
  %23328 = call ptr @__errno_location() #12
  %23329 = load i32, ptr %23328, align 4, !tbaa !5
  store i32 %23329, ptr %566, align 4, !tbaa !5
  %23330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23331 = call i32 @s2n_print_stacktrace(ptr noundef %23330)
  %23332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23333 = trunc i8 %23332 to i1
  br i1 %23333, label %23334, label %23356

23334:                                            ; preds = %23327
  %23335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23336 = call i32 @fileno(ptr noundef %23335) #11
  %23337 = call i32 @isatty(i32 noundef %23336) #11
  %23338 = icmp ne i32 %23337, 0
  br i1 %23338, label %23339, label %23356

23339:                                            ; preds = %23334
  %23340 = load i32, ptr %566, align 4, !tbaa !5
  %23341 = call ptr @__errno_location() #12
  store i32 %23340, ptr %23341, align 4, !tbaa !5
  %23342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23343 = load i32, ptr @test_count, align 4, !tbaa !5
  %23344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23345 = load i32, ptr %23344, align 4, !tbaa !5
  %23346 = call ptr @s2n_strerror(i32 noundef %23345, ptr noundef @.str.80)
  %23347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23348 = load i32, ptr %23347, align 4, !tbaa !5
  %23349 = call ptr @s2n_strerror_debug(i32 noundef %23348, ptr noundef @.str.80)
  %23350 = call ptr @__errno_location() #12
  %23351 = load i32, ptr %23350, align 4, !tbaa !5
  %23352 = call ptr @strerror(i32 noundef %23351) #11
  %23353 = call ptr @__errno_location() #12
  %23354 = load i32, ptr %23353, align 4, !tbaa !5
  %23355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23342, ptr noundef @.str.78, i32 noundef %23343, ptr noundef @.str.289, ptr noundef @.str.77, i32 noundef 859, ptr noundef %23346, ptr noundef %23349, ptr noundef %23352, i32 noundef %23354) #11
  br label %23373

23356:                                            ; preds = %23334, %23327
  %23357 = load i32, ptr %566, align 4, !tbaa !5
  %23358 = call ptr @__errno_location() #12
  store i32 %23357, ptr %23358, align 4, !tbaa !5
  %23359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23360 = load i32, ptr @test_count, align 4, !tbaa !5
  %23361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23362 = load i32, ptr %23361, align 4, !tbaa !5
  %23363 = call ptr @s2n_strerror(i32 noundef %23362, ptr noundef @.str.80)
  %23364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23365 = load i32, ptr %23364, align 4, !tbaa !5
  %23366 = call ptr @s2n_strerror_debug(i32 noundef %23365, ptr noundef @.str.80)
  %23367 = call ptr @__errno_location() #12
  %23368 = load i32, ptr %23367, align 4, !tbaa !5
  %23369 = call ptr @strerror(i32 noundef %23368) #11
  %23370 = call ptr @__errno_location() #12
  %23371 = load i32, ptr %23370, align 4, !tbaa !5
  %23372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23359, ptr noundef @.str.81, i32 noundef %23360, ptr noundef @.str.289, ptr noundef @.str.77, i32 noundef 859, ptr noundef %23363, ptr noundef %23366, ptr noundef %23369, i32 noundef %23371) #11
  br label %23373

23373:                                            ; preds = %23356, %23339
  call void @llvm.lifetime.end.p0(i64 4, ptr %566) #11
  br label %23374

23374:                                            ; preds = %23373
  br label %23375

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

23376:                                            ; No predecessors!
  br label %23377

23377:                                            ; preds = %23376
  br label %23378

23378:                                            ; preds = %23377, %23317
  br label %23379

23379:                                            ; preds = %23378
  br label %23380

23380:                                            ; preds = %23379
  br label %23381

23381:                                            ; preds = %23380
  %23382 = load i32, ptr @test_count, align 4, !tbaa !5
  %23383 = add nsw i32 %23382, 1
  store i32 %23383, ptr @test_count, align 4, !tbaa !5
  %23384 = load ptr, ptr %556, align 8, !tbaa !9
  %23385 = load ptr, ptr %558, align 8, !tbaa !9
  %23386 = call i32 @s2n_connection_append_psk(ptr noundef %23384, ptr noundef %23385)
  %23387 = icmp eq i32 %23386, -1
  br i1 %23387, label %23388, label %23441

23388:                                            ; preds = %23381
  br label %23389

23389:                                            ; preds = %23388
  br label %23390

23390:                                            ; preds = %23389
  call void @llvm.lifetime.start.p0(i64 4, ptr %567) #11
  %23391 = call ptr @__errno_location() #12
  %23392 = load i32, ptr %23391, align 4, !tbaa !5
  store i32 %23392, ptr %567, align 4, !tbaa !5
  %23393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23394 = call i32 @s2n_print_stacktrace(ptr noundef %23393)
  %23395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23396 = trunc i8 %23395 to i1
  br i1 %23396, label %23397, label %23419

23397:                                            ; preds = %23390
  %23398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23399 = call i32 @fileno(ptr noundef %23398) #11
  %23400 = call i32 @isatty(i32 noundef %23399) #11
  %23401 = icmp ne i32 %23400, 0
  br i1 %23401, label %23402, label %23419

23402:                                            ; preds = %23397
  %23403 = load i32, ptr %567, align 4, !tbaa !5
  %23404 = call ptr @__errno_location() #12
  store i32 %23403, ptr %23404, align 4, !tbaa !5
  %23405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23406 = load i32, ptr @test_count, align 4, !tbaa !5
  %23407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23408 = load i32, ptr %23407, align 4, !tbaa !5
  %23409 = call ptr @s2n_strerror(i32 noundef %23408, ptr noundef @.str.80)
  %23410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23411 = load i32, ptr %23410, align 4, !tbaa !5
  %23412 = call ptr @s2n_strerror_debug(i32 noundef %23411, ptr noundef @.str.80)
  %23413 = call ptr @__errno_location() #12
  %23414 = load i32, ptr %23413, align 4, !tbaa !5
  %23415 = call ptr @strerror(i32 noundef %23414) #11
  %23416 = call ptr @__errno_location() #12
  %23417 = load i32, ptr %23416, align 4, !tbaa !5
  %23418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23405, ptr noundef @.str.78, i32 noundef %23406, ptr noundef @.str.286, ptr noundef @.str.77, i32 noundef 860, ptr noundef %23409, ptr noundef %23412, ptr noundef %23415, i32 noundef %23417) #11
  br label %23436

23419:                                            ; preds = %23397, %23390
  %23420 = load i32, ptr %567, align 4, !tbaa !5
  %23421 = call ptr @__errno_location() #12
  store i32 %23420, ptr %23421, align 4, !tbaa !5
  %23422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23423 = load i32, ptr @test_count, align 4, !tbaa !5
  %23424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23425 = load i32, ptr %23424, align 4, !tbaa !5
  %23426 = call ptr @s2n_strerror(i32 noundef %23425, ptr noundef @.str.80)
  %23427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23428 = load i32, ptr %23427, align 4, !tbaa !5
  %23429 = call ptr @s2n_strerror_debug(i32 noundef %23428, ptr noundef @.str.80)
  %23430 = call ptr @__errno_location() #12
  %23431 = load i32, ptr %23430, align 4, !tbaa !5
  %23432 = call ptr @strerror(i32 noundef %23431) #11
  %23433 = call ptr @__errno_location() #12
  %23434 = load i32, ptr %23433, align 4, !tbaa !5
  %23435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23422, ptr noundef @.str.81, i32 noundef %23423, ptr noundef @.str.286, ptr noundef @.str.77, i32 noundef 860, ptr noundef %23426, ptr noundef %23429, ptr noundef %23432, i32 noundef %23434) #11
  br label %23436

23436:                                            ; preds = %23419, %23402
  call void @llvm.lifetime.end.p0(i64 4, ptr %567) #11
  br label %23437

23437:                                            ; preds = %23436
  br label %23438

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

23439:                                            ; No predecessors!
  br label %23440

23440:                                            ; preds = %23439
  br label %23441

23441:                                            ; preds = %23440, %23381
  br label %23442

23442:                                            ; preds = %23441
  br label %23443

23443:                                            ; preds = %23442
  br label %23444

23444:                                            ; preds = %23443
  %23445 = load i32, ptr @test_count, align 4, !tbaa !5
  %23446 = add nsw i32 %23445, 1
  store i32 %23446, ptr @test_count, align 4, !tbaa !5
  %23447 = load ptr, ptr %556, align 8, !tbaa !9
  %23448 = call i32 @s2n_connection_free(ptr noundef %23447)
  %23449 = icmp eq i32 %23448, -1
  br i1 %23449, label %23450, label %23503

23450:                                            ; preds = %23444
  br label %23451

23451:                                            ; preds = %23450
  br label %23452

23452:                                            ; preds = %23451
  call void @llvm.lifetime.start.p0(i64 4, ptr %568) #11
  %23453 = call ptr @__errno_location() #12
  %23454 = load i32, ptr %23453, align 4, !tbaa !5
  store i32 %23454, ptr %568, align 4, !tbaa !5
  %23455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23456 = call i32 @s2n_print_stacktrace(ptr noundef %23455)
  %23457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23458 = trunc i8 %23457 to i1
  br i1 %23458, label %23459, label %23481

23459:                                            ; preds = %23452
  %23460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23461 = call i32 @fileno(ptr noundef %23460) #11
  %23462 = call i32 @isatty(i32 noundef %23461) #11
  %23463 = icmp ne i32 %23462, 0
  br i1 %23463, label %23464, label %23481

23464:                                            ; preds = %23459
  %23465 = load i32, ptr %568, align 4, !tbaa !5
  %23466 = call ptr @__errno_location() #12
  store i32 %23465, ptr %23466, align 4, !tbaa !5
  %23467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23468 = load i32, ptr @test_count, align 4, !tbaa !5
  %23469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23470 = load i32, ptr %23469, align 4, !tbaa !5
  %23471 = call ptr @s2n_strerror(i32 noundef %23470, ptr noundef @.str.80)
  %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_debug(i32 noundef %23473, ptr noundef @.str.80)
  %23475 = call ptr @__errno_location() #12
  %23476 = load i32, ptr %23475, align 4, !tbaa !5
  %23477 = call ptr @strerror(i32 noundef %23476) #11
  %23478 = call ptr @__errno_location() #12
  %23479 = load i32, ptr %23478, align 4, !tbaa !5
  %23480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23467, ptr noundef @.str.78, i32 noundef %23468, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 862, ptr noundef %23471, ptr noundef %23474, ptr noundef %23477, i32 noundef %23479) #11
  br label %23498

23481:                                            ; preds = %23459, %23452
  %23482 = load i32, ptr %568, align 4, !tbaa !5
  %23483 = call ptr @__errno_location() #12
  store i32 %23482, ptr %23483, align 4, !tbaa !5
  %23484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23485 = load i32, ptr @test_count, align 4, !tbaa !5
  %23486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23487 = load i32, ptr %23486, align 4, !tbaa !5
  %23488 = call ptr @s2n_strerror(i32 noundef %23487, ptr noundef @.str.80)
  %23489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23490 = load i32, ptr %23489, align 4, !tbaa !5
  %23491 = call ptr @s2n_strerror_debug(i32 noundef %23490, ptr noundef @.str.80)
  %23492 = call ptr @__errno_location() #12
  %23493 = load i32, ptr %23492, align 4, !tbaa !5
  %23494 = call ptr @strerror(i32 noundef %23493) #11
  %23495 = call ptr @__errno_location() #12
  %23496 = load i32, ptr %23495, align 4, !tbaa !5
  %23497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23484, ptr noundef @.str.81, i32 noundef %23485, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 862, ptr noundef %23488, ptr noundef %23491, ptr noundef %23494, i32 noundef %23496) #11
  br label %23498

23498:                                            ; preds = %23481, %23464
  call void @llvm.lifetime.end.p0(i64 4, ptr %568) #11
  br label %23499

23499:                                            ; preds = %23498
  br label %23500

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

23501:                                            ; No predecessors!
  br label %23502

23502:                                            ; preds = %23501
  br label %23503

23503:                                            ; preds = %23502, %23444
  br label %23504

23504:                                            ; preds = %23503
  br label %23505

23505:                                            ; preds = %23504
  call void @llvm.lifetime.end.p0(i64 2, ptr %560) #11
  %23506 = call i32 @s2n_psk_free(ptr noundef %558)
  call void @llvm.lifetime.end.p0(i64 8, ptr %558) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %556) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %569) #11
  store ptr null, ptr %569, align 8, !tbaa !9
  br label %23507

23507:                                            ; preds = %23505
  %23508 = load i32, ptr @test_count, align 4, !tbaa !5
  %23509 = add nsw i32 %23508, 1
  store i32 %23509, ptr @test_count, align 4, !tbaa !5
  %23510 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %23510, ptr %569, align 8, !tbaa !9
  %23511 = icmp eq ptr %23510, null
  br i1 %23511, label %23512, label %23565

23512:                                            ; preds = %23507
  br label %23513

23513:                                            ; preds = %23512
  br label %23514

23514:                                            ; preds = %23513
  call void @llvm.lifetime.start.p0(i64 4, ptr %570) #11
  %23515 = call ptr @__errno_location() #12
  %23516 = load i32, ptr %23515, align 4, !tbaa !5
  store i32 %23516, ptr %570, align 4, !tbaa !5
  %23517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23518 = call i32 @s2n_print_stacktrace(ptr noundef %23517)
  %23519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23520 = trunc i8 %23519 to i1
  br i1 %23520, label %23521, label %23543

23521:                                            ; preds = %23514
  %23522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23523 = call i32 @fileno(ptr noundef %23522) #11
  %23524 = call i32 @isatty(i32 noundef %23523) #11
  %23525 = icmp ne i32 %23524, 0
  br i1 %23525, label %23526, label %23543

23526:                                            ; preds = %23521
  %23527 = load i32, ptr %570, align 4, !tbaa !5
  %23528 = call ptr @__errno_location() #12
  store i32 %23527, ptr %23528, align 4, !tbaa !5
  %23529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23530 = load i32, ptr @test_count, align 4, !tbaa !5
  %23531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23532 = load i32, ptr %23531, align 4, !tbaa !5
  %23533 = call ptr @s2n_strerror(i32 noundef %23532, ptr noundef @.str.80)
  %23534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23535 = load i32, ptr %23534, align 4, !tbaa !5
  %23536 = call ptr @s2n_strerror_debug(i32 noundef %23535, ptr noundef @.str.80)
  %23537 = call ptr @__errno_location() #12
  %23538 = load i32, ptr %23537, align 4, !tbaa !5
  %23539 = call ptr @strerror(i32 noundef %23538) #11
  %23540 = call ptr @__errno_location() #12
  %23541 = load i32, ptr %23540, align 4, !tbaa !5
  %23542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23529, ptr noundef @.str.78, i32 noundef %23530, ptr noundef @.str.290, ptr noundef @.str.77, i32 noundef 868, ptr noundef %23533, ptr noundef %23536, ptr noundef %23539, i32 noundef %23541) #11
  br label %23560

23543:                                            ; preds = %23521, %23514
  %23544 = load i32, ptr %570, align 4, !tbaa !5
  %23545 = call ptr @__errno_location() #12
  store i32 %23544, ptr %23545, align 4, !tbaa !5
  %23546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23547 = load i32, ptr @test_count, align 4, !tbaa !5
  %23548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23549 = load i32, ptr %23548, align 4, !tbaa !5
  %23550 = call ptr @s2n_strerror(i32 noundef %23549, ptr noundef @.str.80)
  %23551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23552 = load i32, ptr %23551, align 4, !tbaa !5
  %23553 = call ptr @s2n_strerror_debug(i32 noundef %23552, ptr noundef @.str.80)
  %23554 = call ptr @__errno_location() #12
  %23555 = load i32, ptr %23554, align 4, !tbaa !5
  %23556 = call ptr @strerror(i32 noundef %23555) #11
  %23557 = call ptr @__errno_location() #12
  %23558 = load i32, ptr %23557, align 4, !tbaa !5
  %23559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23546, ptr noundef @.str.81, i32 noundef %23547, ptr noundef @.str.290, ptr noundef @.str.77, i32 noundef 868, ptr noundef %23550, ptr noundef %23553, ptr noundef %23556, i32 noundef %23558) #11
  br label %23560

23560:                                            ; preds = %23543, %23526
  call void @llvm.lifetime.end.p0(i64 4, ptr %570) #11
  br label %23561

23561:                                            ; preds = %23560
  br label %23562

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

23563:                                            ; No predecessors!
  br label %23564

23564:                                            ; preds = %23563
  br label %23565

23565:                                            ; preds = %23564, %23507
  br label %23566

23566:                                            ; preds = %23565
  br label %23567

23567:                                            ; preds = %23566
  call void @llvm.lifetime.start.p0(i64 8, ptr %571) #11
  %23568 = call ptr @s2n_external_psk_new()
  store ptr %23568, ptr %571, align 8, !tbaa !9
  br label %23569

23569:                                            ; preds = %23567
  %23570 = load i32, ptr @test_count, align 4, !tbaa !5
  %23571 = add nsw i32 %23570, 1
  store i32 %23571, ptr @test_count, align 4, !tbaa !5
  %23572 = load ptr, ptr %571, align 8, !tbaa !9
  %23573 = getelementptr inbounds [7 x i8], ptr %486, i64 0, i64 0
  %23574 = call i32 @s2n_psk_set_secret(ptr noundef %23572, ptr noundef %23573, i16 noundef zeroext 7)
  %23575 = icmp eq i32 %23574, -1
  br i1 %23575, label %23576, label %23629

23576:                                            ; preds = %23569
  br label %23577

23577:                                            ; preds = %23576
  br label %23578

23578:                                            ; preds = %23577
  call void @llvm.lifetime.start.p0(i64 4, ptr %572) #11
  %23579 = call ptr @__errno_location() #12
  %23580 = load i32, ptr %23579, align 4, !tbaa !5
  store i32 %23580, ptr %572, align 4, !tbaa !5
  %23581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23582 = call i32 @s2n_print_stacktrace(ptr noundef %23581)
  %23583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23584 = trunc i8 %23583 to i1
  br i1 %23584, label %23585, label %23607

23585:                                            ; preds = %23578
  %23586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23587 = call i32 @fileno(ptr noundef %23586) #11
  %23588 = call i32 @isatty(i32 noundef %23587) #11
  %23589 = icmp ne i32 %23588, 0
  br i1 %23589, label %23590, label %23607

23590:                                            ; preds = %23585
  %23591 = load i32, ptr %572, align 4, !tbaa !5
  %23592 = call ptr @__errno_location() #12
  store i32 %23591, ptr %23592, align 4, !tbaa !5
  %23593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23594 = load i32, ptr @test_count, align 4, !tbaa !5
  %23595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23596 = load i32, ptr %23595, align 4, !tbaa !5
  %23597 = call ptr @s2n_strerror(i32 noundef %23596, ptr noundef @.str.80)
  %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_debug(i32 noundef %23599, ptr noundef @.str.80)
  %23601 = call ptr @__errno_location() #12
  %23602 = load i32, ptr %23601, align 4, !tbaa !5
  %23603 = call ptr @strerror(i32 noundef %23602) #11
  %23604 = call ptr @__errno_location() #12
  %23605 = load i32, ptr %23604, align 4, !tbaa !5
  %23606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23593, ptr noundef @.str.78, i32 noundef %23594, ptr noundef @.str.282, ptr noundef @.str.77, i32 noundef 871, ptr noundef %23597, ptr noundef %23600, ptr noundef %23603, i32 noundef %23605) #11
  br label %23624

23607:                                            ; preds = %23585, %23578
  %23608 = load i32, ptr %572, align 4, !tbaa !5
  %23609 = call ptr @__errno_location() #12
  store i32 %23608, ptr %23609, align 4, !tbaa !5
  %23610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23611 = load i32, ptr @test_count, align 4, !tbaa !5
  %23612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23613 = load i32, ptr %23612, align 4, !tbaa !5
  %23614 = call ptr @s2n_strerror(i32 noundef %23613, ptr noundef @.str.80)
  %23615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23616 = load i32, ptr %23615, align 4, !tbaa !5
  %23617 = call ptr @s2n_strerror_debug(i32 noundef %23616, ptr noundef @.str.80)
  %23618 = call ptr @__errno_location() #12
  %23619 = load i32, ptr %23618, align 4, !tbaa !5
  %23620 = call ptr @strerror(i32 noundef %23619) #11
  %23621 = call ptr @__errno_location() #12
  %23622 = load i32, ptr %23621, align 4, !tbaa !5
  %23623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23610, ptr noundef @.str.81, i32 noundef %23611, ptr noundef @.str.282, ptr noundef @.str.77, i32 noundef 871, ptr noundef %23614, ptr noundef %23617, ptr noundef %23620, i32 noundef %23622) #11
  br label %23624

23624:                                            ; preds = %23607, %23590
  call void @llvm.lifetime.end.p0(i64 4, ptr %572) #11
  br label %23625

23625:                                            ; preds = %23624
  br label %23626

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

23627:                                            ; No predecessors!
  br label %23628

23628:                                            ; preds = %23627
  br label %23629

23629:                                            ; preds = %23628, %23569
  br label %23630

23630:                                            ; preds = %23629
  br label %23631

23631:                                            ; preds = %23630
  br label %23632

23632:                                            ; preds = %23631
  %23633 = load i32, ptr @test_count, align 4, !tbaa !5
  %23634 = add nsw i32 %23633, 1
  store i32 %23634, ptr @test_count, align 4, !tbaa !5
  br label %23635

23635:                                            ; preds = %23632
  br label %23636

23636:                                            ; preds = %23635
  br label %23637

23637:                                            ; preds = %23636
  %23638 = load i32, ptr @test_count, align 4, !tbaa !5
  %23639 = add nsw i32 %23638, 1
  store i32 %23639, ptr @test_count, align 4, !tbaa !5
  %23640 = load ptr, ptr %571, align 8, !tbaa !9
  %23641 = getelementptr inbounds [65535 x i8], ptr %488, i64 0, i64 0
  %23642 = call i32 @s2n_psk_set_identity(ptr noundef %23640, ptr noundef %23641, i16 noundef zeroext -1)
  %23643 = icmp eq i32 %23642, -1
  br i1 %23643, label %23644, label %23697

23644:                                            ; preds = %23637
  br label %23645

23645:                                            ; preds = %23644
  br label %23646

23646:                                            ; preds = %23645
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #11
  %23647 = call ptr @__errno_location() #12
  %23648 = load i32, ptr %23647, align 4, !tbaa !5
  store i32 %23648, ptr %573, align 4, !tbaa !5
  %23649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23650 = call i32 @s2n_print_stacktrace(ptr noundef %23649)
  %23651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23652 = trunc i8 %23651 to i1
  br i1 %23652, label %23653, label %23675

23653:                                            ; preds = %23646
  %23654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23655 = call i32 @fileno(ptr noundef %23654) #11
  %23656 = call i32 @isatty(i32 noundef %23655) #11
  %23657 = icmp ne i32 %23656, 0
  br i1 %23657, label %23658, label %23675

23658:                                            ; preds = %23653
  %23659 = load i32, ptr %573, align 4, !tbaa !5
  %23660 = call ptr @__errno_location() #12
  store i32 %23659, ptr %23660, align 4, !tbaa !5
  %23661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23662 = load i32, ptr @test_count, align 4, !tbaa !5
  %23663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23664 = load i32, ptr %23663, align 4, !tbaa !5
  %23665 = call ptr @s2n_strerror(i32 noundef %23664, ptr noundef @.str.80)
  %23666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23667 = load i32, ptr %23666, align 4, !tbaa !5
  %23668 = call ptr @s2n_strerror_debug(i32 noundef %23667, ptr noundef @.str.80)
  %23669 = call ptr @__errno_location() #12
  %23670 = load i32, ptr %23669, align 4, !tbaa !5
  %23671 = call ptr @strerror(i32 noundef %23670) #11
  %23672 = call ptr @__errno_location() #12
  %23673 = load i32, ptr %23672, align 4, !tbaa !5
  %23674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23661, ptr noundef @.str.78, i32 noundef %23662, ptr noundef @.str.291, ptr noundef @.str.77, i32 noundef 874, ptr noundef %23665, ptr noundef %23668, ptr noundef %23671, i32 noundef %23673) #11
  br label %23692

23675:                                            ; preds = %23653, %23646
  %23676 = load i32, ptr %573, align 4, !tbaa !5
  %23677 = call ptr @__errno_location() #12
  store i32 %23676, ptr %23677, align 4, !tbaa !5
  %23678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23679 = load i32, ptr @test_count, align 4, !tbaa !5
  %23680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23681 = load i32, ptr %23680, align 4, !tbaa !5
  %23682 = call ptr @s2n_strerror(i32 noundef %23681, ptr noundef @.str.80)
  %23683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23684 = load i32, ptr %23683, align 4, !tbaa !5
  %23685 = call ptr @s2n_strerror_debug(i32 noundef %23684, ptr noundef @.str.80)
  %23686 = call ptr @__errno_location() #12
  %23687 = load i32, ptr %23686, align 4, !tbaa !5
  %23688 = call ptr @strerror(i32 noundef %23687) #11
  %23689 = call ptr @__errno_location() #12
  %23690 = load i32, ptr %23689, align 4, !tbaa !5
  %23691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23678, ptr noundef @.str.81, i32 noundef %23679, ptr noundef @.str.291, ptr noundef @.str.77, i32 noundef 874, ptr noundef %23682, ptr noundef %23685, ptr noundef %23688, i32 noundef %23690) #11
  br label %23692

23692:                                            ; preds = %23675, %23658
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #11
  br label %23693

23693:                                            ; preds = %23692
  br label %23694

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

23695:                                            ; No predecessors!
  br label %23696

23696:                                            ; preds = %23695
  br label %23697

23697:                                            ; preds = %23696, %23637
  br label %23698

23698:                                            ; preds = %23697
  br label %23699

23699:                                            ; preds = %23698
  br label %23700

23700:                                            ; preds = %23699
  %23701 = load i32, ptr @test_count, align 4, !tbaa !5
  %23702 = add nsw i32 %23701, 1
  store i32 %23702, ptr @test_count, align 4, !tbaa !5
  %23703 = load ptr, ptr %569, align 8, !tbaa !9
  %23704 = load ptr, ptr %571, align 8, !tbaa !9
  %23705 = call i32 @s2n_connection_append_psk(ptr noundef %23703, ptr noundef %23704)
  %23706 = icmp eq i32 %23705, -1
  br i1 %23706, label %23707, label %23760

23707:                                            ; preds = %23700
  br label %23708

23708:                                            ; preds = %23707
  br label %23709

23709:                                            ; preds = %23708
  call void @llvm.lifetime.start.p0(i64 4, ptr %574) #11
  %23710 = call ptr @__errno_location() #12
  %23711 = load i32, ptr %23710, align 4, !tbaa !5
  store i32 %23711, ptr %574, align 4, !tbaa !5
  %23712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23713 = call i32 @s2n_print_stacktrace(ptr noundef %23712)
  %23714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23715 = trunc i8 %23714 to i1
  br i1 %23715, label %23716, label %23738

23716:                                            ; preds = %23709
  %23717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23718 = call i32 @fileno(ptr noundef %23717) #11
  %23719 = call i32 @isatty(i32 noundef %23718) #11
  %23720 = icmp ne i32 %23719, 0
  br i1 %23720, label %23721, label %23738

23721:                                            ; preds = %23716
  %23722 = load i32, ptr %574, align 4, !tbaa !5
  %23723 = call ptr @__errno_location() #12
  store i32 %23722, ptr %23723, align 4, !tbaa !5
  %23724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23725 = load i32, ptr @test_count, align 4, !tbaa !5
  %23726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23727 = load i32, ptr %23726, align 4, !tbaa !5
  %23728 = call ptr @s2n_strerror(i32 noundef %23727, ptr noundef @.str.80)
  %23729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23730 = load i32, ptr %23729, align 4, !tbaa !5
  %23731 = call ptr @s2n_strerror_debug(i32 noundef %23730, ptr noundef @.str.80)
  %23732 = call ptr @__errno_location() #12
  %23733 = load i32, ptr %23732, align 4, !tbaa !5
  %23734 = call ptr @strerror(i32 noundef %23733) #11
  %23735 = call ptr @__errno_location() #12
  %23736 = load i32, ptr %23735, align 4, !tbaa !5
  %23737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23724, ptr noundef @.str.78, i32 noundef %23725, ptr noundef @.str.286, ptr noundef @.str.77, i32 noundef 876, ptr noundef %23728, ptr noundef %23731, ptr noundef %23734, i32 noundef %23736) #11
  br label %23755

23738:                                            ; preds = %23716, %23709
  %23739 = load i32, ptr %574, align 4, !tbaa !5
  %23740 = call ptr @__errno_location() #12
  store i32 %23739, ptr %23740, align 4, !tbaa !5
  %23741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23742 = load i32, ptr @test_count, align 4, !tbaa !5
  %23743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23744 = load i32, ptr %23743, align 4, !tbaa !5
  %23745 = call ptr @s2n_strerror(i32 noundef %23744, ptr noundef @.str.80)
  %23746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23747 = load i32, ptr %23746, align 4, !tbaa !5
  %23748 = call ptr @s2n_strerror_debug(i32 noundef %23747, ptr noundef @.str.80)
  %23749 = call ptr @__errno_location() #12
  %23750 = load i32, ptr %23749, align 4, !tbaa !5
  %23751 = call ptr @strerror(i32 noundef %23750) #11
  %23752 = call ptr @__errno_location() #12
  %23753 = load i32, ptr %23752, align 4, !tbaa !5
  %23754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23741, ptr noundef @.str.81, i32 noundef %23742, ptr noundef @.str.286, ptr noundef @.str.77, i32 noundef 876, ptr noundef %23745, ptr noundef %23748, ptr noundef %23751, i32 noundef %23753) #11
  br label %23755

23755:                                            ; preds = %23738, %23721
  call void @llvm.lifetime.end.p0(i64 4, ptr %574) #11
  br label %23756

23756:                                            ; preds = %23755
  br label %23757

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

23758:                                            ; No predecessors!
  br label %23759

23759:                                            ; preds = %23758
  br label %23760

23760:                                            ; preds = %23759, %23700
  br label %23761

23761:                                            ; preds = %23760
  br label %23762

23762:                                            ; preds = %23761
  br label %23763

23763:                                            ; preds = %23762
  %23764 = load i32, ptr @test_count, align 4, !tbaa !5
  %23765 = add nsw i32 %23764, 1
  store i32 %23765, ptr @test_count, align 4, !tbaa !5
  %23766 = load ptr, ptr %569, align 8, !tbaa !9
  %23767 = getelementptr inbounds %struct.s2n_connection, ptr %23766, i32 0, i32 33
  %23768 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %23767, i32 0, i32 1
  %23769 = getelementptr inbounds %struct.s2n_array, ptr %23768, i32 0, i32 1
  %23770 = load i32, ptr %23769, align 8, !tbaa !88
  %23771 = icmp eq i32 %23770, 1
  br i1 %23771, label %23825, label %23772

23772:                                            ; preds = %23763
  br label %23773

23773:                                            ; preds = %23772
  br label %23774

23774:                                            ; preds = %23773
  call void @llvm.lifetime.start.p0(i64 4, ptr %575) #11
  %23775 = call ptr @__errno_location() #12
  %23776 = load i32, ptr %23775, align 4, !tbaa !5
  store i32 %23776, ptr %575, align 4, !tbaa !5
  %23777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23778 = call i32 @s2n_print_stacktrace(ptr noundef %23777)
  %23779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23780 = trunc i8 %23779 to i1
  br i1 %23780, label %23781, label %23803

23781:                                            ; preds = %23774
  %23782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23783 = call i32 @fileno(ptr noundef %23782) #11
  %23784 = call i32 @isatty(i32 noundef %23783) #11
  %23785 = icmp ne i32 %23784, 0
  br i1 %23785, label %23786, label %23803

23786:                                            ; preds = %23781
  %23787 = load i32, ptr %575, 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.80)
  %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.80)
  %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.78, i32 noundef %23790, ptr noundef @.str.292, ptr noundef @.str.77, i32 noundef 877, ptr noundef %23793, ptr noundef %23796, ptr noundef %23799, i32 noundef %23801) #11
  br label %23820

23803:                                            ; preds = %23781, %23774
  %23804 = load i32, ptr %575, align 4, !tbaa !5
  %23805 = call ptr @__errno_location() #12
  store i32 %23804, ptr %23805, align 4, !tbaa !5
  %23806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23807 = load i32, ptr @test_count, align 4, !tbaa !5
  %23808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23809 = load i32, ptr %23808, align 4, !tbaa !5
  %23810 = call ptr @s2n_strerror(i32 noundef %23809, ptr noundef @.str.80)
  %23811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23812 = load i32, ptr %23811, align 4, !tbaa !5
  %23813 = call ptr @s2n_strerror_debug(i32 noundef %23812, ptr noundef @.str.80)
  %23814 = call ptr @__errno_location() #12
  %23815 = load i32, ptr %23814, align 4, !tbaa !5
  %23816 = call ptr @strerror(i32 noundef %23815) #11
  %23817 = call ptr @__errno_location() #12
  %23818 = load i32, ptr %23817, align 4, !tbaa !5
  %23819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23806, ptr noundef @.str.81, i32 noundef %23807, ptr noundef @.str.292, ptr noundef @.str.77, i32 noundef 877, ptr noundef %23810, ptr noundef %23813, ptr noundef %23816, i32 noundef %23818) #11
  br label %23820

23820:                                            ; preds = %23803, %23786
  call void @llvm.lifetime.end.p0(i64 4, ptr %575) #11
  br label %23821

23821:                                            ; preds = %23820
  br label %23822

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

23823:                                            ; No predecessors!
  br label %23824

23824:                                            ; preds = %23823
  br label %23825

23825:                                            ; preds = %23824, %23763
  br label %23826

23826:                                            ; preds = %23825
  br label %23827

23827:                                            ; preds = %23826
  br label %23828

23828:                                            ; preds = %23827
  %23829 = load i32, ptr @test_count, align 4, !tbaa !5
  %23830 = add nsw i32 %23829, 1
  store i32 %23830, ptr @test_count, align 4, !tbaa !5
  %23831 = load ptr, ptr %569, align 8, !tbaa !9
  %23832 = call i32 @s2n_connection_free(ptr noundef %23831)
  %23833 = icmp eq i32 %23832, -1
  br i1 %23833, label %23834, label %23887

23834:                                            ; preds = %23828
  br label %23835

23835:                                            ; preds = %23834
  br label %23836

23836:                                            ; preds = %23835
  call void @llvm.lifetime.start.p0(i64 4, ptr %576) #11
  %23837 = call ptr @__errno_location() #12
  %23838 = load i32, ptr %23837, align 4, !tbaa !5
  store i32 %23838, ptr %576, align 4, !tbaa !5
  %23839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23840 = call i32 @s2n_print_stacktrace(ptr noundef %23839)
  %23841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23842 = trunc i8 %23841 to i1
  br i1 %23842, label %23843, label %23865

23843:                                            ; preds = %23836
  %23844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23845 = call i32 @fileno(ptr noundef %23844) #11
  %23846 = call i32 @isatty(i32 noundef %23845) #11
  %23847 = icmp ne i32 %23846, 0
  br i1 %23847, label %23848, label %23865

23848:                                            ; preds = %23843
  %23849 = load i32, ptr %576, align 4, !tbaa !5
  %23850 = call ptr @__errno_location() #12
  store i32 %23849, ptr %23850, align 4, !tbaa !5
  %23851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23852 = load i32, ptr @test_count, align 4, !tbaa !5
  %23853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23854 = load i32, ptr %23853, align 4, !tbaa !5
  %23855 = call ptr @s2n_strerror(i32 noundef %23854, ptr noundef @.str.80)
  %23856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23857 = load i32, ptr %23856, align 4, !tbaa !5
  %23858 = call ptr @s2n_strerror_debug(i32 noundef %23857, ptr noundef @.str.80)
  %23859 = call ptr @__errno_location() #12
  %23860 = load i32, ptr %23859, align 4, !tbaa !5
  %23861 = call ptr @strerror(i32 noundef %23860) #11
  %23862 = call ptr @__errno_location() #12
  %23863 = load i32, ptr %23862, align 4, !tbaa !5
  %23864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23851, ptr noundef @.str.78, i32 noundef %23852, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 879, ptr noundef %23855, ptr noundef %23858, ptr noundef %23861, i32 noundef %23863) #11
  br label %23882

23865:                                            ; preds = %23843, %23836
  %23866 = load i32, ptr %576, align 4, !tbaa !5
  %23867 = call ptr @__errno_location() #12
  store i32 %23866, ptr %23867, align 4, !tbaa !5
  %23868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23869 = load i32, ptr @test_count, align 4, !tbaa !5
  %23870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23871 = load i32, ptr %23870, align 4, !tbaa !5
  %23872 = call ptr @s2n_strerror(i32 noundef %23871, ptr noundef @.str.80)
  %23873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23874 = load i32, ptr %23873, align 4, !tbaa !5
  %23875 = call ptr @s2n_strerror_debug(i32 noundef %23874, ptr noundef @.str.80)
  %23876 = call ptr @__errno_location() #12
  %23877 = load i32, ptr %23876, align 4, !tbaa !5
  %23878 = call ptr @strerror(i32 noundef %23877) #11
  %23879 = call ptr @__errno_location() #12
  %23880 = load i32, ptr %23879, align 4, !tbaa !5
  %23881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23868, ptr noundef @.str.81, i32 noundef %23869, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 879, ptr noundef %23872, ptr noundef %23875, ptr noundef %23878, i32 noundef %23880) #11
  br label %23882

23882:                                            ; preds = %23865, %23848
  call void @llvm.lifetime.end.p0(i64 4, ptr %576) #11
  br label %23883

23883:                                            ; preds = %23882
  br label %23884

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

23885:                                            ; No predecessors!
  br label %23886

23886:                                            ; preds = %23885
  br label %23887

23887:                                            ; preds = %23886, %23828
  br label %23888

23888:                                            ; preds = %23887
  br label %23889

23889:                                            ; preds = %23888
  %23890 = call i32 @s2n_psk_free(ptr noundef %571)
  call void @llvm.lifetime.end.p0(i64 8, ptr %571) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %569) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %577) #11
  store ptr null, ptr %577, align 8, !tbaa !9
  br label %23891

23891:                                            ; preds = %23889
  %23892 = load i32, ptr @test_count, align 4, !tbaa !5
  %23893 = add nsw i32 %23892, 1
  store i32 %23893, ptr @test_count, align 4, !tbaa !5
  %23894 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %23894, ptr %577, align 8, !tbaa !9
  %23895 = icmp eq ptr %23894, null
  br i1 %23895, label %23896, label %23949

23896:                                            ; preds = %23891
  br label %23897

23897:                                            ; preds = %23896
  br label %23898

23898:                                            ; preds = %23897
  call void @llvm.lifetime.start.p0(i64 4, ptr %578) #11
  %23899 = call ptr @__errno_location() #12
  %23900 = load i32, ptr %23899, align 4, !tbaa !5
  store i32 %23900, ptr %578, align 4, !tbaa !5
  %23901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23902 = call i32 @s2n_print_stacktrace(ptr noundef %23901)
  %23903 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23904 = trunc i8 %23903 to i1
  br i1 %23904, label %23905, label %23927

23905:                                            ; preds = %23898
  %23906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23907 = call i32 @fileno(ptr noundef %23906) #11
  %23908 = call i32 @isatty(i32 noundef %23907) #11
  %23909 = icmp ne i32 %23908, 0
  br i1 %23909, label %23910, label %23927

23910:                                            ; preds = %23905
  %23911 = load i32, ptr %578, align 4, !tbaa !5
  %23912 = call ptr @__errno_location() #12
  store i32 %23911, ptr %23912, align 4, !tbaa !5
  %23913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23914 = load i32, ptr @test_count, align 4, !tbaa !5
  %23915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23916 = load i32, ptr %23915, align 4, !tbaa !5
  %23917 = call ptr @s2n_strerror(i32 noundef %23916, ptr noundef @.str.80)
  %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_debug(i32 noundef %23919, ptr noundef @.str.80)
  %23921 = call ptr @__errno_location() #12
  %23922 = load i32, ptr %23921, align 4, !tbaa !5
  %23923 = call ptr @strerror(i32 noundef %23922) #11
  %23924 = call ptr @__errno_location() #12
  %23925 = load i32, ptr %23924, align 4, !tbaa !5
  %23926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23913, ptr noundef @.str.78, i32 noundef %23914, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 885, ptr noundef %23917, ptr noundef %23920, ptr noundef %23923, i32 noundef %23925) #11
  br label %23944

23927:                                            ; preds = %23905, %23898
  %23928 = load i32, ptr %578, align 4, !tbaa !5
  %23929 = call ptr @__errno_location() #12
  store i32 %23928, ptr %23929, align 4, !tbaa !5
  %23930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23931 = load i32, ptr @test_count, align 4, !tbaa !5
  %23932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23933 = load i32, ptr %23932, align 4, !tbaa !5
  %23934 = call ptr @s2n_strerror(i32 noundef %23933, ptr noundef @.str.80)
  %23935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23936 = load i32, ptr %23935, align 4, !tbaa !5
  %23937 = call ptr @s2n_strerror_debug(i32 noundef %23936, ptr noundef @.str.80)
  %23938 = call ptr @__errno_location() #12
  %23939 = load i32, ptr %23938, align 4, !tbaa !5
  %23940 = call ptr @strerror(i32 noundef %23939) #11
  %23941 = call ptr @__errno_location() #12
  %23942 = load i32, ptr %23941, align 4, !tbaa !5
  %23943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23930, ptr noundef @.str.81, i32 noundef %23931, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 885, ptr noundef %23934, ptr noundef %23937, ptr noundef %23940, i32 noundef %23942) #11
  br label %23944

23944:                                            ; preds = %23927, %23910
  call void @llvm.lifetime.end.p0(i64 4, ptr %578) #11
  br label %23945

23945:                                            ; preds = %23944
  br label %23946

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

23947:                                            ; No predecessors!
  br label %23948

23948:                                            ; preds = %23947
  br label %23949

23949:                                            ; preds = %23948, %23891
  br label %23950

23950:                                            ; preds = %23949
  br label %23951

23951:                                            ; preds = %23950
  call void @llvm.lifetime.start.p0(i64 4, ptr %579) #11
  store i32 0, ptr %579, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %580) #11
  store ptr null, ptr %580, align 8, !tbaa !9
  br label %23952

23952:                                            ; preds = %23951
  %23953 = load i32, ptr @test_count, align 4, !tbaa !5
  %23954 = add nsw i32 %23953, 1
  store i32 %23954, ptr @test_count, align 4, !tbaa !5
  %23955 = load ptr, ptr %577, align 8, !tbaa !9
  %23956 = call i32 @s2n_connection_set_psk_mode(ptr noundef %23955, i32 noundef 1)
  %23957 = icmp eq i32 %23956, -1
  br i1 %23957, label %23958, label %24011

23958:                                            ; preds = %23952
  br label %23959

23959:                                            ; preds = %23958
  br label %23960

23960:                                            ; preds = %23959
  call void @llvm.lifetime.start.p0(i64 4, ptr %581) #11
  %23961 = call ptr @__errno_location() #12
  %23962 = load i32, ptr %23961, align 4, !tbaa !5
  store i32 %23962, ptr %581, align 4, !tbaa !5
  %23963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23964 = call i32 @s2n_print_stacktrace(ptr noundef %23963)
  %23965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23966 = trunc i8 %23965 to i1
  br i1 %23966, label %23967, label %23989

23967:                                            ; preds = %23960
  %23968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23969 = call i32 @fileno(ptr noundef %23968) #11
  %23970 = call i32 @isatty(i32 noundef %23969) #11
  %23971 = icmp ne i32 %23970, 0
  br i1 %23971, label %23972, label %23989

23972:                                            ; preds = %23967
  %23973 = load i32, ptr %581, align 4, !tbaa !5
  %23974 = call ptr @__errno_location() #12
  store i32 %23973, ptr %23974, align 4, !tbaa !5
  %23975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23976 = load i32, ptr @test_count, align 4, !tbaa !5
  %23977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23978 = load i32, ptr %23977, align 4, !tbaa !5
  %23979 = call ptr @s2n_strerror(i32 noundef %23978, ptr noundef @.str.80)
  %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_debug(i32 noundef %23981, ptr noundef @.str.80)
  %23983 = call ptr @__errno_location() #12
  %23984 = load i32, ptr %23983, align 4, !tbaa !5
  %23985 = call ptr @strerror(i32 noundef %23984) #11
  %23986 = call ptr @__errno_location() #12
  %23987 = load i32, ptr %23986, align 4, !tbaa !5
  %23988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23975, ptr noundef @.str.78, i32 noundef %23976, ptr noundef @.str.293, ptr noundef @.str.77, i32 noundef 889, ptr noundef %23979, ptr noundef %23982, ptr noundef %23985, i32 noundef %23987) #11
  br label %24006

23989:                                            ; preds = %23967, %23960
  %23990 = load i32, ptr %581, align 4, !tbaa !5
  %23991 = call ptr @__errno_location() #12
  store i32 %23990, ptr %23991, align 4, !tbaa !5
  %23992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23993 = load i32, ptr @test_count, align 4, !tbaa !5
  %23994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23995 = load i32, ptr %23994, align 4, !tbaa !5
  %23996 = call ptr @s2n_strerror(i32 noundef %23995, ptr noundef @.str.80)
  %23997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23998 = load i32, ptr %23997, align 4, !tbaa !5
  %23999 = call ptr @s2n_strerror_debug(i32 noundef %23998, ptr noundef @.str.80)
  %24000 = call ptr @__errno_location() #12
  %24001 = load i32, ptr %24000, align 4, !tbaa !5
  %24002 = call ptr @strerror(i32 noundef %24001) #11
  %24003 = call ptr @__errno_location() #12
  %24004 = load i32, ptr %24003, align 4, !tbaa !5
  %24005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23992, ptr noundef @.str.81, i32 noundef %23993, ptr noundef @.str.293, ptr noundef @.str.77, i32 noundef 889, ptr noundef %23996, ptr noundef %23999, ptr noundef %24002, i32 noundef %24004) #11
  br label %24006

24006:                                            ; preds = %23989, %23972
  call void @llvm.lifetime.end.p0(i64 4, ptr %581) #11
  br label %24007

24007:                                            ; preds = %24006
  br label %24008

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

24009:                                            ; No predecessors!
  br label %24010

24010:                                            ; preds = %24009
  br label %24011

24011:                                            ; preds = %24010, %23952
  br label %24012

24012:                                            ; preds = %24011
  br label %24013

24013:                                            ; preds = %24012
  br label %24014

24014:                                            ; preds = %24339, %24013
  %24015 = load i32, ptr %579, align 4, !tbaa !5
  %24016 = icmp ult i32 %24015, 65535
  br i1 %24016, label %24017, label %24340

24017:                                            ; preds = %24014
  br label %24018

24018:                                            ; preds = %24017
  %24019 = load i32, ptr @test_count, align 4, !tbaa !5
  %24020 = add nsw i32 %24019, 1
  store i32 %24020, ptr @test_count, align 4, !tbaa !5
  %24021 = load ptr, ptr %577, align 8, !tbaa !9
  %24022 = getelementptr inbounds %struct.s2n_connection, ptr %24021, i32 0, i32 33
  %24023 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %24022, i32 0, i32 1
  %24024 = call i32 @s2n_array_pushback(ptr noundef %24023, ptr noundef %580)
  %24025 = getelementptr inbounds %struct.s2n_result, ptr %582, i32 0, i32 0
  store i32 %24024, ptr %24025, align 4
  %24026 = getelementptr inbounds %struct.s2n_result, ptr %582, i32 0, i32 0
  %24027 = load i32, ptr %24026, align 4
  %24028 = call zeroext i1 @s2n_result_is_ok(i32 %24027)
  br i1 %24028, label %24082, label %24029

24029:                                            ; preds = %24018
  br label %24030

24030:                                            ; preds = %24029
  br label %24031

24031:                                            ; preds = %24030
  call void @llvm.lifetime.start.p0(i64 4, ptr %583) #11
  %24032 = call ptr @__errno_location() #12
  %24033 = load i32, ptr %24032, align 4, !tbaa !5
  store i32 %24033, ptr %583, align 4, !tbaa !5
  %24034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24035 = call i32 @s2n_print_stacktrace(ptr noundef %24034)
  %24036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24037 = trunc i8 %24036 to i1
  br i1 %24037, label %24038, label %24060

24038:                                            ; preds = %24031
  %24039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24040 = call i32 @fileno(ptr noundef %24039) #11
  %24041 = call i32 @isatty(i32 noundef %24040) #11
  %24042 = icmp ne i32 %24041, 0
  br i1 %24042, label %24043, label %24060

24043:                                            ; preds = %24038
  %24044 = load i32, ptr %583, align 4, !tbaa !5
  %24045 = call ptr @__errno_location() #12
  store i32 %24044, ptr %24045, align 4, !tbaa !5
  %24046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24047 = load i32, ptr @test_count, align 4, !tbaa !5
  %24048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24049 = load i32, ptr %24048, align 4, !tbaa !5
  %24050 = call ptr @s2n_strerror(i32 noundef %24049, ptr noundef @.str.80)
  %24051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24052 = load i32, ptr %24051, align 4, !tbaa !5
  %24053 = call ptr @s2n_strerror_debug(i32 noundef %24052, ptr noundef @.str.80)
  %24054 = call ptr @__errno_location() #12
  %24055 = load i32, ptr %24054, align 4, !tbaa !5
  %24056 = call ptr @strerror(i32 noundef %24055) #11
  %24057 = call ptr @__errno_location() #12
  %24058 = load i32, ptr %24057, align 4, !tbaa !5
  %24059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24046, ptr noundef @.str.78, i32 noundef %24047, ptr noundef @.str.294, ptr noundef @.str.77, i32 noundef 891, ptr noundef %24050, ptr noundef %24053, ptr noundef %24056, i32 noundef %24058) #11
  br label %24077

24060:                                            ; preds = %24038, %24031
  %24061 = load i32, ptr %583, align 4, !tbaa !5
  %24062 = call ptr @__errno_location() #12
  store i32 %24061, ptr %24062, align 4, !tbaa !5
  %24063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24064 = load i32, ptr @test_count, align 4, !tbaa !5
  %24065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24066 = load i32, ptr %24065, align 4, !tbaa !5
  %24067 = call ptr @s2n_strerror(i32 noundef %24066, ptr noundef @.str.80)
  %24068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24069 = load i32, ptr %24068, align 4, !tbaa !5
  %24070 = call ptr @s2n_strerror_debug(i32 noundef %24069, ptr noundef @.str.80)
  %24071 = call ptr @__errno_location() #12
  %24072 = load i32, ptr %24071, align 4, !tbaa !5
  %24073 = call ptr @strerror(i32 noundef %24072) #11
  %24074 = call ptr @__errno_location() #12
  %24075 = load i32, ptr %24074, align 4, !tbaa !5
  %24076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24063, ptr noundef @.str.81, i32 noundef %24064, ptr noundef @.str.294, ptr noundef @.str.77, i32 noundef 891, ptr noundef %24067, ptr noundef %24070, ptr noundef %24073, i32 noundef %24075) #11
  br label %24077

24077:                                            ; preds = %24060, %24043
  call void @llvm.lifetime.end.p0(i64 4, ptr %583) #11
  br label %24078

24078:                                            ; preds = %24077
  br label %24079

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

24080:                                            ; No predecessors!
  br label %24081

24081:                                            ; preds = %24080
  br label %24082

24082:                                            ; preds = %24081, %24018
  br label %24083

24083:                                            ; preds = %24082
  br label %24084

24084:                                            ; preds = %24083
  br label %24085

24085:                                            ; preds = %24084
  %24086 = load i32, ptr @test_count, align 4, !tbaa !5
  %24087 = add nsw i32 %24086, 1
  store i32 %24087, ptr @test_count, align 4, !tbaa !5
  %24088 = load ptr, ptr %580, align 8, !tbaa !9
  %24089 = icmp eq ptr %24088, null
  br i1 %24089, label %24090, label %24143

24090:                                            ; preds = %24085
  br label %24091

24091:                                            ; preds = %24090
  br label %24092

24092:                                            ; preds = %24091
  call void @llvm.lifetime.start.p0(i64 4, ptr %584) #11
  %24093 = call ptr @__errno_location() #12
  %24094 = load i32, ptr %24093, align 4, !tbaa !5
  store i32 %24094, ptr %584, align 4, !tbaa !5
  %24095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24096 = call i32 @s2n_print_stacktrace(ptr noundef %24095)
  %24097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24098 = trunc i8 %24097 to i1
  br i1 %24098, label %24099, label %24121

24099:                                            ; preds = %24092
  %24100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24101 = call i32 @fileno(ptr noundef %24100) #11
  %24102 = call i32 @isatty(i32 noundef %24101) #11
  %24103 = icmp ne i32 %24102, 0
  br i1 %24103, label %24104, label %24121

24104:                                            ; preds = %24099
  %24105 = load i32, ptr %584, align 4, !tbaa !5
  %24106 = call ptr @__errno_location() #12
  store i32 %24105, ptr %24106, align 4, !tbaa !5
  %24107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24108 = load i32, ptr @test_count, align 4, !tbaa !5
  %24109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24110 = load i32, ptr %24109, align 4, !tbaa !5
  %24111 = call ptr @s2n_strerror(i32 noundef %24110, ptr noundef @.str.80)
  %24112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24113 = load i32, ptr %24112, align 4, !tbaa !5
  %24114 = call ptr @s2n_strerror_debug(i32 noundef %24113, ptr noundef @.str.80)
  %24115 = call ptr @__errno_location() #12
  %24116 = load i32, ptr %24115, align 4, !tbaa !5
  %24117 = call ptr @strerror(i32 noundef %24116) #11
  %24118 = call ptr @__errno_location() #12
  %24119 = load i32, ptr %24118, align 4, !tbaa !5
  %24120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24107, ptr noundef @.str.78, i32 noundef %24108, ptr noundef @.str.295, ptr noundef @.str.77, i32 noundef 892, ptr noundef %24111, ptr noundef %24114, ptr noundef %24117, i32 noundef %24119) #11
  br label %24138

24121:                                            ; preds = %24099, %24092
  %24122 = load i32, ptr %584, align 4, !tbaa !5
  %24123 = call ptr @__errno_location() #12
  store i32 %24122, ptr %24123, align 4, !tbaa !5
  %24124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24125 = load i32, ptr @test_count, align 4, !tbaa !5
  %24126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24127 = load i32, ptr %24126, align 4, !tbaa !5
  %24128 = call ptr @s2n_strerror(i32 noundef %24127, ptr noundef @.str.80)
  %24129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24130 = load i32, ptr %24129, align 4, !tbaa !5
  %24131 = call ptr @s2n_strerror_debug(i32 noundef %24130, ptr noundef @.str.80)
  %24132 = call ptr @__errno_location() #12
  %24133 = load i32, ptr %24132, align 4, !tbaa !5
  %24134 = call ptr @strerror(i32 noundef %24133) #11
  %24135 = call ptr @__errno_location() #12
  %24136 = load i32, ptr %24135, align 4, !tbaa !5
  %24137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24124, ptr noundef @.str.81, i32 noundef %24125, ptr noundef @.str.295, ptr noundef @.str.77, i32 noundef 892, ptr noundef %24128, ptr noundef %24131, ptr noundef %24134, i32 noundef %24136) #11
  br label %24138

24138:                                            ; preds = %24121, %24104
  call void @llvm.lifetime.end.p0(i64 4, ptr %584) #11
  br label %24139

24139:                                            ; preds = %24138
  br label %24140

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

24141:                                            ; No predecessors!
  br label %24142

24142:                                            ; preds = %24141
  br label %24143

24143:                                            ; preds = %24142, %24085
  br label %24144

24144:                                            ; preds = %24143
  br label %24145

24145:                                            ; preds = %24144
  br label %24146

24146:                                            ; preds = %24145
  %24147 = load i32, ptr @test_count, align 4, !tbaa !5
  %24148 = add nsw i32 %24147, 1
  store i32 %24148, ptr @test_count, align 4, !tbaa !5
  %24149 = load ptr, ptr %580, align 8, !tbaa !9
  %24150 = call i32 @s2n_psk_init(ptr noundef %24149, i32 noundef 1)
  %24151 = getelementptr inbounds %struct.s2n_result, ptr %585, i32 0, i32 0
  store i32 %24150, ptr %24151, align 4
  %24152 = getelementptr inbounds %struct.s2n_result, ptr %585, i32 0, i32 0
  %24153 = load i32, ptr %24152, align 4
  %24154 = call zeroext i1 @s2n_result_is_ok(i32 %24153)
  br i1 %24154, label %24208, label %24155

24155:                                            ; preds = %24146
  br label %24156

24156:                                            ; preds = %24155
  br label %24157

24157:                                            ; preds = %24156
  call void @llvm.lifetime.start.p0(i64 4, ptr %586) #11
  %24158 = call ptr @__errno_location() #12
  %24159 = load i32, ptr %24158, align 4, !tbaa !5
  store i32 %24159, ptr %586, align 4, !tbaa !5
  %24160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24161 = call i32 @s2n_print_stacktrace(ptr noundef %24160)
  %24162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24163 = trunc i8 %24162 to i1
  br i1 %24163, label %24164, label %24186

24164:                                            ; preds = %24157
  %24165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24166 = call i32 @fileno(ptr noundef %24165) #11
  %24167 = call i32 @isatty(i32 noundef %24166) #11
  %24168 = icmp ne i32 %24167, 0
  br i1 %24168, label %24169, label %24186

24169:                                            ; preds = %24164
  %24170 = load i32, ptr %586, align 4, !tbaa !5
  %24171 = call ptr @__errno_location() #12
  store i32 %24170, ptr %24171, align 4, !tbaa !5
  %24172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24173 = load i32, ptr @test_count, align 4, !tbaa !5
  %24174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24175 = load i32, ptr %24174, align 4, !tbaa !5
  %24176 = call ptr @s2n_strerror(i32 noundef %24175, ptr noundef @.str.80)
  %24177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24178 = load i32, ptr %24177, align 4, !tbaa !5
  %24179 = call ptr @s2n_strerror_debug(i32 noundef %24178, ptr noundef @.str.80)
  %24180 = call ptr @__errno_location() #12
  %24181 = load i32, ptr %24180, align 4, !tbaa !5
  %24182 = call ptr @strerror(i32 noundef %24181) #11
  %24183 = call ptr @__errno_location() #12
  %24184 = load i32, ptr %24183, align 4, !tbaa !5
  %24185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24172, ptr noundef @.str.78, i32 noundef %24173, ptr noundef @.str.296, ptr noundef @.str.77, i32 noundef 894, ptr noundef %24176, ptr noundef %24179, ptr noundef %24182, i32 noundef %24184) #11
  br label %24203

24186:                                            ; preds = %24164, %24157
  %24187 = load i32, ptr %586, align 4, !tbaa !5
  %24188 = call ptr @__errno_location() #12
  store i32 %24187, ptr %24188, align 4, !tbaa !5
  %24189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24190 = load i32, ptr @test_count, align 4, !tbaa !5
  %24191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24192 = load i32, ptr %24191, align 4, !tbaa !5
  %24193 = call ptr @s2n_strerror(i32 noundef %24192, ptr noundef @.str.80)
  %24194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24195 = load i32, ptr %24194, align 4, !tbaa !5
  %24196 = call ptr @s2n_strerror_debug(i32 noundef %24195, ptr noundef @.str.80)
  %24197 = call ptr @__errno_location() #12
  %24198 = load i32, ptr %24197, align 4, !tbaa !5
  %24199 = call ptr @strerror(i32 noundef %24198) #11
  %24200 = call ptr @__errno_location() #12
  %24201 = load i32, ptr %24200, align 4, !tbaa !5
  %24202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24189, ptr noundef @.str.81, i32 noundef %24190, ptr noundef @.str.296, ptr noundef @.str.77, i32 noundef 894, ptr noundef %24193, ptr noundef %24196, ptr noundef %24199, i32 noundef %24201) #11
  br label %24203

24203:                                            ; preds = %24186, %24169
  call void @llvm.lifetime.end.p0(i64 4, ptr %586) #11
  br label %24204

24204:                                            ; preds = %24203
  br label %24205

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

24206:                                            ; No predecessors!
  br label %24207

24207:                                            ; preds = %24206
  br label %24208

24208:                                            ; preds = %24207, %24146
  br label %24209

24209:                                            ; preds = %24208
  br label %24210

24210:                                            ; preds = %24209
  br label %24211

24211:                                            ; preds = %24210
  %24212 = load i32, ptr @test_count, align 4, !tbaa !5
  %24213 = add nsw i32 %24212, 1
  store i32 %24213, ptr @test_count, align 4, !tbaa !5
  %24214 = load ptr, ptr %580, align 8, !tbaa !9
  %24215 = getelementptr inbounds [11 x i8], ptr %487, i64 0, i64 0
  %24216 = call i32 @s2n_psk_set_identity(ptr noundef %24214, ptr noundef %24215, i16 noundef zeroext 11)
  %24217 = icmp eq i32 %24216, -1
  br i1 %24217, label %24218, label %24271

24218:                                            ; preds = %24211
  br label %24219

24219:                                            ; preds = %24218
  br label %24220

24220:                                            ; preds = %24219
  call void @llvm.lifetime.start.p0(i64 4, ptr %587) #11
  %24221 = call ptr @__errno_location() #12
  %24222 = load i32, ptr %24221, align 4, !tbaa !5
  store i32 %24222, ptr %587, align 4, !tbaa !5
  %24223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24224 = call i32 @s2n_print_stacktrace(ptr noundef %24223)
  %24225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24226 = trunc i8 %24225 to i1
  br i1 %24226, label %24227, label %24249

24227:                                            ; preds = %24220
  %24228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24229 = call i32 @fileno(ptr noundef %24228) #11
  %24230 = call i32 @isatty(i32 noundef %24229) #11
  %24231 = icmp ne i32 %24230, 0
  br i1 %24231, label %24232, label %24249

24232:                                            ; preds = %24227
  %24233 = load i32, ptr %587, align 4, !tbaa !5
  %24234 = call ptr @__errno_location() #12
  store i32 %24233, ptr %24234, align 4, !tbaa !5
  %24235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24236 = load i32, ptr @test_count, align 4, !tbaa !5
  %24237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24238 = load i32, ptr %24237, align 4, !tbaa !5
  %24239 = call ptr @s2n_strerror(i32 noundef %24238, ptr noundef @.str.80)
  %24240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24241 = load i32, ptr %24240, align 4, !tbaa !5
  %24242 = call ptr @s2n_strerror_debug(i32 noundef %24241, ptr noundef @.str.80)
  %24243 = call ptr @__errno_location() #12
  %24244 = load i32, ptr %24243, align 4, !tbaa !5
  %24245 = call ptr @strerror(i32 noundef %24244) #11
  %24246 = call ptr @__errno_location() #12
  %24247 = load i32, ptr %24246, align 4, !tbaa !5
  %24248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24235, ptr noundef @.str.78, i32 noundef %24236, ptr noundef @.str.297, ptr noundef @.str.77, i32 noundef 895, ptr noundef %24239, ptr noundef %24242, ptr noundef %24245, i32 noundef %24247) #11
  br label %24266

24249:                                            ; preds = %24227, %24220
  %24250 = load i32, ptr %587, align 4, !tbaa !5
  %24251 = call ptr @__errno_location() #12
  store i32 %24250, ptr %24251, align 4, !tbaa !5
  %24252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24253 = load i32, ptr @test_count, align 4, !tbaa !5
  %24254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24255 = load i32, ptr %24254, align 4, !tbaa !5
  %24256 = call ptr @s2n_strerror(i32 noundef %24255, ptr noundef @.str.80)
  %24257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24258 = load i32, ptr %24257, align 4, !tbaa !5
  %24259 = call ptr @s2n_strerror_debug(i32 noundef %24258, ptr noundef @.str.80)
  %24260 = call ptr @__errno_location() #12
  %24261 = load i32, ptr %24260, align 4, !tbaa !5
  %24262 = call ptr @strerror(i32 noundef %24261) #11
  %24263 = call ptr @__errno_location() #12
  %24264 = load i32, ptr %24263, align 4, !tbaa !5
  %24265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24252, ptr noundef @.str.81, i32 noundef %24253, ptr noundef @.str.297, ptr noundef @.str.77, i32 noundef 895, ptr noundef %24256, ptr noundef %24259, ptr noundef %24262, i32 noundef %24264) #11
  br label %24266

24266:                                            ; preds = %24249, %24232
  call void @llvm.lifetime.end.p0(i64 4, ptr %587) #11
  br label %24267

24267:                                            ; preds = %24266
  br label %24268

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

24269:                                            ; No predecessors!
  br label %24270

24270:                                            ; preds = %24269
  br label %24271

24271:                                            ; preds = %24270, %24211
  br label %24272

24272:                                            ; preds = %24271
  br label %24273

24273:                                            ; preds = %24272
  br label %24274

24274:                                            ; preds = %24273
  %24275 = load i32, ptr @test_count, align 4, !tbaa !5
  %24276 = add nsw i32 %24275, 1
  store i32 %24276, ptr @test_count, align 4, !tbaa !5
  %24277 = load ptr, ptr %577, align 8, !tbaa !9
  %24278 = getelementptr inbounds %struct.s2n_connection, ptr %24277, i32 0, i32 33
  %24279 = call i32 @s2n_psk_parameters_offered_psks_size(ptr noundef %24278, ptr noundef %579)
  %24280 = getelementptr inbounds %struct.s2n_result, ptr %588, i32 0, i32 0
  store i32 %24279, ptr %24280, align 4
  %24281 = getelementptr inbounds %struct.s2n_result, ptr %588, i32 0, i32 0
  %24282 = load i32, ptr %24281, align 4
  %24283 = call zeroext i1 @s2n_result_is_ok(i32 %24282)
  br i1 %24283, label %24337, label %24284

24284:                                            ; preds = %24274
  br label %24285

24285:                                            ; preds = %24284
  br label %24286

24286:                                            ; preds = %24285
  call void @llvm.lifetime.start.p0(i64 4, ptr %589) #11
  %24287 = call ptr @__errno_location() #12
  %24288 = load i32, ptr %24287, align 4, !tbaa !5
  store i32 %24288, ptr %589, align 4, !tbaa !5
  %24289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24290 = call i32 @s2n_print_stacktrace(ptr noundef %24289)
  %24291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24292 = trunc i8 %24291 to i1
  br i1 %24292, label %24293, label %24315

24293:                                            ; preds = %24286
  %24294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24295 = call i32 @fileno(ptr noundef %24294) #11
  %24296 = call i32 @isatty(i32 noundef %24295) #11
  %24297 = icmp ne i32 %24296, 0
  br i1 %24297, label %24298, label %24315

24298:                                            ; preds = %24293
  %24299 = load i32, ptr %589, align 4, !tbaa !5
  %24300 = call ptr @__errno_location() #12
  store i32 %24299, ptr %24300, align 4, !tbaa !5
  %24301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24302 = load i32, ptr @test_count, align 4, !tbaa !5
  %24303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24304 = load i32, ptr %24303, align 4, !tbaa !5
  %24305 = call ptr @s2n_strerror(i32 noundef %24304, ptr noundef @.str.80)
  %24306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24307 = load i32, ptr %24306, align 4, !tbaa !5
  %24308 = call ptr @s2n_strerror_debug(i32 noundef %24307, ptr noundef @.str.80)
  %24309 = call ptr @__errno_location() #12
  %24310 = load i32, ptr %24309, align 4, !tbaa !5
  %24311 = call ptr @strerror(i32 noundef %24310) #11
  %24312 = call ptr @__errno_location() #12
  %24313 = load i32, ptr %24312, align 4, !tbaa !5
  %24314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24301, ptr noundef @.str.78, i32 noundef %24302, ptr noundef @.str.298, ptr noundef @.str.77, i32 noundef 896, ptr noundef %24305, ptr noundef %24308, ptr noundef %24311, i32 noundef %24313) #11
  br label %24332

24315:                                            ; preds = %24293, %24286
  %24316 = load i32, ptr %589, align 4, !tbaa !5
  %24317 = call ptr @__errno_location() #12
  store i32 %24316, ptr %24317, align 4, !tbaa !5
  %24318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24319 = load i32, ptr @test_count, align 4, !tbaa !5
  %24320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24321 = load i32, ptr %24320, align 4, !tbaa !5
  %24322 = call ptr @s2n_strerror(i32 noundef %24321, ptr noundef @.str.80)
  %24323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24324 = load i32, ptr %24323, align 4, !tbaa !5
  %24325 = call ptr @s2n_strerror_debug(i32 noundef %24324, ptr noundef @.str.80)
  %24326 = call ptr @__errno_location() #12
  %24327 = load i32, ptr %24326, align 4, !tbaa !5
  %24328 = call ptr @strerror(i32 noundef %24327) #11
  %24329 = call ptr @__errno_location() #12
  %24330 = load i32, ptr %24329, align 4, !tbaa !5
  %24331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24318, ptr noundef @.str.81, i32 noundef %24319, ptr noundef @.str.298, ptr noundef @.str.77, i32 noundef 896, ptr noundef %24322, ptr noundef %24325, ptr noundef %24328, i32 noundef %24330) #11
  br label %24332

24332:                                            ; preds = %24315, %24298
  call void @llvm.lifetime.end.p0(i64 4, ptr %589) #11
  br label %24333

24333:                                            ; preds = %24332
  br label %24334

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

24335:                                            ; No predecessors!
  br label %24336

24336:                                            ; preds = %24335
  br label %24337

24337:                                            ; preds = %24336, %24274
  br label %24338

24338:                                            ; preds = %24337
  br label %24339

24339:                                            ; preds = %24338
  br label %24014, !llvm.loop !89

24340:                                            ; preds = %24014
  br label %24341

24341:                                            ; preds = %24340
  %24342 = load i32, ptr @test_count, align 4, !tbaa !5
  %24343 = add nsw i32 %24342, 1
  store i32 %24343, ptr @test_count, align 4, !tbaa !5
  %24344 = load ptr, ptr %580, align 8, !tbaa !9
  %24345 = call i32 @s2n_psk_wipe(ptr noundef %24344)
  %24346 = getelementptr inbounds %struct.s2n_result, ptr %590, i32 0, i32 0
  store i32 %24345, ptr %24346, align 4
  %24347 = getelementptr inbounds %struct.s2n_result, ptr %590, i32 0, i32 0
  %24348 = load i32, ptr %24347, align 4
  %24349 = call zeroext i1 @s2n_result_is_ok(i32 %24348)
  br i1 %24349, label %24403, label %24350

24350:                                            ; preds = %24341
  br label %24351

24351:                                            ; preds = %24350
  br label %24352

24352:                                            ; preds = %24351
  call void @llvm.lifetime.start.p0(i64 4, ptr %591) #11
  %24353 = call ptr @__errno_location() #12
  %24354 = load i32, ptr %24353, align 4, !tbaa !5
  store i32 %24354, ptr %591, align 4, !tbaa !5
  %24355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24356 = call i32 @s2n_print_stacktrace(ptr noundef %24355)
  %24357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24358 = trunc i8 %24357 to i1
  br i1 %24358, label %24359, label %24381

24359:                                            ; preds = %24352
  %24360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24361 = call i32 @fileno(ptr noundef %24360) #11
  %24362 = call i32 @isatty(i32 noundef %24361) #11
  %24363 = icmp ne i32 %24362, 0
  br i1 %24363, label %24364, label %24381

24364:                                            ; preds = %24359
  %24365 = load i32, ptr %591, align 4, !tbaa !5
  %24366 = call ptr @__errno_location() #12
  store i32 %24365, ptr %24366, align 4, !tbaa !5
  %24367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24368 = load i32, ptr @test_count, align 4, !tbaa !5
  %24369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24370 = load i32, ptr %24369, align 4, !tbaa !5
  %24371 = call ptr @s2n_strerror(i32 noundef %24370, ptr noundef @.str.80)
  %24372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24373 = load i32, ptr %24372, align 4, !tbaa !5
  %24374 = call ptr @s2n_strerror_debug(i32 noundef %24373, ptr noundef @.str.80)
  %24375 = call ptr @__errno_location() #12
  %24376 = load i32, ptr %24375, align 4, !tbaa !5
  %24377 = call ptr @strerror(i32 noundef %24376) #11
  %24378 = call ptr @__errno_location() #12
  %24379 = load i32, ptr %24378, align 4, !tbaa !5
  %24380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24367, ptr noundef @.str.78, i32 noundef %24368, ptr noundef @.str.299, ptr noundef @.str.77, i32 noundef 900, ptr noundef %24371, ptr noundef %24374, ptr noundef %24377, i32 noundef %24379) #11
  br label %24398

24381:                                            ; preds = %24359, %24352
  %24382 = load i32, ptr %591, align 4, !tbaa !5
  %24383 = call ptr @__errno_location() #12
  store i32 %24382, ptr %24383, align 4, !tbaa !5
  %24384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24385 = load i32, ptr @test_count, align 4, !tbaa !5
  %24386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24387 = load i32, ptr %24386, align 4, !tbaa !5
  %24388 = call ptr @s2n_strerror(i32 noundef %24387, ptr noundef @.str.80)
  %24389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24390 = load i32, ptr %24389, align 4, !tbaa !5
  %24391 = call ptr @s2n_strerror_debug(i32 noundef %24390, ptr noundef @.str.80)
  %24392 = call ptr @__errno_location() #12
  %24393 = load i32, ptr %24392, align 4, !tbaa !5
  %24394 = call ptr @strerror(i32 noundef %24393) #11
  %24395 = call ptr @__errno_location() #12
  %24396 = load i32, ptr %24395, align 4, !tbaa !5
  %24397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24384, ptr noundef @.str.81, i32 noundef %24385, ptr noundef @.str.299, ptr noundef @.str.77, i32 noundef 900, ptr noundef %24388, ptr noundef %24391, ptr noundef %24394, i32 noundef %24396) #11
  br label %24398

24398:                                            ; preds = %24381, %24364
  call void @llvm.lifetime.end.p0(i64 4, ptr %591) #11
  br label %24399

24399:                                            ; preds = %24398
  br label %24400

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

24401:                                            ; No predecessors!
  br label %24402

24402:                                            ; preds = %24401
  br label %24403

24403:                                            ; preds = %24402, %24341
  br label %24404

24404:                                            ; preds = %24403
  br label %24405

24405:                                            ; preds = %24404
  br label %24406

24406:                                            ; preds = %24405
  %24407 = load i32, ptr @test_count, align 4, !tbaa !5
  %24408 = add nsw i32 %24407, 1
  store i32 %24408, ptr @test_count, align 4, !tbaa !5
  %24409 = load ptr, ptr %577, align 8, !tbaa !9
  %24410 = getelementptr inbounds %struct.s2n_connection, ptr %24409, i32 0, i32 33
  %24411 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %24410, i32 0, i32 1
  %24412 = load ptr, ptr %577, align 8, !tbaa !9
  %24413 = getelementptr inbounds %struct.s2n_connection, ptr %24412, i32 0, i32 33
  %24414 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %24413, i32 0, i32 1
  %24415 = getelementptr inbounds %struct.s2n_array, ptr %24414, i32 0, i32 1
  %24416 = load i32, ptr %24415, align 8, !tbaa !88
  %24417 = sub i32 %24416, 1
  %24418 = call i32 @s2n_array_remove(ptr noundef %24411, i32 noundef %24417)
  %24419 = getelementptr inbounds %struct.s2n_result, ptr %592, i32 0, i32 0
  store i32 %24418, ptr %24419, align 4
  %24420 = getelementptr inbounds %struct.s2n_result, ptr %592, i32 0, i32 0
  %24421 = load i32, ptr %24420, align 4
  %24422 = call zeroext i1 @s2n_result_is_ok(i32 %24421)
  br i1 %24422, label %24476, label %24423

24423:                                            ; preds = %24406
  br label %24424

24424:                                            ; preds = %24423
  br label %24425

24425:                                            ; preds = %24424
  call void @llvm.lifetime.start.p0(i64 4, ptr %593) #11
  %24426 = call ptr @__errno_location() #12
  %24427 = load i32, ptr %24426, align 4, !tbaa !5
  store i32 %24427, ptr %593, align 4, !tbaa !5
  %24428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24429 = call i32 @s2n_print_stacktrace(ptr noundef %24428)
  %24430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24431 = trunc i8 %24430 to i1
  br i1 %24431, label %24432, label %24454

24432:                                            ; preds = %24425
  %24433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24434 = call i32 @fileno(ptr noundef %24433) #11
  %24435 = call i32 @isatty(i32 noundef %24434) #11
  %24436 = icmp ne i32 %24435, 0
  br i1 %24436, label %24437, label %24454

24437:                                            ; preds = %24432
  %24438 = load i32, ptr %593, align 4, !tbaa !5
  %24439 = call ptr @__errno_location() #12
  store i32 %24438, ptr %24439, align 4, !tbaa !5
  %24440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24441 = load i32, ptr @test_count, align 4, !tbaa !5
  %24442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24443 = load i32, ptr %24442, align 4, !tbaa !5
  %24444 = call ptr @s2n_strerror(i32 noundef %24443, ptr noundef @.str.80)
  %24445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24446 = load i32, ptr %24445, align 4, !tbaa !5
  %24447 = call ptr @s2n_strerror_debug(i32 noundef %24446, ptr noundef @.str.80)
  %24448 = call ptr @__errno_location() #12
  %24449 = load i32, ptr %24448, align 4, !tbaa !5
  %24450 = call ptr @strerror(i32 noundef %24449) #11
  %24451 = call ptr @__errno_location() #12
  %24452 = load i32, ptr %24451, align 4, !tbaa !5
  %24453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24440, ptr noundef @.str.78, i32 noundef %24441, ptr noundef @.str.300, ptr noundef @.str.77, i32 noundef 901, ptr noundef %24444, ptr noundef %24447, ptr noundef %24450, i32 noundef %24452) #11
  br label %24471

24454:                                            ; preds = %24432, %24425
  %24455 = load i32, ptr %593, align 4, !tbaa !5
  %24456 = call ptr @__errno_location() #12
  store i32 %24455, ptr %24456, align 4, !tbaa !5
  %24457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24458 = load i32, ptr @test_count, align 4, !tbaa !5
  %24459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24460 = load i32, ptr %24459, align 4, !tbaa !5
  %24461 = call ptr @s2n_strerror(i32 noundef %24460, ptr noundef @.str.80)
  %24462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24463 = load i32, ptr %24462, align 4, !tbaa !5
  %24464 = call ptr @s2n_strerror_debug(i32 noundef %24463, ptr noundef @.str.80)
  %24465 = call ptr @__errno_location() #12
  %24466 = load i32, ptr %24465, align 4, !tbaa !5
  %24467 = call ptr @strerror(i32 noundef %24466) #11
  %24468 = call ptr @__errno_location() #12
  %24469 = load i32, ptr %24468, align 4, !tbaa !5
  %24470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24457, ptr noundef @.str.81, i32 noundef %24458, ptr noundef @.str.300, ptr noundef @.str.77, i32 noundef 901, ptr noundef %24461, ptr noundef %24464, ptr noundef %24467, i32 noundef %24469) #11
  br label %24471

24471:                                            ; preds = %24454, %24437
  call void @llvm.lifetime.end.p0(i64 4, ptr %593) #11
  br label %24472

24472:                                            ; preds = %24471
  br label %24473

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

24474:                                            ; No predecessors!
  br label %24475

24475:                                            ; preds = %24474
  br label %24476

24476:                                            ; preds = %24475, %24406
  br label %24477

24477:                                            ; preds = %24476
  br label %24478

24478:                                            ; preds = %24477
  br label %24479

24479:                                            ; preds = %24478
  %24480 = load i32, ptr @test_count, align 4, !tbaa !5
  %24481 = add nsw i32 %24480, 1
  store i32 %24481, ptr @test_count, align 4, !tbaa !5
  %24482 = load ptr, ptr %577, align 8, !tbaa !9
  %24483 = getelementptr inbounds %struct.s2n_connection, ptr %24482, i32 0, i32 33
  %24484 = call i32 @s2n_psk_parameters_offered_psks_size(ptr noundef %24483, ptr noundef %579)
  %24485 = getelementptr inbounds %struct.s2n_result, ptr %594, i32 0, i32 0
  store i32 %24484, ptr %24485, align 4
  %24486 = getelementptr inbounds %struct.s2n_result, ptr %594, i32 0, i32 0
  %24487 = load i32, ptr %24486, align 4
  %24488 = call zeroext i1 @s2n_result_is_ok(i32 %24487)
  br i1 %24488, label %24542, label %24489

24489:                                            ; preds = %24479
  br label %24490

24490:                                            ; preds = %24489
  br label %24491

24491:                                            ; preds = %24490
  call void @llvm.lifetime.start.p0(i64 4, ptr %595) #11
  %24492 = call ptr @__errno_location() #12
  %24493 = load i32, ptr %24492, align 4, !tbaa !5
  store i32 %24493, ptr %595, align 4, !tbaa !5
  %24494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24495 = call i32 @s2n_print_stacktrace(ptr noundef %24494)
  %24496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24497 = trunc i8 %24496 to i1
  br i1 %24497, label %24498, label %24520

24498:                                            ; preds = %24491
  %24499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24500 = call i32 @fileno(ptr noundef %24499) #11
  %24501 = call i32 @isatty(i32 noundef %24500) #11
  %24502 = icmp ne i32 %24501, 0
  br i1 %24502, label %24503, label %24520

24503:                                            ; preds = %24498
  %24504 = load i32, ptr %595, align 4, !tbaa !5
  %24505 = call ptr @__errno_location() #12
  store i32 %24504, ptr %24505, align 4, !tbaa !5
  %24506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24507 = load i32, ptr @test_count, align 4, !tbaa !5
  %24508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24509 = load i32, ptr %24508, align 4, !tbaa !5
  %24510 = call ptr @s2n_strerror(i32 noundef %24509, ptr noundef @.str.80)
  %24511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24512 = load i32, ptr %24511, align 4, !tbaa !5
  %24513 = call ptr @s2n_strerror_debug(i32 noundef %24512, ptr noundef @.str.80)
  %24514 = call ptr @__errno_location() #12
  %24515 = load i32, ptr %24514, align 4, !tbaa !5
  %24516 = call ptr @strerror(i32 noundef %24515) #11
  %24517 = call ptr @__errno_location() #12
  %24518 = load i32, ptr %24517, align 4, !tbaa !5
  %24519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24506, ptr noundef @.str.78, i32 noundef %24507, ptr noundef @.str.298, ptr noundef @.str.77, i32 noundef 902, ptr noundef %24510, ptr noundef %24513, ptr noundef %24516, i32 noundef %24518) #11
  br label %24537

24520:                                            ; preds = %24498, %24491
  %24521 = load i32, ptr %595, align 4, !tbaa !5
  %24522 = call ptr @__errno_location() #12
  store i32 %24521, ptr %24522, align 4, !tbaa !5
  %24523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24524 = load i32, ptr @test_count, align 4, !tbaa !5
  %24525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24526 = load i32, ptr %24525, align 4, !tbaa !5
  %24527 = call ptr @s2n_strerror(i32 noundef %24526, ptr noundef @.str.80)
  %24528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24529 = load i32, ptr %24528, align 4, !tbaa !5
  %24530 = call ptr @s2n_strerror_debug(i32 noundef %24529, ptr noundef @.str.80)
  %24531 = call ptr @__errno_location() #12
  %24532 = load i32, ptr %24531, align 4, !tbaa !5
  %24533 = call ptr @strerror(i32 noundef %24532) #11
  %24534 = call ptr @__errno_location() #12
  %24535 = load i32, ptr %24534, align 4, !tbaa !5
  %24536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24523, ptr noundef @.str.81, i32 noundef %24524, ptr noundef @.str.298, ptr noundef @.str.77, i32 noundef 902, ptr noundef %24527, ptr noundef %24530, ptr noundef %24533, i32 noundef %24535) #11
  br label %24537

24537:                                            ; preds = %24520, %24503
  call void @llvm.lifetime.end.p0(i64 4, ptr %595) #11
  br label %24538

24538:                                            ; preds = %24537
  br label %24539

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

24540:                                            ; No predecessors!
  br label %24541

24541:                                            ; preds = %24540
  br label %24542

24542:                                            ; preds = %24541, %24479
  br label %24543

24543:                                            ; preds = %24542
  br label %24544

24544:                                            ; preds = %24543
  br label %24545

24545:                                            ; preds = %24544
  %24546 = load i32, ptr @test_count, align 4, !tbaa !5
  %24547 = add nsw i32 %24546, 1
  store i32 %24547, ptr @test_count, align 4, !tbaa !5
  %24548 = load i32, ptr %579, align 4, !tbaa !5
  %24549 = icmp ult i32 %24548, 65535
  br i1 %24549, label %24603, label %24550

24550:                                            ; preds = %24545
  br label %24551

24551:                                            ; preds = %24550
  br label %24552

24552:                                            ; preds = %24551
  call void @llvm.lifetime.start.p0(i64 4, ptr %596) #11
  %24553 = call ptr @__errno_location() #12
  %24554 = load i32, ptr %24553, align 4, !tbaa !5
  store i32 %24554, ptr %596, align 4, !tbaa !5
  %24555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24556 = call i32 @s2n_print_stacktrace(ptr noundef %24555)
  %24557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24558 = trunc i8 %24557 to i1
  br i1 %24558, label %24559, label %24581

24559:                                            ; preds = %24552
  %24560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24561 = call i32 @fileno(ptr noundef %24560) #11
  %24562 = call i32 @isatty(i32 noundef %24561) #11
  %24563 = icmp ne i32 %24562, 0
  br i1 %24563, label %24564, label %24581

24564:                                            ; preds = %24559
  %24565 = load i32, ptr %596, align 4, !tbaa !5
  %24566 = call ptr @__errno_location() #12
  store i32 %24565, ptr %24566, align 4, !tbaa !5
  %24567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24568 = load i32, ptr @test_count, align 4, !tbaa !5
  %24569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24570 = load i32, ptr %24569, align 4, !tbaa !5
  %24571 = call ptr @s2n_strerror(i32 noundef %24570, ptr noundef @.str.80)
  %24572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24573 = load i32, ptr %24572, align 4, !tbaa !5
  %24574 = call ptr @s2n_strerror_debug(i32 noundef %24573, ptr noundef @.str.80)
  %24575 = call ptr @__errno_location() #12
  %24576 = load i32, ptr %24575, align 4, !tbaa !5
  %24577 = call ptr @strerror(i32 noundef %24576) #11
  %24578 = call ptr @__errno_location() #12
  %24579 = load i32, ptr %24578, align 4, !tbaa !5
  %24580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24567, ptr noundef @.str.78, i32 noundef %24568, ptr noundef @.str.301, ptr noundef @.str.77, i32 noundef 903, ptr noundef %24571, ptr noundef %24574, ptr noundef %24577, i32 noundef %24579) #11
  br label %24598

24581:                                            ; preds = %24559, %24552
  %24582 = load i32, ptr %596, align 4, !tbaa !5
  %24583 = call ptr @__errno_location() #12
  store i32 %24582, ptr %24583, align 4, !tbaa !5
  %24584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24585 = load i32, ptr @test_count, align 4, !tbaa !5
  %24586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24587 = load i32, ptr %24586, align 4, !tbaa !5
  %24588 = call ptr @s2n_strerror(i32 noundef %24587, ptr noundef @.str.80)
  %24589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24590 = load i32, ptr %24589, align 4, !tbaa !5
  %24591 = call ptr @s2n_strerror_debug(i32 noundef %24590, ptr noundef @.str.80)
  %24592 = call ptr @__errno_location() #12
  %24593 = load i32, ptr %24592, align 4, !tbaa !5
  %24594 = call ptr @strerror(i32 noundef %24593) #11
  %24595 = call ptr @__errno_location() #12
  %24596 = load i32, ptr %24595, align 4, !tbaa !5
  %24597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24584, ptr noundef @.str.81, i32 noundef %24585, ptr noundef @.str.301, ptr noundef @.str.77, i32 noundef 903, ptr noundef %24588, ptr noundef %24591, ptr noundef %24594, i32 noundef %24596) #11
  br label %24598

24598:                                            ; preds = %24581, %24564
  call void @llvm.lifetime.end.p0(i64 4, ptr %596) #11
  br label %24599

24599:                                            ; preds = %24598
  br label %24600

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

24601:                                            ; No predecessors!
  br label %24602

24602:                                            ; preds = %24601
  br label %24603

24603:                                            ; preds = %24602, %24545
  br label %24604

24604:                                            ; preds = %24603
  br label %24605

24605:                                            ; preds = %24604
  call void @llvm.lifetime.start.p0(i64 4, ptr %597) #11
  %24606 = load ptr, ptr %577, align 8, !tbaa !9
  %24607 = getelementptr inbounds %struct.s2n_connection, ptr %24606, i32 0, i32 33
  %24608 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %24607, i32 0, i32 1
  %24609 = getelementptr inbounds %struct.s2n_array, ptr %24608, i32 0, i32 1
  %24610 = load i32, ptr %24609, align 8, !tbaa !88
  store i32 %24610, ptr %597, align 4, !tbaa !5
  br label %24611

24611:                                            ; preds = %24605
  br label %24612

24612:                                            ; preds = %24611
  br label %24613

24613:                                            ; preds = %24612
  %24614 = load i32, ptr @test_count, align 4, !tbaa !5
  %24615 = add nsw i32 %24614, 1
  store i32 %24615, ptr @test_count, align 4, !tbaa !5
  %24616 = load ptr, ptr %577, align 8, !tbaa !9
  %24617 = load ptr, ptr %489, align 8, !tbaa !9
  %24618 = call i32 @s2n_connection_append_psk(ptr noundef %24616, ptr noundef %24617)
  %24619 = icmp eq i32 %24618, -1
  br i1 %24619, label %24673, label %24620

24620:                                            ; preds = %24613
  br label %24621

24621:                                            ; preds = %24620
  br label %24622

24622:                                            ; preds = %24621
  call void @llvm.lifetime.start.p0(i64 4, ptr %598) #11
  %24623 = call ptr @__errno_location() #12
  %24624 = load i32, ptr %24623, align 4, !tbaa !5
  store i32 %24624, ptr %598, align 4, !tbaa !5
  %24625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24626 = call i32 @s2n_print_stacktrace(ptr noundef %24625)
  %24627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24628 = trunc i8 %24627 to i1
  br i1 %24628, label %24629, label %24651

24629:                                            ; preds = %24622
  %24630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24631 = call i32 @fileno(ptr noundef %24630) #11
  %24632 = call i32 @isatty(i32 noundef %24631) #11
  %24633 = icmp ne i32 %24632, 0
  br i1 %24633, label %24634, label %24651

24634:                                            ; preds = %24629
  %24635 = load i32, ptr %598, align 4, !tbaa !5
  %24636 = call ptr @__errno_location() #12
  store i32 %24635, ptr %24636, align 4, !tbaa !5
  %24637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24638 = load i32, ptr @test_count, align 4, !tbaa !5
  %24639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24640 = load i32, ptr %24639, align 4, !tbaa !5
  %24641 = call ptr @s2n_strerror(i32 noundef %24640, ptr noundef @.str.80)
  %24642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24643 = load i32, ptr %24642, align 4, !tbaa !5
  %24644 = call ptr @s2n_strerror_debug(i32 noundef %24643, ptr noundef @.str.80)
  %24645 = call ptr @__errno_location() #12
  %24646 = load i32, ptr %24645, align 4, !tbaa !5
  %24647 = call ptr @strerror(i32 noundef %24646) #11
  %24648 = call ptr @__errno_location() #12
  %24649 = load i32, ptr %24648, align 4, !tbaa !5
  %24650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24637, ptr noundef @.str.78, i32 noundef %24638, ptr noundef @.str.302, ptr noundef @.str.77, i32 noundef 907, ptr noundef %24641, ptr noundef %24644, ptr noundef %24647, i32 noundef %24649) #11
  br label %24668

24651:                                            ; preds = %24629, %24622
  %24652 = load i32, ptr %598, align 4, !tbaa !5
  %24653 = call ptr @__errno_location() #12
  store i32 %24652, ptr %24653, align 4, !tbaa !5
  %24654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24655 = load i32, ptr @test_count, align 4, !tbaa !5
  %24656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24657 = load i32, ptr %24656, align 4, !tbaa !5
  %24658 = call ptr @s2n_strerror(i32 noundef %24657, ptr noundef @.str.80)
  %24659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24660 = load i32, ptr %24659, align 4, !tbaa !5
  %24661 = call ptr @s2n_strerror_debug(i32 noundef %24660, ptr noundef @.str.80)
  %24662 = call ptr @__errno_location() #12
  %24663 = load i32, ptr %24662, align 4, !tbaa !5
  %24664 = call ptr @strerror(i32 noundef %24663) #11
  %24665 = call ptr @__errno_location() #12
  %24666 = load i32, ptr %24665, align 4, !tbaa !5
  %24667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24654, ptr noundef @.str.81, i32 noundef %24655, ptr noundef @.str.302, ptr noundef @.str.77, i32 noundef 907, ptr noundef %24658, ptr noundef %24661, ptr noundef %24664, i32 noundef %24666) #11
  br label %24668

24668:                                            ; preds = %24651, %24634
  call void @llvm.lifetime.end.p0(i64 4, ptr %598) #11
  br label %24669

24669:                                            ; preds = %24668
  br label %24670

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

24671:                                            ; No predecessors!
  br label %24672

24672:                                            ; preds = %24671
  br label %24673

24673:                                            ; preds = %24672, %24613
  br label %24674

24674:                                            ; preds = %24673
  br label %24675

24675:                                            ; preds = %24674
  br label %24676

24676:                                            ; preds = %24675
  %24677 = load i32, ptr @test_count, align 4, !tbaa !5
  %24678 = add nsw i32 %24677, 1
  store i32 %24678, ptr @test_count, align 4, !tbaa !5
  %24679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24680 = load i32, ptr %24679, align 4, !tbaa !5
  %24681 = icmp eq i32 %24680, 469762109
  br i1 %24681, label %24735, label %24682

24682:                                            ; preds = %24676
  br label %24683

24683:                                            ; preds = %24682
  br label %24684

24684:                                            ; preds = %24683
  call void @llvm.lifetime.start.p0(i64 4, ptr %599) #11
  %24685 = call ptr @__errno_location() #12
  %24686 = load i32, ptr %24685, align 4, !tbaa !5
  store i32 %24686, ptr %599, align 4, !tbaa !5
  %24687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24688 = call i32 @s2n_print_stacktrace(ptr noundef %24687)
  %24689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24690 = trunc i8 %24689 to i1
  br i1 %24690, label %24691, label %24713

24691:                                            ; preds = %24684
  %24692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24693 = call i32 @fileno(ptr noundef %24692) #11
  %24694 = call i32 @isatty(i32 noundef %24693) #11
  %24695 = icmp ne i32 %24694, 0
  br i1 %24695, label %24696, label %24713

24696:                                            ; preds = %24691
  %24697 = load i32, ptr %599, align 4, !tbaa !5
  %24698 = call ptr @__errno_location() #12
  store i32 %24697, ptr %24698, align 4, !tbaa !5
  %24699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24700 = load i32, ptr @test_count, align 4, !tbaa !5
  %24701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24702 = load i32, ptr %24701, align 4, !tbaa !5
  %24703 = call ptr @s2n_strerror(i32 noundef %24702, ptr noundef @.str.80)
  %24704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24705 = load i32, ptr %24704, align 4, !tbaa !5
  %24706 = call ptr @s2n_strerror_debug(i32 noundef %24705, ptr noundef @.str.80)
  %24707 = call ptr @__errno_location() #12
  %24708 = load i32, ptr %24707, align 4, !tbaa !5
  %24709 = call ptr @strerror(i32 noundef %24708) #11
  %24710 = call ptr @__errno_location() #12
  %24711 = load i32, ptr %24710, align 4, !tbaa !5
  %24712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24699, ptr noundef @.str.78, i32 noundef %24700, ptr noundef @.str.288, ptr noundef @.str.77, i32 noundef 907, ptr noundef %24703, ptr noundef %24706, ptr noundef %24709, i32 noundef %24711) #11
  br label %24730

24713:                                            ; preds = %24691, %24684
  %24714 = load i32, ptr %599, align 4, !tbaa !5
  %24715 = call ptr @__errno_location() #12
  store i32 %24714, ptr %24715, align 4, !tbaa !5
  %24716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24717 = load i32, ptr @test_count, align 4, !tbaa !5
  %24718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24719 = load i32, ptr %24718, align 4, !tbaa !5
  %24720 = call ptr @s2n_strerror(i32 noundef %24719, ptr noundef @.str.80)
  %24721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24722 = load i32, ptr %24721, align 4, !tbaa !5
  %24723 = call ptr @s2n_strerror_debug(i32 noundef %24722, ptr noundef @.str.80)
  %24724 = call ptr @__errno_location() #12
  %24725 = load i32, ptr %24724, align 4, !tbaa !5
  %24726 = call ptr @strerror(i32 noundef %24725) #11
  %24727 = call ptr @__errno_location() #12
  %24728 = load i32, ptr %24727, align 4, !tbaa !5
  %24729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24716, ptr noundef @.str.81, i32 noundef %24717, ptr noundef @.str.288, ptr noundef @.str.77, i32 noundef 907, ptr noundef %24720, ptr noundef %24723, ptr noundef %24726, i32 noundef %24728) #11
  br label %24730

24730:                                            ; preds = %24713, %24696
  call void @llvm.lifetime.end.p0(i64 4, ptr %599) #11
  br label %24731

24731:                                            ; preds = %24730
  br label %24732

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

24733:                                            ; No predecessors!
  br label %24734

24734:                                            ; preds = %24733
  br label %24735

24735:                                            ; preds = %24734, %24676
  br label %24736

24736:                                            ; preds = %24735
  br label %24737

24737:                                            ; preds = %24736
  br label %24738

24738:                                            ; preds = %24737
  %24739 = load i32, ptr @test_count, align 4, !tbaa !5
  %24740 = add nsw i32 %24739, 1
  store i32 %24740, ptr @test_count, align 4, !tbaa !5
  %24741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24742 = load i32, ptr %24741, align 4, !tbaa !5
  %24743 = call ptr @s2n_strerror_debug(i32 noundef %24742, ptr noundef @.str.80)
  %24744 = icmp eq ptr %24743, null
  br i1 %24744, label %24745, label %24798

24745:                                            ; preds = %24738
  br label %24746

24746:                                            ; preds = %24745
  br label %24747

24747:                                            ; preds = %24746
  call void @llvm.lifetime.start.p0(i64 4, ptr %600) #11
  %24748 = call ptr @__errno_location() #12
  %24749 = load i32, ptr %24748, align 4, !tbaa !5
  store i32 %24749, ptr %600, align 4, !tbaa !5
  %24750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24751 = call i32 @s2n_print_stacktrace(ptr noundef %24750)
  %24752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24753 = trunc i8 %24752 to i1
  br i1 %24753, label %24754, label %24776

24754:                                            ; preds = %24747
  %24755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24756 = call i32 @fileno(ptr noundef %24755) #11
  %24757 = call i32 @isatty(i32 noundef %24756) #11
  %24758 = icmp ne i32 %24757, 0
  br i1 %24758, label %24759, label %24776

24759:                                            ; preds = %24754
  %24760 = load i32, ptr %600, 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.80)
  %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.80)
  %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.78, i32 noundef %24763, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 907, ptr noundef %24766, ptr noundef %24769, ptr noundef %24772, i32 noundef %24774) #11
  br label %24793

24776:                                            ; preds = %24754, %24747
  %24777 = load i32, ptr %600, align 4, !tbaa !5
  %24778 = call ptr @__errno_location() #12
  store i32 %24777, ptr %24778, align 4, !tbaa !5
  %24779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24780 = load i32, ptr @test_count, align 4, !tbaa !5
  %24781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24782 = load i32, ptr %24781, align 4, !tbaa !5
  %24783 = call ptr @s2n_strerror(i32 noundef %24782, ptr noundef @.str.80)
  %24784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24785 = load i32, ptr %24784, align 4, !tbaa !5
  %24786 = call ptr @s2n_strerror_debug(i32 noundef %24785, ptr noundef @.str.80)
  %24787 = call ptr @__errno_location() #12
  %24788 = load i32, ptr %24787, align 4, !tbaa !5
  %24789 = call ptr @strerror(i32 noundef %24788) #11
  %24790 = call ptr @__errno_location() #12
  %24791 = load i32, ptr %24790, align 4, !tbaa !5
  %24792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24779, ptr noundef @.str.81, i32 noundef %24780, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 907, ptr noundef %24783, ptr noundef %24786, ptr noundef %24789, i32 noundef %24791) #11
  br label %24793

24793:                                            ; preds = %24776, %24759
  call void @llvm.lifetime.end.p0(i64 4, ptr %600) #11
  br label %24794

24794:                                            ; preds = %24793
  br label %24795

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

24796:                                            ; No predecessors!
  br label %24797

24797:                                            ; preds = %24796
  br label %24798

24798:                                            ; preds = %24797, %24738
  br label %24799

24799:                                            ; preds = %24798
  br label %24800

24800:                                            ; preds = %24799
  br label %24801

24801:                                            ; preds = %24800
  br label %24802

24802:                                            ; preds = %24801
  br label %24803

24803:                                            ; preds = %24802
  %24804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %24804, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %24805 = call ptr @__errno_location() #12
  store i32 0, ptr %24805, align 4, !tbaa !5
  br label %24806

24806:                                            ; preds = %24803
  br label %24807

24807:                                            ; preds = %24806
  br label %24808

24808:                                            ; preds = %24807
  br label %24809

24809:                                            ; preds = %24808
  br label %24810

24810:                                            ; preds = %24809
  %24811 = load i32, ptr @test_count, align 4, !tbaa !5
  %24812 = add nsw i32 %24811, 1
  store i32 %24812, ptr @test_count, align 4, !tbaa !5
  %24813 = load ptr, ptr %577, align 8, !tbaa !9
  %24814 = getelementptr inbounds %struct.s2n_connection, ptr %24813, i32 0, i32 33
  %24815 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %24814, i32 0, i32 1
  %24816 = getelementptr inbounds %struct.s2n_array, ptr %24815, i32 0, i32 1
  %24817 = load i32, ptr %24816, align 8, !tbaa !88
  %24818 = load i32, ptr %597, align 4, !tbaa !5
  %24819 = icmp eq i32 %24817, %24818
  br i1 %24819, label %24873, label %24820

24820:                                            ; preds = %24810
  br label %24821

24821:                                            ; preds = %24820
  br label %24822

24822:                                            ; preds = %24821
  call void @llvm.lifetime.start.p0(i64 4, ptr %601) #11
  %24823 = call ptr @__errno_location() #12
  %24824 = load i32, ptr %24823, align 4, !tbaa !5
  store i32 %24824, ptr %601, align 4, !tbaa !5
  %24825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24826 = call i32 @s2n_print_stacktrace(ptr noundef %24825)
  %24827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24828 = trunc i8 %24827 to i1
  br i1 %24828, label %24829, label %24851

24829:                                            ; preds = %24822
  %24830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24831 = call i32 @fileno(ptr noundef %24830) #11
  %24832 = call i32 @isatty(i32 noundef %24831) #11
  %24833 = icmp ne i32 %24832, 0
  br i1 %24833, label %24834, label %24851

24834:                                            ; preds = %24829
  %24835 = load i32, ptr %601, align 4, !tbaa !5
  %24836 = call ptr @__errno_location() #12
  store i32 %24835, ptr %24836, align 4, !tbaa !5
  %24837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24838 = load i32, ptr @test_count, align 4, !tbaa !5
  %24839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24840 = load i32, ptr %24839, align 4, !tbaa !5
  %24841 = call ptr @s2n_strerror(i32 noundef %24840, ptr noundef @.str.80)
  %24842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24843 = load i32, ptr %24842, align 4, !tbaa !5
  %24844 = call ptr @s2n_strerror_debug(i32 noundef %24843, ptr noundef @.str.80)
  %24845 = call ptr @__errno_location() #12
  %24846 = load i32, ptr %24845, align 4, !tbaa !5
  %24847 = call ptr @strerror(i32 noundef %24846) #11
  %24848 = call ptr @__errno_location() #12
  %24849 = load i32, ptr %24848, align 4, !tbaa !5
  %24850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24837, ptr noundef @.str.78, i32 noundef %24838, ptr noundef @.str.303, ptr noundef @.str.77, i32 noundef 908, ptr noundef %24841, ptr noundef %24844, ptr noundef %24847, i32 noundef %24849) #11
  br label %24868

24851:                                            ; preds = %24829, %24822
  %24852 = load i32, ptr %601, align 4, !tbaa !5
  %24853 = call ptr @__errno_location() #12
  store i32 %24852, ptr %24853, align 4, !tbaa !5
  %24854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24855 = load i32, ptr @test_count, align 4, !tbaa !5
  %24856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24857 = load i32, ptr %24856, align 4, !tbaa !5
  %24858 = call ptr @s2n_strerror(i32 noundef %24857, ptr noundef @.str.80)
  %24859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24860 = load i32, ptr %24859, align 4, !tbaa !5
  %24861 = call ptr @s2n_strerror_debug(i32 noundef %24860, ptr noundef @.str.80)
  %24862 = call ptr @__errno_location() #12
  %24863 = load i32, ptr %24862, align 4, !tbaa !5
  %24864 = call ptr @strerror(i32 noundef %24863) #11
  %24865 = call ptr @__errno_location() #12
  %24866 = load i32, ptr %24865, align 4, !tbaa !5
  %24867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24854, ptr noundef @.str.81, i32 noundef %24855, ptr noundef @.str.303, ptr noundef @.str.77, i32 noundef 908, ptr noundef %24858, ptr noundef %24861, ptr noundef %24864, i32 noundef %24866) #11
  br label %24868

24868:                                            ; preds = %24851, %24834
  call void @llvm.lifetime.end.p0(i64 4, ptr %601) #11
  br label %24869

24869:                                            ; preds = %24868
  br label %24870

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

24871:                                            ; No predecessors!
  br label %24872

24872:                                            ; preds = %24871
  br label %24873

24873:                                            ; preds = %24872, %24810
  br label %24874

24874:                                            ; preds = %24873
  br label %24875

24875:                                            ; preds = %24874
  %24876 = load ptr, ptr %577, align 8, !tbaa !9
  %24877 = getelementptr inbounds %struct.s2n_connection, ptr %24876, i32 0, i32 13
  store i32 0, ptr %24877, align 4, !tbaa !90
  br label %24878

24878:                                            ; preds = %24875
  %24879 = load i32, ptr @test_count, align 4, !tbaa !5
  %24880 = add nsw i32 %24879, 1
  store i32 %24880, ptr @test_count, align 4, !tbaa !5
  %24881 = load ptr, ptr %577, align 8, !tbaa !9
  %24882 = load ptr, ptr %489, align 8, !tbaa !9
  %24883 = call i32 @s2n_connection_append_psk(ptr noundef %24881, ptr noundef %24882)
  %24884 = icmp eq i32 %24883, -1
  br i1 %24884, label %24885, label %24938

24885:                                            ; preds = %24878
  br label %24886

24886:                                            ; preds = %24885
  br label %24887

24887:                                            ; preds = %24886
  call void @llvm.lifetime.start.p0(i64 4, ptr %602) #11
  %24888 = call ptr @__errno_location() #12
  %24889 = load i32, ptr %24888, align 4, !tbaa !5
  store i32 %24889, ptr %602, align 4, !tbaa !5
  %24890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24891 = call i32 @s2n_print_stacktrace(ptr noundef %24890)
  %24892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24893 = trunc i8 %24892 to i1
  br i1 %24893, label %24894, label %24916

24894:                                            ; preds = %24887
  %24895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24896 = call i32 @fileno(ptr noundef %24895) #11
  %24897 = call i32 @isatty(i32 noundef %24896) #11
  %24898 = icmp ne i32 %24897, 0
  br i1 %24898, label %24899, label %24916

24899:                                            ; preds = %24894
  %24900 = load i32, ptr %602, align 4, !tbaa !5
  %24901 = call ptr @__errno_location() #12
  store i32 %24900, ptr %24901, align 4, !tbaa !5
  %24902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24903 = load i32, ptr @test_count, align 4, !tbaa !5
  %24904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24905 = load i32, ptr %24904, align 4, !tbaa !5
  %24906 = call ptr @s2n_strerror(i32 noundef %24905, ptr noundef @.str.80)
  %24907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24908 = load i32, ptr %24907, align 4, !tbaa !5
  %24909 = call ptr @s2n_strerror_debug(i32 noundef %24908, ptr noundef @.str.80)
  %24910 = call ptr @__errno_location() #12
  %24911 = load i32, ptr %24910, align 4, !tbaa !5
  %24912 = call ptr @strerror(i32 noundef %24911) #11
  %24913 = call ptr @__errno_location() #12
  %24914 = load i32, ptr %24913, align 4, !tbaa !5
  %24915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24902, ptr noundef @.str.78, i32 noundef %24903, ptr noundef @.str.260, ptr noundef @.str.77, i32 noundef 912, ptr noundef %24906, ptr noundef %24909, ptr noundef %24912, i32 noundef %24914) #11
  br label %24933

24916:                                            ; preds = %24894, %24887
  %24917 = load i32, ptr %602, align 4, !tbaa !5
  %24918 = call ptr @__errno_location() #12
  store i32 %24917, ptr %24918, align 4, !tbaa !5
  %24919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24920 = load i32, ptr @test_count, align 4, !tbaa !5
  %24921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24922 = load i32, ptr %24921, align 4, !tbaa !5
  %24923 = call ptr @s2n_strerror(i32 noundef %24922, ptr noundef @.str.80)
  %24924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24925 = load i32, ptr %24924, align 4, !tbaa !5
  %24926 = call ptr @s2n_strerror_debug(i32 noundef %24925, ptr noundef @.str.80)
  %24927 = call ptr @__errno_location() #12
  %24928 = load i32, ptr %24927, align 4, !tbaa !5
  %24929 = call ptr @strerror(i32 noundef %24928) #11
  %24930 = call ptr @__errno_location() #12
  %24931 = load i32, ptr %24930, align 4, !tbaa !5
  %24932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24919, ptr noundef @.str.81, i32 noundef %24920, ptr noundef @.str.260, ptr noundef @.str.77, i32 noundef 912, ptr noundef %24923, ptr noundef %24926, ptr noundef %24929, i32 noundef %24931) #11
  br label %24933

24933:                                            ; preds = %24916, %24899
  call void @llvm.lifetime.end.p0(i64 4, ptr %602) #11
  br label %24934

24934:                                            ; preds = %24933
  br label %24935

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

24936:                                            ; No predecessors!
  br label %24937

24937:                                            ; preds = %24936
  br label %24938

24938:                                            ; preds = %24937, %24878
  br label %24939

24939:                                            ; preds = %24938
  br label %24940

24940:                                            ; preds = %24939
  br label %24941

24941:                                            ; preds = %24940
  %24942 = load i32, ptr @test_count, align 4, !tbaa !5
  %24943 = add nsw i32 %24942, 1
  store i32 %24943, ptr @test_count, align 4, !tbaa !5
  %24944 = load ptr, ptr %577, align 8, !tbaa !9
  %24945 = getelementptr inbounds %struct.s2n_connection, ptr %24944, i32 0, i32 33
  %24946 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %24945, i32 0, i32 1
  %24947 = getelementptr inbounds %struct.s2n_array, ptr %24946, i32 0, i32 1
  %24948 = load i32, ptr %24947, align 8, !tbaa !88
  %24949 = load i32, ptr %597, align 4, !tbaa !5
  %24950 = add i32 %24949, 1
  %24951 = icmp eq i32 %24948, %24950
  br i1 %24951, label %25005, label %24952

24952:                                            ; preds = %24941
  br label %24953

24953:                                            ; preds = %24952
  br label %24954

24954:                                            ; preds = %24953
  call void @llvm.lifetime.start.p0(i64 4, ptr %603) #11
  %24955 = call ptr @__errno_location() #12
  %24956 = load i32, ptr %24955, align 4, !tbaa !5
  store i32 %24956, ptr %603, align 4, !tbaa !5
  %24957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24958 = call i32 @s2n_print_stacktrace(ptr noundef %24957)
  %24959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24960 = trunc i8 %24959 to i1
  br i1 %24960, label %24961, label %24983

24961:                                            ; preds = %24954
  %24962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24963 = call i32 @fileno(ptr noundef %24962) #11
  %24964 = call i32 @isatty(i32 noundef %24963) #11
  %24965 = icmp ne i32 %24964, 0
  br i1 %24965, label %24966, label %24983

24966:                                            ; preds = %24961
  %24967 = load i32, ptr %603, align 4, !tbaa !5
  %24968 = call ptr @__errno_location() #12
  store i32 %24967, ptr %24968, align 4, !tbaa !5
  %24969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24970 = load i32, ptr @test_count, align 4, !tbaa !5
  %24971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24972 = load i32, ptr %24971, align 4, !tbaa !5
  %24973 = call ptr @s2n_strerror(i32 noundef %24972, ptr noundef @.str.80)
  %24974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24975 = load i32, ptr %24974, align 4, !tbaa !5
  %24976 = call ptr @s2n_strerror_debug(i32 noundef %24975, ptr noundef @.str.80)
  %24977 = call ptr @__errno_location() #12
  %24978 = load i32, ptr %24977, align 4, !tbaa !5
  %24979 = call ptr @strerror(i32 noundef %24978) #11
  %24980 = call ptr @__errno_location() #12
  %24981 = load i32, ptr %24980, align 4, !tbaa !5
  %24982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24969, ptr noundef @.str.78, i32 noundef %24970, ptr noundef @.str.304, ptr noundef @.str.77, i32 noundef 913, ptr noundef %24973, ptr noundef %24976, ptr noundef %24979, i32 noundef %24981) #11
  br label %25000

24983:                                            ; preds = %24961, %24954
  %24984 = load i32, ptr %603, align 4, !tbaa !5
  %24985 = call ptr @__errno_location() #12
  store i32 %24984, ptr %24985, align 4, !tbaa !5
  %24986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24987 = load i32, ptr @test_count, align 4, !tbaa !5
  %24988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24989 = load i32, ptr %24988, align 4, !tbaa !5
  %24990 = call ptr @s2n_strerror(i32 noundef %24989, ptr noundef @.str.80)
  %24991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24992 = load i32, ptr %24991, align 4, !tbaa !5
  %24993 = call ptr @s2n_strerror_debug(i32 noundef %24992, ptr noundef @.str.80)
  %24994 = call ptr @__errno_location() #12
  %24995 = load i32, ptr %24994, align 4, !tbaa !5
  %24996 = call ptr @strerror(i32 noundef %24995) #11
  %24997 = call ptr @__errno_location() #12
  %24998 = load i32, ptr %24997, align 4, !tbaa !5
  %24999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24986, ptr noundef @.str.81, i32 noundef %24987, ptr noundef @.str.304, ptr noundef @.str.77, i32 noundef 913, ptr noundef %24990, ptr noundef %24993, ptr noundef %24996, i32 noundef %24998) #11
  br label %25000

25000:                                            ; preds = %24983, %24966
  call void @llvm.lifetime.end.p0(i64 4, ptr %603) #11
  br label %25001

25001:                                            ; preds = %25000
  br label %25002

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

25003:                                            ; No predecessors!
  br label %25004

25004:                                            ; preds = %25003
  br label %25005

25005:                                            ; preds = %25004, %24941
  br label %25006

25006:                                            ; preds = %25005
  br label %25007

25007:                                            ; preds = %25006
  br label %25008

25008:                                            ; preds = %25007
  %25009 = load i32, ptr @test_count, align 4, !tbaa !5
  %25010 = add nsw i32 %25009, 1
  store i32 %25010, ptr @test_count, align 4, !tbaa !5
  %25011 = load ptr, ptr %577, align 8, !tbaa !9
  %25012 = call i32 @s2n_connection_free(ptr noundef %25011)
  %25013 = icmp eq i32 %25012, -1
  br i1 %25013, label %25014, label %25067

25014:                                            ; preds = %25008
  br label %25015

25015:                                            ; preds = %25014
  br label %25016

25016:                                            ; preds = %25015
  call void @llvm.lifetime.start.p0(i64 4, ptr %604) #11
  %25017 = call ptr @__errno_location() #12
  %25018 = load i32, ptr %25017, align 4, !tbaa !5
  store i32 %25018, ptr %604, align 4, !tbaa !5
  %25019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25020 = call i32 @s2n_print_stacktrace(ptr noundef %25019)
  %25021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25022 = trunc i8 %25021 to i1
  br i1 %25022, label %25023, label %25045

25023:                                            ; preds = %25016
  %25024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25025 = call i32 @fileno(ptr noundef %25024) #11
  %25026 = call i32 @isatty(i32 noundef %25025) #11
  %25027 = icmp ne i32 %25026, 0
  br i1 %25027, label %25028, label %25045

25028:                                            ; preds = %25023
  %25029 = load i32, ptr %604, align 4, !tbaa !5
  %25030 = call ptr @__errno_location() #12
  store i32 %25029, ptr %25030, align 4, !tbaa !5
  %25031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25032 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %25034, ptr noundef @.str.80)
  %25036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25037 = load i32, ptr %25036, align 4, !tbaa !5
  %25038 = call ptr @s2n_strerror_debug(i32 noundef %25037, ptr noundef @.str.80)
  %25039 = call ptr @__errno_location() #12
  %25040 = load i32, ptr %25039, align 4, !tbaa !5
  %25041 = call ptr @strerror(i32 noundef %25040) #11
  %25042 = call ptr @__errno_location() #12
  %25043 = load i32, ptr %25042, align 4, !tbaa !5
  %25044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25031, ptr noundef @.str.78, i32 noundef %25032, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 915, ptr noundef %25035, ptr noundef %25038, ptr noundef %25041, i32 noundef %25043) #11
  br label %25062

25045:                                            ; preds = %25023, %25016
  %25046 = load i32, ptr %604, align 4, !tbaa !5
  %25047 = call ptr @__errno_location() #12
  store i32 %25046, ptr %25047, align 4, !tbaa !5
  %25048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25049 = load i32, ptr @test_count, align 4, !tbaa !5
  %25050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25051 = load i32, ptr %25050, align 4, !tbaa !5
  %25052 = call ptr @s2n_strerror(i32 noundef %25051, ptr noundef @.str.80)
  %25053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25054 = load i32, ptr %25053, align 4, !tbaa !5
  %25055 = call ptr @s2n_strerror_debug(i32 noundef %25054, ptr noundef @.str.80)
  %25056 = call ptr @__errno_location() #12
  %25057 = load i32, ptr %25056, align 4, !tbaa !5
  %25058 = call ptr @strerror(i32 noundef %25057) #11
  %25059 = call ptr @__errno_location() #12
  %25060 = load i32, ptr %25059, align 4, !tbaa !5
  %25061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25048, ptr noundef @.str.81, i32 noundef %25049, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 915, ptr noundef %25052, ptr noundef %25055, ptr noundef %25058, i32 noundef %25060) #11
  br label %25062

25062:                                            ; preds = %25045, %25028
  call void @llvm.lifetime.end.p0(i64 4, ptr %604) #11
  br label %25063

25063:                                            ; preds = %25062
  br label %25064

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

25065:                                            ; No predecessors!
  br label %25066

25066:                                            ; preds = %25065
  br label %25067

25067:                                            ; preds = %25066, %25008
  br label %25068

25068:                                            ; preds = %25067
  br label %25069

25069:                                            ; preds = %25068
  call void @llvm.lifetime.end.p0(i64 4, ptr %597) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %580) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %579) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %577) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %605) #11
  store ptr null, ptr %605, align 8, !tbaa !9
  br label %25070

25070:                                            ; preds = %25069
  %25071 = load i32, ptr @test_count, align 4, !tbaa !5
  %25072 = add nsw i32 %25071, 1
  store i32 %25072, ptr @test_count, align 4, !tbaa !5
  %25073 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %25073, ptr %605, align 8, !tbaa !9
  %25074 = icmp eq ptr %25073, null
  br i1 %25074, label %25075, label %25128

25075:                                            ; preds = %25070
  br label %25076

25076:                                            ; preds = %25075
  br label %25077

25077:                                            ; preds = %25076
  call void @llvm.lifetime.start.p0(i64 4, ptr %606) #11
  %25078 = call ptr @__errno_location() #12
  %25079 = load i32, ptr %25078, align 4, !tbaa !5
  store i32 %25079, ptr %606, align 4, !tbaa !5
  %25080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25081 = call i32 @s2n_print_stacktrace(ptr noundef %25080)
  %25082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25083 = trunc i8 %25082 to i1
  br i1 %25083, label %25084, label %25106

25084:                                            ; preds = %25077
  %25085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25086 = call i32 @fileno(ptr noundef %25085) #11
  %25087 = call i32 @isatty(i32 noundef %25086) #11
  %25088 = icmp ne i32 %25087, 0
  br i1 %25088, label %25089, label %25106

25089:                                            ; preds = %25084
  %25090 = load i32, ptr %606, align 4, !tbaa !5
  %25091 = call ptr @__errno_location() #12
  store i32 %25090, ptr %25091, align 4, !tbaa !5
  %25092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25093 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %25095, ptr noundef @.str.80)
  %25097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25098 = load i32, ptr %25097, align 4, !tbaa !5
  %25099 = call ptr @s2n_strerror_debug(i32 noundef %25098, ptr noundef @.str.80)
  %25100 = call ptr @__errno_location() #12
  %25101 = load i32, ptr %25100, align 4, !tbaa !5
  %25102 = call ptr @strerror(i32 noundef %25101) #11
  %25103 = call ptr @__errno_location() #12
  %25104 = load i32, ptr %25103, align 4, !tbaa !5
  %25105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25092, ptr noundef @.str.78, i32 noundef %25093, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 921, ptr noundef %25096, ptr noundef %25099, ptr noundef %25102, i32 noundef %25104) #11
  br label %25123

25106:                                            ; preds = %25084, %25077
  %25107 = load i32, ptr %606, align 4, !tbaa !5
  %25108 = call ptr @__errno_location() #12
  store i32 %25107, ptr %25108, align 4, !tbaa !5
  %25109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25110 = load i32, ptr @test_count, align 4, !tbaa !5
  %25111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25112 = load i32, ptr %25111, align 4, !tbaa !5
  %25113 = call ptr @s2n_strerror(i32 noundef %25112, ptr noundef @.str.80)
  %25114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25115 = load i32, ptr %25114, align 4, !tbaa !5
  %25116 = call ptr @s2n_strerror_debug(i32 noundef %25115, ptr noundef @.str.80)
  %25117 = call ptr @__errno_location() #12
  %25118 = load i32, ptr %25117, align 4, !tbaa !5
  %25119 = call ptr @strerror(i32 noundef %25118) #11
  %25120 = call ptr @__errno_location() #12
  %25121 = load i32, ptr %25120, align 4, !tbaa !5
  %25122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25109, ptr noundef @.str.81, i32 noundef %25110, ptr noundef @.str.199, ptr noundef @.str.77, i32 noundef 921, ptr noundef %25113, ptr noundef %25116, ptr noundef %25119, i32 noundef %25121) #11
  br label %25123

25123:                                            ; preds = %25106, %25089
  call void @llvm.lifetime.end.p0(i64 4, ptr %606) #11
  br label %25124

25124:                                            ; preds = %25123
  br label %25125

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

25126:                                            ; No predecessors!
  br label %25127

25127:                                            ; preds = %25126
  br label %25128

25128:                                            ; preds = %25127, %25070
  br label %25129

25129:                                            ; preds = %25128
  br label %25130

25130:                                            ; preds = %25129
  br label %25131

25131:                                            ; preds = %25130
  %25132 = load i32, ptr @test_count, align 4, !tbaa !5
  %25133 = add nsw i32 %25132, 1
  store i32 %25133, ptr @test_count, align 4, !tbaa !5
  %25134 = load ptr, ptr %605, align 8, !tbaa !9
  %25135 = load ptr, ptr %489, align 8, !tbaa !9
  %25136 = call i32 @s2n_connection_append_psk(ptr noundef %25134, ptr noundef %25135)
  %25137 = icmp eq i32 %25136, -1
  br i1 %25137, label %25138, label %25191

25138:                                            ; preds = %25131
  br label %25139

25139:                                            ; preds = %25138
  br label %25140

25140:                                            ; preds = %25139
  call void @llvm.lifetime.start.p0(i64 4, ptr %607) #11
  %25141 = call ptr @__errno_location() #12
  %25142 = load i32, ptr %25141, align 4, !tbaa !5
  store i32 %25142, ptr %607, align 4, !tbaa !5
  %25143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25144 = call i32 @s2n_print_stacktrace(ptr noundef %25143)
  %25145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25146 = trunc i8 %25145 to i1
  br i1 %25146, label %25147, label %25169

25147:                                            ; preds = %25140
  %25148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25149 = call i32 @fileno(ptr noundef %25148) #11
  %25150 = call i32 @isatty(i32 noundef %25149) #11
  %25151 = icmp ne i32 %25150, 0
  br i1 %25151, label %25152, label %25169

25152:                                            ; preds = %25147
  %25153 = load i32, ptr %607, align 4, !tbaa !5
  %25154 = call ptr @__errno_location() #12
  store i32 %25153, ptr %25154, align 4, !tbaa !5
  %25155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25156 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %25158, ptr noundef @.str.80)
  %25160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25161 = load i32, ptr %25160, align 4, !tbaa !5
  %25162 = call ptr @s2n_strerror_debug(i32 noundef %25161, ptr noundef @.str.80)
  %25163 = call ptr @__errno_location() #12
  %25164 = load i32, ptr %25163, align 4, !tbaa !5
  %25165 = call ptr @strerror(i32 noundef %25164) #11
  %25166 = call ptr @__errno_location() #12
  %25167 = load i32, ptr %25166, align 4, !tbaa !5
  %25168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25155, ptr noundef @.str.78, i32 noundef %25156, ptr noundef @.str.260, ptr noundef @.str.77, i32 noundef 923, ptr noundef %25159, ptr noundef %25162, ptr noundef %25165, i32 noundef %25167) #11
  br label %25186

25169:                                            ; preds = %25147, %25140
  %25170 = load i32, ptr %607, align 4, !tbaa !5
  %25171 = call ptr @__errno_location() #12
  store i32 %25170, ptr %25171, align 4, !tbaa !5
  %25172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25173 = load i32, ptr @test_count, align 4, !tbaa !5
  %25174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25175 = load i32, ptr %25174, align 4, !tbaa !5
  %25176 = call ptr @s2n_strerror(i32 noundef %25175, ptr noundef @.str.80)
  %25177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25178 = load i32, ptr %25177, align 4, !tbaa !5
  %25179 = call ptr @s2n_strerror_debug(i32 noundef %25178, ptr noundef @.str.80)
  %25180 = call ptr @__errno_location() #12
  %25181 = load i32, ptr %25180, align 4, !tbaa !5
  %25182 = call ptr @strerror(i32 noundef %25181) #11
  %25183 = call ptr @__errno_location() #12
  %25184 = load i32, ptr %25183, align 4, !tbaa !5
  %25185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25172, ptr noundef @.str.81, i32 noundef %25173, ptr noundef @.str.260, ptr noundef @.str.77, i32 noundef 923, ptr noundef %25176, ptr noundef %25179, ptr noundef %25182, i32 noundef %25184) #11
  br label %25186

25186:                                            ; preds = %25169, %25152
  call void @llvm.lifetime.end.p0(i64 4, ptr %607) #11
  br label %25187

25187:                                            ; preds = %25186
  br label %25188

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

25189:                                            ; No predecessors!
  br label %25190

25190:                                            ; preds = %25189
  br label %25191

25191:                                            ; preds = %25190, %25131
  br label %25192

25192:                                            ; preds = %25191
  br label %25193

25193:                                            ; preds = %25192
  br label %25194

25194:                                            ; preds = %25193
  br label %25195

25195:                                            ; preds = %25194
  br label %25196

25196:                                            ; preds = %25195
  %25197 = load i32, ptr @test_count, align 4, !tbaa !5
  %25198 = add nsw i32 %25197, 1
  store i32 %25198, ptr @test_count, align 4, !tbaa !5
  %25199 = load ptr, ptr %605, align 8, !tbaa !9
  %25200 = load ptr, ptr %489, align 8, !tbaa !9
  %25201 = call i32 @s2n_connection_append_psk(ptr noundef %25199, ptr noundef %25200)
  %25202 = icmp eq i32 %25201, -1
  br i1 %25202, label %25256, label %25203

25203:                                            ; preds = %25196
  br label %25204

25204:                                            ; preds = %25203
  br label %25205

25205:                                            ; preds = %25204
  call void @llvm.lifetime.start.p0(i64 4, ptr %608) #11
  %25206 = call ptr @__errno_location() #12
  %25207 = load i32, ptr %25206, align 4, !tbaa !5
  store i32 %25207, ptr %608, align 4, !tbaa !5
  %25208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25209 = call i32 @s2n_print_stacktrace(ptr noundef %25208)
  %25210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25211 = trunc i8 %25210 to i1
  br i1 %25211, label %25212, label %25234

25212:                                            ; preds = %25205
  %25213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25214 = call i32 @fileno(ptr noundef %25213) #11
  %25215 = call i32 @isatty(i32 noundef %25214) #11
  %25216 = icmp ne i32 %25215, 0
  br i1 %25216, label %25217, label %25234

25217:                                            ; preds = %25212
  %25218 = load i32, ptr %608, align 4, !tbaa !5
  %25219 = call ptr @__errno_location() #12
  store i32 %25218, ptr %25219, align 4, !tbaa !5
  %25220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25221 = load i32, ptr @test_count, align 4, !tbaa !5
  %25222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25223 = load i32, ptr %25222, align 4, !tbaa !5
  %25224 = call ptr @s2n_strerror(i32 noundef %25223, ptr noundef @.str.80)
  %25225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25226 = load i32, ptr %25225, align 4, !tbaa !5
  %25227 = call ptr @s2n_strerror_debug(i32 noundef %25226, ptr noundef @.str.80)
  %25228 = call ptr @__errno_location() #12
  %25229 = load i32, ptr %25228, align 4, !tbaa !5
  %25230 = call ptr @strerror(i32 noundef %25229) #11
  %25231 = call ptr @__errno_location() #12
  %25232 = load i32, ptr %25231, align 4, !tbaa !5
  %25233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25220, ptr noundef @.str.78, i32 noundef %25221, ptr noundef @.str.302, ptr noundef @.str.77, i32 noundef 925, ptr noundef %25224, ptr noundef %25227, ptr noundef %25230, i32 noundef %25232) #11
  br label %25251

25234:                                            ; preds = %25212, %25205
  %25235 = load i32, ptr %608, align 4, !tbaa !5
  %25236 = call ptr @__errno_location() #12
  store i32 %25235, ptr %25236, align 4, !tbaa !5
  %25237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25238 = load i32, ptr @test_count, align 4, !tbaa !5
  %25239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25240 = load i32, ptr %25239, align 4, !tbaa !5
  %25241 = call ptr @s2n_strerror(i32 noundef %25240, ptr noundef @.str.80)
  %25242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25243 = load i32, ptr %25242, align 4, !tbaa !5
  %25244 = call ptr @s2n_strerror_debug(i32 noundef %25243, ptr noundef @.str.80)
  %25245 = call ptr @__errno_location() #12
  %25246 = load i32, ptr %25245, align 4, !tbaa !5
  %25247 = call ptr @strerror(i32 noundef %25246) #11
  %25248 = call ptr @__errno_location() #12
  %25249 = load i32, ptr %25248, align 4, !tbaa !5
  %25250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25237, ptr noundef @.str.81, i32 noundef %25238, ptr noundef @.str.302, ptr noundef @.str.77, i32 noundef 925, ptr noundef %25241, ptr noundef %25244, ptr noundef %25247, i32 noundef %25249) #11
  br label %25251

25251:                                            ; preds = %25234, %25217
  call void @llvm.lifetime.end.p0(i64 4, ptr %608) #11
  br label %25252

25252:                                            ; preds = %25251
  br label %25253

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

25254:                                            ; No predecessors!
  br label %25255

25255:                                            ; preds = %25254
  br label %25256

25256:                                            ; preds = %25255, %25196
  br label %25257

25257:                                            ; preds = %25256
  br label %25258

25258:                                            ; preds = %25257
  br label %25259

25259:                                            ; preds = %25258
  %25260 = load i32, ptr @test_count, align 4, !tbaa !5
  %25261 = add nsw i32 %25260, 1
  store i32 %25261, ptr @test_count, align 4, !tbaa !5
  %25262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25263 = load i32, ptr %25262, align 4, !tbaa !5
  %25264 = icmp eq i32 %25263, 469762108
  br i1 %25264, label %25318, label %25265

25265:                                            ; preds = %25259
  br label %25266

25266:                                            ; preds = %25265
  br label %25267

25267:                                            ; preds = %25266
  call void @llvm.lifetime.start.p0(i64 4, ptr %609) #11
  %25268 = call ptr @__errno_location() #12
  %25269 = load i32, ptr %25268, align 4, !tbaa !5
  store i32 %25269, ptr %609, align 4, !tbaa !5
  %25270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25271 = call i32 @s2n_print_stacktrace(ptr noundef %25270)
  %25272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25273 = trunc i8 %25272 to i1
  br i1 %25273, label %25274, label %25296

25274:                                            ; preds = %25267
  %25275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25276 = call i32 @fileno(ptr noundef %25275) #11
  %25277 = call i32 @isatty(i32 noundef %25276) #11
  %25278 = icmp ne i32 %25277, 0
  br i1 %25278, label %25279, label %25296

25279:                                            ; preds = %25274
  %25280 = load i32, ptr %609, 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.80)
  %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.80)
  %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.78, i32 noundef %25283, ptr noundef @.str.305, ptr noundef @.str.77, i32 noundef 925, ptr noundef %25286, ptr noundef %25289, ptr noundef %25292, i32 noundef %25294) #11
  br label %25313

25296:                                            ; preds = %25274, %25267
  %25297 = load i32, ptr %609, align 4, !tbaa !5
  %25298 = call ptr @__errno_location() #12
  store i32 %25297, ptr %25298, align 4, !tbaa !5
  %25299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25300 = load i32, ptr @test_count, align 4, !tbaa !5
  %25301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25302 = load i32, ptr %25301, align 4, !tbaa !5
  %25303 = call ptr @s2n_strerror(i32 noundef %25302, ptr noundef @.str.80)
  %25304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25305 = load i32, ptr %25304, align 4, !tbaa !5
  %25306 = call ptr @s2n_strerror_debug(i32 noundef %25305, ptr noundef @.str.80)
  %25307 = call ptr @__errno_location() #12
  %25308 = load i32, ptr %25307, align 4, !tbaa !5
  %25309 = call ptr @strerror(i32 noundef %25308) #11
  %25310 = call ptr @__errno_location() #12
  %25311 = load i32, ptr %25310, align 4, !tbaa !5
  %25312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25299, ptr noundef @.str.81, i32 noundef %25300, ptr noundef @.str.305, ptr noundef @.str.77, i32 noundef 925, ptr noundef %25303, ptr noundef %25306, ptr noundef %25309, i32 noundef %25311) #11
  br label %25313

25313:                                            ; preds = %25296, %25279
  call void @llvm.lifetime.end.p0(i64 4, ptr %609) #11
  br label %25314

25314:                                            ; preds = %25313
  br label %25315

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

25316:                                            ; No predecessors!
  br label %25317

25317:                                            ; preds = %25316
  br label %25318

25318:                                            ; preds = %25317, %25259
  br label %25319

25319:                                            ; preds = %25318
  br label %25320

25320:                                            ; preds = %25319
  br label %25321

25321:                                            ; preds = %25320
  %25322 = load i32, ptr @test_count, align 4, !tbaa !5
  %25323 = add nsw i32 %25322, 1
  store i32 %25323, ptr @test_count, align 4, !tbaa !5
  %25324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25325 = load i32, ptr %25324, align 4, !tbaa !5
  %25326 = call ptr @s2n_strerror_debug(i32 noundef %25325, ptr noundef @.str.80)
  %25327 = icmp eq ptr %25326, null
  br i1 %25327, label %25328, label %25381

25328:                                            ; preds = %25321
  br label %25329

25329:                                            ; preds = %25328
  br label %25330

25330:                                            ; preds = %25329
  call void @llvm.lifetime.start.p0(i64 4, ptr %610) #11
  %25331 = call ptr @__errno_location() #12
  %25332 = load i32, ptr %25331, align 4, !tbaa !5
  store i32 %25332, ptr %610, align 4, !tbaa !5
  %25333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25334 = call i32 @s2n_print_stacktrace(ptr noundef %25333)
  %25335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25336 = trunc i8 %25335 to i1
  br i1 %25336, label %25337, label %25359

25337:                                            ; preds = %25330
  %25338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25339 = call i32 @fileno(ptr noundef %25338) #11
  %25340 = call i32 @isatty(i32 noundef %25339) #11
  %25341 = icmp ne i32 %25340, 0
  br i1 %25341, label %25342, label %25359

25342:                                            ; preds = %25337
  %25343 = load i32, ptr %610, align 4, !tbaa !5
  %25344 = call ptr @__errno_location() #12
  store i32 %25343, ptr %25344, align 4, !tbaa !5
  %25345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25346 = load i32, ptr @test_count, align 4, !tbaa !5
  %25347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25348 = load i32, ptr %25347, align 4, !tbaa !5
  %25349 = call ptr @s2n_strerror(i32 noundef %25348, ptr noundef @.str.80)
  %25350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25351 = load i32, ptr %25350, align 4, !tbaa !5
  %25352 = call ptr @s2n_strerror_debug(i32 noundef %25351, ptr noundef @.str.80)
  %25353 = call ptr @__errno_location() #12
  %25354 = load i32, ptr %25353, align 4, !tbaa !5
  %25355 = call ptr @strerror(i32 noundef %25354) #11
  %25356 = call ptr @__errno_location() #12
  %25357 = load i32, ptr %25356, align 4, !tbaa !5
  %25358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25345, ptr noundef @.str.78, i32 noundef %25346, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 925, ptr noundef %25349, ptr noundef %25352, ptr noundef %25355, i32 noundef %25357) #11
  br label %25376

25359:                                            ; preds = %25337, %25330
  %25360 = load i32, ptr %610, align 4, !tbaa !5
  %25361 = call ptr @__errno_location() #12
  store i32 %25360, ptr %25361, align 4, !tbaa !5
  %25362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25363 = load i32, ptr @test_count, align 4, !tbaa !5
  %25364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25365 = load i32, ptr %25364, align 4, !tbaa !5
  %25366 = call ptr @s2n_strerror(i32 noundef %25365, ptr noundef @.str.80)
  %25367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25368 = load i32, ptr %25367, align 4, !tbaa !5
  %25369 = call ptr @s2n_strerror_debug(i32 noundef %25368, ptr noundef @.str.80)
  %25370 = call ptr @__errno_location() #12
  %25371 = load i32, ptr %25370, align 4, !tbaa !5
  %25372 = call ptr @strerror(i32 noundef %25371) #11
  %25373 = call ptr @__errno_location() #12
  %25374 = load i32, ptr %25373, align 4, !tbaa !5
  %25375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25362, ptr noundef @.str.81, i32 noundef %25363, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 925, ptr noundef %25366, ptr noundef %25369, ptr noundef %25372, i32 noundef %25374) #11
  br label %25376

25376:                                            ; preds = %25359, %25342
  call void @llvm.lifetime.end.p0(i64 4, ptr %610) #11
  br label %25377

25377:                                            ; preds = %25376
  br label %25378

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

25379:                                            ; No predecessors!
  br label %25380

25380:                                            ; preds = %25379
  br label %25381

25381:                                            ; preds = %25380, %25321
  br label %25382

25382:                                            ; preds = %25381
  br label %25383

25383:                                            ; preds = %25382
  br label %25384

25384:                                            ; preds = %25383
  br label %25385

25385:                                            ; preds = %25384
  br label %25386

25386:                                            ; preds = %25385
  %25387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25387, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25388 = call ptr @__errno_location() #12
  store i32 0, ptr %25388, align 4, !tbaa !5
  br label %25389

25389:                                            ; preds = %25386
  br label %25390

25390:                                            ; preds = %25389
  br label %25391

25391:                                            ; preds = %25390
  br label %25392

25392:                                            ; preds = %25391
  br label %25393

25393:                                            ; preds = %25392
  %25394 = load i32, ptr @test_count, align 4, !tbaa !5
  %25395 = add nsw i32 %25394, 1
  store i32 %25395, ptr @test_count, align 4, !tbaa !5
  %25396 = load ptr, ptr %605, align 8, !tbaa !9
  %25397 = call i32 @s2n_connection_free(ptr noundef %25396)
  %25398 = icmp eq i32 %25397, -1
  br i1 %25398, label %25399, label %25452

25399:                                            ; preds = %25393
  br label %25400

25400:                                            ; preds = %25399
  br label %25401

25401:                                            ; preds = %25400
  call void @llvm.lifetime.start.p0(i64 4, ptr %611) #11
  %25402 = call ptr @__errno_location() #12
  %25403 = load i32, ptr %25402, align 4, !tbaa !5
  store i32 %25403, ptr %611, align 4, !tbaa !5
  %25404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25405 = call i32 @s2n_print_stacktrace(ptr noundef %25404)
  %25406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25407 = trunc i8 %25406 to i1
  br i1 %25407, label %25408, label %25430

25408:                                            ; preds = %25401
  %25409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25410 = call i32 @fileno(ptr noundef %25409) #11
  %25411 = call i32 @isatty(i32 noundef %25410) #11
  %25412 = icmp ne i32 %25411, 0
  br i1 %25412, label %25413, label %25430

25413:                                            ; preds = %25408
  %25414 = load i32, ptr %611, align 4, !tbaa !5
  %25415 = call ptr @__errno_location() #12
  store i32 %25414, ptr %25415, align 4, !tbaa !5
  %25416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25417 = load i32, ptr @test_count, align 4, !tbaa !5
  %25418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25419 = load i32, ptr %25418, align 4, !tbaa !5
  %25420 = call ptr @s2n_strerror(i32 noundef %25419, ptr noundef @.str.80)
  %25421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25422 = load i32, ptr %25421, align 4, !tbaa !5
  %25423 = call ptr @s2n_strerror_debug(i32 noundef %25422, ptr noundef @.str.80)
  %25424 = call ptr @__errno_location() #12
  %25425 = load i32, ptr %25424, align 4, !tbaa !5
  %25426 = call ptr @strerror(i32 noundef %25425) #11
  %25427 = call ptr @__errno_location() #12
  %25428 = load i32, ptr %25427, align 4, !tbaa !5
  %25429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25416, ptr noundef @.str.78, i32 noundef %25417, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 927, ptr noundef %25420, ptr noundef %25423, ptr noundef %25426, i32 noundef %25428) #11
  br label %25447

25430:                                            ; preds = %25408, %25401
  %25431 = load i32, ptr %611, align 4, !tbaa !5
  %25432 = call ptr @__errno_location() #12
  store i32 %25431, ptr %25432, align 4, !tbaa !5
  %25433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25434 = load i32, ptr @test_count, align 4, !tbaa !5
  %25435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25436 = load i32, ptr %25435, align 4, !tbaa !5
  %25437 = call ptr @s2n_strerror(i32 noundef %25436, ptr noundef @.str.80)
  %25438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25439 = load i32, ptr %25438, align 4, !tbaa !5
  %25440 = call ptr @s2n_strerror_debug(i32 noundef %25439, ptr noundef @.str.80)
  %25441 = call ptr @__errno_location() #12
  %25442 = load i32, ptr %25441, align 4, !tbaa !5
  %25443 = call ptr @strerror(i32 noundef %25442) #11
  %25444 = call ptr @__errno_location() #12
  %25445 = load i32, ptr %25444, align 4, !tbaa !5
  %25446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25433, ptr noundef @.str.81, i32 noundef %25434, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 927, ptr noundef %25437, ptr noundef %25440, ptr noundef %25443, i32 noundef %25445) #11
  br label %25447

25447:                                            ; preds = %25430, %25413
  call void @llvm.lifetime.end.p0(i64 4, ptr %611) #11
  br label %25448

25448:                                            ; preds = %25447
  br label %25449

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

25450:                                            ; No predecessors!
  br label %25451

25451:                                            ; preds = %25450
  br label %25452

25452:                                            ; preds = %25451, %25393
  br label %25453

25453:                                            ; preds = %25452
  br label %25454

25454:                                            ; preds = %25453
  call void @llvm.lifetime.end.p0(i64 8, ptr %605) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %612) #11
  %25455 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %25455, ptr %612, align 8, !tbaa !9
  br label %25456

25456:                                            ; preds = %25454
  %25457 = load i32, ptr @test_count, align 4, !tbaa !5
  %25458 = add nsw i32 %25457, 1
  store i32 %25458, ptr @test_count, align 4, !tbaa !5
  %25459 = load ptr, ptr %612, align 8, !tbaa !9
  %25460 = icmp eq ptr %25459, null
  br i1 %25460, label %25461, label %25514

25461:                                            ; preds = %25456
  br label %25462

25462:                                            ; preds = %25461
  br label %25463

25463:                                            ; preds = %25462
  call void @llvm.lifetime.start.p0(i64 4, ptr %613) #11
  %25464 = call ptr @__errno_location() #12
  %25465 = load i32, ptr %25464, align 4, !tbaa !5
  store i32 %25465, ptr %613, align 4, !tbaa !5
  %25466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25467 = call i32 @s2n_print_stacktrace(ptr noundef %25466)
  %25468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25469 = trunc i8 %25468 to i1
  br i1 %25469, label %25470, label %25492

25470:                                            ; preds = %25463
  %25471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25472 = call i32 @fileno(ptr noundef %25471) #11
  %25473 = call i32 @isatty(i32 noundef %25472) #11
  %25474 = icmp ne i32 %25473, 0
  br i1 %25474, label %25475, label %25492

25475:                                            ; preds = %25470
  %25476 = load i32, ptr %613, align 4, !tbaa !5
  %25477 = call ptr @__errno_location() #12
  store i32 %25476, ptr %25477, align 4, !tbaa !5
  %25478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25479 = load i32, ptr @test_count, align 4, !tbaa !5
  %25480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25481 = load i32, ptr %25480, align 4, !tbaa !5
  %25482 = call ptr @s2n_strerror(i32 noundef %25481, ptr noundef @.str.80)
  %25483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25484 = load i32, ptr %25483, align 4, !tbaa !5
  %25485 = call ptr @s2n_strerror_debug(i32 noundef %25484, ptr noundef @.str.80)
  %25486 = call ptr @__errno_location() #12
  %25487 = load i32, ptr %25486, align 4, !tbaa !5
  %25488 = call ptr @strerror(i32 noundef %25487) #11
  %25489 = call ptr @__errno_location() #12
  %25490 = load i32, ptr %25489, align 4, !tbaa !5
  %25491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25478, ptr noundef @.str.78, i32 noundef %25479, ptr noundef @.str.281, ptr noundef @.str.77, i32 noundef 933, ptr noundef %25482, ptr noundef %25485, ptr noundef %25488, i32 noundef %25490) #11
  br label %25509

25492:                                            ; preds = %25470, %25463
  %25493 = load i32, ptr %613, align 4, !tbaa !5
  %25494 = call ptr @__errno_location() #12
  store i32 %25493, ptr %25494, align 4, !tbaa !5
  %25495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25496 = load i32, ptr @test_count, align 4, !tbaa !5
  %25497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25498 = load i32, ptr %25497, align 4, !tbaa !5
  %25499 = call ptr @s2n_strerror(i32 noundef %25498, ptr noundef @.str.80)
  %25500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25501 = load i32, ptr %25500, align 4, !tbaa !5
  %25502 = call ptr @s2n_strerror_debug(i32 noundef %25501, ptr noundef @.str.80)
  %25503 = call ptr @__errno_location() #12
  %25504 = load i32, ptr %25503, align 4, !tbaa !5
  %25505 = call ptr @strerror(i32 noundef %25504) #11
  %25506 = call ptr @__errno_location() #12
  %25507 = load i32, ptr %25506, align 4, !tbaa !5
  %25508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25495, ptr noundef @.str.81, i32 noundef %25496, ptr noundef @.str.281, ptr noundef @.str.77, i32 noundef 933, ptr noundef %25499, ptr noundef %25502, ptr noundef %25505, i32 noundef %25507) #11
  br label %25509

25509:                                            ; preds = %25492, %25475
  call void @llvm.lifetime.end.p0(i64 4, ptr %613) #11
  br label %25510

25510:                                            ; preds = %25509
  br label %25511

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

25512:                                            ; No predecessors!
  br label %25513

25513:                                            ; preds = %25512
  br label %25514

25514:                                            ; preds = %25513, %25456
  br label %25515

25515:                                            ; preds = %25514
  br label %25516

25516:                                            ; preds = %25515
  call void @llvm.lifetime.start.p0(i64 8, ptr %614) #11
  %25517 = load ptr, ptr %612, align 8, !tbaa !9
  %25518 = call ptr @s2n_test_psk_new(ptr noundef %25517)
  store ptr %25518, ptr %614, align 8, !tbaa !9
  %25519 = load ptr, ptr %614, align 8, !tbaa !9
  %25520 = getelementptr inbounds %struct.s2n_psk, ptr %25519, i32 0, i32 0
  store i32 1, ptr %25520, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %615) #11
  %25521 = load ptr, ptr %612, align 8, !tbaa !9
  %25522 = call ptr @s2n_test_psk_new(ptr noundef %25521)
  store ptr %25522, ptr %615, align 8, !tbaa !9
  %25523 = load ptr, ptr %615, align 8, !tbaa !9
  %25524 = getelementptr inbounds %struct.s2n_psk, ptr %25523, i32 0, i32 0
  store i32 0, ptr %25524, align 8, !tbaa !15
  br label %25525

25525:                                            ; preds = %25516
  %25526 = load i32, ptr @test_count, align 4, !tbaa !5
  %25527 = add nsw i32 %25526, 1
  store i32 %25527, ptr @test_count, align 4, !tbaa !5
  %25528 = load ptr, ptr %612, align 8, !tbaa !9
  %25529 = load ptr, ptr %614, align 8, !tbaa !9
  %25530 = call i32 @s2n_connection_append_psk(ptr noundef %25528, ptr noundef %25529)
  %25531 = icmp eq i32 %25530, -1
  br i1 %25531, label %25532, label %25585

25532:                                            ; preds = %25525
  br label %25533

25533:                                            ; preds = %25532
  br label %25534

25534:                                            ; preds = %25533
  call void @llvm.lifetime.start.p0(i64 4, ptr %616) #11
  %25535 = call ptr @__errno_location() #12
  %25536 = load i32, ptr %25535, align 4, !tbaa !5
  store i32 %25536, ptr %616, align 4, !tbaa !5
  %25537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25538 = call i32 @s2n_print_stacktrace(ptr noundef %25537)
  %25539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25540 = trunc i8 %25539 to i1
  br i1 %25540, label %25541, label %25563

25541:                                            ; preds = %25534
  %25542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25543 = call i32 @fileno(ptr noundef %25542) #11
  %25544 = call i32 @isatty(i32 noundef %25543) #11
  %25545 = icmp ne i32 %25544, 0
  br i1 %25545, label %25546, label %25563

25546:                                            ; preds = %25541
  %25547 = load i32, ptr %616, align 4, !tbaa !5
  %25548 = call ptr @__errno_location() #12
  store i32 %25547, ptr %25548, align 4, !tbaa !5
  %25549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25550 = load i32, ptr @test_count, align 4, !tbaa !5
  %25551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25552 = load i32, ptr %25551, align 4, !tbaa !5
  %25553 = call ptr @s2n_strerror(i32 noundef %25552, ptr noundef @.str.80)
  %25554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25555 = load i32, ptr %25554, align 4, !tbaa !5
  %25556 = call ptr @s2n_strerror_debug(i32 noundef %25555, ptr noundef @.str.80)
  %25557 = call ptr @__errno_location() #12
  %25558 = load i32, ptr %25557, align 4, !tbaa !5
  %25559 = call ptr @strerror(i32 noundef %25558) #11
  %25560 = call ptr @__errno_location() #12
  %25561 = load i32, ptr %25560, align 4, !tbaa !5
  %25562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25549, ptr noundef @.str.78, i32 noundef %25550, ptr noundef @.str.306, ptr noundef @.str.77, i32 noundef 942, ptr noundef %25553, ptr noundef %25556, ptr noundef %25559, i32 noundef %25561) #11
  br label %25580

25563:                                            ; preds = %25541, %25534
  %25564 = load i32, ptr %616, align 4, !tbaa !5
  %25565 = call ptr @__errno_location() #12
  store i32 %25564, ptr %25565, align 4, !tbaa !5
  %25566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25567 = load i32, ptr @test_count, align 4, !tbaa !5
  %25568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25569 = load i32, ptr %25568, align 4, !tbaa !5
  %25570 = call ptr @s2n_strerror(i32 noundef %25569, ptr noundef @.str.80)
  %25571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25572 = load i32, ptr %25571, align 4, !tbaa !5
  %25573 = call ptr @s2n_strerror_debug(i32 noundef %25572, ptr noundef @.str.80)
  %25574 = call ptr @__errno_location() #12
  %25575 = load i32, ptr %25574, align 4, !tbaa !5
  %25576 = call ptr @strerror(i32 noundef %25575) #11
  %25577 = call ptr @__errno_location() #12
  %25578 = load i32, ptr %25577, align 4, !tbaa !5
  %25579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25566, ptr noundef @.str.81, i32 noundef %25567, ptr noundef @.str.306, ptr noundef @.str.77, i32 noundef 942, ptr noundef %25570, ptr noundef %25573, ptr noundef %25576, i32 noundef %25578) #11
  br label %25580

25580:                                            ; preds = %25563, %25546
  call void @llvm.lifetime.end.p0(i64 4, ptr %616) #11
  br label %25581

25581:                                            ; preds = %25580
  br label %25582

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

25583:                                            ; No predecessors!
  br label %25584

25584:                                            ; preds = %25583
  br label %25585

25585:                                            ; preds = %25584, %25525
  br label %25586

25586:                                            ; preds = %25585
  br label %25587

25587:                                            ; preds = %25586
  br label %25588

25588:                                            ; preds = %25587
  br label %25589

25589:                                            ; preds = %25588
  br label %25590

25590:                                            ; preds = %25589
  %25591 = load i32, ptr @test_count, align 4, !tbaa !5
  %25592 = add nsw i32 %25591, 1
  store i32 %25592, ptr @test_count, align 4, !tbaa !5
  %25593 = load ptr, ptr %612, align 8, !tbaa !9
  %25594 = load ptr, ptr %615, align 8, !tbaa !9
  %25595 = call i32 @s2n_connection_append_psk(ptr noundef %25593, ptr noundef %25594)
  %25596 = icmp eq i32 %25595, -1
  br i1 %25596, label %25650, label %25597

25597:                                            ; preds = %25590
  br label %25598

25598:                                            ; preds = %25597
  br label %25599

25599:                                            ; preds = %25598
  call void @llvm.lifetime.start.p0(i64 4, ptr %617) #11
  %25600 = call ptr @__errno_location() #12
  %25601 = load i32, ptr %25600, align 4, !tbaa !5
  store i32 %25601, ptr %617, align 4, !tbaa !5
  %25602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25603 = call i32 @s2n_print_stacktrace(ptr noundef %25602)
  %25604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25605 = trunc i8 %25604 to i1
  br i1 %25605, label %25606, label %25628

25606:                                            ; preds = %25599
  %25607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25608 = call i32 @fileno(ptr noundef %25607) #11
  %25609 = call i32 @isatty(i32 noundef %25608) #11
  %25610 = icmp ne i32 %25609, 0
  br i1 %25610, label %25611, label %25628

25611:                                            ; preds = %25606
  %25612 = load i32, ptr %617, align 4, !tbaa !5
  %25613 = call ptr @__errno_location() #12
  store i32 %25612, ptr %25613, align 4, !tbaa !5
  %25614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25615 = load i32, ptr @test_count, align 4, !tbaa !5
  %25616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25617 = load i32, ptr %25616, align 4, !tbaa !5
  %25618 = call ptr @s2n_strerror(i32 noundef %25617, ptr noundef @.str.80)
  %25619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25620 = load i32, ptr %25619, align 4, !tbaa !5
  %25621 = call ptr @s2n_strerror_debug(i32 noundef %25620, ptr noundef @.str.80)
  %25622 = call ptr @__errno_location() #12
  %25623 = load i32, ptr %25622, align 4, !tbaa !5
  %25624 = call ptr @strerror(i32 noundef %25623) #11
  %25625 = call ptr @__errno_location() #12
  %25626 = load i32, ptr %25625, align 4, !tbaa !5
  %25627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25614, ptr noundef @.str.78, i32 noundef %25615, ptr noundef @.str.307, ptr noundef @.str.77, i32 noundef 944, ptr noundef %25618, ptr noundef %25621, ptr noundef %25624, i32 noundef %25626) #11
  br label %25645

25628:                                            ; preds = %25606, %25599
  %25629 = load i32, ptr %617, align 4, !tbaa !5
  %25630 = call ptr @__errno_location() #12
  store i32 %25629, ptr %25630, align 4, !tbaa !5
  %25631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25632 = load i32, ptr @test_count, align 4, !tbaa !5
  %25633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25634 = load i32, ptr %25633, align 4, !tbaa !5
  %25635 = call ptr @s2n_strerror(i32 noundef %25634, ptr noundef @.str.80)
  %25636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25637 = load i32, ptr %25636, align 4, !tbaa !5
  %25638 = call ptr @s2n_strerror_debug(i32 noundef %25637, ptr noundef @.str.80)
  %25639 = call ptr @__errno_location() #12
  %25640 = load i32, ptr %25639, align 4, !tbaa !5
  %25641 = call ptr @strerror(i32 noundef %25640) #11
  %25642 = call ptr @__errno_location() #12
  %25643 = load i32, ptr %25642, align 4, !tbaa !5
  %25644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25631, ptr noundef @.str.81, i32 noundef %25632, ptr noundef @.str.307, ptr noundef @.str.77, i32 noundef 944, ptr noundef %25635, ptr noundef %25638, ptr noundef %25641, i32 noundef %25643) #11
  br label %25645

25645:                                            ; preds = %25628, %25611
  call void @llvm.lifetime.end.p0(i64 4, ptr %617) #11
  br label %25646

25646:                                            ; preds = %25645
  br label %25647

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

25648:                                            ; No predecessors!
  br label %25649

25649:                                            ; preds = %25648
  br label %25650

25650:                                            ; preds = %25649, %25590
  br label %25651

25651:                                            ; preds = %25650
  br label %25652

25652:                                            ; preds = %25651
  br label %25653

25653:                                            ; preds = %25652
  %25654 = load i32, ptr @test_count, align 4, !tbaa !5
  %25655 = add nsw i32 %25654, 1
  store i32 %25655, ptr @test_count, align 4, !tbaa !5
  %25656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25657 = load i32, ptr %25656, align 4, !tbaa !5
  %25658 = icmp eq i32 %25657, 469762117
  br i1 %25658, label %25712, label %25659

25659:                                            ; preds = %25653
  br label %25660

25660:                                            ; preds = %25659
  br label %25661

25661:                                            ; preds = %25660
  call void @llvm.lifetime.start.p0(i64 4, ptr %618) #11
  %25662 = call ptr @__errno_location() #12
  %25663 = load i32, ptr %25662, align 4, !tbaa !5
  store i32 %25663, ptr %618, align 4, !tbaa !5
  %25664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25665 = call i32 @s2n_print_stacktrace(ptr noundef %25664)
  %25666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25667 = trunc i8 %25666 to i1
  br i1 %25667, label %25668, label %25690

25668:                                            ; preds = %25661
  %25669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25670 = call i32 @fileno(ptr noundef %25669) #11
  %25671 = call i32 @isatty(i32 noundef %25670) #11
  %25672 = icmp ne i32 %25671, 0
  br i1 %25672, label %25673, label %25690

25673:                                            ; preds = %25668
  %25674 = load i32, ptr %618, align 4, !tbaa !5
  %25675 = call ptr @__errno_location() #12
  store i32 %25674, ptr %25675, align 4, !tbaa !5
  %25676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25677 = load i32, ptr @test_count, align 4, !tbaa !5
  %25678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25679 = load i32, ptr %25678, align 4, !tbaa !5
  %25680 = call ptr @s2n_strerror(i32 noundef %25679, ptr noundef @.str.80)
  %25681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25682 = load i32, ptr %25681, align 4, !tbaa !5
  %25683 = call ptr @s2n_strerror_debug(i32 noundef %25682, ptr noundef @.str.80)
  %25684 = call ptr @__errno_location() #12
  %25685 = load i32, ptr %25684, align 4, !tbaa !5
  %25686 = call ptr @strerror(i32 noundef %25685) #11
  %25687 = call ptr @__errno_location() #12
  %25688 = load i32, ptr %25687, align 4, !tbaa !5
  %25689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25676, ptr noundef @.str.78, i32 noundef %25677, ptr noundef @.str.308, ptr noundef @.str.77, i32 noundef 944, ptr noundef %25680, ptr noundef %25683, ptr noundef %25686, i32 noundef %25688) #11
  br label %25707

25690:                                            ; preds = %25668, %25661
  %25691 = load i32, ptr %618, align 4, !tbaa !5
  %25692 = call ptr @__errno_location() #12
  store i32 %25691, ptr %25692, align 4, !tbaa !5
  %25693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25694 = load i32, ptr @test_count, align 4, !tbaa !5
  %25695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25696 = load i32, ptr %25695, align 4, !tbaa !5
  %25697 = call ptr @s2n_strerror(i32 noundef %25696, ptr noundef @.str.80)
  %25698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25699 = load i32, ptr %25698, align 4, !tbaa !5
  %25700 = call ptr @s2n_strerror_debug(i32 noundef %25699, ptr noundef @.str.80)
  %25701 = call ptr @__errno_location() #12
  %25702 = load i32, ptr %25701, align 4, !tbaa !5
  %25703 = call ptr @strerror(i32 noundef %25702) #11
  %25704 = call ptr @__errno_location() #12
  %25705 = load i32, ptr %25704, align 4, !tbaa !5
  %25706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25693, ptr noundef @.str.81, i32 noundef %25694, ptr noundef @.str.308, ptr noundef @.str.77, i32 noundef 944, ptr noundef %25697, ptr noundef %25700, ptr noundef %25703, i32 noundef %25705) #11
  br label %25707

25707:                                            ; preds = %25690, %25673
  call void @llvm.lifetime.end.p0(i64 4, ptr %618) #11
  br label %25708

25708:                                            ; preds = %25707
  br label %25709

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

25710:                                            ; No predecessors!
  br label %25711

25711:                                            ; preds = %25710
  br label %25712

25712:                                            ; preds = %25711, %25653
  br label %25713

25713:                                            ; preds = %25712
  br label %25714

25714:                                            ; preds = %25713
  br label %25715

25715:                                            ; preds = %25714
  %25716 = load i32, ptr @test_count, align 4, !tbaa !5
  %25717 = add nsw i32 %25716, 1
  store i32 %25717, ptr @test_count, align 4, !tbaa !5
  %25718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25719 = load i32, ptr %25718, align 4, !tbaa !5
  %25720 = call ptr @s2n_strerror_debug(i32 noundef %25719, ptr noundef @.str.80)
  %25721 = icmp eq ptr %25720, null
  br i1 %25721, label %25722, label %25775

25722:                                            ; preds = %25715
  br label %25723

25723:                                            ; preds = %25722
  br label %25724

25724:                                            ; preds = %25723
  call void @llvm.lifetime.start.p0(i64 4, ptr %619) #11
  %25725 = call ptr @__errno_location() #12
  %25726 = load i32, ptr %25725, align 4, !tbaa !5
  store i32 %25726, ptr %619, align 4, !tbaa !5
  %25727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25728 = call i32 @s2n_print_stacktrace(ptr noundef %25727)
  %25729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25730 = trunc i8 %25729 to i1
  br i1 %25730, label %25731, label %25753

25731:                                            ; preds = %25724
  %25732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25733 = call i32 @fileno(ptr noundef %25732) #11
  %25734 = call i32 @isatty(i32 noundef %25733) #11
  %25735 = icmp ne i32 %25734, 0
  br i1 %25735, label %25736, label %25753

25736:                                            ; preds = %25731
  %25737 = load i32, ptr %619, align 4, !tbaa !5
  %25738 = call ptr @__errno_location() #12
  store i32 %25737, ptr %25738, align 4, !tbaa !5
  %25739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25740 = load i32, ptr @test_count, align 4, !tbaa !5
  %25741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25742 = load i32, ptr %25741, align 4, !tbaa !5
  %25743 = call ptr @s2n_strerror(i32 noundef %25742, ptr noundef @.str.80)
  %25744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25745 = load i32, ptr %25744, align 4, !tbaa !5
  %25746 = call ptr @s2n_strerror_debug(i32 noundef %25745, ptr noundef @.str.80)
  %25747 = call ptr @__errno_location() #12
  %25748 = load i32, ptr %25747, align 4, !tbaa !5
  %25749 = call ptr @strerror(i32 noundef %25748) #11
  %25750 = call ptr @__errno_location() #12
  %25751 = load i32, ptr %25750, align 4, !tbaa !5
  %25752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25739, ptr noundef @.str.78, i32 noundef %25740, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 944, ptr noundef %25743, ptr noundef %25746, ptr noundef %25749, i32 noundef %25751) #11
  br label %25770

25753:                                            ; preds = %25731, %25724
  %25754 = load i32, ptr %619, align 4, !tbaa !5
  %25755 = call ptr @__errno_location() #12
  store i32 %25754, ptr %25755, align 4, !tbaa !5
  %25756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25757 = load i32, ptr @test_count, align 4, !tbaa !5
  %25758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25759 = load i32, ptr %25758, align 4, !tbaa !5
  %25760 = call ptr @s2n_strerror(i32 noundef %25759, ptr noundef @.str.80)
  %25761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25762 = load i32, ptr %25761, align 4, !tbaa !5
  %25763 = call ptr @s2n_strerror_debug(i32 noundef %25762, ptr noundef @.str.80)
  %25764 = call ptr @__errno_location() #12
  %25765 = load i32, ptr %25764, align 4, !tbaa !5
  %25766 = call ptr @strerror(i32 noundef %25765) #11
  %25767 = call ptr @__errno_location() #12
  %25768 = load i32, ptr %25767, align 4, !tbaa !5
  %25769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25756, ptr noundef @.str.81, i32 noundef %25757, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 944, ptr noundef %25760, ptr noundef %25763, ptr noundef %25766, i32 noundef %25768) #11
  br label %25770

25770:                                            ; preds = %25753, %25736
  call void @llvm.lifetime.end.p0(i64 4, ptr %619) #11
  br label %25771

25771:                                            ; preds = %25770
  br label %25772

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

25773:                                            ; No predecessors!
  br label %25774

25774:                                            ; preds = %25773
  br label %25775

25775:                                            ; preds = %25774, %25715
  br label %25776

25776:                                            ; preds = %25775
  br label %25777

25777:                                            ; preds = %25776
  br label %25778

25778:                                            ; preds = %25777
  br label %25779

25779:                                            ; preds = %25778
  br label %25780

25780:                                            ; preds = %25779
  %25781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %25781, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %25782 = call ptr @__errno_location() #12
  store i32 0, ptr %25782, align 4, !tbaa !5
  br label %25783

25783:                                            ; preds = %25780
  br label %25784

25784:                                            ; preds = %25783
  br label %25785

25785:                                            ; preds = %25784
  br label %25786

25786:                                            ; preds = %25785
  br label %25787

25787:                                            ; preds = %25786
  %25788 = load i32, ptr @test_count, align 4, !tbaa !5
  %25789 = add nsw i32 %25788, 1
  store i32 %25789, ptr @test_count, align 4, !tbaa !5
  %25790 = load ptr, ptr %612, align 8, !tbaa !9
  %25791 = call i32 @s2n_connection_wipe(ptr noundef %25790)
  %25792 = icmp eq i32 %25791, -1
  br i1 %25792, label %25793, label %25846

25793:                                            ; preds = %25787
  br label %25794

25794:                                            ; preds = %25793
  br label %25795

25795:                                            ; preds = %25794
  call void @llvm.lifetime.start.p0(i64 4, ptr %620) #11
  %25796 = call ptr @__errno_location() #12
  %25797 = load i32, ptr %25796, align 4, !tbaa !5
  store i32 %25797, ptr %620, align 4, !tbaa !5
  %25798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25799 = call i32 @s2n_print_stacktrace(ptr noundef %25798)
  %25800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25801 = trunc i8 %25800 to i1
  br i1 %25801, label %25802, label %25824

25802:                                            ; preds = %25795
  %25803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25804 = call i32 @fileno(ptr noundef %25803) #11
  %25805 = call i32 @isatty(i32 noundef %25804) #11
  %25806 = icmp ne i32 %25805, 0
  br i1 %25806, label %25807, label %25824

25807:                                            ; preds = %25802
  %25808 = load i32, ptr %620, align 4, !tbaa !5
  %25809 = call ptr @__errno_location() #12
  store i32 %25808, ptr %25809, align 4, !tbaa !5
  %25810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25811 = load i32, ptr @test_count, align 4, !tbaa !5
  %25812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25813 = load i32, ptr %25812, align 4, !tbaa !5
  %25814 = call ptr @s2n_strerror(i32 noundef %25813, ptr noundef @.str.80)
  %25815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25816 = load i32, ptr %25815, align 4, !tbaa !5
  %25817 = call ptr @s2n_strerror_debug(i32 noundef %25816, ptr noundef @.str.80)
  %25818 = call ptr @__errno_location() #12
  %25819 = load i32, ptr %25818, align 4, !tbaa !5
  %25820 = call ptr @strerror(i32 noundef %25819) #11
  %25821 = call ptr @__errno_location() #12
  %25822 = load i32, ptr %25821, align 4, !tbaa !5
  %25823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25810, ptr noundef @.str.78, i32 noundef %25811, ptr noundef @.str.188, ptr noundef @.str.77, i32 noundef 947, ptr noundef %25814, ptr noundef %25817, ptr noundef %25820, i32 noundef %25822) #11
  br label %25841

25824:                                            ; preds = %25802, %25795
  %25825 = load i32, ptr %620, align 4, !tbaa !5
  %25826 = call ptr @__errno_location() #12
  store i32 %25825, ptr %25826, align 4, !tbaa !5
  %25827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25828 = load i32, ptr @test_count, align 4, !tbaa !5
  %25829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25830 = load i32, ptr %25829, align 4, !tbaa !5
  %25831 = call ptr @s2n_strerror(i32 noundef %25830, ptr noundef @.str.80)
  %25832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25833 = load i32, ptr %25832, align 4, !tbaa !5
  %25834 = call ptr @s2n_strerror_debug(i32 noundef %25833, ptr noundef @.str.80)
  %25835 = call ptr @__errno_location() #12
  %25836 = load i32, ptr %25835, align 4, !tbaa !5
  %25837 = call ptr @strerror(i32 noundef %25836) #11
  %25838 = call ptr @__errno_location() #12
  %25839 = load i32, ptr %25838, align 4, !tbaa !5
  %25840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25827, ptr noundef @.str.81, i32 noundef %25828, ptr noundef @.str.188, ptr noundef @.str.77, i32 noundef 947, ptr noundef %25831, ptr noundef %25834, ptr noundef %25837, i32 noundef %25839) #11
  br label %25841

25841:                                            ; preds = %25824, %25807
  call void @llvm.lifetime.end.p0(i64 4, ptr %620) #11
  br label %25842

25842:                                            ; preds = %25841
  br label %25843

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

25844:                                            ; No predecessors!
  br label %25845

25845:                                            ; preds = %25844
  br label %25846

25846:                                            ; preds = %25845, %25787
  br label %25847

25847:                                            ; preds = %25846
  br label %25848

25848:                                            ; preds = %25847
  br label %25849

25849:                                            ; preds = %25848
  %25850 = load i32, ptr @test_count, align 4, !tbaa !5
  %25851 = add nsw i32 %25850, 1
  store i32 %25851, ptr @test_count, align 4, !tbaa !5
  %25852 = load ptr, ptr %612, align 8, !tbaa !9
  %25853 = load ptr, ptr %615, align 8, !tbaa !9
  %25854 = call i32 @s2n_connection_append_psk(ptr noundef %25852, ptr noundef %25853)
  %25855 = icmp eq i32 %25854, -1
  br i1 %25855, label %25856, label %25909

25856:                                            ; preds = %25849
  br label %25857

25857:                                            ; preds = %25856
  br label %25858

25858:                                            ; preds = %25857
  call void @llvm.lifetime.start.p0(i64 4, ptr %621) #11
  %25859 = call ptr @__errno_location() #12
  %25860 = load i32, ptr %25859, align 4, !tbaa !5
  store i32 %25860, ptr %621, align 4, !tbaa !5
  %25861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25862 = call i32 @s2n_print_stacktrace(ptr noundef %25861)
  %25863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25864 = trunc i8 %25863 to i1
  br i1 %25864, label %25865, label %25887

25865:                                            ; preds = %25858
  %25866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25867 = call i32 @fileno(ptr noundef %25866) #11
  %25868 = call i32 @isatty(i32 noundef %25867) #11
  %25869 = icmp ne i32 %25868, 0
  br i1 %25869, label %25870, label %25887

25870:                                            ; preds = %25865
  %25871 = load i32, ptr %621, align 4, !tbaa !5
  %25872 = call ptr @__errno_location() #12
  store i32 %25871, ptr %25872, align 4, !tbaa !5
  %25873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25874 = load i32, ptr @test_count, align 4, !tbaa !5
  %25875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25876 = load i32, ptr %25875, align 4, !tbaa !5
  %25877 = call ptr @s2n_strerror(i32 noundef %25876, ptr noundef @.str.80)
  %25878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25879 = load i32, ptr %25878, align 4, !tbaa !5
  %25880 = call ptr @s2n_strerror_debug(i32 noundef %25879, ptr noundef @.str.80)
  %25881 = call ptr @__errno_location() #12
  %25882 = load i32, ptr %25881, align 4, !tbaa !5
  %25883 = call ptr @strerror(i32 noundef %25882) #11
  %25884 = call ptr @__errno_location() #12
  %25885 = load i32, ptr %25884, align 4, !tbaa !5
  %25886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25873, ptr noundef @.str.78, i32 noundef %25874, ptr noundef @.str.309, ptr noundef @.str.77, i32 noundef 951, ptr noundef %25877, ptr noundef %25880, ptr noundef %25883, i32 noundef %25885) #11
  br label %25904

25887:                                            ; preds = %25865, %25858
  %25888 = load i32, ptr %621, align 4, !tbaa !5
  %25889 = call ptr @__errno_location() #12
  store i32 %25888, ptr %25889, align 4, !tbaa !5
  %25890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25891 = load i32, ptr @test_count, align 4, !tbaa !5
  %25892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25893 = load i32, ptr %25892, align 4, !tbaa !5
  %25894 = call ptr @s2n_strerror(i32 noundef %25893, ptr noundef @.str.80)
  %25895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25896 = load i32, ptr %25895, align 4, !tbaa !5
  %25897 = call ptr @s2n_strerror_debug(i32 noundef %25896, ptr noundef @.str.80)
  %25898 = call ptr @__errno_location() #12
  %25899 = load i32, ptr %25898, align 4, !tbaa !5
  %25900 = call ptr @strerror(i32 noundef %25899) #11
  %25901 = call ptr @__errno_location() #12
  %25902 = load i32, ptr %25901, align 4, !tbaa !5
  %25903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25890, ptr noundef @.str.81, i32 noundef %25891, ptr noundef @.str.309, ptr noundef @.str.77, i32 noundef 951, ptr noundef %25894, ptr noundef %25897, ptr noundef %25900, i32 noundef %25902) #11
  br label %25904

25904:                                            ; preds = %25887, %25870
  call void @llvm.lifetime.end.p0(i64 4, ptr %621) #11
  br label %25905

25905:                                            ; preds = %25904
  br label %25906

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

25907:                                            ; No predecessors!
  br label %25908

25908:                                            ; preds = %25907
  br label %25909

25909:                                            ; preds = %25908, %25849
  br label %25910

25910:                                            ; preds = %25909
  br label %25911

25911:                                            ; preds = %25910
  br label %25912

25912:                                            ; preds = %25911
  br label %25913

25913:                                            ; preds = %25912
  br label %25914

25914:                                            ; preds = %25913
  %25915 = load i32, ptr @test_count, align 4, !tbaa !5
  %25916 = add nsw i32 %25915, 1
  store i32 %25916, ptr @test_count, align 4, !tbaa !5
  %25917 = load ptr, ptr %612, align 8, !tbaa !9
  %25918 = load ptr, ptr %614, align 8, !tbaa !9
  %25919 = call i32 @s2n_connection_append_psk(ptr noundef %25917, ptr noundef %25918)
  %25920 = icmp eq i32 %25919, -1
  br i1 %25920, label %25974, label %25921

25921:                                            ; preds = %25914
  br label %25922

25922:                                            ; preds = %25921
  br label %25923

25923:                                            ; preds = %25922
  call void @llvm.lifetime.start.p0(i64 4, ptr %622) #11
  %25924 = call ptr @__errno_location() #12
  %25925 = load i32, ptr %25924, align 4, !tbaa !5
  store i32 %25925, ptr %622, align 4, !tbaa !5
  %25926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25927 = call i32 @s2n_print_stacktrace(ptr noundef %25926)
  %25928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25929 = trunc i8 %25928 to i1
  br i1 %25929, label %25930, label %25952

25930:                                            ; preds = %25923
  %25931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25932 = call i32 @fileno(ptr noundef %25931) #11
  %25933 = call i32 @isatty(i32 noundef %25932) #11
  %25934 = icmp ne i32 %25933, 0
  br i1 %25934, label %25935, label %25952

25935:                                            ; preds = %25930
  %25936 = load i32, ptr %622, align 4, !tbaa !5
  %25937 = call ptr @__errno_location() #12
  store i32 %25936, ptr %25937, align 4, !tbaa !5
  %25938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25939 = load i32, ptr @test_count, align 4, !tbaa !5
  %25940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25941 = load i32, ptr %25940, align 4, !tbaa !5
  %25942 = call ptr @s2n_strerror(i32 noundef %25941, ptr noundef @.str.80)
  %25943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25944 = load i32, ptr %25943, align 4, !tbaa !5
  %25945 = call ptr @s2n_strerror_debug(i32 noundef %25944, ptr noundef @.str.80)
  %25946 = call ptr @__errno_location() #12
  %25947 = load i32, ptr %25946, align 4, !tbaa !5
  %25948 = call ptr @strerror(i32 noundef %25947) #11
  %25949 = call ptr @__errno_location() #12
  %25950 = load i32, ptr %25949, align 4, !tbaa !5
  %25951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25938, ptr noundef @.str.78, i32 noundef %25939, ptr noundef @.str.310, ptr noundef @.str.77, i32 noundef 953, ptr noundef %25942, ptr noundef %25945, ptr noundef %25948, i32 noundef %25950) #11
  br label %25969

25952:                                            ; preds = %25930, %25923
  %25953 = load i32, ptr %622, align 4, !tbaa !5
  %25954 = call ptr @__errno_location() #12
  store i32 %25953, ptr %25954, align 4, !tbaa !5
  %25955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25956 = load i32, ptr @test_count, align 4, !tbaa !5
  %25957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25958 = load i32, ptr %25957, align 4, !tbaa !5
  %25959 = call ptr @s2n_strerror(i32 noundef %25958, ptr noundef @.str.80)
  %25960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25961 = load i32, ptr %25960, align 4, !tbaa !5
  %25962 = call ptr @s2n_strerror_debug(i32 noundef %25961, ptr noundef @.str.80)
  %25963 = call ptr @__errno_location() #12
  %25964 = load i32, ptr %25963, align 4, !tbaa !5
  %25965 = call ptr @strerror(i32 noundef %25964) #11
  %25966 = call ptr @__errno_location() #12
  %25967 = load i32, ptr %25966, align 4, !tbaa !5
  %25968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25955, ptr noundef @.str.81, i32 noundef %25956, ptr noundef @.str.310, ptr noundef @.str.77, i32 noundef 953, ptr noundef %25959, ptr noundef %25962, ptr noundef %25965, i32 noundef %25967) #11
  br label %25969

25969:                                            ; preds = %25952, %25935
  call void @llvm.lifetime.end.p0(i64 4, ptr %622) #11
  br label %25970

25970:                                            ; preds = %25969
  br label %25971

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

25972:                                            ; No predecessors!
  br label %25973

25973:                                            ; preds = %25972
  br label %25974

25974:                                            ; preds = %25973, %25914
  br label %25975

25975:                                            ; preds = %25974
  br label %25976

25976:                                            ; preds = %25975
  br label %25977

25977:                                            ; preds = %25976
  %25978 = load i32, ptr @test_count, align 4, !tbaa !5
  %25979 = add nsw i32 %25978, 1
  store i32 %25979, ptr @test_count, align 4, !tbaa !5
  %25980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25981 = load i32, ptr %25980, align 4, !tbaa !5
  %25982 = icmp eq i32 %25981, 469762117
  br i1 %25982, label %26036, label %25983

25983:                                            ; preds = %25977
  br label %25984

25984:                                            ; preds = %25983
  br label %25985

25985:                                            ; preds = %25984
  call void @llvm.lifetime.start.p0(i64 4, ptr %623) #11
  %25986 = call ptr @__errno_location() #12
  %25987 = load i32, ptr %25986, align 4, !tbaa !5
  store i32 %25987, ptr %623, align 4, !tbaa !5
  %25988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25989 = call i32 @s2n_print_stacktrace(ptr noundef %25988)
  %25990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25991 = trunc i8 %25990 to i1
  br i1 %25991, label %25992, label %26014

25992:                                            ; preds = %25985
  %25993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25994 = call i32 @fileno(ptr noundef %25993) #11
  %25995 = call i32 @isatty(i32 noundef %25994) #11
  %25996 = icmp ne i32 %25995, 0
  br i1 %25996, label %25997, label %26014

25997:                                            ; preds = %25992
  %25998 = load i32, ptr %623, align 4, !tbaa !5
  %25999 = call ptr @__errno_location() #12
  store i32 %25998, ptr %25999, align 4, !tbaa !5
  %26000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26001 = load i32, ptr @test_count, align 4, !tbaa !5
  %26002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26003 = load i32, ptr %26002, align 4, !tbaa !5
  %26004 = call ptr @s2n_strerror(i32 noundef %26003, ptr noundef @.str.80)
  %26005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26006 = load i32, ptr %26005, align 4, !tbaa !5
  %26007 = call ptr @s2n_strerror_debug(i32 noundef %26006, ptr noundef @.str.80)
  %26008 = call ptr @__errno_location() #12
  %26009 = load i32, ptr %26008, align 4, !tbaa !5
  %26010 = call ptr @strerror(i32 noundef %26009) #11
  %26011 = call ptr @__errno_location() #12
  %26012 = load i32, ptr %26011, align 4, !tbaa !5
  %26013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26000, ptr noundef @.str.78, i32 noundef %26001, ptr noundef @.str.308, ptr noundef @.str.77, i32 noundef 953, ptr noundef %26004, ptr noundef %26007, ptr noundef %26010, i32 noundef %26012) #11
  br label %26031

26014:                                            ; preds = %25992, %25985
  %26015 = load i32, ptr %623, align 4, !tbaa !5
  %26016 = call ptr @__errno_location() #12
  store i32 %26015, ptr %26016, align 4, !tbaa !5
  %26017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26018 = load i32, ptr @test_count, align 4, !tbaa !5
  %26019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26020 = load i32, ptr %26019, align 4, !tbaa !5
  %26021 = call ptr @s2n_strerror(i32 noundef %26020, ptr noundef @.str.80)
  %26022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26023 = load i32, ptr %26022, align 4, !tbaa !5
  %26024 = call ptr @s2n_strerror_debug(i32 noundef %26023, ptr noundef @.str.80)
  %26025 = call ptr @__errno_location() #12
  %26026 = load i32, ptr %26025, align 4, !tbaa !5
  %26027 = call ptr @strerror(i32 noundef %26026) #11
  %26028 = call ptr @__errno_location() #12
  %26029 = load i32, ptr %26028, align 4, !tbaa !5
  %26030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26017, ptr noundef @.str.81, i32 noundef %26018, ptr noundef @.str.308, ptr noundef @.str.77, i32 noundef 953, ptr noundef %26021, ptr noundef %26024, ptr noundef %26027, i32 noundef %26029) #11
  br label %26031

26031:                                            ; preds = %26014, %25997
  call void @llvm.lifetime.end.p0(i64 4, ptr %623) #11
  br label %26032

26032:                                            ; preds = %26031
  br label %26033

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

26034:                                            ; No predecessors!
  br label %26035

26035:                                            ; preds = %26034
  br label %26036

26036:                                            ; preds = %26035, %25977
  br label %26037

26037:                                            ; preds = %26036
  br label %26038

26038:                                            ; preds = %26037
  br label %26039

26039:                                            ; preds = %26038
  %26040 = load i32, ptr @test_count, align 4, !tbaa !5
  %26041 = add nsw i32 %26040, 1
  store i32 %26041, ptr @test_count, align 4, !tbaa !5
  %26042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26043 = load i32, ptr %26042, align 4, !tbaa !5
  %26044 = call ptr @s2n_strerror_debug(i32 noundef %26043, ptr noundef @.str.80)
  %26045 = icmp eq ptr %26044, null
  br i1 %26045, label %26046, label %26099

26046:                                            ; preds = %26039
  br label %26047

26047:                                            ; preds = %26046
  br label %26048

26048:                                            ; preds = %26047
  call void @llvm.lifetime.start.p0(i64 4, ptr %624) #11
  %26049 = call ptr @__errno_location() #12
  %26050 = load i32, ptr %26049, align 4, !tbaa !5
  store i32 %26050, ptr %624, align 4, !tbaa !5
  %26051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26052 = call i32 @s2n_print_stacktrace(ptr noundef %26051)
  %26053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26054 = trunc i8 %26053 to i1
  br i1 %26054, label %26055, label %26077

26055:                                            ; preds = %26048
  %26056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26057 = call i32 @fileno(ptr noundef %26056) #11
  %26058 = call i32 @isatty(i32 noundef %26057) #11
  %26059 = icmp ne i32 %26058, 0
  br i1 %26059, label %26060, label %26077

26060:                                            ; preds = %26055
  %26061 = load i32, ptr %624, align 4, !tbaa !5
  %26062 = call ptr @__errno_location() #12
  store i32 %26061, ptr %26062, align 4, !tbaa !5
  %26063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26064 = load i32, ptr @test_count, align 4, !tbaa !5
  %26065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26066 = load i32, ptr %26065, align 4, !tbaa !5
  %26067 = call ptr @s2n_strerror(i32 noundef %26066, ptr noundef @.str.80)
  %26068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26069 = load i32, ptr %26068, align 4, !tbaa !5
  %26070 = call ptr @s2n_strerror_debug(i32 noundef %26069, ptr noundef @.str.80)
  %26071 = call ptr @__errno_location() #12
  %26072 = load i32, ptr %26071, align 4, !tbaa !5
  %26073 = call ptr @strerror(i32 noundef %26072) #11
  %26074 = call ptr @__errno_location() #12
  %26075 = load i32, ptr %26074, align 4, !tbaa !5
  %26076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26063, ptr noundef @.str.78, i32 noundef %26064, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 953, ptr noundef %26067, ptr noundef %26070, ptr noundef %26073, i32 noundef %26075) #11
  br label %26094

26077:                                            ; preds = %26055, %26048
  %26078 = load i32, ptr %624, align 4, !tbaa !5
  %26079 = call ptr @__errno_location() #12
  store i32 %26078, ptr %26079, align 4, !tbaa !5
  %26080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26081 = load i32, ptr @test_count, align 4, !tbaa !5
  %26082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26083 = load i32, ptr %26082, align 4, !tbaa !5
  %26084 = call ptr @s2n_strerror(i32 noundef %26083, ptr noundef @.str.80)
  %26085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26086 = load i32, ptr %26085, align 4, !tbaa !5
  %26087 = call ptr @s2n_strerror_debug(i32 noundef %26086, ptr noundef @.str.80)
  %26088 = call ptr @__errno_location() #12
  %26089 = load i32, ptr %26088, align 4, !tbaa !5
  %26090 = call ptr @strerror(i32 noundef %26089) #11
  %26091 = call ptr @__errno_location() #12
  %26092 = load i32, ptr %26091, align 4, !tbaa !5
  %26093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26080, ptr noundef @.str.81, i32 noundef %26081, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 953, ptr noundef %26084, ptr noundef %26087, ptr noundef %26090, i32 noundef %26092) #11
  br label %26094

26094:                                            ; preds = %26077, %26060
  call void @llvm.lifetime.end.p0(i64 4, ptr %624) #11
  br label %26095

26095:                                            ; preds = %26094
  br label %26096

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

26097:                                            ; No predecessors!
  br label %26098

26098:                                            ; preds = %26097
  br label %26099

26099:                                            ; preds = %26098, %26039
  br label %26100

26100:                                            ; preds = %26099
  br label %26101

26101:                                            ; preds = %26100
  br label %26102

26102:                                            ; preds = %26101
  br label %26103

26103:                                            ; preds = %26102
  br label %26104

26104:                                            ; preds = %26103
  %26105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26105, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26106 = call ptr @__errno_location() #12
  store i32 0, ptr %26106, align 4, !tbaa !5
  br label %26107

26107:                                            ; preds = %26104
  br label %26108

26108:                                            ; preds = %26107
  br label %26109

26109:                                            ; preds = %26108
  br label %26110

26110:                                            ; preds = %26109
  br label %26111

26111:                                            ; preds = %26110
  %26112 = load i32, ptr @test_count, align 4, !tbaa !5
  %26113 = add nsw i32 %26112, 1
  store i32 %26113, ptr @test_count, align 4, !tbaa !5
  %26114 = load ptr, ptr %612, align 8, !tbaa !9
  %26115 = call i32 @s2n_connection_free(ptr noundef %26114)
  %26116 = icmp eq i32 %26115, -1
  br i1 %26116, label %26117, label %26170

26117:                                            ; preds = %26111
  br label %26118

26118:                                            ; preds = %26117
  br label %26119

26119:                                            ; preds = %26118
  call void @llvm.lifetime.start.p0(i64 4, ptr %625) #11
  %26120 = call ptr @__errno_location() #12
  %26121 = load i32, ptr %26120, align 4, !tbaa !5
  store i32 %26121, ptr %625, align 4, !tbaa !5
  %26122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26123 = call i32 @s2n_print_stacktrace(ptr noundef %26122)
  %26124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26125 = trunc i8 %26124 to i1
  br i1 %26125, label %26126, label %26148

26126:                                            ; preds = %26119
  %26127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26128 = call i32 @fileno(ptr noundef %26127) #11
  %26129 = call i32 @isatty(i32 noundef %26128) #11
  %26130 = icmp ne i32 %26129, 0
  br i1 %26130, label %26131, label %26148

26131:                                            ; preds = %26126
  %26132 = load i32, ptr %625, align 4, !tbaa !5
  %26133 = call ptr @__errno_location() #12
  store i32 %26132, ptr %26133, align 4, !tbaa !5
  %26134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26135 = load i32, ptr @test_count, align 4, !tbaa !5
  %26136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26137 = load i32, ptr %26136, align 4, !tbaa !5
  %26138 = call ptr @s2n_strerror(i32 noundef %26137, ptr noundef @.str.80)
  %26139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26140 = load i32, ptr %26139, align 4, !tbaa !5
  %26141 = call ptr @s2n_strerror_debug(i32 noundef %26140, ptr noundef @.str.80)
  %26142 = call ptr @__errno_location() #12
  %26143 = load i32, ptr %26142, align 4, !tbaa !5
  %26144 = call ptr @strerror(i32 noundef %26143) #11
  %26145 = call ptr @__errno_location() #12
  %26146 = load i32, ptr %26145, align 4, !tbaa !5
  %26147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26134, ptr noundef @.str.78, i32 noundef %26135, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 956, ptr noundef %26138, ptr noundef %26141, ptr noundef %26144, i32 noundef %26146) #11
  br label %26165

26148:                                            ; preds = %26126, %26119
  %26149 = load i32, ptr %625, align 4, !tbaa !5
  %26150 = call ptr @__errno_location() #12
  store i32 %26149, ptr %26150, align 4, !tbaa !5
  %26151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26152 = load i32, ptr @test_count, align 4, !tbaa !5
  %26153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26154 = load i32, ptr %26153, align 4, !tbaa !5
  %26155 = call ptr @s2n_strerror(i32 noundef %26154, ptr noundef @.str.80)
  %26156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26157 = load i32, ptr %26156, align 4, !tbaa !5
  %26158 = call ptr @s2n_strerror_debug(i32 noundef %26157, ptr noundef @.str.80)
  %26159 = call ptr @__errno_location() #12
  %26160 = load i32, ptr %26159, align 4, !tbaa !5
  %26161 = call ptr @strerror(i32 noundef %26160) #11
  %26162 = call ptr @__errno_location() #12
  %26163 = load i32, ptr %26162, align 4, !tbaa !5
  %26164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26151, ptr noundef @.str.81, i32 noundef %26152, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 956, ptr noundef %26155, ptr noundef %26158, ptr noundef %26161, i32 noundef %26163) #11
  br label %26165

26165:                                            ; preds = %26148, %26131
  call void @llvm.lifetime.end.p0(i64 4, ptr %625) #11
  br label %26166

26166:                                            ; preds = %26165
  br label %26167

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

26168:                                            ; No predecessors!
  br label %26169

26169:                                            ; preds = %26168
  br label %26170

26170:                                            ; preds = %26169, %26111
  br label %26171

26171:                                            ; preds = %26170
  br label %26172

26172:                                            ; preds = %26171
  %26173 = call i32 @s2n_psk_free(ptr noundef %615)
  call void @llvm.lifetime.end.p0(i64 8, ptr %615) #11
  %26174 = call i32 @s2n_psk_free(ptr noundef %614)
  call void @llvm.lifetime.end.p0(i64 8, ptr %614) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %612) #11
  %26175 = call i32 @s2n_psk_free(ptr noundef %489)
  call void @llvm.lifetime.end.p0(i64 8, ptr %489) #11
  call void @llvm.lifetime.end.p0(i64 65535, ptr %488) #11
  call void @llvm.lifetime.end.p0(i64 11, ptr %487) #11
  call void @llvm.lifetime.end.p0(i64 7, ptr %486) #11
  call void @llvm.lifetime.end.p0(i64 9, ptr %485) #11
  br label %26176

26176:                                            ; preds = %26172
  br label %26177

26177:                                            ; preds = %26176
  br label %26178

26178:                                            ; preds = %26177
  %26179 = load i32, ptr @test_count, align 4, !tbaa !5
  %26180 = add nsw i32 %26179, 1
  store i32 %26180, ptr @test_count, align 4, !tbaa !5
  %26181 = call i32 @s2n_psk_set_hmac(ptr noundef null, i32 noundef 0)
  %26182 = icmp eq i32 %26181, -1
  br i1 %26182, label %26234, label %26183

26183:                                            ; preds = %26178
  br label %26184

26184:                                            ; preds = %26183
  br label %26185

26185:                                            ; preds = %26184
  call void @llvm.lifetime.start.p0(i64 4, ptr %626) #11
  %26186 = call ptr @__errno_location() #12
  %26187 = load i32, ptr %26186, align 4, !tbaa !5
  store i32 %26187, ptr %626, align 4, !tbaa !5
  %26188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26189 = call i32 @s2n_print_stacktrace(ptr noundef %26188)
  %26190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26191 = trunc i8 %26190 to i1
  br i1 %26191, label %26192, label %26214

26192:                                            ; preds = %26185
  %26193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26194 = call i32 @fileno(ptr noundef %26193) #11
  %26195 = call i32 @isatty(i32 noundef %26194) #11
  %26196 = icmp ne i32 %26195, 0
  br i1 %26196, label %26197, label %26214

26197:                                            ; preds = %26192
  %26198 = load i32, ptr %626, align 4, !tbaa !5
  %26199 = call ptr @__errno_location() #12
  store i32 %26198, ptr %26199, align 4, !tbaa !5
  %26200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26201 = load i32, ptr @test_count, align 4, !tbaa !5
  %26202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26203 = load i32, ptr %26202, align 4, !tbaa !5
  %26204 = call ptr @s2n_strerror(i32 noundef %26203, ptr noundef @.str.80)
  %26205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26206 = load i32, ptr %26205, align 4, !tbaa !5
  %26207 = call ptr @s2n_strerror_debug(i32 noundef %26206, ptr noundef @.str.80)
  %26208 = call ptr @__errno_location() #12
  %26209 = load i32, ptr %26208, align 4, !tbaa !5
  %26210 = call ptr @strerror(i32 noundef %26209) #11
  %26211 = call ptr @__errno_location() #12
  %26212 = load i32, ptr %26211, align 4, !tbaa !5
  %26213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26200, ptr noundef @.str.78, i32 noundef %26201, ptr noundef @.str.311, ptr noundef @.str.77, i32 noundef 962, ptr noundef %26204, ptr noundef %26207, ptr noundef %26210, i32 noundef %26212) #11
  br label %26231

26214:                                            ; preds = %26192, %26185
  %26215 = load i32, ptr %626, align 4, !tbaa !5
  %26216 = call ptr @__errno_location() #12
  store i32 %26215, ptr %26216, align 4, !tbaa !5
  %26217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26218 = load i32, ptr @test_count, align 4, !tbaa !5
  %26219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26220 = load i32, ptr %26219, align 4, !tbaa !5
  %26221 = call ptr @s2n_strerror(i32 noundef %26220, ptr noundef @.str.80)
  %26222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26223 = load i32, ptr %26222, align 4, !tbaa !5
  %26224 = call ptr @s2n_strerror_debug(i32 noundef %26223, ptr noundef @.str.80)
  %26225 = call ptr @__errno_location() #12
  %26226 = load i32, ptr %26225, align 4, !tbaa !5
  %26227 = call ptr @strerror(i32 noundef %26226) #11
  %26228 = call ptr @__errno_location() #12
  %26229 = load i32, ptr %26228, align 4, !tbaa !5
  %26230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26217, ptr noundef @.str.81, i32 noundef %26218, ptr noundef @.str.311, ptr noundef @.str.77, i32 noundef 962, ptr noundef %26221, ptr noundef %26224, ptr noundef %26227, i32 noundef %26229) #11
  br label %26231

26231:                                            ; preds = %26214, %26197
  call void @llvm.lifetime.end.p0(i64 4, ptr %626) #11
  br label %26232

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

26233:                                            ; No predecessors!
  br label %26234

26234:                                            ; preds = %26233, %26178
  br label %26235

26235:                                            ; preds = %26234
  br label %26236

26236:                                            ; preds = %26235
  %26237 = load i32, ptr @test_count, align 4, !tbaa !5
  %26238 = add nsw i32 %26237, 1
  store i32 %26238, ptr @test_count, align 4, !tbaa !5
  %26239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26240 = load i32, ptr %26239, align 4, !tbaa !5
  %26241 = icmp eq i32 %26240, 402653193
  br i1 %26241, label %26293, label %26242

26242:                                            ; preds = %26236
  br label %26243

26243:                                            ; preds = %26242
  br label %26244

26244:                                            ; preds = %26243
  call void @llvm.lifetime.start.p0(i64 4, ptr %627) #11
  %26245 = call ptr @__errno_location() #12
  %26246 = load i32, ptr %26245, align 4, !tbaa !5
  store i32 %26246, ptr %627, align 4, !tbaa !5
  %26247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26248 = call i32 @s2n_print_stacktrace(ptr noundef %26247)
  %26249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26250 = trunc i8 %26249 to i1
  br i1 %26250, label %26251, label %26273

26251:                                            ; preds = %26244
  %26252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26253 = call i32 @fileno(ptr noundef %26252) #11
  %26254 = call i32 @isatty(i32 noundef %26253) #11
  %26255 = icmp ne i32 %26254, 0
  br i1 %26255, label %26256, label %26273

26256:                                            ; preds = %26251
  %26257 = load i32, ptr %627, align 4, !tbaa !5
  %26258 = call ptr @__errno_location() #12
  store i32 %26257, ptr %26258, align 4, !tbaa !5
  %26259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26260 = load i32, ptr @test_count, align 4, !tbaa !5
  %26261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26262 = load i32, ptr %26261, align 4, !tbaa !5
  %26263 = call ptr @s2n_strerror(i32 noundef %26262, ptr noundef @.str.80)
  %26264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26265 = load i32, ptr %26264, align 4, !tbaa !5
  %26266 = call ptr @s2n_strerror_debug(i32 noundef %26265, ptr noundef @.str.80)
  %26267 = call ptr @__errno_location() #12
  %26268 = load i32, ptr %26267, align 4, !tbaa !5
  %26269 = call ptr @strerror(i32 noundef %26268) #11
  %26270 = call ptr @__errno_location() #12
  %26271 = load i32, ptr %26270, align 4, !tbaa !5
  %26272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26259, ptr noundef @.str.78, i32 noundef %26260, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 962, ptr noundef %26263, ptr noundef %26266, ptr noundef %26269, i32 noundef %26271) #11
  br label %26290

26273:                                            ; preds = %26251, %26244
  %26274 = load i32, ptr %627, align 4, !tbaa !5
  %26275 = call ptr @__errno_location() #12
  store i32 %26274, ptr %26275, align 4, !tbaa !5
  %26276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26277 = load i32, ptr @test_count, align 4, !tbaa !5
  %26278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26279 = load i32, ptr %26278, align 4, !tbaa !5
  %26280 = call ptr @s2n_strerror(i32 noundef %26279, ptr noundef @.str.80)
  %26281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26282 = load i32, ptr %26281, align 4, !tbaa !5
  %26283 = call ptr @s2n_strerror_debug(i32 noundef %26282, ptr noundef @.str.80)
  %26284 = call ptr @__errno_location() #12
  %26285 = load i32, ptr %26284, align 4, !tbaa !5
  %26286 = call ptr @strerror(i32 noundef %26285) #11
  %26287 = call ptr @__errno_location() #12
  %26288 = load i32, ptr %26287, align 4, !tbaa !5
  %26289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26276, ptr noundef @.str.81, i32 noundef %26277, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 962, ptr noundef %26280, ptr noundef %26283, ptr noundef %26286, i32 noundef %26288) #11
  br label %26290

26290:                                            ; preds = %26273, %26256
  call void @llvm.lifetime.end.p0(i64 4, ptr %627) #11
  br label %26291

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

26292:                                            ; No predecessors!
  br label %26293

26293:                                            ; preds = %26292, %26236
  br label %26294

26294:                                            ; preds = %26293
  br label %26295

26295:                                            ; preds = %26294
  %26296 = load i32, ptr @test_count, align 4, !tbaa !5
  %26297 = add nsw i32 %26296, 1
  store i32 %26297, ptr @test_count, align 4, !tbaa !5
  %26298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26299 = load i32, ptr %26298, align 4, !tbaa !5
  %26300 = call ptr @s2n_strerror_debug(i32 noundef %26299, ptr noundef @.str.80)
  %26301 = icmp eq ptr %26300, null
  br i1 %26301, label %26302, label %26353

26302:                                            ; preds = %26295
  br label %26303

26303:                                            ; preds = %26302
  br label %26304

26304:                                            ; preds = %26303
  call void @llvm.lifetime.start.p0(i64 4, ptr %628) #11
  %26305 = call ptr @__errno_location() #12
  %26306 = load i32, ptr %26305, align 4, !tbaa !5
  store i32 %26306, ptr %628, align 4, !tbaa !5
  %26307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26308 = call i32 @s2n_print_stacktrace(ptr noundef %26307)
  %26309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26310 = trunc i8 %26309 to i1
  br i1 %26310, label %26311, label %26333

26311:                                            ; preds = %26304
  %26312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26313 = call i32 @fileno(ptr noundef %26312) #11
  %26314 = call i32 @isatty(i32 noundef %26313) #11
  %26315 = icmp ne i32 %26314, 0
  br i1 %26315, label %26316, label %26333

26316:                                            ; preds = %26311
  %26317 = load i32, ptr %628, align 4, !tbaa !5
  %26318 = call ptr @__errno_location() #12
  store i32 %26317, ptr %26318, align 4, !tbaa !5
  %26319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26320 = load i32, ptr @test_count, align 4, !tbaa !5
  %26321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26322 = load i32, ptr %26321, align 4, !tbaa !5
  %26323 = call ptr @s2n_strerror(i32 noundef %26322, ptr noundef @.str.80)
  %26324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26325 = load i32, ptr %26324, align 4, !tbaa !5
  %26326 = call ptr @s2n_strerror_debug(i32 noundef %26325, ptr noundef @.str.80)
  %26327 = call ptr @__errno_location() #12
  %26328 = load i32, ptr %26327, align 4, !tbaa !5
  %26329 = call ptr @strerror(i32 noundef %26328) #11
  %26330 = call ptr @__errno_location() #12
  %26331 = load i32, ptr %26330, align 4, !tbaa !5
  %26332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26319, ptr noundef @.str.78, i32 noundef %26320, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 962, ptr noundef %26323, ptr noundef %26326, ptr noundef %26329, i32 noundef %26331) #11
  br label %26350

26333:                                            ; preds = %26311, %26304
  %26334 = load i32, ptr %628, align 4, !tbaa !5
  %26335 = call ptr @__errno_location() #12
  store i32 %26334, ptr %26335, align 4, !tbaa !5
  %26336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26337 = load i32, ptr @test_count, align 4, !tbaa !5
  %26338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26339 = load i32, ptr %26338, align 4, !tbaa !5
  %26340 = call ptr @s2n_strerror(i32 noundef %26339, ptr noundef @.str.80)
  %26341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26342 = load i32, ptr %26341, align 4, !tbaa !5
  %26343 = call ptr @s2n_strerror_debug(i32 noundef %26342, ptr noundef @.str.80)
  %26344 = call ptr @__errno_location() #12
  %26345 = load i32, ptr %26344, align 4, !tbaa !5
  %26346 = call ptr @strerror(i32 noundef %26345) #11
  %26347 = call ptr @__errno_location() #12
  %26348 = load i32, ptr %26347, align 4, !tbaa !5
  %26349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26336, ptr noundef @.str.81, i32 noundef %26337, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 962, ptr noundef %26340, ptr noundef %26343, ptr noundef %26346, i32 noundef %26348) #11
  br label %26350

26350:                                            ; preds = %26333, %26316
  call void @llvm.lifetime.end.p0(i64 4, ptr %628) #11
  br label %26351

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

26352:                                            ; No predecessors!
  br label %26353

26353:                                            ; preds = %26352, %26295
  br label %26354

26354:                                            ; preds = %26353
  br label %26355

26355:                                            ; preds = %26354
  br label %26356

26356:                                            ; preds = %26355
  %26357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26357, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26358 = call ptr @__errno_location() #12
  store i32 0, ptr %26358, align 4, !tbaa !5
  br label %26359

26359:                                            ; preds = %26356
  br label %26360

26360:                                            ; preds = %26359
  call void @llvm.lifetime.start.p0(i64 168, ptr %629) #11
  br label %26361

26361:                                            ; preds = %26360
  %26362 = load i32, ptr @test_count, align 4, !tbaa !5
  %26363 = add nsw i32 %26362, 1
  store i32 %26363, ptr @test_count, align 4, !tbaa !5
  %26364 = call i32 @s2n_psk_init(ptr noundef %629, i32 noundef 1)
  %26365 = getelementptr inbounds %struct.s2n_result, ptr %630, i32 0, i32 0
  store i32 %26364, ptr %26365, align 4
  %26366 = getelementptr inbounds %struct.s2n_result, ptr %630, i32 0, i32 0
  %26367 = load i32, ptr %26366, align 4
  %26368 = call zeroext i1 @s2n_result_is_ok(i32 %26367)
  br i1 %26368, label %26422, label %26369

26369:                                            ; preds = %26361
  br label %26370

26370:                                            ; preds = %26369
  br label %26371

26371:                                            ; preds = %26370
  call void @llvm.lifetime.start.p0(i64 4, ptr %631) #11
  %26372 = call ptr @__errno_location() #12
  %26373 = load i32, ptr %26372, align 4, !tbaa !5
  store i32 %26373, ptr %631, align 4, !tbaa !5
  %26374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26375 = call i32 @s2n_print_stacktrace(ptr noundef %26374)
  %26376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26377 = trunc i8 %26376 to i1
  br i1 %26377, label %26378, label %26400

26378:                                            ; preds = %26371
  %26379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26380 = call i32 @fileno(ptr noundef %26379) #11
  %26381 = call i32 @isatty(i32 noundef %26380) #11
  %26382 = icmp ne i32 %26381, 0
  br i1 %26382, label %26383, label %26400

26383:                                            ; preds = %26378
  %26384 = load i32, ptr %631, align 4, !tbaa !5
  %26385 = call ptr @__errno_location() #12
  store i32 %26384, ptr %26385, align 4, !tbaa !5
  %26386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26387 = load i32, ptr @test_count, align 4, !tbaa !5
  %26388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26389 = load i32, ptr %26388, align 4, !tbaa !5
  %26390 = call ptr @s2n_strerror(i32 noundef %26389, ptr noundef @.str.80)
  %26391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26392 = load i32, ptr %26391, align 4, !tbaa !5
  %26393 = call ptr @s2n_strerror_debug(i32 noundef %26392, ptr noundef @.str.80)
  %26394 = call ptr @__errno_location() #12
  %26395 = load i32, ptr %26394, align 4, !tbaa !5
  %26396 = call ptr @strerror(i32 noundef %26395) #11
  %26397 = call ptr @__errno_location() #12
  %26398 = load i32, ptr %26397, align 4, !tbaa !5
  %26399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26386, ptr noundef @.str.78, i32 noundef %26387, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 965, ptr noundef %26390, ptr noundef %26393, ptr noundef %26396, i32 noundef %26398) #11
  br label %26417

26400:                                            ; preds = %26378, %26371
  %26401 = load i32, ptr %631, align 4, !tbaa !5
  %26402 = call ptr @__errno_location() #12
  store i32 %26401, ptr %26402, align 4, !tbaa !5
  %26403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26404 = load i32, ptr @test_count, align 4, !tbaa !5
  %26405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26406 = load i32, ptr %26405, align 4, !tbaa !5
  %26407 = call ptr @s2n_strerror(i32 noundef %26406, ptr noundef @.str.80)
  %26408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26409 = load i32, ptr %26408, align 4, !tbaa !5
  %26410 = call ptr @s2n_strerror_debug(i32 noundef %26409, ptr noundef @.str.80)
  %26411 = call ptr @__errno_location() #12
  %26412 = load i32, ptr %26411, align 4, !tbaa !5
  %26413 = call ptr @strerror(i32 noundef %26412) #11
  %26414 = call ptr @__errno_location() #12
  %26415 = load i32, ptr %26414, align 4, !tbaa !5
  %26416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26403, ptr noundef @.str.81, i32 noundef %26404, ptr noundef @.str.87, ptr noundef @.str.77, i32 noundef 965, ptr noundef %26407, ptr noundef %26410, ptr noundef %26413, i32 noundef %26415) #11
  br label %26417

26417:                                            ; preds = %26400, %26383
  call void @llvm.lifetime.end.p0(i64 4, ptr %631) #11
  br label %26418

26418:                                            ; preds = %26417
  br label %26419

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

26420:                                            ; No predecessors!
  br label %26421

26421:                                            ; preds = %26420
  br label %26422

26422:                                            ; preds = %26421, %26361
  br label %26423

26423:                                            ; preds = %26422
  br label %26424

26424:                                            ; preds = %26423
  br label %26425

26425:                                            ; preds = %26424
  %26426 = load i32, ptr @test_count, align 4, !tbaa !5
  %26427 = add nsw i32 %26426, 1
  store i32 %26427, ptr @test_count, align 4, !tbaa !5
  %26428 = getelementptr inbounds %struct.s2n_psk, ptr %629, i32 0, i32 3
  %26429 = load i32, ptr %26428, align 8, !tbaa !20
  %26430 = icmp eq i32 %26429, 4
  br i1 %26430, label %26484, label %26431

26431:                                            ; preds = %26425
  br label %26432

26432:                                            ; preds = %26431
  br label %26433

26433:                                            ; preds = %26432
  call void @llvm.lifetime.start.p0(i64 4, ptr %632) #11
  %26434 = call ptr @__errno_location() #12
  %26435 = load i32, ptr %26434, align 4, !tbaa !5
  store i32 %26435, ptr %632, align 4, !tbaa !5
  %26436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26437 = call i32 @s2n_print_stacktrace(ptr noundef %26436)
  %26438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26439 = trunc i8 %26438 to i1
  br i1 %26439, label %26440, label %26462

26440:                                            ; preds = %26433
  %26441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26442 = call i32 @fileno(ptr noundef %26441) #11
  %26443 = call i32 @isatty(i32 noundef %26442) #11
  %26444 = icmp ne i32 %26443, 0
  br i1 %26444, label %26445, label %26462

26445:                                            ; preds = %26440
  %26446 = load i32, ptr %632, align 4, !tbaa !5
  %26447 = call ptr @__errno_location() #12
  store i32 %26446, ptr %26447, align 4, !tbaa !5
  %26448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26449 = load i32, ptr @test_count, align 4, !tbaa !5
  %26450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26451 = load i32, ptr %26450, align 4, !tbaa !5
  %26452 = call ptr @s2n_strerror(i32 noundef %26451, ptr noundef @.str.80)
  %26453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26454 = load i32, ptr %26453, align 4, !tbaa !5
  %26455 = call ptr @s2n_strerror_debug(i32 noundef %26454, ptr noundef @.str.80)
  %26456 = call ptr @__errno_location() #12
  %26457 = load i32, ptr %26456, align 4, !tbaa !5
  %26458 = call ptr @strerror(i32 noundef %26457) #11
  %26459 = call ptr @__errno_location() #12
  %26460 = load i32, ptr %26459, align 4, !tbaa !5
  %26461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26448, ptr noundef @.str.78, i32 noundef %26449, ptr noundef @.str.89, ptr noundef @.str.77, i32 noundef 967, ptr noundef %26452, ptr noundef %26455, ptr noundef %26458, i32 noundef %26460) #11
  br label %26479

26462:                                            ; preds = %26440, %26433
  %26463 = load i32, ptr %632, align 4, !tbaa !5
  %26464 = call ptr @__errno_location() #12
  store i32 %26463, ptr %26464, align 4, !tbaa !5
  %26465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26466 = load i32, ptr @test_count, align 4, !tbaa !5
  %26467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26468 = load i32, ptr %26467, align 4, !tbaa !5
  %26469 = call ptr @s2n_strerror(i32 noundef %26468, ptr noundef @.str.80)
  %26470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26471 = load i32, ptr %26470, align 4, !tbaa !5
  %26472 = call ptr @s2n_strerror_debug(i32 noundef %26471, ptr noundef @.str.80)
  %26473 = call ptr @__errno_location() #12
  %26474 = load i32, ptr %26473, align 4, !tbaa !5
  %26475 = call ptr @strerror(i32 noundef %26474) #11
  %26476 = call ptr @__errno_location() #12
  %26477 = load i32, ptr %26476, align 4, !tbaa !5
  %26478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26465, ptr noundef @.str.81, i32 noundef %26466, ptr noundef @.str.89, ptr noundef @.str.77, i32 noundef 967, ptr noundef %26469, ptr noundef %26472, ptr noundef %26475, i32 noundef %26477) #11
  br label %26479

26479:                                            ; preds = %26462, %26445
  call void @llvm.lifetime.end.p0(i64 4, ptr %632) #11
  br label %26480

26480:                                            ; preds = %26479
  br label %26481

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

26482:                                            ; No predecessors!
  br label %26483

26483:                                            ; preds = %26482
  br label %26484

26484:                                            ; preds = %26483, %26425
  br label %26485

26485:                                            ; preds = %26484
  br label %26486

26486:                                            ; preds = %26485
  br label %26487

26487:                                            ; preds = %26486
  br label %26488

26488:                                            ; preds = %26487
  br label %26489

26489:                                            ; preds = %26488
  %26490 = load i32, ptr @test_count, align 4, !tbaa !5
  %26491 = add nsw i32 %26490, 1
  store i32 %26491, ptr @test_count, align 4, !tbaa !5
  %26492 = call i32 @s2n_psk_set_hmac(ptr noundef %629, i32 noundef -1)
  %26493 = icmp eq i32 %26492, -1
  br i1 %26493, label %26547, label %26494

26494:                                            ; preds = %26489
  br label %26495

26495:                                            ; preds = %26494
  br label %26496

26496:                                            ; preds = %26495
  call void @llvm.lifetime.start.p0(i64 4, ptr %633) #11
  %26497 = call ptr @__errno_location() #12
  %26498 = load i32, ptr %26497, align 4, !tbaa !5
  store i32 %26498, ptr %633, align 4, !tbaa !5
  %26499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26500 = call i32 @s2n_print_stacktrace(ptr noundef %26499)
  %26501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26502 = trunc i8 %26501 to i1
  br i1 %26502, label %26503, label %26525

26503:                                            ; preds = %26496
  %26504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26505 = call i32 @fileno(ptr noundef %26504) #11
  %26506 = call i32 @isatty(i32 noundef %26505) #11
  %26507 = icmp ne i32 %26506, 0
  br i1 %26507, label %26508, label %26525

26508:                                            ; preds = %26503
  %26509 = load i32, ptr %633, align 4, !tbaa !5
  %26510 = call ptr @__errno_location() #12
  store i32 %26509, ptr %26510, align 4, !tbaa !5
  %26511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26512 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %26514, ptr noundef @.str.80)
  %26516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26517 = load i32, ptr %26516, align 4, !tbaa !5
  %26518 = call ptr @s2n_strerror_debug(i32 noundef %26517, ptr noundef @.str.80)
  %26519 = call ptr @__errno_location() #12
  %26520 = load i32, ptr %26519, align 4, !tbaa !5
  %26521 = call ptr @strerror(i32 noundef %26520) #11
  %26522 = call ptr @__errno_location() #12
  %26523 = load i32, ptr %26522, align 4, !tbaa !5
  %26524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26511, ptr noundef @.str.78, i32 noundef %26512, ptr noundef @.str.312, ptr noundef @.str.77, i32 noundef 968, ptr noundef %26515, ptr noundef %26518, ptr noundef %26521, i32 noundef %26523) #11
  br label %26542

26525:                                            ; preds = %26503, %26496
  %26526 = load i32, ptr %633, align 4, !tbaa !5
  %26527 = call ptr @__errno_location() #12
  store i32 %26526, ptr %26527, align 4, !tbaa !5
  %26528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26529 = load i32, ptr @test_count, align 4, !tbaa !5
  %26530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26531 = load i32, ptr %26530, align 4, !tbaa !5
  %26532 = call ptr @s2n_strerror(i32 noundef %26531, ptr noundef @.str.80)
  %26533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26534 = load i32, ptr %26533, align 4, !tbaa !5
  %26535 = call ptr @s2n_strerror_debug(i32 noundef %26534, ptr noundef @.str.80)
  %26536 = call ptr @__errno_location() #12
  %26537 = load i32, ptr %26536, align 4, !tbaa !5
  %26538 = call ptr @strerror(i32 noundef %26537) #11
  %26539 = call ptr @__errno_location() #12
  %26540 = load i32, ptr %26539, align 4, !tbaa !5
  %26541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26528, ptr noundef @.str.81, i32 noundef %26529, ptr noundef @.str.312, ptr noundef @.str.77, i32 noundef 968, ptr noundef %26532, ptr noundef %26535, ptr noundef %26538, i32 noundef %26540) #11
  br label %26542

26542:                                            ; preds = %26525, %26508
  call void @llvm.lifetime.end.p0(i64 4, ptr %633) #11
  br label %26543

26543:                                            ; preds = %26542
  br label %26544

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

26545:                                            ; No predecessors!
  br label %26546

26546:                                            ; preds = %26545
  br label %26547

26547:                                            ; preds = %26546, %26489
  br label %26548

26548:                                            ; preds = %26547
  br label %26549

26549:                                            ; preds = %26548
  br label %26550

26550:                                            ; preds = %26549
  %26551 = load i32, ptr @test_count, align 4, !tbaa !5
  %26552 = add nsw i32 %26551, 1
  store i32 %26552, ptr @test_count, align 4, !tbaa !5
  %26553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26554 = load i32, ptr %26553, align 4, !tbaa !5
  %26555 = icmp eq i32 %26554, 402653214
  br i1 %26555, label %26609, label %26556

26556:                                            ; preds = %26550
  br label %26557

26557:                                            ; preds = %26556
  br label %26558

26558:                                            ; preds = %26557
  call void @llvm.lifetime.start.p0(i64 4, ptr %634) #11
  %26559 = call ptr @__errno_location() #12
  %26560 = load i32, ptr %26559, align 4, !tbaa !5
  store i32 %26560, ptr %634, align 4, !tbaa !5
  %26561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26562 = call i32 @s2n_print_stacktrace(ptr noundef %26561)
  %26563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26564 = trunc i8 %26563 to i1
  br i1 %26564, label %26565, label %26587

26565:                                            ; preds = %26558
  %26566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26567 = call i32 @fileno(ptr noundef %26566) #11
  %26568 = call i32 @isatty(i32 noundef %26567) #11
  %26569 = icmp ne i32 %26568, 0
  br i1 %26569, label %26570, label %26587

26570:                                            ; preds = %26565
  %26571 = load i32, ptr %634, align 4, !tbaa !5
  %26572 = call ptr @__errno_location() #12
  store i32 %26571, ptr %26572, align 4, !tbaa !5
  %26573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26574 = load i32, ptr @test_count, align 4, !tbaa !5
  %26575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26576 = load i32, ptr %26575, align 4, !tbaa !5
  %26577 = call ptr @s2n_strerror(i32 noundef %26576, ptr noundef @.str.80)
  %26578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26579 = load i32, ptr %26578, align 4, !tbaa !5
  %26580 = call ptr @s2n_strerror_debug(i32 noundef %26579, ptr noundef @.str.80)
  %26581 = call ptr @__errno_location() #12
  %26582 = load i32, ptr %26581, align 4, !tbaa !5
  %26583 = call ptr @strerror(i32 noundef %26582) #11
  %26584 = call ptr @__errno_location() #12
  %26585 = load i32, ptr %26584, align 4, !tbaa !5
  %26586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26573, ptr noundef @.str.78, i32 noundef %26574, ptr noundef @.str.313, ptr noundef @.str.77, i32 noundef 968, ptr noundef %26577, ptr noundef %26580, ptr noundef %26583, i32 noundef %26585) #11
  br label %26604

26587:                                            ; preds = %26565, %26558
  %26588 = load i32, ptr %634, align 4, !tbaa !5
  %26589 = call ptr @__errno_location() #12
  store i32 %26588, ptr %26589, align 4, !tbaa !5
  %26590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26591 = load i32, ptr @test_count, align 4, !tbaa !5
  %26592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26593 = load i32, ptr %26592, align 4, !tbaa !5
  %26594 = call ptr @s2n_strerror(i32 noundef %26593, ptr noundef @.str.80)
  %26595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26596 = load i32, ptr %26595, align 4, !tbaa !5
  %26597 = call ptr @s2n_strerror_debug(i32 noundef %26596, ptr noundef @.str.80)
  %26598 = call ptr @__errno_location() #12
  %26599 = load i32, ptr %26598, align 4, !tbaa !5
  %26600 = call ptr @strerror(i32 noundef %26599) #11
  %26601 = call ptr @__errno_location() #12
  %26602 = load i32, ptr %26601, align 4, !tbaa !5
  %26603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26590, ptr noundef @.str.81, i32 noundef %26591, ptr noundef @.str.313, ptr noundef @.str.77, i32 noundef 968, ptr noundef %26594, ptr noundef %26597, ptr noundef %26600, i32 noundef %26602) #11
  br label %26604

26604:                                            ; preds = %26587, %26570
  call void @llvm.lifetime.end.p0(i64 4, ptr %634) #11
  br label %26605

26605:                                            ; preds = %26604
  br label %26606

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

26607:                                            ; No predecessors!
  br label %26608

26608:                                            ; preds = %26607
  br label %26609

26609:                                            ; preds = %26608, %26550
  br label %26610

26610:                                            ; preds = %26609
  br label %26611

26611:                                            ; preds = %26610
  br label %26612

26612:                                            ; preds = %26611
  %26613 = load i32, ptr @test_count, align 4, !tbaa !5
  %26614 = add nsw i32 %26613, 1
  store i32 %26614, ptr @test_count, align 4, !tbaa !5
  %26615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26616 = load i32, ptr %26615, align 4, !tbaa !5
  %26617 = call ptr @s2n_strerror_debug(i32 noundef %26616, ptr noundef @.str.80)
  %26618 = icmp eq ptr %26617, null
  br i1 %26618, label %26619, label %26672

26619:                                            ; preds = %26612
  br label %26620

26620:                                            ; preds = %26619
  br label %26621

26621:                                            ; preds = %26620
  call void @llvm.lifetime.start.p0(i64 4, ptr %635) #11
  %26622 = call ptr @__errno_location() #12
  %26623 = load i32, ptr %26622, align 4, !tbaa !5
  store i32 %26623, ptr %635, align 4, !tbaa !5
  %26624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26625 = call i32 @s2n_print_stacktrace(ptr noundef %26624)
  %26626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26627 = trunc i8 %26626 to i1
  br i1 %26627, label %26628, label %26650

26628:                                            ; preds = %26621
  %26629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26630 = call i32 @fileno(ptr noundef %26629) #11
  %26631 = call i32 @isatty(i32 noundef %26630) #11
  %26632 = icmp ne i32 %26631, 0
  br i1 %26632, label %26633, label %26650

26633:                                            ; preds = %26628
  %26634 = load i32, ptr %635, align 4, !tbaa !5
  %26635 = call ptr @__errno_location() #12
  store i32 %26634, ptr %26635, align 4, !tbaa !5
  %26636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26637 = load i32, ptr @test_count, align 4, !tbaa !5
  %26638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26639 = load i32, ptr %26638, align 4, !tbaa !5
  %26640 = call ptr @s2n_strerror(i32 noundef %26639, ptr noundef @.str.80)
  %26641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26642 = load i32, ptr %26641, align 4, !tbaa !5
  %26643 = call ptr @s2n_strerror_debug(i32 noundef %26642, ptr noundef @.str.80)
  %26644 = call ptr @__errno_location() #12
  %26645 = load i32, ptr %26644, align 4, !tbaa !5
  %26646 = call ptr @strerror(i32 noundef %26645) #11
  %26647 = call ptr @__errno_location() #12
  %26648 = load i32, ptr %26647, align 4, !tbaa !5
  %26649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26636, ptr noundef @.str.78, i32 noundef %26637, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 968, ptr noundef %26640, ptr noundef %26643, ptr noundef %26646, i32 noundef %26648) #11
  br label %26667

26650:                                            ; preds = %26628, %26621
  %26651 = load i32, ptr %635, align 4, !tbaa !5
  %26652 = call ptr @__errno_location() #12
  store i32 %26651, ptr %26652, align 4, !tbaa !5
  %26653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26654 = load i32, ptr @test_count, align 4, !tbaa !5
  %26655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26656 = load i32, ptr %26655, align 4, !tbaa !5
  %26657 = call ptr @s2n_strerror(i32 noundef %26656, ptr noundef @.str.80)
  %26658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26659 = load i32, ptr %26658, align 4, !tbaa !5
  %26660 = call ptr @s2n_strerror_debug(i32 noundef %26659, ptr noundef @.str.80)
  %26661 = call ptr @__errno_location() #12
  %26662 = load i32, ptr %26661, align 4, !tbaa !5
  %26663 = call ptr @strerror(i32 noundef %26662) #11
  %26664 = call ptr @__errno_location() #12
  %26665 = load i32, ptr %26664, align 4, !tbaa !5
  %26666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26653, ptr noundef @.str.81, i32 noundef %26654, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 968, ptr noundef %26657, ptr noundef %26660, ptr noundef %26663, i32 noundef %26665) #11
  br label %26667

26667:                                            ; preds = %26650, %26633
  call void @llvm.lifetime.end.p0(i64 4, ptr %635) #11
  br label %26668

26668:                                            ; preds = %26667
  br label %26669

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

26670:                                            ; No predecessors!
  br label %26671

26671:                                            ; preds = %26670
  br label %26672

26672:                                            ; preds = %26671, %26612
  br label %26673

26673:                                            ; preds = %26672
  br label %26674

26674:                                            ; preds = %26673
  br label %26675

26675:                                            ; preds = %26674
  br label %26676

26676:                                            ; preds = %26675
  br label %26677

26677:                                            ; preds = %26676
  %26678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26678, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26679 = call ptr @__errno_location() #12
  store i32 0, ptr %26679, align 4, !tbaa !5
  br label %26680

26680:                                            ; preds = %26677
  br label %26681

26681:                                            ; preds = %26680
  br label %26682

26682:                                            ; preds = %26681
  br label %26683

26683:                                            ; preds = %26682
  br label %26684

26684:                                            ; preds = %26683
  %26685 = load i32, ptr @test_count, align 4, !tbaa !5
  %26686 = add nsw i32 %26685, 1
  store i32 %26686, ptr @test_count, align 4, !tbaa !5
  %26687 = getelementptr inbounds %struct.s2n_psk, ptr %629, i32 0, i32 3
  %26688 = load i32, ptr %26687, align 8, !tbaa !20
  %26689 = icmp eq i32 %26688, 4
  br i1 %26689, label %26743, label %26690

26690:                                            ; preds = %26684
  br label %26691

26691:                                            ; preds = %26690
  br label %26692

26692:                                            ; preds = %26691
  call void @llvm.lifetime.start.p0(i64 4, ptr %636) #11
  %26693 = call ptr @__errno_location() #12
  %26694 = load i32, ptr %26693, align 4, !tbaa !5
  store i32 %26694, ptr %636, align 4, !tbaa !5
  %26695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26696 = call i32 @s2n_print_stacktrace(ptr noundef %26695)
  %26697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26698 = trunc i8 %26697 to i1
  br i1 %26698, label %26699, label %26721

26699:                                            ; preds = %26692
  %26700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26701 = call i32 @fileno(ptr noundef %26700) #11
  %26702 = call i32 @isatty(i32 noundef %26701) #11
  %26703 = icmp ne i32 %26702, 0
  br i1 %26703, label %26704, label %26721

26704:                                            ; preds = %26699
  %26705 = load i32, ptr %636, align 4, !tbaa !5
  %26706 = call ptr @__errno_location() #12
  store i32 %26705, ptr %26706, align 4, !tbaa !5
  %26707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26708 = load i32, ptr @test_count, align 4, !tbaa !5
  %26709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26710 = load i32, ptr %26709, align 4, !tbaa !5
  %26711 = call ptr @s2n_strerror(i32 noundef %26710, ptr noundef @.str.80)
  %26712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26713 = load i32, ptr %26712, align 4, !tbaa !5
  %26714 = call ptr @s2n_strerror_debug(i32 noundef %26713, ptr noundef @.str.80)
  %26715 = call ptr @__errno_location() #12
  %26716 = load i32, ptr %26715, align 4, !tbaa !5
  %26717 = call ptr @strerror(i32 noundef %26716) #11
  %26718 = call ptr @__errno_location() #12
  %26719 = load i32, ptr %26718, align 4, !tbaa !5
  %26720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26707, ptr noundef @.str.78, i32 noundef %26708, ptr noundef @.str.89, ptr noundef @.str.77, i32 noundef 969, ptr noundef %26711, ptr noundef %26714, ptr noundef %26717, i32 noundef %26719) #11
  br label %26738

26721:                                            ; preds = %26699, %26692
  %26722 = load i32, ptr %636, align 4, !tbaa !5
  %26723 = call ptr @__errno_location() #12
  store i32 %26722, ptr %26723, align 4, !tbaa !5
  %26724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26725 = load i32, ptr @test_count, align 4, !tbaa !5
  %26726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26727 = load i32, ptr %26726, align 4, !tbaa !5
  %26728 = call ptr @s2n_strerror(i32 noundef %26727, ptr noundef @.str.80)
  %26729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26730 = load i32, ptr %26729, align 4, !tbaa !5
  %26731 = call ptr @s2n_strerror_debug(i32 noundef %26730, ptr noundef @.str.80)
  %26732 = call ptr @__errno_location() #12
  %26733 = load i32, ptr %26732, align 4, !tbaa !5
  %26734 = call ptr @strerror(i32 noundef %26733) #11
  %26735 = call ptr @__errno_location() #12
  %26736 = load i32, ptr %26735, align 4, !tbaa !5
  %26737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26724, ptr noundef @.str.81, i32 noundef %26725, ptr noundef @.str.89, ptr noundef @.str.77, i32 noundef 969, ptr noundef %26728, ptr noundef %26731, ptr noundef %26734, i32 noundef %26736) #11
  br label %26738

26738:                                            ; preds = %26721, %26704
  call void @llvm.lifetime.end.p0(i64 4, ptr %636) #11
  br label %26739

26739:                                            ; preds = %26738
  br label %26740

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

26741:                                            ; No predecessors!
  br label %26742

26742:                                            ; preds = %26741
  br label %26743

26743:                                            ; preds = %26742, %26684
  br label %26744

26744:                                            ; preds = %26743
  br label %26745

26745:                                            ; preds = %26744
  br label %26746

26746:                                            ; preds = %26745
  %26747 = load i32, ptr @test_count, align 4, !tbaa !5
  %26748 = add nsw i32 %26747, 1
  store i32 %26748, ptr @test_count, align 4, !tbaa !5
  %26749 = call i32 @s2n_psk_set_hmac(ptr noundef %629, i32 noundef 1)
  %26750 = icmp eq i32 %26749, -1
  br i1 %26750, label %26751, label %26804

26751:                                            ; preds = %26746
  br label %26752

26752:                                            ; preds = %26751
  br label %26753

26753:                                            ; preds = %26752
  call void @llvm.lifetime.start.p0(i64 4, ptr %637) #11
  %26754 = call ptr @__errno_location() #12
  %26755 = load i32, ptr %26754, align 4, !tbaa !5
  store i32 %26755, ptr %637, align 4, !tbaa !5
  %26756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26757 = call i32 @s2n_print_stacktrace(ptr noundef %26756)
  %26758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26759 = trunc i8 %26758 to i1
  br i1 %26759, label %26760, label %26782

26760:                                            ; preds = %26753
  %26761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26762 = call i32 @fileno(ptr noundef %26761) #11
  %26763 = call i32 @isatty(i32 noundef %26762) #11
  %26764 = icmp ne i32 %26763, 0
  br i1 %26764, label %26765, label %26782

26765:                                            ; preds = %26760
  %26766 = load i32, ptr %637, align 4, !tbaa !5
  %26767 = call ptr @__errno_location() #12
  store i32 %26766, ptr %26767, align 4, !tbaa !5
  %26768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26769 = load i32, ptr @test_count, align 4, !tbaa !5
  %26770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26771 = load i32, ptr %26770, align 4, !tbaa !5
  %26772 = call ptr @s2n_strerror(i32 noundef %26771, ptr noundef @.str.80)
  %26773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26774 = load i32, ptr %26773, align 4, !tbaa !5
  %26775 = call ptr @s2n_strerror_debug(i32 noundef %26774, ptr noundef @.str.80)
  %26776 = call ptr @__errno_location() #12
  %26777 = load i32, ptr %26776, align 4, !tbaa !5
  %26778 = call ptr @strerror(i32 noundef %26777) #11
  %26779 = call ptr @__errno_location() #12
  %26780 = load i32, ptr %26779, align 4, !tbaa !5
  %26781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26768, ptr noundef @.str.78, i32 noundef %26769, ptr noundef @.str.314, ptr noundef @.str.77, i32 noundef 971, ptr noundef %26772, ptr noundef %26775, ptr noundef %26778, i32 noundef %26780) #11
  br label %26799

26782:                                            ; preds = %26760, %26753
  %26783 = load i32, ptr %637, align 4, !tbaa !5
  %26784 = call ptr @__errno_location() #12
  store i32 %26783, ptr %26784, align 4, !tbaa !5
  %26785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26786 = load i32, ptr @test_count, align 4, !tbaa !5
  %26787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26788 = load i32, ptr %26787, align 4, !tbaa !5
  %26789 = call ptr @s2n_strerror(i32 noundef %26788, ptr noundef @.str.80)
  %26790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26791 = load i32, ptr %26790, align 4, !tbaa !5
  %26792 = call ptr @s2n_strerror_debug(i32 noundef %26791, ptr noundef @.str.80)
  %26793 = call ptr @__errno_location() #12
  %26794 = load i32, ptr %26793, align 4, !tbaa !5
  %26795 = call ptr @strerror(i32 noundef %26794) #11
  %26796 = call ptr @__errno_location() #12
  %26797 = load i32, ptr %26796, align 4, !tbaa !5
  %26798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26785, ptr noundef @.str.81, i32 noundef %26786, ptr noundef @.str.314, ptr noundef @.str.77, i32 noundef 971, ptr noundef %26789, ptr noundef %26792, ptr noundef %26795, i32 noundef %26797) #11
  br label %26799

26799:                                            ; preds = %26782, %26765
  call void @llvm.lifetime.end.p0(i64 4, ptr %637) #11
  br label %26800

26800:                                            ; preds = %26799
  br label %26801

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

26802:                                            ; No predecessors!
  br label %26803

26803:                                            ; preds = %26802
  br label %26804

26804:                                            ; preds = %26803, %26746
  br label %26805

26805:                                            ; preds = %26804
  br label %26806

26806:                                            ; preds = %26805
  br label %26807

26807:                                            ; preds = %26806
  %26808 = load i32, ptr @test_count, align 4, !tbaa !5
  %26809 = add nsw i32 %26808, 1
  store i32 %26809, ptr @test_count, align 4, !tbaa !5
  %26810 = getelementptr inbounds %struct.s2n_psk, ptr %629, i32 0, i32 3
  %26811 = load i32, ptr %26810, align 8, !tbaa !20
  %26812 = icmp eq i32 %26811, 5
  br i1 %26812, label %26866, label %26813

26813:                                            ; preds = %26807
  br label %26814

26814:                                            ; preds = %26813
  br label %26815

26815:                                            ; preds = %26814
  call void @llvm.lifetime.start.p0(i64 4, ptr %638) #11
  %26816 = call ptr @__errno_location() #12
  %26817 = load i32, ptr %26816, align 4, !tbaa !5
  store i32 %26817, ptr %638, align 4, !tbaa !5
  %26818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26819 = call i32 @s2n_print_stacktrace(ptr noundef %26818)
  %26820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26821 = trunc i8 %26820 to i1
  br i1 %26821, label %26822, label %26844

26822:                                            ; preds = %26815
  %26823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26824 = call i32 @fileno(ptr noundef %26823) #11
  %26825 = call i32 @isatty(i32 noundef %26824) #11
  %26826 = icmp ne i32 %26825, 0
  br i1 %26826, label %26827, label %26844

26827:                                            ; preds = %26822
  %26828 = load i32, ptr %638, 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.80)
  %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.80)
  %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.78, i32 noundef %26831, ptr noundef @.str.315, ptr noundef @.str.77, i32 noundef 972, ptr noundef %26834, ptr noundef %26837, ptr noundef %26840, i32 noundef %26842) #11
  br label %26861

26844:                                            ; preds = %26822, %26815
  %26845 = load i32, ptr %638, align 4, !tbaa !5
  %26846 = call ptr @__errno_location() #12
  store i32 %26845, ptr %26846, align 4, !tbaa !5
  %26847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26848 = load i32, ptr @test_count, align 4, !tbaa !5
  %26849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26850 = load i32, ptr %26849, align 4, !tbaa !5
  %26851 = call ptr @s2n_strerror(i32 noundef %26850, ptr noundef @.str.80)
  %26852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26853 = load i32, ptr %26852, align 4, !tbaa !5
  %26854 = call ptr @s2n_strerror_debug(i32 noundef %26853, ptr noundef @.str.80)
  %26855 = call ptr @__errno_location() #12
  %26856 = load i32, ptr %26855, align 4, !tbaa !5
  %26857 = call ptr @strerror(i32 noundef %26856) #11
  %26858 = call ptr @__errno_location() #12
  %26859 = load i32, ptr %26858, align 4, !tbaa !5
  %26860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26847, ptr noundef @.str.81, i32 noundef %26848, ptr noundef @.str.315, ptr noundef @.str.77, i32 noundef 972, ptr noundef %26851, ptr noundef %26854, ptr noundef %26857, i32 noundef %26859) #11
  br label %26861

26861:                                            ; preds = %26844, %26827
  call void @llvm.lifetime.end.p0(i64 4, ptr %638) #11
  br label %26862

26862:                                            ; preds = %26861
  br label %26863

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

26864:                                            ; No predecessors!
  br label %26865

26865:                                            ; preds = %26864
  br label %26866

26866:                                            ; preds = %26865, %26807
  br label %26867

26867:                                            ; preds = %26866
  br label %26868

26868:                                            ; preds = %26867
  br label %26869

26869:                                            ; preds = %26868
  %26870 = load i32, ptr @test_count, align 4, !tbaa !5
  %26871 = add nsw i32 %26870, 1
  store i32 %26871, ptr @test_count, align 4, !tbaa !5
  %26872 = call i32 @s2n_psk_set_hmac(ptr noundef %629, i32 noundef 0)
  %26873 = icmp eq i32 %26872, -1
  br i1 %26873, label %26874, label %26927

26874:                                            ; preds = %26869
  br label %26875

26875:                                            ; preds = %26874
  br label %26876

26876:                                            ; preds = %26875
  call void @llvm.lifetime.start.p0(i64 4, ptr %639) #11
  %26877 = call ptr @__errno_location() #12
  %26878 = load i32, ptr %26877, align 4, !tbaa !5
  store i32 %26878, ptr %639, align 4, !tbaa !5
  %26879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26880 = call i32 @s2n_print_stacktrace(ptr noundef %26879)
  %26881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26882 = trunc i8 %26881 to i1
  br i1 %26882, label %26883, label %26905

26883:                                            ; preds = %26876
  %26884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26885 = call i32 @fileno(ptr noundef %26884) #11
  %26886 = call i32 @isatty(i32 noundef %26885) #11
  %26887 = icmp ne i32 %26886, 0
  br i1 %26887, label %26888, label %26905

26888:                                            ; preds = %26883
  %26889 = load i32, ptr %639, align 4, !tbaa !5
  %26890 = call ptr @__errno_location() #12
  store i32 %26889, ptr %26890, align 4, !tbaa !5
  %26891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26892 = load i32, ptr @test_count, align 4, !tbaa !5
  %26893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26894 = load i32, ptr %26893, align 4, !tbaa !5
  %26895 = call ptr @s2n_strerror(i32 noundef %26894, ptr noundef @.str.80)
  %26896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26897 = load i32, ptr %26896, align 4, !tbaa !5
  %26898 = call ptr @s2n_strerror_debug(i32 noundef %26897, ptr noundef @.str.80)
  %26899 = call ptr @__errno_location() #12
  %26900 = load i32, ptr %26899, align 4, !tbaa !5
  %26901 = call ptr @strerror(i32 noundef %26900) #11
  %26902 = call ptr @__errno_location() #12
  %26903 = load i32, ptr %26902, align 4, !tbaa !5
  %26904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26891, ptr noundef @.str.78, i32 noundef %26892, ptr noundef @.str.316, ptr noundef @.str.77, i32 noundef 974, ptr noundef %26895, ptr noundef %26898, ptr noundef %26901, i32 noundef %26903) #11
  br label %26922

26905:                                            ; preds = %26883, %26876
  %26906 = load i32, ptr %639, align 4, !tbaa !5
  %26907 = call ptr @__errno_location() #12
  store i32 %26906, ptr %26907, align 4, !tbaa !5
  %26908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26909 = load i32, ptr @test_count, align 4, !tbaa !5
  %26910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26911 = load i32, ptr %26910, align 4, !tbaa !5
  %26912 = call ptr @s2n_strerror(i32 noundef %26911, ptr noundef @.str.80)
  %26913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26914 = load i32, ptr %26913, align 4, !tbaa !5
  %26915 = call ptr @s2n_strerror_debug(i32 noundef %26914, ptr noundef @.str.80)
  %26916 = call ptr @__errno_location() #12
  %26917 = load i32, ptr %26916, align 4, !tbaa !5
  %26918 = call ptr @strerror(i32 noundef %26917) #11
  %26919 = call ptr @__errno_location() #12
  %26920 = load i32, ptr %26919, align 4, !tbaa !5
  %26921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26908, ptr noundef @.str.81, i32 noundef %26909, ptr noundef @.str.316, ptr noundef @.str.77, i32 noundef 974, ptr noundef %26912, ptr noundef %26915, ptr noundef %26918, i32 noundef %26920) #11
  br label %26922

26922:                                            ; preds = %26905, %26888
  call void @llvm.lifetime.end.p0(i64 4, ptr %639) #11
  br label %26923

26923:                                            ; preds = %26922
  br label %26924

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

26925:                                            ; No predecessors!
  br label %26926

26926:                                            ; preds = %26925
  br label %26927

26927:                                            ; preds = %26926, %26869
  br label %26928

26928:                                            ; preds = %26927
  br label %26929

26929:                                            ; preds = %26928
  br label %26930

26930:                                            ; preds = %26929
  %26931 = load i32, ptr @test_count, align 4, !tbaa !5
  %26932 = add nsw i32 %26931, 1
  store i32 %26932, ptr @test_count, align 4, !tbaa !5
  %26933 = getelementptr inbounds %struct.s2n_psk, ptr %629, i32 0, i32 3
  %26934 = load i32, ptr %26933, align 8, !tbaa !20
  %26935 = icmp eq i32 %26934, 4
  br i1 %26935, label %26989, label %26936

26936:                                            ; preds = %26930
  br label %26937

26937:                                            ; preds = %26936
  br label %26938

26938:                                            ; preds = %26937
  call void @llvm.lifetime.start.p0(i64 4, ptr %640) #11
  %26939 = call ptr @__errno_location() #12
  %26940 = load i32, ptr %26939, align 4, !tbaa !5
  store i32 %26940, ptr %640, align 4, !tbaa !5
  %26941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26942 = call i32 @s2n_print_stacktrace(ptr noundef %26941)
  %26943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26944 = trunc i8 %26943 to i1
  br i1 %26944, label %26945, label %26967

26945:                                            ; preds = %26938
  %26946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26947 = call i32 @fileno(ptr noundef %26946) #11
  %26948 = call i32 @isatty(i32 noundef %26947) #11
  %26949 = icmp ne i32 %26948, 0
  br i1 %26949, label %26950, label %26967

26950:                                            ; preds = %26945
  %26951 = load i32, ptr %640, align 4, !tbaa !5
  %26952 = call ptr @__errno_location() #12
  store i32 %26951, ptr %26952, align 4, !tbaa !5
  %26953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26954 = load i32, ptr @test_count, align 4, !tbaa !5
  %26955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26956 = load i32, ptr %26955, align 4, !tbaa !5
  %26957 = call ptr @s2n_strerror(i32 noundef %26956, ptr noundef @.str.80)
  %26958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26959 = load i32, ptr %26958, align 4, !tbaa !5
  %26960 = call ptr @s2n_strerror_debug(i32 noundef %26959, ptr noundef @.str.80)
  %26961 = call ptr @__errno_location() #12
  %26962 = load i32, ptr %26961, align 4, !tbaa !5
  %26963 = call ptr @strerror(i32 noundef %26962) #11
  %26964 = call ptr @__errno_location() #12
  %26965 = load i32, ptr %26964, align 4, !tbaa !5
  %26966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26953, ptr noundef @.str.78, i32 noundef %26954, ptr noundef @.str.89, ptr noundef @.str.77, i32 noundef 975, ptr noundef %26957, ptr noundef %26960, ptr noundef %26963, i32 noundef %26965) #11
  br label %26984

26967:                                            ; preds = %26945, %26938
  %26968 = load i32, ptr %640, align 4, !tbaa !5
  %26969 = call ptr @__errno_location() #12
  store i32 %26968, ptr %26969, align 4, !tbaa !5
  %26970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26971 = load i32, ptr @test_count, align 4, !tbaa !5
  %26972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26973 = load i32, ptr %26972, align 4, !tbaa !5
  %26974 = call ptr @s2n_strerror(i32 noundef %26973, ptr noundef @.str.80)
  %26975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26976 = load i32, ptr %26975, align 4, !tbaa !5
  %26977 = call ptr @s2n_strerror_debug(i32 noundef %26976, ptr noundef @.str.80)
  %26978 = call ptr @__errno_location() #12
  %26979 = load i32, ptr %26978, align 4, !tbaa !5
  %26980 = call ptr @strerror(i32 noundef %26979) #11
  %26981 = call ptr @__errno_location() #12
  %26982 = load i32, ptr %26981, align 4, !tbaa !5
  %26983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26970, ptr noundef @.str.81, i32 noundef %26971, ptr noundef @.str.89, ptr noundef @.str.77, i32 noundef 975, ptr noundef %26974, ptr noundef %26977, ptr noundef %26980, i32 noundef %26982) #11
  br label %26984

26984:                                            ; preds = %26967, %26950
  call void @llvm.lifetime.end.p0(i64 4, ptr %640) #11
  br label %26985

26985:                                            ; preds = %26984
  br label %26986

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

26987:                                            ; No predecessors!
  br label %26988

26988:                                            ; preds = %26987
  br label %26989

26989:                                            ; preds = %26988, %26930
  br label %26990

26990:                                            ; preds = %26989
  br label %26991

26991:                                            ; preds = %26990
  %26992 = call i32 @s2n_psk_wipe(ptr noundef %629)
  %26993 = getelementptr inbounds %struct.s2n_result, ptr %641, i32 0, i32 0
  store i32 %26992, ptr %26993, align 4
  call void @llvm.lifetime.end.p0(i64 168, ptr %629) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %642) #11
  %26994 = call ptr @s2n_config_new()
  store ptr %26994, ptr %642, align 8, !tbaa !9
  br label %26995

26995:                                            ; preds = %26991
  %26996 = load i32, ptr @test_count, align 4, !tbaa !5
  %26997 = add nsw i32 %26996, 1
  store i32 %26997, ptr @test_count, align 4, !tbaa !5
  %26998 = load ptr, ptr %642, align 8, !tbaa !9
  %26999 = icmp eq ptr %26998, null
  br i1 %26999, label %27000, label %27053

27000:                                            ; preds = %26995
  br label %27001

27001:                                            ; preds = %27000
  br label %27002

27002:                                            ; preds = %27001
  call void @llvm.lifetime.start.p0(i64 4, ptr %643) #11
  %27003 = call ptr @__errno_location() #12
  %27004 = load i32, ptr %27003, align 4, !tbaa !5
  store i32 %27004, ptr %643, align 4, !tbaa !5
  %27005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27006 = call i32 @s2n_print_stacktrace(ptr noundef %27005)
  %27007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27008 = trunc i8 %27007 to i1
  br i1 %27008, label %27009, label %27031

27009:                                            ; preds = %27002
  %27010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27011 = call i32 @fileno(ptr noundef %27010) #11
  %27012 = call i32 @isatty(i32 noundef %27011) #11
  %27013 = icmp ne i32 %27012, 0
  br i1 %27013, label %27014, label %27031

27014:                                            ; preds = %27009
  %27015 = load i32, ptr %643, align 4, !tbaa !5
  %27016 = call ptr @__errno_location() #12
  store i32 %27015, ptr %27016, align 4, !tbaa !5
  %27017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27018 = load i32, ptr @test_count, align 4, !tbaa !5
  %27019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27020 = load i32, ptr %27019, align 4, !tbaa !5
  %27021 = call ptr @s2n_strerror(i32 noundef %27020, ptr noundef @.str.80)
  %27022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27023 = load i32, ptr %27022, align 4, !tbaa !5
  %27024 = call ptr @s2n_strerror_debug(i32 noundef %27023, ptr noundef @.str.80)
  %27025 = call ptr @__errno_location() #12
  %27026 = load i32, ptr %27025, align 4, !tbaa !5
  %27027 = call ptr @strerror(i32 noundef %27026) #11
  %27028 = call ptr @__errno_location() #12
  %27029 = load i32, ptr %27028, align 4, !tbaa !5
  %27030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27017, ptr noundef @.str.78, i32 noundef %27018, ptr noundef @.str.317, ptr noundef @.str.77, i32 noundef 981, ptr noundef %27021, ptr noundef %27024, ptr noundef %27027, i32 noundef %27029) #11
  br label %27048

27031:                                            ; preds = %27009, %27002
  %27032 = load i32, ptr %643, align 4, !tbaa !5
  %27033 = call ptr @__errno_location() #12
  store i32 %27032, ptr %27033, align 4, !tbaa !5
  %27034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27035 = load i32, ptr @test_count, align 4, !tbaa !5
  %27036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27037 = load i32, ptr %27036, align 4, !tbaa !5
  %27038 = call ptr @s2n_strerror(i32 noundef %27037, ptr noundef @.str.80)
  %27039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27040 = load i32, ptr %27039, align 4, !tbaa !5
  %27041 = call ptr @s2n_strerror_debug(i32 noundef %27040, ptr noundef @.str.80)
  %27042 = call ptr @__errno_location() #12
  %27043 = load i32, ptr %27042, align 4, !tbaa !5
  %27044 = call ptr @strerror(i32 noundef %27043) #11
  %27045 = call ptr @__errno_location() #12
  %27046 = load i32, ptr %27045, align 4, !tbaa !5
  %27047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27034, ptr noundef @.str.81, i32 noundef %27035, ptr noundef @.str.317, ptr noundef @.str.77, i32 noundef 981, ptr noundef %27038, ptr noundef %27041, ptr noundef %27044, i32 noundef %27046) #11
  br label %27048

27048:                                            ; preds = %27031, %27014
  call void @llvm.lifetime.end.p0(i64 4, ptr %643) #11
  br label %27049

27049:                                            ; preds = %27048
  br label %27050

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

27051:                                            ; No predecessors!
  br label %27052

27052:                                            ; preds = %27051
  br label %27053

27053:                                            ; preds = %27052, %26995
  br label %27054

27054:                                            ; preds = %27053
  br label %27055

27055:                                            ; preds = %27054
  br label %27056

27056:                                            ; preds = %27055
  %27057 = load i32, ptr @test_count, align 4, !tbaa !5
  %27058 = add nsw i32 %27057, 1
  store i32 %27058, ptr @test_count, align 4, !tbaa !5
  %27059 = load ptr, ptr %642, align 8, !tbaa !9
  %27060 = getelementptr inbounds %struct.s2n_config, ptr %27059, i32 0, i32 48
  %27061 = load i32, ptr %27060, align 4, !tbaa !91
  %27062 = icmp eq i32 %27061, 0
  br i1 %27062, label %27116, label %27063

27063:                                            ; preds = %27056
  br label %27064

27064:                                            ; preds = %27063
  br label %27065

27065:                                            ; preds = %27064
  call void @llvm.lifetime.start.p0(i64 4, ptr %644) #11
  %27066 = call ptr @__errno_location() #12
  %27067 = load i32, ptr %27066, align 4, !tbaa !5
  store i32 %27067, ptr %644, align 4, !tbaa !5
  %27068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27069 = call i32 @s2n_print_stacktrace(ptr noundef %27068)
  %27070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27071 = trunc i8 %27070 to i1
  br i1 %27071, label %27072, label %27094

27072:                                            ; preds = %27065
  %27073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27074 = call i32 @fileno(ptr noundef %27073) #11
  %27075 = call i32 @isatty(i32 noundef %27074) #11
  %27076 = icmp ne i32 %27075, 0
  br i1 %27076, label %27077, label %27094

27077:                                            ; preds = %27072
  %27078 = load i32, ptr %644, align 4, !tbaa !5
  %27079 = call ptr @__errno_location() #12
  store i32 %27078, ptr %27079, align 4, !tbaa !5
  %27080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27081 = load i32, ptr @test_count, align 4, !tbaa !5
  %27082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27083 = load i32, ptr %27082, align 4, !tbaa !5
  %27084 = call ptr @s2n_strerror(i32 noundef %27083, ptr noundef @.str.80)
  %27085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27086 = load i32, ptr %27085, align 4, !tbaa !5
  %27087 = call ptr @s2n_strerror_debug(i32 noundef %27086, ptr noundef @.str.80)
  %27088 = call ptr @__errno_location() #12
  %27089 = load i32, ptr %27088, align 4, !tbaa !5
  %27090 = call ptr @strerror(i32 noundef %27089) #11
  %27091 = call ptr @__errno_location() #12
  %27092 = load i32, ptr %27091, align 4, !tbaa !5
  %27093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27080, ptr noundef @.str.78, i32 noundef %27081, ptr noundef @.str.318, ptr noundef @.str.77, i32 noundef 982, ptr noundef %27084, ptr noundef %27087, ptr noundef %27090, i32 noundef %27092) #11
  br label %27111

27094:                                            ; preds = %27072, %27065
  %27095 = load i32, ptr %644, align 4, !tbaa !5
  %27096 = call ptr @__errno_location() #12
  store i32 %27095, ptr %27096, align 4, !tbaa !5
  %27097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27098 = load i32, ptr @test_count, align 4, !tbaa !5
  %27099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27100 = load i32, ptr %27099, align 4, !tbaa !5
  %27101 = call ptr @s2n_strerror(i32 noundef %27100, ptr noundef @.str.80)
  %27102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27103 = load i32, ptr %27102, align 4, !tbaa !5
  %27104 = call ptr @s2n_strerror_debug(i32 noundef %27103, ptr noundef @.str.80)
  %27105 = call ptr @__errno_location() #12
  %27106 = load i32, ptr %27105, align 4, !tbaa !5
  %27107 = call ptr @strerror(i32 noundef %27106) #11
  %27108 = call ptr @__errno_location() #12
  %27109 = load i32, ptr %27108, align 4, !tbaa !5
  %27110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27097, ptr noundef @.str.81, i32 noundef %27098, ptr noundef @.str.318, ptr noundef @.str.77, i32 noundef 982, ptr noundef %27101, ptr noundef %27104, ptr noundef %27107, i32 noundef %27109) #11
  br label %27111

27111:                                            ; preds = %27094, %27077
  call void @llvm.lifetime.end.p0(i64 4, ptr %644) #11
  br label %27112

27112:                                            ; preds = %27111
  br label %27113

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

27114:                                            ; No predecessors!
  br label %27115

27115:                                            ; preds = %27114
  br label %27116

27116:                                            ; preds = %27115, %27056
  br label %27117

27117:                                            ; preds = %27116
  br label %27118

27118:                                            ; preds = %27117
  br label %27119

27119:                                            ; preds = %27118
  br label %27120

27120:                                            ; preds = %27119
  br label %27121

27121:                                            ; preds = %27120
  %27122 = load i32, ptr @test_count, align 4, !tbaa !5
  %27123 = add nsw i32 %27122, 1
  store i32 %27123, ptr @test_count, align 4, !tbaa !5
  %27124 = call i32 @s2n_config_set_psk_mode(ptr noundef null, i32 noundef 1)
  %27125 = icmp eq i32 %27124, -1
  br i1 %27125, label %27179, label %27126

27126:                                            ; preds = %27121
  br label %27127

27127:                                            ; preds = %27126
  br label %27128

27128:                                            ; preds = %27127
  call void @llvm.lifetime.start.p0(i64 4, ptr %645) #11
  %27129 = call ptr @__errno_location() #12
  %27130 = load i32, ptr %27129, align 4, !tbaa !5
  store i32 %27130, ptr %645, align 4, !tbaa !5
  %27131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27132 = call i32 @s2n_print_stacktrace(ptr noundef %27131)
  %27133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27134 = trunc i8 %27133 to i1
  br i1 %27134, label %27135, label %27157

27135:                                            ; preds = %27128
  %27136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27137 = call i32 @fileno(ptr noundef %27136) #11
  %27138 = call i32 @isatty(i32 noundef %27137) #11
  %27139 = icmp ne i32 %27138, 0
  br i1 %27139, label %27140, label %27157

27140:                                            ; preds = %27135
  %27141 = load i32, ptr %645, align 4, !tbaa !5
  %27142 = call ptr @__errno_location() #12
  store i32 %27141, ptr %27142, align 4, !tbaa !5
  %27143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27144 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %27146, ptr noundef @.str.80)
  %27148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27149 = load i32, ptr %27148, align 4, !tbaa !5
  %27150 = call ptr @s2n_strerror_debug(i32 noundef %27149, ptr noundef @.str.80)
  %27151 = call ptr @__errno_location() #12
  %27152 = load i32, ptr %27151, align 4, !tbaa !5
  %27153 = call ptr @strerror(i32 noundef %27152) #11
  %27154 = call ptr @__errno_location() #12
  %27155 = load i32, ptr %27154, align 4, !tbaa !5
  %27156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27143, ptr noundef @.str.78, i32 noundef %27144, ptr noundef @.str.319, ptr noundef @.str.77, i32 noundef 984, ptr noundef %27147, ptr noundef %27150, ptr noundef %27153, i32 noundef %27155) #11
  br label %27174

27157:                                            ; preds = %27135, %27128
  %27158 = load i32, ptr %645, align 4, !tbaa !5
  %27159 = call ptr @__errno_location() #12
  store i32 %27158, ptr %27159, align 4, !tbaa !5
  %27160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27161 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %27163, ptr noundef @.str.80)
  %27165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27166 = load i32, ptr %27165, align 4, !tbaa !5
  %27167 = call ptr @s2n_strerror_debug(i32 noundef %27166, ptr noundef @.str.80)
  %27168 = call ptr @__errno_location() #12
  %27169 = load i32, ptr %27168, align 4, !tbaa !5
  %27170 = call ptr @strerror(i32 noundef %27169) #11
  %27171 = call ptr @__errno_location() #12
  %27172 = load i32, ptr %27171, align 4, !tbaa !5
  %27173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27160, ptr noundef @.str.81, i32 noundef %27161, ptr noundef @.str.319, ptr noundef @.str.77, i32 noundef 984, ptr noundef %27164, ptr noundef %27167, ptr noundef %27170, i32 noundef %27172) #11
  br label %27174

27174:                                            ; preds = %27157, %27140
  call void @llvm.lifetime.end.p0(i64 4, ptr %645) #11
  br label %27175

27175:                                            ; preds = %27174
  br label %27176

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

27177:                                            ; No predecessors!
  br label %27178

27178:                                            ; preds = %27177
  br label %27179

27179:                                            ; preds = %27178, %27121
  br label %27180

27180:                                            ; preds = %27179
  br label %27181

27181:                                            ; preds = %27180
  br label %27182

27182:                                            ; preds = %27181
  %27183 = load i32, ptr @test_count, align 4, !tbaa !5
  %27184 = add nsw i32 %27183, 1
  store i32 %27184, ptr @test_count, align 4, !tbaa !5
  %27185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27186 = load i32, ptr %27185, align 4, !tbaa !5
  %27187 = icmp eq i32 %27186, 402653193
  br i1 %27187, label %27241, label %27188

27188:                                            ; preds = %27182
  br label %27189

27189:                                            ; preds = %27188
  br label %27190

27190:                                            ; preds = %27189
  call void @llvm.lifetime.start.p0(i64 4, ptr %646) #11
  %27191 = call ptr @__errno_location() #12
  %27192 = load i32, ptr %27191, align 4, !tbaa !5
  store i32 %27192, ptr %646, align 4, !tbaa !5
  %27193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27194 = call i32 @s2n_print_stacktrace(ptr noundef %27193)
  %27195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27196 = trunc i8 %27195 to i1
  br i1 %27196, label %27197, label %27219

27197:                                            ; preds = %27190
  %27198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27199 = call i32 @fileno(ptr noundef %27198) #11
  %27200 = call i32 @isatty(i32 noundef %27199) #11
  %27201 = icmp ne i32 %27200, 0
  br i1 %27201, label %27202, label %27219

27202:                                            ; preds = %27197
  %27203 = load i32, ptr %646, align 4, !tbaa !5
  %27204 = call ptr @__errno_location() #12
  store i32 %27203, ptr %27204, align 4, !tbaa !5
  %27205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27206 = load i32, ptr @test_count, align 4, !tbaa !5
  %27207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27208 = load i32, ptr %27207, align 4, !tbaa !5
  %27209 = call ptr @s2n_strerror(i32 noundef %27208, ptr noundef @.str.80)
  %27210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27211 = load i32, ptr %27210, align 4, !tbaa !5
  %27212 = call ptr @s2n_strerror_debug(i32 noundef %27211, ptr noundef @.str.80)
  %27213 = call ptr @__errno_location() #12
  %27214 = load i32, ptr %27213, align 4, !tbaa !5
  %27215 = call ptr @strerror(i32 noundef %27214) #11
  %27216 = call ptr @__errno_location() #12
  %27217 = load i32, ptr %27216, align 4, !tbaa !5
  %27218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27205, ptr noundef @.str.78, i32 noundef %27206, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 984, ptr noundef %27209, ptr noundef %27212, ptr noundef %27215, i32 noundef %27217) #11
  br label %27236

27219:                                            ; preds = %27197, %27190
  %27220 = load i32, ptr %646, align 4, !tbaa !5
  %27221 = call ptr @__errno_location() #12
  store i32 %27220, ptr %27221, align 4, !tbaa !5
  %27222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27223 = load i32, ptr @test_count, align 4, !tbaa !5
  %27224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27225 = load i32, ptr %27224, align 4, !tbaa !5
  %27226 = call ptr @s2n_strerror(i32 noundef %27225, ptr noundef @.str.80)
  %27227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27228 = load i32, ptr %27227, align 4, !tbaa !5
  %27229 = call ptr @s2n_strerror_debug(i32 noundef %27228, ptr noundef @.str.80)
  %27230 = call ptr @__errno_location() #12
  %27231 = load i32, ptr %27230, align 4, !tbaa !5
  %27232 = call ptr @strerror(i32 noundef %27231) #11
  %27233 = call ptr @__errno_location() #12
  %27234 = load i32, ptr %27233, align 4, !tbaa !5
  %27235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27222, ptr noundef @.str.81, i32 noundef %27223, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 984, ptr noundef %27226, ptr noundef %27229, ptr noundef %27232, i32 noundef %27234) #11
  br label %27236

27236:                                            ; preds = %27219, %27202
  call void @llvm.lifetime.end.p0(i64 4, ptr %646) #11
  br label %27237

27237:                                            ; preds = %27236
  br label %27238

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

27239:                                            ; No predecessors!
  br label %27240

27240:                                            ; preds = %27239
  br label %27241

27241:                                            ; preds = %27240, %27182
  br label %27242

27242:                                            ; preds = %27241
  br label %27243

27243:                                            ; preds = %27242
  br label %27244

27244:                                            ; preds = %27243
  %27245 = load i32, ptr @test_count, align 4, !tbaa !5
  %27246 = add nsw i32 %27245, 1
  store i32 %27246, ptr @test_count, align 4, !tbaa !5
  %27247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27248 = load i32, ptr %27247, align 4, !tbaa !5
  %27249 = call ptr @s2n_strerror_debug(i32 noundef %27248, ptr noundef @.str.80)
  %27250 = icmp eq ptr %27249, null
  br i1 %27250, label %27251, label %27304

27251:                                            ; preds = %27244
  br label %27252

27252:                                            ; preds = %27251
  br label %27253

27253:                                            ; preds = %27252
  call void @llvm.lifetime.start.p0(i64 4, ptr %647) #11
  %27254 = call ptr @__errno_location() #12
  %27255 = load i32, ptr %27254, align 4, !tbaa !5
  store i32 %27255, ptr %647, align 4, !tbaa !5
  %27256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27257 = call i32 @s2n_print_stacktrace(ptr noundef %27256)
  %27258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27259 = trunc i8 %27258 to i1
  br i1 %27259, label %27260, label %27282

27260:                                            ; preds = %27253
  %27261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27262 = call i32 @fileno(ptr noundef %27261) #11
  %27263 = call i32 @isatty(i32 noundef %27262) #11
  %27264 = icmp ne i32 %27263, 0
  br i1 %27264, label %27265, label %27282

27265:                                            ; preds = %27260
  %27266 = load i32, ptr %647, align 4, !tbaa !5
  %27267 = call ptr @__errno_location() #12
  store i32 %27266, ptr %27267, align 4, !tbaa !5
  %27268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27269 = load i32, ptr @test_count, align 4, !tbaa !5
  %27270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27271 = load i32, ptr %27270, align 4, !tbaa !5
  %27272 = call ptr @s2n_strerror(i32 noundef %27271, ptr noundef @.str.80)
  %27273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27274 = load i32, ptr %27273, align 4, !tbaa !5
  %27275 = call ptr @s2n_strerror_debug(i32 noundef %27274, ptr noundef @.str.80)
  %27276 = call ptr @__errno_location() #12
  %27277 = load i32, ptr %27276, align 4, !tbaa !5
  %27278 = call ptr @strerror(i32 noundef %27277) #11
  %27279 = call ptr @__errno_location() #12
  %27280 = load i32, ptr %27279, align 4, !tbaa !5
  %27281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27268, ptr noundef @.str.78, i32 noundef %27269, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 984, ptr noundef %27272, ptr noundef %27275, ptr noundef %27278, i32 noundef %27280) #11
  br label %27299

27282:                                            ; preds = %27260, %27253
  %27283 = load i32, ptr %647, align 4, !tbaa !5
  %27284 = call ptr @__errno_location() #12
  store i32 %27283, ptr %27284, align 4, !tbaa !5
  %27285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27286 = load i32, ptr @test_count, align 4, !tbaa !5
  %27287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27288 = load i32, ptr %27287, align 4, !tbaa !5
  %27289 = call ptr @s2n_strerror(i32 noundef %27288, ptr noundef @.str.80)
  %27290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27291 = load i32, ptr %27290, align 4, !tbaa !5
  %27292 = call ptr @s2n_strerror_debug(i32 noundef %27291, ptr noundef @.str.80)
  %27293 = call ptr @__errno_location() #12
  %27294 = load i32, ptr %27293, align 4, !tbaa !5
  %27295 = call ptr @strerror(i32 noundef %27294) #11
  %27296 = call ptr @__errno_location() #12
  %27297 = load i32, ptr %27296, align 4, !tbaa !5
  %27298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27285, ptr noundef @.str.81, i32 noundef %27286, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 984, ptr noundef %27289, ptr noundef %27292, ptr noundef %27295, i32 noundef %27297) #11
  br label %27299

27299:                                            ; preds = %27282, %27265
  call void @llvm.lifetime.end.p0(i64 4, ptr %647) #11
  br label %27300

27300:                                            ; preds = %27299
  br label %27301

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

27302:                                            ; No predecessors!
  br label %27303

27303:                                            ; preds = %27302
  br label %27304

27304:                                            ; preds = %27303, %27244
  br label %27305

27305:                                            ; preds = %27304
  br label %27306

27306:                                            ; preds = %27305
  br label %27307

27307:                                            ; preds = %27306
  br label %27308

27308:                                            ; preds = %27307
  br label %27309

27309:                                            ; preds = %27308
  %27310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %27310, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %27311 = call ptr @__errno_location() #12
  store i32 0, ptr %27311, align 4, !tbaa !5
  br label %27312

27312:                                            ; preds = %27309
  br label %27313

27313:                                            ; preds = %27312
  br label %27314

27314:                                            ; preds = %27313
  br label %27315

27315:                                            ; preds = %27314
  br label %27316

27316:                                            ; preds = %27315
  %27317 = load i32, ptr @test_count, align 4, !tbaa !5
  %27318 = add nsw i32 %27317, 1
  store i32 %27318, ptr @test_count, align 4, !tbaa !5
  %27319 = load ptr, ptr %642, align 8, !tbaa !9
  %27320 = getelementptr inbounds %struct.s2n_config, ptr %27319, i32 0, i32 48
  %27321 = load i32, ptr %27320, align 4, !tbaa !91
  %27322 = icmp eq i32 %27321, 0
  br i1 %27322, label %27376, label %27323

27323:                                            ; preds = %27316
  br label %27324

27324:                                            ; preds = %27323
  br label %27325

27325:                                            ; preds = %27324
  call void @llvm.lifetime.start.p0(i64 4, ptr %648) #11
  %27326 = call ptr @__errno_location() #12
  %27327 = load i32, ptr %27326, align 4, !tbaa !5
  store i32 %27327, ptr %648, align 4, !tbaa !5
  %27328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27329 = call i32 @s2n_print_stacktrace(ptr noundef %27328)
  %27330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27331 = trunc i8 %27330 to i1
  br i1 %27331, label %27332, label %27354

27332:                                            ; preds = %27325
  %27333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27334 = call i32 @fileno(ptr noundef %27333) #11
  %27335 = call i32 @isatty(i32 noundef %27334) #11
  %27336 = icmp ne i32 %27335, 0
  br i1 %27336, label %27337, label %27354

27337:                                            ; preds = %27332
  %27338 = load i32, ptr %648, align 4, !tbaa !5
  %27339 = call ptr @__errno_location() #12
  store i32 %27338, ptr %27339, align 4, !tbaa !5
  %27340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27341 = load i32, ptr @test_count, align 4, !tbaa !5
  %27342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27343 = load i32, ptr %27342, align 4, !tbaa !5
  %27344 = call ptr @s2n_strerror(i32 noundef %27343, ptr noundef @.str.80)
  %27345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27346 = load i32, ptr %27345, align 4, !tbaa !5
  %27347 = call ptr @s2n_strerror_debug(i32 noundef %27346, ptr noundef @.str.80)
  %27348 = call ptr @__errno_location() #12
  %27349 = load i32, ptr %27348, align 4, !tbaa !5
  %27350 = call ptr @strerror(i32 noundef %27349) #11
  %27351 = call ptr @__errno_location() #12
  %27352 = load i32, ptr %27351, align 4, !tbaa !5
  %27353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27340, ptr noundef @.str.78, i32 noundef %27341, ptr noundef @.str.318, ptr noundef @.str.77, i32 noundef 985, ptr noundef %27344, ptr noundef %27347, ptr noundef %27350, i32 noundef %27352) #11
  br label %27371

27354:                                            ; preds = %27332, %27325
  %27355 = load i32, ptr %648, align 4, !tbaa !5
  %27356 = call ptr @__errno_location() #12
  store i32 %27355, ptr %27356, align 4, !tbaa !5
  %27357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27358 = load i32, ptr @test_count, align 4, !tbaa !5
  %27359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27360 = load i32, ptr %27359, align 4, !tbaa !5
  %27361 = call ptr @s2n_strerror(i32 noundef %27360, ptr noundef @.str.80)
  %27362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27363 = load i32, ptr %27362, align 4, !tbaa !5
  %27364 = call ptr @s2n_strerror_debug(i32 noundef %27363, ptr noundef @.str.80)
  %27365 = call ptr @__errno_location() #12
  %27366 = load i32, ptr %27365, align 4, !tbaa !5
  %27367 = call ptr @strerror(i32 noundef %27366) #11
  %27368 = call ptr @__errno_location() #12
  %27369 = load i32, ptr %27368, align 4, !tbaa !5
  %27370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27357, ptr noundef @.str.81, i32 noundef %27358, ptr noundef @.str.318, ptr noundef @.str.77, i32 noundef 985, ptr noundef %27361, ptr noundef %27364, ptr noundef %27367, i32 noundef %27369) #11
  br label %27371

27371:                                            ; preds = %27354, %27337
  call void @llvm.lifetime.end.p0(i64 4, ptr %648) #11
  br label %27372

27372:                                            ; preds = %27371
  br label %27373

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

27374:                                            ; No predecessors!
  br label %27375

27375:                                            ; preds = %27374
  br label %27376

27376:                                            ; preds = %27375, %27316
  br label %27377

27377:                                            ; preds = %27376
  br label %27378

27378:                                            ; preds = %27377
  br label %27379

27379:                                            ; preds = %27378
  %27380 = load i32, ptr @test_count, align 4, !tbaa !5
  %27381 = add nsw i32 %27380, 1
  store i32 %27381, ptr @test_count, align 4, !tbaa !5
  %27382 = load ptr, ptr %642, align 8, !tbaa !9
  %27383 = call i32 @s2n_config_set_psk_mode(ptr noundef %27382, i32 noundef 1)
  %27384 = icmp eq i32 %27383, -1
  br i1 %27384, label %27385, label %27438

27385:                                            ; preds = %27379
  br label %27386

27386:                                            ; preds = %27385
  br label %27387

27387:                                            ; preds = %27386
  call void @llvm.lifetime.start.p0(i64 4, ptr %649) #11
  %27388 = call ptr @__errno_location() #12
  %27389 = load i32, ptr %27388, align 4, !tbaa !5
  store i32 %27389, ptr %649, align 4, !tbaa !5
  %27390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27391 = call i32 @s2n_print_stacktrace(ptr noundef %27390)
  %27392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27393 = trunc i8 %27392 to i1
  br i1 %27393, label %27394, label %27416

27394:                                            ; preds = %27387
  %27395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27396 = call i32 @fileno(ptr noundef %27395) #11
  %27397 = call i32 @isatty(i32 noundef %27396) #11
  %27398 = icmp ne i32 %27397, 0
  br i1 %27398, label %27399, label %27416

27399:                                            ; preds = %27394
  %27400 = load i32, ptr %649, align 4, !tbaa !5
  %27401 = call ptr @__errno_location() #12
  store i32 %27400, ptr %27401, align 4, !tbaa !5
  %27402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27403 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %27405, ptr noundef @.str.80)
  %27407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27408 = load i32, ptr %27407, align 4, !tbaa !5
  %27409 = call ptr @s2n_strerror_debug(i32 noundef %27408, ptr noundef @.str.80)
  %27410 = call ptr @__errno_location() #12
  %27411 = load i32, ptr %27410, align 4, !tbaa !5
  %27412 = call ptr @strerror(i32 noundef %27411) #11
  %27413 = call ptr @__errno_location() #12
  %27414 = load i32, ptr %27413, align 4, !tbaa !5
  %27415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27402, ptr noundef @.str.78, i32 noundef %27403, ptr noundef @.str.320, ptr noundef @.str.77, i32 noundef 987, ptr noundef %27406, ptr noundef %27409, ptr noundef %27412, i32 noundef %27414) #11
  br label %27433

27416:                                            ; preds = %27394, %27387
  %27417 = load i32, ptr %649, align 4, !tbaa !5
  %27418 = call ptr @__errno_location() #12
  store i32 %27417, ptr %27418, align 4, !tbaa !5
  %27419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27420 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %27422, ptr noundef @.str.80)
  %27424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27425 = load i32, ptr %27424, align 4, !tbaa !5
  %27426 = call ptr @s2n_strerror_debug(i32 noundef %27425, ptr noundef @.str.80)
  %27427 = call ptr @__errno_location() #12
  %27428 = load i32, ptr %27427, align 4, !tbaa !5
  %27429 = call ptr @strerror(i32 noundef %27428) #11
  %27430 = call ptr @__errno_location() #12
  %27431 = load i32, ptr %27430, align 4, !tbaa !5
  %27432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27419, ptr noundef @.str.81, i32 noundef %27420, ptr noundef @.str.320, ptr noundef @.str.77, i32 noundef 987, ptr noundef %27423, ptr noundef %27426, ptr noundef %27429, i32 noundef %27431) #11
  br label %27433

27433:                                            ; preds = %27416, %27399
  call void @llvm.lifetime.end.p0(i64 4, ptr %649) #11
  br label %27434

27434:                                            ; preds = %27433
  br label %27435

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

27436:                                            ; No predecessors!
  br label %27437

27437:                                            ; preds = %27436
  br label %27438

27438:                                            ; preds = %27437, %27379
  br label %27439

27439:                                            ; preds = %27438
  br label %27440

27440:                                            ; preds = %27439
  br label %27441

27441:                                            ; preds = %27440
  %27442 = load i32, ptr @test_count, align 4, !tbaa !5
  %27443 = add nsw i32 %27442, 1
  store i32 %27443, ptr @test_count, align 4, !tbaa !5
  %27444 = load ptr, ptr %642, align 8, !tbaa !9
  %27445 = getelementptr inbounds %struct.s2n_config, ptr %27444, i32 0, i32 48
  %27446 = load i32, ptr %27445, align 4, !tbaa !91
  %27447 = icmp eq i32 %27446, 1
  br i1 %27447, label %27501, label %27448

27448:                                            ; preds = %27441
  br label %27449

27449:                                            ; preds = %27448
  br label %27450

27450:                                            ; preds = %27449
  call void @llvm.lifetime.start.p0(i64 4, ptr %650) #11
  %27451 = call ptr @__errno_location() #12
  %27452 = load i32, ptr %27451, align 4, !tbaa !5
  store i32 %27452, ptr %650, align 4, !tbaa !5
  %27453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27454 = call i32 @s2n_print_stacktrace(ptr noundef %27453)
  %27455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27456 = trunc i8 %27455 to i1
  br i1 %27456, label %27457, label %27479

27457:                                            ; preds = %27450
  %27458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27459 = call i32 @fileno(ptr noundef %27458) #11
  %27460 = call i32 @isatty(i32 noundef %27459) #11
  %27461 = icmp ne i32 %27460, 0
  br i1 %27461, label %27462, label %27479

27462:                                            ; preds = %27457
  %27463 = load i32, ptr %650, align 4, !tbaa !5
  %27464 = call ptr @__errno_location() #12
  store i32 %27463, ptr %27464, align 4, !tbaa !5
  %27465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27466 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %27468, ptr noundef @.str.80)
  %27470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27471 = load i32, ptr %27470, align 4, !tbaa !5
  %27472 = call ptr @s2n_strerror_debug(i32 noundef %27471, ptr noundef @.str.80)
  %27473 = call ptr @__errno_location() #12
  %27474 = load i32, ptr %27473, align 4, !tbaa !5
  %27475 = call ptr @strerror(i32 noundef %27474) #11
  %27476 = call ptr @__errno_location() #12
  %27477 = load i32, ptr %27476, align 4, !tbaa !5
  %27478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27465, ptr noundef @.str.78, i32 noundef %27466, ptr noundef @.str.321, ptr noundef @.str.77, i32 noundef 988, ptr noundef %27469, ptr noundef %27472, ptr noundef %27475, i32 noundef %27477) #11
  br label %27496

27479:                                            ; preds = %27457, %27450
  %27480 = load i32, ptr %650, align 4, !tbaa !5
  %27481 = call ptr @__errno_location() #12
  store i32 %27480, ptr %27481, align 4, !tbaa !5
  %27482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27483 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %27485, ptr noundef @.str.80)
  %27487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27488 = load i32, ptr %27487, align 4, !tbaa !5
  %27489 = call ptr @s2n_strerror_debug(i32 noundef %27488, ptr noundef @.str.80)
  %27490 = call ptr @__errno_location() #12
  %27491 = load i32, ptr %27490, align 4, !tbaa !5
  %27492 = call ptr @strerror(i32 noundef %27491) #11
  %27493 = call ptr @__errno_location() #12
  %27494 = load i32, ptr %27493, align 4, !tbaa !5
  %27495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27482, ptr noundef @.str.81, i32 noundef %27483, ptr noundef @.str.321, ptr noundef @.str.77, i32 noundef 988, ptr noundef %27486, ptr noundef %27489, ptr noundef %27492, i32 noundef %27494) #11
  br label %27496

27496:                                            ; preds = %27479, %27462
  call void @llvm.lifetime.end.p0(i64 4, ptr %650) #11
  br label %27497

27497:                                            ; preds = %27496
  br label %27498

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

27499:                                            ; No predecessors!
  br label %27500

27500:                                            ; preds = %27499
  br label %27501

27501:                                            ; preds = %27500, %27441
  br label %27502

27502:                                            ; preds = %27501
  br label %27503

27503:                                            ; preds = %27502
  br label %27504

27504:                                            ; preds = %27503
  %27505 = load i32, ptr @test_count, align 4, !tbaa !5
  %27506 = add nsw i32 %27505, 1
  store i32 %27506, ptr @test_count, align 4, !tbaa !5
  %27507 = load ptr, ptr %642, align 8, !tbaa !9
  %27508 = call i32 @s2n_config_set_psk_mode(ptr noundef %27507, i32 noundef 0)
  %27509 = icmp eq i32 %27508, -1
  br i1 %27509, label %27510, label %27563

27510:                                            ; preds = %27504
  br label %27511

27511:                                            ; preds = %27510
  br label %27512

27512:                                            ; preds = %27511
  call void @llvm.lifetime.start.p0(i64 4, ptr %651) #11
  %27513 = call ptr @__errno_location() #12
  %27514 = load i32, ptr %27513, align 4, !tbaa !5
  store i32 %27514, ptr %651, align 4, !tbaa !5
  %27515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27516 = call i32 @s2n_print_stacktrace(ptr noundef %27515)
  %27517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27518 = trunc i8 %27517 to i1
  br i1 %27518, label %27519, label %27541

27519:                                            ; preds = %27512
  %27520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27521 = call i32 @fileno(ptr noundef %27520) #11
  %27522 = call i32 @isatty(i32 noundef %27521) #11
  %27523 = icmp ne i32 %27522, 0
  br i1 %27523, label %27524, label %27541

27524:                                            ; preds = %27519
  %27525 = load i32, ptr %651, align 4, !tbaa !5
  %27526 = call ptr @__errno_location() #12
  store i32 %27525, ptr %27526, align 4, !tbaa !5
  %27527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27528 = load i32, ptr @test_count, align 4, !tbaa !5
  %27529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27530 = load i32, ptr %27529, align 4, !tbaa !5
  %27531 = call ptr @s2n_strerror(i32 noundef %27530, ptr noundef @.str.80)
  %27532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27533 = load i32, ptr %27532, align 4, !tbaa !5
  %27534 = call ptr @s2n_strerror_debug(i32 noundef %27533, ptr noundef @.str.80)
  %27535 = call ptr @__errno_location() #12
  %27536 = load i32, ptr %27535, align 4, !tbaa !5
  %27537 = call ptr @strerror(i32 noundef %27536) #11
  %27538 = call ptr @__errno_location() #12
  %27539 = load i32, ptr %27538, align 4, !tbaa !5
  %27540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27527, ptr noundef @.str.78, i32 noundef %27528, ptr noundef @.str.322, ptr noundef @.str.77, i32 noundef 990, ptr noundef %27531, ptr noundef %27534, ptr noundef %27537, i32 noundef %27539) #11
  br label %27558

27541:                                            ; preds = %27519, %27512
  %27542 = load i32, ptr %651, align 4, !tbaa !5
  %27543 = call ptr @__errno_location() #12
  store i32 %27542, ptr %27543, align 4, !tbaa !5
  %27544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27545 = load i32, ptr @test_count, align 4, !tbaa !5
  %27546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27547 = load i32, ptr %27546, align 4, !tbaa !5
  %27548 = call ptr @s2n_strerror(i32 noundef %27547, ptr noundef @.str.80)
  %27549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27550 = load i32, ptr %27549, align 4, !tbaa !5
  %27551 = call ptr @s2n_strerror_debug(i32 noundef %27550, ptr noundef @.str.80)
  %27552 = call ptr @__errno_location() #12
  %27553 = load i32, ptr %27552, align 4, !tbaa !5
  %27554 = call ptr @strerror(i32 noundef %27553) #11
  %27555 = call ptr @__errno_location() #12
  %27556 = load i32, ptr %27555, align 4, !tbaa !5
  %27557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27544, ptr noundef @.str.81, i32 noundef %27545, ptr noundef @.str.322, ptr noundef @.str.77, i32 noundef 990, ptr noundef %27548, ptr noundef %27551, ptr noundef %27554, i32 noundef %27556) #11
  br label %27558

27558:                                            ; preds = %27541, %27524
  call void @llvm.lifetime.end.p0(i64 4, ptr %651) #11
  br label %27559

27559:                                            ; preds = %27558
  br label %27560

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

27561:                                            ; No predecessors!
  br label %27562

27562:                                            ; preds = %27561
  br label %27563

27563:                                            ; preds = %27562, %27504
  br label %27564

27564:                                            ; preds = %27563
  br label %27565

27565:                                            ; preds = %27564
  br label %27566

27566:                                            ; preds = %27565
  %27567 = load i32, ptr @test_count, align 4, !tbaa !5
  %27568 = add nsw i32 %27567, 1
  store i32 %27568, ptr @test_count, align 4, !tbaa !5
  %27569 = load ptr, ptr %642, align 8, !tbaa !9
  %27570 = getelementptr inbounds %struct.s2n_config, ptr %27569, i32 0, i32 48
  %27571 = load i32, ptr %27570, align 4, !tbaa !91
  %27572 = icmp eq i32 %27571, 0
  br i1 %27572, label %27626, label %27573

27573:                                            ; preds = %27566
  br label %27574

27574:                                            ; preds = %27573
  br label %27575

27575:                                            ; preds = %27574
  call void @llvm.lifetime.start.p0(i64 4, ptr %652) #11
  %27576 = call ptr @__errno_location() #12
  %27577 = load i32, ptr %27576, align 4, !tbaa !5
  store i32 %27577, ptr %652, align 4, !tbaa !5
  %27578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27579 = call i32 @s2n_print_stacktrace(ptr noundef %27578)
  %27580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27581 = trunc i8 %27580 to i1
  br i1 %27581, label %27582, label %27604

27582:                                            ; preds = %27575
  %27583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27584 = call i32 @fileno(ptr noundef %27583) #11
  %27585 = call i32 @isatty(i32 noundef %27584) #11
  %27586 = icmp ne i32 %27585, 0
  br i1 %27586, label %27587, label %27604

27587:                                            ; preds = %27582
  %27588 = load i32, ptr %652, align 4, !tbaa !5
  %27589 = call ptr @__errno_location() #12
  store i32 %27588, ptr %27589, align 4, !tbaa !5
  %27590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27591 = load i32, ptr @test_count, align 4, !tbaa !5
  %27592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27593 = load i32, ptr %27592, align 4, !tbaa !5
  %27594 = call ptr @s2n_strerror(i32 noundef %27593, ptr noundef @.str.80)
  %27595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27596 = load i32, ptr %27595, align 4, !tbaa !5
  %27597 = call ptr @s2n_strerror_debug(i32 noundef %27596, ptr noundef @.str.80)
  %27598 = call ptr @__errno_location() #12
  %27599 = load i32, ptr %27598, align 4, !tbaa !5
  %27600 = call ptr @strerror(i32 noundef %27599) #11
  %27601 = call ptr @__errno_location() #12
  %27602 = load i32, ptr %27601, align 4, !tbaa !5
  %27603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27590, ptr noundef @.str.78, i32 noundef %27591, ptr noundef @.str.318, ptr noundef @.str.77, i32 noundef 991, ptr noundef %27594, ptr noundef %27597, ptr noundef %27600, i32 noundef %27602) #11
  br label %27621

27604:                                            ; preds = %27582, %27575
  %27605 = load i32, ptr %652, align 4, !tbaa !5
  %27606 = call ptr @__errno_location() #12
  store i32 %27605, ptr %27606, align 4, !tbaa !5
  %27607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27608 = load i32, ptr @test_count, align 4, !tbaa !5
  %27609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27610 = load i32, ptr %27609, align 4, !tbaa !5
  %27611 = call ptr @s2n_strerror(i32 noundef %27610, ptr noundef @.str.80)
  %27612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27613 = load i32, ptr %27612, align 4, !tbaa !5
  %27614 = call ptr @s2n_strerror_debug(i32 noundef %27613, ptr noundef @.str.80)
  %27615 = call ptr @__errno_location() #12
  %27616 = load i32, ptr %27615, align 4, !tbaa !5
  %27617 = call ptr @strerror(i32 noundef %27616) #11
  %27618 = call ptr @__errno_location() #12
  %27619 = load i32, ptr %27618, align 4, !tbaa !5
  %27620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27607, ptr noundef @.str.81, i32 noundef %27608, ptr noundef @.str.318, ptr noundef @.str.77, i32 noundef 991, ptr noundef %27611, ptr noundef %27614, ptr noundef %27617, i32 noundef %27619) #11
  br label %27621

27621:                                            ; preds = %27604, %27587
  call void @llvm.lifetime.end.p0(i64 4, ptr %652) #11
  br label %27622

27622:                                            ; preds = %27621
  br label %27623

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

27624:                                            ; No predecessors!
  br label %27625

27625:                                            ; preds = %27624
  br label %27626

27626:                                            ; preds = %27625, %27566
  br label %27627

27627:                                            ; preds = %27626
  br label %27628

27628:                                            ; preds = %27627
  br label %27629

27629:                                            ; preds = %27628
  %27630 = load i32, ptr @test_count, align 4, !tbaa !5
  %27631 = add nsw i32 %27630, 1
  store i32 %27631, ptr @test_count, align 4, !tbaa !5
  %27632 = load ptr, ptr %642, align 8, !tbaa !9
  %27633 = call i32 @s2n_config_free(ptr noundef %27632)
  %27634 = icmp eq i32 %27633, -1
  br i1 %27634, label %27635, label %27688

27635:                                            ; preds = %27629
  br label %27636

27636:                                            ; preds = %27635
  br label %27637

27637:                                            ; preds = %27636
  call void @llvm.lifetime.start.p0(i64 4, ptr %653) #11
  %27638 = call ptr @__errno_location() #12
  %27639 = load i32, ptr %27638, align 4, !tbaa !5
  store i32 %27639, ptr %653, align 4, !tbaa !5
  %27640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27641 = call i32 @s2n_print_stacktrace(ptr noundef %27640)
  %27642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27643 = trunc i8 %27642 to i1
  br i1 %27643, label %27644, label %27666

27644:                                            ; preds = %27637
  %27645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27646 = call i32 @fileno(ptr noundef %27645) #11
  %27647 = call i32 @isatty(i32 noundef %27646) #11
  %27648 = icmp ne i32 %27647, 0
  br i1 %27648, label %27649, label %27666

27649:                                            ; preds = %27644
  %27650 = load i32, ptr %653, align 4, !tbaa !5
  %27651 = call ptr @__errno_location() #12
  store i32 %27650, ptr %27651, align 4, !tbaa !5
  %27652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27653 = load i32, ptr @test_count, align 4, !tbaa !5
  %27654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27655 = load i32, ptr %27654, align 4, !tbaa !5
  %27656 = call ptr @s2n_strerror(i32 noundef %27655, ptr noundef @.str.80)
  %27657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27658 = load i32, ptr %27657, align 4, !tbaa !5
  %27659 = call ptr @s2n_strerror_debug(i32 noundef %27658, ptr noundef @.str.80)
  %27660 = call ptr @__errno_location() #12
  %27661 = load i32, ptr %27660, align 4, !tbaa !5
  %27662 = call ptr @strerror(i32 noundef %27661) #11
  %27663 = call ptr @__errno_location() #12
  %27664 = load i32, ptr %27663, align 4, !tbaa !5
  %27665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27652, ptr noundef @.str.78, i32 noundef %27653, ptr noundef @.str.323, ptr noundef @.str.77, i32 noundef 993, ptr noundef %27656, ptr noundef %27659, ptr noundef %27662, i32 noundef %27664) #11
  br label %27683

27666:                                            ; preds = %27644, %27637
  %27667 = load i32, ptr %653, align 4, !tbaa !5
  %27668 = call ptr @__errno_location() #12
  store i32 %27667, ptr %27668, align 4, !tbaa !5
  %27669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27670 = load i32, ptr @test_count, align 4, !tbaa !5
  %27671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27672 = load i32, ptr %27671, align 4, !tbaa !5
  %27673 = call ptr @s2n_strerror(i32 noundef %27672, ptr noundef @.str.80)
  %27674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27675 = load i32, ptr %27674, align 4, !tbaa !5
  %27676 = call ptr @s2n_strerror_debug(i32 noundef %27675, ptr noundef @.str.80)
  %27677 = call ptr @__errno_location() #12
  %27678 = load i32, ptr %27677, align 4, !tbaa !5
  %27679 = call ptr @strerror(i32 noundef %27678) #11
  %27680 = call ptr @__errno_location() #12
  %27681 = load i32, ptr %27680, align 4, !tbaa !5
  %27682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27669, ptr noundef @.str.81, i32 noundef %27670, ptr noundef @.str.323, ptr noundef @.str.77, i32 noundef 993, ptr noundef %27673, ptr noundef %27676, ptr noundef %27679, i32 noundef %27681) #11
  br label %27683

27683:                                            ; preds = %27666, %27649
  call void @llvm.lifetime.end.p0(i64 4, ptr %653) #11
  br label %27684

27684:                                            ; preds = %27683
  br label %27685

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

27686:                                            ; No predecessors!
  br label %27687

27687:                                            ; preds = %27686
  br label %27688

27688:                                            ; preds = %27687, %27629
  br label %27689

27689:                                            ; preds = %27688
  br label %27690

27690:                                            ; preds = %27689
  call void @llvm.lifetime.end.p0(i64 8, ptr %642) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %654) #11
  %27691 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %27691, ptr %654, align 8, !tbaa !9
  br label %27692

27692:                                            ; preds = %27690
  %27693 = load i32, ptr @test_count, align 4, !tbaa !5
  %27694 = add nsw i32 %27693, 1
  store i32 %27694, ptr @test_count, align 4, !tbaa !5
  %27695 = load ptr, ptr %654, align 8, !tbaa !9
  %27696 = icmp eq ptr %27695, null
  br i1 %27696, label %27697, label %27750

27697:                                            ; preds = %27692
  br label %27698

27698:                                            ; preds = %27697
  br label %27699

27699:                                            ; preds = %27698
  call void @llvm.lifetime.start.p0(i64 4, ptr %655) #11
  %27700 = call ptr @__errno_location() #12
  %27701 = load i32, ptr %27700, align 4, !tbaa !5
  store i32 %27701, ptr %655, align 4, !tbaa !5
  %27702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27703 = call i32 @s2n_print_stacktrace(ptr noundef %27702)
  %27704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27705 = trunc i8 %27704 to i1
  br i1 %27705, label %27706, label %27728

27706:                                            ; preds = %27699
  %27707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27708 = call i32 @fileno(ptr noundef %27707) #11
  %27709 = call i32 @isatty(i32 noundef %27708) #11
  %27710 = icmp ne i32 %27709, 0
  br i1 %27710, label %27711, label %27728

27711:                                            ; preds = %27706
  %27712 = load i32, ptr %655, align 4, !tbaa !5
  %27713 = call ptr @__errno_location() #12
  store i32 %27712, ptr %27713, align 4, !tbaa !5
  %27714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27715 = load i32, ptr @test_count, align 4, !tbaa !5
  %27716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27717 = load i32, ptr %27716, align 4, !tbaa !5
  %27718 = call ptr @s2n_strerror(i32 noundef %27717, ptr noundef @.str.80)
  %27719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27720 = load i32, ptr %27719, align 4, !tbaa !5
  %27721 = call ptr @s2n_strerror_debug(i32 noundef %27720, ptr noundef @.str.80)
  %27722 = call ptr @__errno_location() #12
  %27723 = load i32, ptr %27722, align 4, !tbaa !5
  %27724 = call ptr @strerror(i32 noundef %27723) #11
  %27725 = call ptr @__errno_location() #12
  %27726 = load i32, ptr %27725, align 4, !tbaa !5
  %27727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27714, ptr noundef @.str.78, i32 noundef %27715, ptr noundef @.str.281, ptr noundef @.str.77, i32 noundef 999, ptr noundef %27718, ptr noundef %27721, ptr noundef %27724, i32 noundef %27726) #11
  br label %27745

27728:                                            ; preds = %27706, %27699
  %27729 = load i32, ptr %655, align 4, !tbaa !5
  %27730 = call ptr @__errno_location() #12
  store i32 %27729, ptr %27730, align 4, !tbaa !5
  %27731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27732 = load i32, ptr @test_count, align 4, !tbaa !5
  %27733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27734 = load i32, ptr %27733, align 4, !tbaa !5
  %27735 = call ptr @s2n_strerror(i32 noundef %27734, ptr noundef @.str.80)
  %27736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27737 = load i32, ptr %27736, align 4, !tbaa !5
  %27738 = call ptr @s2n_strerror_debug(i32 noundef %27737, ptr noundef @.str.80)
  %27739 = call ptr @__errno_location() #12
  %27740 = load i32, ptr %27739, align 4, !tbaa !5
  %27741 = call ptr @strerror(i32 noundef %27740) #11
  %27742 = call ptr @__errno_location() #12
  %27743 = load i32, ptr %27742, align 4, !tbaa !5
  %27744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27731, ptr noundef @.str.81, i32 noundef %27732, ptr noundef @.str.281, ptr noundef @.str.77, i32 noundef 999, ptr noundef %27735, ptr noundef %27738, ptr noundef %27741, i32 noundef %27743) #11
  br label %27745

27745:                                            ; preds = %27728, %27711
  call void @llvm.lifetime.end.p0(i64 4, ptr %655) #11
  br label %27746

27746:                                            ; preds = %27745
  br label %27747

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

27748:                                            ; No predecessors!
  br label %27749

27749:                                            ; preds = %27748
  br label %27750

27750:                                            ; preds = %27749, %27692
  br label %27751

27751:                                            ; preds = %27750
  br label %27752

27752:                                            ; preds = %27751
  br label %27753

27753:                                            ; preds = %27752
  %27754 = load i32, ptr @test_count, align 4, !tbaa !5
  %27755 = add nsw i32 %27754, 1
  store i32 %27755, ptr @test_count, align 4, !tbaa !5
  %27756 = load ptr, ptr %654, align 8, !tbaa !9
  %27757 = getelementptr inbounds %struct.s2n_connection, ptr %27756, i32 0, i32 33
  %27758 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %27757, i32 0, i32 0
  %27759 = load i32, ptr %27758, align 8, !tbaa !95
  %27760 = icmp eq i32 %27759, 0
  br i1 %27760, label %27814, label %27761

27761:                                            ; preds = %27753
  br label %27762

27762:                                            ; preds = %27761
  br label %27763

27763:                                            ; preds = %27762
  call void @llvm.lifetime.start.p0(i64 4, ptr %656) #11
  %27764 = call ptr @__errno_location() #12
  %27765 = load i32, ptr %27764, align 4, !tbaa !5
  store i32 %27765, ptr %656, align 4, !tbaa !5
  %27766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27767 = call i32 @s2n_print_stacktrace(ptr noundef %27766)
  %27768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27769 = trunc i8 %27768 to i1
  br i1 %27769, label %27770, label %27792

27770:                                            ; preds = %27763
  %27771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27772 = call i32 @fileno(ptr noundef %27771) #11
  %27773 = call i32 @isatty(i32 noundef %27772) #11
  %27774 = icmp ne i32 %27773, 0
  br i1 %27774, label %27775, label %27792

27775:                                            ; preds = %27770
  %27776 = load i32, ptr %656, align 4, !tbaa !5
  %27777 = call ptr @__errno_location() #12
  store i32 %27776, ptr %27777, align 4, !tbaa !5
  %27778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27779 = load i32, ptr @test_count, align 4, !tbaa !5
  %27780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27781 = load i32, ptr %27780, align 4, !tbaa !5
  %27782 = call ptr @s2n_strerror(i32 noundef %27781, ptr noundef @.str.80)
  %27783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27784 = load i32, ptr %27783, align 4, !tbaa !5
  %27785 = call ptr @s2n_strerror_debug(i32 noundef %27784, ptr noundef @.str.80)
  %27786 = call ptr @__errno_location() #12
  %27787 = load i32, ptr %27786, align 4, !tbaa !5
  %27788 = call ptr @strerror(i32 noundef %27787) #11
  %27789 = call ptr @__errno_location() #12
  %27790 = load i32, ptr %27789, align 4, !tbaa !5
  %27791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27778, ptr noundef @.str.78, i32 noundef %27779, ptr noundef @.str.324, ptr noundef @.str.77, i32 noundef 1000, ptr noundef %27782, ptr noundef %27785, ptr noundef %27788, i32 noundef %27790) #11
  br label %27809

27792:                                            ; preds = %27770, %27763
  %27793 = load i32, ptr %656, align 4, !tbaa !5
  %27794 = call ptr @__errno_location() #12
  store i32 %27793, ptr %27794, align 4, !tbaa !5
  %27795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27796 = load i32, ptr @test_count, align 4, !tbaa !5
  %27797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27798 = load i32, ptr %27797, align 4, !tbaa !5
  %27799 = call ptr @s2n_strerror(i32 noundef %27798, ptr noundef @.str.80)
  %27800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27801 = load i32, ptr %27800, align 4, !tbaa !5
  %27802 = call ptr @s2n_strerror_debug(i32 noundef %27801, ptr noundef @.str.80)
  %27803 = call ptr @__errno_location() #12
  %27804 = load i32, ptr %27803, align 4, !tbaa !5
  %27805 = call ptr @strerror(i32 noundef %27804) #11
  %27806 = call ptr @__errno_location() #12
  %27807 = load i32, ptr %27806, align 4, !tbaa !5
  %27808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27795, ptr noundef @.str.81, i32 noundef %27796, ptr noundef @.str.324, ptr noundef @.str.77, i32 noundef 1000, ptr noundef %27799, ptr noundef %27802, ptr noundef %27805, i32 noundef %27807) #11
  br label %27809

27809:                                            ; preds = %27792, %27775
  call void @llvm.lifetime.end.p0(i64 4, ptr %656) #11
  br label %27810

27810:                                            ; preds = %27809
  br label %27811

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

27812:                                            ; No predecessors!
  br label %27813

27813:                                            ; preds = %27812
  br label %27814

27814:                                            ; preds = %27813, %27753
  br label %27815

27815:                                            ; preds = %27814
  br label %27816

27816:                                            ; preds = %27815
  br label %27817

27817:                                            ; preds = %27816
  br label %27818

27818:                                            ; preds = %27817
  br label %27819

27819:                                            ; preds = %27818
  %27820 = load i32, ptr @test_count, align 4, !tbaa !5
  %27821 = add nsw i32 %27820, 1
  store i32 %27821, ptr @test_count, align 4, !tbaa !5
  %27822 = call i32 @s2n_connection_set_psk_mode(ptr noundef null, i32 noundef 1)
  %27823 = icmp eq i32 %27822, -1
  br i1 %27823, label %27877, label %27824

27824:                                            ; preds = %27819
  br label %27825

27825:                                            ; preds = %27824
  br label %27826

27826:                                            ; preds = %27825
  call void @llvm.lifetime.start.p0(i64 4, ptr %657) #11
  %27827 = call ptr @__errno_location() #12
  %27828 = load i32, ptr %27827, align 4, !tbaa !5
  store i32 %27828, ptr %657, align 4, !tbaa !5
  %27829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27830 = call i32 @s2n_print_stacktrace(ptr noundef %27829)
  %27831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27832 = trunc i8 %27831 to i1
  br i1 %27832, label %27833, label %27855

27833:                                            ; preds = %27826
  %27834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27835 = call i32 @fileno(ptr noundef %27834) #11
  %27836 = call i32 @isatty(i32 noundef %27835) #11
  %27837 = icmp ne i32 %27836, 0
  br i1 %27837, label %27838, label %27855

27838:                                            ; preds = %27833
  %27839 = load i32, ptr %657, align 4, !tbaa !5
  %27840 = call ptr @__errno_location() #12
  store i32 %27839, ptr %27840, align 4, !tbaa !5
  %27841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27842 = load i32, ptr @test_count, align 4, !tbaa !5
  %27843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27844 = load i32, ptr %27843, align 4, !tbaa !5
  %27845 = call ptr @s2n_strerror(i32 noundef %27844, ptr noundef @.str.80)
  %27846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27847 = load i32, ptr %27846, align 4, !tbaa !5
  %27848 = call ptr @s2n_strerror_debug(i32 noundef %27847, ptr noundef @.str.80)
  %27849 = call ptr @__errno_location() #12
  %27850 = load i32, ptr %27849, align 4, !tbaa !5
  %27851 = call ptr @strerror(i32 noundef %27850) #11
  %27852 = call ptr @__errno_location() #12
  %27853 = load i32, ptr %27852, align 4, !tbaa !5
  %27854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27841, ptr noundef @.str.78, i32 noundef %27842, ptr noundef @.str.325, ptr noundef @.str.77, i32 noundef 1002, ptr noundef %27845, ptr noundef %27848, ptr noundef %27851, i32 noundef %27853) #11
  br label %27872

27855:                                            ; preds = %27833, %27826
  %27856 = load i32, ptr %657, align 4, !tbaa !5
  %27857 = call ptr @__errno_location() #12
  store i32 %27856, ptr %27857, align 4, !tbaa !5
  %27858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27859 = load i32, ptr @test_count, align 4, !tbaa !5
  %27860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27861 = load i32, ptr %27860, align 4, !tbaa !5
  %27862 = call ptr @s2n_strerror(i32 noundef %27861, ptr noundef @.str.80)
  %27863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27864 = load i32, ptr %27863, align 4, !tbaa !5
  %27865 = call ptr @s2n_strerror_debug(i32 noundef %27864, ptr noundef @.str.80)
  %27866 = call ptr @__errno_location() #12
  %27867 = load i32, ptr %27866, align 4, !tbaa !5
  %27868 = call ptr @strerror(i32 noundef %27867) #11
  %27869 = call ptr @__errno_location() #12
  %27870 = load i32, ptr %27869, align 4, !tbaa !5
  %27871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27858, ptr noundef @.str.81, i32 noundef %27859, ptr noundef @.str.325, ptr noundef @.str.77, i32 noundef 1002, ptr noundef %27862, ptr noundef %27865, ptr noundef %27868, i32 noundef %27870) #11
  br label %27872

27872:                                            ; preds = %27855, %27838
  call void @llvm.lifetime.end.p0(i64 4, ptr %657) #11
  br label %27873

27873:                                            ; preds = %27872
  br label %27874

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

27875:                                            ; No predecessors!
  br label %27876

27876:                                            ; preds = %27875
  br label %27877

27877:                                            ; preds = %27876, %27819
  br label %27878

27878:                                            ; preds = %27877
  br label %27879

27879:                                            ; preds = %27878
  br label %27880

27880:                                            ; preds = %27879
  %27881 = load i32, ptr @test_count, align 4, !tbaa !5
  %27882 = add nsw i32 %27881, 1
  store i32 %27882, ptr @test_count, align 4, !tbaa !5
  %27883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27884 = load i32, ptr %27883, align 4, !tbaa !5
  %27885 = icmp eq i32 %27884, 402653193
  br i1 %27885, label %27939, label %27886

27886:                                            ; preds = %27880
  br label %27887

27887:                                            ; preds = %27886
  br label %27888

27888:                                            ; preds = %27887
  call void @llvm.lifetime.start.p0(i64 4, ptr %658) #11
  %27889 = call ptr @__errno_location() #12
  %27890 = load i32, ptr %27889, align 4, !tbaa !5
  store i32 %27890, ptr %658, align 4, !tbaa !5
  %27891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27892 = call i32 @s2n_print_stacktrace(ptr noundef %27891)
  %27893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27894 = trunc i8 %27893 to i1
  br i1 %27894, label %27895, label %27917

27895:                                            ; preds = %27888
  %27896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27897 = call i32 @fileno(ptr noundef %27896) #11
  %27898 = call i32 @isatty(i32 noundef %27897) #11
  %27899 = icmp ne i32 %27898, 0
  br i1 %27899, label %27900, label %27917

27900:                                            ; preds = %27895
  %27901 = load i32, ptr %658, align 4, !tbaa !5
  %27902 = call ptr @__errno_location() #12
  store i32 %27901, ptr %27902, align 4, !tbaa !5
  %27903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27904 = load i32, ptr @test_count, align 4, !tbaa !5
  %27905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27906 = load i32, ptr %27905, align 4, !tbaa !5
  %27907 = call ptr @s2n_strerror(i32 noundef %27906, ptr noundef @.str.80)
  %27908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27909 = load i32, ptr %27908, align 4, !tbaa !5
  %27910 = call ptr @s2n_strerror_debug(i32 noundef %27909, ptr noundef @.str.80)
  %27911 = call ptr @__errno_location() #12
  %27912 = load i32, ptr %27911, align 4, !tbaa !5
  %27913 = call ptr @strerror(i32 noundef %27912) #11
  %27914 = call ptr @__errno_location() #12
  %27915 = load i32, ptr %27914, align 4, !tbaa !5
  %27916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27903, ptr noundef @.str.78, i32 noundef %27904, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1002, ptr noundef %27907, ptr noundef %27910, ptr noundef %27913, i32 noundef %27915) #11
  br label %27934

27917:                                            ; preds = %27895, %27888
  %27918 = load i32, ptr %658, align 4, !tbaa !5
  %27919 = call ptr @__errno_location() #12
  store i32 %27918, ptr %27919, align 4, !tbaa !5
  %27920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27921 = load i32, ptr @test_count, align 4, !tbaa !5
  %27922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27923 = load i32, ptr %27922, align 4, !tbaa !5
  %27924 = call ptr @s2n_strerror(i32 noundef %27923, ptr noundef @.str.80)
  %27925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27926 = load i32, ptr %27925, align 4, !tbaa !5
  %27927 = call ptr @s2n_strerror_debug(i32 noundef %27926, ptr noundef @.str.80)
  %27928 = call ptr @__errno_location() #12
  %27929 = load i32, ptr %27928, align 4, !tbaa !5
  %27930 = call ptr @strerror(i32 noundef %27929) #11
  %27931 = call ptr @__errno_location() #12
  %27932 = load i32, ptr %27931, align 4, !tbaa !5
  %27933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27920, ptr noundef @.str.81, i32 noundef %27921, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1002, ptr noundef %27924, ptr noundef %27927, ptr noundef %27930, i32 noundef %27932) #11
  br label %27934

27934:                                            ; preds = %27917, %27900
  call void @llvm.lifetime.end.p0(i64 4, ptr %658) #11
  br label %27935

27935:                                            ; preds = %27934
  br label %27936

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

27937:                                            ; No predecessors!
  br label %27938

27938:                                            ; preds = %27937
  br label %27939

27939:                                            ; preds = %27938, %27880
  br label %27940

27940:                                            ; preds = %27939
  br label %27941

27941:                                            ; preds = %27940
  br label %27942

27942:                                            ; preds = %27941
  %27943 = load i32, ptr @test_count, align 4, !tbaa !5
  %27944 = add nsw i32 %27943, 1
  store i32 %27944, ptr @test_count, align 4, !tbaa !5
  %27945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27946 = load i32, ptr %27945, align 4, !tbaa !5
  %27947 = call ptr @s2n_strerror_debug(i32 noundef %27946, ptr noundef @.str.80)
  %27948 = icmp eq ptr %27947, null
  br i1 %27948, label %27949, label %28002

27949:                                            ; preds = %27942
  br label %27950

27950:                                            ; preds = %27949
  br label %27951

27951:                                            ; preds = %27950
  call void @llvm.lifetime.start.p0(i64 4, ptr %659) #11
  %27952 = call ptr @__errno_location() #12
  %27953 = load i32, ptr %27952, align 4, !tbaa !5
  store i32 %27953, ptr %659, align 4, !tbaa !5
  %27954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27955 = call i32 @s2n_print_stacktrace(ptr noundef %27954)
  %27956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27957 = trunc i8 %27956 to i1
  br i1 %27957, label %27958, label %27980

27958:                                            ; preds = %27951
  %27959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27960 = call i32 @fileno(ptr noundef %27959) #11
  %27961 = call i32 @isatty(i32 noundef %27960) #11
  %27962 = icmp ne i32 %27961, 0
  br i1 %27962, label %27963, label %27980

27963:                                            ; preds = %27958
  %27964 = load i32, ptr %659, align 4, !tbaa !5
  %27965 = call ptr @__errno_location() #12
  store i32 %27964, ptr %27965, align 4, !tbaa !5
  %27966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27967 = load i32, ptr @test_count, align 4, !tbaa !5
  %27968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27969 = load i32, ptr %27968, align 4, !tbaa !5
  %27970 = call ptr @s2n_strerror(i32 noundef %27969, ptr noundef @.str.80)
  %27971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27972 = load i32, ptr %27971, align 4, !tbaa !5
  %27973 = call ptr @s2n_strerror_debug(i32 noundef %27972, ptr noundef @.str.80)
  %27974 = call ptr @__errno_location() #12
  %27975 = load i32, ptr %27974, align 4, !tbaa !5
  %27976 = call ptr @strerror(i32 noundef %27975) #11
  %27977 = call ptr @__errno_location() #12
  %27978 = load i32, ptr %27977, align 4, !tbaa !5
  %27979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27966, ptr noundef @.str.78, i32 noundef %27967, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1002, ptr noundef %27970, ptr noundef %27973, ptr noundef %27976, i32 noundef %27978) #11
  br label %27997

27980:                                            ; preds = %27958, %27951
  %27981 = load i32, ptr %659, align 4, !tbaa !5
  %27982 = call ptr @__errno_location() #12
  store i32 %27981, ptr %27982, align 4, !tbaa !5
  %27983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27984 = load i32, ptr @test_count, align 4, !tbaa !5
  %27985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27986 = load i32, ptr %27985, align 4, !tbaa !5
  %27987 = call ptr @s2n_strerror(i32 noundef %27986, ptr noundef @.str.80)
  %27988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27989 = load i32, ptr %27988, align 4, !tbaa !5
  %27990 = call ptr @s2n_strerror_debug(i32 noundef %27989, ptr noundef @.str.80)
  %27991 = call ptr @__errno_location() #12
  %27992 = load i32, ptr %27991, align 4, !tbaa !5
  %27993 = call ptr @strerror(i32 noundef %27992) #11
  %27994 = call ptr @__errno_location() #12
  %27995 = load i32, ptr %27994, align 4, !tbaa !5
  %27996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27983, ptr noundef @.str.81, i32 noundef %27984, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1002, ptr noundef %27987, ptr noundef %27990, ptr noundef %27993, i32 noundef %27995) #11
  br label %27997

27997:                                            ; preds = %27980, %27963
  call void @llvm.lifetime.end.p0(i64 4, ptr %659) #11
  br label %27998

27998:                                            ; preds = %27997
  br label %27999

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

28000:                                            ; No predecessors!
  br label %28001

28001:                                            ; preds = %28000
  br label %28002

28002:                                            ; preds = %28001, %27942
  br label %28003

28003:                                            ; preds = %28002
  br label %28004

28004:                                            ; preds = %28003
  br label %28005

28005:                                            ; preds = %28004
  br label %28006

28006:                                            ; preds = %28005
  br label %28007

28007:                                            ; preds = %28006
  %28008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28008, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28009 = call ptr @__errno_location() #12
  store i32 0, ptr %28009, align 4, !tbaa !5
  br label %28010

28010:                                            ; preds = %28007
  br label %28011

28011:                                            ; preds = %28010
  br label %28012

28012:                                            ; preds = %28011
  br label %28013

28013:                                            ; preds = %28012
  br label %28014

28014:                                            ; preds = %28013
  %28015 = load i32, ptr @test_count, align 4, !tbaa !5
  %28016 = add nsw i32 %28015, 1
  store i32 %28016, ptr @test_count, align 4, !tbaa !5
  %28017 = load ptr, ptr %654, align 8, !tbaa !9
  %28018 = getelementptr inbounds %struct.s2n_connection, ptr %28017, i32 0, i32 33
  %28019 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %28018, i32 0, i32 0
  %28020 = load i32, ptr %28019, align 8, !tbaa !95
  %28021 = icmp eq i32 %28020, 0
  br i1 %28021, label %28075, label %28022

28022:                                            ; preds = %28014
  br label %28023

28023:                                            ; preds = %28022
  br label %28024

28024:                                            ; preds = %28023
  call void @llvm.lifetime.start.p0(i64 4, ptr %660) #11
  %28025 = call ptr @__errno_location() #12
  %28026 = load i32, ptr %28025, align 4, !tbaa !5
  store i32 %28026, ptr %660, align 4, !tbaa !5
  %28027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28028 = call i32 @s2n_print_stacktrace(ptr noundef %28027)
  %28029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28030 = trunc i8 %28029 to i1
  br i1 %28030, label %28031, label %28053

28031:                                            ; preds = %28024
  %28032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28033 = call i32 @fileno(ptr noundef %28032) #11
  %28034 = call i32 @isatty(i32 noundef %28033) #11
  %28035 = icmp ne i32 %28034, 0
  br i1 %28035, label %28036, label %28053

28036:                                            ; preds = %28031
  %28037 = load i32, ptr %660, align 4, !tbaa !5
  %28038 = call ptr @__errno_location() #12
  store i32 %28037, ptr %28038, align 4, !tbaa !5
  %28039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28040 = load i32, ptr @test_count, align 4, !tbaa !5
  %28041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28042 = load i32, ptr %28041, align 4, !tbaa !5
  %28043 = call ptr @s2n_strerror(i32 noundef %28042, ptr noundef @.str.80)
  %28044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28045 = load i32, ptr %28044, align 4, !tbaa !5
  %28046 = call ptr @s2n_strerror_debug(i32 noundef %28045, ptr noundef @.str.80)
  %28047 = call ptr @__errno_location() #12
  %28048 = load i32, ptr %28047, align 4, !tbaa !5
  %28049 = call ptr @strerror(i32 noundef %28048) #11
  %28050 = call ptr @__errno_location() #12
  %28051 = load i32, ptr %28050, align 4, !tbaa !5
  %28052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28039, ptr noundef @.str.78, i32 noundef %28040, ptr noundef @.str.324, ptr noundef @.str.77, i32 noundef 1003, ptr noundef %28043, ptr noundef %28046, ptr noundef %28049, i32 noundef %28051) #11
  br label %28070

28053:                                            ; preds = %28031, %28024
  %28054 = load i32, ptr %660, align 4, !tbaa !5
  %28055 = call ptr @__errno_location() #12
  store i32 %28054, ptr %28055, align 4, !tbaa !5
  %28056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28057 = load i32, ptr @test_count, align 4, !tbaa !5
  %28058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28059 = load i32, ptr %28058, align 4, !tbaa !5
  %28060 = call ptr @s2n_strerror(i32 noundef %28059, ptr noundef @.str.80)
  %28061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28062 = load i32, ptr %28061, align 4, !tbaa !5
  %28063 = call ptr @s2n_strerror_debug(i32 noundef %28062, ptr noundef @.str.80)
  %28064 = call ptr @__errno_location() #12
  %28065 = load i32, ptr %28064, align 4, !tbaa !5
  %28066 = call ptr @strerror(i32 noundef %28065) #11
  %28067 = call ptr @__errno_location() #12
  %28068 = load i32, ptr %28067, align 4, !tbaa !5
  %28069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28056, ptr noundef @.str.81, i32 noundef %28057, ptr noundef @.str.324, ptr noundef @.str.77, i32 noundef 1003, ptr noundef %28060, ptr noundef %28063, ptr noundef %28066, i32 noundef %28068) #11
  br label %28070

28070:                                            ; preds = %28053, %28036
  call void @llvm.lifetime.end.p0(i64 4, ptr %660) #11
  br label %28071

28071:                                            ; preds = %28070
  br label %28072

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

28073:                                            ; No predecessors!
  br label %28074

28074:                                            ; preds = %28073
  br label %28075

28075:                                            ; preds = %28074, %28014
  br label %28076

28076:                                            ; preds = %28075
  br label %28077

28077:                                            ; preds = %28076
  br label %28078

28078:                                            ; preds = %28077
  %28079 = load i32, ptr @test_count, align 4, !tbaa !5
  %28080 = add nsw i32 %28079, 1
  store i32 %28080, ptr @test_count, align 4, !tbaa !5
  %28081 = load ptr, ptr %654, align 8, !tbaa !9
  %28082 = load i32, ptr %28081, align 8
  %28083 = lshr i32 %28082, 12
  %28084 = and i32 %28083, 1
  %28085 = icmp ne i32 %28084, 0
  br i1 %28085, label %28086, label %28139

28086:                                            ; preds = %28078
  br label %28087

28087:                                            ; preds = %28086
  br label %28088

28088:                                            ; preds = %28087
  call void @llvm.lifetime.start.p0(i64 4, ptr %661) #11
  %28089 = call ptr @__errno_location() #12
  %28090 = load i32, ptr %28089, align 4, !tbaa !5
  store i32 %28090, ptr %661, align 4, !tbaa !5
  %28091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28092 = call i32 @s2n_print_stacktrace(ptr noundef %28091)
  %28093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28094 = trunc i8 %28093 to i1
  br i1 %28094, label %28095, label %28117

28095:                                            ; preds = %28088
  %28096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28097 = call i32 @fileno(ptr noundef %28096) #11
  %28098 = call i32 @isatty(i32 noundef %28097) #11
  %28099 = icmp ne i32 %28098, 0
  br i1 %28099, label %28100, label %28117

28100:                                            ; preds = %28095
  %28101 = load i32, ptr %661, align 4, !tbaa !5
  %28102 = call ptr @__errno_location() #12
  store i32 %28101, ptr %28102, align 4, !tbaa !5
  %28103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28104 = load i32, ptr @test_count, align 4, !tbaa !5
  %28105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28106 = load i32, ptr %28105, align 4, !tbaa !5
  %28107 = call ptr @s2n_strerror(i32 noundef %28106, ptr noundef @.str.80)
  %28108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28109 = load i32, ptr %28108, align 4, !tbaa !5
  %28110 = call ptr @s2n_strerror_debug(i32 noundef %28109, ptr noundef @.str.80)
  %28111 = call ptr @__errno_location() #12
  %28112 = load i32, ptr %28111, align 4, !tbaa !5
  %28113 = call ptr @strerror(i32 noundef %28112) #11
  %28114 = call ptr @__errno_location() #12
  %28115 = load i32, ptr %28114, align 4, !tbaa !5
  %28116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28103, ptr noundef @.str.78, i32 noundef %28104, ptr noundef @.str.326, ptr noundef @.str.77, i32 noundef 1004, ptr noundef %28107, ptr noundef %28110, ptr noundef %28113, i32 noundef %28115) #11
  br label %28134

28117:                                            ; preds = %28095, %28088
  %28118 = load i32, ptr %661, align 4, !tbaa !5
  %28119 = call ptr @__errno_location() #12
  store i32 %28118, ptr %28119, align 4, !tbaa !5
  %28120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28121 = load i32, ptr @test_count, align 4, !tbaa !5
  %28122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28123 = load i32, ptr %28122, align 4, !tbaa !5
  %28124 = call ptr @s2n_strerror(i32 noundef %28123, ptr noundef @.str.80)
  %28125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28126 = load i32, ptr %28125, align 4, !tbaa !5
  %28127 = call ptr @s2n_strerror_debug(i32 noundef %28126, ptr noundef @.str.80)
  %28128 = call ptr @__errno_location() #12
  %28129 = load i32, ptr %28128, align 4, !tbaa !5
  %28130 = call ptr @strerror(i32 noundef %28129) #11
  %28131 = call ptr @__errno_location() #12
  %28132 = load i32, ptr %28131, align 4, !tbaa !5
  %28133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28120, ptr noundef @.str.81, i32 noundef %28121, ptr noundef @.str.326, ptr noundef @.str.77, i32 noundef 1004, ptr noundef %28124, ptr noundef %28127, ptr noundef %28130, i32 noundef %28132) #11
  br label %28134

28134:                                            ; preds = %28117, %28100
  call void @llvm.lifetime.end.p0(i64 4, ptr %661) #11
  br label %28135

28135:                                            ; preds = %28134
  br label %28136

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

28137:                                            ; No predecessors!
  br label %28138

28138:                                            ; preds = %28137
  br label %28139

28139:                                            ; preds = %28138, %28078
  br label %28140

28140:                                            ; preds = %28139
  br label %28141

28141:                                            ; preds = %28140
  br label %28142

28142:                                            ; preds = %28141
  %28143 = load i32, ptr @test_count, align 4, !tbaa !5
  %28144 = add nsw i32 %28143, 1
  store i32 %28144, ptr @test_count, align 4, !tbaa !5
  %28145 = load ptr, ptr %654, align 8, !tbaa !9
  %28146 = call i32 @s2n_connection_set_psk_mode(ptr noundef %28145, i32 noundef 0)
  %28147 = icmp eq i32 %28146, -1
  br i1 %28147, label %28148, label %28201

28148:                                            ; preds = %28142
  br label %28149

28149:                                            ; preds = %28148
  br label %28150

28150:                                            ; preds = %28149
  call void @llvm.lifetime.start.p0(i64 4, ptr %662) #11
  %28151 = call ptr @__errno_location() #12
  %28152 = load i32, ptr %28151, align 4, !tbaa !5
  store i32 %28152, ptr %662, align 4, !tbaa !5
  %28153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28154 = call i32 @s2n_print_stacktrace(ptr noundef %28153)
  %28155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28156 = trunc i8 %28155 to i1
  br i1 %28156, label %28157, label %28179

28157:                                            ; preds = %28150
  %28158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28159 = call i32 @fileno(ptr noundef %28158) #11
  %28160 = call i32 @isatty(i32 noundef %28159) #11
  %28161 = icmp ne i32 %28160, 0
  br i1 %28161, label %28162, label %28179

28162:                                            ; preds = %28157
  %28163 = load i32, ptr %662, align 4, !tbaa !5
  %28164 = call ptr @__errno_location() #12
  store i32 %28163, ptr %28164, align 4, !tbaa !5
  %28165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28166 = load i32, ptr @test_count, align 4, !tbaa !5
  %28167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28168 = load i32, ptr %28167, align 4, !tbaa !5
  %28169 = call ptr @s2n_strerror(i32 noundef %28168, ptr noundef @.str.80)
  %28170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28171 = load i32, ptr %28170, align 4, !tbaa !5
  %28172 = call ptr @s2n_strerror_debug(i32 noundef %28171, ptr noundef @.str.80)
  %28173 = call ptr @__errno_location() #12
  %28174 = load i32, ptr %28173, align 4, !tbaa !5
  %28175 = call ptr @strerror(i32 noundef %28174) #11
  %28176 = call ptr @__errno_location() #12
  %28177 = load i32, ptr %28176, align 4, !tbaa !5
  %28178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28165, ptr noundef @.str.78, i32 noundef %28166, ptr noundef @.str.327, ptr noundef @.str.77, i32 noundef 1006, ptr noundef %28169, ptr noundef %28172, ptr noundef %28175, i32 noundef %28177) #11
  br label %28196

28179:                                            ; preds = %28157, %28150
  %28180 = load i32, ptr %662, 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.80)
  %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.80)
  %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.81, i32 noundef %28183, ptr noundef @.str.327, ptr noundef @.str.77, i32 noundef 1006, ptr noundef %28186, ptr noundef %28189, ptr noundef %28192, i32 noundef %28194) #11
  br label %28196

28196:                                            ; preds = %28179, %28162
  call void @llvm.lifetime.end.p0(i64 4, ptr %662) #11
  br label %28197

28197:                                            ; preds = %28196
  br label %28198

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

28199:                                            ; No predecessors!
  br label %28200

28200:                                            ; preds = %28199
  br label %28201

28201:                                            ; preds = %28200, %28142
  br label %28202

28202:                                            ; preds = %28201
  br label %28203

28203:                                            ; preds = %28202
  br label %28204

28204:                                            ; preds = %28203
  %28205 = load i32, ptr @test_count, align 4, !tbaa !5
  %28206 = add nsw i32 %28205, 1
  store i32 %28206, ptr @test_count, align 4, !tbaa !5
  %28207 = load ptr, ptr %654, align 8, !tbaa !9
  %28208 = getelementptr inbounds %struct.s2n_connection, ptr %28207, i32 0, i32 33
  %28209 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %28208, i32 0, i32 0
  %28210 = load i32, ptr %28209, align 8, !tbaa !95
  %28211 = icmp eq i32 %28210, 0
  br i1 %28211, label %28265, label %28212

28212:                                            ; preds = %28204
  br label %28213

28213:                                            ; preds = %28212
  br label %28214

28214:                                            ; preds = %28213
  call void @llvm.lifetime.start.p0(i64 4, ptr %663) #11
  %28215 = call ptr @__errno_location() #12
  %28216 = load i32, ptr %28215, align 4, !tbaa !5
  store i32 %28216, ptr %663, align 4, !tbaa !5
  %28217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28218 = call i32 @s2n_print_stacktrace(ptr noundef %28217)
  %28219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28220 = trunc i8 %28219 to i1
  br i1 %28220, label %28221, label %28243

28221:                                            ; preds = %28214
  %28222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28223 = call i32 @fileno(ptr noundef %28222) #11
  %28224 = call i32 @isatty(i32 noundef %28223) #11
  %28225 = icmp ne i32 %28224, 0
  br i1 %28225, label %28226, label %28243

28226:                                            ; preds = %28221
  %28227 = load i32, ptr %663, align 4, !tbaa !5
  %28228 = call ptr @__errno_location() #12
  store i32 %28227, ptr %28228, align 4, !tbaa !5
  %28229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28230 = load i32, ptr @test_count, align 4, !tbaa !5
  %28231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28232 = load i32, ptr %28231, align 4, !tbaa !5
  %28233 = call ptr @s2n_strerror(i32 noundef %28232, ptr noundef @.str.80)
  %28234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28235 = load i32, ptr %28234, align 4, !tbaa !5
  %28236 = call ptr @s2n_strerror_debug(i32 noundef %28235, ptr noundef @.str.80)
  %28237 = call ptr @__errno_location() #12
  %28238 = load i32, ptr %28237, align 4, !tbaa !5
  %28239 = call ptr @strerror(i32 noundef %28238) #11
  %28240 = call ptr @__errno_location() #12
  %28241 = load i32, ptr %28240, align 4, !tbaa !5
  %28242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28229, ptr noundef @.str.78, i32 noundef %28230, ptr noundef @.str.324, ptr noundef @.str.77, i32 noundef 1007, ptr noundef %28233, ptr noundef %28236, ptr noundef %28239, i32 noundef %28241) #11
  br label %28260

28243:                                            ; preds = %28221, %28214
  %28244 = load i32, ptr %663, align 4, !tbaa !5
  %28245 = call ptr @__errno_location() #12
  store i32 %28244, ptr %28245, align 4, !tbaa !5
  %28246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28247 = load i32, ptr @test_count, align 4, !tbaa !5
  %28248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28249 = load i32, ptr %28248, align 4, !tbaa !5
  %28250 = call ptr @s2n_strerror(i32 noundef %28249, ptr noundef @.str.80)
  %28251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28252 = load i32, ptr %28251, align 4, !tbaa !5
  %28253 = call ptr @s2n_strerror_debug(i32 noundef %28252, ptr noundef @.str.80)
  %28254 = call ptr @__errno_location() #12
  %28255 = load i32, ptr %28254, align 4, !tbaa !5
  %28256 = call ptr @strerror(i32 noundef %28255) #11
  %28257 = call ptr @__errno_location() #12
  %28258 = load i32, ptr %28257, align 4, !tbaa !5
  %28259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28246, ptr noundef @.str.81, i32 noundef %28247, ptr noundef @.str.324, ptr noundef @.str.77, i32 noundef 1007, ptr noundef %28250, ptr noundef %28253, ptr noundef %28256, i32 noundef %28258) #11
  br label %28260

28260:                                            ; preds = %28243, %28226
  call void @llvm.lifetime.end.p0(i64 4, ptr %663) #11
  br label %28261

28261:                                            ; preds = %28260
  br label %28262

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

28263:                                            ; No predecessors!
  br label %28264

28264:                                            ; preds = %28263
  br label %28265

28265:                                            ; preds = %28264, %28204
  br label %28266

28266:                                            ; preds = %28265
  br label %28267

28267:                                            ; preds = %28266
  br label %28268

28268:                                            ; preds = %28267
  %28269 = load i32, ptr @test_count, align 4, !tbaa !5
  %28270 = add nsw i32 %28269, 1
  store i32 %28270, ptr @test_count, align 4, !tbaa !5
  %28271 = load ptr, ptr %654, align 8, !tbaa !9
  %28272 = load i32, ptr %28271, align 8
  %28273 = lshr i32 %28272, 12
  %28274 = and i32 %28273, 1
  %28275 = icmp ne i32 %28274, 0
  br i1 %28275, label %28329, label %28276

28276:                                            ; preds = %28268
  br label %28277

28277:                                            ; preds = %28276
  br label %28278

28278:                                            ; preds = %28277
  call void @llvm.lifetime.start.p0(i64 4, ptr %664) #11
  %28279 = call ptr @__errno_location() #12
  %28280 = load i32, ptr %28279, align 4, !tbaa !5
  store i32 %28280, ptr %664, align 4, !tbaa !5
  %28281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28282 = call i32 @s2n_print_stacktrace(ptr noundef %28281)
  %28283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28284 = trunc i8 %28283 to i1
  br i1 %28284, label %28285, label %28307

28285:                                            ; preds = %28278
  %28286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28287 = call i32 @fileno(ptr noundef %28286) #11
  %28288 = call i32 @isatty(i32 noundef %28287) #11
  %28289 = icmp ne i32 %28288, 0
  br i1 %28289, label %28290, label %28307

28290:                                            ; preds = %28285
  %28291 = load i32, ptr %664, align 4, !tbaa !5
  %28292 = call ptr @__errno_location() #12
  store i32 %28291, ptr %28292, align 4, !tbaa !5
  %28293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28294 = load i32, ptr @test_count, align 4, !tbaa !5
  %28295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28296 = load i32, ptr %28295, align 4, !tbaa !5
  %28297 = call ptr @s2n_strerror(i32 noundef %28296, ptr noundef @.str.80)
  %28298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28299 = load i32, ptr %28298, align 4, !tbaa !5
  %28300 = call ptr @s2n_strerror_debug(i32 noundef %28299, ptr noundef @.str.80)
  %28301 = call ptr @__errno_location() #12
  %28302 = load i32, ptr %28301, align 4, !tbaa !5
  %28303 = call ptr @strerror(i32 noundef %28302) #11
  %28304 = call ptr @__errno_location() #12
  %28305 = load i32, ptr %28304, align 4, !tbaa !5
  %28306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28293, ptr noundef @.str.78, i32 noundef %28294, ptr noundef @.str.328, ptr noundef @.str.77, i32 noundef 1008, ptr noundef %28297, ptr noundef %28300, ptr noundef %28303, i32 noundef %28305) #11
  br label %28324

28307:                                            ; preds = %28285, %28278
  %28308 = load i32, ptr %664, align 4, !tbaa !5
  %28309 = call ptr @__errno_location() #12
  store i32 %28308, ptr %28309, align 4, !tbaa !5
  %28310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28311 = load i32, ptr @test_count, align 4, !tbaa !5
  %28312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28313 = load i32, ptr %28312, align 4, !tbaa !5
  %28314 = call ptr @s2n_strerror(i32 noundef %28313, ptr noundef @.str.80)
  %28315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28316 = load i32, ptr %28315, align 4, !tbaa !5
  %28317 = call ptr @s2n_strerror_debug(i32 noundef %28316, ptr noundef @.str.80)
  %28318 = call ptr @__errno_location() #12
  %28319 = load i32, ptr %28318, align 4, !tbaa !5
  %28320 = call ptr @strerror(i32 noundef %28319) #11
  %28321 = call ptr @__errno_location() #12
  %28322 = load i32, ptr %28321, align 4, !tbaa !5
  %28323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28310, ptr noundef @.str.81, i32 noundef %28311, ptr noundef @.str.328, ptr noundef @.str.77, i32 noundef 1008, ptr noundef %28314, ptr noundef %28317, ptr noundef %28320, i32 noundef %28322) #11
  br label %28324

28324:                                            ; preds = %28307, %28290
  call void @llvm.lifetime.end.p0(i64 4, ptr %664) #11
  br label %28325

28325:                                            ; preds = %28324
  br label %28326

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

28327:                                            ; No predecessors!
  br label %28328

28328:                                            ; preds = %28327
  br label %28329

28329:                                            ; preds = %28328, %28268
  br label %28330

28330:                                            ; preds = %28329
  br label %28331

28331:                                            ; preds = %28330
  br label %28332

28332:                                            ; preds = %28331
  %28333 = load i32, ptr @test_count, align 4, !tbaa !5
  %28334 = add nsw i32 %28333, 1
  store i32 %28334, ptr @test_count, align 4, !tbaa !5
  %28335 = load ptr, ptr %654, align 8, !tbaa !9
  %28336 = call i32 @s2n_connection_set_psk_mode(ptr noundef %28335, i32 noundef 1)
  %28337 = icmp eq i32 %28336, -1
  br i1 %28337, label %28338, label %28391

28338:                                            ; preds = %28332
  br label %28339

28339:                                            ; preds = %28338
  br label %28340

28340:                                            ; preds = %28339
  call void @llvm.lifetime.start.p0(i64 4, ptr %665) #11
  %28341 = call ptr @__errno_location() #12
  %28342 = load i32, ptr %28341, align 4, !tbaa !5
  store i32 %28342, ptr %665, align 4, !tbaa !5
  %28343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28344 = call i32 @s2n_print_stacktrace(ptr noundef %28343)
  %28345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28346 = trunc i8 %28345 to i1
  br i1 %28346, label %28347, label %28369

28347:                                            ; preds = %28340
  %28348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28349 = call i32 @fileno(ptr noundef %28348) #11
  %28350 = call i32 @isatty(i32 noundef %28349) #11
  %28351 = icmp ne i32 %28350, 0
  br i1 %28351, label %28352, label %28369

28352:                                            ; preds = %28347
  %28353 = load i32, ptr %665, align 4, !tbaa !5
  %28354 = call ptr @__errno_location() #12
  store i32 %28353, ptr %28354, align 4, !tbaa !5
  %28355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28356 = load i32, ptr @test_count, align 4, !tbaa !5
  %28357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28358 = load i32, ptr %28357, align 4, !tbaa !5
  %28359 = call ptr @s2n_strerror(i32 noundef %28358, ptr noundef @.str.80)
  %28360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28361 = load i32, ptr %28360, align 4, !tbaa !5
  %28362 = call ptr @s2n_strerror_debug(i32 noundef %28361, ptr noundef @.str.80)
  %28363 = call ptr @__errno_location() #12
  %28364 = load i32, ptr %28363, align 4, !tbaa !5
  %28365 = call ptr @strerror(i32 noundef %28364) #11
  %28366 = call ptr @__errno_location() #12
  %28367 = load i32, ptr %28366, align 4, !tbaa !5
  %28368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28355, ptr noundef @.str.78, i32 noundef %28356, ptr noundef @.str.293, ptr noundef @.str.77, i32 noundef 1010, ptr noundef %28359, ptr noundef %28362, ptr noundef %28365, i32 noundef %28367) #11
  br label %28386

28369:                                            ; preds = %28347, %28340
  %28370 = load i32, ptr %665, align 4, !tbaa !5
  %28371 = call ptr @__errno_location() #12
  store i32 %28370, ptr %28371, align 4, !tbaa !5
  %28372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28373 = load i32, ptr @test_count, align 4, !tbaa !5
  %28374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28375 = load i32, ptr %28374, align 4, !tbaa !5
  %28376 = call ptr @s2n_strerror(i32 noundef %28375, ptr noundef @.str.80)
  %28377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28378 = load i32, ptr %28377, align 4, !tbaa !5
  %28379 = call ptr @s2n_strerror_debug(i32 noundef %28378, ptr noundef @.str.80)
  %28380 = call ptr @__errno_location() #12
  %28381 = load i32, ptr %28380, align 4, !tbaa !5
  %28382 = call ptr @strerror(i32 noundef %28381) #11
  %28383 = call ptr @__errno_location() #12
  %28384 = load i32, ptr %28383, align 4, !tbaa !5
  %28385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28372, ptr noundef @.str.81, i32 noundef %28373, ptr noundef @.str.293, ptr noundef @.str.77, i32 noundef 1010, ptr noundef %28376, ptr noundef %28379, ptr noundef %28382, i32 noundef %28384) #11
  br label %28386

28386:                                            ; preds = %28369, %28352
  call void @llvm.lifetime.end.p0(i64 4, ptr %665) #11
  br label %28387

28387:                                            ; preds = %28386
  br label %28388

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

28389:                                            ; No predecessors!
  br label %28390

28390:                                            ; preds = %28389
  br label %28391

28391:                                            ; preds = %28390, %28332
  br label %28392

28392:                                            ; preds = %28391
  br label %28393

28393:                                            ; preds = %28392
  br label %28394

28394:                                            ; preds = %28393
  %28395 = load i32, ptr @test_count, align 4, !tbaa !5
  %28396 = add nsw i32 %28395, 1
  store i32 %28396, ptr @test_count, align 4, !tbaa !5
  %28397 = load ptr, ptr %654, align 8, !tbaa !9
  %28398 = getelementptr inbounds %struct.s2n_connection, ptr %28397, i32 0, i32 33
  %28399 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %28398, i32 0, i32 0
  %28400 = load i32, ptr %28399, align 8, !tbaa !95
  %28401 = icmp eq i32 %28400, 1
  br i1 %28401, label %28455, label %28402

28402:                                            ; preds = %28394
  br label %28403

28403:                                            ; preds = %28402
  br label %28404

28404:                                            ; preds = %28403
  call void @llvm.lifetime.start.p0(i64 4, ptr %666) #11
  %28405 = call ptr @__errno_location() #12
  %28406 = load i32, ptr %28405, align 4, !tbaa !5
  store i32 %28406, ptr %666, align 4, !tbaa !5
  %28407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28408 = call i32 @s2n_print_stacktrace(ptr noundef %28407)
  %28409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28410 = trunc i8 %28409 to i1
  br i1 %28410, label %28411, label %28433

28411:                                            ; preds = %28404
  %28412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28413 = call i32 @fileno(ptr noundef %28412) #11
  %28414 = call i32 @isatty(i32 noundef %28413) #11
  %28415 = icmp ne i32 %28414, 0
  br i1 %28415, label %28416, label %28433

28416:                                            ; preds = %28411
  %28417 = load i32, ptr %666, align 4, !tbaa !5
  %28418 = call ptr @__errno_location() #12
  store i32 %28417, ptr %28418, align 4, !tbaa !5
  %28419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28420 = load i32, ptr @test_count, align 4, !tbaa !5
  %28421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28422 = load i32, ptr %28421, align 4, !tbaa !5
  %28423 = call ptr @s2n_strerror(i32 noundef %28422, ptr noundef @.str.80)
  %28424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28425 = load i32, ptr %28424, align 4, !tbaa !5
  %28426 = call ptr @s2n_strerror_debug(i32 noundef %28425, ptr noundef @.str.80)
  %28427 = call ptr @__errno_location() #12
  %28428 = load i32, ptr %28427, align 4, !tbaa !5
  %28429 = call ptr @strerror(i32 noundef %28428) #11
  %28430 = call ptr @__errno_location() #12
  %28431 = load i32, ptr %28430, align 4, !tbaa !5
  %28432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28419, ptr noundef @.str.78, i32 noundef %28420, ptr noundef @.str.329, ptr noundef @.str.77, i32 noundef 1011, ptr noundef %28423, ptr noundef %28426, ptr noundef %28429, i32 noundef %28431) #11
  br label %28450

28433:                                            ; preds = %28411, %28404
  %28434 = load i32, ptr %666, align 4, !tbaa !5
  %28435 = call ptr @__errno_location() #12
  store i32 %28434, ptr %28435, align 4, !tbaa !5
  %28436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28437 = load i32, ptr @test_count, align 4, !tbaa !5
  %28438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28439 = load i32, ptr %28438, align 4, !tbaa !5
  %28440 = call ptr @s2n_strerror(i32 noundef %28439, ptr noundef @.str.80)
  %28441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28442 = load i32, ptr %28441, align 4, !tbaa !5
  %28443 = call ptr @s2n_strerror_debug(i32 noundef %28442, ptr noundef @.str.80)
  %28444 = call ptr @__errno_location() #12
  %28445 = load i32, ptr %28444, align 4, !tbaa !5
  %28446 = call ptr @strerror(i32 noundef %28445) #11
  %28447 = call ptr @__errno_location() #12
  %28448 = load i32, ptr %28447, align 4, !tbaa !5
  %28449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28436, ptr noundef @.str.81, i32 noundef %28437, ptr noundef @.str.329, ptr noundef @.str.77, i32 noundef 1011, ptr noundef %28440, ptr noundef %28443, ptr noundef %28446, i32 noundef %28448) #11
  br label %28450

28450:                                            ; preds = %28433, %28416
  call void @llvm.lifetime.end.p0(i64 4, ptr %666) #11
  br label %28451

28451:                                            ; preds = %28450
  br label %28452

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

28453:                                            ; No predecessors!
  br label %28454

28454:                                            ; preds = %28453
  br label %28455

28455:                                            ; preds = %28454, %28394
  br label %28456

28456:                                            ; preds = %28455
  br label %28457

28457:                                            ; preds = %28456
  br label %28458

28458:                                            ; preds = %28457
  %28459 = load i32, ptr @test_count, align 4, !tbaa !5
  %28460 = add nsw i32 %28459, 1
  store i32 %28460, ptr @test_count, align 4, !tbaa !5
  %28461 = load ptr, ptr %654, align 8, !tbaa !9
  %28462 = load i32, ptr %28461, align 8
  %28463 = lshr i32 %28462, 12
  %28464 = and i32 %28463, 1
  %28465 = icmp ne i32 %28464, 0
  br i1 %28465, label %28519, label %28466

28466:                                            ; preds = %28458
  br label %28467

28467:                                            ; preds = %28466
  br label %28468

28468:                                            ; preds = %28467
  call void @llvm.lifetime.start.p0(i64 4, ptr %667) #11
  %28469 = call ptr @__errno_location() #12
  %28470 = load i32, ptr %28469, align 4, !tbaa !5
  store i32 %28470, ptr %667, align 4, !tbaa !5
  %28471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28472 = call i32 @s2n_print_stacktrace(ptr noundef %28471)
  %28473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28474 = trunc i8 %28473 to i1
  br i1 %28474, label %28475, label %28497

28475:                                            ; preds = %28468
  %28476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28477 = call i32 @fileno(ptr noundef %28476) #11
  %28478 = call i32 @isatty(i32 noundef %28477) #11
  %28479 = icmp ne i32 %28478, 0
  br i1 %28479, label %28480, label %28497

28480:                                            ; preds = %28475
  %28481 = load i32, ptr %667, align 4, !tbaa !5
  %28482 = call ptr @__errno_location() #12
  store i32 %28481, ptr %28482, align 4, !tbaa !5
  %28483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28484 = load i32, ptr @test_count, align 4, !tbaa !5
  %28485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28486 = load i32, ptr %28485, align 4, !tbaa !5
  %28487 = call ptr @s2n_strerror(i32 noundef %28486, ptr noundef @.str.80)
  %28488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28489 = load i32, ptr %28488, align 4, !tbaa !5
  %28490 = call ptr @s2n_strerror_debug(i32 noundef %28489, ptr noundef @.str.80)
  %28491 = call ptr @__errno_location() #12
  %28492 = load i32, ptr %28491, align 4, !tbaa !5
  %28493 = call ptr @strerror(i32 noundef %28492) #11
  %28494 = call ptr @__errno_location() #12
  %28495 = load i32, ptr %28494, align 4, !tbaa !5
  %28496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28483, ptr noundef @.str.78, i32 noundef %28484, ptr noundef @.str.328, ptr noundef @.str.77, i32 noundef 1012, ptr noundef %28487, ptr noundef %28490, ptr noundef %28493, i32 noundef %28495) #11
  br label %28514

28497:                                            ; preds = %28475, %28468
  %28498 = load i32, ptr %667, align 4, !tbaa !5
  %28499 = call ptr @__errno_location() #12
  store i32 %28498, ptr %28499, align 4, !tbaa !5
  %28500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28501 = load i32, ptr @test_count, align 4, !tbaa !5
  %28502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28503 = load i32, ptr %28502, align 4, !tbaa !5
  %28504 = call ptr @s2n_strerror(i32 noundef %28503, ptr noundef @.str.80)
  %28505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28506 = load i32, ptr %28505, align 4, !tbaa !5
  %28507 = call ptr @s2n_strerror_debug(i32 noundef %28506, ptr noundef @.str.80)
  %28508 = call ptr @__errno_location() #12
  %28509 = load i32, ptr %28508, align 4, !tbaa !5
  %28510 = call ptr @strerror(i32 noundef %28509) #11
  %28511 = call ptr @__errno_location() #12
  %28512 = load i32, ptr %28511, align 4, !tbaa !5
  %28513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28500, ptr noundef @.str.81, i32 noundef %28501, ptr noundef @.str.328, ptr noundef @.str.77, i32 noundef 1012, ptr noundef %28504, ptr noundef %28507, ptr noundef %28510, i32 noundef %28512) #11
  br label %28514

28514:                                            ; preds = %28497, %28480
  call void @llvm.lifetime.end.p0(i64 4, ptr %667) #11
  br label %28515

28515:                                            ; preds = %28514
  br label %28516

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

28517:                                            ; No predecessors!
  br label %28518

28518:                                            ; preds = %28517
  br label %28519

28519:                                            ; preds = %28518, %28458
  br label %28520

28520:                                            ; preds = %28519
  br label %28521

28521:                                            ; preds = %28520
  call void @llvm.lifetime.start.p0(i64 8, ptr %668) #11
  %28522 = load ptr, ptr %654, align 8, !tbaa !9
  %28523 = call ptr @s2n_test_psk_new(ptr noundef %28522)
  store ptr %28523, ptr %668, align 8, !tbaa !9
  br label %28524

28524:                                            ; preds = %28521
  %28525 = load i32, ptr @test_count, align 4, !tbaa !5
  %28526 = add nsw i32 %28525, 1
  store i32 %28526, ptr @test_count, align 4, !tbaa !5
  %28527 = load ptr, ptr %654, align 8, !tbaa !9
  %28528 = load ptr, ptr %668, align 8, !tbaa !9
  %28529 = call i32 @s2n_connection_append_psk(ptr noundef %28527, ptr noundef %28528)
  %28530 = icmp eq i32 %28529, -1
  br i1 %28530, label %28531, label %28584

28531:                                            ; preds = %28524
  br label %28532

28532:                                            ; preds = %28531
  br label %28533

28533:                                            ; preds = %28532
  call void @llvm.lifetime.start.p0(i64 4, ptr %669) #11
  %28534 = call ptr @__errno_location() #12
  %28535 = load i32, ptr %28534, align 4, !tbaa !5
  store i32 %28535, ptr %669, align 4, !tbaa !5
  %28536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28537 = call i32 @s2n_print_stacktrace(ptr noundef %28536)
  %28538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28539 = trunc i8 %28538 to i1
  br i1 %28539, label %28540, label %28562

28540:                                            ; preds = %28533
  %28541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28542 = call i32 @fileno(ptr noundef %28541) #11
  %28543 = call i32 @isatty(i32 noundef %28542) #11
  %28544 = icmp ne i32 %28543, 0
  br i1 %28544, label %28545, label %28562

28545:                                            ; preds = %28540
  %28546 = load i32, ptr %669, align 4, !tbaa !5
  %28547 = call ptr @__errno_location() #12
  store i32 %28546, ptr %28547, align 4, !tbaa !5
  %28548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28549 = load i32, ptr @test_count, align 4, !tbaa !5
  %28550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28551 = load i32, ptr %28550, align 4, !tbaa !5
  %28552 = call ptr @s2n_strerror(i32 noundef %28551, ptr noundef @.str.80)
  %28553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28554 = load i32, ptr %28553, align 4, !tbaa !5
  %28555 = call ptr @s2n_strerror_debug(i32 noundef %28554, ptr noundef @.str.80)
  %28556 = call ptr @__errno_location() #12
  %28557 = load i32, ptr %28556, align 4, !tbaa !5
  %28558 = call ptr @strerror(i32 noundef %28557) #11
  %28559 = call ptr @__errno_location() #12
  %28560 = load i32, ptr %28559, align 4, !tbaa !5
  %28561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28548, ptr noundef @.str.78, i32 noundef %28549, ptr noundef @.str.306, ptr noundef @.str.77, i32 noundef 1015, ptr noundef %28552, ptr noundef %28555, ptr noundef %28558, i32 noundef %28560) #11
  br label %28579

28562:                                            ; preds = %28540, %28533
  %28563 = load i32, ptr %669, align 4, !tbaa !5
  %28564 = call ptr @__errno_location() #12
  store i32 %28563, ptr %28564, align 4, !tbaa !5
  %28565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28566 = load i32, ptr @test_count, align 4, !tbaa !5
  %28567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28568 = load i32, ptr %28567, align 4, !tbaa !5
  %28569 = call ptr @s2n_strerror(i32 noundef %28568, ptr noundef @.str.80)
  %28570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28571 = load i32, ptr %28570, align 4, !tbaa !5
  %28572 = call ptr @s2n_strerror_debug(i32 noundef %28571, ptr noundef @.str.80)
  %28573 = call ptr @__errno_location() #12
  %28574 = load i32, ptr %28573, align 4, !tbaa !5
  %28575 = call ptr @strerror(i32 noundef %28574) #11
  %28576 = call ptr @__errno_location() #12
  %28577 = load i32, ptr %28576, align 4, !tbaa !5
  %28578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28565, ptr noundef @.str.81, i32 noundef %28566, ptr noundef @.str.306, ptr noundef @.str.77, i32 noundef 1015, ptr noundef %28569, ptr noundef %28572, ptr noundef %28575, i32 noundef %28577) #11
  br label %28579

28579:                                            ; preds = %28562, %28545
  call void @llvm.lifetime.end.p0(i64 4, ptr %669) #11
  br label %28580

28580:                                            ; preds = %28579
  br label %28581

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

28582:                                            ; No predecessors!
  br label %28583

28583:                                            ; preds = %28582
  br label %28584

28584:                                            ; preds = %28583, %28524
  br label %28585

28585:                                            ; preds = %28584
  br label %28586

28586:                                            ; preds = %28585
  br label %28587

28587:                                            ; preds = %28586
  br label %28588

28588:                                            ; preds = %28587
  br label %28589

28589:                                            ; preds = %28588
  %28590 = load i32, ptr @test_count, align 4, !tbaa !5
  %28591 = add nsw i32 %28590, 1
  store i32 %28591, ptr @test_count, align 4, !tbaa !5
  %28592 = load ptr, ptr %654, align 8, !tbaa !9
  %28593 = call i32 @s2n_connection_set_psk_mode(ptr noundef %28592, i32 noundef 0)
  %28594 = icmp eq i32 %28593, -1
  br i1 %28594, label %28648, label %28595

28595:                                            ; preds = %28589
  br label %28596

28596:                                            ; preds = %28595
  br label %28597

28597:                                            ; preds = %28596
  call void @llvm.lifetime.start.p0(i64 4, ptr %670) #11
  %28598 = call ptr @__errno_location() #12
  %28599 = load i32, ptr %28598, align 4, !tbaa !5
  store i32 %28599, ptr %670, align 4, !tbaa !5
  %28600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28601 = call i32 @s2n_print_stacktrace(ptr noundef %28600)
  %28602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28603 = trunc i8 %28602 to i1
  br i1 %28603, label %28604, label %28626

28604:                                            ; preds = %28597
  %28605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28606 = call i32 @fileno(ptr noundef %28605) #11
  %28607 = call i32 @isatty(i32 noundef %28606) #11
  %28608 = icmp ne i32 %28607, 0
  br i1 %28608, label %28609, label %28626

28609:                                            ; preds = %28604
  %28610 = load i32, ptr %670, align 4, !tbaa !5
  %28611 = call ptr @__errno_location() #12
  store i32 %28610, ptr %28611, align 4, !tbaa !5
  %28612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28613 = load i32, ptr @test_count, align 4, !tbaa !5
  %28614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28615 = load i32, ptr %28614, align 4, !tbaa !5
  %28616 = call ptr @s2n_strerror(i32 noundef %28615, ptr noundef @.str.80)
  %28617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28618 = load i32, ptr %28617, align 4, !tbaa !5
  %28619 = call ptr @s2n_strerror_debug(i32 noundef %28618, ptr noundef @.str.80)
  %28620 = call ptr @__errno_location() #12
  %28621 = load i32, ptr %28620, align 4, !tbaa !5
  %28622 = call ptr @strerror(i32 noundef %28621) #11
  %28623 = call ptr @__errno_location() #12
  %28624 = load i32, ptr %28623, align 4, !tbaa !5
  %28625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28612, ptr noundef @.str.78, i32 noundef %28613, ptr noundef @.str.330, ptr noundef @.str.77, i32 noundef 1016, ptr noundef %28616, ptr noundef %28619, ptr noundef %28622, i32 noundef %28624) #11
  br label %28643

28626:                                            ; preds = %28604, %28597
  %28627 = load i32, ptr %670, align 4, !tbaa !5
  %28628 = call ptr @__errno_location() #12
  store i32 %28627, ptr %28628, align 4, !tbaa !5
  %28629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28630 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %28632, ptr noundef @.str.80)
  %28634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28635 = load i32, ptr %28634, align 4, !tbaa !5
  %28636 = call ptr @s2n_strerror_debug(i32 noundef %28635, ptr noundef @.str.80)
  %28637 = call ptr @__errno_location() #12
  %28638 = load i32, ptr %28637, align 4, !tbaa !5
  %28639 = call ptr @strerror(i32 noundef %28638) #11
  %28640 = call ptr @__errno_location() #12
  %28641 = load i32, ptr %28640, align 4, !tbaa !5
  %28642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28629, ptr noundef @.str.81, i32 noundef %28630, ptr noundef @.str.330, ptr noundef @.str.77, i32 noundef 1016, ptr noundef %28633, ptr noundef %28636, ptr noundef %28639, i32 noundef %28641) #11
  br label %28643

28643:                                            ; preds = %28626, %28609
  call void @llvm.lifetime.end.p0(i64 4, ptr %670) #11
  br label %28644

28644:                                            ; preds = %28643
  br label %28645

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

28646:                                            ; No predecessors!
  br label %28647

28647:                                            ; preds = %28646
  br label %28648

28648:                                            ; preds = %28647, %28589
  br label %28649

28649:                                            ; preds = %28648
  br label %28650

28650:                                            ; preds = %28649
  br label %28651

28651:                                            ; preds = %28650
  %28652 = load i32, ptr @test_count, align 4, !tbaa !5
  %28653 = add nsw i32 %28652, 1
  store i32 %28653, ptr @test_count, align 4, !tbaa !5
  %28654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28655 = load i32, ptr %28654, align 4, !tbaa !5
  %28656 = icmp eq i32 %28655, 469762117
  br i1 %28656, label %28710, label %28657

28657:                                            ; preds = %28651
  br label %28658

28658:                                            ; preds = %28657
  br label %28659

28659:                                            ; preds = %28658
  call void @llvm.lifetime.start.p0(i64 4, ptr %671) #11
  %28660 = call ptr @__errno_location() #12
  %28661 = load i32, ptr %28660, align 4, !tbaa !5
  store i32 %28661, ptr %671, align 4, !tbaa !5
  %28662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28663 = call i32 @s2n_print_stacktrace(ptr noundef %28662)
  %28664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28665 = trunc i8 %28664 to i1
  br i1 %28665, label %28666, label %28688

28666:                                            ; preds = %28659
  %28667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28668 = call i32 @fileno(ptr noundef %28667) #11
  %28669 = call i32 @isatty(i32 noundef %28668) #11
  %28670 = icmp ne i32 %28669, 0
  br i1 %28670, label %28671, label %28688

28671:                                            ; preds = %28666
  %28672 = load i32, ptr %671, align 4, !tbaa !5
  %28673 = call ptr @__errno_location() #12
  store i32 %28672, ptr %28673, align 4, !tbaa !5
  %28674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28675 = load i32, ptr @test_count, align 4, !tbaa !5
  %28676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28677 = load i32, ptr %28676, align 4, !tbaa !5
  %28678 = call ptr @s2n_strerror(i32 noundef %28677, ptr noundef @.str.80)
  %28679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28680 = load i32, ptr %28679, align 4, !tbaa !5
  %28681 = call ptr @s2n_strerror_debug(i32 noundef %28680, ptr noundef @.str.80)
  %28682 = call ptr @__errno_location() #12
  %28683 = load i32, ptr %28682, align 4, !tbaa !5
  %28684 = call ptr @strerror(i32 noundef %28683) #11
  %28685 = call ptr @__errno_location() #12
  %28686 = load i32, ptr %28685, align 4, !tbaa !5
  %28687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28674, ptr noundef @.str.78, i32 noundef %28675, ptr noundef @.str.308, ptr noundef @.str.77, i32 noundef 1016, ptr noundef %28678, ptr noundef %28681, ptr noundef %28684, i32 noundef %28686) #11
  br label %28705

28688:                                            ; preds = %28666, %28659
  %28689 = load i32, ptr %671, align 4, !tbaa !5
  %28690 = call ptr @__errno_location() #12
  store i32 %28689, ptr %28690, align 4, !tbaa !5
  %28691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28692 = load i32, 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(i32 noundef %28694, ptr noundef @.str.80)
  %28696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28697 = load i32, ptr %28696, align 4, !tbaa !5
  %28698 = call ptr @s2n_strerror_debug(i32 noundef %28697, ptr noundef @.str.80)
  %28699 = call ptr @__errno_location() #12
  %28700 = load i32, ptr %28699, align 4, !tbaa !5
  %28701 = call ptr @strerror(i32 noundef %28700) #11
  %28702 = call ptr @__errno_location() #12
  %28703 = load i32, ptr %28702, align 4, !tbaa !5
  %28704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28691, ptr noundef @.str.81, i32 noundef %28692, ptr noundef @.str.308, ptr noundef @.str.77, i32 noundef 1016, ptr noundef %28695, ptr noundef %28698, ptr noundef %28701, i32 noundef %28703) #11
  br label %28705

28705:                                            ; preds = %28688, %28671
  call void @llvm.lifetime.end.p0(i64 4, ptr %671) #11
  br label %28706

28706:                                            ; preds = %28705
  br label %28707

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

28708:                                            ; No predecessors!
  br label %28709

28709:                                            ; preds = %28708
  br label %28710

28710:                                            ; preds = %28709, %28651
  br label %28711

28711:                                            ; preds = %28710
  br label %28712

28712:                                            ; preds = %28711
  br label %28713

28713:                                            ; preds = %28712
  %28714 = load i32, ptr @test_count, align 4, !tbaa !5
  %28715 = add nsw i32 %28714, 1
  store i32 %28715, 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_debug(i32 noundef %28717, ptr noundef @.str.80)
  %28719 = icmp eq ptr %28718, null
  br i1 %28719, label %28720, label %28773

28720:                                            ; preds = %28713
  br label %28721

28721:                                            ; preds = %28720
  br label %28722

28722:                                            ; preds = %28721
  call void @llvm.lifetime.start.p0(i64 4, ptr %672) #11
  %28723 = call ptr @__errno_location() #12
  %28724 = load i32, ptr %28723, align 4, !tbaa !5
  store i32 %28724, ptr %672, align 4, !tbaa !5
  %28725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28726 = call i32 @s2n_print_stacktrace(ptr noundef %28725)
  %28727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28728 = trunc i8 %28727 to i1
  br i1 %28728, label %28729, label %28751

28729:                                            ; preds = %28722
  %28730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28731 = call i32 @fileno(ptr noundef %28730) #11
  %28732 = call i32 @isatty(i32 noundef %28731) #11
  %28733 = icmp ne i32 %28732, 0
  br i1 %28733, label %28734, label %28751

28734:                                            ; preds = %28729
  %28735 = load i32, ptr %672, align 4, !tbaa !5
  %28736 = call ptr @__errno_location() #12
  store i32 %28735, ptr %28736, align 4, !tbaa !5
  %28737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28738 = load i32, ptr @test_count, align 4, !tbaa !5
  %28739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28740 = load i32, ptr %28739, align 4, !tbaa !5
  %28741 = call ptr @s2n_strerror(i32 noundef %28740, ptr noundef @.str.80)
  %28742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28743 = load i32, ptr %28742, align 4, !tbaa !5
  %28744 = call ptr @s2n_strerror_debug(i32 noundef %28743, ptr noundef @.str.80)
  %28745 = call ptr @__errno_location() #12
  %28746 = load i32, ptr %28745, align 4, !tbaa !5
  %28747 = call ptr @strerror(i32 noundef %28746) #11
  %28748 = call ptr @__errno_location() #12
  %28749 = load i32, ptr %28748, align 4, !tbaa !5
  %28750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28737, ptr noundef @.str.78, i32 noundef %28738, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1016, ptr noundef %28741, ptr noundef %28744, ptr noundef %28747, i32 noundef %28749) #11
  br label %28768

28751:                                            ; preds = %28729, %28722
  %28752 = load i32, ptr %672, align 4, !tbaa !5
  %28753 = call ptr @__errno_location() #12
  store i32 %28752, ptr %28753, align 4, !tbaa !5
  %28754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28755 = load i32, ptr @test_count, align 4, !tbaa !5
  %28756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28757 = load i32, ptr %28756, align 4, !tbaa !5
  %28758 = call ptr @s2n_strerror(i32 noundef %28757, ptr noundef @.str.80)
  %28759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28760 = load i32, ptr %28759, align 4, !tbaa !5
  %28761 = call ptr @s2n_strerror_debug(i32 noundef %28760, ptr noundef @.str.80)
  %28762 = call ptr @__errno_location() #12
  %28763 = load i32, ptr %28762, align 4, !tbaa !5
  %28764 = call ptr @strerror(i32 noundef %28763) #11
  %28765 = call ptr @__errno_location() #12
  %28766 = load i32, ptr %28765, align 4, !tbaa !5
  %28767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28754, ptr noundef @.str.81, i32 noundef %28755, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1016, ptr noundef %28758, ptr noundef %28761, ptr noundef %28764, i32 noundef %28766) #11
  br label %28768

28768:                                            ; preds = %28751, %28734
  call void @llvm.lifetime.end.p0(i64 4, ptr %672) #11
  br label %28769

28769:                                            ; preds = %28768
  br label %28770

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

28771:                                            ; No predecessors!
  br label %28772

28772:                                            ; preds = %28771
  br label %28773

28773:                                            ; preds = %28772, %28713
  br label %28774

28774:                                            ; preds = %28773
  br label %28775

28775:                                            ; preds = %28774
  br label %28776

28776:                                            ; preds = %28775
  br label %28777

28777:                                            ; preds = %28776
  br label %28778

28778:                                            ; preds = %28777
  %28779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28779, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28780 = call ptr @__errno_location() #12
  store i32 0, ptr %28780, align 4, !tbaa !5
  br label %28781

28781:                                            ; preds = %28778
  br label %28782

28782:                                            ; preds = %28781
  br label %28783

28783:                                            ; preds = %28782
  br label %28784

28784:                                            ; preds = %28783
  br label %28785

28785:                                            ; preds = %28784
  %28786 = load i32, ptr @test_count, align 4, !tbaa !5
  %28787 = add nsw i32 %28786, 1
  store i32 %28787, ptr @test_count, align 4, !tbaa !5
  %28788 = load ptr, ptr %654, align 8, !tbaa !9
  %28789 = getelementptr inbounds %struct.s2n_connection, ptr %28788, i32 0, i32 33
  %28790 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %28789, i32 0, i32 0
  %28791 = load i32, ptr %28790, align 8, !tbaa !95
  %28792 = icmp eq i32 %28791, 1
  br i1 %28792, label %28846, label %28793

28793:                                            ; preds = %28785
  br label %28794

28794:                                            ; preds = %28793
  br label %28795

28795:                                            ; preds = %28794
  call void @llvm.lifetime.start.p0(i64 4, ptr %673) #11
  %28796 = call ptr @__errno_location() #12
  %28797 = load i32, ptr %28796, align 4, !tbaa !5
  store i32 %28797, ptr %673, align 4, !tbaa !5
  %28798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28799 = call i32 @s2n_print_stacktrace(ptr noundef %28798)
  %28800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28801 = trunc i8 %28800 to i1
  br i1 %28801, label %28802, label %28824

28802:                                            ; preds = %28795
  %28803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28804 = call i32 @fileno(ptr noundef %28803) #11
  %28805 = call i32 @isatty(i32 noundef %28804) #11
  %28806 = icmp ne i32 %28805, 0
  br i1 %28806, label %28807, label %28824

28807:                                            ; preds = %28802
  %28808 = load i32, ptr %673, align 4, !tbaa !5
  %28809 = call ptr @__errno_location() #12
  store i32 %28808, ptr %28809, align 4, !tbaa !5
  %28810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28811 = load i32, ptr @test_count, align 4, !tbaa !5
  %28812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28813 = load i32, ptr %28812, align 4, !tbaa !5
  %28814 = call ptr @s2n_strerror(i32 noundef %28813, ptr noundef @.str.80)
  %28815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28816 = load i32, ptr %28815, align 4, !tbaa !5
  %28817 = call ptr @s2n_strerror_debug(i32 noundef %28816, ptr noundef @.str.80)
  %28818 = call ptr @__errno_location() #12
  %28819 = load i32, ptr %28818, align 4, !tbaa !5
  %28820 = call ptr @strerror(i32 noundef %28819) #11
  %28821 = call ptr @__errno_location() #12
  %28822 = load i32, ptr %28821, align 4, !tbaa !5
  %28823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28810, ptr noundef @.str.78, i32 noundef %28811, ptr noundef @.str.329, ptr noundef @.str.77, i32 noundef 1017, ptr noundef %28814, ptr noundef %28817, ptr noundef %28820, i32 noundef %28822) #11
  br label %28841

28824:                                            ; preds = %28802, %28795
  %28825 = load i32, ptr %673, align 4, !tbaa !5
  %28826 = call ptr @__errno_location() #12
  store i32 %28825, ptr %28826, align 4, !tbaa !5
  %28827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28828 = load i32, ptr @test_count, align 4, !tbaa !5
  %28829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28830 = load i32, ptr %28829, align 4, !tbaa !5
  %28831 = call ptr @s2n_strerror(i32 noundef %28830, ptr noundef @.str.80)
  %28832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28833 = load i32, ptr %28832, align 4, !tbaa !5
  %28834 = call ptr @s2n_strerror_debug(i32 noundef %28833, ptr noundef @.str.80)
  %28835 = call ptr @__errno_location() #12
  %28836 = load i32, ptr %28835, align 4, !tbaa !5
  %28837 = call ptr @strerror(i32 noundef %28836) #11
  %28838 = call ptr @__errno_location() #12
  %28839 = load i32, ptr %28838, align 4, !tbaa !5
  %28840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28827, ptr noundef @.str.81, i32 noundef %28828, ptr noundef @.str.329, ptr noundef @.str.77, i32 noundef 1017, ptr noundef %28831, ptr noundef %28834, ptr noundef %28837, i32 noundef %28839) #11
  br label %28841

28841:                                            ; preds = %28824, %28807
  call void @llvm.lifetime.end.p0(i64 4, ptr %673) #11
  br label %28842

28842:                                            ; preds = %28841
  br label %28843

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

28844:                                            ; No predecessors!
  br label %28845

28845:                                            ; preds = %28844
  br label %28846

28846:                                            ; preds = %28845, %28785
  br label %28847

28847:                                            ; preds = %28846
  br label %28848

28848:                                            ; preds = %28847
  br label %28849

28849:                                            ; preds = %28848
  %28850 = load i32, ptr @test_count, align 4, !tbaa !5
  %28851 = add nsw i32 %28850, 1
  store i32 %28851, ptr @test_count, align 4, !tbaa !5
  %28852 = load ptr, ptr %654, align 8, !tbaa !9
  %28853 = call i32 @s2n_connection_free(ptr noundef %28852)
  %28854 = icmp eq i32 %28853, -1
  br i1 %28854, label %28855, label %28908

28855:                                            ; preds = %28849
  br label %28856

28856:                                            ; preds = %28855
  br label %28857

28857:                                            ; preds = %28856
  call void @llvm.lifetime.start.p0(i64 4, ptr %674) #11
  %28858 = call ptr @__errno_location() #12
  %28859 = load i32, ptr %28858, align 4, !tbaa !5
  store i32 %28859, ptr %674, align 4, !tbaa !5
  %28860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28861 = call i32 @s2n_print_stacktrace(ptr noundef %28860)
  %28862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28863 = trunc i8 %28862 to i1
  br i1 %28863, label %28864, label %28886

28864:                                            ; preds = %28857
  %28865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28866 = call i32 @fileno(ptr noundef %28865) #11
  %28867 = call i32 @isatty(i32 noundef %28866) #11
  %28868 = icmp ne i32 %28867, 0
  br i1 %28868, label %28869, label %28886

28869:                                            ; preds = %28864
  %28870 = load i32, ptr %674, align 4, !tbaa !5
  %28871 = call ptr @__errno_location() #12
  store i32 %28870, ptr %28871, align 4, !tbaa !5
  %28872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28873 = load i32, ptr @test_count, align 4, !tbaa !5
  %28874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28875 = load i32, ptr %28874, align 4, !tbaa !5
  %28876 = call ptr @s2n_strerror(i32 noundef %28875, ptr noundef @.str.80)
  %28877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28878 = load i32, ptr %28877, align 4, !tbaa !5
  %28879 = call ptr @s2n_strerror_debug(i32 noundef %28878, ptr noundef @.str.80)
  %28880 = call ptr @__errno_location() #12
  %28881 = load i32, ptr %28880, align 4, !tbaa !5
  %28882 = call ptr @strerror(i32 noundef %28881) #11
  %28883 = call ptr @__errno_location() #12
  %28884 = load i32, ptr %28883, align 4, !tbaa !5
  %28885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28872, ptr noundef @.str.78, i32 noundef %28873, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 1019, ptr noundef %28876, ptr noundef %28879, ptr noundef %28882, i32 noundef %28884) #11
  br label %28903

28886:                                            ; preds = %28864, %28857
  %28887 = load i32, ptr %674, align 4, !tbaa !5
  %28888 = call ptr @__errno_location() #12
  store i32 %28887, ptr %28888, align 4, !tbaa !5
  %28889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28890 = load i32, ptr @test_count, align 4, !tbaa !5
  %28891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28892 = load i32, ptr %28891, align 4, !tbaa !5
  %28893 = call ptr @s2n_strerror(i32 noundef %28892, ptr noundef @.str.80)
  %28894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28895 = load i32, ptr %28894, align 4, !tbaa !5
  %28896 = call ptr @s2n_strerror_debug(i32 noundef %28895, ptr noundef @.str.80)
  %28897 = call ptr @__errno_location() #12
  %28898 = load i32, ptr %28897, align 4, !tbaa !5
  %28899 = call ptr @strerror(i32 noundef %28898) #11
  %28900 = call ptr @__errno_location() #12
  %28901 = load i32, ptr %28900, align 4, !tbaa !5
  %28902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28889, ptr noundef @.str.81, i32 noundef %28890, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 1019, ptr noundef %28893, ptr noundef %28896, ptr noundef %28899, i32 noundef %28901) #11
  br label %28903

28903:                                            ; preds = %28886, %28869
  call void @llvm.lifetime.end.p0(i64 4, ptr %674) #11
  br label %28904

28904:                                            ; preds = %28903
  br label %28905

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

28906:                                            ; No predecessors!
  br label %28907

28907:                                            ; preds = %28906
  br label %28908

28908:                                            ; preds = %28907, %28849
  br label %28909

28909:                                            ; preds = %28908
  br label %28910

28910:                                            ; preds = %28909
  %28911 = call i32 @s2n_psk_free(ptr noundef %668)
  call void @llvm.lifetime.end.p0(i64 8, ptr %668) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %654) #11
  call void @llvm.lifetime.start.p0(i64 9, ptr %675) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %675, ptr align 1 @__const.main.psk_identity, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %676) #11
  store ptr null, ptr %676, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 2, ptr %677) #11
  store i16 0, ptr %677, align 2, !tbaa !66
  br label %28912

28912:                                            ; preds = %28910
  %28913 = load i32, ptr @test_count, align 4, !tbaa !5
  %28914 = add nsw i32 %28913, 1
  store i32 %28914, ptr @test_count, align 4, !tbaa !5
  %28915 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %28915, ptr %676, align 8, !tbaa !9
  %28916 = icmp eq ptr %28915, null
  br i1 %28916, label %28917, label %28970

28917:                                            ; preds = %28912
  br label %28918

28918:                                            ; preds = %28917
  br label %28919

28919:                                            ; preds = %28918
  call void @llvm.lifetime.start.p0(i64 4, ptr %678) #11
  %28920 = call ptr @__errno_location() #12
  %28921 = load i32, ptr %28920, align 4, !tbaa !5
  store i32 %28921, ptr %678, align 4, !tbaa !5
  %28922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28923 = call i32 @s2n_print_stacktrace(ptr noundef %28922)
  %28924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28925 = trunc i8 %28924 to i1
  br i1 %28925, label %28926, label %28948

28926:                                            ; preds = %28919
  %28927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28928 = call i32 @fileno(ptr noundef %28927) #11
  %28929 = call i32 @isatty(i32 noundef %28928) #11
  %28930 = icmp ne i32 %28929, 0
  br i1 %28930, label %28931, label %28948

28931:                                            ; preds = %28926
  %28932 = load i32, ptr %678, align 4, !tbaa !5
  %28933 = call ptr @__errno_location() #12
  store i32 %28932, ptr %28933, align 4, !tbaa !5
  %28934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28935 = load i32, ptr @test_count, align 4, !tbaa !5
  %28936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28937 = load i32, ptr %28936, align 4, !tbaa !5
  %28938 = call ptr @s2n_strerror(i32 noundef %28937, ptr noundef @.str.80)
  %28939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28940 = load i32, ptr %28939, align 4, !tbaa !5
  %28941 = call ptr @s2n_strerror_debug(i32 noundef %28940, ptr noundef @.str.80)
  %28942 = call ptr @__errno_location() #12
  %28943 = load i32, ptr %28942, align 4, !tbaa !5
  %28944 = call ptr @strerror(i32 noundef %28943) #11
  %28945 = call ptr @__errno_location() #12
  %28946 = load i32, ptr %28945, align 4, !tbaa !5
  %28947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28934, ptr noundef @.str.78, i32 noundef %28935, ptr noundef @.str.290, ptr noundef @.str.77, i32 noundef 1028, ptr noundef %28938, ptr noundef %28941, ptr noundef %28944, i32 noundef %28946) #11
  br label %28965

28948:                                            ; preds = %28926, %28919
  %28949 = load i32, ptr %678, align 4, !tbaa !5
  %28950 = call ptr @__errno_location() #12
  store i32 %28949, ptr %28950, align 4, !tbaa !5
  %28951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28952 = load i32, ptr @test_count, align 4, !tbaa !5
  %28953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28954 = load i32, ptr %28953, align 4, !tbaa !5
  %28955 = call ptr @s2n_strerror(i32 noundef %28954, ptr noundef @.str.80)
  %28956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28957 = load i32, ptr %28956, align 4, !tbaa !5
  %28958 = call ptr @s2n_strerror_debug(i32 noundef %28957, ptr noundef @.str.80)
  %28959 = call ptr @__errno_location() #12
  %28960 = load i32, ptr %28959, align 4, !tbaa !5
  %28961 = call ptr @strerror(i32 noundef %28960) #11
  %28962 = call ptr @__errno_location() #12
  %28963 = load i32, ptr %28962, align 4, !tbaa !5
  %28964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28951, ptr noundef @.str.81, i32 noundef %28952, ptr noundef @.str.290, ptr noundef @.str.77, i32 noundef 1028, ptr noundef %28955, ptr noundef %28958, ptr noundef %28961, i32 noundef %28963) #11
  br label %28965

28965:                                            ; preds = %28948, %28931
  call void @llvm.lifetime.end.p0(i64 4, ptr %678) #11
  br label %28966

28966:                                            ; preds = %28965
  br label %28967

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

28968:                                            ; No predecessors!
  br label %28969

28969:                                            ; preds = %28968
  br label %28970

28970:                                            ; preds = %28969, %28912
  br label %28971

28971:                                            ; preds = %28970
  br label %28972

28972:                                            ; preds = %28971
  br label %28973

28973:                                            ; preds = %28972
  br label %28974

28974:                                            ; preds = %28973
  br label %28975

28975:                                            ; preds = %28974
  %28976 = load i32, ptr @test_count, align 4, !tbaa !5
  %28977 = add nsw i32 %28976, 1
  store i32 %28977, ptr @test_count, align 4, !tbaa !5
  %28978 = call i32 @s2n_connection_get_negotiated_psk_identity_length(ptr noundef null, ptr noundef %677)
  %28979 = icmp eq i32 %28978, -1
  br i1 %28979, label %29033, label %28980

28980:                                            ; preds = %28975
  br label %28981

28981:                                            ; preds = %28980
  br label %28982

28982:                                            ; preds = %28981
  call void @llvm.lifetime.start.p0(i64 4, ptr %679) #11
  %28983 = call ptr @__errno_location() #12
  %28984 = load i32, ptr %28983, align 4, !tbaa !5
  store i32 %28984, ptr %679, align 4, !tbaa !5
  %28985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28986 = call i32 @s2n_print_stacktrace(ptr noundef %28985)
  %28987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28988 = trunc i8 %28987 to i1
  br i1 %28988, label %28989, label %29011

28989:                                            ; preds = %28982
  %28990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28991 = call i32 @fileno(ptr noundef %28990) #11
  %28992 = call i32 @isatty(i32 noundef %28991) #11
  %28993 = icmp ne i32 %28992, 0
  br i1 %28993, label %28994, label %29011

28994:                                            ; preds = %28989
  %28995 = load i32, ptr %679, align 4, !tbaa !5
  %28996 = call ptr @__errno_location() #12
  store i32 %28995, ptr %28996, align 4, !tbaa !5
  %28997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28998 = load i32, ptr @test_count, align 4, !tbaa !5
  %28999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29000 = load i32, ptr %28999, align 4, !tbaa !5
  %29001 = call ptr @s2n_strerror(i32 noundef %29000, ptr noundef @.str.80)
  %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_debug(i32 noundef %29003, ptr noundef @.str.80)
  %29005 = call ptr @__errno_location() #12
  %29006 = load i32, ptr %29005, align 4, !tbaa !5
  %29007 = call ptr @strerror(i32 noundef %29006) #11
  %29008 = call ptr @__errno_location() #12
  %29009 = load i32, ptr %29008, align 4, !tbaa !5
  %29010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28997, ptr noundef @.str.78, i32 noundef %28998, ptr noundef @.str.331, ptr noundef @.str.77, i32 noundef 1030, ptr noundef %29001, ptr noundef %29004, ptr noundef %29007, i32 noundef %29009) #11
  br label %29028

29011:                                            ; preds = %28989, %28982
  %29012 = load i32, ptr %679, align 4, !tbaa !5
  %29013 = call ptr @__errno_location() #12
  store i32 %29012, ptr %29013, align 4, !tbaa !5
  %29014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29015 = load i32, ptr @test_count, align 4, !tbaa !5
  %29016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29017 = load i32, ptr %29016, align 4, !tbaa !5
  %29018 = call ptr @s2n_strerror(i32 noundef %29017, ptr noundef @.str.80)
  %29019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29020 = load i32, ptr %29019, align 4, !tbaa !5
  %29021 = call ptr @s2n_strerror_debug(i32 noundef %29020, ptr noundef @.str.80)
  %29022 = call ptr @__errno_location() #12
  %29023 = load i32, ptr %29022, align 4, !tbaa !5
  %29024 = call ptr @strerror(i32 noundef %29023) #11
  %29025 = call ptr @__errno_location() #12
  %29026 = load i32, ptr %29025, align 4, !tbaa !5
  %29027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29014, ptr noundef @.str.81, i32 noundef %29015, ptr noundef @.str.331, ptr noundef @.str.77, i32 noundef 1030, ptr noundef %29018, ptr noundef %29021, ptr noundef %29024, i32 noundef %29026) #11
  br label %29028

29028:                                            ; preds = %29011, %28994
  call void @llvm.lifetime.end.p0(i64 4, ptr %679) #11
  br label %29029

29029:                                            ; preds = %29028
  br label %29030

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

29031:                                            ; No predecessors!
  br label %29032

29032:                                            ; preds = %29031
  br label %29033

29033:                                            ; preds = %29032, %28975
  br label %29034

29034:                                            ; preds = %29033
  br label %29035

29035:                                            ; preds = %29034
  br label %29036

29036:                                            ; preds = %29035
  %29037 = load i32, ptr @test_count, align 4, !tbaa !5
  %29038 = add nsw i32 %29037, 1
  store i32 %29038, ptr @test_count, align 4, !tbaa !5
  %29039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29040 = load i32, ptr %29039, align 4, !tbaa !5
  %29041 = icmp eq i32 %29040, 402653193
  br i1 %29041, label %29095, label %29042

29042:                                            ; preds = %29036
  br label %29043

29043:                                            ; preds = %29042
  br label %29044

29044:                                            ; preds = %29043
  call void @llvm.lifetime.start.p0(i64 4, ptr %680) #11
  %29045 = call ptr @__errno_location() #12
  %29046 = load i32, ptr %29045, align 4, !tbaa !5
  store i32 %29046, ptr %680, align 4, !tbaa !5
  %29047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29048 = call i32 @s2n_print_stacktrace(ptr noundef %29047)
  %29049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29050 = trunc i8 %29049 to i1
  br i1 %29050, label %29051, label %29073

29051:                                            ; preds = %29044
  %29052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29053 = call i32 @fileno(ptr noundef %29052) #11
  %29054 = call i32 @isatty(i32 noundef %29053) #11
  %29055 = icmp ne i32 %29054, 0
  br i1 %29055, label %29056, label %29073

29056:                                            ; preds = %29051
  %29057 = load i32, ptr %680, align 4, !tbaa !5
  %29058 = call ptr @__errno_location() #12
  store i32 %29057, ptr %29058, align 4, !tbaa !5
  %29059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29060 = load i32, ptr @test_count, align 4, !tbaa !5
  %29061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29062 = load i32, ptr %29061, align 4, !tbaa !5
  %29063 = call ptr @s2n_strerror(i32 noundef %29062, ptr noundef @.str.80)
  %29064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29065 = load i32, ptr %29064, align 4, !tbaa !5
  %29066 = call ptr @s2n_strerror_debug(i32 noundef %29065, ptr noundef @.str.80)
  %29067 = call ptr @__errno_location() #12
  %29068 = load i32, ptr %29067, align 4, !tbaa !5
  %29069 = call ptr @strerror(i32 noundef %29068) #11
  %29070 = call ptr @__errno_location() #12
  %29071 = load i32, ptr %29070, align 4, !tbaa !5
  %29072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29059, ptr noundef @.str.78, i32 noundef %29060, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1030, ptr noundef %29063, ptr noundef %29066, ptr noundef %29069, i32 noundef %29071) #11
  br label %29090

29073:                                            ; preds = %29051, %29044
  %29074 = load i32, ptr %680, align 4, !tbaa !5
  %29075 = call ptr @__errno_location() #12
  store i32 %29074, ptr %29075, align 4, !tbaa !5
  %29076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29077 = load i32, ptr @test_count, align 4, !tbaa !5
  %29078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29079 = load i32, ptr %29078, align 4, !tbaa !5
  %29080 = call ptr @s2n_strerror(i32 noundef %29079, ptr noundef @.str.80)
  %29081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29082 = load i32, ptr %29081, align 4, !tbaa !5
  %29083 = call ptr @s2n_strerror_debug(i32 noundef %29082, ptr noundef @.str.80)
  %29084 = call ptr @__errno_location() #12
  %29085 = load i32, ptr %29084, align 4, !tbaa !5
  %29086 = call ptr @strerror(i32 noundef %29085) #11
  %29087 = call ptr @__errno_location() #12
  %29088 = load i32, ptr %29087, align 4, !tbaa !5
  %29089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29076, ptr noundef @.str.81, i32 noundef %29077, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1030, ptr noundef %29080, ptr noundef %29083, ptr noundef %29086, i32 noundef %29088) #11
  br label %29090

29090:                                            ; preds = %29073, %29056
  call void @llvm.lifetime.end.p0(i64 4, ptr %680) #11
  br label %29091

29091:                                            ; preds = %29090
  br label %29092

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

29093:                                            ; No predecessors!
  br label %29094

29094:                                            ; preds = %29093
  br label %29095

29095:                                            ; preds = %29094, %29036
  br label %29096

29096:                                            ; preds = %29095
  br label %29097

29097:                                            ; preds = %29096
  br label %29098

29098:                                            ; preds = %29097
  %29099 = load i32, ptr @test_count, align 4, !tbaa !5
  %29100 = add nsw i32 %29099, 1
  store i32 %29100, ptr @test_count, align 4, !tbaa !5
  %29101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29102 = load i32, ptr %29101, align 4, !tbaa !5
  %29103 = call ptr @s2n_strerror_debug(i32 noundef %29102, ptr noundef @.str.80)
  %29104 = icmp eq ptr %29103, null
  br i1 %29104, label %29105, label %29158

29105:                                            ; preds = %29098
  br label %29106

29106:                                            ; preds = %29105
  br label %29107

29107:                                            ; preds = %29106
  call void @llvm.lifetime.start.p0(i64 4, ptr %681) #11
  %29108 = call ptr @__errno_location() #12
  %29109 = load i32, ptr %29108, align 4, !tbaa !5
  store i32 %29109, ptr %681, align 4, !tbaa !5
  %29110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29111 = call i32 @s2n_print_stacktrace(ptr noundef %29110)
  %29112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29113 = trunc i8 %29112 to i1
  br i1 %29113, label %29114, label %29136

29114:                                            ; preds = %29107
  %29115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29116 = call i32 @fileno(ptr noundef %29115) #11
  %29117 = call i32 @isatty(i32 noundef %29116) #11
  %29118 = icmp ne i32 %29117, 0
  br i1 %29118, label %29119, label %29136

29119:                                            ; preds = %29114
  %29120 = load i32, ptr %681, align 4, !tbaa !5
  %29121 = call ptr @__errno_location() #12
  store i32 %29120, ptr %29121, align 4, !tbaa !5
  %29122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29123 = load i32, ptr @test_count, align 4, !tbaa !5
  %29124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29125 = load i32, ptr %29124, align 4, !tbaa !5
  %29126 = call ptr @s2n_strerror(i32 noundef %29125, ptr noundef @.str.80)
  %29127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29128 = load i32, ptr %29127, align 4, !tbaa !5
  %29129 = call ptr @s2n_strerror_debug(i32 noundef %29128, ptr noundef @.str.80)
  %29130 = call ptr @__errno_location() #12
  %29131 = load i32, ptr %29130, align 4, !tbaa !5
  %29132 = call ptr @strerror(i32 noundef %29131) #11
  %29133 = call ptr @__errno_location() #12
  %29134 = load i32, ptr %29133, align 4, !tbaa !5
  %29135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29122, ptr noundef @.str.78, i32 noundef %29123, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1030, ptr noundef %29126, ptr noundef %29129, ptr noundef %29132, i32 noundef %29134) #11
  br label %29153

29136:                                            ; preds = %29114, %29107
  %29137 = load i32, ptr %681, align 4, !tbaa !5
  %29138 = call ptr @__errno_location() #12
  store i32 %29137, ptr %29138, align 4, !tbaa !5
  %29139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29140 = load i32, ptr @test_count, align 4, !tbaa !5
  %29141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29142 = load i32, ptr %29141, align 4, !tbaa !5
  %29143 = call ptr @s2n_strerror(i32 noundef %29142, ptr noundef @.str.80)
  %29144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29145 = load i32, ptr %29144, align 4, !tbaa !5
  %29146 = call ptr @s2n_strerror_debug(i32 noundef %29145, ptr noundef @.str.80)
  %29147 = call ptr @__errno_location() #12
  %29148 = load i32, ptr %29147, align 4, !tbaa !5
  %29149 = call ptr @strerror(i32 noundef %29148) #11
  %29150 = call ptr @__errno_location() #12
  %29151 = load i32, ptr %29150, align 4, !tbaa !5
  %29152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29139, ptr noundef @.str.81, i32 noundef %29140, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1030, ptr noundef %29143, ptr noundef %29146, ptr noundef %29149, i32 noundef %29151) #11
  br label %29153

29153:                                            ; preds = %29136, %29119
  call void @llvm.lifetime.end.p0(i64 4, ptr %681) #11
  br label %29154

29154:                                            ; preds = %29153
  br label %29155

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

29156:                                            ; No predecessors!
  br label %29157

29157:                                            ; preds = %29156
  br label %29158

29158:                                            ; preds = %29157, %29098
  br label %29159

29159:                                            ; preds = %29158
  br label %29160

29160:                                            ; preds = %29159
  br label %29161

29161:                                            ; preds = %29160
  br label %29162

29162:                                            ; preds = %29161
  br label %29163

29163:                                            ; preds = %29162
  %29164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %29164, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %29165 = call ptr @__errno_location() #12
  store i32 0, ptr %29165, align 4, !tbaa !5
  br label %29166

29166:                                            ; preds = %29163
  br label %29167

29167:                                            ; preds = %29166
  br label %29168

29168:                                            ; preds = %29167
  br label %29169

29169:                                            ; preds = %29168
  br label %29170

29170:                                            ; preds = %29169
  br label %29171

29171:                                            ; preds = %29170
  br label %29172

29172:                                            ; preds = %29171
  %29173 = load i32, ptr @test_count, align 4, !tbaa !5
  %29174 = add nsw i32 %29173, 1
  store i32 %29174, ptr @test_count, align 4, !tbaa !5
  %29175 = load ptr, ptr %676, align 8, !tbaa !9
  %29176 = call i32 @s2n_connection_get_negotiated_psk_identity_length(ptr noundef %29175, ptr noundef null)
  %29177 = icmp eq i32 %29176, -1
  br i1 %29177, label %29231, label %29178

29178:                                            ; preds = %29172
  br label %29179

29179:                                            ; preds = %29178
  br label %29180

29180:                                            ; preds = %29179
  call void @llvm.lifetime.start.p0(i64 4, ptr %682) #11
  %29181 = call ptr @__errno_location() #12
  %29182 = load i32, ptr %29181, align 4, !tbaa !5
  store i32 %29182, ptr %682, align 4, !tbaa !5
  %29183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29184 = call i32 @s2n_print_stacktrace(ptr noundef %29183)
  %29185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29186 = trunc i8 %29185 to i1
  br i1 %29186, label %29187, label %29209

29187:                                            ; preds = %29180
  %29188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29189 = call i32 @fileno(ptr noundef %29188) #11
  %29190 = call i32 @isatty(i32 noundef %29189) #11
  %29191 = icmp ne i32 %29190, 0
  br i1 %29191, label %29192, label %29209

29192:                                            ; preds = %29187
  %29193 = load i32, ptr %682, align 4, !tbaa !5
  %29194 = call ptr @__errno_location() #12
  store i32 %29193, ptr %29194, align 4, !tbaa !5
  %29195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29196 = load i32, ptr @test_count, align 4, !tbaa !5
  %29197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29198 = load i32, ptr %29197, align 4, !tbaa !5
  %29199 = call ptr @s2n_strerror(i32 noundef %29198, ptr noundef @.str.80)
  %29200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29201 = load i32, ptr %29200, align 4, !tbaa !5
  %29202 = call ptr @s2n_strerror_debug(i32 noundef %29201, ptr noundef @.str.80)
  %29203 = call ptr @__errno_location() #12
  %29204 = load i32, ptr %29203, align 4, !tbaa !5
  %29205 = call ptr @strerror(i32 noundef %29204) #11
  %29206 = call ptr @__errno_location() #12
  %29207 = load i32, ptr %29206, align 4, !tbaa !5
  %29208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29195, ptr noundef @.str.78, i32 noundef %29196, ptr noundef @.str.332, ptr noundef @.str.77, i32 noundef 1031, ptr noundef %29199, ptr noundef %29202, ptr noundef %29205, i32 noundef %29207) #11
  br label %29226

29209:                                            ; preds = %29187, %29180
  %29210 = load i32, ptr %682, align 4, !tbaa !5
  %29211 = call ptr @__errno_location() #12
  store i32 %29210, ptr %29211, align 4, !tbaa !5
  %29212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29213 = load i32, ptr @test_count, align 4, !tbaa !5
  %29214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29215 = load i32, ptr %29214, align 4, !tbaa !5
  %29216 = call ptr @s2n_strerror(i32 noundef %29215, ptr noundef @.str.80)
  %29217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29218 = load i32, ptr %29217, align 4, !tbaa !5
  %29219 = call ptr @s2n_strerror_debug(i32 noundef %29218, ptr noundef @.str.80)
  %29220 = call ptr @__errno_location() #12
  %29221 = load i32, ptr %29220, align 4, !tbaa !5
  %29222 = call ptr @strerror(i32 noundef %29221) #11
  %29223 = call ptr @__errno_location() #12
  %29224 = load i32, ptr %29223, align 4, !tbaa !5
  %29225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29212, ptr noundef @.str.81, i32 noundef %29213, ptr noundef @.str.332, ptr noundef @.str.77, i32 noundef 1031, ptr noundef %29216, ptr noundef %29219, ptr noundef %29222, i32 noundef %29224) #11
  br label %29226

29226:                                            ; preds = %29209, %29192
  call void @llvm.lifetime.end.p0(i64 4, ptr %682) #11
  br label %29227

29227:                                            ; preds = %29226
  br label %29228

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

29229:                                            ; No predecessors!
  br label %29230

29230:                                            ; preds = %29229
  br label %29231

29231:                                            ; preds = %29230, %29172
  br label %29232

29232:                                            ; preds = %29231
  br label %29233

29233:                                            ; preds = %29232
  br label %29234

29234:                                            ; preds = %29233
  %29235 = load i32, ptr @test_count, align 4, !tbaa !5
  %29236 = add nsw i32 %29235, 1
  store i32 %29236, ptr @test_count, align 4, !tbaa !5
  %29237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29238 = load i32, ptr %29237, align 4, !tbaa !5
  %29239 = icmp eq i32 %29238, 402653193
  br i1 %29239, label %29293, label %29240

29240:                                            ; preds = %29234
  br label %29241

29241:                                            ; preds = %29240
  br label %29242

29242:                                            ; preds = %29241
  call void @llvm.lifetime.start.p0(i64 4, ptr %683) #11
  %29243 = call ptr @__errno_location() #12
  %29244 = load i32, ptr %29243, align 4, !tbaa !5
  store i32 %29244, ptr %683, align 4, !tbaa !5
  %29245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29246 = call i32 @s2n_print_stacktrace(ptr noundef %29245)
  %29247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29248 = trunc i8 %29247 to i1
  br i1 %29248, label %29249, label %29271

29249:                                            ; preds = %29242
  %29250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29251 = call i32 @fileno(ptr noundef %29250) #11
  %29252 = call i32 @isatty(i32 noundef %29251) #11
  %29253 = icmp ne i32 %29252, 0
  br i1 %29253, label %29254, label %29271

29254:                                            ; preds = %29249
  %29255 = load i32, ptr %683, 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.80)
  %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.80)
  %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.78, i32 noundef %29258, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1031, ptr noundef %29261, ptr noundef %29264, ptr noundef %29267, i32 noundef %29269) #11
  br label %29288

29271:                                            ; preds = %29249, %29242
  %29272 = load i32, ptr %683, align 4, !tbaa !5
  %29273 = call ptr @__errno_location() #12
  store i32 %29272, ptr %29273, align 4, !tbaa !5
  %29274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29275 = load i32, ptr @test_count, align 4, !tbaa !5
  %29276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29277 = load i32, ptr %29276, align 4, !tbaa !5
  %29278 = call ptr @s2n_strerror(i32 noundef %29277, ptr noundef @.str.80)
  %29279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29280 = load i32, ptr %29279, align 4, !tbaa !5
  %29281 = call ptr @s2n_strerror_debug(i32 noundef %29280, ptr noundef @.str.80)
  %29282 = call ptr @__errno_location() #12
  %29283 = load i32, ptr %29282, align 4, !tbaa !5
  %29284 = call ptr @strerror(i32 noundef %29283) #11
  %29285 = call ptr @__errno_location() #12
  %29286 = load i32, ptr %29285, align 4, !tbaa !5
  %29287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29274, ptr noundef @.str.81, i32 noundef %29275, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1031, ptr noundef %29278, ptr noundef %29281, ptr noundef %29284, i32 noundef %29286) #11
  br label %29288

29288:                                            ; preds = %29271, %29254
  call void @llvm.lifetime.end.p0(i64 4, ptr %683) #11
  br label %29289

29289:                                            ; preds = %29288
  br label %29290

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

29291:                                            ; No predecessors!
  br label %29292

29292:                                            ; preds = %29291
  br label %29293

29293:                                            ; preds = %29292, %29234
  br label %29294

29294:                                            ; preds = %29293
  br label %29295

29295:                                            ; preds = %29294
  br label %29296

29296:                                            ; preds = %29295
  %29297 = load i32, ptr @test_count, align 4, !tbaa !5
  %29298 = add nsw i32 %29297, 1
  store i32 %29298, ptr @test_count, align 4, !tbaa !5
  %29299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29300 = load i32, ptr %29299, align 4, !tbaa !5
  %29301 = call ptr @s2n_strerror_debug(i32 noundef %29300, ptr noundef @.str.80)
  %29302 = icmp eq ptr %29301, null
  br i1 %29302, label %29303, label %29356

29303:                                            ; preds = %29296
  br label %29304

29304:                                            ; preds = %29303
  br label %29305

29305:                                            ; preds = %29304
  call void @llvm.lifetime.start.p0(i64 4, ptr %684) #11
  %29306 = call ptr @__errno_location() #12
  %29307 = load i32, ptr %29306, align 4, !tbaa !5
  store i32 %29307, ptr %684, align 4, !tbaa !5
  %29308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29309 = call i32 @s2n_print_stacktrace(ptr noundef %29308)
  %29310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29311 = trunc i8 %29310 to i1
  br i1 %29311, label %29312, label %29334

29312:                                            ; preds = %29305
  %29313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29314 = call i32 @fileno(ptr noundef %29313) #11
  %29315 = call i32 @isatty(i32 noundef %29314) #11
  %29316 = icmp ne i32 %29315, 0
  br i1 %29316, label %29317, label %29334

29317:                                            ; preds = %29312
  %29318 = load i32, ptr %684, align 4, !tbaa !5
  %29319 = call ptr @__errno_location() #12
  store i32 %29318, ptr %29319, align 4, !tbaa !5
  %29320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29321 = load i32, ptr @test_count, align 4, !tbaa !5
  %29322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29323 = load i32, ptr %29322, align 4, !tbaa !5
  %29324 = call ptr @s2n_strerror(i32 noundef %29323, ptr noundef @.str.80)
  %29325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29326 = load i32, ptr %29325, align 4, !tbaa !5
  %29327 = call ptr @s2n_strerror_debug(i32 noundef %29326, ptr noundef @.str.80)
  %29328 = call ptr @__errno_location() #12
  %29329 = load i32, ptr %29328, align 4, !tbaa !5
  %29330 = call ptr @strerror(i32 noundef %29329) #11
  %29331 = call ptr @__errno_location() #12
  %29332 = load i32, ptr %29331, align 4, !tbaa !5
  %29333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29320, ptr noundef @.str.78, i32 noundef %29321, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1031, ptr noundef %29324, ptr noundef %29327, ptr noundef %29330, i32 noundef %29332) #11
  br label %29351

29334:                                            ; preds = %29312, %29305
  %29335 = load i32, ptr %684, align 4, !tbaa !5
  %29336 = call ptr @__errno_location() #12
  store i32 %29335, ptr %29336, align 4, !tbaa !5
  %29337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29338 = load i32, ptr @test_count, align 4, !tbaa !5
  %29339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29340 = load i32, ptr %29339, align 4, !tbaa !5
  %29341 = call ptr @s2n_strerror(i32 noundef %29340, ptr noundef @.str.80)
  %29342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29343 = load i32, ptr %29342, align 4, !tbaa !5
  %29344 = call ptr @s2n_strerror_debug(i32 noundef %29343, ptr noundef @.str.80)
  %29345 = call ptr @__errno_location() #12
  %29346 = load i32, ptr %29345, align 4, !tbaa !5
  %29347 = call ptr @strerror(i32 noundef %29346) #11
  %29348 = call ptr @__errno_location() #12
  %29349 = load i32, ptr %29348, align 4, !tbaa !5
  %29350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29337, ptr noundef @.str.81, i32 noundef %29338, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1031, ptr noundef %29341, ptr noundef %29344, ptr noundef %29347, i32 noundef %29349) #11
  br label %29351

29351:                                            ; preds = %29334, %29317
  call void @llvm.lifetime.end.p0(i64 4, ptr %684) #11
  br label %29352

29352:                                            ; preds = %29351
  br label %29353

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

29354:                                            ; No predecessors!
  br label %29355

29355:                                            ; preds = %29354
  br label %29356

29356:                                            ; preds = %29355, %29296
  br label %29357

29357:                                            ; preds = %29356
  br label %29358

29358:                                            ; preds = %29357
  br label %29359

29359:                                            ; preds = %29358
  br label %29360

29360:                                            ; preds = %29359
  br label %29361

29361:                                            ; preds = %29360
  %29362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %29362, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %29363 = call ptr @__errno_location() #12
  store i32 0, ptr %29363, align 4, !tbaa !5
  br label %29364

29364:                                            ; preds = %29361
  br label %29365

29365:                                            ; preds = %29364
  br label %29366

29366:                                            ; preds = %29365
  br label %29367

29367:                                            ; preds = %29366
  br label %29368

29368:                                            ; preds = %29367
  %29369 = load i32, ptr @test_count, align 4, !tbaa !5
  %29370 = add nsw i32 %29369, 1
  store i32 %29370, ptr @test_count, align 4, !tbaa !5
  %29371 = load ptr, ptr %676, align 8, !tbaa !9
  %29372 = getelementptr inbounds %struct.s2n_connection, ptr %29371, i32 0, i32 33
  %29373 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %29372, i32 0, i32 4
  %29374 = load ptr, ptr %29373, align 8, !tbaa !65
  %29375 = icmp eq ptr %29374, null
  br i1 %29375, label %29429, label %29376

29376:                                            ; preds = %29368
  br label %29377

29377:                                            ; preds = %29376
  br label %29378

29378:                                            ; preds = %29377
  call void @llvm.lifetime.start.p0(i64 4, ptr %685) #11
  %29379 = call ptr @__errno_location() #12
  %29380 = load i32, ptr %29379, align 4, !tbaa !5
  store i32 %29380, ptr %685, align 4, !tbaa !5
  %29381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29382 = call i32 @s2n_print_stacktrace(ptr noundef %29381)
  %29383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29384 = trunc i8 %29383 to i1
  br i1 %29384, label %29385, label %29407

29385:                                            ; preds = %29378
  %29386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29387 = call i32 @fileno(ptr noundef %29386) #11
  %29388 = call i32 @isatty(i32 noundef %29387) #11
  %29389 = icmp ne i32 %29388, 0
  br i1 %29389, label %29390, label %29407

29390:                                            ; preds = %29385
  %29391 = load i32, ptr %685, align 4, !tbaa !5
  %29392 = call ptr @__errno_location() #12
  store i32 %29391, ptr %29392, align 4, !tbaa !5
  %29393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29394 = load i32, ptr @test_count, align 4, !tbaa !5
  %29395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29396 = load i32, ptr %29395, align 4, !tbaa !5
  %29397 = call ptr @s2n_strerror(i32 noundef %29396, ptr noundef @.str.80)
  %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_debug(i32 noundef %29399, ptr noundef @.str.80)
  %29401 = call ptr @__errno_location() #12
  %29402 = load i32, ptr %29401, align 4, !tbaa !5
  %29403 = call ptr @strerror(i32 noundef %29402) #11
  %29404 = call ptr @__errno_location() #12
  %29405 = load i32, ptr %29404, align 4, !tbaa !5
  %29406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29393, ptr noundef @.str.78, i32 noundef %29394, ptr noundef @.str.333, ptr noundef @.str.77, i32 noundef 1033, ptr noundef %29397, ptr noundef %29400, ptr noundef %29403, i32 noundef %29405) #11
  br label %29424

29407:                                            ; preds = %29385, %29378
  %29408 = load i32, ptr %685, align 4, !tbaa !5
  %29409 = call ptr @__errno_location() #12
  store i32 %29408, ptr %29409, align 4, !tbaa !5
  %29410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29411 = load i32, ptr @test_count, align 4, !tbaa !5
  %29412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29413 = load i32, ptr %29412, align 4, !tbaa !5
  %29414 = call ptr @s2n_strerror(i32 noundef %29413, ptr noundef @.str.80)
  %29415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29416 = load i32, ptr %29415, align 4, !tbaa !5
  %29417 = call ptr @s2n_strerror_debug(i32 noundef %29416, ptr noundef @.str.80)
  %29418 = call ptr @__errno_location() #12
  %29419 = load i32, ptr %29418, align 4, !tbaa !5
  %29420 = call ptr @strerror(i32 noundef %29419) #11
  %29421 = call ptr @__errno_location() #12
  %29422 = load i32, ptr %29421, align 4, !tbaa !5
  %29423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29410, ptr noundef @.str.81, i32 noundef %29411, ptr noundef @.str.333, ptr noundef @.str.77, i32 noundef 1033, ptr noundef %29414, ptr noundef %29417, ptr noundef %29420, i32 noundef %29422) #11
  br label %29424

29424:                                            ; preds = %29407, %29390
  call void @llvm.lifetime.end.p0(i64 4, ptr %685) #11
  br label %29425

29425:                                            ; preds = %29424
  br label %29426

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

29427:                                            ; No predecessors!
  br label %29428

29428:                                            ; preds = %29427
  br label %29429

29429:                                            ; preds = %29428, %29368
  br label %29430

29430:                                            ; preds = %29429
  br label %29431

29431:                                            ; preds = %29430
  br label %29432

29432:                                            ; preds = %29431
  %29433 = load i32, ptr @test_count, align 4, !tbaa !5
  %29434 = add nsw i32 %29433, 1
  store i32 %29434, ptr @test_count, align 4, !tbaa !5
  %29435 = load ptr, ptr %676, align 8, !tbaa !9
  %29436 = call i32 @s2n_connection_get_negotiated_psk_identity_length(ptr noundef %29435, ptr noundef %677)
  %29437 = icmp eq i32 %29436, -1
  br i1 %29437, label %29438, label %29491

29438:                                            ; preds = %29432
  br label %29439

29439:                                            ; preds = %29438
  br label %29440

29440:                                            ; preds = %29439
  call void @llvm.lifetime.start.p0(i64 4, ptr %686) #11
  %29441 = call ptr @__errno_location() #12
  %29442 = load i32, ptr %29441, align 4, !tbaa !5
  store i32 %29442, ptr %686, align 4, !tbaa !5
  %29443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29444 = call i32 @s2n_print_stacktrace(ptr noundef %29443)
  %29445 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29446 = trunc i8 %29445 to i1
  br i1 %29446, label %29447, label %29469

29447:                                            ; preds = %29440
  %29448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29449 = call i32 @fileno(ptr noundef %29448) #11
  %29450 = call i32 @isatty(i32 noundef %29449) #11
  %29451 = icmp ne i32 %29450, 0
  br i1 %29451, label %29452, label %29469

29452:                                            ; preds = %29447
  %29453 = load i32, ptr %686, align 4, !tbaa !5
  %29454 = call ptr @__errno_location() #12
  store i32 %29453, ptr %29454, align 4, !tbaa !5
  %29455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29456 = load i32, ptr @test_count, align 4, !tbaa !5
  %29457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29458 = load i32, ptr %29457, align 4, !tbaa !5
  %29459 = call ptr @s2n_strerror(i32 noundef %29458, ptr noundef @.str.80)
  %29460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29461 = load i32, ptr %29460, align 4, !tbaa !5
  %29462 = call ptr @s2n_strerror_debug(i32 noundef %29461, ptr noundef @.str.80)
  %29463 = call ptr @__errno_location() #12
  %29464 = load i32, ptr %29463, align 4, !tbaa !5
  %29465 = call ptr @strerror(i32 noundef %29464) #11
  %29466 = call ptr @__errno_location() #12
  %29467 = load i32, ptr %29466, align 4, !tbaa !5
  %29468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29455, ptr noundef @.str.78, i32 noundef %29456, ptr noundef @.str.334, ptr noundef @.str.77, i32 noundef 1034, ptr noundef %29459, ptr noundef %29462, ptr noundef %29465, i32 noundef %29467) #11
  br label %29486

29469:                                            ; preds = %29447, %29440
  %29470 = load i32, ptr %686, align 4, !tbaa !5
  %29471 = call ptr @__errno_location() #12
  store i32 %29470, ptr %29471, align 4, !tbaa !5
  %29472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29473 = load i32, ptr @test_count, align 4, !tbaa !5
  %29474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29475 = load i32, ptr %29474, align 4, !tbaa !5
  %29476 = call ptr @s2n_strerror(i32 noundef %29475, ptr noundef @.str.80)
  %29477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29478 = load i32, ptr %29477, align 4, !tbaa !5
  %29479 = call ptr @s2n_strerror_debug(i32 noundef %29478, ptr noundef @.str.80)
  %29480 = call ptr @__errno_location() #12
  %29481 = load i32, ptr %29480, align 4, !tbaa !5
  %29482 = call ptr @strerror(i32 noundef %29481) #11
  %29483 = call ptr @__errno_location() #12
  %29484 = load i32, ptr %29483, align 4, !tbaa !5
  %29485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29472, ptr noundef @.str.81, i32 noundef %29473, ptr noundef @.str.334, ptr noundef @.str.77, i32 noundef 1034, ptr noundef %29476, ptr noundef %29479, ptr noundef %29482, i32 noundef %29484) #11
  br label %29486

29486:                                            ; preds = %29469, %29452
  call void @llvm.lifetime.end.p0(i64 4, ptr %686) #11
  br label %29487

29487:                                            ; preds = %29486
  br label %29488

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

29489:                                            ; No predecessors!
  br label %29490

29490:                                            ; preds = %29489
  br label %29491

29491:                                            ; preds = %29490, %29432
  br label %29492

29492:                                            ; preds = %29491
  br label %29493

29493:                                            ; preds = %29492
  br label %29494

29494:                                            ; preds = %29493
  %29495 = load i32, ptr @test_count, align 4, !tbaa !5
  %29496 = add nsw i32 %29495, 1
  store i32 %29496, ptr @test_count, align 4, !tbaa !5
  %29497 = load i16, ptr %677, align 2, !tbaa !66
  %29498 = zext i16 %29497 to i32
  %29499 = icmp eq i32 %29498, 0
  br i1 %29499, label %29553, label %29500

29500:                                            ; preds = %29494
  br label %29501

29501:                                            ; preds = %29500
  br label %29502

29502:                                            ; preds = %29501
  call void @llvm.lifetime.start.p0(i64 4, ptr %687) #11
  %29503 = call ptr @__errno_location() #12
  %29504 = load i32, ptr %29503, align 4, !tbaa !5
  store i32 %29504, ptr %687, align 4, !tbaa !5
  %29505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29506 = call i32 @s2n_print_stacktrace(ptr noundef %29505)
  %29507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29508 = trunc i8 %29507 to i1
  br i1 %29508, label %29509, label %29531

29509:                                            ; preds = %29502
  %29510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29511 = call i32 @fileno(ptr noundef %29510) #11
  %29512 = call i32 @isatty(i32 noundef %29511) #11
  %29513 = icmp ne i32 %29512, 0
  br i1 %29513, label %29514, label %29531

29514:                                            ; preds = %29509
  %29515 = load i32, ptr %687, align 4, !tbaa !5
  %29516 = call ptr @__errno_location() #12
  store i32 %29515, ptr %29516, align 4, !tbaa !5
  %29517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29518 = load i32, ptr @test_count, align 4, !tbaa !5
  %29519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29520 = load i32, ptr %29519, align 4, !tbaa !5
  %29521 = call ptr @s2n_strerror(i32 noundef %29520, ptr noundef @.str.80)
  %29522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29523 = load i32, ptr %29522, align 4, !tbaa !5
  %29524 = call ptr @s2n_strerror_debug(i32 noundef %29523, ptr noundef @.str.80)
  %29525 = call ptr @__errno_location() #12
  %29526 = load i32, ptr %29525, align 4, !tbaa !5
  %29527 = call ptr @strerror(i32 noundef %29526) #11
  %29528 = call ptr @__errno_location() #12
  %29529 = load i32, ptr %29528, align 4, !tbaa !5
  %29530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29517, ptr noundef @.str.78, i32 noundef %29518, ptr noundef @.str.335, ptr noundef @.str.77, i32 noundef 1035, ptr noundef %29521, ptr noundef %29524, ptr noundef %29527, i32 noundef %29529) #11
  br label %29548

29531:                                            ; preds = %29509, %29502
  %29532 = load i32, ptr %687, align 4, !tbaa !5
  %29533 = call ptr @__errno_location() #12
  store i32 %29532, ptr %29533, align 4, !tbaa !5
  %29534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29535 = load i32, ptr @test_count, align 4, !tbaa !5
  %29536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29537 = load i32, ptr %29536, align 4, !tbaa !5
  %29538 = call ptr @s2n_strerror(i32 noundef %29537, ptr noundef @.str.80)
  %29539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29540 = load i32, ptr %29539, align 4, !tbaa !5
  %29541 = call ptr @s2n_strerror_debug(i32 noundef %29540, ptr noundef @.str.80)
  %29542 = call ptr @__errno_location() #12
  %29543 = load i32, ptr %29542, align 4, !tbaa !5
  %29544 = call ptr @strerror(i32 noundef %29543) #11
  %29545 = call ptr @__errno_location() #12
  %29546 = load i32, ptr %29545, align 4, !tbaa !5
  %29547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29534, ptr noundef @.str.81, i32 noundef %29535, ptr noundef @.str.335, ptr noundef @.str.77, i32 noundef 1035, ptr noundef %29538, ptr noundef %29541, ptr noundef %29544, i32 noundef %29546) #11
  br label %29548

29548:                                            ; preds = %29531, %29514
  call void @llvm.lifetime.end.p0(i64 4, ptr %687) #11
  br label %29549

29549:                                            ; preds = %29548
  br label %29550

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

29551:                                            ; No predecessors!
  br label %29552

29552:                                            ; preds = %29551
  br label %29553

29553:                                            ; preds = %29552, %29494
  br label %29554

29554:                                            ; preds = %29553
  br label %29555

29555:                                            ; preds = %29554
  call void @llvm.lifetime.start.p0(i64 8, ptr %688) #11
  %29556 = call ptr @s2n_external_psk_new()
  store ptr %29556, ptr %688, align 8, !tbaa !9
  br label %29557

29557:                                            ; preds = %29555
  %29558 = load i32, ptr @test_count, align 4, !tbaa !5
  %29559 = add nsw i32 %29558, 1
  store i32 %29559, ptr @test_count, align 4, !tbaa !5
  %29560 = load ptr, ptr %688, align 8, !tbaa !9
  %29561 = getelementptr inbounds [9 x i8], ptr %675, i64 0, i64 0
  %29562 = call i32 @s2n_psk_set_identity(ptr noundef %29560, ptr noundef %29561, i16 noundef zeroext 9)
  %29563 = icmp eq i32 %29562, -1
  br i1 %29563, label %29564, label %29617

29564:                                            ; preds = %29557
  br label %29565

29565:                                            ; preds = %29564
  br label %29566

29566:                                            ; preds = %29565
  call void @llvm.lifetime.start.p0(i64 4, ptr %689) #11
  %29567 = call ptr @__errno_location() #12
  %29568 = load i32, ptr %29567, align 4, !tbaa !5
  store i32 %29568, ptr %689, align 4, !tbaa !5
  %29569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29570 = call i32 @s2n_print_stacktrace(ptr noundef %29569)
  %29571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29572 = trunc i8 %29571 to i1
  br i1 %29572, label %29573, label %29595

29573:                                            ; preds = %29566
  %29574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29575 = call i32 @fileno(ptr noundef %29574) #11
  %29576 = call i32 @isatty(i32 noundef %29575) #11
  %29577 = icmp ne i32 %29576, 0
  br i1 %29577, label %29578, label %29595

29578:                                            ; preds = %29573
  %29579 = load i32, ptr %689, align 4, !tbaa !5
  %29580 = call ptr @__errno_location() #12
  store i32 %29579, ptr %29580, align 4, !tbaa !5
  %29581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29582 = load i32, ptr @test_count, align 4, !tbaa !5
  %29583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29584 = load i32, ptr %29583, align 4, !tbaa !5
  %29585 = call ptr @s2n_strerror(i32 noundef %29584, ptr noundef @.str.80)
  %29586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29587 = load i32, ptr %29586, align 4, !tbaa !5
  %29588 = call ptr @s2n_strerror_debug(i32 noundef %29587, ptr noundef @.str.80)
  %29589 = call ptr @__errno_location() #12
  %29590 = load i32, ptr %29589, align 4, !tbaa !5
  %29591 = call ptr @strerror(i32 noundef %29590) #11
  %29592 = call ptr @__errno_location() #12
  %29593 = load i32, ptr %29592, align 4, !tbaa !5
  %29594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29581, ptr noundef @.str.78, i32 noundef %29582, ptr noundef @.str.336, ptr noundef @.str.77, i32 noundef 1038, ptr noundef %29585, ptr noundef %29588, ptr noundef %29591, i32 noundef %29593) #11
  br label %29612

29595:                                            ; preds = %29573, %29566
  %29596 = load i32, ptr %689, align 4, !tbaa !5
  %29597 = call ptr @__errno_location() #12
  store i32 %29596, ptr %29597, align 4, !tbaa !5
  %29598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29599 = load i32, ptr @test_count, align 4, !tbaa !5
  %29600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29601 = load i32, ptr %29600, align 4, !tbaa !5
  %29602 = call ptr @s2n_strerror(i32 noundef %29601, ptr noundef @.str.80)
  %29603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29604 = load i32, ptr %29603, align 4, !tbaa !5
  %29605 = call ptr @s2n_strerror_debug(i32 noundef %29604, ptr noundef @.str.80)
  %29606 = call ptr @__errno_location() #12
  %29607 = load i32, ptr %29606, align 4, !tbaa !5
  %29608 = call ptr @strerror(i32 noundef %29607) #11
  %29609 = call ptr @__errno_location() #12
  %29610 = load i32, ptr %29609, align 4, !tbaa !5
  %29611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29598, ptr noundef @.str.81, i32 noundef %29599, ptr noundef @.str.336, ptr noundef @.str.77, i32 noundef 1038, ptr noundef %29602, ptr noundef %29605, ptr noundef %29608, i32 noundef %29610) #11
  br label %29612

29612:                                            ; preds = %29595, %29578
  call void @llvm.lifetime.end.p0(i64 4, ptr %689) #11
  br label %29613

29613:                                            ; preds = %29612
  br label %29614

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

29615:                                            ; No predecessors!
  br label %29616

29616:                                            ; preds = %29615
  br label %29617

29617:                                            ; preds = %29616, %29557
  br label %29618

29618:                                            ; preds = %29617
  br label %29619

29619:                                            ; preds = %29618
  %29620 = load ptr, ptr %688, align 8, !tbaa !9
  %29621 = load ptr, ptr %676, align 8, !tbaa !9
  %29622 = getelementptr inbounds %struct.s2n_connection, ptr %29621, i32 0, i32 33
  %29623 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %29622, i32 0, i32 4
  store ptr %29620, ptr %29623, align 8, !tbaa !65
  br label %29624

29624:                                            ; preds = %29619
  %29625 = load i32, ptr @test_count, align 4, !tbaa !5
  %29626 = add nsw i32 %29625, 1
  store i32 %29626, ptr @test_count, align 4, !tbaa !5
  %29627 = load ptr, ptr %676, align 8, !tbaa !9
  %29628 = call i32 @s2n_connection_get_negotiated_psk_identity_length(ptr noundef %29627, ptr noundef %677)
  %29629 = icmp eq i32 %29628, -1
  br i1 %29629, label %29630, label %29683

29630:                                            ; preds = %29624
  br label %29631

29631:                                            ; preds = %29630
  br label %29632

29632:                                            ; preds = %29631
  call void @llvm.lifetime.start.p0(i64 4, ptr %690) #11
  %29633 = call ptr @__errno_location() #12
  %29634 = load i32, ptr %29633, align 4, !tbaa !5
  store i32 %29634, ptr %690, align 4, !tbaa !5
  %29635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29636 = call i32 @s2n_print_stacktrace(ptr noundef %29635)
  %29637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29638 = trunc i8 %29637 to i1
  br i1 %29638, label %29639, label %29661

29639:                                            ; preds = %29632
  %29640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29641 = call i32 @fileno(ptr noundef %29640) #11
  %29642 = call i32 @isatty(i32 noundef %29641) #11
  %29643 = icmp ne i32 %29642, 0
  br i1 %29643, label %29644, label %29661

29644:                                            ; preds = %29639
  %29645 = load i32, ptr %690, align 4, !tbaa !5
  %29646 = call ptr @__errno_location() #12
  store i32 %29645, ptr %29646, align 4, !tbaa !5
  %29647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29648 = load i32, ptr @test_count, align 4, !tbaa !5
  %29649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29650 = load i32, ptr %29649, align 4, !tbaa !5
  %29651 = call ptr @s2n_strerror(i32 noundef %29650, ptr noundef @.str.80)
  %29652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29653 = load i32, ptr %29652, align 4, !tbaa !5
  %29654 = call ptr @s2n_strerror_debug(i32 noundef %29653, ptr noundef @.str.80)
  %29655 = call ptr @__errno_location() #12
  %29656 = load i32, ptr %29655, align 4, !tbaa !5
  %29657 = call ptr @strerror(i32 noundef %29656) #11
  %29658 = call ptr @__errno_location() #12
  %29659 = load i32, ptr %29658, align 4, !tbaa !5
  %29660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29647, ptr noundef @.str.78, i32 noundef %29648, ptr noundef @.str.334, ptr noundef @.str.77, i32 noundef 1040, ptr noundef %29651, ptr noundef %29654, ptr noundef %29657, i32 noundef %29659) #11
  br label %29678

29661:                                            ; preds = %29639, %29632
  %29662 = load i32, ptr %690, align 4, !tbaa !5
  %29663 = call ptr @__errno_location() #12
  store i32 %29662, ptr %29663, align 4, !tbaa !5
  %29664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29665 = load i32, ptr @test_count, align 4, !tbaa !5
  %29666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29667 = load i32, ptr %29666, align 4, !tbaa !5
  %29668 = call ptr @s2n_strerror(i32 noundef %29667, ptr noundef @.str.80)
  %29669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29670 = load i32, ptr %29669, align 4, !tbaa !5
  %29671 = call ptr @s2n_strerror_debug(i32 noundef %29670, ptr noundef @.str.80)
  %29672 = call ptr @__errno_location() #12
  %29673 = load i32, ptr %29672, align 4, !tbaa !5
  %29674 = call ptr @strerror(i32 noundef %29673) #11
  %29675 = call ptr @__errno_location() #12
  %29676 = load i32, ptr %29675, align 4, !tbaa !5
  %29677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29664, ptr noundef @.str.81, i32 noundef %29665, ptr noundef @.str.334, ptr noundef @.str.77, i32 noundef 1040, ptr noundef %29668, ptr noundef %29671, ptr noundef %29674, i32 noundef %29676) #11
  br label %29678

29678:                                            ; preds = %29661, %29644
  call void @llvm.lifetime.end.p0(i64 4, ptr %690) #11
  br label %29679

29679:                                            ; preds = %29678
  br label %29680

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

29681:                                            ; No predecessors!
  br label %29682

29682:                                            ; preds = %29681
  br label %29683

29683:                                            ; preds = %29682, %29624
  br label %29684

29684:                                            ; preds = %29683
  br label %29685

29685:                                            ; preds = %29684
  br label %29686

29686:                                            ; preds = %29685
  %29687 = load i32, ptr @test_count, align 4, !tbaa !5
  %29688 = add nsw i32 %29687, 1
  store i32 %29688, ptr @test_count, align 4, !tbaa !5
  %29689 = load i16, ptr %677, align 2, !tbaa !66
  %29690 = zext i16 %29689 to i64
  %29691 = icmp eq i64 %29690, 9
  br i1 %29691, label %29745, label %29692

29692:                                            ; preds = %29686
  br label %29693

29693:                                            ; preds = %29692
  br label %29694

29694:                                            ; preds = %29693
  call void @llvm.lifetime.start.p0(i64 4, ptr %691) #11
  %29695 = call ptr @__errno_location() #12
  %29696 = load i32, ptr %29695, align 4, !tbaa !5
  store i32 %29696, ptr %691, align 4, !tbaa !5
  %29697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29698 = call i32 @s2n_print_stacktrace(ptr noundef %29697)
  %29699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29700 = trunc i8 %29699 to i1
  br i1 %29700, label %29701, label %29723

29701:                                            ; preds = %29694
  %29702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29703 = call i32 @fileno(ptr noundef %29702) #11
  %29704 = call i32 @isatty(i32 noundef %29703) #11
  %29705 = icmp ne i32 %29704, 0
  br i1 %29705, label %29706, label %29723

29706:                                            ; preds = %29701
  %29707 = load i32, ptr %691, align 4, !tbaa !5
  %29708 = call ptr @__errno_location() #12
  store i32 %29707, ptr %29708, align 4, !tbaa !5
  %29709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29710 = load i32, ptr @test_count, align 4, !tbaa !5
  %29711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29712 = load i32, ptr %29711, align 4, !tbaa !5
  %29713 = call ptr @s2n_strerror(i32 noundef %29712, ptr noundef @.str.80)
  %29714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29715 = load i32, ptr %29714, align 4, !tbaa !5
  %29716 = call ptr @s2n_strerror_debug(i32 noundef %29715, ptr noundef @.str.80)
  %29717 = call ptr @__errno_location() #12
  %29718 = load i32, ptr %29717, align 4, !tbaa !5
  %29719 = call ptr @strerror(i32 noundef %29718) #11
  %29720 = call ptr @__errno_location() #12
  %29721 = load i32, ptr %29720, align 4, !tbaa !5
  %29722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29709, ptr noundef @.str.78, i32 noundef %29710, ptr noundef @.str.337, ptr noundef @.str.77, i32 noundef 1041, ptr noundef %29713, ptr noundef %29716, ptr noundef %29719, i32 noundef %29721) #11
  br label %29740

29723:                                            ; preds = %29701, %29694
  %29724 = load i32, ptr %691, align 4, !tbaa !5
  %29725 = call ptr @__errno_location() #12
  store i32 %29724, ptr %29725, align 4, !tbaa !5
  %29726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29727 = load i32, ptr @test_count, align 4, !tbaa !5
  %29728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29729 = load i32, ptr %29728, align 4, !tbaa !5
  %29730 = call ptr @s2n_strerror(i32 noundef %29729, ptr noundef @.str.80)
  %29731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29732 = load i32, ptr %29731, align 4, !tbaa !5
  %29733 = call ptr @s2n_strerror_debug(i32 noundef %29732, ptr noundef @.str.80)
  %29734 = call ptr @__errno_location() #12
  %29735 = load i32, ptr %29734, align 4, !tbaa !5
  %29736 = call ptr @strerror(i32 noundef %29735) #11
  %29737 = call ptr @__errno_location() #12
  %29738 = load i32, ptr %29737, align 4, !tbaa !5
  %29739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29726, ptr noundef @.str.81, i32 noundef %29727, ptr noundef @.str.337, ptr noundef @.str.77, i32 noundef 1041, ptr noundef %29730, ptr noundef %29733, ptr noundef %29736, i32 noundef %29738) #11
  br label %29740

29740:                                            ; preds = %29723, %29706
  call void @llvm.lifetime.end.p0(i64 4, ptr %691) #11
  br label %29741

29741:                                            ; preds = %29740
  br label %29742

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

29743:                                            ; No predecessors!
  br label %29744

29744:                                            ; preds = %29743
  br label %29745

29745:                                            ; preds = %29744, %29686
  br label %29746

29746:                                            ; preds = %29745
  br label %29747

29747:                                            ; preds = %29746
  br label %29748

29748:                                            ; preds = %29747
  %29749 = load i32, ptr @test_count, align 4, !tbaa !5
  %29750 = add nsw i32 %29749, 1
  store i32 %29750, ptr @test_count, align 4, !tbaa !5
  %29751 = load ptr, ptr %676, align 8, !tbaa !9
  %29752 = call i32 @s2n_connection_free(ptr noundef %29751)
  %29753 = icmp eq i32 %29752, -1
  br i1 %29753, label %29754, label %29807

29754:                                            ; preds = %29748
  br label %29755

29755:                                            ; preds = %29754
  br label %29756

29756:                                            ; preds = %29755
  call void @llvm.lifetime.start.p0(i64 4, ptr %692) #11
  %29757 = call ptr @__errno_location() #12
  %29758 = load i32, ptr %29757, align 4, !tbaa !5
  store i32 %29758, ptr %692, align 4, !tbaa !5
  %29759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29760 = call i32 @s2n_print_stacktrace(ptr noundef %29759)
  %29761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29762 = trunc i8 %29761 to i1
  br i1 %29762, label %29763, label %29785

29763:                                            ; preds = %29756
  %29764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29765 = call i32 @fileno(ptr noundef %29764) #11
  %29766 = call i32 @isatty(i32 noundef %29765) #11
  %29767 = icmp ne i32 %29766, 0
  br i1 %29767, label %29768, label %29785

29768:                                            ; preds = %29763
  %29769 = load i32, ptr %692, align 4, !tbaa !5
  %29770 = call ptr @__errno_location() #12
  store i32 %29769, ptr %29770, align 4, !tbaa !5
  %29771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29772 = load i32, ptr @test_count, align 4, !tbaa !5
  %29773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29774 = load i32, ptr %29773, align 4, !tbaa !5
  %29775 = call ptr @s2n_strerror(i32 noundef %29774, ptr noundef @.str.80)
  %29776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29777 = load i32, ptr %29776, align 4, !tbaa !5
  %29778 = call ptr @s2n_strerror_debug(i32 noundef %29777, ptr noundef @.str.80)
  %29779 = call ptr @__errno_location() #12
  %29780 = load i32, ptr %29779, align 4, !tbaa !5
  %29781 = call ptr @strerror(i32 noundef %29780) #11
  %29782 = call ptr @__errno_location() #12
  %29783 = load i32, ptr %29782, align 4, !tbaa !5
  %29784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29771, ptr noundef @.str.78, i32 noundef %29772, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 1043, ptr noundef %29775, ptr noundef %29778, ptr noundef %29781, i32 noundef %29783) #11
  br label %29802

29785:                                            ; preds = %29763, %29756
  %29786 = load i32, ptr %692, align 4, !tbaa !5
  %29787 = call ptr @__errno_location() #12
  store i32 %29786, ptr %29787, align 4, !tbaa !5
  %29788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29789 = load i32, ptr @test_count, align 4, !tbaa !5
  %29790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29791 = load i32, ptr %29790, align 4, !tbaa !5
  %29792 = call ptr @s2n_strerror(i32 noundef %29791, ptr noundef @.str.80)
  %29793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29794 = load i32, ptr %29793, align 4, !tbaa !5
  %29795 = call ptr @s2n_strerror_debug(i32 noundef %29794, ptr noundef @.str.80)
  %29796 = call ptr @__errno_location() #12
  %29797 = load i32, ptr %29796, align 4, !tbaa !5
  %29798 = call ptr @strerror(i32 noundef %29797) #11
  %29799 = call ptr @__errno_location() #12
  %29800 = load i32, ptr %29799, align 4, !tbaa !5
  %29801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29788, ptr noundef @.str.81, i32 noundef %29789, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 1043, ptr noundef %29792, ptr noundef %29795, ptr noundef %29798, i32 noundef %29800) #11
  br label %29802

29802:                                            ; preds = %29785, %29768
  call void @llvm.lifetime.end.p0(i64 4, ptr %692) #11
  br label %29803

29803:                                            ; preds = %29802
  br label %29804

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

29805:                                            ; No predecessors!
  br label %29806

29806:                                            ; preds = %29805
  br label %29807

29807:                                            ; preds = %29806, %29748
  br label %29808

29808:                                            ; preds = %29807
  br label %29809

29809:                                            ; preds = %29808
  %29810 = call i32 @s2n_psk_free(ptr noundef %688)
  call void @llvm.lifetime.end.p0(i64 8, ptr %688) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %677) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %676) #11
  call void @llvm.lifetime.end.p0(i64 9, ptr %675) #11
  call void @llvm.lifetime.start.p0(i64 9, ptr %693) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %693, ptr align 1 @__const.main.psk_identity.338, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 9, ptr %694) #11
  call void @llvm.memset.p0.i64(ptr align 1 %694, i8 0, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %695) #11
  store ptr null, ptr %695, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 9, ptr %696) #11
  call void @llvm.memset.p0.i64(ptr align 1 %696, i8 0, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr %697) #11
  store i16 0, ptr %697, align 2, !tbaa !66
  br label %29811

29811:                                            ; preds = %29809
  %29812 = load i32, ptr @test_count, align 4, !tbaa !5
  %29813 = add nsw i32 %29812, 1
  store i32 %29813, ptr @test_count, align 4, !tbaa !5
  %29814 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %29814, ptr %695, align 8, !tbaa !9
  %29815 = icmp eq ptr %29814, null
  br i1 %29815, label %29816, label %29869

29816:                                            ; preds = %29811
  br label %29817

29817:                                            ; preds = %29816
  br label %29818

29818:                                            ; preds = %29817
  call void @llvm.lifetime.start.p0(i64 4, ptr %698) #11
  %29819 = call ptr @__errno_location() #12
  %29820 = load i32, ptr %29819, align 4, !tbaa !5
  store i32 %29820, ptr %698, align 4, !tbaa !5
  %29821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29822 = call i32 @s2n_print_stacktrace(ptr noundef %29821)
  %29823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29824 = trunc i8 %29823 to i1
  br i1 %29824, label %29825, label %29847

29825:                                            ; preds = %29818
  %29826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29827 = call i32 @fileno(ptr noundef %29826) #11
  %29828 = call i32 @isatty(i32 noundef %29827) #11
  %29829 = icmp ne i32 %29828, 0
  br i1 %29829, label %29830, label %29847

29830:                                            ; preds = %29825
  %29831 = load i32, ptr %698, align 4, !tbaa !5
  %29832 = call ptr @__errno_location() #12
  store i32 %29831, ptr %29832, align 4, !tbaa !5
  %29833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29834 = load i32, ptr @test_count, align 4, !tbaa !5
  %29835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29836 = load i32, ptr %29835, align 4, !tbaa !5
  %29837 = call ptr @s2n_strerror(i32 noundef %29836, ptr noundef @.str.80)
  %29838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29839 = load i32, ptr %29838, align 4, !tbaa !5
  %29840 = call ptr @s2n_strerror_debug(i32 noundef %29839, ptr noundef @.str.80)
  %29841 = call ptr @__errno_location() #12
  %29842 = load i32, ptr %29841, align 4, !tbaa !5
  %29843 = call ptr @strerror(i32 noundef %29842) #11
  %29844 = call ptr @__errno_location() #12
  %29845 = load i32, ptr %29844, align 4, !tbaa !5
  %29846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29833, ptr noundef @.str.78, i32 noundef %29834, ptr noundef @.str.290, ptr noundef @.str.77, i32 noundef 1054, ptr noundef %29837, ptr noundef %29840, ptr noundef %29843, i32 noundef %29845) #11
  br label %29864

29847:                                            ; preds = %29825, %29818
  %29848 = load i32, ptr %698, align 4, !tbaa !5
  %29849 = call ptr @__errno_location() #12
  store i32 %29848, ptr %29849, align 4, !tbaa !5
  %29850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29851 = load i32, ptr @test_count, align 4, !tbaa !5
  %29852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29853 = load i32, ptr %29852, align 4, !tbaa !5
  %29854 = call ptr @s2n_strerror(i32 noundef %29853, ptr noundef @.str.80)
  %29855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29856 = load i32, ptr %29855, align 4, !tbaa !5
  %29857 = call ptr @s2n_strerror_debug(i32 noundef %29856, ptr noundef @.str.80)
  %29858 = call ptr @__errno_location() #12
  %29859 = load i32, ptr %29858, align 4, !tbaa !5
  %29860 = call ptr @strerror(i32 noundef %29859) #11
  %29861 = call ptr @__errno_location() #12
  %29862 = load i32, ptr %29861, align 4, !tbaa !5
  %29863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29850, ptr noundef @.str.81, i32 noundef %29851, ptr noundef @.str.290, ptr noundef @.str.77, i32 noundef 1054, ptr noundef %29854, ptr noundef %29857, ptr noundef %29860, i32 noundef %29862) #11
  br label %29864

29864:                                            ; preds = %29847, %29830
  call void @llvm.lifetime.end.p0(i64 4, ptr %698) #11
  br label %29865

29865:                                            ; preds = %29864
  br label %29866

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

29867:                                            ; No predecessors!
  br label %29868

29868:                                            ; preds = %29867
  br label %29869

29869:                                            ; preds = %29868, %29811
  br label %29870

29870:                                            ; preds = %29869
  br label %29871

29871:                                            ; preds = %29870
  br label %29872

29872:                                            ; preds = %29871
  br label %29873

29873:                                            ; preds = %29872
  br label %29874

29874:                                            ; preds = %29873
  %29875 = load i32, ptr @test_count, align 4, !tbaa !5
  %29876 = add nsw i32 %29875, 1
  store i32 %29876, ptr @test_count, align 4, !tbaa !5
  %29877 = getelementptr inbounds [9 x i8], ptr %696, i64 0, i64 0
  %29878 = load i16, ptr %697, align 2, !tbaa !66
  %29879 = call i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef null, ptr noundef %29877, i16 noundef zeroext %29878)
  %29880 = icmp eq i32 %29879, -1
  br i1 %29880, label %29934, label %29881

29881:                                            ; preds = %29874
  br label %29882

29882:                                            ; preds = %29881
  br label %29883

29883:                                            ; preds = %29882
  call void @llvm.lifetime.start.p0(i64 4, ptr %699) #11
  %29884 = call ptr @__errno_location() #12
  %29885 = load i32, ptr %29884, align 4, !tbaa !5
  store i32 %29885, ptr %699, align 4, !tbaa !5
  %29886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29887 = call i32 @s2n_print_stacktrace(ptr noundef %29886)
  %29888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29889 = trunc i8 %29888 to i1
  br i1 %29889, label %29890, label %29912

29890:                                            ; preds = %29883
  %29891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29892 = call i32 @fileno(ptr noundef %29891) #11
  %29893 = call i32 @isatty(i32 noundef %29892) #11
  %29894 = icmp ne i32 %29893, 0
  br i1 %29894, label %29895, label %29912

29895:                                            ; preds = %29890
  %29896 = load i32, ptr %699, align 4, !tbaa !5
  %29897 = call ptr @__errno_location() #12
  store i32 %29896, ptr %29897, align 4, !tbaa !5
  %29898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29899 = load i32, ptr @test_count, align 4, !tbaa !5
  %29900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29901 = load i32, ptr %29900, align 4, !tbaa !5
  %29902 = call ptr @s2n_strerror(i32 noundef %29901, ptr noundef @.str.80)
  %29903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29904 = load i32, ptr %29903, align 4, !tbaa !5
  %29905 = call ptr @s2n_strerror_debug(i32 noundef %29904, ptr noundef @.str.80)
  %29906 = call ptr @__errno_location() #12
  %29907 = load i32, ptr %29906, align 4, !tbaa !5
  %29908 = call ptr @strerror(i32 noundef %29907) #11
  %29909 = call ptr @__errno_location() #12
  %29910 = load i32, ptr %29909, align 4, !tbaa !5
  %29911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29898, ptr noundef @.str.78, i32 noundef %29899, ptr noundef @.str.339, ptr noundef @.str.77, i32 noundef 1056, ptr noundef %29902, ptr noundef %29905, ptr noundef %29908, i32 noundef %29910) #11
  br label %29929

29912:                                            ; preds = %29890, %29883
  %29913 = load i32, ptr %699, align 4, !tbaa !5
  %29914 = call ptr @__errno_location() #12
  store i32 %29913, ptr %29914, align 4, !tbaa !5
  %29915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29916 = load i32, ptr @test_count, align 4, !tbaa !5
  %29917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29918 = load i32, ptr %29917, align 4, !tbaa !5
  %29919 = call ptr @s2n_strerror(i32 noundef %29918, ptr noundef @.str.80)
  %29920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29921 = load i32, ptr %29920, align 4, !tbaa !5
  %29922 = call ptr @s2n_strerror_debug(i32 noundef %29921, ptr noundef @.str.80)
  %29923 = call ptr @__errno_location() #12
  %29924 = load i32, ptr %29923, align 4, !tbaa !5
  %29925 = call ptr @strerror(i32 noundef %29924) #11
  %29926 = call ptr @__errno_location() #12
  %29927 = load i32, ptr %29926, align 4, !tbaa !5
  %29928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29915, ptr noundef @.str.81, i32 noundef %29916, ptr noundef @.str.339, ptr noundef @.str.77, i32 noundef 1056, ptr noundef %29919, ptr noundef %29922, ptr noundef %29925, i32 noundef %29927) #11
  br label %29929

29929:                                            ; preds = %29912, %29895
  call void @llvm.lifetime.end.p0(i64 4, ptr %699) #11
  br label %29930

29930:                                            ; preds = %29929
  br label %29931

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

29932:                                            ; No predecessors!
  br label %29933

29933:                                            ; preds = %29932
  br label %29934

29934:                                            ; preds = %29933, %29874
  br label %29935

29935:                                            ; preds = %29934
  br label %29936

29936:                                            ; preds = %29935
  br label %29937

29937:                                            ; preds = %29936
  %29938 = load i32, ptr @test_count, align 4, !tbaa !5
  %29939 = add nsw i32 %29938, 1
  store i32 %29939, ptr @test_count, align 4, !tbaa !5
  %29940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29941 = load i32, ptr %29940, align 4, !tbaa !5
  %29942 = icmp eq i32 %29941, 402653193
  br i1 %29942, label %29996, label %29943

29943:                                            ; preds = %29937
  br label %29944

29944:                                            ; preds = %29943
  br label %29945

29945:                                            ; preds = %29944
  call void @llvm.lifetime.start.p0(i64 4, ptr %700) #11
  %29946 = call ptr @__errno_location() #12
  %29947 = load i32, ptr %29946, align 4, !tbaa !5
  store i32 %29947, ptr %700, 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 %700, 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.80)
  %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.80)
  %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.78, i32 noundef %29961, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1056, ptr noundef %29964, ptr noundef %29967, ptr noundef %29970, i32 noundef %29972) #11
  br label %29991

29974:                                            ; preds = %29952, %29945
  %29975 = load i32, ptr %700, 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.80)
  %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.80)
  %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.81, i32 noundef %29978, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1056, 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 %700) #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, %29937
  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 = call ptr @s2n_strerror_debug(i32 noundef %30003, ptr noundef @.str.80)
  %30005 = icmp eq ptr %30004, null
  br i1 %30005, label %30006, label %30059

30006:                                            ; preds = %29999
  br label %30007

30007:                                            ; preds = %30006
  br label %30008

30008:                                            ; preds = %30007
  call void @llvm.lifetime.start.p0(i64 4, ptr %701) #11
  %30009 = call ptr @__errno_location() #12
  %30010 = load i32, ptr %30009, align 4, !tbaa !5
  store i32 %30010, ptr %701, align 4, !tbaa !5
  %30011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30012 = call i32 @s2n_print_stacktrace(ptr noundef %30011)
  %30013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30014 = trunc i8 %30013 to i1
  br i1 %30014, label %30015, label %30037

30015:                                            ; preds = %30008
  %30016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30017 = call i32 @fileno(ptr noundef %30016) #11
  %30018 = call i32 @isatty(i32 noundef %30017) #11
  %30019 = icmp ne i32 %30018, 0
  br i1 %30019, label %30020, label %30037

30020:                                            ; preds = %30015
  %30021 = load i32, ptr %701, align 4, !tbaa !5
  %30022 = call ptr @__errno_location() #12
  store i32 %30021, ptr %30022, align 4, !tbaa !5
  %30023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30024 = load i32, ptr @test_count, align 4, !tbaa !5
  %30025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30026 = load i32, ptr %30025, align 4, !tbaa !5
  %30027 = call ptr @s2n_strerror(i32 noundef %30026, ptr noundef @.str.80)
  %30028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30029 = load i32, ptr %30028, align 4, !tbaa !5
  %30030 = call ptr @s2n_strerror_debug(i32 noundef %30029, ptr noundef @.str.80)
  %30031 = call ptr @__errno_location() #12
  %30032 = load i32, ptr %30031, align 4, !tbaa !5
  %30033 = call ptr @strerror(i32 noundef %30032) #11
  %30034 = call ptr @__errno_location() #12
  %30035 = load i32, ptr %30034, align 4, !tbaa !5
  %30036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30023, ptr noundef @.str.78, i32 noundef %30024, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1056, ptr noundef %30027, ptr noundef %30030, ptr noundef %30033, i32 noundef %30035) #11
  br label %30054

30037:                                            ; preds = %30015, %30008
  %30038 = load i32, ptr %701, align 4, !tbaa !5
  %30039 = call ptr @__errno_location() #12
  store i32 %30038, ptr %30039, align 4, !tbaa !5
  %30040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30041 = load i32, ptr @test_count, align 4, !tbaa !5
  %30042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30043 = load i32, ptr %30042, align 4, !tbaa !5
  %30044 = call ptr @s2n_strerror(i32 noundef %30043, ptr noundef @.str.80)
  %30045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30046 = load i32, ptr %30045, align 4, !tbaa !5
  %30047 = call ptr @s2n_strerror_debug(i32 noundef %30046, ptr noundef @.str.80)
  %30048 = call ptr @__errno_location() #12
  %30049 = load i32, ptr %30048, align 4, !tbaa !5
  %30050 = call ptr @strerror(i32 noundef %30049) #11
  %30051 = call ptr @__errno_location() #12
  %30052 = load i32, ptr %30051, align 4, !tbaa !5
  %30053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30040, ptr noundef @.str.81, i32 noundef %30041, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1056, ptr noundef %30044, ptr noundef %30047, ptr noundef %30050, i32 noundef %30052) #11
  br label %30054

30054:                                            ; preds = %30037, %30020
  call void @llvm.lifetime.end.p0(i64 4, ptr %701) #11
  br label %30055

30055:                                            ; preds = %30054
  br label %30056

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

30057:                                            ; No predecessors!
  br label %30058

30058:                                            ; preds = %30057
  br label %30059

30059:                                            ; preds = %30058, %29999
  br label %30060

30060:                                            ; preds = %30059
  br label %30061

30061:                                            ; preds = %30060
  br label %30062

30062:                                            ; preds = %30061
  br label %30063

30063:                                            ; preds = %30062
  br label %30064

30064:                                            ; preds = %30063
  %30065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %30065, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %30066 = call ptr @__errno_location() #12
  store i32 0, ptr %30066, align 4, !tbaa !5
  br label %30067

30067:                                            ; preds = %30064
  br label %30068

30068:                                            ; preds = %30067
  br label %30069

30069:                                            ; preds = %30068
  br label %30070

30070:                                            ; preds = %30069
  br label %30071

30071:                                            ; preds = %30070
  br label %30072

30072:                                            ; preds = %30071
  br label %30073

30073:                                            ; preds = %30072
  %30074 = load i32, ptr @test_count, align 4, !tbaa !5
  %30075 = add nsw i32 %30074, 1
  store i32 %30075, ptr @test_count, align 4, !tbaa !5
  %30076 = load ptr, ptr %695, align 8, !tbaa !9
  %30077 = load i16, ptr %697, align 2, !tbaa !66
  %30078 = call i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef %30076, ptr noundef null, i16 noundef zeroext %30077)
  %30079 = icmp eq i32 %30078, -1
  br i1 %30079, label %30133, label %30080

30080:                                            ; preds = %30073
  br label %30081

30081:                                            ; preds = %30080
  br label %30082

30082:                                            ; preds = %30081
  call void @llvm.lifetime.start.p0(i64 4, ptr %702) #11
  %30083 = call ptr @__errno_location() #12
  %30084 = load i32, ptr %30083, align 4, !tbaa !5
  store i32 %30084, ptr %702, align 4, !tbaa !5
  %30085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30086 = call i32 @s2n_print_stacktrace(ptr noundef %30085)
  %30087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30088 = trunc i8 %30087 to i1
  br i1 %30088, label %30089, label %30111

30089:                                            ; preds = %30082
  %30090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30091 = call i32 @fileno(ptr noundef %30090) #11
  %30092 = call i32 @isatty(i32 noundef %30091) #11
  %30093 = icmp ne i32 %30092, 0
  br i1 %30093, label %30094, label %30111

30094:                                            ; preds = %30089
  %30095 = load i32, ptr %702, align 4, !tbaa !5
  %30096 = call ptr @__errno_location() #12
  store i32 %30095, ptr %30096, align 4, !tbaa !5
  %30097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30098 = load i32, ptr @test_count, align 4, !tbaa !5
  %30099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30100 = load i32, ptr %30099, align 4, !tbaa !5
  %30101 = call ptr @s2n_strerror(i32 noundef %30100, ptr noundef @.str.80)
  %30102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30103 = load i32, ptr %30102, align 4, !tbaa !5
  %30104 = call ptr @s2n_strerror_debug(i32 noundef %30103, ptr noundef @.str.80)
  %30105 = call ptr @__errno_location() #12
  %30106 = load i32, ptr %30105, align 4, !tbaa !5
  %30107 = call ptr @strerror(i32 noundef %30106) #11
  %30108 = call ptr @__errno_location() #12
  %30109 = load i32, ptr %30108, align 4, !tbaa !5
  %30110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30097, ptr noundef @.str.78, i32 noundef %30098, ptr noundef @.str.340, ptr noundef @.str.77, i32 noundef 1057, ptr noundef %30101, ptr noundef %30104, ptr noundef %30107, i32 noundef %30109) #11
  br label %30128

30111:                                            ; preds = %30089, %30082
  %30112 = load i32, ptr %702, align 4, !tbaa !5
  %30113 = call ptr @__errno_location() #12
  store i32 %30112, ptr %30113, align 4, !tbaa !5
  %30114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30115 = load i32, ptr @test_count, align 4, !tbaa !5
  %30116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30117 = load i32, ptr %30116, align 4, !tbaa !5
  %30118 = call ptr @s2n_strerror(i32 noundef %30117, ptr noundef @.str.80)
  %30119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30120 = load i32, ptr %30119, align 4, !tbaa !5
  %30121 = call ptr @s2n_strerror_debug(i32 noundef %30120, ptr noundef @.str.80)
  %30122 = call ptr @__errno_location() #12
  %30123 = load i32, ptr %30122, align 4, !tbaa !5
  %30124 = call ptr @strerror(i32 noundef %30123) #11
  %30125 = call ptr @__errno_location() #12
  %30126 = load i32, ptr %30125, align 4, !tbaa !5
  %30127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30114, ptr noundef @.str.81, i32 noundef %30115, ptr noundef @.str.340, ptr noundef @.str.77, i32 noundef 1057, ptr noundef %30118, ptr noundef %30121, ptr noundef %30124, i32 noundef %30126) #11
  br label %30128

30128:                                            ; preds = %30111, %30094
  call void @llvm.lifetime.end.p0(i64 4, ptr %702) #11
  br label %30129

30129:                                            ; preds = %30128
  br label %30130

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

30131:                                            ; No predecessors!
  br label %30132

30132:                                            ; preds = %30131
  br label %30133

30133:                                            ; preds = %30132, %30073
  br label %30134

30134:                                            ; preds = %30133
  br label %30135

30135:                                            ; preds = %30134
  br label %30136

30136:                                            ; preds = %30135
  %30137 = load i32, ptr @test_count, align 4, !tbaa !5
  %30138 = add nsw i32 %30137, 1
  store i32 %30138, ptr @test_count, align 4, !tbaa !5
  %30139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30140 = load i32, ptr %30139, align 4, !tbaa !5
  %30141 = icmp eq i32 %30140, 402653193
  br i1 %30141, label %30195, label %30142

30142:                                            ; preds = %30136
  br label %30143

30143:                                            ; preds = %30142
  br label %30144

30144:                                            ; preds = %30143
  call void @llvm.lifetime.start.p0(i64 4, ptr %703) #11
  %30145 = call ptr @__errno_location() #12
  %30146 = load i32, ptr %30145, align 4, !tbaa !5
  store i32 %30146, ptr %703, align 4, !tbaa !5
  %30147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30148 = call i32 @s2n_print_stacktrace(ptr noundef %30147)
  %30149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30150 = trunc i8 %30149 to i1
  br i1 %30150, label %30151, label %30173

30151:                                            ; preds = %30144
  %30152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30153 = call i32 @fileno(ptr noundef %30152) #11
  %30154 = call i32 @isatty(i32 noundef %30153) #11
  %30155 = icmp ne i32 %30154, 0
  br i1 %30155, label %30156, label %30173

30156:                                            ; preds = %30151
  %30157 = load i32, ptr %703, align 4, !tbaa !5
  %30158 = call ptr @__errno_location() #12
  store i32 %30157, ptr %30158, align 4, !tbaa !5
  %30159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30160 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30162, ptr noundef @.str.80)
  %30164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30165 = load i32, ptr %30164, align 4, !tbaa !5
  %30166 = call ptr @s2n_strerror_debug(i32 noundef %30165, ptr noundef @.str.80)
  %30167 = call ptr @__errno_location() #12
  %30168 = load i32, ptr %30167, align 4, !tbaa !5
  %30169 = call ptr @strerror(i32 noundef %30168) #11
  %30170 = call ptr @__errno_location() #12
  %30171 = load i32, ptr %30170, align 4, !tbaa !5
  %30172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30159, ptr noundef @.str.78, i32 noundef %30160, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1057, ptr noundef %30163, ptr noundef %30166, ptr noundef %30169, i32 noundef %30171) #11
  br label %30190

30173:                                            ; preds = %30151, %30144
  %30174 = load i32, ptr %703, align 4, !tbaa !5
  %30175 = call ptr @__errno_location() #12
  store i32 %30174, ptr %30175, align 4, !tbaa !5
  %30176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30177 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30179, ptr noundef @.str.80)
  %30181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30182 = load i32, ptr %30181, align 4, !tbaa !5
  %30183 = call ptr @s2n_strerror_debug(i32 noundef %30182, ptr noundef @.str.80)
  %30184 = call ptr @__errno_location() #12
  %30185 = load i32, ptr %30184, align 4, !tbaa !5
  %30186 = call ptr @strerror(i32 noundef %30185) #11
  %30187 = call ptr @__errno_location() #12
  %30188 = load i32, ptr %30187, align 4, !tbaa !5
  %30189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30176, ptr noundef @.str.81, i32 noundef %30177, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1057, ptr noundef %30180, ptr noundef %30183, ptr noundef %30186, i32 noundef %30188) #11
  br label %30190

30190:                                            ; preds = %30173, %30156
  call void @llvm.lifetime.end.p0(i64 4, ptr %703) #11
  br label %30191

30191:                                            ; preds = %30190
  br label %30192

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

30193:                                            ; No predecessors!
  br label %30194

30194:                                            ; preds = %30193
  br label %30195

30195:                                            ; preds = %30194, %30136
  br label %30196

30196:                                            ; preds = %30195
  br label %30197

30197:                                            ; preds = %30196
  br label %30198

30198:                                            ; preds = %30197
  %30199 = load i32, ptr @test_count, align 4, !tbaa !5
  %30200 = add nsw i32 %30199, 1
  store i32 %30200, ptr @test_count, align 4, !tbaa !5
  %30201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30202 = load i32, ptr %30201, align 4, !tbaa !5
  %30203 = call ptr @s2n_strerror_debug(i32 noundef %30202, ptr noundef @.str.80)
  %30204 = icmp eq ptr %30203, null
  br i1 %30204, label %30205, label %30258

30205:                                            ; preds = %30198
  br label %30206

30206:                                            ; preds = %30205
  br label %30207

30207:                                            ; preds = %30206
  call void @llvm.lifetime.start.p0(i64 4, ptr %704) #11
  %30208 = call ptr @__errno_location() #12
  %30209 = load i32, ptr %30208, align 4, !tbaa !5
  store i32 %30209, ptr %704, align 4, !tbaa !5
  %30210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30211 = call i32 @s2n_print_stacktrace(ptr noundef %30210)
  %30212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30213 = trunc i8 %30212 to i1
  br i1 %30213, label %30214, label %30236

30214:                                            ; preds = %30207
  %30215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30216 = call i32 @fileno(ptr noundef %30215) #11
  %30217 = call i32 @isatty(i32 noundef %30216) #11
  %30218 = icmp ne i32 %30217, 0
  br i1 %30218, label %30219, label %30236

30219:                                            ; preds = %30214
  %30220 = load i32, ptr %704, align 4, !tbaa !5
  %30221 = call ptr @__errno_location() #12
  store i32 %30220, ptr %30221, align 4, !tbaa !5
  %30222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30223 = load i32, ptr @test_count, align 4, !tbaa !5
  %30224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30225 = load i32, ptr %30224, align 4, !tbaa !5
  %30226 = call ptr @s2n_strerror(i32 noundef %30225, ptr noundef @.str.80)
  %30227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30228 = load i32, ptr %30227, align 4, !tbaa !5
  %30229 = call ptr @s2n_strerror_debug(i32 noundef %30228, ptr noundef @.str.80)
  %30230 = call ptr @__errno_location() #12
  %30231 = load i32, ptr %30230, align 4, !tbaa !5
  %30232 = call ptr @strerror(i32 noundef %30231) #11
  %30233 = call ptr @__errno_location() #12
  %30234 = load i32, ptr %30233, align 4, !tbaa !5
  %30235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30222, ptr noundef @.str.78, i32 noundef %30223, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1057, ptr noundef %30226, ptr noundef %30229, ptr noundef %30232, i32 noundef %30234) #11
  br label %30253

30236:                                            ; preds = %30214, %30207
  %30237 = load i32, ptr %704, align 4, !tbaa !5
  %30238 = call ptr @__errno_location() #12
  store i32 %30237, ptr %30238, align 4, !tbaa !5
  %30239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30240 = load i32, ptr @test_count, align 4, !tbaa !5
  %30241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30242 = load i32, ptr %30241, align 4, !tbaa !5
  %30243 = call ptr @s2n_strerror(i32 noundef %30242, ptr noundef @.str.80)
  %30244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30245 = load i32, ptr %30244, align 4, !tbaa !5
  %30246 = call ptr @s2n_strerror_debug(i32 noundef %30245, ptr noundef @.str.80)
  %30247 = call ptr @__errno_location() #12
  %30248 = load i32, ptr %30247, align 4, !tbaa !5
  %30249 = call ptr @strerror(i32 noundef %30248) #11
  %30250 = call ptr @__errno_location() #12
  %30251 = load i32, ptr %30250, align 4, !tbaa !5
  %30252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30239, ptr noundef @.str.81, i32 noundef %30240, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1057, ptr noundef %30243, ptr noundef %30246, ptr noundef %30249, i32 noundef %30251) #11
  br label %30253

30253:                                            ; preds = %30236, %30219
  call void @llvm.lifetime.end.p0(i64 4, ptr %704) #11
  br label %30254

30254:                                            ; preds = %30253
  br label %30255

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

30256:                                            ; No predecessors!
  br label %30257

30257:                                            ; preds = %30256
  br label %30258

30258:                                            ; preds = %30257, %30198
  br label %30259

30259:                                            ; preds = %30258
  br label %30260

30260:                                            ; preds = %30259
  br label %30261

30261:                                            ; preds = %30260
  br label %30262

30262:                                            ; preds = %30261
  br label %30263

30263:                                            ; preds = %30262
  %30264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %30264, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %30265 = call ptr @__errno_location() #12
  store i32 0, ptr %30265, align 4, !tbaa !5
  br label %30266

30266:                                            ; preds = %30263
  br label %30267

30267:                                            ; preds = %30266
  br label %30268

30268:                                            ; preds = %30267
  br label %30269

30269:                                            ; preds = %30268
  br label %30270

30270:                                            ; preds = %30269
  %30271 = load i32, ptr @test_count, align 4, !tbaa !5
  %30272 = add nsw i32 %30271, 1
  store i32 %30272, ptr @test_count, align 4, !tbaa !5
  %30273 = load ptr, ptr %695, align 8, !tbaa !9
  %30274 = getelementptr inbounds %struct.s2n_connection, ptr %30273, i32 0, i32 33
  %30275 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %30274, i32 0, i32 4
  %30276 = load ptr, ptr %30275, align 8, !tbaa !65
  %30277 = icmp eq ptr %30276, null
  br i1 %30277, label %30331, label %30278

30278:                                            ; preds = %30270
  br label %30279

30279:                                            ; preds = %30278
  br label %30280

30280:                                            ; preds = %30279
  call void @llvm.lifetime.start.p0(i64 4, ptr %705) #11
  %30281 = call ptr @__errno_location() #12
  %30282 = load i32, ptr %30281, align 4, !tbaa !5
  store i32 %30282, ptr %705, align 4, !tbaa !5
  %30283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30284 = call i32 @s2n_print_stacktrace(ptr noundef %30283)
  %30285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30286 = trunc i8 %30285 to i1
  br i1 %30286, label %30287, label %30309

30287:                                            ; preds = %30280
  %30288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30289 = call i32 @fileno(ptr noundef %30288) #11
  %30290 = call i32 @isatty(i32 noundef %30289) #11
  %30291 = icmp ne i32 %30290, 0
  br i1 %30291, label %30292, label %30309

30292:                                            ; preds = %30287
  %30293 = load i32, ptr %705, align 4, !tbaa !5
  %30294 = call ptr @__errno_location() #12
  store i32 %30293, ptr %30294, align 4, !tbaa !5
  %30295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30296 = load i32, ptr @test_count, align 4, !tbaa !5
  %30297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30298 = load i32, ptr %30297, align 4, !tbaa !5
  %30299 = call ptr @s2n_strerror(i32 noundef %30298, ptr noundef @.str.80)
  %30300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30301 = load i32, ptr %30300, align 4, !tbaa !5
  %30302 = call ptr @s2n_strerror_debug(i32 noundef %30301, ptr noundef @.str.80)
  %30303 = call ptr @__errno_location() #12
  %30304 = load i32, ptr %30303, align 4, !tbaa !5
  %30305 = call ptr @strerror(i32 noundef %30304) #11
  %30306 = call ptr @__errno_location() #12
  %30307 = load i32, ptr %30306, align 4, !tbaa !5
  %30308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30295, ptr noundef @.str.78, i32 noundef %30296, ptr noundef @.str.333, ptr noundef @.str.77, i32 noundef 1059, ptr noundef %30299, ptr noundef %30302, ptr noundef %30305, i32 noundef %30307) #11
  br label %30326

30309:                                            ; preds = %30287, %30280
  %30310 = load i32, ptr %705, align 4, !tbaa !5
  %30311 = call ptr @__errno_location() #12
  store i32 %30310, ptr %30311, align 4, !tbaa !5
  %30312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30313 = load i32, ptr @test_count, align 4, !tbaa !5
  %30314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30315 = load i32, ptr %30314, align 4, !tbaa !5
  %30316 = call ptr @s2n_strerror(i32 noundef %30315, ptr noundef @.str.80)
  %30317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30318 = load i32, ptr %30317, align 4, !tbaa !5
  %30319 = call ptr @s2n_strerror_debug(i32 noundef %30318, ptr noundef @.str.80)
  %30320 = call ptr @__errno_location() #12
  %30321 = load i32, ptr %30320, align 4, !tbaa !5
  %30322 = call ptr @strerror(i32 noundef %30321) #11
  %30323 = call ptr @__errno_location() #12
  %30324 = load i32, ptr %30323, align 4, !tbaa !5
  %30325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30312, ptr noundef @.str.81, i32 noundef %30313, ptr noundef @.str.333, ptr noundef @.str.77, i32 noundef 1059, ptr noundef %30316, ptr noundef %30319, ptr noundef %30322, i32 noundef %30324) #11
  br label %30326

30326:                                            ; preds = %30309, %30292
  call void @llvm.lifetime.end.p0(i64 4, ptr %705) #11
  br label %30327

30327:                                            ; preds = %30326
  br label %30328

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

30329:                                            ; No predecessors!
  br label %30330

30330:                                            ; preds = %30329
  br label %30331

30331:                                            ; preds = %30330, %30270
  br label %30332

30332:                                            ; preds = %30331
  br label %30333

30333:                                            ; preds = %30332
  br label %30334

30334:                                            ; preds = %30333
  %30335 = load i32, ptr @test_count, align 4, !tbaa !5
  %30336 = add nsw i32 %30335, 1
  store i32 %30336, ptr @test_count, align 4, !tbaa !5
  %30337 = load ptr, ptr %695, align 8, !tbaa !9
  %30338 = getelementptr inbounds [9 x i8], ptr %696, i64 0, i64 0
  %30339 = load i16, ptr %697, align 2, !tbaa !66
  %30340 = call i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef %30337, ptr noundef %30338, i16 noundef zeroext %30339)
  %30341 = icmp eq i32 %30340, -1
  br i1 %30341, label %30342, label %30395

30342:                                            ; preds = %30334
  br label %30343

30343:                                            ; preds = %30342
  br label %30344

30344:                                            ; preds = %30343
  call void @llvm.lifetime.start.p0(i64 4, ptr %706) #11
  %30345 = call ptr @__errno_location() #12
  %30346 = load i32, ptr %30345, align 4, !tbaa !5
  store i32 %30346, ptr %706, align 4, !tbaa !5
  %30347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30348 = call i32 @s2n_print_stacktrace(ptr noundef %30347)
  %30349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30350 = trunc i8 %30349 to i1
  br i1 %30350, label %30351, label %30373

30351:                                            ; preds = %30344
  %30352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30353 = call i32 @fileno(ptr noundef %30352) #11
  %30354 = call i32 @isatty(i32 noundef %30353) #11
  %30355 = icmp ne i32 %30354, 0
  br i1 %30355, label %30356, label %30373

30356:                                            ; preds = %30351
  %30357 = load i32, ptr %706, align 4, !tbaa !5
  %30358 = call ptr @__errno_location() #12
  store i32 %30357, ptr %30358, align 4, !tbaa !5
  %30359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30360 = load i32, ptr @test_count, align 4, !tbaa !5
  %30361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30362 = load i32, ptr %30361, align 4, !tbaa !5
  %30363 = call ptr @s2n_strerror(i32 noundef %30362, ptr noundef @.str.80)
  %30364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30365 = load i32, ptr %30364, align 4, !tbaa !5
  %30366 = call ptr @s2n_strerror_debug(i32 noundef %30365, ptr noundef @.str.80)
  %30367 = call ptr @__errno_location() #12
  %30368 = load i32, ptr %30367, align 4, !tbaa !5
  %30369 = call ptr @strerror(i32 noundef %30368) #11
  %30370 = call ptr @__errno_location() #12
  %30371 = load i32, ptr %30370, align 4, !tbaa !5
  %30372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30359, ptr noundef @.str.78, i32 noundef %30360, ptr noundef @.str.341, ptr noundef @.str.77, i32 noundef 1060, ptr noundef %30363, ptr noundef %30366, ptr noundef %30369, i32 noundef %30371) #11
  br label %30390

30373:                                            ; preds = %30351, %30344
  %30374 = load i32, ptr %706, align 4, !tbaa !5
  %30375 = call ptr @__errno_location() #12
  store i32 %30374, ptr %30375, align 4, !tbaa !5
  %30376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30377 = load i32, ptr @test_count, align 4, !tbaa !5
  %30378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30379 = load i32, ptr %30378, align 4, !tbaa !5
  %30380 = call ptr @s2n_strerror(i32 noundef %30379, ptr noundef @.str.80)
  %30381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30382 = load i32, ptr %30381, align 4, !tbaa !5
  %30383 = call ptr @s2n_strerror_debug(i32 noundef %30382, ptr noundef @.str.80)
  %30384 = call ptr @__errno_location() #12
  %30385 = load i32, ptr %30384, align 4, !tbaa !5
  %30386 = call ptr @strerror(i32 noundef %30385) #11
  %30387 = call ptr @__errno_location() #12
  %30388 = load i32, ptr %30387, align 4, !tbaa !5
  %30389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30376, ptr noundef @.str.81, i32 noundef %30377, ptr noundef @.str.341, ptr noundef @.str.77, i32 noundef 1060, ptr noundef %30380, ptr noundef %30383, ptr noundef %30386, i32 noundef %30388) #11
  br label %30390

30390:                                            ; preds = %30373, %30356
  call void @llvm.lifetime.end.p0(i64 4, ptr %706) #11
  br label %30391

30391:                                            ; preds = %30390
  br label %30392

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

30393:                                            ; No predecessors!
  br label %30394

30394:                                            ; preds = %30393
  br label %30395

30395:                                            ; preds = %30394, %30334
  br label %30396

30396:                                            ; preds = %30395
  br label %30397

30397:                                            ; preds = %30396
  br label %30398

30398:                                            ; preds = %30397
  %30399 = load i32, ptr @test_count, align 4, !tbaa !5
  %30400 = add nsw i32 %30399, 1
  store i32 %30400, ptr @test_count, align 4, !tbaa !5
  %30401 = load i16, ptr %697, align 2, !tbaa !66
  %30402 = zext i16 %30401 to i32
  %30403 = icmp eq i32 %30402, 0
  br i1 %30403, label %30457, label %30404

30404:                                            ; preds = %30398
  br label %30405

30405:                                            ; preds = %30404
  br label %30406

30406:                                            ; preds = %30405
  call void @llvm.lifetime.start.p0(i64 4, ptr %707) #11
  %30407 = call ptr @__errno_location() #12
  %30408 = load i32, ptr %30407, align 4, !tbaa !5
  store i32 %30408, ptr %707, align 4, !tbaa !5
  %30409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30410 = call i32 @s2n_print_stacktrace(ptr noundef %30409)
  %30411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30412 = trunc i8 %30411 to i1
  br i1 %30412, label %30413, label %30435

30413:                                            ; preds = %30406
  %30414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30415 = call i32 @fileno(ptr noundef %30414) #11
  %30416 = call i32 @isatty(i32 noundef %30415) #11
  %30417 = icmp ne i32 %30416, 0
  br i1 %30417, label %30418, label %30435

30418:                                            ; preds = %30413
  %30419 = load i32, ptr %707, align 4, !tbaa !5
  %30420 = call ptr @__errno_location() #12
  store i32 %30419, ptr %30420, align 4, !tbaa !5
  %30421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30422 = load i32, ptr @test_count, align 4, !tbaa !5
  %30423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30424 = load i32, ptr %30423, align 4, !tbaa !5
  %30425 = call ptr @s2n_strerror(i32 noundef %30424, ptr noundef @.str.80)
  %30426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30427 = load i32, ptr %30426, align 4, !tbaa !5
  %30428 = call ptr @s2n_strerror_debug(i32 noundef %30427, ptr noundef @.str.80)
  %30429 = call ptr @__errno_location() #12
  %30430 = load i32, ptr %30429, align 4, !tbaa !5
  %30431 = call ptr @strerror(i32 noundef %30430) #11
  %30432 = call ptr @__errno_location() #12
  %30433 = load i32, ptr %30432, align 4, !tbaa !5
  %30434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30421, ptr noundef @.str.78, i32 noundef %30422, ptr noundef @.str.342, ptr noundef @.str.77, i32 noundef 1061, ptr noundef %30425, ptr noundef %30428, ptr noundef %30431, i32 noundef %30433) #11
  br label %30452

30435:                                            ; preds = %30413, %30406
  %30436 = load i32, ptr %707, align 4, !tbaa !5
  %30437 = call ptr @__errno_location() #12
  store i32 %30436, ptr %30437, align 4, !tbaa !5
  %30438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30439 = load i32, ptr @test_count, align 4, !tbaa !5
  %30440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30441 = load i32, ptr %30440, align 4, !tbaa !5
  %30442 = call ptr @s2n_strerror(i32 noundef %30441, ptr noundef @.str.80)
  %30443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30444 = load i32, ptr %30443, align 4, !tbaa !5
  %30445 = call ptr @s2n_strerror_debug(i32 noundef %30444, ptr noundef @.str.80)
  %30446 = call ptr @__errno_location() #12
  %30447 = load i32, ptr %30446, align 4, !tbaa !5
  %30448 = call ptr @strerror(i32 noundef %30447) #11
  %30449 = call ptr @__errno_location() #12
  %30450 = load i32, ptr %30449, align 4, !tbaa !5
  %30451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30438, ptr noundef @.str.81, i32 noundef %30439, ptr noundef @.str.342, ptr noundef @.str.77, i32 noundef 1061, ptr noundef %30442, ptr noundef %30445, ptr noundef %30448, i32 noundef %30450) #11
  br label %30452

30452:                                            ; preds = %30435, %30418
  call void @llvm.lifetime.end.p0(i64 4, ptr %707) #11
  br label %30453

30453:                                            ; preds = %30452
  br label %30454

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

30455:                                            ; No predecessors!
  br label %30456

30456:                                            ; preds = %30455
  br label %30457

30457:                                            ; preds = %30456, %30398
  br label %30458

30458:                                            ; preds = %30457
  br label %30459

30459:                                            ; preds = %30458
  br label %30460

30460:                                            ; preds = %30459
  br label %30461

30461:                                            ; preds = %30460
  %30462 = load i32, ptr @test_count, align 4, !tbaa !5
  %30463 = add nsw i32 %30462, 1
  store i32 %30463, ptr @test_count, align 4, !tbaa !5
  %30464 = getelementptr inbounds [9 x i8], ptr %696, i64 0, i64 0
  %30465 = getelementptr inbounds [9 x i8], ptr %694, i64 0, i64 0
  %30466 = call i32 @memcmp(ptr noundef %30464, ptr noundef %30465, i64 noundef 9) #14
  %30467 = icmp eq i32 %30466, 0
  br i1 %30467, label %30521, label %30468

30468:                                            ; preds = %30461
  br label %30469

30469:                                            ; preds = %30468
  br label %30470

30470:                                            ; preds = %30469
  call void @llvm.lifetime.start.p0(i64 4, ptr %708) #11
  %30471 = call ptr @__errno_location() #12
  %30472 = load i32, ptr %30471, align 4, !tbaa !5
  store i32 %30472, ptr %708, align 4, !tbaa !5
  %30473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30474 = call i32 @s2n_print_stacktrace(ptr noundef %30473)
  %30475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30476 = trunc i8 %30475 to i1
  br i1 %30476, label %30477, label %30499

30477:                                            ; preds = %30470
  %30478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30479 = call i32 @fileno(ptr noundef %30478) #11
  %30480 = call i32 @isatty(i32 noundef %30479) #11
  %30481 = icmp ne i32 %30480, 0
  br i1 %30481, label %30482, label %30499

30482:                                            ; preds = %30477
  %30483 = load i32, ptr %708, align 4, !tbaa !5
  %30484 = call ptr @__errno_location() #12
  store i32 %30483, ptr %30484, align 4, !tbaa !5
  %30485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30486 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30488, ptr noundef @.str.80)
  %30490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30491 = load i32, ptr %30490, align 4, !tbaa !5
  %30492 = call ptr @s2n_strerror_debug(i32 noundef %30491, ptr noundef @.str.80)
  %30493 = call ptr @__errno_location() #12
  %30494 = load i32, ptr %30493, align 4, !tbaa !5
  %30495 = call ptr @strerror(i32 noundef %30494) #11
  %30496 = call ptr @__errno_location() #12
  %30497 = load i32, ptr %30496, align 4, !tbaa !5
  %30498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30485, ptr noundef @.str.78, i32 noundef %30486, ptr noundef @.str.343, ptr noundef @.str.77, i32 noundef 1062, ptr noundef %30489, ptr noundef %30492, ptr noundef %30495, i32 noundef %30497) #11
  br label %30516

30499:                                            ; preds = %30477, %30470
  %30500 = load i32, ptr %708, align 4, !tbaa !5
  %30501 = call ptr @__errno_location() #12
  store i32 %30500, ptr %30501, align 4, !tbaa !5
  %30502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30503 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30505, ptr noundef @.str.80)
  %30507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30508 = load i32, ptr %30507, align 4, !tbaa !5
  %30509 = call ptr @s2n_strerror_debug(i32 noundef %30508, ptr noundef @.str.80)
  %30510 = call ptr @__errno_location() #12
  %30511 = load i32, ptr %30510, align 4, !tbaa !5
  %30512 = call ptr @strerror(i32 noundef %30511) #11
  %30513 = call ptr @__errno_location() #12
  %30514 = load i32, ptr %30513, align 4, !tbaa !5
  %30515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30502, ptr noundef @.str.81, i32 noundef %30503, ptr noundef @.str.343, ptr noundef @.str.77, i32 noundef 1062, ptr noundef %30506, ptr noundef %30509, ptr noundef %30512, i32 noundef %30514) #11
  br label %30516

30516:                                            ; preds = %30499, %30482
  call void @llvm.lifetime.end.p0(i64 4, ptr %708) #11
  br label %30517

30517:                                            ; preds = %30516
  br label %30518

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

30519:                                            ; No predecessors!
  br label %30520

30520:                                            ; preds = %30519
  br label %30521

30521:                                            ; preds = %30520, %30461
  br label %30522

30522:                                            ; preds = %30521
  br label %30523

30523:                                            ; preds = %30522
  br label %30524

30524:                                            ; preds = %30523
  br label %30525

30525:                                            ; preds = %30524
  call void @llvm.lifetime.start.p0(i64 8, ptr %709) #11
  %30526 = call ptr @s2n_external_psk_new()
  store ptr %30526, ptr %709, align 8, !tbaa !9
  br label %30527

30527:                                            ; preds = %30525
  %30528 = load i32, ptr @test_count, align 4, !tbaa !5
  %30529 = add nsw i32 %30528, 1
  store i32 %30529, ptr @test_count, align 4, !tbaa !5
  %30530 = load ptr, ptr %709, align 8, !tbaa !9
  %30531 = getelementptr inbounds [9 x i8], ptr %693, i64 0, i64 0
  %30532 = call i32 @s2n_psk_set_identity(ptr noundef %30530, ptr noundef %30531, i16 noundef zeroext 9)
  %30533 = icmp eq i32 %30532, -1
  br i1 %30533, label %30534, label %30587

30534:                                            ; preds = %30527
  br label %30535

30535:                                            ; preds = %30534
  br label %30536

30536:                                            ; preds = %30535
  call void @llvm.lifetime.start.p0(i64 4, ptr %710) #11
  %30537 = call ptr @__errno_location() #12
  %30538 = load i32, ptr %30537, align 4, !tbaa !5
  store i32 %30538, ptr %710, align 4, !tbaa !5
  %30539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30540 = call i32 @s2n_print_stacktrace(ptr noundef %30539)
  %30541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30542 = trunc i8 %30541 to i1
  br i1 %30542, label %30543, label %30565

30543:                                            ; preds = %30536
  %30544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30545 = call i32 @fileno(ptr noundef %30544) #11
  %30546 = call i32 @isatty(i32 noundef %30545) #11
  %30547 = icmp ne i32 %30546, 0
  br i1 %30547, label %30548, label %30565

30548:                                            ; preds = %30543
  %30549 = load i32, ptr %710, align 4, !tbaa !5
  %30550 = call ptr @__errno_location() #12
  store i32 %30549, ptr %30550, align 4, !tbaa !5
  %30551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30552 = load i32, ptr @test_count, align 4, !tbaa !5
  %30553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30554 = load i32, ptr %30553, align 4, !tbaa !5
  %30555 = call ptr @s2n_strerror(i32 noundef %30554, ptr noundef @.str.80)
  %30556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30557 = load i32, ptr %30556, align 4, !tbaa !5
  %30558 = call ptr @s2n_strerror_debug(i32 noundef %30557, ptr noundef @.str.80)
  %30559 = call ptr @__errno_location() #12
  %30560 = load i32, ptr %30559, align 4, !tbaa !5
  %30561 = call ptr @strerror(i32 noundef %30560) #11
  %30562 = call ptr @__errno_location() #12
  %30563 = load i32, ptr %30562, align 4, !tbaa !5
  %30564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30551, ptr noundef @.str.78, i32 noundef %30552, ptr noundef @.str.336, ptr noundef @.str.77, i32 noundef 1065, ptr noundef %30555, ptr noundef %30558, ptr noundef %30561, i32 noundef %30563) #11
  br label %30582

30565:                                            ; preds = %30543, %30536
  %30566 = load i32, ptr %710, align 4, !tbaa !5
  %30567 = call ptr @__errno_location() #12
  store i32 %30566, ptr %30567, align 4, !tbaa !5
  %30568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30569 = load i32, ptr @test_count, align 4, !tbaa !5
  %30570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30571 = load i32, ptr %30570, align 4, !tbaa !5
  %30572 = call ptr @s2n_strerror(i32 noundef %30571, ptr noundef @.str.80)
  %30573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30574 = load i32, ptr %30573, align 4, !tbaa !5
  %30575 = call ptr @s2n_strerror_debug(i32 noundef %30574, ptr noundef @.str.80)
  %30576 = call ptr @__errno_location() #12
  %30577 = load i32, ptr %30576, align 4, !tbaa !5
  %30578 = call ptr @strerror(i32 noundef %30577) #11
  %30579 = call ptr @__errno_location() #12
  %30580 = load i32, ptr %30579, align 4, !tbaa !5
  %30581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30568, ptr noundef @.str.81, i32 noundef %30569, ptr noundef @.str.336, ptr noundef @.str.77, i32 noundef 1065, ptr noundef %30572, ptr noundef %30575, ptr noundef %30578, i32 noundef %30580) #11
  br label %30582

30582:                                            ; preds = %30565, %30548
  call void @llvm.lifetime.end.p0(i64 4, ptr %710) #11
  br label %30583

30583:                                            ; preds = %30582
  br label %30584

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

30585:                                            ; No predecessors!
  br label %30586

30586:                                            ; preds = %30585
  br label %30587

30587:                                            ; preds = %30586, %30527
  br label %30588

30588:                                            ; preds = %30587
  br label %30589

30589:                                            ; preds = %30588
  %30590 = load ptr, ptr %709, align 8, !tbaa !9
  %30591 = load ptr, ptr %695, align 8, !tbaa !9
  %30592 = getelementptr inbounds %struct.s2n_connection, ptr %30591, i32 0, i32 33
  %30593 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %30592, i32 0, i32 4
  store ptr %30590, ptr %30593, align 8, !tbaa !65
  br label %30594

30594:                                            ; preds = %30589
  %30595 = load i32, ptr @test_count, align 4, !tbaa !5
  %30596 = add nsw i32 %30595, 1
  store i32 %30596, ptr @test_count, align 4, !tbaa !5
  %30597 = load ptr, ptr %695, align 8, !tbaa !9
  %30598 = call i32 @s2n_connection_get_negotiated_psk_identity_length(ptr noundef %30597, ptr noundef %697)
  %30599 = icmp eq i32 %30598, -1
  br i1 %30599, label %30600, label %30653

30600:                                            ; preds = %30594
  br label %30601

30601:                                            ; preds = %30600
  br label %30602

30602:                                            ; preds = %30601
  call void @llvm.lifetime.start.p0(i64 4, ptr %711) #11
  %30603 = call ptr @__errno_location() #12
  %30604 = load i32, ptr %30603, align 4, !tbaa !5
  store i32 %30604, ptr %711, align 4, !tbaa !5
  %30605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30606 = call i32 @s2n_print_stacktrace(ptr noundef %30605)
  %30607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30608 = trunc i8 %30607 to i1
  br i1 %30608, label %30609, label %30631

30609:                                            ; preds = %30602
  %30610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30611 = call i32 @fileno(ptr noundef %30610) #11
  %30612 = call i32 @isatty(i32 noundef %30611) #11
  %30613 = icmp ne i32 %30612, 0
  br i1 %30613, label %30614, label %30631

30614:                                            ; preds = %30609
  %30615 = load i32, ptr %711, align 4, !tbaa !5
  %30616 = call ptr @__errno_location() #12
  store i32 %30615, ptr %30616, align 4, !tbaa !5
  %30617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30618 = load i32, ptr @test_count, align 4, !tbaa !5
  %30619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30620 = load i32, ptr %30619, align 4, !tbaa !5
  %30621 = call ptr @s2n_strerror(i32 noundef %30620, ptr noundef @.str.80)
  %30622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30623 = load i32, ptr %30622, align 4, !tbaa !5
  %30624 = call ptr @s2n_strerror_debug(i32 noundef %30623, ptr noundef @.str.80)
  %30625 = call ptr @__errno_location() #12
  %30626 = load i32, ptr %30625, align 4, !tbaa !5
  %30627 = call ptr @strerror(i32 noundef %30626) #11
  %30628 = call ptr @__errno_location() #12
  %30629 = load i32, ptr %30628, align 4, !tbaa !5
  %30630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30617, ptr noundef @.str.78, i32 noundef %30618, ptr noundef @.str.344, ptr noundef @.str.77, i32 noundef 1067, ptr noundef %30621, ptr noundef %30624, ptr noundef %30627, i32 noundef %30629) #11
  br label %30648

30631:                                            ; preds = %30609, %30602
  %30632 = load i32, ptr %711, align 4, !tbaa !5
  %30633 = call ptr @__errno_location() #12
  store i32 %30632, ptr %30633, align 4, !tbaa !5
  %30634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30635 = load i32, ptr @test_count, align 4, !tbaa !5
  %30636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30637 = load i32, ptr %30636, align 4, !tbaa !5
  %30638 = call ptr @s2n_strerror(i32 noundef %30637, ptr noundef @.str.80)
  %30639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30640 = load i32, ptr %30639, align 4, !tbaa !5
  %30641 = call ptr @s2n_strerror_debug(i32 noundef %30640, ptr noundef @.str.80)
  %30642 = call ptr @__errno_location() #12
  %30643 = load i32, ptr %30642, align 4, !tbaa !5
  %30644 = call ptr @strerror(i32 noundef %30643) #11
  %30645 = call ptr @__errno_location() #12
  %30646 = load i32, ptr %30645, align 4, !tbaa !5
  %30647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30634, ptr noundef @.str.81, i32 noundef %30635, ptr noundef @.str.344, ptr noundef @.str.77, i32 noundef 1067, ptr noundef %30638, ptr noundef %30641, ptr noundef %30644, i32 noundef %30646) #11
  br label %30648

30648:                                            ; preds = %30631, %30614
  call void @llvm.lifetime.end.p0(i64 4, ptr %711) #11
  br label %30649

30649:                                            ; preds = %30648
  br label %30650

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

30651:                                            ; No predecessors!
  br label %30652

30652:                                            ; preds = %30651
  br label %30653

30653:                                            ; preds = %30652, %30594
  br label %30654

30654:                                            ; preds = %30653
  br label %30655

30655:                                            ; preds = %30654
  br label %30656

30656:                                            ; preds = %30655
  %30657 = load i32, ptr @test_count, align 4, !tbaa !5
  %30658 = add nsw i32 %30657, 1
  store i32 %30658, ptr @test_count, align 4, !tbaa !5
  %30659 = load ptr, ptr %695, align 8, !tbaa !9
  %30660 = getelementptr inbounds [9 x i8], ptr %696, i64 0, i64 0
  %30661 = load i16, ptr %697, align 2, !tbaa !66
  %30662 = call i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef %30659, ptr noundef %30660, i16 noundef zeroext %30661)
  %30663 = icmp eq i32 %30662, -1
  br i1 %30663, label %30664, label %30717

30664:                                            ; preds = %30656
  br label %30665

30665:                                            ; preds = %30664
  br label %30666

30666:                                            ; preds = %30665
  call void @llvm.lifetime.start.p0(i64 4, ptr %712) #11
  %30667 = call ptr @__errno_location() #12
  %30668 = load i32, ptr %30667, align 4, !tbaa !5
  store i32 %30668, ptr %712, align 4, !tbaa !5
  %30669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30670 = call i32 @s2n_print_stacktrace(ptr noundef %30669)
  %30671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30672 = trunc i8 %30671 to i1
  br i1 %30672, label %30673, label %30695

30673:                                            ; preds = %30666
  %30674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30675 = call i32 @fileno(ptr noundef %30674) #11
  %30676 = call i32 @isatty(i32 noundef %30675) #11
  %30677 = icmp ne i32 %30676, 0
  br i1 %30677, label %30678, label %30695

30678:                                            ; preds = %30673
  %30679 = load i32, ptr %712, align 4, !tbaa !5
  %30680 = call ptr @__errno_location() #12
  store i32 %30679, ptr %30680, align 4, !tbaa !5
  %30681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30682 = load i32, ptr @test_count, align 4, !tbaa !5
  %30683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30684 = load i32, ptr %30683, align 4, !tbaa !5
  %30685 = call ptr @s2n_strerror(i32 noundef %30684, ptr noundef @.str.80)
  %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_debug(i32 noundef %30687, ptr noundef @.str.80)
  %30689 = call ptr @__errno_location() #12
  %30690 = load i32, ptr %30689, align 4, !tbaa !5
  %30691 = call ptr @strerror(i32 noundef %30690) #11
  %30692 = call ptr @__errno_location() #12
  %30693 = load i32, ptr %30692, align 4, !tbaa !5
  %30694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30681, ptr noundef @.str.78, i32 noundef %30682, ptr noundef @.str.341, ptr noundef @.str.77, i32 noundef 1068, ptr noundef %30685, ptr noundef %30688, ptr noundef %30691, i32 noundef %30693) #11
  br label %30712

30695:                                            ; preds = %30673, %30666
  %30696 = load i32, ptr %712, align 4, !tbaa !5
  %30697 = call ptr @__errno_location() #12
  store i32 %30696, ptr %30697, align 4, !tbaa !5
  %30698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30699 = load i32, ptr @test_count, align 4, !tbaa !5
  %30700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30701 = load i32, ptr %30700, align 4, !tbaa !5
  %30702 = call ptr @s2n_strerror(i32 noundef %30701, ptr noundef @.str.80)
  %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_debug(i32 noundef %30704, ptr noundef @.str.80)
  %30706 = call ptr @__errno_location() #12
  %30707 = load i32, ptr %30706, align 4, !tbaa !5
  %30708 = call ptr @strerror(i32 noundef %30707) #11
  %30709 = call ptr @__errno_location() #12
  %30710 = load i32, ptr %30709, align 4, !tbaa !5
  %30711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30698, ptr noundef @.str.81, i32 noundef %30699, ptr noundef @.str.341, ptr noundef @.str.77, i32 noundef 1068, ptr noundef %30702, ptr noundef %30705, ptr noundef %30708, i32 noundef %30710) #11
  br label %30712

30712:                                            ; preds = %30695, %30678
  call void @llvm.lifetime.end.p0(i64 4, ptr %712) #11
  br label %30713

30713:                                            ; preds = %30712
  br label %30714

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

30715:                                            ; No predecessors!
  br label %30716

30716:                                            ; preds = %30715
  br label %30717

30717:                                            ; preds = %30716, %30656
  br label %30718

30718:                                            ; preds = %30717
  br label %30719

30719:                                            ; preds = %30718
  br label %30720

30720:                                            ; preds = %30719
  br label %30721

30721:                                            ; preds = %30720
  %30722 = load i32, ptr @test_count, align 4, !tbaa !5
  %30723 = add nsw i32 %30722, 1
  store i32 %30723, ptr @test_count, align 4, !tbaa !5
  %30724 = getelementptr inbounds [9 x i8], ptr %696, i64 0, i64 0
  %30725 = getelementptr inbounds [9 x i8], ptr %693, i64 0, i64 0
  %30726 = call i32 @memcmp(ptr noundef %30724, ptr noundef %30725, i64 noundef 9) #14
  %30727 = icmp eq i32 %30726, 0
  br i1 %30727, label %30781, label %30728

30728:                                            ; preds = %30721
  br label %30729

30729:                                            ; preds = %30728
  br label %30730

30730:                                            ; preds = %30729
  call void @llvm.lifetime.start.p0(i64 4, ptr %713) #11
  %30731 = call ptr @__errno_location() #12
  %30732 = load i32, ptr %30731, align 4, !tbaa !5
  store i32 %30732, ptr %713, align 4, !tbaa !5
  %30733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30734 = call i32 @s2n_print_stacktrace(ptr noundef %30733)
  %30735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30736 = trunc i8 %30735 to i1
  br i1 %30736, label %30737, label %30759

30737:                                            ; preds = %30730
  %30738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30739 = call i32 @fileno(ptr noundef %30738) #11
  %30740 = call i32 @isatty(i32 noundef %30739) #11
  %30741 = icmp ne i32 %30740, 0
  br i1 %30741, label %30742, label %30759

30742:                                            ; preds = %30737
  %30743 = load i32, ptr %713, align 4, !tbaa !5
  %30744 = call ptr @__errno_location() #12
  store i32 %30743, ptr %30744, align 4, !tbaa !5
  %30745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30746 = load i32, ptr @test_count, align 4, !tbaa !5
  %30747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30748 = load i32, ptr %30747, align 4, !tbaa !5
  %30749 = call ptr @s2n_strerror(i32 noundef %30748, ptr noundef @.str.80)
  %30750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30751 = load i32, ptr %30750, align 4, !tbaa !5
  %30752 = call ptr @s2n_strerror_debug(i32 noundef %30751, ptr noundef @.str.80)
  %30753 = call ptr @__errno_location() #12
  %30754 = load i32, ptr %30753, align 4, !tbaa !5
  %30755 = call ptr @strerror(i32 noundef %30754) #11
  %30756 = call ptr @__errno_location() #12
  %30757 = load i32, ptr %30756, align 4, !tbaa !5
  %30758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30745, ptr noundef @.str.78, i32 noundef %30746, ptr noundef @.str.345, ptr noundef @.str.77, i32 noundef 1069, ptr noundef %30749, ptr noundef %30752, ptr noundef %30755, i32 noundef %30757) #11
  br label %30776

30759:                                            ; preds = %30737, %30730
  %30760 = load i32, ptr %713, align 4, !tbaa !5
  %30761 = call ptr @__errno_location() #12
  store i32 %30760, ptr %30761, align 4, !tbaa !5
  %30762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30763 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30765, ptr noundef @.str.80)
  %30767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30768 = load i32, ptr %30767, align 4, !tbaa !5
  %30769 = call ptr @s2n_strerror_debug(i32 noundef %30768, ptr noundef @.str.80)
  %30770 = call ptr @__errno_location() #12
  %30771 = load i32, ptr %30770, align 4, !tbaa !5
  %30772 = call ptr @strerror(i32 noundef %30771) #11
  %30773 = call ptr @__errno_location() #12
  %30774 = load i32, ptr %30773, align 4, !tbaa !5
  %30775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30762, ptr noundef @.str.81, i32 noundef %30763, ptr noundef @.str.345, ptr noundef @.str.77, i32 noundef 1069, ptr noundef %30766, ptr noundef %30769, ptr noundef %30772, i32 noundef %30774) #11
  br label %30776

30776:                                            ; preds = %30759, %30742
  call void @llvm.lifetime.end.p0(i64 4, ptr %713) #11
  br label %30777

30777:                                            ; preds = %30776
  br label %30778

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

30779:                                            ; No predecessors!
  br label %30780

30780:                                            ; preds = %30779
  br label %30781

30781:                                            ; preds = %30780, %30721
  br label %30782

30782:                                            ; preds = %30781
  br label %30783

30783:                                            ; preds = %30782
  br label %30784

30784:                                            ; preds = %30783
  br label %30785

30785:                                            ; preds = %30784
  br label %30786

30786:                                            ; preds = %30785
  br label %30787

30787:                                            ; preds = %30786
  br label %30788

30788:                                            ; preds = %30787
  %30789 = load i32, ptr @test_count, align 4, !tbaa !5
  %30790 = add nsw i32 %30789, 1
  store i32 %30790, ptr @test_count, align 4, !tbaa !5
  %30791 = load ptr, ptr %695, align 8, !tbaa !9
  %30792 = getelementptr inbounds [9 x i8], ptr %696, i64 0, i64 0
  %30793 = call i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef %30791, ptr noundef %30792, i16 noundef zeroext 0)
  %30794 = icmp eq i32 %30793, -1
  br i1 %30794, label %30848, label %30795

30795:                                            ; preds = %30788
  br label %30796

30796:                                            ; preds = %30795
  br label %30797

30797:                                            ; preds = %30796
  call void @llvm.lifetime.start.p0(i64 4, ptr %714) #11
  %30798 = call ptr @__errno_location() #12
  %30799 = load i32, ptr %30798, align 4, !tbaa !5
  store i32 %30799, ptr %714, align 4, !tbaa !5
  %30800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30801 = call i32 @s2n_print_stacktrace(ptr noundef %30800)
  %30802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30803 = trunc i8 %30802 to i1
  br i1 %30803, label %30804, label %30826

30804:                                            ; preds = %30797
  %30805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30806 = call i32 @fileno(ptr noundef %30805) #11
  %30807 = call i32 @isatty(i32 noundef %30806) #11
  %30808 = icmp ne i32 %30807, 0
  br i1 %30808, label %30809, label %30826

30809:                                            ; preds = %30804
  %30810 = load i32, ptr %714, align 4, !tbaa !5
  %30811 = call ptr @__errno_location() #12
  store i32 %30810, ptr %30811, align 4, !tbaa !5
  %30812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30813 = load i32, ptr @test_count, align 4, !tbaa !5
  %30814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30815 = load i32, ptr %30814, align 4, !tbaa !5
  %30816 = call ptr @s2n_strerror(i32 noundef %30815, ptr noundef @.str.80)
  %30817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30818 = load i32, ptr %30817, align 4, !tbaa !5
  %30819 = call ptr @s2n_strerror_debug(i32 noundef %30818, ptr noundef @.str.80)
  %30820 = call ptr @__errno_location() #12
  %30821 = load i32, ptr %30820, align 4, !tbaa !5
  %30822 = call ptr @strerror(i32 noundef %30821) #11
  %30823 = call ptr @__errno_location() #12
  %30824 = load i32, ptr %30823, align 4, !tbaa !5
  %30825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30812, ptr noundef @.str.78, i32 noundef %30813, ptr noundef @.str.346, ptr noundef @.str.77, i32 noundef 1071, ptr noundef %30816, ptr noundef %30819, ptr noundef %30822, i32 noundef %30824) #11
  br label %30843

30826:                                            ; preds = %30804, %30797
  %30827 = load i32, ptr %714, align 4, !tbaa !5
  %30828 = call ptr @__errno_location() #12
  store i32 %30827, ptr %30828, align 4, !tbaa !5
  %30829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30830 = load i32, ptr @test_count, align 4, !tbaa !5
  %30831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30832 = load i32, ptr %30831, align 4, !tbaa !5
  %30833 = call ptr @s2n_strerror(i32 noundef %30832, ptr noundef @.str.80)
  %30834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30835 = load i32, ptr %30834, align 4, !tbaa !5
  %30836 = call ptr @s2n_strerror_debug(i32 noundef %30835, ptr noundef @.str.80)
  %30837 = call ptr @__errno_location() #12
  %30838 = load i32, ptr %30837, align 4, !tbaa !5
  %30839 = call ptr @strerror(i32 noundef %30838) #11
  %30840 = call ptr @__errno_location() #12
  %30841 = load i32, ptr %30840, align 4, !tbaa !5
  %30842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30829, ptr noundef @.str.81, i32 noundef %30830, ptr noundef @.str.346, ptr noundef @.str.77, i32 noundef 1071, ptr noundef %30833, ptr noundef %30836, ptr noundef %30839, i32 noundef %30841) #11
  br label %30843

30843:                                            ; preds = %30826, %30809
  call void @llvm.lifetime.end.p0(i64 4, ptr %714) #11
  br label %30844

30844:                                            ; preds = %30843
  br label %30845

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

30846:                                            ; No predecessors!
  br label %30847

30847:                                            ; preds = %30846
  br label %30848

30848:                                            ; preds = %30847, %30788
  br label %30849

30849:                                            ; preds = %30848
  br label %30850

30850:                                            ; preds = %30849
  br label %30851

30851:                                            ; preds = %30850
  %30852 = load i32, ptr @test_count, align 4, !tbaa !5
  %30853 = add nsw i32 %30852, 1
  store i32 %30853, ptr @test_count, align 4, !tbaa !5
  %30854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30855 = load i32, ptr %30854, align 4, !tbaa !5
  %30856 = icmp eq i32 %30855, 469762120
  br i1 %30856, label %30910, label %30857

30857:                                            ; preds = %30851
  br label %30858

30858:                                            ; preds = %30857
  br label %30859

30859:                                            ; preds = %30858
  call void @llvm.lifetime.start.p0(i64 4, ptr %715) #11
  %30860 = call ptr @__errno_location() #12
  %30861 = load i32, ptr %30860, align 4, !tbaa !5
  store i32 %30861, ptr %715, align 4, !tbaa !5
  %30862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30863 = call i32 @s2n_print_stacktrace(ptr noundef %30862)
  %30864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30865 = trunc i8 %30864 to i1
  br i1 %30865, label %30866, label %30888

30866:                                            ; preds = %30859
  %30867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30868 = call i32 @fileno(ptr noundef %30867) #11
  %30869 = call i32 @isatty(i32 noundef %30868) #11
  %30870 = icmp ne i32 %30869, 0
  br i1 %30870, label %30871, label %30888

30871:                                            ; preds = %30866
  %30872 = load i32, ptr %715, align 4, !tbaa !5
  %30873 = call ptr @__errno_location() #12
  store i32 %30872, ptr %30873, align 4, !tbaa !5
  %30874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30875 = load i32, ptr @test_count, align 4, !tbaa !5
  %30876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30877 = load i32, ptr %30876, align 4, !tbaa !5
  %30878 = call ptr @s2n_strerror(i32 noundef %30877, ptr noundef @.str.80)
  %30879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30880 = load i32, ptr %30879, align 4, !tbaa !5
  %30881 = call ptr @s2n_strerror_debug(i32 noundef %30880, ptr noundef @.str.80)
  %30882 = call ptr @__errno_location() #12
  %30883 = load i32, ptr %30882, align 4, !tbaa !5
  %30884 = call ptr @strerror(i32 noundef %30883) #11
  %30885 = call ptr @__errno_location() #12
  %30886 = load i32, ptr %30885, align 4, !tbaa !5
  %30887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30874, ptr noundef @.str.78, i32 noundef %30875, ptr noundef @.str.347, ptr noundef @.str.77, i32 noundef 1071, ptr noundef %30878, ptr noundef %30881, ptr noundef %30884, i32 noundef %30886) #11
  br label %30905

30888:                                            ; preds = %30866, %30859
  %30889 = load i32, ptr %715, align 4, !tbaa !5
  %30890 = call ptr @__errno_location() #12
  store i32 %30889, ptr %30890, align 4, !tbaa !5
  %30891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30892 = load i32, ptr @test_count, align 4, !tbaa !5
  %30893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30894 = load i32, ptr %30893, align 4, !tbaa !5
  %30895 = call ptr @s2n_strerror(i32 noundef %30894, ptr noundef @.str.80)
  %30896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30897 = load i32, ptr %30896, align 4, !tbaa !5
  %30898 = call ptr @s2n_strerror_debug(i32 noundef %30897, ptr noundef @.str.80)
  %30899 = call ptr @__errno_location() #12
  %30900 = load i32, ptr %30899, align 4, !tbaa !5
  %30901 = call ptr @strerror(i32 noundef %30900) #11
  %30902 = call ptr @__errno_location() #12
  %30903 = load i32, ptr %30902, align 4, !tbaa !5
  %30904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30891, ptr noundef @.str.81, i32 noundef %30892, ptr noundef @.str.347, ptr noundef @.str.77, i32 noundef 1071, ptr noundef %30895, ptr noundef %30898, ptr noundef %30901, i32 noundef %30903) #11
  br label %30905

30905:                                            ; preds = %30888, %30871
  call void @llvm.lifetime.end.p0(i64 4, ptr %715) #11
  br label %30906

30906:                                            ; preds = %30905
  br label %30907

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

30908:                                            ; No predecessors!
  br label %30909

30909:                                            ; preds = %30908
  br label %30910

30910:                                            ; preds = %30909, %30851
  br label %30911

30911:                                            ; preds = %30910
  br label %30912

30912:                                            ; preds = %30911
  br label %30913

30913:                                            ; preds = %30912
  %30914 = load i32, ptr @test_count, align 4, !tbaa !5
  %30915 = add nsw i32 %30914, 1
  store i32 %30915, ptr @test_count, align 4, !tbaa !5
  %30916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30917 = load i32, ptr %30916, align 4, !tbaa !5
  %30918 = call ptr @s2n_strerror_debug(i32 noundef %30917, ptr noundef @.str.80)
  %30919 = icmp eq ptr %30918, null
  br i1 %30919, label %30920, label %30973

30920:                                            ; preds = %30913
  br label %30921

30921:                                            ; preds = %30920
  br label %30922

30922:                                            ; preds = %30921
  call void @llvm.lifetime.start.p0(i64 4, ptr %716) #11
  %30923 = call ptr @__errno_location() #12
  %30924 = load i32, ptr %30923, align 4, !tbaa !5
  store i32 %30924, ptr %716, align 4, !tbaa !5
  %30925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30926 = call i32 @s2n_print_stacktrace(ptr noundef %30925)
  %30927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30928 = trunc i8 %30927 to i1
  br i1 %30928, label %30929, label %30951

30929:                                            ; preds = %30922
  %30930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30931 = call i32 @fileno(ptr noundef %30930) #11
  %30932 = call i32 @isatty(i32 noundef %30931) #11
  %30933 = icmp ne i32 %30932, 0
  br i1 %30933, label %30934, label %30951

30934:                                            ; preds = %30929
  %30935 = load i32, ptr %716, align 4, !tbaa !5
  %30936 = call ptr @__errno_location() #12
  store i32 %30935, ptr %30936, align 4, !tbaa !5
  %30937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30938 = load i32, ptr @test_count, align 4, !tbaa !5
  %30939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30940 = load i32, ptr %30939, align 4, !tbaa !5
  %30941 = call ptr @s2n_strerror(i32 noundef %30940, ptr noundef @.str.80)
  %30942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30943 = load i32, ptr %30942, align 4, !tbaa !5
  %30944 = call ptr @s2n_strerror_debug(i32 noundef %30943, ptr noundef @.str.80)
  %30945 = call ptr @__errno_location() #12
  %30946 = load i32, ptr %30945, align 4, !tbaa !5
  %30947 = call ptr @strerror(i32 noundef %30946) #11
  %30948 = call ptr @__errno_location() #12
  %30949 = load i32, ptr %30948, align 4, !tbaa !5
  %30950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30937, ptr noundef @.str.78, i32 noundef %30938, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1071, ptr noundef %30941, ptr noundef %30944, ptr noundef %30947, i32 noundef %30949) #11
  br label %30968

30951:                                            ; preds = %30929, %30922
  %30952 = load i32, ptr %716, align 4, !tbaa !5
  %30953 = call ptr @__errno_location() #12
  store i32 %30952, ptr %30953, align 4, !tbaa !5
  %30954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30955 = load i32, ptr @test_count, align 4, !tbaa !5
  %30956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30957 = load i32, ptr %30956, align 4, !tbaa !5
  %30958 = call ptr @s2n_strerror(i32 noundef %30957, ptr noundef @.str.80)
  %30959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30960 = load i32, ptr %30959, align 4, !tbaa !5
  %30961 = call ptr @s2n_strerror_debug(i32 noundef %30960, ptr noundef @.str.80)
  %30962 = call ptr @__errno_location() #12
  %30963 = load i32, ptr %30962, align 4, !tbaa !5
  %30964 = call ptr @strerror(i32 noundef %30963) #11
  %30965 = call ptr @__errno_location() #12
  %30966 = load i32, ptr %30965, align 4, !tbaa !5
  %30967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30954, ptr noundef @.str.81, i32 noundef %30955, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1071, ptr noundef %30958, ptr noundef %30961, ptr noundef %30964, i32 noundef %30966) #11
  br label %30968

30968:                                            ; preds = %30951, %30934
  call void @llvm.lifetime.end.p0(i64 4, ptr %716) #11
  br label %30969

30969:                                            ; preds = %30968
  br label %30970

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

30971:                                            ; No predecessors!
  br label %30972

30972:                                            ; preds = %30971
  br label %30973

30973:                                            ; preds = %30972, %30913
  br label %30974

30974:                                            ; preds = %30973
  br label %30975

30975:                                            ; preds = %30974
  br label %30976

30976:                                            ; preds = %30975
  br label %30977

30977:                                            ; preds = %30976
  br label %30978

30978:                                            ; preds = %30977
  %30979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %30979, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %30980 = call ptr @__errno_location() #12
  store i32 0, ptr %30980, align 4, !tbaa !5
  br label %30981

30981:                                            ; preds = %30978
  br label %30982

30982:                                            ; preds = %30981
  br label %30983

30983:                                            ; preds = %30982
  br label %30984

30984:                                            ; preds = %30983
  br label %30985

30985:                                            ; preds = %30984
  %30986 = load i32, ptr @test_count, align 4, !tbaa !5
  %30987 = add nsw i32 %30986, 1
  store i32 %30987, ptr @test_count, align 4, !tbaa !5
  %30988 = load ptr, ptr %695, align 8, !tbaa !9
  %30989 = call i32 @s2n_connection_free(ptr noundef %30988)
  %30990 = icmp eq i32 %30989, -1
  br i1 %30990, label %30991, label %31044

30991:                                            ; preds = %30985
  br label %30992

30992:                                            ; preds = %30991
  br label %30993

30993:                                            ; preds = %30992
  call void @llvm.lifetime.start.p0(i64 4, ptr %717) #11
  %30994 = call ptr @__errno_location() #12
  %30995 = load i32, ptr %30994, align 4, !tbaa !5
  store i32 %30995, ptr %717, align 4, !tbaa !5
  %30996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30997 = call i32 @s2n_print_stacktrace(ptr noundef %30996)
  %30998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30999 = trunc i8 %30998 to i1
  br i1 %30999, label %31000, label %31022

31000:                                            ; preds = %30993
  %31001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31002 = call i32 @fileno(ptr noundef %31001) #11
  %31003 = call i32 @isatty(i32 noundef %31002) #11
  %31004 = icmp ne i32 %31003, 0
  br i1 %31004, label %31005, label %31022

31005:                                            ; preds = %31000
  %31006 = load i32, ptr %717, align 4, !tbaa !5
  %31007 = call ptr @__errno_location() #12
  store i32 %31006, ptr %31007, align 4, !tbaa !5
  %31008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31009 = load i32, ptr @test_count, align 4, !tbaa !5
  %31010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31011 = load i32, ptr %31010, align 4, !tbaa !5
  %31012 = call ptr @s2n_strerror(i32 noundef %31011, ptr noundef @.str.80)
  %31013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31014 = load i32, ptr %31013, align 4, !tbaa !5
  %31015 = call ptr @s2n_strerror_debug(i32 noundef %31014, ptr noundef @.str.80)
  %31016 = call ptr @__errno_location() #12
  %31017 = load i32, ptr %31016, align 4, !tbaa !5
  %31018 = call ptr @strerror(i32 noundef %31017) #11
  %31019 = call ptr @__errno_location() #12
  %31020 = load i32, ptr %31019, align 4, !tbaa !5
  %31021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31008, ptr noundef @.str.78, i32 noundef %31009, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 1072, ptr noundef %31012, ptr noundef %31015, ptr noundef %31018, i32 noundef %31020) #11
  br label %31039

31022:                                            ; preds = %31000, %30993
  %31023 = load i32, ptr %717, align 4, !tbaa !5
  %31024 = call ptr @__errno_location() #12
  store i32 %31023, ptr %31024, align 4, !tbaa !5
  %31025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31026 = load i32, ptr @test_count, align 4, !tbaa !5
  %31027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31028 = load i32, ptr %31027, align 4, !tbaa !5
  %31029 = call ptr @s2n_strerror(i32 noundef %31028, ptr noundef @.str.80)
  %31030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31031 = load i32, ptr %31030, align 4, !tbaa !5
  %31032 = call ptr @s2n_strerror_debug(i32 noundef %31031, ptr noundef @.str.80)
  %31033 = call ptr @__errno_location() #12
  %31034 = load i32, ptr %31033, align 4, !tbaa !5
  %31035 = call ptr @strerror(i32 noundef %31034) #11
  %31036 = call ptr @__errno_location() #12
  %31037 = load i32, ptr %31036, align 4, !tbaa !5
  %31038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31025, ptr noundef @.str.81, i32 noundef %31026, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 1072, ptr noundef %31029, ptr noundef %31032, ptr noundef %31035, i32 noundef %31037) #11
  br label %31039

31039:                                            ; preds = %31022, %31005
  call void @llvm.lifetime.end.p0(i64 4, ptr %717) #11
  br label %31040

31040:                                            ; preds = %31039
  br label %31041

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

31042:                                            ; No predecessors!
  br label %31043

31043:                                            ; preds = %31042
  br label %31044

31044:                                            ; preds = %31043, %30985
  br label %31045

31045:                                            ; preds = %31044
  br label %31046

31046:                                            ; preds = %31045
  %31047 = call i32 @s2n_psk_free(ptr noundef %709)
  call void @llvm.lifetime.end.p0(i64 8, ptr %709) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %697) #11
  call void @llvm.lifetime.end.p0(i64 9, ptr %696) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %695) #11
  call void @llvm.lifetime.end.p0(i64 9, ptr %694) #11
  call void @llvm.lifetime.end.p0(i64 9, ptr %693) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %718) #11
  store i64 100, ptr %718, align 8, !tbaa !38
  br label %31048

31048:                                            ; preds = %31046
  br label %31049

31049:                                            ; preds = %31048
  br label %31050

31050:                                            ; preds = %31049
  %31051 = load i32, ptr @test_count, align 4, !tbaa !5
  %31052 = add nsw i32 %31051, 1
  store i32 %31052, ptr @test_count, align 4, !tbaa !5
  %31053 = call i32 @s2n_psk_validate_keying_material(ptr noundef null)
  %31054 = getelementptr inbounds %struct.s2n_result, ptr %719, i32 0, i32 0
  store i32 %31053, ptr %31054, align 4
  %31055 = getelementptr inbounds %struct.s2n_result, ptr %719, i32 0, i32 0
  %31056 = load i32, ptr %31055, align 4
  %31057 = call zeroext i1 @s2n_result_is_error(i32 %31056)
  br i1 %31057, label %31111, label %31058

31058:                                            ; preds = %31050
  br label %31059

31059:                                            ; preds = %31058
  br label %31060

31060:                                            ; preds = %31059
  call void @llvm.lifetime.start.p0(i64 4, ptr %720) #11
  %31061 = call ptr @__errno_location() #12
  %31062 = load i32, ptr %31061, align 4, !tbaa !5
  store i32 %31062, ptr %720, align 4, !tbaa !5
  %31063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31064 = call i32 @s2n_print_stacktrace(ptr noundef %31063)
  %31065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31066 = trunc i8 %31065 to i1
  br i1 %31066, label %31067, label %31089

31067:                                            ; preds = %31060
  %31068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31069 = call i32 @fileno(ptr noundef %31068) #11
  %31070 = call i32 @isatty(i32 noundef %31069) #11
  %31071 = icmp ne i32 %31070, 0
  br i1 %31071, label %31072, label %31089

31072:                                            ; preds = %31067
  %31073 = load i32, ptr %720, align 4, !tbaa !5
  %31074 = call ptr @__errno_location() #12
  store i32 %31073, ptr %31074, align 4, !tbaa !5
  %31075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31076 = load i32, ptr @test_count, align 4, !tbaa !5
  %31077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31078 = load i32, ptr %31077, align 4, !tbaa !5
  %31079 = call ptr @s2n_strerror(i32 noundef %31078, ptr noundef @.str.80)
  %31080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31081 = load i32, ptr %31080, align 4, !tbaa !5
  %31082 = call ptr @s2n_strerror_debug(i32 noundef %31081, ptr noundef @.str.80)
  %31083 = call ptr @__errno_location() #12
  %31084 = load i32, ptr %31083, align 4, !tbaa !5
  %31085 = call ptr @strerror(i32 noundef %31084) #11
  %31086 = call ptr @__errno_location() #12
  %31087 = load i32, ptr %31086, align 4, !tbaa !5
  %31088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31075, ptr noundef @.str.78, i32 noundef %31076, ptr noundef @.str.348, ptr noundef @.str.77, i32 noundef 1080, ptr noundef %31079, ptr noundef %31082, ptr noundef %31085, i32 noundef %31087) #11
  br label %31106

31089:                                            ; preds = %31067, %31060
  %31090 = load i32, ptr %720, align 4, !tbaa !5
  %31091 = call ptr @__errno_location() #12
  store i32 %31090, ptr %31091, align 4, !tbaa !5
  %31092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31093 = load i32, ptr @test_count, align 4, !tbaa !5
  %31094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31095 = load i32, ptr %31094, align 4, !tbaa !5
  %31096 = call ptr @s2n_strerror(i32 noundef %31095, ptr noundef @.str.80)
  %31097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31098 = load i32, ptr %31097, align 4, !tbaa !5
  %31099 = call ptr @s2n_strerror_debug(i32 noundef %31098, ptr noundef @.str.80)
  %31100 = call ptr @__errno_location() #12
  %31101 = load i32, ptr %31100, align 4, !tbaa !5
  %31102 = call ptr @strerror(i32 noundef %31101) #11
  %31103 = call ptr @__errno_location() #12
  %31104 = load i32, ptr %31103, align 4, !tbaa !5
  %31105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31092, ptr noundef @.str.81, i32 noundef %31093, ptr noundef @.str.348, ptr noundef @.str.77, i32 noundef 1080, ptr noundef %31096, ptr noundef %31099, ptr noundef %31102, i32 noundef %31104) #11
  br label %31106

31106:                                            ; preds = %31089, %31072
  call void @llvm.lifetime.end.p0(i64 4, ptr %720) #11
  br label %31107

31107:                                            ; preds = %31106
  br label %31108

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

31109:                                            ; No predecessors!
  br label %31110

31110:                                            ; preds = %31109
  br label %31111

31111:                                            ; preds = %31110, %31050
  br label %31112

31112:                                            ; preds = %31111
  br label %31113

31113:                                            ; preds = %31112
  br label %31114

31114:                                            ; preds = %31113
  %31115 = load i32, ptr @test_count, align 4, !tbaa !5
  %31116 = add nsw i32 %31115, 1
  store i32 %31116, ptr @test_count, align 4, !tbaa !5
  %31117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31118 = load i32, ptr %31117, align 4, !tbaa !5
  %31119 = icmp eq i32 %31118, 402653193
  br i1 %31119, label %31173, label %31120

31120:                                            ; preds = %31114
  br label %31121

31121:                                            ; preds = %31120
  br label %31122

31122:                                            ; preds = %31121
  call void @llvm.lifetime.start.p0(i64 4, ptr %721) #11
  %31123 = call ptr @__errno_location() #12
  %31124 = load i32, ptr %31123, align 4, !tbaa !5
  store i32 %31124, ptr %721, align 4, !tbaa !5
  %31125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31126 = call i32 @s2n_print_stacktrace(ptr noundef %31125)
  %31127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31128 = trunc i8 %31127 to i1
  br i1 %31128, label %31129, label %31151

31129:                                            ; preds = %31122
  %31130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31131 = call i32 @fileno(ptr noundef %31130) #11
  %31132 = call i32 @isatty(i32 noundef %31131) #11
  %31133 = icmp ne i32 %31132, 0
  br i1 %31133, label %31134, label %31151

31134:                                            ; preds = %31129
  %31135 = load i32, ptr %721, align 4, !tbaa !5
  %31136 = call ptr @__errno_location() #12
  store i32 %31135, ptr %31136, align 4, !tbaa !5
  %31137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31138 = load i32, ptr @test_count, align 4, !tbaa !5
  %31139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31140 = load i32, ptr %31139, align 4, !tbaa !5
  %31141 = call ptr @s2n_strerror(i32 noundef %31140, ptr noundef @.str.80)
  %31142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31143 = load i32, ptr %31142, align 4, !tbaa !5
  %31144 = call ptr @s2n_strerror_debug(i32 noundef %31143, ptr noundef @.str.80)
  %31145 = call ptr @__errno_location() #12
  %31146 = load i32, ptr %31145, align 4, !tbaa !5
  %31147 = call ptr @strerror(i32 noundef %31146) #11
  %31148 = call ptr @__errno_location() #12
  %31149 = load i32, ptr %31148, align 4, !tbaa !5
  %31150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31137, ptr noundef @.str.78, i32 noundef %31138, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1080, ptr noundef %31141, ptr noundef %31144, ptr noundef %31147, i32 noundef %31149) #11
  br label %31168

31151:                                            ; preds = %31129, %31122
  %31152 = load i32, ptr %721, align 4, !tbaa !5
  %31153 = call ptr @__errno_location() #12
  store i32 %31152, ptr %31153, align 4, !tbaa !5
  %31154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31155 = load i32, ptr @test_count, align 4, !tbaa !5
  %31156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31157 = load i32, ptr %31156, align 4, !tbaa !5
  %31158 = call ptr @s2n_strerror(i32 noundef %31157, ptr noundef @.str.80)
  %31159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31160 = load i32, ptr %31159, align 4, !tbaa !5
  %31161 = call ptr @s2n_strerror_debug(i32 noundef %31160, ptr noundef @.str.80)
  %31162 = call ptr @__errno_location() #12
  %31163 = load i32, ptr %31162, align 4, !tbaa !5
  %31164 = call ptr @strerror(i32 noundef %31163) #11
  %31165 = call ptr @__errno_location() #12
  %31166 = load i32, ptr %31165, align 4, !tbaa !5
  %31167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31154, ptr noundef @.str.81, i32 noundef %31155, ptr noundef @.str.85, ptr noundef @.str.77, i32 noundef 1080, ptr noundef %31158, ptr noundef %31161, ptr noundef %31164, i32 noundef %31166) #11
  br label %31168

31168:                                            ; preds = %31151, %31134
  call void @llvm.lifetime.end.p0(i64 4, ptr %721) #11
  br label %31169

31169:                                            ; preds = %31168
  br label %31170

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

31171:                                            ; No predecessors!
  br label %31172

31172:                                            ; preds = %31171
  br label %31173

31173:                                            ; preds = %31172, %31114
  br label %31174

31174:                                            ; preds = %31173
  br label %31175

31175:                                            ; preds = %31174
  br label %31176

31176:                                            ; preds = %31175
  %31177 = load i32, ptr @test_count, align 4, !tbaa !5
  %31178 = add nsw i32 %31177, 1
  store i32 %31178, ptr @test_count, align 4, !tbaa !5
  %31179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31180 = load i32, ptr %31179, align 4, !tbaa !5
  %31181 = call ptr @s2n_strerror_debug(i32 noundef %31180, ptr noundef @.str.80)
  %31182 = icmp eq ptr %31181, null
  br i1 %31182, label %31183, label %31236

31183:                                            ; preds = %31176
  br label %31184

31184:                                            ; preds = %31183
  br label %31185

31185:                                            ; preds = %31184
  call void @llvm.lifetime.start.p0(i64 4, ptr %722) #11
  %31186 = call ptr @__errno_location() #12
  %31187 = load i32, ptr %31186, align 4, !tbaa !5
  store i32 %31187, ptr %722, align 4, !tbaa !5
  %31188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31189 = call i32 @s2n_print_stacktrace(ptr noundef %31188)
  %31190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31191 = trunc i8 %31190 to i1
  br i1 %31191, label %31192, label %31214

31192:                                            ; preds = %31185
  %31193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31194 = call i32 @fileno(ptr noundef %31193) #11
  %31195 = call i32 @isatty(i32 noundef %31194) #11
  %31196 = icmp ne i32 %31195, 0
  br i1 %31196, label %31197, label %31214

31197:                                            ; preds = %31192
  %31198 = load i32, ptr %722, align 4, !tbaa !5
  %31199 = call ptr @__errno_location() #12
  store i32 %31198, ptr %31199, align 4, !tbaa !5
  %31200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31201 = load i32, ptr @test_count, align 4, !tbaa !5
  %31202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31203 = load i32, ptr %31202, align 4, !tbaa !5
  %31204 = call ptr @s2n_strerror(i32 noundef %31203, ptr noundef @.str.80)
  %31205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31206 = load i32, ptr %31205, align 4, !tbaa !5
  %31207 = call ptr @s2n_strerror_debug(i32 noundef %31206, ptr noundef @.str.80)
  %31208 = call ptr @__errno_location() #12
  %31209 = load i32, ptr %31208, align 4, !tbaa !5
  %31210 = call ptr @strerror(i32 noundef %31209) #11
  %31211 = call ptr @__errno_location() #12
  %31212 = load i32, ptr %31211, align 4, !tbaa !5
  %31213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31200, ptr noundef @.str.78, i32 noundef %31201, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1080, ptr noundef %31204, ptr noundef %31207, ptr noundef %31210, i32 noundef %31212) #11
  br label %31231

31214:                                            ; preds = %31192, %31185
  %31215 = load i32, ptr %722, align 4, !tbaa !5
  %31216 = call ptr @__errno_location() #12
  store i32 %31215, ptr %31216, align 4, !tbaa !5
  %31217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31218 = load i32, ptr @test_count, align 4, !tbaa !5
  %31219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31220 = load i32, ptr %31219, align 4, !tbaa !5
  %31221 = call ptr @s2n_strerror(i32 noundef %31220, ptr noundef @.str.80)
  %31222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31223 = load i32, ptr %31222, align 4, !tbaa !5
  %31224 = call ptr @s2n_strerror_debug(i32 noundef %31223, ptr noundef @.str.80)
  %31225 = call ptr @__errno_location() #12
  %31226 = load i32, ptr %31225, align 4, !tbaa !5
  %31227 = call ptr @strerror(i32 noundef %31226) #11
  %31228 = call ptr @__errno_location() #12
  %31229 = load i32, ptr %31228, align 4, !tbaa !5
  %31230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31217, ptr noundef @.str.81, i32 noundef %31218, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1080, ptr noundef %31221, ptr noundef %31224, ptr noundef %31227, i32 noundef %31229) #11
  br label %31231

31231:                                            ; preds = %31214, %31197
  call void @llvm.lifetime.end.p0(i64 4, ptr %722) #11
  br label %31232

31232:                                            ; preds = %31231
  br label %31233

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

31234:                                            ; No predecessors!
  br label %31235

31235:                                            ; preds = %31234
  br label %31236

31236:                                            ; preds = %31235, %31176
  br label %31237

31237:                                            ; preds = %31236
  br label %31238

31238:                                            ; preds = %31237
  br label %31239

31239:                                            ; preds = %31238
  br label %31240

31240:                                            ; preds = %31239
  br label %31241

31241:                                            ; preds = %31240
  %31242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %31242, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %31243 = call ptr @__errno_location() #12
  store i32 0, ptr %31243, align 4, !tbaa !5
  br label %31244

31244:                                            ; preds = %31241
  br label %31245

31245:                                            ; preds = %31244
  br label %31246

31246:                                            ; preds = %31245
  br label %31247

31247:                                            ; preds = %31246
  call void @llvm.lifetime.start.p0(i64 8, ptr %723) #11
  %31248 = call ptr @s2n_config_new()
  store ptr %31248, ptr %723, align 8, !tbaa !9
  br label %31249

31249:                                            ; preds = %31247
  %31250 = load i32, ptr @test_count, align 4, !tbaa !5
  %31251 = add nsw i32 %31250, 1
  store i32 %31251, ptr @test_count, align 4, !tbaa !5
  %31252 = load ptr, ptr %723, align 8, !tbaa !9
  %31253 = icmp eq ptr %31252, null
  br i1 %31253, label %31254, label %31307

31254:                                            ; preds = %31249
  br label %31255

31255:                                            ; preds = %31254
  br label %31256

31256:                                            ; preds = %31255
  call void @llvm.lifetime.start.p0(i64 4, ptr %724) #11
  %31257 = call ptr @__errno_location() #12
  %31258 = load i32, ptr %31257, align 4, !tbaa !5
  store i32 %31258, ptr %724, align 4, !tbaa !5
  %31259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31260 = call i32 @s2n_print_stacktrace(ptr noundef %31259)
  %31261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31262 = trunc i8 %31261 to i1
  br i1 %31262, label %31263, label %31285

31263:                                            ; preds = %31256
  %31264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31265 = call i32 @fileno(ptr noundef %31264) #11
  %31266 = call i32 @isatty(i32 noundef %31265) #11
  %31267 = icmp ne i32 %31266, 0
  br i1 %31267, label %31268, label %31285

31268:                                            ; preds = %31263
  %31269 = load i32, ptr %724, align 4, !tbaa !5
  %31270 = call ptr @__errno_location() #12
  store i32 %31269, ptr %31270, align 4, !tbaa !5
  %31271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31272 = load i32, ptr @test_count, align 4, !tbaa !5
  %31273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31274 = load i32, ptr %31273, align 4, !tbaa !5
  %31275 = call ptr @s2n_strerror(i32 noundef %31274, ptr noundef @.str.80)
  %31276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31277 = load i32, ptr %31276, align 4, !tbaa !5
  %31278 = call ptr @s2n_strerror_debug(i32 noundef %31277, ptr noundef @.str.80)
  %31279 = call ptr @__errno_location() #12
  %31280 = load i32, ptr %31279, align 4, !tbaa !5
  %31281 = call ptr @strerror(i32 noundef %31280) #11
  %31282 = call ptr @__errno_location() #12
  %31283 = load i32, ptr %31282, align 4, !tbaa !5
  %31284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31271, ptr noundef @.str.78, i32 noundef %31272, ptr noundef @.str.317, ptr noundef @.str.77, i32 noundef 1083, ptr noundef %31275, ptr noundef %31278, ptr noundef %31281, i32 noundef %31283) #11
  br label %31302

31285:                                            ; preds = %31263, %31256
  %31286 = load i32, ptr %724, align 4, !tbaa !5
  %31287 = call ptr @__errno_location() #12
  store i32 %31286, ptr %31287, align 4, !tbaa !5
  %31288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31289 = load i32, ptr @test_count, align 4, !tbaa !5
  %31290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31291 = load i32, ptr %31290, align 4, !tbaa !5
  %31292 = call ptr @s2n_strerror(i32 noundef %31291, ptr noundef @.str.80)
  %31293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31294 = load i32, ptr %31293, align 4, !tbaa !5
  %31295 = call ptr @s2n_strerror_debug(i32 noundef %31294, ptr noundef @.str.80)
  %31296 = call ptr @__errno_location() #12
  %31297 = load i32, ptr %31296, align 4, !tbaa !5
  %31298 = call ptr @strerror(i32 noundef %31297) #11
  %31299 = call ptr @__errno_location() #12
  %31300 = load i32, ptr %31299, align 4, !tbaa !5
  %31301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31288, ptr noundef @.str.81, i32 noundef %31289, ptr noundef @.str.317, ptr noundef @.str.77, i32 noundef 1083, ptr noundef %31292, ptr noundef %31295, ptr noundef %31298, i32 noundef %31300) #11
  br label %31302

31302:                                            ; preds = %31285, %31268
  call void @llvm.lifetime.end.p0(i64 4, ptr %724) #11
  br label %31303

31303:                                            ; preds = %31302
  br label %31304

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

31305:                                            ; No predecessors!
  br label %31306

31306:                                            ; preds = %31305
  br label %31307

31307:                                            ; preds = %31306, %31249
  br label %31308

31308:                                            ; preds = %31307
  br label %31309

31309:                                            ; preds = %31308
  br label %31310

31310:                                            ; preds = %31309
  %31311 = load i32, ptr @test_count, align 4, !tbaa !5
  %31312 = add nsw i32 %31311, 1
  store i32 %31312, ptr @test_count, align 4, !tbaa !5
  %31313 = load ptr, ptr %723, align 8, !tbaa !9
  %31314 = call i32 @s2n_config_mock_wall_clock(ptr noundef %31313, ptr noundef %718)
  %31315 = getelementptr inbounds %struct.s2n_result, ptr %725, i32 0, i32 0
  store i32 %31314, ptr %31315, align 4
  %31316 = getelementptr inbounds %struct.s2n_result, ptr %725, i32 0, i32 0
  %31317 = load i32, ptr %31316, align 4
  %31318 = call zeroext i1 @s2n_result_is_ok(i32 %31317)
  br i1 %31318, label %31372, label %31319

31319:                                            ; preds = %31310
  br label %31320

31320:                                            ; preds = %31319
  br label %31321

31321:                                            ; preds = %31320
  call void @llvm.lifetime.start.p0(i64 4, ptr %726) #11
  %31322 = call ptr @__errno_location() #12
  %31323 = load i32, ptr %31322, align 4, !tbaa !5
  store i32 %31323, ptr %726, align 4, !tbaa !5
  %31324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31325 = call i32 @s2n_print_stacktrace(ptr noundef %31324)
  %31326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31327 = trunc i8 %31326 to i1
  br i1 %31327, label %31328, label %31350

31328:                                            ; preds = %31321
  %31329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31330 = call i32 @fileno(ptr noundef %31329) #11
  %31331 = call i32 @isatty(i32 noundef %31330) #11
  %31332 = icmp ne i32 %31331, 0
  br i1 %31332, label %31333, label %31350

31333:                                            ; preds = %31328
  %31334 = load i32, ptr %726, align 4, !tbaa !5
  %31335 = call ptr @__errno_location() #12
  store i32 %31334, ptr %31335, align 4, !tbaa !5
  %31336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31337 = load i32, ptr @test_count, align 4, !tbaa !5
  %31338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31339 = load i32, ptr %31338, align 4, !tbaa !5
  %31340 = call ptr @s2n_strerror(i32 noundef %31339, ptr noundef @.str.80)
  %31341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31342 = load i32, ptr %31341, align 4, !tbaa !5
  %31343 = call ptr @s2n_strerror_debug(i32 noundef %31342, ptr noundef @.str.80)
  %31344 = call ptr @__errno_location() #12
  %31345 = load i32, ptr %31344, align 4, !tbaa !5
  %31346 = call ptr @strerror(i32 noundef %31345) #11
  %31347 = call ptr @__errno_location() #12
  %31348 = load i32, ptr %31347, align 4, !tbaa !5
  %31349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31336, ptr noundef @.str.78, i32 noundef %31337, ptr noundef @.str.349, ptr noundef @.str.77, i32 noundef 1084, ptr noundef %31340, ptr noundef %31343, ptr noundef %31346, i32 noundef %31348) #11
  br label %31367

31350:                                            ; preds = %31328, %31321
  %31351 = load i32, ptr %726, align 4, !tbaa !5
  %31352 = call ptr @__errno_location() #12
  store i32 %31351, ptr %31352, align 4, !tbaa !5
  %31353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31354 = load i32, ptr @test_count, align 4, !tbaa !5
  %31355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31356 = load i32, ptr %31355, align 4, !tbaa !5
  %31357 = call ptr @s2n_strerror(i32 noundef %31356, ptr noundef @.str.80)
  %31358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31359 = load i32, ptr %31358, align 4, !tbaa !5
  %31360 = call ptr @s2n_strerror_debug(i32 noundef %31359, ptr noundef @.str.80)
  %31361 = call ptr @__errno_location() #12
  %31362 = load i32, ptr %31361, align 4, !tbaa !5
  %31363 = call ptr @strerror(i32 noundef %31362) #11
  %31364 = call ptr @__errno_location() #12
  %31365 = load i32, ptr %31364, align 4, !tbaa !5
  %31366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31353, ptr noundef @.str.81, i32 noundef %31354, ptr noundef @.str.349, ptr noundef @.str.77, i32 noundef 1084, ptr noundef %31357, ptr noundef %31360, ptr noundef %31363, i32 noundef %31365) #11
  br label %31367

31367:                                            ; preds = %31350, %31333
  call void @llvm.lifetime.end.p0(i64 4, ptr %726) #11
  br label %31368

31368:                                            ; preds = %31367
  br label %31369

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

31370:                                            ; No predecessors!
  br label %31371

31371:                                            ; preds = %31370
  br label %31372

31372:                                            ; preds = %31371, %31310
  br label %31373

31373:                                            ; preds = %31372
  br label %31374

31374:                                            ; preds = %31373
  call void @llvm.lifetime.start.p0(i64 8, ptr %727) #11
  %31375 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %31375, ptr %727, align 8, !tbaa !9
  br label %31376

31376:                                            ; preds = %31374
  %31377 = load i32, ptr @test_count, align 4, !tbaa !5
  %31378 = add nsw i32 %31377, 1
  store i32 %31378, ptr @test_count, align 4, !tbaa !5
  %31379 = load ptr, ptr %727, align 8, !tbaa !9
  %31380 = icmp eq ptr %31379, null
  br i1 %31380, label %31381, label %31434

31381:                                            ; preds = %31376
  br label %31382

31382:                                            ; preds = %31381
  br label %31383

31383:                                            ; preds = %31382
  call void @llvm.lifetime.start.p0(i64 4, ptr %728) #11
  %31384 = call ptr @__errno_location() #12
  %31385 = load i32, ptr %31384, align 4, !tbaa !5
  store i32 %31385, ptr %728, align 4, !tbaa !5
  %31386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31387 = call i32 @s2n_print_stacktrace(ptr noundef %31386)
  %31388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31389 = trunc i8 %31388 to i1
  br i1 %31389, label %31390, label %31412

31390:                                            ; preds = %31383
  %31391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31392 = call i32 @fileno(ptr noundef %31391) #11
  %31393 = call i32 @isatty(i32 noundef %31392) #11
  %31394 = icmp ne i32 %31393, 0
  br i1 %31394, label %31395, label %31412

31395:                                            ; preds = %31390
  %31396 = load i32, ptr %728, align 4, !tbaa !5
  %31397 = call ptr @__errno_location() #12
  store i32 %31396, ptr %31397, align 4, !tbaa !5
  %31398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31399 = load i32, ptr @test_count, align 4, !tbaa !5
  %31400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31401 = load i32, ptr %31400, align 4, !tbaa !5
  %31402 = call ptr @s2n_strerror(i32 noundef %31401, ptr noundef @.str.80)
  %31403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31404 = load i32, ptr %31403, align 4, !tbaa !5
  %31405 = call ptr @s2n_strerror_debug(i32 noundef %31404, ptr noundef @.str.80)
  %31406 = call ptr @__errno_location() #12
  %31407 = load i32, ptr %31406, align 4, !tbaa !5
  %31408 = call ptr @strerror(i32 noundef %31407) #11
  %31409 = call ptr @__errno_location() #12
  %31410 = load i32, ptr %31409, align 4, !tbaa !5
  %31411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31398, ptr noundef @.str.78, i32 noundef %31399, ptr noundef @.str.281, ptr noundef @.str.77, i32 noundef 1087, ptr noundef %31402, ptr noundef %31405, ptr noundef %31408, i32 noundef %31410) #11
  br label %31429

31412:                                            ; preds = %31390, %31383
  %31413 = load i32, ptr %728, align 4, !tbaa !5
  %31414 = call ptr @__errno_location() #12
  store i32 %31413, ptr %31414, align 4, !tbaa !5
  %31415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31416 = load i32, ptr @test_count, align 4, !tbaa !5
  %31417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31418 = load i32, ptr %31417, align 4, !tbaa !5
  %31419 = call ptr @s2n_strerror(i32 noundef %31418, ptr noundef @.str.80)
  %31420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31421 = load i32, ptr %31420, align 4, !tbaa !5
  %31422 = call ptr @s2n_strerror_debug(i32 noundef %31421, ptr noundef @.str.80)
  %31423 = call ptr @__errno_location() #12
  %31424 = load i32, ptr %31423, align 4, !tbaa !5
  %31425 = call ptr @strerror(i32 noundef %31424) #11
  %31426 = call ptr @__errno_location() #12
  %31427 = load i32, ptr %31426, align 4, !tbaa !5
  %31428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31415, ptr noundef @.str.81, i32 noundef %31416, ptr noundef @.str.281, ptr noundef @.str.77, i32 noundef 1087, ptr noundef %31419, ptr noundef %31422, ptr noundef %31425, i32 noundef %31427) #11
  br label %31429

31429:                                            ; preds = %31412, %31395
  call void @llvm.lifetime.end.p0(i64 4, ptr %728) #11
  br label %31430

31430:                                            ; preds = %31429
  br label %31431

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

31432:                                            ; No predecessors!
  br label %31433

31433:                                            ; preds = %31432
  br label %31434

31434:                                            ; preds = %31433, %31376
  br label %31435

31435:                                            ; preds = %31434
  br label %31436

31436:                                            ; preds = %31435
  br label %31437

31437:                                            ; preds = %31436
  %31438 = load i32, ptr @test_count, align 4, !tbaa !5
  %31439 = add nsw i32 %31438, 1
  store i32 %31439, ptr @test_count, align 4, !tbaa !5
  %31440 = load ptr, ptr %727, align 8, !tbaa !9
  %31441 = load ptr, ptr %723, align 8, !tbaa !9
  %31442 = call i32 @s2n_connection_set_config(ptr noundef %31440, ptr noundef %31441)
  %31443 = icmp eq i32 %31442, -1
  br i1 %31443, label %31444, label %31497

31444:                                            ; preds = %31437
  br label %31445

31445:                                            ; preds = %31444
  br label %31446

31446:                                            ; preds = %31445
  call void @llvm.lifetime.start.p0(i64 4, ptr %729) #11
  %31447 = call ptr @__errno_location() #12
  %31448 = load i32, ptr %31447, align 4, !tbaa !5
  store i32 %31448, ptr %729, align 4, !tbaa !5
  %31449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31450 = call i32 @s2n_print_stacktrace(ptr noundef %31449)
  %31451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31452 = trunc i8 %31451 to i1
  br i1 %31452, label %31453, label %31475

31453:                                            ; preds = %31446
  %31454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31455 = call i32 @fileno(ptr noundef %31454) #11
  %31456 = call i32 @isatty(i32 noundef %31455) #11
  %31457 = icmp ne i32 %31456, 0
  br i1 %31457, label %31458, label %31475

31458:                                            ; preds = %31453
  %31459 = load i32, ptr %729, align 4, !tbaa !5
  %31460 = call ptr @__errno_location() #12
  store i32 %31459, ptr %31460, align 4, !tbaa !5
  %31461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31462 = load i32, ptr @test_count, align 4, !tbaa !5
  %31463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31464 = load i32, ptr %31463, align 4, !tbaa !5
  %31465 = call ptr @s2n_strerror(i32 noundef %31464, ptr noundef @.str.80)
  %31466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31467 = load i32, ptr %31466, align 4, !tbaa !5
  %31468 = call ptr @s2n_strerror_debug(i32 noundef %31467, ptr noundef @.str.80)
  %31469 = call ptr @__errno_location() #12
  %31470 = load i32, ptr %31469, align 4, !tbaa !5
  %31471 = call ptr @strerror(i32 noundef %31470) #11
  %31472 = call ptr @__errno_location() #12
  %31473 = load i32, ptr %31472, align 4, !tbaa !5
  %31474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31461, ptr noundef @.str.78, i32 noundef %31462, ptr noundef @.str.350, ptr noundef @.str.77, i32 noundef 1088, ptr noundef %31465, ptr noundef %31468, ptr noundef %31471, i32 noundef %31473) #11
  br label %31492

31475:                                            ; preds = %31453, %31446
  %31476 = load i32, ptr %729, align 4, !tbaa !5
  %31477 = call ptr @__errno_location() #12
  store i32 %31476, ptr %31477, align 4, !tbaa !5
  %31478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31479 = load i32, ptr @test_count, align 4, !tbaa !5
  %31480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31481 = load i32, ptr %31480, align 4, !tbaa !5
  %31482 = call ptr @s2n_strerror(i32 noundef %31481, ptr noundef @.str.80)
  %31483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31484 = load i32, ptr %31483, align 4, !tbaa !5
  %31485 = call ptr @s2n_strerror_debug(i32 noundef %31484, ptr noundef @.str.80)
  %31486 = call ptr @__errno_location() #12
  %31487 = load i32, ptr %31486, align 4, !tbaa !5
  %31488 = call ptr @strerror(i32 noundef %31487) #11
  %31489 = call ptr @__errno_location() #12
  %31490 = load i32, ptr %31489, align 4, !tbaa !5
  %31491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31478, ptr noundef @.str.81, i32 noundef %31479, ptr noundef @.str.350, ptr noundef @.str.77, i32 noundef 1088, ptr noundef %31482, ptr noundef %31485, ptr noundef %31488, i32 noundef %31490) #11
  br label %31492

31492:                                            ; preds = %31475, %31458
  call void @llvm.lifetime.end.p0(i64 4, ptr %729) #11
  br label %31493

31493:                                            ; preds = %31492
  br label %31494

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

31495:                                            ; No predecessors!
  br label %31496

31496:                                            ; preds = %31495
  br label %31497

31497:                                            ; preds = %31496, %31437
  br label %31498

31498:                                            ; preds = %31497
  br label %31499

31499:                                            ; preds = %31498
  call void @llvm.lifetime.start.p0(i64 8, ptr %730) #11
  %31500 = load ptr, ptr %727, align 8, !tbaa !9
  %31501 = call ptr @s2n_test_psk_new(ptr noundef %31500)
  store ptr %31501, ptr %730, align 8, !tbaa !9
  br label %31502

31502:                                            ; preds = %31499
  %31503 = load i32, ptr @test_count, align 4, !tbaa !5
  %31504 = add nsw i32 %31503, 1
  store i32 %31504, ptr @test_count, align 4, !tbaa !5
  %31505 = load ptr, ptr %727, align 8, !tbaa !9
  %31506 = call i32 @s2n_psk_validate_keying_material(ptr noundef %31505)
  %31507 = getelementptr inbounds %struct.s2n_result, ptr %731, i32 0, i32 0
  store i32 %31506, ptr %31507, align 4
  %31508 = getelementptr inbounds %struct.s2n_result, ptr %731, i32 0, i32 0
  %31509 = load i32, ptr %31508, align 4
  %31510 = call zeroext i1 @s2n_result_is_ok(i32 %31509)
  br i1 %31510, label %31564, label %31511

31511:                                            ; preds = %31502
  br label %31512

31512:                                            ; preds = %31511
  br label %31513

31513:                                            ; preds = %31512
  call void @llvm.lifetime.start.p0(i64 4, ptr %732) #11
  %31514 = call ptr @__errno_location() #12
  %31515 = load i32, ptr %31514, align 4, !tbaa !5
  store i32 %31515, ptr %732, align 4, !tbaa !5
  %31516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31517 = call i32 @s2n_print_stacktrace(ptr noundef %31516)
  %31518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31519 = trunc i8 %31518 to i1
  br i1 %31519, label %31520, label %31542

31520:                                            ; preds = %31513
  %31521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31522 = call i32 @fileno(ptr noundef %31521) #11
  %31523 = call i32 @isatty(i32 noundef %31522) #11
  %31524 = icmp ne i32 %31523, 0
  br i1 %31524, label %31525, label %31542

31525:                                            ; preds = %31520
  %31526 = load i32, ptr %732, align 4, !tbaa !5
  %31527 = call ptr @__errno_location() #12
  store i32 %31526, ptr %31527, align 4, !tbaa !5
  %31528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31529 = load i32, ptr @test_count, align 4, !tbaa !5
  %31530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31531 = load i32, ptr %31530, align 4, !tbaa !5
  %31532 = call ptr @s2n_strerror(i32 noundef %31531, ptr noundef @.str.80)
  %31533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31534 = load i32, ptr %31533, align 4, !tbaa !5
  %31535 = call ptr @s2n_strerror_debug(i32 noundef %31534, ptr noundef @.str.80)
  %31536 = call ptr @__errno_location() #12
  %31537 = load i32, ptr %31536, align 4, !tbaa !5
  %31538 = call ptr @strerror(i32 noundef %31537) #11
  %31539 = call ptr @__errno_location() #12
  %31540 = load i32, ptr %31539, align 4, !tbaa !5
  %31541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31528, ptr noundef @.str.78, i32 noundef %31529, ptr noundef @.str.351, ptr noundef @.str.77, i32 noundef 1092, ptr noundef %31532, ptr noundef %31535, ptr noundef %31538, i32 noundef %31540) #11
  br label %31559

31542:                                            ; preds = %31520, %31513
  %31543 = load i32, ptr %732, align 4, !tbaa !5
  %31544 = call ptr @__errno_location() #12
  store i32 %31543, ptr %31544, align 4, !tbaa !5
  %31545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31546 = load i32, ptr @test_count, align 4, !tbaa !5
  %31547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31548 = load i32, ptr %31547, align 4, !tbaa !5
  %31549 = call ptr @s2n_strerror(i32 noundef %31548, ptr noundef @.str.80)
  %31550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31551 = load i32, ptr %31550, align 4, !tbaa !5
  %31552 = call ptr @s2n_strerror_debug(i32 noundef %31551, ptr noundef @.str.80)
  %31553 = call ptr @__errno_location() #12
  %31554 = load i32, ptr %31553, align 4, !tbaa !5
  %31555 = call ptr @strerror(i32 noundef %31554) #11
  %31556 = call ptr @__errno_location() #12
  %31557 = load i32, ptr %31556, align 4, !tbaa !5
  %31558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31545, ptr noundef @.str.81, i32 noundef %31546, ptr noundef @.str.351, ptr noundef @.str.77, i32 noundef 1092, ptr noundef %31549, ptr noundef %31552, ptr noundef %31555, i32 noundef %31557) #11
  br label %31559

31559:                                            ; preds = %31542, %31525
  call void @llvm.lifetime.end.p0(i64 4, ptr %732) #11
  br label %31560

31560:                                            ; preds = %31559
  br label %31561

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

31562:                                            ; No predecessors!
  br label %31563

31563:                                            ; preds = %31562
  br label %31564

31564:                                            ; preds = %31563, %31502
  br label %31565

31565:                                            ; preds = %31564
  br label %31566

31566:                                            ; preds = %31565
  %31567 = load ptr, ptr %730, align 8, !tbaa !9
  %31568 = load ptr, ptr %727, align 8, !tbaa !9
  %31569 = getelementptr inbounds %struct.s2n_connection, ptr %31568, i32 0, i32 33
  %31570 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %31569, i32 0, i32 4
  store ptr %31567, ptr %31570, align 8, !tbaa !65
  %31571 = load ptr, ptr %730, align 8, !tbaa !9
  %31572 = getelementptr inbounds %struct.s2n_psk, ptr %31571, i32 0, i32 0
  store i32 1, ptr %31572, align 8, !tbaa !15
  br label %31573

31573:                                            ; preds = %31566
  %31574 = load i32, ptr @test_count, align 4, !tbaa !5
  %31575 = add nsw i32 %31574, 1
  store i32 %31575, ptr @test_count, align 4, !tbaa !5
  %31576 = load ptr, ptr %727, align 8, !tbaa !9
  %31577 = call i32 @s2n_psk_validate_keying_material(ptr noundef %31576)
  %31578 = getelementptr inbounds %struct.s2n_result, ptr %733, i32 0, i32 0
  store i32 %31577, ptr %31578, align 4
  %31579 = getelementptr inbounds %struct.s2n_result, ptr %733, i32 0, i32 0
  %31580 = load i32, ptr %31579, align 4
  %31581 = call zeroext i1 @s2n_result_is_ok(i32 %31580)
  br i1 %31581, label %31635, label %31582

31582:                                            ; preds = %31573
  br label %31583

31583:                                            ; preds = %31582
  br label %31584

31584:                                            ; preds = %31583
  call void @llvm.lifetime.start.p0(i64 4, ptr %734) #11
  %31585 = call ptr @__errno_location() #12
  %31586 = load i32, ptr %31585, align 4, !tbaa !5
  store i32 %31586, ptr %734, align 4, !tbaa !5
  %31587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31588 = call i32 @s2n_print_stacktrace(ptr noundef %31587)
  %31589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31590 = trunc i8 %31589 to i1
  br i1 %31590, label %31591, label %31613

31591:                                            ; preds = %31584
  %31592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31593 = call i32 @fileno(ptr noundef %31592) #11
  %31594 = call i32 @isatty(i32 noundef %31593) #11
  %31595 = icmp ne i32 %31594, 0
  br i1 %31595, label %31596, label %31613

31596:                                            ; preds = %31591
  %31597 = load i32, ptr %734, align 4, !tbaa !5
  %31598 = call ptr @__errno_location() #12
  store i32 %31597, ptr %31598, align 4, !tbaa !5
  %31599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31600 = load i32, ptr @test_count, align 4, !tbaa !5
  %31601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31602 = load i32, ptr %31601, align 4, !tbaa !5
  %31603 = call ptr @s2n_strerror(i32 noundef %31602, ptr noundef @.str.80)
  %31604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31605 = load i32, ptr %31604, align 4, !tbaa !5
  %31606 = call ptr @s2n_strerror_debug(i32 noundef %31605, ptr noundef @.str.80)
  %31607 = call ptr @__errno_location() #12
  %31608 = load i32, ptr %31607, align 4, !tbaa !5
  %31609 = call ptr @strerror(i32 noundef %31608) #11
  %31610 = call ptr @__errno_location() #12
  %31611 = load i32, ptr %31610, align 4, !tbaa !5
  %31612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31599, ptr noundef @.str.78, i32 noundef %31600, ptr noundef @.str.351, ptr noundef @.str.77, i32 noundef 1098, ptr noundef %31603, ptr noundef %31606, ptr noundef %31609, i32 noundef %31611) #11
  br label %31630

31613:                                            ; preds = %31591, %31584
  %31614 = load i32, ptr %734, align 4, !tbaa !5
  %31615 = call ptr @__errno_location() #12
  store i32 %31614, ptr %31615, align 4, !tbaa !5
  %31616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31617 = load i32, ptr @test_count, align 4, !tbaa !5
  %31618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31619 = load i32, ptr %31618, align 4, !tbaa !5
  %31620 = call ptr @s2n_strerror(i32 noundef %31619, ptr noundef @.str.80)
  %31621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31622 = load i32, ptr %31621, align 4, !tbaa !5
  %31623 = call ptr @s2n_strerror_debug(i32 noundef %31622, ptr noundef @.str.80)
  %31624 = call ptr @__errno_location() #12
  %31625 = load i32, ptr %31624, align 4, !tbaa !5
  %31626 = call ptr @strerror(i32 noundef %31625) #11
  %31627 = call ptr @__errno_location() #12
  %31628 = load i32, ptr %31627, align 4, !tbaa !5
  %31629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31616, ptr noundef @.str.81, i32 noundef %31617, ptr noundef @.str.351, ptr noundef @.str.77, i32 noundef 1098, ptr noundef %31620, ptr noundef %31623, ptr noundef %31626, i32 noundef %31628) #11
  br label %31630

31630:                                            ; preds = %31613, %31596
  call void @llvm.lifetime.end.p0(i64 4, ptr %734) #11
  br label %31631

31631:                                            ; preds = %31630
  br label %31632

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

31633:                                            ; No predecessors!
  br label %31634

31634:                                            ; preds = %31633
  br label %31635

31635:                                            ; preds = %31634, %31573
  br label %31636

31636:                                            ; preds = %31635
  br label %31637

31637:                                            ; preds = %31636
  %31638 = load ptr, ptr %730, align 8, !tbaa !9
  %31639 = getelementptr inbounds %struct.s2n_psk, ptr %31638, i32 0, i32 0
  store i32 0, ptr %31639, align 8, !tbaa !15
  %31640 = load ptr, ptr %730, align 8, !tbaa !9
  %31641 = getelementptr inbounds %struct.s2n_psk, ptr %31640, i32 0, i32 8
  store i64 -1, ptr %31641, align 8, !tbaa !96
  br label %31642

31642:                                            ; preds = %31637
  %31643 = load i32, ptr @test_count, align 4, !tbaa !5
  %31644 = add nsw i32 %31643, 1
  store i32 %31644, ptr @test_count, align 4, !tbaa !5
  %31645 = load ptr, ptr %727, align 8, !tbaa !9
  %31646 = call i32 @s2n_psk_validate_keying_material(ptr noundef %31645)
  %31647 = getelementptr inbounds %struct.s2n_result, ptr %735, i32 0, i32 0
  store i32 %31646, ptr %31647, align 4
  %31648 = getelementptr inbounds %struct.s2n_result, ptr %735, i32 0, i32 0
  %31649 = load i32, ptr %31648, align 4
  %31650 = call zeroext i1 @s2n_result_is_ok(i32 %31649)
  br i1 %31650, label %31704, label %31651

31651:                                            ; preds = %31642
  br label %31652

31652:                                            ; preds = %31651
  br label %31653

31653:                                            ; preds = %31652
  call void @llvm.lifetime.start.p0(i64 4, ptr %736) #11
  %31654 = call ptr @__errno_location() #12
  %31655 = load i32, ptr %31654, align 4, !tbaa !5
  store i32 %31655, ptr %736, align 4, !tbaa !5
  %31656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31657 = call i32 @s2n_print_stacktrace(ptr noundef %31656)
  %31658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31659 = trunc i8 %31658 to i1
  br i1 %31659, label %31660, label %31682

31660:                                            ; preds = %31653
  %31661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31662 = call i32 @fileno(ptr noundef %31661) #11
  %31663 = call i32 @isatty(i32 noundef %31662) #11
  %31664 = icmp ne i32 %31663, 0
  br i1 %31664, label %31665, label %31682

31665:                                            ; preds = %31660
  %31666 = load i32, ptr %736, align 4, !tbaa !5
  %31667 = call ptr @__errno_location() #12
  store i32 %31666, ptr %31667, align 4, !tbaa !5
  %31668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31669 = load i32, ptr @test_count, align 4, !tbaa !5
  %31670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31671 = load i32, ptr %31670, align 4, !tbaa !5
  %31672 = call ptr @s2n_strerror(i32 noundef %31671, ptr noundef @.str.80)
  %31673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31674 = load i32, ptr %31673, align 4, !tbaa !5
  %31675 = call ptr @s2n_strerror_debug(i32 noundef %31674, ptr noundef @.str.80)
  %31676 = call ptr @__errno_location() #12
  %31677 = load i32, ptr %31676, align 4, !tbaa !5
  %31678 = call ptr @strerror(i32 noundef %31677) #11
  %31679 = call ptr @__errno_location() #12
  %31680 = load i32, ptr %31679, align 4, !tbaa !5
  %31681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31668, ptr noundef @.str.78, i32 noundef %31669, ptr noundef @.str.351, ptr noundef @.str.77, i32 noundef 1104, ptr noundef %31672, ptr noundef %31675, ptr noundef %31678, i32 noundef %31680) #11
  br label %31699

31682:                                            ; preds = %31660, %31653
  %31683 = load i32, ptr %736, align 4, !tbaa !5
  %31684 = call ptr @__errno_location() #12
  store i32 %31683, ptr %31684, align 4, !tbaa !5
  %31685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31686 = load i32, ptr @test_count, align 4, !tbaa !5
  %31687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31688 = load i32, ptr %31687, align 4, !tbaa !5
  %31689 = call ptr @s2n_strerror(i32 noundef %31688, ptr noundef @.str.80)
  %31690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31691 = load i32, ptr %31690, align 4, !tbaa !5
  %31692 = call ptr @s2n_strerror_debug(i32 noundef %31691, ptr noundef @.str.80)
  %31693 = call ptr @__errno_location() #12
  %31694 = load i32, ptr %31693, align 4, !tbaa !5
  %31695 = call ptr @strerror(i32 noundef %31694) #11
  %31696 = call ptr @__errno_location() #12
  %31697 = load i32, ptr %31696, align 4, !tbaa !5
  %31698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31685, ptr noundef @.str.81, i32 noundef %31686, ptr noundef @.str.351, ptr noundef @.str.77, i32 noundef 1104, ptr noundef %31689, ptr noundef %31692, ptr noundef %31695, i32 noundef %31697) #11
  br label %31699

31699:                                            ; preds = %31682, %31665
  call void @llvm.lifetime.end.p0(i64 4, ptr %736) #11
  br label %31700

31700:                                            ; preds = %31699
  br label %31701

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

31702:                                            ; No predecessors!
  br label %31703

31703:                                            ; preds = %31702
  br label %31704

31704:                                            ; preds = %31703, %31642
  br label %31705

31705:                                            ; preds = %31704
  br label %31706

31706:                                            ; preds = %31705
  %31707 = load ptr, ptr %730, align 8, !tbaa !9
  %31708 = getelementptr inbounds %struct.s2n_psk, ptr %31707, i32 0, i32 8
  store i64 0, ptr %31708, align 8, !tbaa !96
  br label %31709

31709:                                            ; preds = %31706
  br label %31710

31710:                                            ; preds = %31709
  br label %31711

31711:                                            ; preds = %31710
  %31712 = load i32, ptr @test_count, align 4, !tbaa !5
  %31713 = add nsw i32 %31712, 1
  store i32 %31713, ptr @test_count, align 4, !tbaa !5
  %31714 = load ptr, ptr %727, align 8, !tbaa !9
  %31715 = call i32 @s2n_psk_validate_keying_material(ptr noundef %31714)
  %31716 = getelementptr inbounds %struct.s2n_result, ptr %737, i32 0, i32 0
  store i32 %31715, ptr %31716, align 4
  %31717 = getelementptr inbounds %struct.s2n_result, ptr %737, i32 0, i32 0
  %31718 = load i32, ptr %31717, align 4
  %31719 = call zeroext i1 @s2n_result_is_error(i32 %31718)
  br i1 %31719, label %31773, label %31720

31720:                                            ; preds = %31711
  br label %31721

31721:                                            ; preds = %31720
  br label %31722

31722:                                            ; preds = %31721
  call void @llvm.lifetime.start.p0(i64 4, ptr %738) #11
  %31723 = call ptr @__errno_location() #12
  %31724 = load i32, ptr %31723, align 4, !tbaa !5
  store i32 %31724, ptr %738, align 4, !tbaa !5
  %31725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31726 = call i32 @s2n_print_stacktrace(ptr noundef %31725)
  %31727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31728 = trunc i8 %31727 to i1
  br i1 %31728, label %31729, label %31751

31729:                                            ; preds = %31722
  %31730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31731 = call i32 @fileno(ptr noundef %31730) #11
  %31732 = call i32 @isatty(i32 noundef %31731) #11
  %31733 = icmp ne i32 %31732, 0
  br i1 %31733, label %31734, label %31751

31734:                                            ; preds = %31729
  %31735 = load i32, ptr %738, align 4, !tbaa !5
  %31736 = call ptr @__errno_location() #12
  store i32 %31735, ptr %31736, align 4, !tbaa !5
  %31737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31738 = load i32, ptr @test_count, align 4, !tbaa !5
  %31739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31740 = load i32, ptr %31739, align 4, !tbaa !5
  %31741 = call ptr @s2n_strerror(i32 noundef %31740, ptr noundef @.str.80)
  %31742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31743 = load i32, ptr %31742, align 4, !tbaa !5
  %31744 = call ptr @s2n_strerror_debug(i32 noundef %31743, ptr noundef @.str.80)
  %31745 = call ptr @__errno_location() #12
  %31746 = load i32, ptr %31745, align 4, !tbaa !5
  %31747 = call ptr @strerror(i32 noundef %31746) #11
  %31748 = call ptr @__errno_location() #12
  %31749 = load i32, ptr %31748, align 4, !tbaa !5
  %31750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31737, ptr noundef @.str.78, i32 noundef %31738, ptr noundef @.str.352, ptr noundef @.str.77, i32 noundef 1108, ptr noundef %31741, ptr noundef %31744, ptr noundef %31747, i32 noundef %31749) #11
  br label %31768

31751:                                            ; preds = %31729, %31722
  %31752 = load i32, ptr %738, align 4, !tbaa !5
  %31753 = call ptr @__errno_location() #12
  store i32 %31752, ptr %31753, align 4, !tbaa !5
  %31754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31755 = load i32, ptr @test_count, align 4, !tbaa !5
  %31756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31757 = load i32, ptr %31756, align 4, !tbaa !5
  %31758 = call ptr @s2n_strerror(i32 noundef %31757, ptr noundef @.str.80)
  %31759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31760 = load i32, ptr %31759, align 4, !tbaa !5
  %31761 = call ptr @s2n_strerror_debug(i32 noundef %31760, ptr noundef @.str.80)
  %31762 = call ptr @__errno_location() #12
  %31763 = load i32, ptr %31762, align 4, !tbaa !5
  %31764 = call ptr @strerror(i32 noundef %31763) #11
  %31765 = call ptr @__errno_location() #12
  %31766 = load i32, ptr %31765, align 4, !tbaa !5
  %31767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31754, ptr noundef @.str.81, i32 noundef %31755, ptr noundef @.str.352, ptr noundef @.str.77, i32 noundef 1108, ptr noundef %31758, ptr noundef %31761, ptr noundef %31764, i32 noundef %31766) #11
  br label %31768

31768:                                            ; preds = %31751, %31734
  call void @llvm.lifetime.end.p0(i64 4, ptr %738) #11
  br label %31769

31769:                                            ; preds = %31768
  br label %31770

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

31771:                                            ; No predecessors!
  br label %31772

31772:                                            ; preds = %31771
  br label %31773

31773:                                            ; preds = %31772, %31711
  br label %31774

31774:                                            ; preds = %31773
  br label %31775

31775:                                            ; preds = %31774
  br label %31776

31776:                                            ; preds = %31775
  %31777 = load i32, ptr @test_count, align 4, !tbaa !5
  %31778 = add nsw i32 %31777, 1
  store i32 %31778, ptr @test_count, align 4, !tbaa !5
  %31779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31780 = load i32, ptr %31779, align 4, !tbaa !5
  %31781 = icmp eq i32 %31780, 469762121
  br i1 %31781, label %31835, label %31782

31782:                                            ; preds = %31776
  br label %31783

31783:                                            ; preds = %31782
  br label %31784

31784:                                            ; preds = %31783
  call void @llvm.lifetime.start.p0(i64 4, ptr %739) #11
  %31785 = call ptr @__errno_location() #12
  %31786 = load i32, ptr %31785, align 4, !tbaa !5
  store i32 %31786, ptr %739, align 4, !tbaa !5
  %31787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31788 = call i32 @s2n_print_stacktrace(ptr noundef %31787)
  %31789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31790 = trunc i8 %31789 to i1
  br i1 %31790, label %31791, label %31813

31791:                                            ; preds = %31784
  %31792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31793 = call i32 @fileno(ptr noundef %31792) #11
  %31794 = call i32 @isatty(i32 noundef %31793) #11
  %31795 = icmp ne i32 %31794, 0
  br i1 %31795, label %31796, label %31813

31796:                                            ; preds = %31791
  %31797 = load i32, ptr %739, align 4, !tbaa !5
  %31798 = call ptr @__errno_location() #12
  store i32 %31797, ptr %31798, align 4, !tbaa !5
  %31799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31800 = load i32, ptr @test_count, align 4, !tbaa !5
  %31801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31802 = load i32, ptr %31801, align 4, !tbaa !5
  %31803 = call ptr @s2n_strerror(i32 noundef %31802, ptr noundef @.str.80)
  %31804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31805 = load i32, ptr %31804, align 4, !tbaa !5
  %31806 = call ptr @s2n_strerror_debug(i32 noundef %31805, ptr noundef @.str.80)
  %31807 = call ptr @__errno_location() #12
  %31808 = load i32, ptr %31807, align 4, !tbaa !5
  %31809 = call ptr @strerror(i32 noundef %31808) #11
  %31810 = call ptr @__errno_location() #12
  %31811 = load i32, ptr %31810, align 4, !tbaa !5
  %31812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31799, ptr noundef @.str.78, i32 noundef %31800, ptr noundef @.str.353, ptr noundef @.str.77, i32 noundef 1108, ptr noundef %31803, ptr noundef %31806, ptr noundef %31809, i32 noundef %31811) #11
  br label %31830

31813:                                            ; preds = %31791, %31784
  %31814 = load i32, ptr %739, align 4, !tbaa !5
  %31815 = call ptr @__errno_location() #12
  store i32 %31814, ptr %31815, align 4, !tbaa !5
  %31816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31817 = load i32, ptr @test_count, align 4, !tbaa !5
  %31818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31819 = load i32, ptr %31818, align 4, !tbaa !5
  %31820 = call ptr @s2n_strerror(i32 noundef %31819, ptr noundef @.str.80)
  %31821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31822 = load i32, ptr %31821, align 4, !tbaa !5
  %31823 = call ptr @s2n_strerror_debug(i32 noundef %31822, ptr noundef @.str.80)
  %31824 = call ptr @__errno_location() #12
  %31825 = load i32, ptr %31824, align 4, !tbaa !5
  %31826 = call ptr @strerror(i32 noundef %31825) #11
  %31827 = call ptr @__errno_location() #12
  %31828 = load i32, ptr %31827, align 4, !tbaa !5
  %31829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31816, ptr noundef @.str.81, i32 noundef %31817, ptr noundef @.str.353, ptr noundef @.str.77, i32 noundef 1108, ptr noundef %31820, ptr noundef %31823, ptr noundef %31826, i32 noundef %31828) #11
  br label %31830

31830:                                            ; preds = %31813, %31796
  call void @llvm.lifetime.end.p0(i64 4, ptr %739) #11
  br label %31831

31831:                                            ; preds = %31830
  br label %31832

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

31833:                                            ; No predecessors!
  br label %31834

31834:                                            ; preds = %31833
  br label %31835

31835:                                            ; preds = %31834, %31776
  br label %31836

31836:                                            ; preds = %31835
  br label %31837

31837:                                            ; preds = %31836
  br label %31838

31838:                                            ; preds = %31837
  %31839 = load i32, ptr @test_count, align 4, !tbaa !5
  %31840 = add nsw i32 %31839, 1
  store i32 %31840, ptr @test_count, align 4, !tbaa !5
  %31841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31842 = load i32, ptr %31841, align 4, !tbaa !5
  %31843 = call ptr @s2n_strerror_debug(i32 noundef %31842, ptr noundef @.str.80)
  %31844 = icmp eq ptr %31843, null
  br i1 %31844, label %31845, label %31898

31845:                                            ; preds = %31838
  br label %31846

31846:                                            ; preds = %31845
  br label %31847

31847:                                            ; preds = %31846
  call void @llvm.lifetime.start.p0(i64 4, ptr %740) #11
  %31848 = call ptr @__errno_location() #12
  %31849 = load i32, ptr %31848, align 4, !tbaa !5
  store i32 %31849, ptr %740, align 4, !tbaa !5
  %31850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31851 = call i32 @s2n_print_stacktrace(ptr noundef %31850)
  %31852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31853 = trunc i8 %31852 to i1
  br i1 %31853, label %31854, label %31876

31854:                                            ; preds = %31847
  %31855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31856 = call i32 @fileno(ptr noundef %31855) #11
  %31857 = call i32 @isatty(i32 noundef %31856) #11
  %31858 = icmp ne i32 %31857, 0
  br i1 %31858, label %31859, label %31876

31859:                                            ; preds = %31854
  %31860 = load i32, ptr %740, align 4, !tbaa !5
  %31861 = call ptr @__errno_location() #12
  store i32 %31860, ptr %31861, align 4, !tbaa !5
  %31862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31863 = load i32, ptr @test_count, align 4, !tbaa !5
  %31864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31865 = load i32, ptr %31864, align 4, !tbaa !5
  %31866 = call ptr @s2n_strerror(i32 noundef %31865, ptr noundef @.str.80)
  %31867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31868 = load i32, ptr %31867, align 4, !tbaa !5
  %31869 = call ptr @s2n_strerror_debug(i32 noundef %31868, ptr noundef @.str.80)
  %31870 = call ptr @__errno_location() #12
  %31871 = load i32, ptr %31870, align 4, !tbaa !5
  %31872 = call ptr @strerror(i32 noundef %31871) #11
  %31873 = call ptr @__errno_location() #12
  %31874 = load i32, ptr %31873, align 4, !tbaa !5
  %31875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31862, ptr noundef @.str.78, i32 noundef %31863, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1108, ptr noundef %31866, ptr noundef %31869, ptr noundef %31872, i32 noundef %31874) #11
  br label %31893

31876:                                            ; preds = %31854, %31847
  %31877 = load i32, ptr %740, align 4, !tbaa !5
  %31878 = call ptr @__errno_location() #12
  store i32 %31877, ptr %31878, align 4, !tbaa !5
  %31879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31880 = load i32, ptr @test_count, align 4, !tbaa !5
  %31881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31882 = load i32, ptr %31881, align 4, !tbaa !5
  %31883 = call ptr @s2n_strerror(i32 noundef %31882, ptr noundef @.str.80)
  %31884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31885 = load i32, ptr %31884, align 4, !tbaa !5
  %31886 = call ptr @s2n_strerror_debug(i32 noundef %31885, ptr noundef @.str.80)
  %31887 = call ptr @__errno_location() #12
  %31888 = load i32, ptr %31887, align 4, !tbaa !5
  %31889 = call ptr @strerror(i32 noundef %31888) #11
  %31890 = call ptr @__errno_location() #12
  %31891 = load i32, ptr %31890, align 4, !tbaa !5
  %31892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31879, ptr noundef @.str.81, i32 noundef %31880, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1108, ptr noundef %31883, ptr noundef %31886, ptr noundef %31889, i32 noundef %31891) #11
  br label %31893

31893:                                            ; preds = %31876, %31859
  call void @llvm.lifetime.end.p0(i64 4, ptr %740) #11
  br label %31894

31894:                                            ; preds = %31893
  br label %31895

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

31896:                                            ; No predecessors!
  br label %31897

31897:                                            ; preds = %31896
  br label %31898

31898:                                            ; preds = %31897, %31838
  br label %31899

31899:                                            ; preds = %31898
  br label %31900

31900:                                            ; preds = %31899
  br label %31901

31901:                                            ; preds = %31900
  br label %31902

31902:                                            ; preds = %31901
  br label %31903

31903:                                            ; preds = %31902
  %31904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %31904, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %31905 = call ptr @__errno_location() #12
  store i32 0, ptr %31905, align 4, !tbaa !5
  br label %31906

31906:                                            ; preds = %31903
  br label %31907

31907:                                            ; preds = %31906
  br label %31908

31908:                                            ; preds = %31907
  br label %31909

31909:                                            ; preds = %31908
  %31910 = load i64, ptr %718, align 8, !tbaa !38
  %31911 = load ptr, ptr %730, align 8, !tbaa !9
  %31912 = getelementptr inbounds %struct.s2n_psk, ptr %31911, i32 0, i32 8
  store i64 %31910, ptr %31912, align 8, !tbaa !96
  br label %31913

31913:                                            ; preds = %31909
  br label %31914

31914:                                            ; preds = %31913
  br label %31915

31915:                                            ; preds = %31914
  %31916 = load i32, ptr @test_count, align 4, !tbaa !5
  %31917 = add nsw i32 %31916, 1
  store i32 %31917, ptr @test_count, align 4, !tbaa !5
  %31918 = load ptr, ptr %727, align 8, !tbaa !9
  %31919 = call i32 @s2n_psk_validate_keying_material(ptr noundef %31918)
  %31920 = getelementptr inbounds %struct.s2n_result, ptr %741, i32 0, i32 0
  store i32 %31919, ptr %31920, align 4
  %31921 = getelementptr inbounds %struct.s2n_result, ptr %741, i32 0, i32 0
  %31922 = load i32, ptr %31921, align 4
  %31923 = call zeroext i1 @s2n_result_is_error(i32 %31922)
  br i1 %31923, label %31977, label %31924

31924:                                            ; preds = %31915
  br label %31925

31925:                                            ; preds = %31924
  br label %31926

31926:                                            ; preds = %31925
  call void @llvm.lifetime.start.p0(i64 4, ptr %742) #11
  %31927 = call ptr @__errno_location() #12
  %31928 = load i32, ptr %31927, align 4, !tbaa !5
  store i32 %31928, ptr %742, align 4, !tbaa !5
  %31929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31930 = call i32 @s2n_print_stacktrace(ptr noundef %31929)
  %31931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31932 = trunc i8 %31931 to i1
  br i1 %31932, label %31933, label %31955

31933:                                            ; preds = %31926
  %31934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31935 = call i32 @fileno(ptr noundef %31934) #11
  %31936 = call i32 @isatty(i32 noundef %31935) #11
  %31937 = icmp ne i32 %31936, 0
  br i1 %31937, label %31938, label %31955

31938:                                            ; preds = %31933
  %31939 = load i32, ptr %742, align 4, !tbaa !5
  %31940 = call ptr @__errno_location() #12
  store i32 %31939, ptr %31940, align 4, !tbaa !5
  %31941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31942 = load i32, ptr @test_count, align 4, !tbaa !5
  %31943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31944 = load i32, ptr %31943, align 4, !tbaa !5
  %31945 = call ptr @s2n_strerror(i32 noundef %31944, ptr noundef @.str.80)
  %31946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31947 = load i32, ptr %31946, align 4, !tbaa !5
  %31948 = call ptr @s2n_strerror_debug(i32 noundef %31947, ptr noundef @.str.80)
  %31949 = call ptr @__errno_location() #12
  %31950 = load i32, ptr %31949, align 4, !tbaa !5
  %31951 = call ptr @strerror(i32 noundef %31950) #11
  %31952 = call ptr @__errno_location() #12
  %31953 = load i32, ptr %31952, align 4, !tbaa !5
  %31954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31941, ptr noundef @.str.78, i32 noundef %31942, ptr noundef @.str.352, ptr noundef @.str.77, i32 noundef 1112, ptr noundef %31945, ptr noundef %31948, ptr noundef %31951, i32 noundef %31953) #11
  br label %31972

31955:                                            ; preds = %31933, %31926
  %31956 = load i32, ptr %742, align 4, !tbaa !5
  %31957 = call ptr @__errno_location() #12
  store i32 %31956, ptr %31957, align 4, !tbaa !5
  %31958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31959 = load i32, ptr @test_count, align 4, !tbaa !5
  %31960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31961 = load i32, ptr %31960, align 4, !tbaa !5
  %31962 = call ptr @s2n_strerror(i32 noundef %31961, ptr noundef @.str.80)
  %31963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31964 = load i32, ptr %31963, align 4, !tbaa !5
  %31965 = call ptr @s2n_strerror_debug(i32 noundef %31964, ptr noundef @.str.80)
  %31966 = call ptr @__errno_location() #12
  %31967 = load i32, ptr %31966, align 4, !tbaa !5
  %31968 = call ptr @strerror(i32 noundef %31967) #11
  %31969 = call ptr @__errno_location() #12
  %31970 = load i32, ptr %31969, align 4, !tbaa !5
  %31971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31958, ptr noundef @.str.81, i32 noundef %31959, ptr noundef @.str.352, ptr noundef @.str.77, i32 noundef 1112, ptr noundef %31962, ptr noundef %31965, ptr noundef %31968, i32 noundef %31970) #11
  br label %31972

31972:                                            ; preds = %31955, %31938
  call void @llvm.lifetime.end.p0(i64 4, ptr %742) #11
  br label %31973

31973:                                            ; preds = %31972
  br label %31974

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

31975:                                            ; No predecessors!
  br label %31976

31976:                                            ; preds = %31975
  br label %31977

31977:                                            ; preds = %31976, %31915
  br label %31978

31978:                                            ; preds = %31977
  br label %31979

31979:                                            ; preds = %31978
  br label %31980

31980:                                            ; preds = %31979
  %31981 = load i32, ptr @test_count, align 4, !tbaa !5
  %31982 = add nsw i32 %31981, 1
  store i32 %31982, ptr @test_count, align 4, !tbaa !5
  %31983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31984 = load i32, ptr %31983, align 4, !tbaa !5
  %31985 = icmp eq i32 %31984, 469762121
  br i1 %31985, label %32039, label %31986

31986:                                            ; preds = %31980
  br label %31987

31987:                                            ; preds = %31986
  br label %31988

31988:                                            ; preds = %31987
  call void @llvm.lifetime.start.p0(i64 4, ptr %743) #11
  %31989 = call ptr @__errno_location() #12
  %31990 = load i32, ptr %31989, align 4, !tbaa !5
  store i32 %31990, ptr %743, align 4, !tbaa !5
  %31991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31992 = call i32 @s2n_print_stacktrace(ptr noundef %31991)
  %31993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31994 = trunc i8 %31993 to i1
  br i1 %31994, label %31995, label %32017

31995:                                            ; preds = %31988
  %31996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31997 = call i32 @fileno(ptr noundef %31996) #11
  %31998 = call i32 @isatty(i32 noundef %31997) #11
  %31999 = icmp ne i32 %31998, 0
  br i1 %31999, label %32000, label %32017

32000:                                            ; preds = %31995
  %32001 = load i32, ptr %743, align 4, !tbaa !5
  %32002 = call ptr @__errno_location() #12
  store i32 %32001, ptr %32002, align 4, !tbaa !5
  %32003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32004 = load i32, ptr @test_count, align 4, !tbaa !5
  %32005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32006 = load i32, ptr %32005, align 4, !tbaa !5
  %32007 = call ptr @s2n_strerror(i32 noundef %32006, ptr noundef @.str.80)
  %32008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32009 = load i32, ptr %32008, align 4, !tbaa !5
  %32010 = call ptr @s2n_strerror_debug(i32 noundef %32009, ptr noundef @.str.80)
  %32011 = call ptr @__errno_location() #12
  %32012 = load i32, ptr %32011, align 4, !tbaa !5
  %32013 = call ptr @strerror(i32 noundef %32012) #11
  %32014 = call ptr @__errno_location() #12
  %32015 = load i32, ptr %32014, align 4, !tbaa !5
  %32016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32003, ptr noundef @.str.78, i32 noundef %32004, ptr noundef @.str.353, ptr noundef @.str.77, i32 noundef 1112, ptr noundef %32007, ptr noundef %32010, ptr noundef %32013, i32 noundef %32015) #11
  br label %32034

32017:                                            ; preds = %31995, %31988
  %32018 = load i32, ptr %743, align 4, !tbaa !5
  %32019 = call ptr @__errno_location() #12
  store i32 %32018, ptr %32019, align 4, !tbaa !5
  %32020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32021 = load i32, ptr @test_count, align 4, !tbaa !5
  %32022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32023 = load i32, ptr %32022, align 4, !tbaa !5
  %32024 = call ptr @s2n_strerror(i32 noundef %32023, ptr noundef @.str.80)
  %32025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32026 = load i32, ptr %32025, align 4, !tbaa !5
  %32027 = call ptr @s2n_strerror_debug(i32 noundef %32026, ptr noundef @.str.80)
  %32028 = call ptr @__errno_location() #12
  %32029 = load i32, ptr %32028, align 4, !tbaa !5
  %32030 = call ptr @strerror(i32 noundef %32029) #11
  %32031 = call ptr @__errno_location() #12
  %32032 = load i32, ptr %32031, align 4, !tbaa !5
  %32033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32020, ptr noundef @.str.81, i32 noundef %32021, ptr noundef @.str.353, ptr noundef @.str.77, i32 noundef 1112, ptr noundef %32024, ptr noundef %32027, ptr noundef %32030, i32 noundef %32032) #11
  br label %32034

32034:                                            ; preds = %32017, %32000
  call void @llvm.lifetime.end.p0(i64 4, ptr %743) #11
  br label %32035

32035:                                            ; preds = %32034
  br label %32036

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

32037:                                            ; No predecessors!
  br label %32038

32038:                                            ; preds = %32037
  br label %32039

32039:                                            ; preds = %32038, %31980
  br label %32040

32040:                                            ; preds = %32039
  br label %32041

32041:                                            ; preds = %32040
  br label %32042

32042:                                            ; preds = %32041
  %32043 = load i32, ptr @test_count, align 4, !tbaa !5
  %32044 = add nsw i32 %32043, 1
  store i32 %32044, ptr @test_count, align 4, !tbaa !5
  %32045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32046 = load i32, ptr %32045, align 4, !tbaa !5
  %32047 = call ptr @s2n_strerror_debug(i32 noundef %32046, ptr noundef @.str.80)
  %32048 = icmp eq ptr %32047, null
  br i1 %32048, label %32049, label %32102

32049:                                            ; preds = %32042
  br label %32050

32050:                                            ; preds = %32049
  br label %32051

32051:                                            ; preds = %32050
  call void @llvm.lifetime.start.p0(i64 4, ptr %744) #11
  %32052 = call ptr @__errno_location() #12
  %32053 = load i32, ptr %32052, align 4, !tbaa !5
  store i32 %32053, ptr %744, align 4, !tbaa !5
  %32054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32055 = call i32 @s2n_print_stacktrace(ptr noundef %32054)
  %32056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32057 = trunc i8 %32056 to i1
  br i1 %32057, label %32058, label %32080

32058:                                            ; preds = %32051
  %32059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32060 = call i32 @fileno(ptr noundef %32059) #11
  %32061 = call i32 @isatty(i32 noundef %32060) #11
  %32062 = icmp ne i32 %32061, 0
  br i1 %32062, label %32063, label %32080

32063:                                            ; preds = %32058
  %32064 = load i32, ptr %744, align 4, !tbaa !5
  %32065 = call ptr @__errno_location() #12
  store i32 %32064, ptr %32065, align 4, !tbaa !5
  %32066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32067 = load i32, ptr @test_count, align 4, !tbaa !5
  %32068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32069 = load i32, ptr %32068, align 4, !tbaa !5
  %32070 = call ptr @s2n_strerror(i32 noundef %32069, ptr noundef @.str.80)
  %32071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32072 = load i32, ptr %32071, align 4, !tbaa !5
  %32073 = call ptr @s2n_strerror_debug(i32 noundef %32072, ptr noundef @.str.80)
  %32074 = call ptr @__errno_location() #12
  %32075 = load i32, ptr %32074, align 4, !tbaa !5
  %32076 = call ptr @strerror(i32 noundef %32075) #11
  %32077 = call ptr @__errno_location() #12
  %32078 = load i32, ptr %32077, align 4, !tbaa !5
  %32079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32066, ptr noundef @.str.78, i32 noundef %32067, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1112, ptr noundef %32070, ptr noundef %32073, ptr noundef %32076, i32 noundef %32078) #11
  br label %32097

32080:                                            ; preds = %32058, %32051
  %32081 = load i32, ptr %744, align 4, !tbaa !5
  %32082 = call ptr @__errno_location() #12
  store i32 %32081, ptr %32082, align 4, !tbaa !5
  %32083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32084 = load i32, ptr @test_count, align 4, !tbaa !5
  %32085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32086 = load i32, ptr %32085, align 4, !tbaa !5
  %32087 = call ptr @s2n_strerror(i32 noundef %32086, ptr noundef @.str.80)
  %32088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32089 = load i32, ptr %32088, align 4, !tbaa !5
  %32090 = call ptr @s2n_strerror_debug(i32 noundef %32089, ptr noundef @.str.80)
  %32091 = call ptr @__errno_location() #12
  %32092 = load i32, ptr %32091, align 4, !tbaa !5
  %32093 = call ptr @strerror(i32 noundef %32092) #11
  %32094 = call ptr @__errno_location() #12
  %32095 = load i32, ptr %32094, align 4, !tbaa !5
  %32096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32083, ptr noundef @.str.81, i32 noundef %32084, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1112, ptr noundef %32087, ptr noundef %32090, ptr noundef %32093, i32 noundef %32095) #11
  br label %32097

32097:                                            ; preds = %32080, %32063
  call void @llvm.lifetime.end.p0(i64 4, ptr %744) #11
  br label %32098

32098:                                            ; preds = %32097
  br label %32099

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

32100:                                            ; No predecessors!
  br label %32101

32101:                                            ; preds = %32100
  br label %32102

32102:                                            ; preds = %32101, %32042
  br label %32103

32103:                                            ; preds = %32102
  br label %32104

32104:                                            ; preds = %32103
  br label %32105

32105:                                            ; preds = %32104
  br label %32106

32106:                                            ; preds = %32105
  br label %32107

32107:                                            ; preds = %32106
  %32108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %32108, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %32109 = call ptr @__errno_location() #12
  store i32 0, ptr %32109, align 4, !tbaa !5
  br label %32110

32110:                                            ; preds = %32107
  br label %32111

32111:                                            ; preds = %32110
  br label %32112

32112:                                            ; preds = %32111
  br label %32113

32113:                                            ; preds = %32112
  %32114 = load i64, ptr %718, align 8, !tbaa !38
  %32115 = add i64 %32114, 1
  %32116 = load ptr, ptr %730, align 8, !tbaa !9
  %32117 = getelementptr inbounds %struct.s2n_psk, ptr %32116, i32 0, i32 8
  store i64 %32115, ptr %32117, align 8, !tbaa !96
  br label %32118

32118:                                            ; preds = %32113
  br label %32119

32119:                                            ; preds = %32118
  br label %32120

32120:                                            ; preds = %32119
  %32121 = load i32, ptr @test_count, align 4, !tbaa !5
  %32122 = add nsw i32 %32121, 1
  store i32 %32122, ptr @test_count, align 4, !tbaa !5
  %32123 = load ptr, ptr %727, align 8, !tbaa !9
  %32124 = call i32 @s2n_psk_validate_keying_material(ptr noundef %32123)
  %32125 = getelementptr inbounds %struct.s2n_result, ptr %745, i32 0, i32 0
  store i32 %32124, ptr %32125, align 4
  %32126 = getelementptr inbounds %struct.s2n_result, ptr %745, i32 0, i32 0
  %32127 = load i32, ptr %32126, align 4
  %32128 = call zeroext i1 @s2n_result_is_error(i32 %32127)
  br i1 %32128, label %32182, label %32129

32129:                                            ; preds = %32120
  br label %32130

32130:                                            ; preds = %32129
  br label %32131

32131:                                            ; preds = %32130
  call void @llvm.lifetime.start.p0(i64 4, ptr %746) #11
  %32132 = call ptr @__errno_location() #12
  %32133 = load i32, ptr %32132, align 4, !tbaa !5
  store i32 %32133, ptr %746, align 4, !tbaa !5
  %32134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32135 = call i32 @s2n_print_stacktrace(ptr noundef %32134)
  %32136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32137 = trunc i8 %32136 to i1
  br i1 %32137, label %32138, label %32160

32138:                                            ; preds = %32131
  %32139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32140 = call i32 @fileno(ptr noundef %32139) #11
  %32141 = call i32 @isatty(i32 noundef %32140) #11
  %32142 = icmp ne i32 %32141, 0
  br i1 %32142, label %32143, label %32160

32143:                                            ; preds = %32138
  %32144 = load i32, ptr %746, align 4, !tbaa !5
  %32145 = call ptr @__errno_location() #12
  store i32 %32144, ptr %32145, align 4, !tbaa !5
  %32146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32147 = load i32, ptr @test_count, align 4, !tbaa !5
  %32148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32149 = load i32, ptr %32148, align 4, !tbaa !5
  %32150 = call ptr @s2n_strerror(i32 noundef %32149, ptr noundef @.str.80)
  %32151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32152 = load i32, ptr %32151, align 4, !tbaa !5
  %32153 = call ptr @s2n_strerror_debug(i32 noundef %32152, ptr noundef @.str.80)
  %32154 = call ptr @__errno_location() #12
  %32155 = load i32, ptr %32154, align 4, !tbaa !5
  %32156 = call ptr @strerror(i32 noundef %32155) #11
  %32157 = call ptr @__errno_location() #12
  %32158 = load i32, ptr %32157, align 4, !tbaa !5
  %32159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32146, ptr noundef @.str.78, i32 noundef %32147, ptr noundef @.str.352, ptr noundef @.str.77, i32 noundef 1116, ptr noundef %32150, ptr noundef %32153, ptr noundef %32156, i32 noundef %32158) #11
  br label %32177

32160:                                            ; preds = %32138, %32131
  %32161 = load i32, ptr %746, align 4, !tbaa !5
  %32162 = call ptr @__errno_location() #12
  store i32 %32161, ptr %32162, align 4, !tbaa !5
  %32163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32164 = load i32, ptr @test_count, align 4, !tbaa !5
  %32165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32166 = load i32, ptr %32165, align 4, !tbaa !5
  %32167 = call ptr @s2n_strerror(i32 noundef %32166, ptr noundef @.str.80)
  %32168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32169 = load i32, ptr %32168, align 4, !tbaa !5
  %32170 = call ptr @s2n_strerror_debug(i32 noundef %32169, ptr noundef @.str.80)
  %32171 = call ptr @__errno_location() #12
  %32172 = load i32, ptr %32171, align 4, !tbaa !5
  %32173 = call ptr @strerror(i32 noundef %32172) #11
  %32174 = call ptr @__errno_location() #12
  %32175 = load i32, ptr %32174, align 4, !tbaa !5
  %32176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32163, ptr noundef @.str.81, i32 noundef %32164, ptr noundef @.str.352, ptr noundef @.str.77, i32 noundef 1116, ptr noundef %32167, ptr noundef %32170, ptr noundef %32173, i32 noundef %32175) #11
  br label %32177

32177:                                            ; preds = %32160, %32143
  call void @llvm.lifetime.end.p0(i64 4, ptr %746) #11
  br label %32178

32178:                                            ; preds = %32177
  br label %32179

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

32180:                                            ; No predecessors!
  br label %32181

32181:                                            ; preds = %32180
  br label %32182

32182:                                            ; preds = %32181, %32120
  br label %32183

32183:                                            ; preds = %32182
  br label %32184

32184:                                            ; preds = %32183
  br label %32185

32185:                                            ; preds = %32184
  %32186 = load i32, ptr @test_count, align 4, !tbaa !5
  %32187 = add nsw i32 %32186, 1
  store i32 %32187, ptr @test_count, align 4, !tbaa !5
  %32188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32189 = load i32, ptr %32188, align 4, !tbaa !5
  %32190 = icmp eq i32 %32189, 469762121
  br i1 %32190, label %32244, label %32191

32191:                                            ; preds = %32185
  br label %32192

32192:                                            ; preds = %32191
  br label %32193

32193:                                            ; preds = %32192
  call void @llvm.lifetime.start.p0(i64 4, ptr %747) #11
  %32194 = call ptr @__errno_location() #12
  %32195 = load i32, ptr %32194, align 4, !tbaa !5
  store i32 %32195, ptr %747, align 4, !tbaa !5
  %32196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32197 = call i32 @s2n_print_stacktrace(ptr noundef %32196)
  %32198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32199 = trunc i8 %32198 to i1
  br i1 %32199, label %32200, label %32222

32200:                                            ; preds = %32193
  %32201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32202 = call i32 @fileno(ptr noundef %32201) #11
  %32203 = call i32 @isatty(i32 noundef %32202) #11
  %32204 = icmp ne i32 %32203, 0
  br i1 %32204, label %32205, label %32222

32205:                                            ; preds = %32200
  %32206 = load i32, ptr %747, align 4, !tbaa !5
  %32207 = call ptr @__errno_location() #12
  store i32 %32206, ptr %32207, align 4, !tbaa !5
  %32208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32209 = load i32, ptr @test_count, align 4, !tbaa !5
  %32210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32211 = load i32, ptr %32210, align 4, !tbaa !5
  %32212 = call ptr @s2n_strerror(i32 noundef %32211, ptr noundef @.str.80)
  %32213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32214 = load i32, ptr %32213, align 4, !tbaa !5
  %32215 = call ptr @s2n_strerror_debug(i32 noundef %32214, ptr noundef @.str.80)
  %32216 = call ptr @__errno_location() #12
  %32217 = load i32, ptr %32216, align 4, !tbaa !5
  %32218 = call ptr @strerror(i32 noundef %32217) #11
  %32219 = call ptr @__errno_location() #12
  %32220 = load i32, ptr %32219, align 4, !tbaa !5
  %32221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32208, ptr noundef @.str.78, i32 noundef %32209, ptr noundef @.str.353, ptr noundef @.str.77, i32 noundef 1116, ptr noundef %32212, ptr noundef %32215, ptr noundef %32218, i32 noundef %32220) #11
  br label %32239

32222:                                            ; preds = %32200, %32193
  %32223 = load i32, ptr %747, align 4, !tbaa !5
  %32224 = call ptr @__errno_location() #12
  store i32 %32223, ptr %32224, align 4, !tbaa !5
  %32225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32226 = load i32, ptr @test_count, align 4, !tbaa !5
  %32227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32228 = load i32, ptr %32227, align 4, !tbaa !5
  %32229 = call ptr @s2n_strerror(i32 noundef %32228, ptr noundef @.str.80)
  %32230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32231 = load i32, ptr %32230, align 4, !tbaa !5
  %32232 = call ptr @s2n_strerror_debug(i32 noundef %32231, ptr noundef @.str.80)
  %32233 = call ptr @__errno_location() #12
  %32234 = load i32, ptr %32233, align 4, !tbaa !5
  %32235 = call ptr @strerror(i32 noundef %32234) #11
  %32236 = call ptr @__errno_location() #12
  %32237 = load i32, ptr %32236, align 4, !tbaa !5
  %32238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32225, ptr noundef @.str.81, i32 noundef %32226, ptr noundef @.str.353, ptr noundef @.str.77, i32 noundef 1116, ptr noundef %32229, ptr noundef %32232, ptr noundef %32235, i32 noundef %32237) #11
  br label %32239

32239:                                            ; preds = %32222, %32205
  call void @llvm.lifetime.end.p0(i64 4, ptr %747) #11
  br label %32240

32240:                                            ; preds = %32239
  br label %32241

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

32242:                                            ; No predecessors!
  br label %32243

32243:                                            ; preds = %32242
  br label %32244

32244:                                            ; preds = %32243, %32185
  br label %32245

32245:                                            ; preds = %32244
  br label %32246

32246:                                            ; preds = %32245
  br label %32247

32247:                                            ; preds = %32246
  %32248 = load i32, ptr @test_count, align 4, !tbaa !5
  %32249 = add nsw i32 %32248, 1
  store i32 %32249, ptr @test_count, align 4, !tbaa !5
  %32250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32251 = load i32, ptr %32250, align 4, !tbaa !5
  %32252 = call ptr @s2n_strerror_debug(i32 noundef %32251, ptr noundef @.str.80)
  %32253 = icmp eq ptr %32252, null
  br i1 %32253, label %32254, label %32307

32254:                                            ; preds = %32247
  br label %32255

32255:                                            ; preds = %32254
  br label %32256

32256:                                            ; preds = %32255
  call void @llvm.lifetime.start.p0(i64 4, ptr %748) #11
  %32257 = call ptr @__errno_location() #12
  %32258 = load i32, ptr %32257, align 4, !tbaa !5
  store i32 %32258, ptr %748, align 4, !tbaa !5
  %32259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32260 = call i32 @s2n_print_stacktrace(ptr noundef %32259)
  %32261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32262 = trunc i8 %32261 to i1
  br i1 %32262, label %32263, label %32285

32263:                                            ; preds = %32256
  %32264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32265 = call i32 @fileno(ptr noundef %32264) #11
  %32266 = call i32 @isatty(i32 noundef %32265) #11
  %32267 = icmp ne i32 %32266, 0
  br i1 %32267, label %32268, label %32285

32268:                                            ; preds = %32263
  %32269 = load i32, ptr %748, align 4, !tbaa !5
  %32270 = call ptr @__errno_location() #12
  store i32 %32269, ptr %32270, align 4, !tbaa !5
  %32271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32272 = load i32, ptr @test_count, align 4, !tbaa !5
  %32273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32274 = load i32, ptr %32273, align 4, !tbaa !5
  %32275 = call ptr @s2n_strerror(i32 noundef %32274, ptr noundef @.str.80)
  %32276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32277 = load i32, ptr %32276, align 4, !tbaa !5
  %32278 = call ptr @s2n_strerror_debug(i32 noundef %32277, ptr noundef @.str.80)
  %32279 = call ptr @__errno_location() #12
  %32280 = load i32, ptr %32279, align 4, !tbaa !5
  %32281 = call ptr @strerror(i32 noundef %32280) #11
  %32282 = call ptr @__errno_location() #12
  %32283 = load i32, ptr %32282, align 4, !tbaa !5
  %32284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32271, ptr noundef @.str.78, i32 noundef %32272, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1116, ptr noundef %32275, ptr noundef %32278, ptr noundef %32281, i32 noundef %32283) #11
  br label %32302

32285:                                            ; preds = %32263, %32256
  %32286 = load i32, ptr %748, align 4, !tbaa !5
  %32287 = call ptr @__errno_location() #12
  store i32 %32286, ptr %32287, align 4, !tbaa !5
  %32288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32289 = load i32, ptr @test_count, align 4, !tbaa !5
  %32290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32291 = load i32, ptr %32290, align 4, !tbaa !5
  %32292 = call ptr @s2n_strerror(i32 noundef %32291, ptr noundef @.str.80)
  %32293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32294 = load i32, ptr %32293, align 4, !tbaa !5
  %32295 = call ptr @s2n_strerror_debug(i32 noundef %32294, ptr noundef @.str.80)
  %32296 = call ptr @__errno_location() #12
  %32297 = load i32, ptr %32296, align 4, !tbaa !5
  %32298 = call ptr @strerror(i32 noundef %32297) #11
  %32299 = call ptr @__errno_location() #12
  %32300 = load i32, ptr %32299, align 4, !tbaa !5
  %32301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32288, ptr noundef @.str.81, i32 noundef %32289, ptr noundef @.str.86, ptr noundef @.str.77, i32 noundef 1116, ptr noundef %32292, ptr noundef %32295, ptr noundef %32298, i32 noundef %32300) #11
  br label %32302

32302:                                            ; preds = %32285, %32268
  call void @llvm.lifetime.end.p0(i64 4, ptr %748) #11
  br label %32303

32303:                                            ; preds = %32302
  br label %32304

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

32305:                                            ; No predecessors!
  br label %32306

32306:                                            ; preds = %32305
  br label %32307

32307:                                            ; preds = %32306, %32247
  br label %32308

32308:                                            ; preds = %32307
  br label %32309

32309:                                            ; preds = %32308
  br label %32310

32310:                                            ; preds = %32309
  br label %32311

32311:                                            ; preds = %32310
  br label %32312

32312:                                            ; preds = %32311
  %32313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %32313, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %32314 = call ptr @__errno_location() #12
  store i32 0, ptr %32314, align 4, !tbaa !5
  br label %32315

32315:                                            ; preds = %32312
  br label %32316

32316:                                            ; preds = %32315
  br label %32317

32317:                                            ; preds = %32316
  br label %32318

32318:                                            ; preds = %32317
  %32319 = load i64, ptr %718, align 8, !tbaa !38
  %32320 = add i64 %32319, 1000000000
  %32321 = add i64 %32320, 1
  %32322 = load ptr, ptr %730, align 8, !tbaa !9
  %32323 = getelementptr inbounds %struct.s2n_psk, ptr %32322, i32 0, i32 8
  store i64 %32321, ptr %32323, align 8, !tbaa !96
  br label %32324

32324:                                            ; preds = %32318
  %32325 = load i32, ptr @test_count, align 4, !tbaa !5
  %32326 = add nsw i32 %32325, 1
  store i32 %32326, ptr @test_count, align 4, !tbaa !5
  %32327 = load ptr, ptr %727, align 8, !tbaa !9
  %32328 = call i32 @s2n_psk_validate_keying_material(ptr noundef %32327)
  %32329 = getelementptr inbounds %struct.s2n_result, ptr %749, i32 0, i32 0
  store i32 %32328, ptr %32329, align 4
  %32330 = getelementptr inbounds %struct.s2n_result, ptr %749, i32 0, i32 0
  %32331 = load i32, ptr %32330, align 4
  %32332 = call zeroext i1 @s2n_result_is_ok(i32 %32331)
  br i1 %32332, label %32386, label %32333

32333:                                            ; preds = %32324
  br label %32334

32334:                                            ; preds = %32333
  br label %32335

32335:                                            ; preds = %32334
  call void @llvm.lifetime.start.p0(i64 4, ptr %750) #11
  %32336 = call ptr @__errno_location() #12
  %32337 = load i32, ptr %32336, align 4, !tbaa !5
  store i32 %32337, ptr %750, align 4, !tbaa !5
  %32338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32339 = call i32 @s2n_print_stacktrace(ptr noundef %32338)
  %32340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32341 = trunc i8 %32340 to i1
  br i1 %32341, label %32342, label %32364

32342:                                            ; preds = %32335
  %32343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32344 = call i32 @fileno(ptr noundef %32343) #11
  %32345 = call i32 @isatty(i32 noundef %32344) #11
  %32346 = icmp ne i32 %32345, 0
  br i1 %32346, label %32347, label %32364

32347:                                            ; preds = %32342
  %32348 = load i32, ptr %750, align 4, !tbaa !5
  %32349 = call ptr @__errno_location() #12
  store i32 %32348, ptr %32349, align 4, !tbaa !5
  %32350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32351 = load i32, ptr @test_count, align 4, !tbaa !5
  %32352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32353 = load i32, ptr %32352, align 4, !tbaa !5
  %32354 = call ptr @s2n_strerror(i32 noundef %32353, ptr noundef @.str.80)
  %32355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32356 = load i32, ptr %32355, align 4, !tbaa !5
  %32357 = call ptr @s2n_strerror_debug(i32 noundef %32356, ptr noundef @.str.80)
  %32358 = call ptr @__errno_location() #12
  %32359 = load i32, ptr %32358, align 4, !tbaa !5
  %32360 = call ptr @strerror(i32 noundef %32359) #11
  %32361 = call ptr @__errno_location() #12
  %32362 = load i32, ptr %32361, align 4, !tbaa !5
  %32363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32350, ptr noundef @.str.78, i32 noundef %32351, ptr noundef @.str.351, ptr noundef @.str.77, i32 noundef 1120, ptr noundef %32354, ptr noundef %32357, ptr noundef %32360, i32 noundef %32362) #11
  br label %32381

32364:                                            ; preds = %32342, %32335
  %32365 = load i32, ptr %750, align 4, !tbaa !5
  %32366 = call ptr @__errno_location() #12
  store i32 %32365, ptr %32366, align 4, !tbaa !5
  %32367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32368 = load i32, ptr @test_count, align 4, !tbaa !5
  %32369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32370 = load i32, ptr %32369, align 4, !tbaa !5
  %32371 = call ptr @s2n_strerror(i32 noundef %32370, ptr noundef @.str.80)
  %32372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32373 = load i32, ptr %32372, align 4, !tbaa !5
  %32374 = call ptr @s2n_strerror_debug(i32 noundef %32373, ptr noundef @.str.80)
  %32375 = call ptr @__errno_location() #12
  %32376 = load i32, ptr %32375, align 4, !tbaa !5
  %32377 = call ptr @strerror(i32 noundef %32376) #11
  %32378 = call ptr @__errno_location() #12
  %32379 = load i32, ptr %32378, align 4, !tbaa !5
  %32380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32367, ptr noundef @.str.81, i32 noundef %32368, ptr noundef @.str.351, ptr noundef @.str.77, i32 noundef 1120, ptr noundef %32371, ptr noundef %32374, ptr noundef %32377, i32 noundef %32379) #11
  br label %32381

32381:                                            ; preds = %32364, %32347
  call void @llvm.lifetime.end.p0(i64 4, ptr %750) #11
  br label %32382

32382:                                            ; preds = %32381
  br label %32383

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

32384:                                            ; No predecessors!
  br label %32385

32385:                                            ; preds = %32384
  br label %32386

32386:                                            ; preds = %32385, %32324
  br label %32387

32387:                                            ; preds = %32386
  br label %32388

32388:                                            ; preds = %32387
  br label %32389

32389:                                            ; preds = %32388
  %32390 = load i32, ptr @test_count, align 4, !tbaa !5
  %32391 = add nsw i32 %32390, 1
  store i32 %32391, ptr @test_count, align 4, !tbaa !5
  %32392 = load ptr, ptr %727, align 8, !tbaa !9
  %32393 = call i32 @s2n_connection_free(ptr noundef %32392)
  %32394 = icmp eq i32 %32393, -1
  br i1 %32394, label %32395, label %32448

32395:                                            ; preds = %32389
  br label %32396

32396:                                            ; preds = %32395
  br label %32397

32397:                                            ; preds = %32396
  call void @llvm.lifetime.start.p0(i64 4, ptr %751) #11
  %32398 = call ptr @__errno_location() #12
  %32399 = load i32, ptr %32398, align 4, !tbaa !5
  store i32 %32399, ptr %751, align 4, !tbaa !5
  %32400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32401 = call i32 @s2n_print_stacktrace(ptr noundef %32400)
  %32402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32403 = trunc i8 %32402 to i1
  br i1 %32403, label %32404, label %32426

32404:                                            ; preds = %32397
  %32405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32406 = call i32 @fileno(ptr noundef %32405) #11
  %32407 = call i32 @isatty(i32 noundef %32406) #11
  %32408 = icmp ne i32 %32407, 0
  br i1 %32408, label %32409, label %32426

32409:                                            ; preds = %32404
  %32410 = load i32, ptr %751, align 4, !tbaa !5
  %32411 = call ptr @__errno_location() #12
  store i32 %32410, ptr %32411, align 4, !tbaa !5
  %32412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32413 = load i32, ptr @test_count, align 4, !tbaa !5
  %32414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32415 = load i32, ptr %32414, align 4, !tbaa !5
  %32416 = call ptr @s2n_strerror(i32 noundef %32415, ptr noundef @.str.80)
  %32417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32418 = load i32, ptr %32417, align 4, !tbaa !5
  %32419 = call ptr @s2n_strerror_debug(i32 noundef %32418, ptr noundef @.str.80)
  %32420 = call ptr @__errno_location() #12
  %32421 = load i32, ptr %32420, align 4, !tbaa !5
  %32422 = call ptr @strerror(i32 noundef %32421) #11
  %32423 = call ptr @__errno_location() #12
  %32424 = load i32, ptr %32423, align 4, !tbaa !5
  %32425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32412, ptr noundef @.str.78, i32 noundef %32413, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 1122, ptr noundef %32416, ptr noundef %32419, ptr noundef %32422, i32 noundef %32424) #11
  br label %32443

32426:                                            ; preds = %32404, %32397
  %32427 = load i32, ptr %751, align 4, !tbaa !5
  %32428 = call ptr @__errno_location() #12
  store i32 %32427, ptr %32428, align 4, !tbaa !5
  %32429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32430 = load i32, ptr @test_count, align 4, !tbaa !5
  %32431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32432 = load i32, ptr %32431, align 4, !tbaa !5
  %32433 = call ptr @s2n_strerror(i32 noundef %32432, ptr noundef @.str.80)
  %32434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32435 = load i32, ptr %32434, align 4, !tbaa !5
  %32436 = call ptr @s2n_strerror_debug(i32 noundef %32435, ptr noundef @.str.80)
  %32437 = call ptr @__errno_location() #12
  %32438 = load i32, ptr %32437, align 4, !tbaa !5
  %32439 = call ptr @strerror(i32 noundef %32438) #11
  %32440 = call ptr @__errno_location() #12
  %32441 = load i32, ptr %32440, align 4, !tbaa !5
  %32442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32429, ptr noundef @.str.81, i32 noundef %32430, ptr noundef @.str.196, ptr noundef @.str.77, i32 noundef 1122, ptr noundef %32433, ptr noundef %32436, ptr noundef %32439, i32 noundef %32441) #11
  br label %32443

32443:                                            ; preds = %32426, %32409
  call void @llvm.lifetime.end.p0(i64 4, ptr %751) #11
  br label %32444

32444:                                            ; preds = %32443
  br label %32445

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

32446:                                            ; No predecessors!
  br label %32447

32447:                                            ; preds = %32446
  br label %32448

32448:                                            ; preds = %32447, %32389
  br label %32449

32449:                                            ; preds = %32448
  br label %32450

32450:                                            ; preds = %32449
  br label %32451

32451:                                            ; preds = %32450
  %32452 = load i32, ptr @test_count, align 4, !tbaa !5
  %32453 = add nsw i32 %32452, 1
  store i32 %32453, ptr @test_count, align 4, !tbaa !5
  %32454 = load ptr, ptr %723, align 8, !tbaa !9
  %32455 = call i32 @s2n_config_free(ptr noundef %32454)
  %32456 = icmp eq i32 %32455, -1
  br i1 %32456, label %32457, label %32510

32457:                                            ; preds = %32451
  br label %32458

32458:                                            ; preds = %32457
  br label %32459

32459:                                            ; preds = %32458
  call void @llvm.lifetime.start.p0(i64 4, ptr %752) #11
  %32460 = call ptr @__errno_location() #12
  %32461 = load i32, ptr %32460, align 4, !tbaa !5
  store i32 %32461, ptr %752, align 4, !tbaa !5
  %32462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32463 = call i32 @s2n_print_stacktrace(ptr noundef %32462)
  %32464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32465 = trunc i8 %32464 to i1
  br i1 %32465, label %32466, label %32488

32466:                                            ; preds = %32459
  %32467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32468 = call i32 @fileno(ptr noundef %32467) #11
  %32469 = call i32 @isatty(i32 noundef %32468) #11
  %32470 = icmp ne i32 %32469, 0
  br i1 %32470, label %32471, label %32488

32471:                                            ; preds = %32466
  %32472 = load i32, ptr %752, align 4, !tbaa !5
  %32473 = call ptr @__errno_location() #12
  store i32 %32472, ptr %32473, align 4, !tbaa !5
  %32474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32475 = load i32, ptr @test_count, align 4, !tbaa !5
  %32476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32477 = load i32, ptr %32476, align 4, !tbaa !5
  %32478 = call ptr @s2n_strerror(i32 noundef %32477, ptr noundef @.str.80)
  %32479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32480 = load i32, ptr %32479, align 4, !tbaa !5
  %32481 = call ptr @s2n_strerror_debug(i32 noundef %32480, ptr noundef @.str.80)
  %32482 = call ptr @__errno_location() #12
  %32483 = load i32, ptr %32482, align 4, !tbaa !5
  %32484 = call ptr @strerror(i32 noundef %32483) #11
  %32485 = call ptr @__errno_location() #12
  %32486 = load i32, ptr %32485, align 4, !tbaa !5
  %32487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32474, ptr noundef @.str.78, i32 noundef %32475, ptr noundef @.str.323, ptr noundef @.str.77, i32 noundef 1123, ptr noundef %32478, ptr noundef %32481, ptr noundef %32484, i32 noundef %32486) #11
  br label %32505

32488:                                            ; preds = %32466, %32459
  %32489 = load i32, ptr %752, align 4, !tbaa !5
  %32490 = call ptr @__errno_location() #12
  store i32 %32489, ptr %32490, align 4, !tbaa !5
  %32491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32492 = load i32, ptr @test_count, align 4, !tbaa !5
  %32493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32494 = load i32, ptr %32493, align 4, !tbaa !5
  %32495 = call ptr @s2n_strerror(i32 noundef %32494, ptr noundef @.str.80)
  %32496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32497 = load i32, ptr %32496, align 4, !tbaa !5
  %32498 = call ptr @s2n_strerror_debug(i32 noundef %32497, ptr noundef @.str.80)
  %32499 = call ptr @__errno_location() #12
  %32500 = load i32, ptr %32499, align 4, !tbaa !5
  %32501 = call ptr @strerror(i32 noundef %32500) #11
  %32502 = call ptr @__errno_location() #12
  %32503 = load i32, ptr %32502, align 4, !tbaa !5
  %32504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32491, ptr noundef @.str.81, i32 noundef %32492, ptr noundef @.str.323, ptr noundef @.str.77, i32 noundef 1123, ptr noundef %32495, ptr noundef %32498, ptr noundef %32501, i32 noundef %32503) #11
  br label %32505

32505:                                            ; preds = %32488, %32471
  call void @llvm.lifetime.end.p0(i64 4, ptr %752) #11
  br label %32506

32506:                                            ; preds = %32505
  br label %32507

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

32508:                                            ; No predecessors!
  br label %32509

32509:                                            ; preds = %32508
  br label %32510

32510:                                            ; preds = %32509, %32451
  br label %32511

32511:                                            ; preds = %32510
  br label %32512

32512:                                            ; preds = %32511
  %32513 = call i32 @s2n_psk_free(ptr noundef %730)
  call void @llvm.lifetime.end.p0(i64 8, ptr %730) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %727) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %723) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %718) #11
  br label %32514

32514:                                            ; preds = %32512
  br label %32515

32515:                                            ; preds = %32514
  %32516 = call i32 @s2n_cleanup()
  %32517 = icmp eq i32 %32516, -1
  br i1 %32517, label %32518, label %32569

32518:                                            ; preds = %32515
  br label %32519

32519:                                            ; preds = %32518
  br label %32520

32520:                                            ; preds = %32519
  call void @llvm.lifetime.start.p0(i64 4, ptr %753) #11
  %32521 = call ptr @__errno_location() #12
  %32522 = load i32, ptr %32521, align 4, !tbaa !5
  store i32 %32522, ptr %753, align 4, !tbaa !5
  %32523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32524 = call i32 @s2n_print_stacktrace(ptr noundef %32523)
  %32525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32526 = trunc i8 %32525 to i1
  br i1 %32526, label %32527, label %32549

32527:                                            ; preds = %32520
  %32528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32529 = call i32 @fileno(ptr noundef %32528) #11
  %32530 = call i32 @isatty(i32 noundef %32529) #11
  %32531 = icmp ne i32 %32530, 0
  br i1 %32531, label %32532, label %32549

32532:                                            ; preds = %32527
  %32533 = load i32, ptr %753, align 4, !tbaa !5
  %32534 = call ptr @__errno_location() #12
  store i32 %32533, ptr %32534, align 4, !tbaa !5
  %32535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32536 = load i32, ptr @test_count, align 4, !tbaa !5
  %32537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32538 = load i32, ptr %32537, align 4, !tbaa !5
  %32539 = call ptr @s2n_strerror(i32 noundef %32538, ptr noundef @.str.80)
  %32540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32541 = load i32, ptr %32540, align 4, !tbaa !5
  %32542 = call ptr @s2n_strerror_debug(i32 noundef %32541, ptr noundef @.str.80)
  %32543 = call ptr @__errno_location() #12
  %32544 = load i32, ptr %32543, align 4, !tbaa !5
  %32545 = call ptr @strerror(i32 noundef %32544) #11
  %32546 = call ptr @__errno_location() #12
  %32547 = load i32, ptr %32546, align 4, !tbaa !5
  %32548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32535, ptr noundef @.str.78, i32 noundef %32536, ptr noundef @.str.354, ptr noundef @.str.77, i32 noundef 1126, ptr noundef %32539, ptr noundef %32542, ptr noundef %32545, i32 noundef %32547) #11
  br label %32566

32549:                                            ; preds = %32527, %32520
  %32550 = load i32, ptr %753, align 4, !tbaa !5
  %32551 = call ptr @__errno_location() #12
  store i32 %32550, ptr %32551, align 4, !tbaa !5
  %32552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32553 = load i32, ptr @test_count, align 4, !tbaa !5
  %32554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32555 = load i32, ptr %32554, align 4, !tbaa !5
  %32556 = call ptr @s2n_strerror(i32 noundef %32555, ptr noundef @.str.80)
  %32557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32558 = load i32, ptr %32557, align 4, !tbaa !5
  %32559 = call ptr @s2n_strerror_debug(i32 noundef %32558, ptr noundef @.str.80)
  %32560 = call ptr @__errno_location() #12
  %32561 = load i32, ptr %32560, align 4, !tbaa !5
  %32562 = call ptr @strerror(i32 noundef %32561) #11
  %32563 = call ptr @__errno_location() #12
  %32564 = load i32, ptr %32563, align 4, !tbaa !5
  %32565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32552, ptr noundef @.str.81, i32 noundef %32553, ptr noundef @.str.354, ptr noundef @.str.77, i32 noundef 1126, ptr noundef %32556, ptr noundef %32559, ptr noundef %32562, i32 noundef %32564) #11
  br label %32566

32566:                                            ; preds = %32549, %32532
  call void @llvm.lifetime.end.p0(i64 4, ptr %753) #11
  br label %32567

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

32568:                                            ; No predecessors!
  br label %32569

32569:                                            ; preds = %32568, %32515
  br label %32570

32570:                                            ; preds = %32569
  br label %32571

32571:                                            ; preds = %32570
  br label %32572

32572:                                            ; preds = %32571
  %32573 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %32574 = icmp eq i32 %32573, -1
  br i1 %32574, label %32575, label %32626

32575:                                            ; preds = %32572
  br label %32576

32576:                                            ; preds = %32575
  br label %32577

32577:                                            ; preds = %32576
  call void @llvm.lifetime.start.p0(i64 4, ptr %754) #11
  %32578 = call ptr @__errno_location() #12
  %32579 = load i32, ptr %32578, align 4, !tbaa !5
  store i32 %32579, ptr %754, align 4, !tbaa !5
  %32580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32581 = call i32 @s2n_print_stacktrace(ptr noundef %32580)
  %32582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32583 = trunc i8 %32582 to i1
  br i1 %32583, label %32584, label %32606

32584:                                            ; preds = %32577
  %32585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32586 = call i32 @fileno(ptr noundef %32585) #11
  %32587 = call i32 @isatty(i32 noundef %32586) #11
  %32588 = icmp ne i32 %32587, 0
  br i1 %32588, label %32589, label %32606

32589:                                            ; preds = %32584
  %32590 = load i32, ptr %754, align 4, !tbaa !5
  %32591 = call ptr @__errno_location() #12
  store i32 %32590, ptr %32591, align 4, !tbaa !5
  %32592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32593 = load i32, ptr @test_count, align 4, !tbaa !5
  %32594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32595 = load i32, ptr %32594, align 4, !tbaa !5
  %32596 = call ptr @s2n_strerror(i32 noundef %32595, ptr noundef @.str.80)
  %32597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32598 = load i32, ptr %32597, align 4, !tbaa !5
  %32599 = call ptr @s2n_strerror_debug(i32 noundef %32598, ptr noundef @.str.80)
  %32600 = call ptr @__errno_location() #12
  %32601 = load i32, ptr %32600, align 4, !tbaa !5
  %32602 = call ptr @strerror(i32 noundef %32601) #11
  %32603 = call ptr @__errno_location() #12
  %32604 = load i32, ptr %32603, align 4, !tbaa !5
  %32605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32592, ptr noundef @.str.78, i32 noundef %32593, ptr noundef @.str.355, ptr noundef @.str.77, i32 noundef 1126, ptr noundef %32596, ptr noundef %32599, ptr noundef %32602, i32 noundef %32604) #11
  br label %32623

32606:                                            ; preds = %32584, %32577
  %32607 = load i32, ptr %754, align 4, !tbaa !5
  %32608 = call ptr @__errno_location() #12
  store i32 %32607, ptr %32608, align 4, !tbaa !5
  %32609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32610 = load i32, ptr @test_count, align 4, !tbaa !5
  %32611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32612 = load i32, ptr %32611, align 4, !tbaa !5
  %32613 = call ptr @s2n_strerror(i32 noundef %32612, ptr noundef @.str.80)
  %32614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32615 = load i32, ptr %32614, align 4, !tbaa !5
  %32616 = call ptr @s2n_strerror_debug(i32 noundef %32615, ptr noundef @.str.80)
  %32617 = call ptr @__errno_location() #12
  %32618 = load i32, ptr %32617, align 4, !tbaa !5
  %32619 = call ptr @strerror(i32 noundef %32618) #11
  %32620 = call ptr @__errno_location() #12
  %32621 = load i32, ptr %32620, align 4, !tbaa !5
  %32622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32609, ptr noundef @.str.81, i32 noundef %32610, ptr noundef @.str.355, ptr noundef @.str.77, i32 noundef 1126, ptr noundef %32613, ptr noundef %32616, ptr noundef %32619, i32 noundef %32621) #11
  br label %32623

32623:                                            ; preds = %32606, %32589
  call void @llvm.lifetime.end.p0(i64 4, ptr %754) #11
  br label %32624

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

32625:                                            ; No predecessors!
  br label %32626

32626:                                            ; preds = %32625, %32572
  br label %32627

32627:                                            ; preds = %32626
  %32628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32629 = trunc i8 %32628 to i1
  br i1 %32629, label %32630, label %32646

32630:                                            ; preds = %32627
  %32631 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32632 = call i32 @fileno(ptr noundef %32631) #11
  %32633 = call i32 @isatty(i32 noundef %32632) #11
  %32634 = icmp ne i32 %32633, 0
  br i1 %32634, label %32635, label %32646

32635:                                            ; preds = %32630
  %32636 = load i32, ptr @test_count, align 4, !tbaa !5
  %32637 = icmp ne i32 %32636, 0
  br i1 %32637, label %32638, label %32642

32638:                                            ; preds = %32635
  %32639 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32640 = load i32, ptr @test_count, align 4, !tbaa !5
  %32641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32639, ptr noundef @.str.356, i32 noundef %32640) #11
  br label %32645

32642:                                            ; preds = %32635
  %32643 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32643, ptr noundef @.str.357) #11
  br label %32645

32645:                                            ; preds = %32642, %32638
  br label %32657

32646:                                            ; preds = %32630, %32627
  %32647 = load i32, ptr @test_count, align 4, !tbaa !5
  %32648 = icmp ne i32 %32647, 0
  br i1 %32648, label %32649, label %32653

32649:                                            ; preds = %32646
  %32650 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32651 = load i32, ptr @test_count, align 4, !tbaa !5
  %32652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32650, ptr noundef @.str.358, i32 noundef %32651) #11
  br label %32656

32653:                                            ; preds = %32646
  %32654 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32654, ptr noundef @.str.359) #11
  br label %32656

32656:                                            ; preds = %32653, %32649
  br label %32657

32657:                                            ; preds = %32656, %32645
  store i32 0, ptr %3, align 4
  br label %32659

32658:                                            ; No predecessors!
  br label %32659

32659:                                            ; preds = %32658, %32657, %19464
  %32660 = load i32, ptr %3, align 4
  ret i32 %32660

32661:                                            ; preds = %19464
  unreachable
}

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

declare i32 @fflush(ptr noundef) #4

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #4

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

declare i32 @s2n_print_stacktrace(ptr noundef) #4

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #4

declare i32 @s2n_init() #4

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

declare void @s2n_debug_info_reset() #4

; 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) #6

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

declare ptr @s2n_connection_new(i32 noundef) #4

declare i32 @s2n_connection_wipe(ptr noundef) #4

declare i32 @s2n_connection_free(ptr noundef) #4

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

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

declare i32 @s2n_stuffer_free(ptr noundef) #4

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

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

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

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

declare i32 @s2n_connection_ptr_free(ptr noundef) #4

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

declare ptr @s2n_test_psk_new(ptr noundef) #4

declare ptr @s2n_config_new() #4

declare i32 @s2n_config_free(ptr noundef) #4

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

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

declare i32 @s2n_cleanup() #4

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 #6 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { 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 #8 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { 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 #10 = { 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 #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 0}
!16 = !{!"s2n_psk", !6, i64 0, !17, i64 8, !17, i64 32, !6, i64 56, !6, i64 60, !18, i64 64, !17, i64 72, !19, i64 96, !18, i64 160}
!17 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_early_data_config", !6, i64 0, !7, i64 4, !10, i64 8, !17, i64 16, !17, i64 40}
!20 = !{!16, !6, i64 56}
!21 = !{!16, !6, i64 60}
!22 = !{!16, !18, i64 64}
!23 = !{!16, !6, i64 96}
!24 = !{!16, !6, i64 16}
!25 = !{!16, !10, i64 8}
!26 = !{!7, !7, i64 0}
!27 = !{!16, !6, i64 40}
!28 = !{!16, !10, i64 32}
!29 = !{!16, !6, i64 80}
!30 = !{!16, !10, i64 72}
!31 = !{!32, !6, i64 36}
!32 = !{!"s2n_psk_parameters", !6, i64 0, !33, i64 8, !34, i64 40, !34, i64 42, !10, i64 48, !6, i64 56}
!33 = !{!"s2n_array", !17, i64 0, !6, i64 24, !6, i64 28}
!34 = !{!"short", !7, i64 0}
!35 = !{!32, !34, i64 40}
!36 = !{!32, !34, i64 42}
!37 = !{!32, !10, i64 48}
!38 = !{!18, !18, i64 0}
!39 = !{!32, !6, i64 32}
!40 = distinct !{!40, !41}
!41 = !{!"llvm.loop.mustprogress"}
!42 = !{!43, !34, i64 1728}
!43 = !{!"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, !44, 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, !45, i64 240, !10, i64 632, !10, i64 640, !46, i64 648, !51, i64 1144, !32, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !54, i64 1776, !54, i64 1816, !54, i64 1856, !54, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !54, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !55, i64 2004, !55, i64 2008, !56, i64 2016, !34, i64 2208, !6, i64 2212, !34, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !55, i64 2264, !55, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !17, i64 2792, !6, i64 2816, !17, i64 2824, !17, i64 2848, !17, i64 2872, !58, i64 2896, !60, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !17, i64 3784, !6, i64 3808, !62, i64 3816, !7, i64 3848, !54, i64 3992, !17, i64 4032, !17, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !34, i64 4084, !34, i64 4086, !6, i64 4088, !6, i64 4092, !17, i64 4096, !6, i64 4120, !63, i64 4128, !55, i64 4176, !7, i64 4180, !7, i64 4181}
!44 = !{!"s2n_timer", !18, i64 0}
!45 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!46 = !{!"s2n_kex_parameters", !47, i64 0, !48, i64 8, !7, i64 24, !48, i64 56, !49, i64 72, !49, i64 184, !7, i64 296, !50, i64 360, !17, i64 448, !17, i64 472}
!47 = !{!"s2n_dh_params", !10, i64 0}
!48 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!49 = !{!"s2n_kem_group_params", !10, i64 0, !50, i64 8, !48, i64 96}
!50 = !{!"s2n_kem_params", !10, i64 0, !17, i64 8, !17, i64 32, !17, i64 56, !12, i64 80}
!51 = !{!"s2n_handshake_parameters", !52, i64 0, !52, i64 48, !17, i64 96, !6, i64 120, !53, 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}
!52 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!53 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!54 = !{!"s2n_stuffer", !17, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!55 = !{!"", !6, i64 0}
!56 = !{!"s2n_handshake", !54, 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, !57, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!57 = !{!"s2n_offered_early_data", !10, i64 0}
!58 = !{!"s2n_client_hello", !17, i64 0, !59, i64 24, !17, i64 728, !17, i64 752, !17, 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}
!59 = !{!"", !7, i64 0, !17, i64 672, !34, i64 696}
!60 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !34, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !61, i64 48, !12, i64 52}
!61 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!62 = !{!"s2n_ticket_fields", !17, i64 0, !6, i64 24}
!63 = !{!"s2n_post_handshake", !54, i64 0, !7, i64 40}
!64 = !{!43, !34, i64 1730}
!65 = !{!43, !10, i64 1736}
!66 = !{!34, !34, i64 0}
!67 = !{!54, !6, i64 28}
!68 = !{!54, !6, i64 24}
!69 = distinct !{!69, !41}
!70 = !{!43, !6, i64 2172}
!71 = !{!43, !10, i64 232}
!72 = !{!73, !10, i64 0}
!73 = !{!"s2n_crypto_parameters", !10, i64 0, !74, i64 8, !74, i64 16, !75, i64 24, !75, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!74 = !{!"s2n_session_key", !10, i64 0}
!75 = !{!"s2n_hmac_state", !6, i64 0, !34, i64 4, !6, i64 8, !34, i64 12, !7, i64 14, !76, i64 16, !76, i64 72, !76, i64 128, !76, i64 184, !7, i64 240, !7, i64 368}
!76 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!77 = !{!78, !6, i64 96}
!78 = !{!"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}
!79 = !{!17, !6, i64 8}
!80 = !{!17, !10, i64 0}
!81 = distinct !{!81, !41}
!82 = distinct !{!82, !41}
!83 = distinct !{!83, !41}
!84 = distinct !{!84, !41}
!85 = !{!43, !6, i64 2044}
!86 = !{!43, !6, i64 2040}
!87 = !{!43, !10, i64 2016}
!88 = !{!43, !6, i64 1720}
!89 = distinct !{!89, !41}
!90 = !{!43, !6, i64 148}
!91 = !{!92, !6, i64 396}
!92 = !{!"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, !93, i64 24, !17, 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, !94, i64 304, !34, 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, !17, i64 448}
!93 = !{!"certs_by_type", !7, i64 0}
!94 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!95 = !{!43, !6, i64 1688}
!96 = !{!16, !18, i64 160}


; 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_psk = type { i32, %struct.s2n_blob, %struct.s2n_blob, i32, i32, i64, %struct.s2n_blob, %struct.s2n_early_data_config, i64 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_early_data_config = type { i32, i8, ptr, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str.76 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [71 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.78 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [83 x i8], align 1
@__const.main.test_value_1 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [92 x i8], align 1
@__const.main.test_value_2 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [86 x i8], align 1
@__const.main.test_value_1.110 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [90 x i8], align 1
@__const.main.test_value_2.118 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [84 x i8], align 1
@__const.main.test_bad_value = external hidden unnamed_addr constant [6 x i8], align 1
@__const.main.test_identity = external hidden unnamed_addr constant [9 x i8], align 1
@__const.main.test_secret = external hidden unnamed_addr constant [7 x i8], align 1
@__const.main.test_early_secret = external hidden unnamed_addr constant [13 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [46 x i8], align 1
@__const.main.test_value = external hidden unnamed_addr constant [11 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.154 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [99 x i8], align 1
@__const.main.test_value.161 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [78 x i8], align 1
@__const.main.test_identity_data = external hidden unnamed_addr constant [19 x i8], align 16
@__const.main.test_secret_data = external hidden unnamed_addr constant [17 x i8], align 16
@.str.172 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [45 x i8], align 1
@__const.main.test_value.183 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [54 x i8], align 1
@__const.main.test_value.197 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.208 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.209 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.210 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [51 x i8], align 1
@s2n_tls13_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.212 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.216 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [365 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [955 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [1025 x i8], align 1
@.str.221 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.232 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.249 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.254 = external hidden unnamed_addr constant [115 x i8], align 1
@__const.main.identity_0 = external hidden unnamed_addr constant [9 x i8], align 1
@__const.main.secret_0 = external hidden unnamed_addr constant [7 x i8], align 1
@__const.main.identity_1 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.255 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.256 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.257 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.258 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.259 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.260 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.261 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.262 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.263 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.264 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.265 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.266 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.267 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.268 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.269 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.270 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.271 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.272 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.273 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.274 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.275 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.276 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.277 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.278 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.279 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.280 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.281 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.282 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.283 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.284 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.285 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.286 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.287 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.288 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.289 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.290 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.291 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.292 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.293 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.294 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.295 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.296 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.297 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.298 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.299 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.300 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.301 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.302 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.303 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.304 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.305 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.306 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.307 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.308 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.309 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.310 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.311 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.312 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.313 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.314 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.315 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.316 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.317 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.318 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.319 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.320 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.321 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.322 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.323 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.324 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.325 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.326 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.327 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.328 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.329 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.330 = external hidden unnamed_addr constant [84 x i8], align 1
@__const.main.psk_identity = external hidden unnamed_addr constant [9 x i8], align 1
@.str.331 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.332 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.333 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.334 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.335 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.336 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.337 = external hidden unnamed_addr constant [57 x i8], align 1
@__const.main.psk_identity.338 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.339 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.340 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.341 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.342 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.343 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.344 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.345 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.346 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.347 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.348 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.349 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.350 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.351 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.352 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.353 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.354 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.355 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.356 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.357 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.358 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.359 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_init(ptr noundef, i32 noundef) local_unnamed_addr #0

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local ptr @s2n_external_psk_new() local_unnamed_addr #0

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #4

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_set_identity(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_set_secret(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_clone(ptr noundef, ptr noundef) local_unnamed_addr #0

; 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) #6

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_wipe(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_free(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_parameters_init(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_parameters_offered_psks_size(ptr noundef, ptr noundef) local_unnamed_addr #0

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_parameters_wipe(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_parameters_wipe_secrets(ptr noundef) local_unnamed_addr #0

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_calculate_binder_hash(ptr noundef, i32 noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_calculate_binder(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_verify_binder(ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_finish_psk_extension(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_psk_write_binder_list(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_set_hmac(ptr noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_append_psk(ptr noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_config_set_psk_mode(ptr noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_set_psk_mode(ptr noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_get_negotiated_psk_identity_length(ptr noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local i32 @s2n_psk_validate_keying_material(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
define dso_local range(i32 -1, 1) i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca %struct.s2n_psk, align 8
  %4 = alloca %struct.s2n_psk, align 8
  %5 = alloca ptr, align 8
  %6 = alloca %struct.s2n_psk, align 8
  %7 = alloca [11 x i8], align 1
  %8 = alloca [8 x i8], align 8
  %9 = alloca %struct.s2n_psk, align 8
  %10 = alloca [11 x i8], align 1
  %11 = alloca [5 x i8], align 1
  %12 = alloca [8 x i8], align 8
  %13 = alloca [6 x i8], align 1
  %14 = alloca [9 x i8], align 1
  %15 = alloca [7 x i8], align 1
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca [11 x i8], align 1
  %19 = alloca %struct.s2n_psk, align 8
  %20 = alloca ptr, align 8
  %21 = alloca %struct.s2n_psk_parameters, align 8
  %22 = alloca %struct.s2n_psk_parameters, align 8
  %23 = alloca [11 x i8], align 1
  %24 = alloca %struct.s2n_psk_parameters, align 8
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca %struct.s2n_psk_parameters, align 8
  %28 = alloca [19 x i8], align 16
  %29 = alloca [17 x i8], align 16
  %30 = alloca %struct.s2n_psk_parameters, align 8
  %31 = alloca ptr, align 8
  %32 = alloca ptr, align 8
  %33 = alloca ptr, align 8
  %34 = alloca [11 x i8], align 1
  %35 = alloca %struct.s2n_psk_parameters, align 8
  %36 = alloca ptr, align 8
  %37 = alloca ptr, align 8
  %38 = alloca ptr, align 8
  %39 = alloca [11 x i8], align 1
  %40 = alloca %struct.s2n_blob, align 8
  %41 = alloca %struct.s2n_stuffer, align 8
  %42 = alloca ptr, align 8
  %43 = alloca ptr, align 8
  %44 = alloca i16, align 2
  %45 = alloca i8, align 1
  %46 = alloca %struct.s2n_stuffer, align 8
  %47 = alloca ptr, align 8
  %48 = alloca ptr, align 8
  %49 = alloca i16, align 2
  %50 = alloca i8, align 1
  %51 = alloca %struct.s2n_blob, align 8
  %52 = alloca %struct.s2n_blob, align 8
  %53 = alloca %struct.s2n_blob, align 8
  %54 = alloca %struct.s2n_blob, align 8
  %55 = alloca %struct.s2n_blob, align 8
  %56 = alloca %struct.s2n_blob, align 8
  %57 = alloca %struct.s2n_blob, align 8
  %58 = alloca %struct.s2n_blob, align 8
  %59 = alloca [32 x i8], align 16
  %60 = alloca %struct.s2n_psk, align 8
  %61 = alloca %struct.s2n_blob, align 8
  %62 = alloca [32 x i8], align 16
  %63 = alloca %struct.s2n_psk, align 8
  %64 = alloca %struct.s2n_blob, align 8
  %65 = alloca [32 x i8], align 16
  %66 = alloca %struct.s2n_psk, align 8
  %67 = alloca %struct.s2n_blob, align 8
  %68 = alloca [32 x i8], align 16
  %69 = alloca %struct.s2n_psk, align 8
  %70 = alloca %struct.s2n_stuffer, align 8
  %71 = alloca i8, align 1
  %72 = alloca ptr, align 8
  %73 = alloca %struct.s2n_stuffer, align 8
  %74 = alloca i16, align 2
  %75 = alloca i8, align 1
  %76 = alloca ptr, align 8
  %77 = alloca %struct.s2n_stuffer, align 8
  %78 = alloca i16, align 2
  %79 = alloca i8, align 1
  %80 = alloca ptr, align 8
  %81 = alloca %struct.s2n_stuffer, align 8
  %82 = alloca i16, align 2
  %83 = alloca i8, align 1
  %84 = alloca i8, align 1
  %85 = alloca ptr, align 8
  %86 = alloca [9 x i8], align 1
  %87 = alloca [7 x i8], align 1
  %88 = alloca [11 x i8], align 1
  %89 = alloca [65535 x i8], align 16
  %90 = alloca ptr, align 8
  %91 = alloca ptr, align 8
  %92 = alloca ptr, align 8
  %93 = alloca ptr, align 8
  %94 = alloca ptr, align 8
  %95 = alloca ptr, align 8
  %96 = alloca ptr, align 8
  %97 = alloca ptr, align 8
  %98 = alloca ptr, align 8
  %99 = alloca ptr, align 8
  %100 = alloca i32, align 4
  %101 = alloca ptr, align 8
  %102 = alloca ptr, align 8
  %103 = alloca ptr, align 8
  %104 = alloca %struct.s2n_psk, align 8
  %105 = alloca ptr, align 8
  %106 = alloca [9 x i8], align 1
  %107 = alloca i16, align 2
  %108 = alloca ptr, align 8
  %109 = alloca [9 x i8], align 1
  %110 = alloca [9 x i8], align 1
  %111 = alloca [9 x i8], align 1
  %112 = alloca i16, align 2
  %113 = alloca ptr, align 8
  %114 = alloca i64, align 8
  %115 = alloca ptr, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %116 = load ptr, ptr @stdout, align 8, !tbaa !9
  %117 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %116, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.77) #12
  %118 = load ptr, ptr @stdout, align 8, !tbaa !9
  %119 = tail call i32 @fflush(ptr noundef %118)
  %120 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %121 = icmp eq i32 %120, -1
  br i1 %121, label %122, label %146

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

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

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

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

146:                                              ; preds = %2
  %147 = load i32, ptr @test_count, align 4, !tbaa !5
  %148 = add nsw i32 %147, 1
  store i32 %148, ptr @test_count, align 4, !tbaa !5
  %149 = tail call i32 @s2n_enable_atexit() #12
  %150 = icmp eq i32 %149, -1
  br i1 %150, label %151, label %175

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

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

162:                                              ; preds = %158, %151
  br label %163

163:                                              ; preds = %158, %162
  %.str.81.sink1911 = phi ptr [ @.str.81, %162 ], [ @.str.78, %158 ]
  store i32 %153, ptr %152, align 4, !tbaa !5
  %164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %165 = load i32, ptr @test_count, align 4, !tbaa !5
  %166 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %167 = load i32, ptr %166, align 4, !tbaa !5
  %168 = tail call ptr @s2n_strerror(i32 noundef %167, ptr noundef nonnull @.str.80) #12
  %169 = load i32, ptr %166, align 4, !tbaa !5
  %170 = tail call ptr @s2n_strerror_debug(i32 noundef %169, ptr noundef nonnull @.str.80) #12
  %171 = load i32, ptr %152, align 4, !tbaa !5
  %172 = tail call ptr @strerror(i32 noundef %171) #12
  %173 = load i32, ptr %152, align 4, !tbaa !5
  %174 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %164, ptr noundef nonnull %.str.81.sink1911, i32 noundef %165, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.77, i32 noundef 27, ptr noundef %168, ptr noundef %170, ptr noundef %172, i32 noundef %173) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

175:                                              ; preds = %146
  %176 = tail call i32 @s2n_init() #12
  %177 = icmp eq i32 %176, -1
  br i1 %177, label %178, label %202

178:                                              ; preds = %175
  %179 = tail call ptr @__errno_location() #13
  %180 = load i32, ptr %179, align 4, !tbaa !5
  %181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %182 = tail call i32 @s2n_print_stacktrace(ptr noundef %181) #12
  %183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %184 = trunc nuw i8 %183 to i1
  br i1 %184, label %185, label %189

185:                                              ; preds = %178
  %186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %187 = tail call i32 @fileno(ptr noundef %186) #12
  %188 = tail call i32 @isatty(i32 noundef %187) #12
  %.not1850 = icmp eq i32 %188, 0
  br i1 %.not1850, label %189, label %190

189:                                              ; preds = %185, %178
  br label %190

190:                                              ; preds = %185, %189
  %.str.81.sink1922 = phi ptr [ @.str.81, %189 ], [ @.str.78, %185 ]
  store i32 %180, ptr %179, align 4, !tbaa !5
  %191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %192 = load i32, ptr @test_count, align 4, !tbaa !5
  %193 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %194 = load i32, ptr %193, align 4, !tbaa !5
  %195 = tail call ptr @s2n_strerror(i32 noundef %194, ptr noundef nonnull @.str.80) #12
  %196 = load i32, ptr %193, align 4, !tbaa !5
  %197 = tail call ptr @s2n_strerror_debug(i32 noundef %196, ptr noundef nonnull @.str.80) #12
  %198 = load i32, ptr %179, align 4, !tbaa !5
  %199 = tail call ptr @strerror(i32 noundef %198) #12
  %200 = load i32, ptr %179, align 4, !tbaa !5
  %201 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %191, ptr noundef nonnull %.str.81.sink1922, i32 noundef %192, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.77, i32 noundef 27, ptr noundef %195, ptr noundef %197, ptr noundef %199, i32 noundef %200) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

202:                                              ; preds = %175
  %203 = load i32, ptr @test_count, align 4, !tbaa !5
  %204 = add nsw i32 %203, 1
  store i32 %204, ptr @test_count, align 4, !tbaa !5
  %205 = tail call i32 @s2n_psk_init(ptr noundef null, i32 noundef 1)
  %206 = tail call zeroext i1 @s2n_result_is_error(i32 %205)
  br i1 %206, label %231, label %207

207:                                              ; preds = %202
  %208 = tail call ptr @__errno_location() #13
  %209 = load i32, ptr %208, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = tail call i32 @s2n_print_stacktrace(ptr noundef %210) #12
  %212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %213 = trunc nuw i8 %212 to i1
  br i1 %213, label %214, label %218

214:                                              ; preds = %207
  %215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %216 = tail call i32 @fileno(ptr noundef %215) #12
  %217 = tail call i32 @isatty(i32 noundef %216) #12
  %.not = icmp eq i32 %217, 0
  br i1 %.not, label %218, label %219

218:                                              ; preds = %214, %207
  br label %219

219:                                              ; preds = %214, %218
  %.str.81.sink1933 = phi ptr [ @.str.81, %218 ], [ @.str.78, %214 ]
  store i32 %209, ptr %208, align 4, !tbaa !5
  %220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %221 = load i32, ptr @test_count, align 4, !tbaa !5
  %222 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %223 = load i32, ptr %222, align 4, !tbaa !5
  %224 = tail call ptr @s2n_strerror(i32 noundef %223, ptr noundef nonnull @.str.80) #12
  %225 = load i32, ptr %222, align 4, !tbaa !5
  %226 = tail call ptr @s2n_strerror_debug(i32 noundef %225, ptr noundef nonnull @.str.80) #12
  %227 = load i32, ptr %208, align 4, !tbaa !5
  %228 = tail call ptr @strerror(i32 noundef %227) #12
  %229 = load i32, ptr %208, align 4, !tbaa !5
  %230 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %220, ptr noundef nonnull %.str.81.sink1933, i32 noundef %221, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.77, i32 noundef 32, ptr noundef %224, ptr noundef %226, ptr noundef %228, i32 noundef %229) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

231:                                              ; preds = %202
  %232 = load i32, ptr @test_count, align 4, !tbaa !5
  %233 = add nsw i32 %232, 1
  store i32 %233, ptr @test_count, align 4, !tbaa !5
  %234 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %235 = load i32, ptr %234, align 4, !tbaa !5
  %236 = icmp eq i32 %235, 402653193
  br i1 %236, label %260, label %237

237:                                              ; preds = %231
  %238 = tail call ptr @__errno_location() #13
  %239 = load i32, ptr %238, align 4, !tbaa !5
  %240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %241 = tail call i32 @s2n_print_stacktrace(ptr noundef %240) #12
  %242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %243 = trunc nuw i8 %242 to i1
  br i1 %243, label %244, label %248

244:                                              ; preds = %237
  %245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %246 = tail call i32 @fileno(ptr noundef %245) #12
  %247 = tail call i32 @isatty(i32 noundef %246) #12
  %.not1318 = icmp eq i32 %247, 0
  br i1 %.not1318, label %248, label %249

248:                                              ; preds = %244, %237
  br label %249

249:                                              ; preds = %244, %248
  %.str.81.sink1944 = phi ptr [ @.str.81, %248 ], [ @.str.78, %244 ]
  store i32 %239, ptr %238, align 4, !tbaa !5
  %250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %251 = load i32, ptr @test_count, align 4, !tbaa !5
  %252 = load i32, ptr %234, align 4, !tbaa !5
  %253 = tail call ptr @s2n_strerror(i32 noundef %252, ptr noundef nonnull @.str.80) #12
  %254 = load i32, ptr %234, align 4, !tbaa !5
  %255 = tail call ptr @s2n_strerror_debug(i32 noundef %254, ptr noundef nonnull @.str.80) #12
  %256 = load i32, ptr %238, align 4, !tbaa !5
  %257 = tail call ptr @strerror(i32 noundef %256) #12
  %258 = load i32, ptr %238, align 4, !tbaa !5
  %259 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %250, ptr noundef nonnull %.str.81.sink1944, i32 noundef %251, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 32, ptr noundef %253, ptr noundef %255, ptr noundef %257, i32 noundef %258) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

260:                                              ; preds = %231
  %261 = add nsw i32 %232, 2
  store i32 %261, ptr @test_count, align 4, !tbaa !5
  %262 = tail call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %263 = icmp eq ptr %262, null
  br i1 %263, label %264, label %287

264:                                              ; preds = %260
  %265 = tail call ptr @__errno_location() #13
  %266 = load i32, ptr %265, align 4, !tbaa !5
  %267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %268 = tail call i32 @s2n_print_stacktrace(ptr noundef %267) #12
  %269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %270 = trunc nuw i8 %269 to i1
  br i1 %270, label %271, label %275

271:                                              ; preds = %264
  %272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %273 = tail call i32 @fileno(ptr noundef %272) #12
  %274 = tail call i32 @isatty(i32 noundef %273) #12
  %.not1849 = icmp eq i32 %274, 0
  br i1 %.not1849, label %275, label %276

275:                                              ; preds = %271, %264
  br label %276

276:                                              ; preds = %271, %275
  %.str.81.sink1953 = phi ptr [ @.str.81, %275 ], [ @.str.78, %271 ]
  store i32 %266, ptr %265, align 4, !tbaa !5
  %277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %278 = load i32, ptr @test_count, align 4, !tbaa !5
  %279 = load i32, ptr %234, align 4, !tbaa !5
  %280 = tail call ptr @s2n_strerror(i32 noundef %279, ptr noundef nonnull @.str.80) #12
  %281 = load i32, ptr %234, align 4, !tbaa !5
  %282 = tail call ptr @s2n_strerror_debug(i32 noundef %281, ptr noundef nonnull @.str.80) #12
  %283 = load i32, ptr %265, align 4, !tbaa !5
  %284 = tail call ptr @strerror(i32 noundef %283) #12
  %285 = load i32, ptr %265, align 4, !tbaa !5
  %286 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %277, ptr noundef nonnull %.str.81.sink1953, i32 noundef %278, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 32, ptr noundef %280, ptr noundef %282, ptr noundef %284, i32 noundef %285) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

287:                                              ; preds = %260
  store i32 0, ptr %234, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #12
  %288 = tail call ptr @__errno_location() #13
  store i32 0, ptr %288, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %3) #12
  %289 = load i32, ptr @test_count, align 4, !tbaa !5
  %290 = add nsw i32 %289, 1
  store i32 %290, ptr @test_count, align 4, !tbaa !5
  %291 = call i32 @s2n_psk_init(ptr noundef nonnull %3, i32 noundef 1)
  %292 = call zeroext i1 @s2n_result_is_ok(i32 %291)
  br i1 %292, label %315, label %293

293:                                              ; preds = %287
  %294 = load i32, ptr %288, align 4, !tbaa !5
  %295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %296 = call i32 @s2n_print_stacktrace(ptr noundef %295) #12
  %297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %298 = trunc nuw i8 %297 to i1
  br i1 %298, label %299, label %303

299:                                              ; preds = %293
  %300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %301 = call i32 @fileno(ptr noundef %300) #12
  %302 = call i32 @isatty(i32 noundef %301) #12
  %.not1319 = icmp eq i32 %302, 0
  br i1 %.not1319, label %303, label %304

303:                                              ; preds = %299, %293
  br label %304

304:                                              ; preds = %299, %303
  %.str.81.sink1962 = phi ptr [ @.str.81, %303 ], [ @.str.78, %299 ]
  store i32 %294, ptr %288, align 4, !tbaa !5
  %305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %306 = load i32, ptr @test_count, align 4, !tbaa !5
  %307 = load i32, ptr %234, align 4, !tbaa !5
  %308 = call ptr @s2n_strerror(i32 noundef %307, ptr noundef nonnull @.str.80) #12
  %309 = load i32, ptr %234, align 4, !tbaa !5
  %310 = call ptr @s2n_strerror_debug(i32 noundef %309, ptr noundef nonnull @.str.80) #12
  %311 = load i32, ptr %288, align 4, !tbaa !5
  %312 = call ptr @strerror(i32 noundef %311) #12
  %313 = load i32, ptr %288, align 4, !tbaa !5
  %314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %305, ptr noundef nonnull %.str.81.sink1962, i32 noundef %306, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.77, i32 noundef 36, ptr noundef %308, ptr noundef %310, ptr noundef %312, i32 noundef %313) #14
  call void @exit(i32 noundef 1) #15
  unreachable

315:                                              ; preds = %287
  %316 = load i32, ptr @test_count, align 4, !tbaa !5
  %317 = add nsw i32 %316, 1
  store i32 %317, ptr @test_count, align 4, !tbaa !5
  %318 = load i32, ptr %3, align 8, !tbaa !15
  %319 = icmp eq i32 %318, 1
  br i1 %319, label %342, label %320

320:                                              ; preds = %315
  %321 = load i32, ptr %288, align 4, !tbaa !5
  %322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %323 = call i32 @s2n_print_stacktrace(ptr noundef %322) #12
  %324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %325 = trunc nuw i8 %324 to i1
  br i1 %325, label %326, label %330

326:                                              ; preds = %320
  %327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %328 = call i32 @fileno(ptr noundef %327) #12
  %329 = call i32 @isatty(i32 noundef %328) #12
  %.not1320 = icmp eq i32 %329, 0
  br i1 %.not1320, label %330, label %331

330:                                              ; preds = %326, %320
  br label %331

331:                                              ; preds = %326, %330
  %.str.81.sink1971 = phi ptr [ @.str.81, %330 ], [ @.str.78, %326 ]
  store i32 %321, ptr %288, align 4, !tbaa !5
  %332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %333 = load i32, ptr @test_count, align 4, !tbaa !5
  %334 = load i32, ptr %234, align 4, !tbaa !5
  %335 = call ptr @s2n_strerror(i32 noundef %334, ptr noundef nonnull @.str.80) #12
  %336 = load i32, ptr %234, align 4, !tbaa !5
  %337 = call ptr @s2n_strerror_debug(i32 noundef %336, ptr noundef nonnull @.str.80) #12
  %338 = load i32, ptr %288, align 4, !tbaa !5
  %339 = call ptr @strerror(i32 noundef %338) #12
  %340 = load i32, ptr %288, align 4, !tbaa !5
  %341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %332, ptr noundef nonnull %.str.81.sink1971, i32 noundef %333, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.77, i32 noundef 37, ptr noundef %335, ptr noundef %337, ptr noundef %339, i32 noundef %340) #14
  call void @exit(i32 noundef 1) #15
  unreachable

342:                                              ; preds = %315
  %343 = add nsw i32 %316, 2
  store i32 %343, ptr @test_count, align 4, !tbaa !5
  %344 = getelementptr inbounds i8, ptr %3, i64 56
  %345 = load i32, ptr %344, align 8, !tbaa !20
  %346 = icmp eq i32 %345, 4
  br i1 %346, label %369, label %347

347:                                              ; preds = %342
  %348 = load i32, ptr %288, align 4, !tbaa !5
  %349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %350 = call i32 @s2n_print_stacktrace(ptr noundef %349) #12
  %351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %352 = trunc nuw i8 %351 to i1
  br i1 %352, label %353, label %357

353:                                              ; preds = %347
  %354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %355 = call i32 @fileno(ptr noundef %354) #12
  %356 = call i32 @isatty(i32 noundef %355) #12
  %.not1321 = icmp eq i32 %356, 0
  br i1 %.not1321, label %357, label %358

357:                                              ; preds = %353, %347
  br label %358

358:                                              ; preds = %353, %357
  %.str.81.sink1980 = phi ptr [ @.str.81, %357 ], [ @.str.78, %353 ]
  store i32 %348, ptr %288, align 4, !tbaa !5
  %359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %360 = load i32, ptr @test_count, align 4, !tbaa !5
  %361 = load i32, ptr %234, align 4, !tbaa !5
  %362 = call ptr @s2n_strerror(i32 noundef %361, ptr noundef nonnull @.str.80) #12
  %363 = load i32, ptr %234, align 4, !tbaa !5
  %364 = call ptr @s2n_strerror_debug(i32 noundef %363, ptr noundef nonnull @.str.80) #12
  %365 = load i32, ptr %288, align 4, !tbaa !5
  %366 = call ptr @strerror(i32 noundef %365) #12
  %367 = load i32, ptr %288, align 4, !tbaa !5
  %368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %359, ptr noundef nonnull %.str.81.sink1980, i32 noundef %360, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.77, i32 noundef 38, ptr noundef %362, ptr noundef %364, ptr noundef %366, i32 noundef %367) #14
  call void @exit(i32 noundef 1) #15
  unreachable

369:                                              ; preds = %342
  %370 = add nsw i32 %316, 3
  store i32 %370, ptr @test_count, align 4, !tbaa !5
  %371 = getelementptr inbounds i8, ptr %3, i64 60
  %372 = load i32, ptr %371, align 4, !tbaa !21
  %373 = icmp eq i32 %372, 0
  br i1 %373, label %396, label %374

374:                                              ; preds = %369
  %375 = load i32, ptr %288, align 4, !tbaa !5
  %376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %377 = call i32 @s2n_print_stacktrace(ptr noundef %376) #12
  %378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %379 = trunc nuw i8 %378 to i1
  br i1 %379, label %380, label %384

380:                                              ; preds = %374
  %381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %382 = call i32 @fileno(ptr noundef %381) #12
  %383 = call i32 @isatty(i32 noundef %382) #12
  %.not1322 = icmp eq i32 %383, 0
  br i1 %.not1322, label %384, label %385

384:                                              ; preds = %380, %374
  br label %385

385:                                              ; preds = %380, %384
  %.str.81.sink1989 = phi ptr [ @.str.81, %384 ], [ @.str.78, %380 ]
  store i32 %375, ptr %288, align 4, !tbaa !5
  %386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %387 = load i32, ptr @test_count, align 4, !tbaa !5
  %388 = load i32, ptr %234, align 4, !tbaa !5
  %389 = call ptr @s2n_strerror(i32 noundef %388, ptr noundef nonnull @.str.80) #12
  %390 = load i32, ptr %234, align 4, !tbaa !5
  %391 = call ptr @s2n_strerror_debug(i32 noundef %390, ptr noundef nonnull @.str.80) #12
  %392 = load i32, ptr %288, align 4, !tbaa !5
  %393 = call ptr @strerror(i32 noundef %392) #12
  %394 = load i32, ptr %288, align 4, !tbaa !5
  %395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %386, ptr noundef nonnull %.str.81.sink1989, i32 noundef %387, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.77, i32 noundef 39, ptr noundef %389, ptr noundef %391, ptr noundef %393, i32 noundef %394) #14
  call void @exit(i32 noundef 1) #15
  unreachable

396:                                              ; preds = %369
  %397 = add nsw i32 %316, 4
  store i32 %397, ptr @test_count, align 4, !tbaa !5
  %398 = getelementptr inbounds i8, ptr %3, i64 64
  %399 = load i64, ptr %398, align 8, !tbaa !22
  %400 = icmp eq i64 %399, 0
  br i1 %400, label %423, label %401

401:                                              ; preds = %396
  %402 = load i32, ptr %288, align 4, !tbaa !5
  %403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %404 = call i32 @s2n_print_stacktrace(ptr noundef %403) #12
  %405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %406 = trunc nuw i8 %405 to i1
  br i1 %406, label %407, label %411

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

411:                                              ; preds = %407, %401
  br label %412

412:                                              ; preds = %407, %411
  %.str.81.sink1998 = phi ptr [ @.str.81, %411 ], [ @.str.78, %407 ]
  store i32 %402, ptr %288, align 4, !tbaa !5
  %413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %414 = load i32, ptr @test_count, align 4, !tbaa !5
  %415 = load i32, ptr %234, align 4, !tbaa !5
  %416 = call ptr @s2n_strerror(i32 noundef %415, ptr noundef nonnull @.str.80) #12
  %417 = load i32, ptr %234, align 4, !tbaa !5
  %418 = call ptr @s2n_strerror_debug(i32 noundef %417, ptr noundef nonnull @.str.80) #12
  %419 = load i32, ptr %288, align 4, !tbaa !5
  %420 = call ptr @strerror(i32 noundef %419) #12
  %421 = load i32, ptr %288, align 4, !tbaa !5
  %422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %413, ptr noundef nonnull %.str.81.sink1998, i32 noundef %414, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.77, i32 noundef 40, ptr noundef %416, ptr noundef %418, ptr noundef %420, i32 noundef %421) #14
  call void @exit(i32 noundef 1) #15
  unreachable

423:                                              ; preds = %396
  %424 = add nsw i32 %316, 5
  store i32 %424, ptr @test_count, align 4, !tbaa !5
  %425 = getelementptr inbounds i8, ptr %3, i64 96
  %426 = load i32, ptr %425, align 8, !tbaa !23
  %427 = icmp eq i32 %426, 0
  br i1 %427, label %450, label %428

428:                                              ; preds = %423
  %429 = load i32, ptr %288, align 4, !tbaa !5
  %430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %431 = call i32 @s2n_print_stacktrace(ptr noundef %430) #12
  %432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %433 = trunc nuw i8 %432 to i1
  br i1 %433, label %434, label %438

434:                                              ; preds = %428
  %435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %436 = call i32 @fileno(ptr noundef %435) #12
  %437 = call i32 @isatty(i32 noundef %436) #12
  %.not1324 = icmp eq i32 %437, 0
  br i1 %.not1324, label %438, label %439

438:                                              ; preds = %434, %428
  br label %439

439:                                              ; preds = %434, %438
  %.str.81.sink2007 = phi ptr [ @.str.81, %438 ], [ @.str.78, %434 ]
  store i32 %429, ptr %288, align 4, !tbaa !5
  %440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %441 = load i32, ptr @test_count, align 4, !tbaa !5
  %442 = load i32, ptr %234, align 4, !tbaa !5
  %443 = call ptr @s2n_strerror(i32 noundef %442, ptr noundef nonnull @.str.80) #12
  %444 = load i32, ptr %234, align 4, !tbaa !5
  %445 = call ptr @s2n_strerror_debug(i32 noundef %444, ptr noundef nonnull @.str.80) #12
  %446 = load i32, ptr %288, align 4, !tbaa !5
  %447 = call ptr @strerror(i32 noundef %446) #12
  %448 = load i32, ptr %288, align 4, !tbaa !5
  %449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %440, ptr noundef nonnull %.str.81.sink2007, i32 noundef %441, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 41, ptr noundef %443, ptr noundef %445, ptr noundef %447, i32 noundef %448) #14
  call void @exit(i32 noundef 1) #15
  unreachable

450:                                              ; preds = %423
  %451 = add nsw i32 %316, 6
  store i32 %451, ptr @test_count, align 4, !tbaa !5
  %452 = call i32 @s2n_psk_init(ptr noundef nonnull %3, i32 noundef 0)
  %453 = call zeroext i1 @s2n_result_is_ok(i32 %452)
  br i1 %453, label %476, label %454

454:                                              ; preds = %450
  %455 = load i32, ptr %288, align 4, !tbaa !5
  %456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %457 = call i32 @s2n_print_stacktrace(ptr noundef %456) #12
  %458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %459 = trunc nuw i8 %458 to i1
  br i1 %459, label %460, label %464

460:                                              ; preds = %454
  %461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %462 = call i32 @fileno(ptr noundef %461) #12
  %463 = call i32 @isatty(i32 noundef %462) #12
  %.not1325 = icmp eq i32 %463, 0
  br i1 %.not1325, label %464, label %465

464:                                              ; preds = %460, %454
  br label %465

465:                                              ; preds = %460, %464
  %.str.81.sink2016 = phi ptr [ @.str.81, %464 ], [ @.str.78, %460 ]
  store i32 %455, ptr %288, align 4, !tbaa !5
  %466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %467 = load i32, ptr @test_count, align 4, !tbaa !5
  %468 = load i32, ptr %234, align 4, !tbaa !5
  %469 = call ptr @s2n_strerror(i32 noundef %468, ptr noundef nonnull @.str.80) #12
  %470 = load i32, ptr %234, align 4, !tbaa !5
  %471 = call ptr @s2n_strerror_debug(i32 noundef %470, ptr noundef nonnull @.str.80) #12
  %472 = load i32, ptr %288, align 4, !tbaa !5
  %473 = call ptr @strerror(i32 noundef %472) #12
  %474 = load i32, ptr %288, align 4, !tbaa !5
  %475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef nonnull %.str.81.sink2016, i32 noundef %467, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 43, ptr noundef %469, ptr noundef %471, ptr noundef %473, i32 noundef %474) #14
  call void @exit(i32 noundef 1) #15
  unreachable

476:                                              ; preds = %450
  %477 = load i32, ptr @test_count, align 4, !tbaa !5
  %478 = add nsw i32 %477, 1
  store i32 %478, ptr @test_count, align 4, !tbaa !5
  %479 = load i32, ptr %3, align 8, !tbaa !15
  %480 = icmp eq i32 %479, 0
  br i1 %480, label %503, label %481

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

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

491:                                              ; preds = %487, %481
  br label %492

492:                                              ; preds = %487, %491
  %.str.81.sink2025 = phi ptr [ @.str.81, %491 ], [ @.str.78, %487 ]
  store i32 %482, ptr %288, align 4, !tbaa !5
  %493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %494 = load i32, ptr @test_count, align 4, !tbaa !5
  %495 = load i32, ptr %234, align 4, !tbaa !5
  %496 = call ptr @s2n_strerror(i32 noundef %495, ptr noundef nonnull @.str.80) #12
  %497 = load i32, ptr %234, align 4, !tbaa !5
  %498 = call ptr @s2n_strerror_debug(i32 noundef %497, ptr noundef nonnull @.str.80) #12
  %499 = load i32, ptr %288, align 4, !tbaa !5
  %500 = call ptr @strerror(i32 noundef %499) #12
  %501 = load i32, ptr %288, align 4, !tbaa !5
  %502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %493, ptr noundef nonnull %.str.81.sink2025, i32 noundef %494, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.77, i32 noundef 44, ptr noundef %496, ptr noundef %498, ptr noundef %500, i32 noundef %501) #14
  call void @exit(i32 noundef 1) #15
  unreachable

503:                                              ; preds = %476
  %504 = add nsw i32 %477, 2
  store i32 %504, ptr @test_count, align 4, !tbaa !5
  %505 = load i32, ptr %344, align 8, !tbaa !20
  %506 = icmp eq i32 %505, 4
  br i1 %506, label %529, label %507

507:                                              ; preds = %503
  %508 = load i32, ptr %288, align 4, !tbaa !5
  %509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %510 = call i32 @s2n_print_stacktrace(ptr noundef %509) #12
  %511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %512 = trunc nuw i8 %511 to i1
  br i1 %512, label %513, label %517

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

517:                                              ; preds = %513, %507
  br label %518

518:                                              ; preds = %513, %517
  %.str.81.sink2034 = phi ptr [ @.str.81, %517 ], [ @.str.78, %513 ]
  store i32 %508, ptr %288, align 4, !tbaa !5
  %519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %520 = load i32, ptr @test_count, align 4, !tbaa !5
  %521 = load i32, ptr %234, align 4, !tbaa !5
  %522 = call ptr @s2n_strerror(i32 noundef %521, ptr noundef nonnull @.str.80) #12
  %523 = load i32, ptr %234, align 4, !tbaa !5
  %524 = call ptr @s2n_strerror_debug(i32 noundef %523, ptr noundef nonnull @.str.80) #12
  %525 = load i32, ptr %288, align 4, !tbaa !5
  %526 = call ptr @strerror(i32 noundef %525) #12
  %527 = load i32, ptr %288, align 4, !tbaa !5
  %528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %519, ptr noundef nonnull %.str.81.sink2034, i32 noundef %520, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.77, i32 noundef 45, ptr noundef %522, ptr noundef %524, ptr noundef %526, i32 noundef %527) #14
  call void @exit(i32 noundef 1) #15
  unreachable

529:                                              ; preds = %503
  %530 = add nsw i32 %477, 3
  store i32 %530, ptr @test_count, align 4, !tbaa !5
  %531 = load i32, ptr %371, align 4, !tbaa !21
  %532 = icmp eq i32 %531, 0
  br i1 %532, label %555, label %533

533:                                              ; preds = %529
  %534 = load i32, ptr %288, align 4, !tbaa !5
  %535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %536 = call i32 @s2n_print_stacktrace(ptr noundef %535) #12
  %537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %538 = trunc nuw i8 %537 to i1
  br i1 %538, label %539, label %543

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

543:                                              ; preds = %539, %533
  br label %544

544:                                              ; preds = %539, %543
  %.str.81.sink2043 = phi ptr [ @.str.81, %543 ], [ @.str.78, %539 ]
  store i32 %534, ptr %288, align 4, !tbaa !5
  %545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %546 = load i32, ptr @test_count, align 4, !tbaa !5
  %547 = load i32, ptr %234, align 4, !tbaa !5
  %548 = call ptr @s2n_strerror(i32 noundef %547, ptr noundef nonnull @.str.80) #12
  %549 = load i32, ptr %234, align 4, !tbaa !5
  %550 = call ptr @s2n_strerror_debug(i32 noundef %549, ptr noundef nonnull @.str.80) #12
  %551 = load i32, ptr %288, align 4, !tbaa !5
  %552 = call ptr @strerror(i32 noundef %551) #12
  %553 = load i32, ptr %288, align 4, !tbaa !5
  %554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %545, ptr noundef nonnull %.str.81.sink2043, i32 noundef %546, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.77, i32 noundef 46, ptr noundef %548, ptr noundef %550, ptr noundef %552, i32 noundef %553) #14
  call void @exit(i32 noundef 1) #15
  unreachable

555:                                              ; preds = %529
  %556 = add nsw i32 %477, 4
  store i32 %556, ptr @test_count, align 4, !tbaa !5
  %557 = load i64, ptr %398, align 8, !tbaa !22
  %558 = icmp eq i64 %557, 0
  br i1 %558, label %581, label %559

559:                                              ; preds = %555
  %560 = load i32, ptr %288, align 4, !tbaa !5
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = call i32 @s2n_print_stacktrace(ptr noundef %561) #12
  %563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %564 = trunc nuw i8 %563 to i1
  br i1 %564, label %565, label %569

565:                                              ; preds = %559
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = call i32 @fileno(ptr noundef %566) #12
  %568 = call i32 @isatty(i32 noundef %567) #12
  %.not1329 = icmp eq i32 %568, 0
  br i1 %.not1329, label %569, label %570

569:                                              ; preds = %565, %559
  br label %570

570:                                              ; preds = %565, %569
  %.str.81.sink2052 = phi ptr [ @.str.81, %569 ], [ @.str.78, %565 ]
  store i32 %560, ptr %288, align 4, !tbaa !5
  %571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %572 = load i32, ptr @test_count, align 4, !tbaa !5
  %573 = load i32, ptr %234, align 4, !tbaa !5
  %574 = call ptr @s2n_strerror(i32 noundef %573, ptr noundef nonnull @.str.80) #12
  %575 = load i32, ptr %234, align 4, !tbaa !5
  %576 = call ptr @s2n_strerror_debug(i32 noundef %575, ptr noundef nonnull @.str.80) #12
  %577 = load i32, ptr %288, align 4, !tbaa !5
  %578 = call ptr @strerror(i32 noundef %577) #12
  %579 = load i32, ptr %288, align 4, !tbaa !5
  %580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %571, ptr noundef nonnull %.str.81.sink2052, i32 noundef %572, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.77, i32 noundef 47, ptr noundef %574, ptr noundef %576, ptr noundef %578, i32 noundef %579) #14
  call void @exit(i32 noundef 1) #15
  unreachable

581:                                              ; preds = %555
  %582 = add nsw i32 %477, 5
  store i32 %582, ptr @test_count, align 4, !tbaa !5
  %583 = load i32, ptr %425, align 8, !tbaa !23
  %584 = icmp eq i32 %583, 0
  br i1 %584, label %607, label %585

585:                                              ; preds = %581
  %586 = load i32, ptr %288, align 4, !tbaa !5
  %587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %588 = call i32 @s2n_print_stacktrace(ptr noundef %587) #12
  %589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %590 = trunc nuw i8 %589 to i1
  br i1 %590, label %591, label %595

591:                                              ; preds = %585
  %592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %593 = call i32 @fileno(ptr noundef %592) #12
  %594 = call i32 @isatty(i32 noundef %593) #12
  %.not1330 = icmp eq i32 %594, 0
  br i1 %.not1330, label %595, label %596

595:                                              ; preds = %591, %585
  br label %596

596:                                              ; preds = %591, %595
  %.str.81.sink2061 = phi ptr [ @.str.81, %595 ], [ @.str.78, %591 ]
  store i32 %586, ptr %288, align 4, !tbaa !5
  %597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %598 = load i32, ptr @test_count, align 4, !tbaa !5
  %599 = load i32, ptr %234, align 4, !tbaa !5
  %600 = call ptr @s2n_strerror(i32 noundef %599, ptr noundef nonnull @.str.80) #12
  %601 = load i32, ptr %234, align 4, !tbaa !5
  %602 = call ptr @s2n_strerror_debug(i32 noundef %601, ptr noundef nonnull @.str.80) #12
  %603 = load i32, ptr %288, align 4, !tbaa !5
  %604 = call ptr @strerror(i32 noundef %603) #12
  %605 = load i32, ptr %288, align 4, !tbaa !5
  %606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %597, ptr noundef nonnull %.str.81.sink2061, i32 noundef %598, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.77, i32 noundef 48, ptr noundef %600, ptr noundef %602, ptr noundef %604, i32 noundef %605) #14
  call void @exit(i32 noundef 1) #15
  unreachable

607:                                              ; preds = %581
  %608 = call i32 @s2n_psk_wipe(ptr noundef nonnull %3)
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %3) #12
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %4) #12
  %609 = load i32, ptr @test_count, align 4, !tbaa !5
  %610 = add nsw i32 %609, 1
  store i32 %610, ptr @test_count, align 4, !tbaa !5
  %611 = call i32 @s2n_psk_init(ptr noundef nonnull %4, i32 noundef 1)
  %612 = call zeroext i1 @s2n_result_is_ok(i32 %611)
  br i1 %612, label %635, label %613

613:                                              ; preds = %607
  %614 = load i32, ptr %288, align 4, !tbaa !5
  %615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %616 = call i32 @s2n_print_stacktrace(ptr noundef %615) #12
  %617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %618 = trunc nuw i8 %617 to i1
  br i1 %618, label %619, label %623

619:                                              ; preds = %613
  %620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %621 = call i32 @fileno(ptr noundef %620) #12
  %622 = call i32 @isatty(i32 noundef %621) #12
  %.not1331 = icmp eq i32 %622, 0
  br i1 %.not1331, label %623, label %624

623:                                              ; preds = %619, %613
  br label %624

624:                                              ; preds = %619, %623
  %.str.81.sink2070 = phi ptr [ @.str.81, %623 ], [ @.str.78, %619 ]
  store i32 %614, ptr %288, align 4, !tbaa !5
  %625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %626 = load i32, ptr @test_count, align 4, !tbaa !5
  %627 = load i32, ptr %234, align 4, !tbaa !5
  %628 = call ptr @s2n_strerror(i32 noundef %627, ptr noundef nonnull @.str.80) #12
  %629 = load i32, ptr %234, align 4, !tbaa !5
  %630 = call ptr @s2n_strerror_debug(i32 noundef %629, ptr noundef nonnull @.str.80) #12
  %631 = load i32, ptr %288, align 4, !tbaa !5
  %632 = call ptr @strerror(i32 noundef %631) #12
  %633 = load i32, ptr %288, align 4, !tbaa !5
  %634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %625, ptr noundef nonnull %.str.81.sink2070, i32 noundef %626, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.77, i32 noundef 54, ptr noundef %628, ptr noundef %630, ptr noundef %632, i32 noundef %633) #14
  call void @exit(i32 noundef 1) #15
  unreachable

635:                                              ; preds = %607
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #12
  %636 = call ptr @s2n_external_psk_new()
  store ptr %636, ptr %5, align 8, !tbaa !9
  %637 = load i32, ptr @test_count, align 4, !tbaa !5
  %638 = add nsw i32 %637, 1
  store i32 %638, ptr @test_count, align 4, !tbaa !5
  %639 = icmp eq ptr %636, null
  br i1 %639, label %640, label %662

640:                                              ; preds = %635
  %641 = load i32, ptr %288, 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
  %.not1848 = icmp eq i32 %649, 0
  br i1 %.not1848, label %650, label %651

650:                                              ; preds = %646, %640
  br label %651

651:                                              ; preds = %646, %650
  %.str.81.sink2079 = phi ptr [ @.str.81, %650 ], [ @.str.78, %646 ]
  store i32 %641, ptr %288, 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 %234, align 4, !tbaa !5
  %655 = call ptr @s2n_strerror(i32 noundef %654, ptr noundef nonnull @.str.80) #12
  %656 = load i32, ptr %234, align 4, !tbaa !5
  %657 = call ptr @s2n_strerror_debug(i32 noundef %656, ptr noundef nonnull @.str.80) #12
  %658 = load i32, ptr %288, align 4, !tbaa !5
  %659 = call ptr @strerror(i32 noundef %658) #12
  %660 = load i32, ptr %288, align 4, !tbaa !5
  %661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %652, ptr noundef nonnull %.str.81.sink2079, i32 noundef %653, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.77, i32 noundef 57, ptr noundef %655, ptr noundef %657, ptr noundef %659, i32 noundef %660) #14
  call void @exit(i32 noundef 1) #15
  unreachable

662:                                              ; preds = %635
  %663 = add nsw i32 %637, 2
  store i32 %663, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(168) %636, ptr noundef nonnull dereferenceable(168) %4, i64 168)
  %664 = icmp eq i32 %bcmp, 0
  br i1 %664, label %687, label %665

665:                                              ; preds = %662
  %666 = load i32, ptr %288, align 4, !tbaa !5
  %667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %668 = call i32 @s2n_print_stacktrace(ptr noundef %667) #12
  %669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %670 = trunc nuw i8 %669 to i1
  br i1 %670, label %671, label %675

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

675:                                              ; preds = %671, %665
  br label %676

676:                                              ; preds = %671, %675
  %.str.81.sink2088 = phi ptr [ @.str.81, %675 ], [ @.str.78, %671 ]
  store i32 %666, ptr %288, align 4, !tbaa !5
  %677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %678 = load i32, ptr @test_count, align 4, !tbaa !5
  %679 = load i32, ptr %234, align 4, !tbaa !5
  %680 = call ptr @s2n_strerror(i32 noundef %679, ptr noundef nonnull @.str.80) #12
  %681 = load i32, ptr %234, align 4, !tbaa !5
  %682 = call ptr @s2n_strerror_debug(i32 noundef %681, ptr noundef nonnull @.str.80) #12
  %683 = load i32, ptr %288, align 4, !tbaa !5
  %684 = call ptr @strerror(i32 noundef %683) #12
  %685 = load i32, ptr %288, align 4, !tbaa !5
  %686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %677, ptr noundef nonnull %.str.81.sink2088, i32 noundef %678, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.77, i32 noundef 59, ptr noundef %680, ptr noundef %682, ptr noundef %684, i32 noundef %685) #14
  call void @exit(i32 noundef 1) #15
  unreachable

687:                                              ; preds = %662
  %688 = call i32 @s2n_psk_free(ptr noundef nonnull %5)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #12
  %689 = call i32 @s2n_psk_wipe(ptr noundef nonnull %4)
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %4) #12
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %6) #12
  %690 = load i32, ptr @test_count, align 4, !tbaa !5
  %691 = add nsw i32 %690, 1
  store i32 %691, ptr @test_count, align 4, !tbaa !5
  %692 = call i32 @s2n_psk_init(ptr noundef nonnull %6, i32 noundef 1)
  %693 = call zeroext i1 @s2n_result_is_ok(i32 %692)
  br i1 %693, label %716, label %694

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

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

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

705:                                              ; preds = %700, %704
  %.str.81.sink2097 = phi ptr [ @.str.81, %704 ], [ @.str.78, %700 ]
  store i32 %695, ptr %288, align 4, !tbaa !5
  %706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %707 = load i32, ptr @test_count, align 4, !tbaa !5
  %708 = load i32, ptr %234, align 4, !tbaa !5
  %709 = call ptr @s2n_strerror(i32 noundef %708, ptr noundef nonnull @.str.80) #12
  %710 = load i32, ptr %234, align 4, !tbaa !5
  %711 = call ptr @s2n_strerror_debug(i32 noundef %710, ptr noundef nonnull @.str.80) #12
  %712 = load i32, ptr %288, align 4, !tbaa !5
  %713 = call ptr @strerror(i32 noundef %712) #12
  %714 = load i32, ptr %288, align 4, !tbaa !5
  %715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %706, ptr noundef nonnull %.str.81.sink2097, i32 noundef %707, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.77, i32 noundef 65, ptr noundef %709, ptr noundef %711, ptr noundef %713, i32 noundef %714) #14
  call void @exit(i32 noundef 1) #15
  unreachable

716:                                              ; preds = %687
  call void @llvm.lifetime.start.p0(i64 11, ptr nonnull %7) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %7, ptr noundef nonnull align 1 dereferenceable(11) @__const.main.test_value_1, i64 11, i1 false)
  %717 = load i32, ptr @test_count, align 4, !tbaa !5
  %718 = add nsw i32 %717, 1
  store i32 %718, ptr @test_count, align 4, !tbaa !5
  %719 = call i32 @s2n_psk_set_identity(ptr noundef null, ptr noundef nonnull %7, i16 noundef zeroext 1)
  %720 = icmp eq i32 %719, -1
  br i1 %720, label %743, label %721

721:                                              ; preds = %716
  %722 = load i32, ptr %288, align 4, !tbaa !5
  %723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %724 = call i32 @s2n_print_stacktrace(ptr noundef %723) #12
  %725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %726 = trunc nuw i8 %725 to i1
  br i1 %726, label %727, label %731

727:                                              ; preds = %721
  %728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %729 = call i32 @fileno(ptr noundef %728) #12
  %730 = call i32 @isatty(i32 noundef %729) #12
  %.not1334 = icmp eq i32 %730, 0
  br i1 %.not1334, label %731, label %732

731:                                              ; preds = %727, %721
  br label %732

732:                                              ; preds = %727, %731
  %.str.81.sink2106 = phi ptr [ @.str.81, %731 ], [ @.str.78, %727 ]
  store i32 %722, ptr %288, align 4, !tbaa !5
  %733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %734 = load i32, ptr @test_count, align 4, !tbaa !5
  %735 = load i32, ptr %234, align 4, !tbaa !5
  %736 = call ptr @s2n_strerror(i32 noundef %735, ptr noundef nonnull @.str.80) #12
  %737 = load i32, ptr %234, align 4, !tbaa !5
  %738 = call ptr @s2n_strerror_debug(i32 noundef %737, ptr noundef nonnull @.str.80) #12
  %739 = load i32, ptr %288, align 4, !tbaa !5
  %740 = call ptr @strerror(i32 noundef %739) #12
  %741 = load i32, ptr %288, align 4, !tbaa !5
  %742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %733, ptr noundef nonnull %.str.81.sink2106, i32 noundef %734, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.77, i32 noundef 70, ptr noundef %736, ptr noundef %738, ptr noundef %740, i32 noundef %741) #14
  call void @exit(i32 noundef 1) #15
  unreachable

743:                                              ; preds = %716
  %744 = load i32, ptr @test_count, align 4, !tbaa !5
  %745 = add nsw i32 %744, 1
  store i32 %745, ptr @test_count, align 4, !tbaa !5
  %746 = load i32, ptr %234, align 4, !tbaa !5
  %747 = icmp eq i32 %746, 402653193
  br i1 %747, label %770, label %748

748:                                              ; preds = %743
  %749 = load i32, ptr %288, align 4, !tbaa !5
  %750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %751 = call i32 @s2n_print_stacktrace(ptr noundef %750) #12
  %752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %753 = trunc nuw i8 %752 to i1
  br i1 %753, label %754, label %758

754:                                              ; preds = %748
  %755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %756 = call i32 @fileno(ptr noundef %755) #12
  %757 = call i32 @isatty(i32 noundef %756) #12
  %.not1335 = icmp eq i32 %757, 0
  br i1 %.not1335, label %758, label %759

758:                                              ; preds = %754, %748
  br label %759

759:                                              ; preds = %754, %758
  %.str.81.sink2115 = phi ptr [ @.str.81, %758 ], [ @.str.78, %754 ]
  store i32 %749, ptr %288, align 4, !tbaa !5
  %760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %761 = load i32, ptr @test_count, align 4, !tbaa !5
  %762 = load i32, ptr %234, align 4, !tbaa !5
  %763 = call ptr @s2n_strerror(i32 noundef %762, ptr noundef nonnull @.str.80) #12
  %764 = load i32, ptr %234, align 4, !tbaa !5
  %765 = call ptr @s2n_strerror_debug(i32 noundef %764, ptr noundef nonnull @.str.80) #12
  %766 = load i32, ptr %288, align 4, !tbaa !5
  %767 = call ptr @strerror(i32 noundef %766) #12
  %768 = load i32, ptr %288, align 4, !tbaa !5
  %769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %760, ptr noundef nonnull %.str.81.sink2115, i32 noundef %761, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 70, ptr noundef %763, ptr noundef %765, ptr noundef %767, i32 noundef %768) #14
  call void @exit(i32 noundef 1) #15
  unreachable

770:                                              ; preds = %743
  %771 = add nsw i32 %744, 2
  store i32 %771, ptr @test_count, align 4, !tbaa !5
  %772 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %773 = icmp eq ptr %772, null
  br i1 %773, label %774, label %796

774:                                              ; preds = %770
  %775 = load i32, ptr %288, align 4, !tbaa !5
  %776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %777 = call i32 @s2n_print_stacktrace(ptr noundef %776) #12
  %778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %779 = trunc nuw i8 %778 to i1
  br i1 %779, label %780, label %784

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

784:                                              ; preds = %780, %774
  br label %785

785:                                              ; preds = %780, %784
  %.str.81.sink2124 = phi ptr [ @.str.81, %784 ], [ @.str.78, %780 ]
  store i32 %775, ptr %288, align 4, !tbaa !5
  %786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %787 = load i32, ptr @test_count, align 4, !tbaa !5
  %788 = load i32, ptr %234, align 4, !tbaa !5
  %789 = call ptr @s2n_strerror(i32 noundef %788, ptr noundef nonnull @.str.80) #12
  %790 = load i32, ptr %234, align 4, !tbaa !5
  %791 = call ptr @s2n_strerror_debug(i32 noundef %790, ptr noundef nonnull @.str.80) #12
  %792 = load i32, ptr %288, align 4, !tbaa !5
  %793 = call ptr @strerror(i32 noundef %792) #12
  %794 = load i32, ptr %288, align 4, !tbaa !5
  %795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %786, ptr noundef nonnull %.str.81.sink2124, i32 noundef %787, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 70, ptr noundef %789, ptr noundef %791, ptr noundef %793, i32 noundef %794) #14
  call void @exit(i32 noundef 1) #15
  unreachable

796:                                              ; preds = %770
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %797 = load i32, ptr @test_count, align 4, !tbaa !5
  %798 = add nsw i32 %797, 1
  store i32 %798, ptr @test_count, align 4, !tbaa !5
  %799 = call i32 @s2n_psk_set_identity(ptr noundef nonnull %6, ptr noundef null, i16 noundef zeroext 1)
  %800 = icmp eq i32 %799, -1
  br i1 %800, label %823, label %801

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

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

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

812:                                              ; preds = %807, %811
  %.str.81.sink2133 = phi ptr [ @.str.81, %811 ], [ @.str.78, %807 ]
  store i32 %802, ptr %288, align 4, !tbaa !5
  %813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %814 = load i32, ptr @test_count, align 4, !tbaa !5
  %815 = load i32, ptr %234, align 4, !tbaa !5
  %816 = call ptr @s2n_strerror(i32 noundef %815, ptr noundef nonnull @.str.80) #12
  %817 = load i32, ptr %234, align 4, !tbaa !5
  %818 = call ptr @s2n_strerror_debug(i32 noundef %817, ptr noundef nonnull @.str.80) #12
  %819 = load i32, ptr %288, align 4, !tbaa !5
  %820 = call ptr @strerror(i32 noundef %819) #12
  %821 = load i32, ptr %288, align 4, !tbaa !5
  %822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %813, ptr noundef nonnull %.str.81.sink2133, i32 noundef %814, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.77, i32 noundef 72, ptr noundef %816, ptr noundef %818, ptr noundef %820, i32 noundef %821) #14
  call void @exit(i32 noundef 1) #15
  unreachable

823:                                              ; preds = %796
  %824 = load i32, ptr @test_count, align 4, !tbaa !5
  %825 = add nsw i32 %824, 1
  store i32 %825, ptr @test_count, align 4, !tbaa !5
  %826 = load i32, ptr %234, align 4, !tbaa !5
  %827 = icmp eq i32 %826, 402653193
  br i1 %827, label %850, label %828

828:                                              ; preds = %823
  %829 = load i32, ptr %288, align 4, !tbaa !5
  %830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %831 = call i32 @s2n_print_stacktrace(ptr noundef %830) #12
  %832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %833 = trunc nuw i8 %832 to i1
  br i1 %833, label %834, label %838

834:                                              ; preds = %828
  %835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %836 = call i32 @fileno(ptr noundef %835) #12
  %837 = call i32 @isatty(i32 noundef %836) #12
  %.not1337 = icmp eq i32 %837, 0
  br i1 %.not1337, label %838, label %839

838:                                              ; preds = %834, %828
  br label %839

839:                                              ; preds = %834, %838
  %.str.81.sink2142 = phi ptr [ @.str.81, %838 ], [ @.str.78, %834 ]
  store i32 %829, ptr %288, align 4, !tbaa !5
  %840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %841 = load i32, ptr @test_count, align 4, !tbaa !5
  %842 = load i32, ptr %234, align 4, !tbaa !5
  %843 = call ptr @s2n_strerror(i32 noundef %842, ptr noundef nonnull @.str.80) #12
  %844 = load i32, ptr %234, align 4, !tbaa !5
  %845 = call ptr @s2n_strerror_debug(i32 noundef %844, ptr noundef nonnull @.str.80) #12
  %846 = load i32, ptr %288, align 4, !tbaa !5
  %847 = call ptr @strerror(i32 noundef %846) #12
  %848 = load i32, ptr %288, align 4, !tbaa !5
  %849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %840, ptr noundef nonnull %.str.81.sink2142, i32 noundef %841, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 72, ptr noundef %843, ptr noundef %845, ptr noundef %847, i32 noundef %848) #14
  call void @exit(i32 noundef 1) #15
  unreachable

850:                                              ; preds = %823
  %851 = add nsw i32 %824, 2
  store i32 %851, ptr @test_count, align 4, !tbaa !5
  %852 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %853 = icmp eq ptr %852, null
  br i1 %853, label %854, label %876

854:                                              ; preds = %850
  %855 = load i32, ptr %288, align 4, !tbaa !5
  %856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %857 = call i32 @s2n_print_stacktrace(ptr noundef %856) #12
  %858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %859 = trunc nuw i8 %858 to i1
  br i1 %859, label %860, label %864

860:                                              ; preds = %854
  %861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %862 = call i32 @fileno(ptr noundef %861) #12
  %863 = call i32 @isatty(i32 noundef %862) #12
  %.not1846 = icmp eq i32 %863, 0
  br i1 %.not1846, label %864, label %865

864:                                              ; preds = %860, %854
  br label %865

865:                                              ; preds = %860, %864
  %.str.81.sink2151 = phi ptr [ @.str.81, %864 ], [ @.str.78, %860 ]
  store i32 %855, ptr %288, align 4, !tbaa !5
  %866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %867 = load i32, ptr @test_count, align 4, !tbaa !5
  %868 = load i32, ptr %234, align 4, !tbaa !5
  %869 = call ptr @s2n_strerror(i32 noundef %868, ptr noundef nonnull @.str.80) #12
  %870 = load i32, ptr %234, align 4, !tbaa !5
  %871 = call ptr @s2n_strerror_debug(i32 noundef %870, ptr noundef nonnull @.str.80) #12
  %872 = load i32, ptr %288, align 4, !tbaa !5
  %873 = call ptr @strerror(i32 noundef %872) #12
  %874 = load i32, ptr %288, align 4, !tbaa !5
  %875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %866, ptr noundef nonnull %.str.81.sink2151, i32 noundef %867, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 72, ptr noundef %869, ptr noundef %871, ptr noundef %873, i32 noundef %874) #14
  call void @exit(i32 noundef 1) #15
  unreachable

876:                                              ; preds = %850
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %877 = load i32, ptr @test_count, align 4, !tbaa !5
  %878 = add nsw i32 %877, 1
  store i32 %878, ptr @test_count, align 4, !tbaa !5
  %879 = call i32 @s2n_psk_set_identity(ptr noundef nonnull %6, ptr noundef nonnull %7, i16 noundef zeroext 0)
  %880 = icmp eq i32 %879, -1
  br i1 %880, label %903, label %881

881:                                              ; preds = %876
  %882 = load i32, ptr %288, align 4, !tbaa !5
  %883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %884 = call i32 @s2n_print_stacktrace(ptr noundef %883) #12
  %885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %886 = trunc nuw i8 %885 to i1
  br i1 %886, label %887, label %891

887:                                              ; preds = %881
  %888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %889 = call i32 @fileno(ptr noundef %888) #12
  %890 = call i32 @isatty(i32 noundef %889) #12
  %.not1338 = icmp eq i32 %890, 0
  br i1 %.not1338, label %891, label %892

891:                                              ; preds = %887, %881
  br label %892

892:                                              ; preds = %887, %891
  %.str.81.sink2160 = phi ptr [ @.str.81, %891 ], [ @.str.78, %887 ]
  store i32 %882, ptr %288, align 4, !tbaa !5
  %893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %894 = load i32, ptr @test_count, align 4, !tbaa !5
  %895 = load i32, ptr %234, align 4, !tbaa !5
  %896 = call ptr @s2n_strerror(i32 noundef %895, ptr noundef nonnull @.str.80) #12
  %897 = load i32, ptr %234, align 4, !tbaa !5
  %898 = call ptr @s2n_strerror_debug(i32 noundef %897, ptr noundef nonnull @.str.80) #12
  %899 = load i32, ptr %288, align 4, !tbaa !5
  %900 = call ptr @strerror(i32 noundef %899) #12
  %901 = load i32, ptr %288, align 4, !tbaa !5
  %902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %893, ptr noundef nonnull %.str.81.sink2160, i32 noundef %894, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.77, i32 noundef 74, ptr noundef %896, ptr noundef %898, ptr noundef %900, i32 noundef %901) #14
  call void @exit(i32 noundef 1) #15
  unreachable

903:                                              ; preds = %876
  %904 = load i32, ptr @test_count, align 4, !tbaa !5
  %905 = add nsw i32 %904, 1
  store i32 %905, ptr @test_count, align 4, !tbaa !5
  %906 = load i32, ptr %234, align 4, !tbaa !5
  %907 = icmp eq i32 %906, 469762089
  br i1 %907, label %930, label %908

908:                                              ; preds = %903
  %909 = load i32, ptr %288, align 4, !tbaa !5
  %910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %911 = call i32 @s2n_print_stacktrace(ptr noundef %910) #12
  %912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %913 = trunc nuw i8 %912 to i1
  br i1 %913, label %914, label %918

914:                                              ; preds = %908
  %915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %916 = call i32 @fileno(ptr noundef %915) #12
  %917 = call i32 @isatty(i32 noundef %916) #12
  %.not1339 = icmp eq i32 %917, 0
  br i1 %.not1339, label %918, label %919

918:                                              ; preds = %914, %908
  br label %919

919:                                              ; preds = %914, %918
  %.str.81.sink2169 = phi ptr [ @.str.81, %918 ], [ @.str.78, %914 ]
  store i32 %909, ptr %288, align 4, !tbaa !5
  %920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %921 = load i32, ptr @test_count, align 4, !tbaa !5
  %922 = load i32, ptr %234, align 4, !tbaa !5
  %923 = call ptr @s2n_strerror(i32 noundef %922, ptr noundef nonnull @.str.80) #12
  %924 = load i32, ptr %234, align 4, !tbaa !5
  %925 = call ptr @s2n_strerror_debug(i32 noundef %924, ptr noundef nonnull @.str.80) #12
  %926 = load i32, ptr %288, align 4, !tbaa !5
  %927 = call ptr @strerror(i32 noundef %926) #12
  %928 = load i32, ptr %288, align 4, !tbaa !5
  %929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %920, ptr noundef nonnull %.str.81.sink2169, i32 noundef %921, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.77, i32 noundef 74, ptr noundef %923, ptr noundef %925, ptr noundef %927, i32 noundef %928) #14
  call void @exit(i32 noundef 1) #15
  unreachable

930:                                              ; preds = %903
  %931 = add nsw i32 %904, 2
  store i32 %931, ptr @test_count, align 4, !tbaa !5
  %932 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.80) #12
  %933 = icmp eq ptr %932, null
  br i1 %933, label %934, label %956

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

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

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

945:                                              ; preds = %940, %944
  %.str.81.sink2178 = phi ptr [ @.str.81, %944 ], [ @.str.78, %940 ]
  store i32 %935, ptr %288, align 4, !tbaa !5
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = load i32, ptr @test_count, align 4, !tbaa !5
  %948 = load i32, ptr %234, align 4, !tbaa !5
  %949 = call ptr @s2n_strerror(i32 noundef %948, ptr noundef nonnull @.str.80) #12
  %950 = load i32, ptr %234, align 4, !tbaa !5
  %951 = call ptr @s2n_strerror_debug(i32 noundef %950, ptr noundef nonnull @.str.80) #12
  %952 = load i32, ptr %288, align 4, !tbaa !5
  %953 = call ptr @strerror(i32 noundef %952) #12
  %954 = load i32, ptr %288, align 4, !tbaa !5
  %955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %946, ptr noundef nonnull %.str.81.sink2178, i32 noundef %947, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 74, ptr noundef %949, ptr noundef %951, ptr noundef %953, i32 noundef %954) #14
  call void @exit(i32 noundef 1) #15
  unreachable

956:                                              ; preds = %930
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %957 = load i32, ptr @test_count, align 4, !tbaa !5
  %958 = add nsw i32 %957, 1
  store i32 %958, ptr @test_count, align 4, !tbaa !5
  %959 = call i32 @s2n_psk_set_identity(ptr noundef nonnull %6, ptr noundef nonnull %7, i16 noundef zeroext 11)
  %960 = icmp eq i32 %959, -1
  br i1 %960, label %961, label %983

961:                                              ; preds = %956
  %962 = load i32, ptr %288, align 4, !tbaa !5
  %963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %964 = call i32 @s2n_print_stacktrace(ptr noundef %963) #12
  %965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %966 = trunc nuw i8 %965 to i1
  br i1 %966, label %967, label %971

967:                                              ; preds = %961
  %968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %969 = call i32 @fileno(ptr noundef %968) #12
  %970 = call i32 @isatty(i32 noundef %969) #12
  %.not1844 = icmp eq i32 %970, 0
  br i1 %.not1844, label %971, label %972

971:                                              ; preds = %967, %961
  br label %972

972:                                              ; preds = %967, %971
  %.str.81.sink2187 = phi ptr [ @.str.81, %971 ], [ @.str.78, %967 ]
  store i32 %962, ptr %288, align 4, !tbaa !5
  %973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %974 = load i32, ptr @test_count, align 4, !tbaa !5
  %975 = load i32, ptr %234, align 4, !tbaa !5
  %976 = call ptr @s2n_strerror(i32 noundef %975, ptr noundef nonnull @.str.80) #12
  %977 = load i32, ptr %234, align 4, !tbaa !5
  %978 = call ptr @s2n_strerror_debug(i32 noundef %977, ptr noundef nonnull @.str.80) #12
  %979 = load i32, ptr %288, align 4, !tbaa !5
  %980 = call ptr @strerror(i32 noundef %979) #12
  %981 = load i32, ptr %288, align 4, !tbaa !5
  %982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %973, ptr noundef nonnull %.str.81.sink2187, i32 noundef %974, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.77, i32 noundef 76, ptr noundef %976, ptr noundef %978, ptr noundef %980, i32 noundef %981) #14
  call void @exit(i32 noundef 1) #15
  unreachable

983:                                              ; preds = %956
  %984 = load i32, ptr @test_count, align 4, !tbaa !5
  %985 = add nsw i32 %984, 1
  store i32 %985, ptr @test_count, align 4, !tbaa !5
  %986 = getelementptr inbounds i8, ptr %6, i64 8
  %987 = getelementptr inbounds i8, ptr %6, i64 16
  %988 = load i32, ptr %987, align 8, !tbaa !24
  %989 = icmp eq i32 %988, 11
  br i1 %989, label %1012, label %990

990:                                              ; preds = %983
  %991 = load i32, ptr %288, align 4, !tbaa !5
  %992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %993 = call i32 @s2n_print_stacktrace(ptr noundef %992) #12
  %994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %995 = trunc nuw i8 %994 to i1
  br i1 %995, label %996, label %1000

996:                                              ; preds = %990
  %997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %998 = call i32 @fileno(ptr noundef %997) #12
  %999 = call i32 @isatty(i32 noundef %998) #12
  %.not1340 = icmp eq i32 %999, 0
  br i1 %.not1340, label %1000, label %1001

1000:                                             ; preds = %996, %990
  br label %1001

1001:                                             ; preds = %996, %1000
  %.str.81.sink2196 = phi ptr [ @.str.81, %1000 ], [ @.str.78, %996 ]
  store i32 %991, ptr %288, align 4, !tbaa !5
  %1002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1003 = load i32, ptr @test_count, align 4, !tbaa !5
  %1004 = load i32, ptr %234, align 4, !tbaa !5
  %1005 = call ptr @s2n_strerror(i32 noundef %1004, ptr noundef nonnull @.str.80) #12
  %1006 = load i32, ptr %234, align 4, !tbaa !5
  %1007 = call ptr @s2n_strerror_debug(i32 noundef %1006, ptr noundef nonnull @.str.80) #12
  %1008 = load i32, ptr %288, align 4, !tbaa !5
  %1009 = call ptr @strerror(i32 noundef %1008) #12
  %1010 = load i32, ptr %288, align 4, !tbaa !5
  %1011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1002, ptr noundef nonnull %.str.81.sink2196, i32 noundef %1003, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.77, i32 noundef 77, ptr noundef %1005, ptr noundef %1007, ptr noundef %1009, i32 noundef %1010) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1012:                                             ; preds = %983
  %1013 = add nsw i32 %984, 2
  store i32 %1013, ptr @test_count, align 4, !tbaa !5
  %1014 = load ptr, ptr %986, align 8, !tbaa !25
  %bcmp1341 = call i32 @bcmp(ptr noundef nonnull dereferenceable(11) %1014, ptr noundef nonnull dereferenceable(11) @.str.104, i64 11)
  %1015 = icmp eq i32 %bcmp1341, 0
  br i1 %1015, label %1038, label %1016

1016:                                             ; preds = %1012
  %1017 = load i32, ptr %288, align 4, !tbaa !5
  %1018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1019 = call i32 @s2n_print_stacktrace(ptr noundef %1018) #12
  %1020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1021 = trunc nuw i8 %1020 to i1
  br i1 %1021, label %1022, label %1026

1022:                                             ; preds = %1016
  %1023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1024 = call i32 @fileno(ptr noundef %1023) #12
  %1025 = call i32 @isatty(i32 noundef %1024) #12
  %.not1342 = icmp eq i32 %1025, 0
  br i1 %.not1342, label %1026, label %1027

1026:                                             ; preds = %1022, %1016
  br label %1027

1027:                                             ; preds = %1022, %1026
  %.str.81.sink2205 = phi ptr [ @.str.81, %1026 ], [ @.str.78, %1022 ]
  store i32 %1017, ptr %288, align 4, !tbaa !5
  %1028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1029 = load i32, ptr @test_count, align 4, !tbaa !5
  %1030 = load i32, ptr %234, align 4, !tbaa !5
  %1031 = call ptr @s2n_strerror(i32 noundef %1030, ptr noundef nonnull @.str.80) #12
  %1032 = load i32, ptr %234, align 4, !tbaa !5
  %1033 = call ptr @s2n_strerror_debug(i32 noundef %1032, ptr noundef nonnull @.str.80) #12
  %1034 = load i32, ptr %288, align 4, !tbaa !5
  %1035 = call ptr @strerror(i32 noundef %1034) #12
  %1036 = load i32, ptr %288, align 4, !tbaa !5
  %1037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1028, ptr noundef nonnull %.str.81.sink2205, i32 noundef %1029, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.77, i32 noundef 78, ptr noundef %1031, ptr noundef %1033, ptr noundef %1035, i32 noundef %1036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1038:                                             ; preds = %1012
  store i8 65, ptr %7, align 1, !tbaa !26
  %1039 = add nsw i32 %984, 3
  store i32 %1039, ptr @test_count, align 4, !tbaa !5
  %bcmp1343 = call i32 @bcmp(ptr noundef nonnull dereferenceable(11) %1014, ptr noundef nonnull dereferenceable(11) @.str.104, i64 11)
  %1040 = icmp eq i32 %bcmp1343, 0
  br i1 %1040, label %1063, label %1041

1041:                                             ; preds = %1038
  %1042 = load i32, ptr %288, align 4, !tbaa !5
  %1043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1044 = call i32 @s2n_print_stacktrace(ptr noundef %1043) #12
  %1045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1046 = trunc nuw i8 %1045 to i1
  br i1 %1046, label %1047, label %1051

1047:                                             ; preds = %1041
  %1048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1049 = call i32 @fileno(ptr noundef %1048) #12
  %1050 = call i32 @isatty(i32 noundef %1049) #12
  %.not1344 = icmp eq i32 %1050, 0
  br i1 %.not1344, label %1051, label %1052

1051:                                             ; preds = %1047, %1041
  br label %1052

1052:                                             ; preds = %1047, %1051
  %.str.81.sink2214 = phi ptr [ @.str.81, %1051 ], [ @.str.78, %1047 ]
  store i32 %1042, ptr %288, align 4, !tbaa !5
  %1053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1054 = load i32, ptr @test_count, align 4, !tbaa !5
  %1055 = load i32, ptr %234, align 4, !tbaa !5
  %1056 = call ptr @s2n_strerror(i32 noundef %1055, ptr noundef nonnull @.str.80) #12
  %1057 = load i32, ptr %234, align 4, !tbaa !5
  %1058 = call ptr @s2n_strerror_debug(i32 noundef %1057, ptr noundef nonnull @.str.80) #12
  %1059 = load i32, ptr %288, align 4, !tbaa !5
  %1060 = call ptr @strerror(i32 noundef %1059) #12
  %1061 = load i32, ptr %288, align 4, !tbaa !5
  %1062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1053, ptr noundef nonnull %.str.81.sink2214, i32 noundef %1054, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.77, i32 noundef 82, ptr noundef %1056, ptr noundef %1058, ptr noundef %1060, i32 noundef %1061) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1063:                                             ; preds = %1038
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #12
  %1064 = load i64, ptr @__const.main.test_value_2, align 1
  store i64 %1064, ptr %8, align 8
  %1065 = add nsw i32 %984, 4
  store i32 %1065, ptr @test_count, align 4, !tbaa !5
  %1066 = call i32 @s2n_psk_set_identity(ptr noundef nonnull %6, ptr noundef nonnull %8, i16 noundef zeroext 8)
  %1067 = icmp eq i32 %1066, -1
  br i1 %1067, label %1068, label %1090

1068:                                             ; preds = %1063
  %1069 = load i32, ptr %288, align 4, !tbaa !5
  %1070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1071 = call i32 @s2n_print_stacktrace(ptr noundef %1070) #12
  %1072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1073 = trunc nuw i8 %1072 to i1
  br i1 %1073, label %1074, label %1078

1074:                                             ; preds = %1068
  %1075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1076 = call i32 @fileno(ptr noundef %1075) #12
  %1077 = call i32 @isatty(i32 noundef %1076) #12
  %.not1843 = icmp eq i32 %1077, 0
  br i1 %.not1843, label %1078, label %1079

1078:                                             ; preds = %1074, %1068
  br label %1079

1079:                                             ; preds = %1074, %1078
  %.str.81.sink2223 = phi ptr [ @.str.81, %1078 ], [ @.str.78, %1074 ]
  store i32 %1069, ptr %288, align 4, !tbaa !5
  %1080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1081 = load i32, ptr @test_count, align 4, !tbaa !5
  %1082 = load i32, ptr %234, align 4, !tbaa !5
  %1083 = call ptr @s2n_strerror(i32 noundef %1082, ptr noundef nonnull @.str.80) #12
  %1084 = load i32, ptr %234, align 4, !tbaa !5
  %1085 = call ptr @s2n_strerror_debug(i32 noundef %1084, ptr noundef nonnull @.str.80) #12
  %1086 = load i32, ptr %288, align 4, !tbaa !5
  %1087 = call ptr @strerror(i32 noundef %1086) #12
  %1088 = load i32, ptr %288, align 4, !tbaa !5
  %1089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1080, ptr noundef nonnull %.str.81.sink2223, i32 noundef %1081, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.77, i32 noundef 86, ptr noundef %1083, ptr noundef %1085, ptr noundef %1087, i32 noundef %1088) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1090:                                             ; preds = %1063
  %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 = load i32, ptr %987, align 8, !tbaa !24
  %1094 = icmp eq i32 %1093, 8
  br i1 %1094, label %1117, label %1095

1095:                                             ; preds = %1090
  %1096 = load i32, ptr %288, align 4, !tbaa !5
  %1097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1098 = call i32 @s2n_print_stacktrace(ptr noundef %1097) #12
  %1099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1100 = trunc nuw i8 %1099 to i1
  br i1 %1100, label %1101, label %1105

1101:                                             ; preds = %1095
  %1102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1103 = call i32 @fileno(ptr noundef %1102) #12
  %1104 = call i32 @isatty(i32 noundef %1103) #12
  %.not1345 = icmp eq i32 %1104, 0
  br i1 %.not1345, label %1105, label %1106

1105:                                             ; preds = %1101, %1095
  br label %1106

1106:                                             ; preds = %1101, %1105
  %.str.81.sink2232 = phi ptr [ @.str.81, %1105 ], [ @.str.78, %1101 ]
  store i32 %1096, ptr %288, align 4, !tbaa !5
  %1107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1108 = load i32, ptr @test_count, align 4, !tbaa !5
  %1109 = load i32, ptr %234, align 4, !tbaa !5
  %1110 = call ptr @s2n_strerror(i32 noundef %1109, ptr noundef nonnull @.str.80) #12
  %1111 = load i32, ptr %234, align 4, !tbaa !5
  %1112 = call ptr @s2n_strerror_debug(i32 noundef %1111, ptr noundef nonnull @.str.80) #12
  %1113 = load i32, ptr %288, align 4, !tbaa !5
  %1114 = call ptr @strerror(i32 noundef %1113) #12
  %1115 = load i32, ptr %288, align 4, !tbaa !5
  %1116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1107, ptr noundef nonnull %.str.81.sink2232, i32 noundef %1108, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.77, i32 noundef 87, ptr noundef %1110, ptr noundef %1112, ptr noundef %1114, i32 noundef %1115) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1117:                                             ; preds = %1090
  %1118 = add nsw i32 %1091, 2
  store i32 %1118, ptr @test_count, align 4, !tbaa !5
  %1119 = load ptr, ptr %986, align 8, !tbaa !25
  %bcmp1346 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %1119, ptr noundef nonnull dereferenceable(8) @.str.108, i64 8)
  %1120 = icmp eq i32 %bcmp1346, 0
  br i1 %1120, label %1143, label %1121

1121:                                             ; preds = %1117
  %1122 = load i32, ptr %288, align 4, !tbaa !5
  %1123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1124 = call i32 @s2n_print_stacktrace(ptr noundef %1123) #12
  %1125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1126 = trunc nuw i8 %1125 to i1
  br i1 %1126, label %1127, label %1131

1127:                                             ; preds = %1121
  %1128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1129 = call i32 @fileno(ptr noundef %1128) #12
  %1130 = call i32 @isatty(i32 noundef %1129) #12
  %.not1347 = icmp eq i32 %1130, 0
  br i1 %.not1347, label %1131, label %1132

1131:                                             ; preds = %1127, %1121
  br label %1132

1132:                                             ; preds = %1127, %1131
  %.str.81.sink2241 = phi ptr [ @.str.81, %1131 ], [ @.str.78, %1127 ]
  store i32 %1122, ptr %288, align 4, !tbaa !5
  %1133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1134 = load i32, ptr @test_count, align 4, !tbaa !5
  %1135 = load i32, ptr %234, align 4, !tbaa !5
  %1136 = call ptr @s2n_strerror(i32 noundef %1135, ptr noundef nonnull @.str.80) #12
  %1137 = load i32, ptr %234, align 4, !tbaa !5
  %1138 = call ptr @s2n_strerror_debug(i32 noundef %1137, ptr noundef nonnull @.str.80) #12
  %1139 = load i32, ptr %288, align 4, !tbaa !5
  %1140 = call ptr @strerror(i32 noundef %1139) #12
  %1141 = load i32, ptr %288, align 4, !tbaa !5
  %1142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1133, ptr noundef nonnull %.str.81.sink2241, i32 noundef %1134, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.77, i32 noundef 88, ptr noundef %1136, ptr noundef %1138, ptr noundef %1140, i32 noundef %1141) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1143:                                             ; preds = %1117
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #12
  call void @llvm.lifetime.end.p0(i64 11, ptr nonnull %7) #12
  %1144 = call i32 @s2n_psk_wipe(ptr noundef nonnull %6)
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %6) #12
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %9) #12
  %1145 = load i32, ptr @test_count, align 4, !tbaa !5
  %1146 = add nsw i32 %1145, 1
  store i32 %1146, ptr @test_count, align 4, !tbaa !5
  %1147 = call i32 @s2n_psk_init(ptr noundef nonnull %9, i32 noundef 1)
  %1148 = call zeroext i1 @s2n_result_is_ok(i32 %1147)
  br i1 %1148, label %1171, label %1149

1149:                                             ; preds = %1143
  %1150 = load i32, ptr %288, align 4, !tbaa !5
  %1151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1152 = call i32 @s2n_print_stacktrace(ptr noundef %1151) #12
  %1153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1154 = trunc nuw i8 %1153 to i1
  br i1 %1154, label %1155, label %1159

1155:                                             ; preds = %1149
  %1156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1157 = call i32 @fileno(ptr noundef %1156) #12
  %1158 = call i32 @isatty(i32 noundef %1157) #12
  %.not1348 = icmp eq i32 %1158, 0
  br i1 %.not1348, label %1159, label %1160

1159:                                             ; preds = %1155, %1149
  br label %1160

1160:                                             ; preds = %1155, %1159
  %.str.81.sink2250 = phi ptr [ @.str.81, %1159 ], [ @.str.78, %1155 ]
  store i32 %1150, ptr %288, align 4, !tbaa !5
  %1161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1162 = load i32, ptr @test_count, align 4, !tbaa !5
  %1163 = load i32, ptr %234, align 4, !tbaa !5
  %1164 = call ptr @s2n_strerror(i32 noundef %1163, ptr noundef nonnull @.str.80) #12
  %1165 = load i32, ptr %234, align 4, !tbaa !5
  %1166 = call ptr @s2n_strerror_debug(i32 noundef %1165, ptr noundef nonnull @.str.80) #12
  %1167 = load i32, ptr %288, align 4, !tbaa !5
  %1168 = call ptr @strerror(i32 noundef %1167) #12
  %1169 = load i32, ptr %288, align 4, !tbaa !5
  %1170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1161, ptr noundef nonnull %.str.81.sink2250, i32 noundef %1162, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.77, i32 noundef 94, ptr noundef %1164, ptr noundef %1166, ptr noundef %1168, i32 noundef %1169) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1171:                                             ; preds = %1143
  call void @llvm.lifetime.start.p0(i64 11, ptr nonnull %10) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %10, ptr noundef nonnull align 1 dereferenceable(11) @__const.main.test_value_1.110, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 5, ptr nonnull %11) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(5) %11, i8 0, i64 5, i1 false)
  %1172 = load i32, ptr @test_count, align 4, !tbaa !5
  %1173 = add nsw i32 %1172, 1
  store i32 %1173, ptr @test_count, align 4, !tbaa !5
  %1174 = call i32 @s2n_psk_set_secret(ptr noundef null, ptr noundef nonnull %10, i16 noundef zeroext 1)
  %1175 = icmp eq i32 %1174, -1
  br i1 %1175, label %1198, label %1176

1176:                                             ; preds = %1171
  %1177 = load i32, ptr %288, align 4, !tbaa !5
  %1178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1179 = call i32 @s2n_print_stacktrace(ptr noundef %1178) #12
  %1180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1181 = trunc nuw i8 %1180 to i1
  br i1 %1181, label %1182, label %1186

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

1186:                                             ; preds = %1182, %1176
  br label %1187

1187:                                             ; preds = %1182, %1186
  %.str.81.sink2259 = phi ptr [ @.str.81, %1186 ], [ @.str.78, %1182 ]
  store i32 %1177, ptr %288, align 4, !tbaa !5
  %1188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1189 = load i32, ptr @test_count, align 4, !tbaa !5
  %1190 = load i32, ptr %234, align 4, !tbaa !5
  %1191 = call ptr @s2n_strerror(i32 noundef %1190, ptr noundef nonnull @.str.80) #12
  %1192 = load i32, ptr %234, align 4, !tbaa !5
  %1193 = call ptr @s2n_strerror_debug(i32 noundef %1192, ptr noundef nonnull @.str.80) #12
  %1194 = load i32, ptr %288, align 4, !tbaa !5
  %1195 = call ptr @strerror(i32 noundef %1194) #12
  %1196 = load i32, ptr %288, align 4, !tbaa !5
  %1197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1188, ptr noundef nonnull %.str.81.sink2259, i32 noundef %1189, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.77, i32 noundef 100, ptr noundef %1191, ptr noundef %1193, ptr noundef %1195, i32 noundef %1196) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1198:                                             ; preds = %1171
  %1199 = load i32, ptr @test_count, align 4, !tbaa !5
  %1200 = add nsw i32 %1199, 1
  store i32 %1200, ptr @test_count, align 4, !tbaa !5
  %1201 = load i32, ptr %234, align 4, !tbaa !5
  %1202 = icmp eq i32 %1201, 402653193
  br i1 %1202, label %1225, label %1203

1203:                                             ; preds = %1198
  %1204 = load i32, ptr %288, align 4, !tbaa !5
  %1205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1206 = call i32 @s2n_print_stacktrace(ptr noundef %1205) #12
  %1207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1208 = trunc nuw i8 %1207 to i1
  br i1 %1208, label %1209, label %1213

1209:                                             ; preds = %1203
  %1210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1211 = call i32 @fileno(ptr noundef %1210) #12
  %1212 = call i32 @isatty(i32 noundef %1211) #12
  %.not1350 = icmp eq i32 %1212, 0
  br i1 %.not1350, label %1213, label %1214

1213:                                             ; preds = %1209, %1203
  br label %1214

1214:                                             ; preds = %1209, %1213
  %.str.81.sink2268 = phi ptr [ @.str.81, %1213 ], [ @.str.78, %1209 ]
  store i32 %1204, ptr %288, align 4, !tbaa !5
  %1215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1216 = load i32, ptr @test_count, align 4, !tbaa !5
  %1217 = load i32, ptr %234, align 4, !tbaa !5
  %1218 = call ptr @s2n_strerror(i32 noundef %1217, ptr noundef nonnull @.str.80) #12
  %1219 = load i32, ptr %234, align 4, !tbaa !5
  %1220 = call ptr @s2n_strerror_debug(i32 noundef %1219, ptr noundef nonnull @.str.80) #12
  %1221 = load i32, ptr %288, align 4, !tbaa !5
  %1222 = call ptr @strerror(i32 noundef %1221) #12
  %1223 = load i32, ptr %288, align 4, !tbaa !5
  %1224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1215, ptr noundef nonnull %.str.81.sink2268, i32 noundef %1216, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 100, ptr noundef %1218, ptr noundef %1220, ptr noundef %1222, i32 noundef %1223) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1225:                                             ; preds = %1198
  %1226 = add nsw i32 %1199, 2
  store i32 %1226, ptr @test_count, align 4, !tbaa !5
  %1227 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %1228 = icmp eq ptr %1227, null
  br i1 %1228, label %1229, label %1251

1229:                                             ; preds = %1225
  %1230 = load i32, ptr %288, align 4, !tbaa !5
  %1231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1232 = call i32 @s2n_print_stacktrace(ptr noundef %1231) #12
  %1233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1234 = trunc nuw i8 %1233 to i1
  br i1 %1234, label %1235, label %1239

1235:                                             ; preds = %1229
  %1236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1237 = call i32 @fileno(ptr noundef %1236) #12
  %1238 = call i32 @isatty(i32 noundef %1237) #12
  %.not1842 = icmp eq i32 %1238, 0
  br i1 %.not1842, label %1239, label %1240

1239:                                             ; preds = %1235, %1229
  br label %1240

1240:                                             ; preds = %1235, %1239
  %.str.81.sink2277 = phi ptr [ @.str.81, %1239 ], [ @.str.78, %1235 ]
  store i32 %1230, ptr %288, align 4, !tbaa !5
  %1241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1242 = load i32, ptr @test_count, align 4, !tbaa !5
  %1243 = load i32, ptr %234, align 4, !tbaa !5
  %1244 = call ptr @s2n_strerror(i32 noundef %1243, ptr noundef nonnull @.str.80) #12
  %1245 = load i32, ptr %234, align 4, !tbaa !5
  %1246 = call ptr @s2n_strerror_debug(i32 noundef %1245, ptr noundef nonnull @.str.80) #12
  %1247 = load i32, ptr %288, align 4, !tbaa !5
  %1248 = call ptr @strerror(i32 noundef %1247) #12
  %1249 = load i32, ptr %288, align 4, !tbaa !5
  %1250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1241, ptr noundef nonnull %.str.81.sink2277, i32 noundef %1242, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 100, ptr noundef %1244, ptr noundef %1246, ptr noundef %1248, i32 noundef %1249) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1251:                                             ; preds = %1225
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %1252 = load i32, ptr @test_count, align 4, !tbaa !5
  %1253 = add nsw i32 %1252, 1
  store i32 %1253, ptr @test_count, align 4, !tbaa !5
  %1254 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %9, ptr noundef null, i16 noundef zeroext 1)
  %1255 = icmp eq i32 %1254, -1
  br i1 %1255, label %1278, label %1256

1256:                                             ; preds = %1251
  %1257 = load i32, ptr %288, align 4, !tbaa !5
  %1258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1259 = call i32 @s2n_print_stacktrace(ptr noundef %1258) #12
  %1260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1261 = trunc nuw i8 %1260 to i1
  br i1 %1261, label %1262, label %1266

1262:                                             ; preds = %1256
  %1263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1264 = call i32 @fileno(ptr noundef %1263) #12
  %1265 = call i32 @isatty(i32 noundef %1264) #12
  %.not1351 = icmp eq i32 %1265, 0
  br i1 %.not1351, label %1266, label %1267

1266:                                             ; preds = %1262, %1256
  br label %1267

1267:                                             ; preds = %1262, %1266
  %.str.81.sink2286 = phi ptr [ @.str.81, %1266 ], [ @.str.78, %1262 ]
  store i32 %1257, ptr %288, align 4, !tbaa !5
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = load i32, ptr @test_count, align 4, !tbaa !5
  %1270 = load i32, ptr %234, align 4, !tbaa !5
  %1271 = call ptr @s2n_strerror(i32 noundef %1270, ptr noundef nonnull @.str.80) #12
  %1272 = load i32, ptr %234, align 4, !tbaa !5
  %1273 = call ptr @s2n_strerror_debug(i32 noundef %1272, ptr noundef nonnull @.str.80) #12
  %1274 = load i32, ptr %288, align 4, !tbaa !5
  %1275 = call ptr @strerror(i32 noundef %1274) #12
  %1276 = load i32, ptr %288, align 4, !tbaa !5
  %1277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1268, ptr noundef nonnull %.str.81.sink2286, i32 noundef %1269, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.77, i32 noundef 102, ptr noundef %1271, ptr noundef %1273, ptr noundef %1275, i32 noundef %1276) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1278:                                             ; preds = %1251
  %1279 = load i32, ptr @test_count, align 4, !tbaa !5
  %1280 = add nsw i32 %1279, 1
  store i32 %1280, ptr @test_count, align 4, !tbaa !5
  %1281 = load i32, ptr %234, align 4, !tbaa !5
  %1282 = icmp eq i32 %1281, 402653193
  br i1 %1282, label %1305, label %1283

1283:                                             ; preds = %1278
  %1284 = load i32, ptr %288, align 4, !tbaa !5
  %1285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1286 = call i32 @s2n_print_stacktrace(ptr noundef %1285) #12
  %1287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1288 = trunc nuw i8 %1287 to i1
  br i1 %1288, label %1289, label %1293

1289:                                             ; preds = %1283
  %1290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1291 = call i32 @fileno(ptr noundef %1290) #12
  %1292 = call i32 @isatty(i32 noundef %1291) #12
  %.not1352 = icmp eq i32 %1292, 0
  br i1 %.not1352, label %1293, label %1294

1293:                                             ; preds = %1289, %1283
  br label %1294

1294:                                             ; preds = %1289, %1293
  %.str.81.sink2295 = phi ptr [ @.str.81, %1293 ], [ @.str.78, %1289 ]
  store i32 %1284, ptr %288, align 4, !tbaa !5
  %1295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1296 = load i32, ptr @test_count, align 4, !tbaa !5
  %1297 = load i32, ptr %234, align 4, !tbaa !5
  %1298 = call ptr @s2n_strerror(i32 noundef %1297, ptr noundef nonnull @.str.80) #12
  %1299 = load i32, ptr %234, align 4, !tbaa !5
  %1300 = call ptr @s2n_strerror_debug(i32 noundef %1299, ptr noundef nonnull @.str.80) #12
  %1301 = load i32, ptr %288, align 4, !tbaa !5
  %1302 = call ptr @strerror(i32 noundef %1301) #12
  %1303 = load i32, ptr %288, align 4, !tbaa !5
  %1304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1295, ptr noundef nonnull %.str.81.sink2295, i32 noundef %1296, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 102, ptr noundef %1298, ptr noundef %1300, ptr noundef %1302, i32 noundef %1303) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1305:                                             ; preds = %1278
  %1306 = add nsw i32 %1279, 2
  store i32 %1306, ptr @test_count, align 4, !tbaa !5
  %1307 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %1308 = icmp eq ptr %1307, null
  br i1 %1308, label %1309, label %1331

1309:                                             ; preds = %1305
  %1310 = load i32, ptr %288, align 4, !tbaa !5
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = call i32 @s2n_print_stacktrace(ptr noundef %1311) #12
  %1313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1314 = trunc nuw i8 %1313 to i1
  br i1 %1314, label %1315, label %1319

1315:                                             ; preds = %1309
  %1316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1317 = call i32 @fileno(ptr noundef %1316) #12
  %1318 = call i32 @isatty(i32 noundef %1317) #12
  %.not1841 = icmp eq i32 %1318, 0
  br i1 %.not1841, label %1319, label %1320

1319:                                             ; preds = %1315, %1309
  br label %1320

1320:                                             ; preds = %1315, %1319
  %.str.81.sink2304 = phi ptr [ @.str.81, %1319 ], [ @.str.78, %1315 ]
  store i32 %1310, ptr %288, align 4, !tbaa !5
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = load i32, ptr @test_count, align 4, !tbaa !5
  %1323 = load i32, ptr %234, align 4, !tbaa !5
  %1324 = call ptr @s2n_strerror(i32 noundef %1323, ptr noundef nonnull @.str.80) #12
  %1325 = load i32, ptr %234, align 4, !tbaa !5
  %1326 = call ptr @s2n_strerror_debug(i32 noundef %1325, ptr noundef nonnull @.str.80) #12
  %1327 = load i32, ptr %288, align 4, !tbaa !5
  %1328 = call ptr @strerror(i32 noundef %1327) #12
  %1329 = load i32, ptr %288, align 4, !tbaa !5
  %1330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1321, ptr noundef nonnull %.str.81.sink2304, i32 noundef %1322, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 102, ptr noundef %1324, ptr noundef %1326, ptr noundef %1328, i32 noundef %1329) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1331:                                             ; preds = %1305
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %1332 = load i32, ptr @test_count, align 4, !tbaa !5
  %1333 = add nsw i32 %1332, 1
  store i32 %1333, ptr @test_count, align 4, !tbaa !5
  %1334 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %9, ptr noundef nonnull %10, i16 noundef zeroext 0)
  %1335 = icmp eq i32 %1334, -1
  br i1 %1335, label %1358, label %1336

1336:                                             ; preds = %1331
  %1337 = load i32, ptr %288, align 4, !tbaa !5
  %1338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1339 = call i32 @s2n_print_stacktrace(ptr noundef %1338) #12
  %1340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1341 = trunc nuw i8 %1340 to i1
  br i1 %1341, label %1342, label %1346

1342:                                             ; preds = %1336
  %1343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1344 = call i32 @fileno(ptr noundef %1343) #12
  %1345 = call i32 @isatty(i32 noundef %1344) #12
  %.not1353 = icmp eq i32 %1345, 0
  br i1 %.not1353, label %1346, label %1347

1346:                                             ; preds = %1342, %1336
  br label %1347

1347:                                             ; preds = %1342, %1346
  %.str.81.sink2313 = phi ptr [ @.str.81, %1346 ], [ @.str.78, %1342 ]
  store i32 %1337, ptr %288, align 4, !tbaa !5
  %1348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1349 = load i32, ptr @test_count, align 4, !tbaa !5
  %1350 = load i32, ptr %234, align 4, !tbaa !5
  %1351 = call ptr @s2n_strerror(i32 noundef %1350, ptr noundef nonnull @.str.80) #12
  %1352 = load i32, ptr %234, align 4, !tbaa !5
  %1353 = call ptr @s2n_strerror_debug(i32 noundef %1352, ptr noundef nonnull @.str.80) #12
  %1354 = load i32, ptr %288, align 4, !tbaa !5
  %1355 = call ptr @strerror(i32 noundef %1354) #12
  %1356 = load i32, ptr %288, align 4, !tbaa !5
  %1357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1348, ptr noundef nonnull %.str.81.sink2313, i32 noundef %1349, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.77, i32 noundef 104, ptr noundef %1351, ptr noundef %1353, ptr noundef %1355, i32 noundef %1356) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1358:                                             ; preds = %1331
  %1359 = load i32, ptr @test_count, align 4, !tbaa !5
  %1360 = add nsw i32 %1359, 1
  store i32 %1360, ptr @test_count, align 4, !tbaa !5
  %1361 = load i32, ptr %234, align 4, !tbaa !5
  %1362 = icmp eq i32 %1361, 469762089
  br i1 %1362, label %1385, label %1363

1363:                                             ; preds = %1358
  %1364 = load i32, ptr %288, align 4, !tbaa !5
  %1365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1366 = call i32 @s2n_print_stacktrace(ptr noundef %1365) #12
  %1367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1368 = trunc nuw i8 %1367 to i1
  br i1 %1368, label %1369, label %1373

1369:                                             ; preds = %1363
  %1370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1371 = call i32 @fileno(ptr noundef %1370) #12
  %1372 = call i32 @isatty(i32 noundef %1371) #12
  %.not1354 = icmp eq i32 %1372, 0
  br i1 %.not1354, label %1373, label %1374

1373:                                             ; preds = %1369, %1363
  br label %1374

1374:                                             ; preds = %1369, %1373
  %.str.81.sink2322 = phi ptr [ @.str.81, %1373 ], [ @.str.78, %1369 ]
  store i32 %1364, ptr %288, align 4, !tbaa !5
  %1375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1376 = load i32, ptr @test_count, align 4, !tbaa !5
  %1377 = load i32, ptr %234, align 4, !tbaa !5
  %1378 = call ptr @s2n_strerror(i32 noundef %1377, ptr noundef nonnull @.str.80) #12
  %1379 = load i32, ptr %234, align 4, !tbaa !5
  %1380 = call ptr @s2n_strerror_debug(i32 noundef %1379, ptr noundef nonnull @.str.80) #12
  %1381 = load i32, ptr %288, align 4, !tbaa !5
  %1382 = call ptr @strerror(i32 noundef %1381) #12
  %1383 = load i32, ptr %288, align 4, !tbaa !5
  %1384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1375, ptr noundef nonnull %.str.81.sink2322, i32 noundef %1376, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.77, i32 noundef 104, ptr noundef %1378, ptr noundef %1380, ptr noundef %1382, i32 noundef %1383) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1385:                                             ; preds = %1358
  %1386 = add nsw i32 %1359, 2
  store i32 %1386, ptr @test_count, align 4, !tbaa !5
  %1387 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.80) #12
  %1388 = icmp eq ptr %1387, null
  br i1 %1388, label %1389, label %1411

1389:                                             ; preds = %1385
  %1390 = load i32, ptr %288, align 4, !tbaa !5
  %1391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1392 = call i32 @s2n_print_stacktrace(ptr noundef %1391) #12
  %1393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1394 = trunc nuw i8 %1393 to i1
  br i1 %1394, label %1395, label %1399

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

1399:                                             ; preds = %1395, %1389
  br label %1400

1400:                                             ; preds = %1395, %1399
  %.str.81.sink2331 = phi ptr [ @.str.81, %1399 ], [ @.str.78, %1395 ]
  store i32 %1390, ptr %288, align 4, !tbaa !5
  %1401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1402 = load i32, ptr @test_count, align 4, !tbaa !5
  %1403 = load i32, ptr %234, align 4, !tbaa !5
  %1404 = call ptr @s2n_strerror(i32 noundef %1403, ptr noundef nonnull @.str.80) #12
  %1405 = load i32, ptr %234, align 4, !tbaa !5
  %1406 = call ptr @s2n_strerror_debug(i32 noundef %1405, ptr noundef nonnull @.str.80) #12
  %1407 = load i32, ptr %288, align 4, !tbaa !5
  %1408 = call ptr @strerror(i32 noundef %1407) #12
  %1409 = load i32, ptr %288, align 4, !tbaa !5
  %1410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1401, ptr noundef nonnull %.str.81.sink2331, i32 noundef %1402, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 104, ptr noundef %1404, ptr noundef %1406, ptr noundef %1408, i32 noundef %1409) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1411:                                             ; preds = %1385
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %1412 = load i32, ptr @test_count, align 4, !tbaa !5
  %1413 = add nsw i32 %1412, 1
  store i32 %1413, ptr @test_count, align 4, !tbaa !5
  %1414 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %9, ptr noundef nonnull %11, i16 noundef zeroext 5)
  %1415 = icmp eq i32 %1414, -1
  br i1 %1415, label %1438, label %1416

1416:                                             ; preds = %1411
  %1417 = load i32, ptr %288, 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
  %.not1355 = icmp eq i32 %1425, 0
  br i1 %.not1355, label %1426, label %1427

1426:                                             ; preds = %1422, %1416
  br label %1427

1427:                                             ; preds = %1422, %1426
  %.str.81.sink2340 = phi ptr [ @.str.81, %1426 ], [ @.str.78, %1422 ]
  store i32 %1417, ptr %288, 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 %234, align 4, !tbaa !5
  %1431 = call ptr @s2n_strerror(i32 noundef %1430, ptr noundef nonnull @.str.80) #12
  %1432 = load i32, ptr %234, align 4, !tbaa !5
  %1433 = call ptr @s2n_strerror_debug(i32 noundef %1432, ptr noundef nonnull @.str.80) #12
  %1434 = load i32, ptr %288, align 4, !tbaa !5
  %1435 = call ptr @strerror(i32 noundef %1434) #12
  %1436 = load i32, ptr %288, align 4, !tbaa !5
  %1437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1428, ptr noundef nonnull %.str.81.sink2340, i32 noundef %1429, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.77, i32 noundef 106, ptr noundef %1431, ptr noundef %1433, ptr noundef %1435, i32 noundef %1436) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1438:                                             ; preds = %1411
  %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 %234, align 4, !tbaa !5
  %1442 = icmp eq i32 %1441, 469762089
  br i1 %1442, label %1465, label %1443

1443:                                             ; preds = %1438
  %1444 = load i32, ptr %288, 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
  %.not1356 = icmp eq i32 %1452, 0
  br i1 %.not1356, label %1453, label %1454

1453:                                             ; preds = %1449, %1443
  br label %1454

1454:                                             ; preds = %1449, %1453
  %.str.81.sink2349 = phi ptr [ @.str.81, %1453 ], [ @.str.78, %1449 ]
  store i32 %1444, ptr %288, 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 %234, align 4, !tbaa !5
  %1458 = call ptr @s2n_strerror(i32 noundef %1457, ptr noundef nonnull @.str.80) #12
  %1459 = load i32, ptr %234, align 4, !tbaa !5
  %1460 = call ptr @s2n_strerror_debug(i32 noundef %1459, ptr noundef nonnull @.str.80) #12
  %1461 = load i32, ptr %288, align 4, !tbaa !5
  %1462 = call ptr @strerror(i32 noundef %1461) #12
  %1463 = load i32, ptr %288, align 4, !tbaa !5
  %1464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1455, ptr noundef nonnull %.str.81.sink2349, i32 noundef %1456, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.77, i32 noundef 106, 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.80) #12
  %1468 = icmp eq ptr %1467, null
  br i1 %1468, label %1469, label %1491

1469:                                             ; preds = %1465
  %1470 = load i32, ptr %288, 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
  %.not1839 = icmp eq i32 %1478, 0
  br i1 %.not1839, label %1479, label %1480

1479:                                             ; preds = %1475, %1469
  br label %1480

1480:                                             ; preds = %1475, %1479
  %.str.81.sink2358 = phi ptr [ @.str.81, %1479 ], [ @.str.78, %1475 ]
  store i32 %1470, ptr %288, 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 %234, align 4, !tbaa !5
  %1484 = call ptr @s2n_strerror(i32 noundef %1483, ptr noundef nonnull @.str.80) #12
  %1485 = load i32, ptr %234, align 4, !tbaa !5
  %1486 = call ptr @s2n_strerror_debug(i32 noundef %1485, ptr noundef nonnull @.str.80) #12
  %1487 = load i32, ptr %288, align 4, !tbaa !5
  %1488 = call ptr @strerror(i32 noundef %1487) #12
  %1489 = load i32, ptr %288, align 4, !tbaa !5
  %1490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1481, ptr noundef nonnull %.str.81.sink2358, i32 noundef %1482, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 106, 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 %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %1492 = load i32, ptr @test_count, align 4, !tbaa !5
  %1493 = add nsw i32 %1492, 1
  store i32 %1493, ptr @test_count, align 4, !tbaa !5
  %1494 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %9, ptr noundef nonnull %10, i16 noundef zeroext 11)
  %1495 = icmp eq i32 %1494, -1
  br i1 %1495, label %1496, label %1518

1496:                                             ; preds = %1491
  %1497 = load i32, ptr %288, align 4, !tbaa !5
  %1498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1499 = call i32 @s2n_print_stacktrace(ptr noundef %1498) #12
  %1500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1501 = trunc nuw i8 %1500 to i1
  br i1 %1501, label %1502, label %1506

1502:                                             ; preds = %1496
  %1503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1504 = call i32 @fileno(ptr noundef %1503) #12
  %1505 = call i32 @isatty(i32 noundef %1504) #12
  %.not1838 = icmp eq i32 %1505, 0
  br i1 %.not1838, label %1506, label %1507

1506:                                             ; preds = %1502, %1496
  br label %1507

1507:                                             ; preds = %1502, %1506
  %.str.81.sink2367 = phi ptr [ @.str.81, %1506 ], [ @.str.78, %1502 ]
  store i32 %1497, ptr %288, align 4, !tbaa !5
  %1508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1509 = load i32, ptr @test_count, align 4, !tbaa !5
  %1510 = load i32, ptr %234, align 4, !tbaa !5
  %1511 = call ptr @s2n_strerror(i32 noundef %1510, ptr noundef nonnull @.str.80) #12
  %1512 = load i32, ptr %234, align 4, !tbaa !5
  %1513 = call ptr @s2n_strerror_debug(i32 noundef %1512, ptr noundef nonnull @.str.80) #12
  %1514 = load i32, ptr %288, align 4, !tbaa !5
  %1515 = call ptr @strerror(i32 noundef %1514) #12
  %1516 = load i32, ptr %288, align 4, !tbaa !5
  %1517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1508, ptr noundef nonnull %.str.81.sink2367, i32 noundef %1509, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.77, i32 noundef 108, ptr noundef %1511, ptr noundef %1513, ptr noundef %1515, i32 noundef %1516) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1518:                                             ; preds = %1491
  %1519 = load i32, ptr @test_count, align 4, !tbaa !5
  %1520 = add nsw i32 %1519, 1
  store i32 %1520, ptr @test_count, align 4, !tbaa !5
  %1521 = getelementptr inbounds i8, ptr %9, i64 32
  %1522 = getelementptr inbounds i8, ptr %9, i64 40
  %1523 = load i32, ptr %1522, align 8, !tbaa !27
  %1524 = icmp eq i32 %1523, 11
  br i1 %1524, label %1547, label %1525

1525:                                             ; preds = %1518
  %1526 = load i32, ptr %288, align 4, !tbaa !5
  %1527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1528 = call i32 @s2n_print_stacktrace(ptr noundef %1527) #12
  %1529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1530 = trunc nuw i8 %1529 to i1
  br i1 %1530, label %1531, label %1535

1531:                                             ; preds = %1525
  %1532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1533 = call i32 @fileno(ptr noundef %1532) #12
  %1534 = call i32 @isatty(i32 noundef %1533) #12
  %.not1357 = icmp eq i32 %1534, 0
  br i1 %.not1357, label %1535, label %1536

1535:                                             ; preds = %1531, %1525
  br label %1536

1536:                                             ; preds = %1531, %1535
  %.str.81.sink2376 = phi ptr [ @.str.81, %1535 ], [ @.str.78, %1531 ]
  store i32 %1526, ptr %288, align 4, !tbaa !5
  %1537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1538 = load i32, ptr @test_count, align 4, !tbaa !5
  %1539 = load i32, ptr %234, align 4, !tbaa !5
  %1540 = call ptr @s2n_strerror(i32 noundef %1539, ptr noundef nonnull @.str.80) #12
  %1541 = load i32, ptr %234, align 4, !tbaa !5
  %1542 = call ptr @s2n_strerror_debug(i32 noundef %1541, ptr noundef nonnull @.str.80) #12
  %1543 = load i32, ptr %288, align 4, !tbaa !5
  %1544 = call ptr @strerror(i32 noundef %1543) #12
  %1545 = load i32, ptr %288, align 4, !tbaa !5
  %1546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1537, ptr noundef nonnull %.str.81.sink2376, i32 noundef %1538, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.77, i32 noundef 109, ptr noundef %1540, ptr noundef %1542, ptr noundef %1544, i32 noundef %1545) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1547:                                             ; preds = %1518
  %1548 = add nsw i32 %1519, 2
  store i32 %1548, ptr @test_count, align 4, !tbaa !5
  %1549 = load ptr, ptr %1521, align 8, !tbaa !28
  %bcmp1358 = call i32 @bcmp(ptr noundef nonnull dereferenceable(11) %1549, ptr noundef nonnull dereferenceable(11) @.str.104, i64 11)
  %1550 = icmp eq i32 %bcmp1358, 0
  br i1 %1550, label %1573, label %1551

1551:                                             ; preds = %1547
  %1552 = load i32, ptr %288, align 4, !tbaa !5
  %1553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1554 = call i32 @s2n_print_stacktrace(ptr noundef %1553) #12
  %1555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1556 = trunc nuw i8 %1555 to i1
  br i1 %1556, label %1557, label %1561

1557:                                             ; preds = %1551
  %1558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1559 = call i32 @fileno(ptr noundef %1558) #12
  %1560 = call i32 @isatty(i32 noundef %1559) #12
  %.not1359 = icmp eq i32 %1560, 0
  br i1 %.not1359, label %1561, label %1562

1561:                                             ; preds = %1557, %1551
  br label %1562

1562:                                             ; preds = %1557, %1561
  %.str.81.sink2385 = phi ptr [ @.str.81, %1561 ], [ @.str.78, %1557 ]
  store i32 %1552, ptr %288, align 4, !tbaa !5
  %1563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1564 = load i32, ptr @test_count, align 4, !tbaa !5
  %1565 = load i32, ptr %234, align 4, !tbaa !5
  %1566 = call ptr @s2n_strerror(i32 noundef %1565, ptr noundef nonnull @.str.80) #12
  %1567 = load i32, ptr %234, align 4, !tbaa !5
  %1568 = call ptr @s2n_strerror_debug(i32 noundef %1567, ptr noundef nonnull @.str.80) #12
  %1569 = load i32, ptr %288, align 4, !tbaa !5
  %1570 = call ptr @strerror(i32 noundef %1569) #12
  %1571 = load i32, ptr %288, align 4, !tbaa !5
  %1572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1563, ptr noundef nonnull %.str.81.sink2385, i32 noundef %1564, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.77, i32 noundef 110, ptr noundef %1566, ptr noundef %1568, ptr noundef %1570, i32 noundef %1571) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1573:                                             ; preds = %1547
  store i8 65, ptr %10, align 1, !tbaa !26
  %1574 = add nsw i32 %1519, 3
  store i32 %1574, ptr @test_count, align 4, !tbaa !5
  %bcmp1360 = call i32 @bcmp(ptr noundef nonnull dereferenceable(11) %1549, ptr noundef nonnull dereferenceable(11) @.str.104, i64 11)
  %1575 = icmp eq i32 %bcmp1360, 0
  br i1 %1575, label %1598, label %1576

1576:                                             ; preds = %1573
  %1577 = load i32, ptr %288, align 4, !tbaa !5
  %1578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1579 = call i32 @s2n_print_stacktrace(ptr noundef %1578) #12
  %1580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1581 = trunc nuw i8 %1580 to i1
  br i1 %1581, label %1582, label %1586

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

1586:                                             ; preds = %1582, %1576
  br label %1587

1587:                                             ; preds = %1582, %1586
  %.str.81.sink2394 = phi ptr [ @.str.81, %1586 ], [ @.str.78, %1582 ]
  store i32 %1577, ptr %288, align 4, !tbaa !5
  %1588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1589 = load i32, ptr @test_count, align 4, !tbaa !5
  %1590 = load i32, ptr %234, align 4, !tbaa !5
  %1591 = call ptr @s2n_strerror(i32 noundef %1590, ptr noundef nonnull @.str.80) #12
  %1592 = load i32, ptr %234, align 4, !tbaa !5
  %1593 = call ptr @s2n_strerror_debug(i32 noundef %1592, ptr noundef nonnull @.str.80) #12
  %1594 = load i32, ptr %288, align 4, !tbaa !5
  %1595 = call ptr @strerror(i32 noundef %1594) #12
  %1596 = load i32, ptr %288, align 4, !tbaa !5
  %1597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1588, ptr noundef nonnull %.str.81.sink2394, i32 noundef %1589, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.77, i32 noundef 114, ptr noundef %1591, ptr noundef %1593, ptr noundef %1595, i32 noundef %1596) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1598:                                             ; preds = %1573
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #12
  %1599 = load i64, ptr @__const.main.test_value_2.118, align 1
  store i64 %1599, ptr %12, align 8
  %1600 = add nsw i32 %1519, 4
  store i32 %1600, ptr @test_count, align 4, !tbaa !5
  %1601 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %9, ptr noundef nonnull %12, i16 noundef zeroext 8)
  %1602 = icmp eq i32 %1601, -1
  br i1 %1602, label %1603, label %1625

1603:                                             ; preds = %1598
  %1604 = load i32, ptr %288, align 4, !tbaa !5
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = call i32 @s2n_print_stacktrace(ptr noundef %1605) #12
  %1607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1608 = trunc nuw i8 %1607 to i1
  br i1 %1608, label %1609, label %1613

1609:                                             ; preds = %1603
  %1610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1611 = call i32 @fileno(ptr noundef %1610) #12
  %1612 = call i32 @isatty(i32 noundef %1611) #12
  %.not1837 = icmp eq i32 %1612, 0
  br i1 %.not1837, label %1613, label %1614

1613:                                             ; preds = %1609, %1603
  br label %1614

1614:                                             ; preds = %1609, %1613
  %.str.81.sink2403 = phi ptr [ @.str.81, %1613 ], [ @.str.78, %1609 ]
  store i32 %1604, ptr %288, align 4, !tbaa !5
  %1615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1616 = load i32, ptr @test_count, align 4, !tbaa !5
  %1617 = load i32, ptr %234, align 4, !tbaa !5
  %1618 = call ptr @s2n_strerror(i32 noundef %1617, ptr noundef nonnull @.str.80) #12
  %1619 = load i32, ptr %234, align 4, !tbaa !5
  %1620 = call ptr @s2n_strerror_debug(i32 noundef %1619, ptr noundef nonnull @.str.80) #12
  %1621 = load i32, ptr %288, align 4, !tbaa !5
  %1622 = call ptr @strerror(i32 noundef %1621) #12
  %1623 = load i32, ptr %288, align 4, !tbaa !5
  %1624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1615, ptr noundef nonnull %.str.81.sink2403, i32 noundef %1616, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.77, i32 noundef 118, ptr noundef %1618, ptr noundef %1620, ptr noundef %1622, i32 noundef %1623) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1625:                                             ; preds = %1598
  %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 = load i32, ptr %1522, align 8, !tbaa !27
  %1629 = icmp eq i32 %1628, 8
  br i1 %1629, label %1652, label %1630

1630:                                             ; preds = %1625
  %1631 = load i32, ptr %288, align 4, !tbaa !5
  %1632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1633 = call i32 @s2n_print_stacktrace(ptr noundef %1632) #12
  %1634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1635 = trunc nuw i8 %1634 to i1
  br i1 %1635, label %1636, label %1640

1636:                                             ; preds = %1630
  %1637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1638 = call i32 @fileno(ptr noundef %1637) #12
  %1639 = call i32 @isatty(i32 noundef %1638) #12
  %.not1362 = icmp eq i32 %1639, 0
  br i1 %.not1362, label %1640, label %1641

1640:                                             ; preds = %1636, %1630
  br label %1641

1641:                                             ; preds = %1636, %1640
  %.str.81.sink2412 = phi ptr [ @.str.81, %1640 ], [ @.str.78, %1636 ]
  store i32 %1631, ptr %288, align 4, !tbaa !5
  %1642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1643 = load i32, ptr @test_count, align 4, !tbaa !5
  %1644 = load i32, ptr %234, align 4, !tbaa !5
  %1645 = call ptr @s2n_strerror(i32 noundef %1644, ptr noundef nonnull @.str.80) #12
  %1646 = load i32, ptr %234, align 4, !tbaa !5
  %1647 = call ptr @s2n_strerror_debug(i32 noundef %1646, ptr noundef nonnull @.str.80) #12
  %1648 = load i32, ptr %288, align 4, !tbaa !5
  %1649 = call ptr @strerror(i32 noundef %1648) #12
  %1650 = load i32, ptr %288, align 4, !tbaa !5
  %1651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1642, ptr noundef nonnull %.str.81.sink2412, i32 noundef %1643, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.77, i32 noundef 119, ptr noundef %1645, ptr noundef %1647, ptr noundef %1649, i32 noundef %1650) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1652:                                             ; preds = %1625
  %1653 = add nsw i32 %1626, 2
  store i32 %1653, ptr @test_count, align 4, !tbaa !5
  %1654 = load ptr, ptr %1521, align 8, !tbaa !28
  %bcmp1363 = call i32 @bcmp(ptr noundef nonnull dereferenceable(8) %1654, ptr noundef nonnull dereferenceable(8) @.str.108, i64 8)
  %1655 = icmp eq i32 %bcmp1363, 0
  br i1 %1655, label %1678, label %1656

1656:                                             ; preds = %1652
  %1657 = load i32, ptr %288, align 4, !tbaa !5
  %1658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1659 = call i32 @s2n_print_stacktrace(ptr noundef %1658) #12
  %1660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1661 = trunc nuw i8 %1660 to i1
  br i1 %1661, label %1662, label %1666

1662:                                             ; preds = %1656
  %1663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1664 = call i32 @fileno(ptr noundef %1663) #12
  %1665 = call i32 @isatty(i32 noundef %1664) #12
  %.not1364 = icmp eq i32 %1665, 0
  br i1 %.not1364, label %1666, label %1667

1666:                                             ; preds = %1662, %1656
  br label %1667

1667:                                             ; preds = %1662, %1666
  %.str.81.sink2421 = phi ptr [ @.str.81, %1666 ], [ @.str.78, %1662 ]
  store i32 %1657, ptr %288, align 4, !tbaa !5
  %1668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1669 = load i32, ptr @test_count, align 4, !tbaa !5
  %1670 = load i32, ptr %234, align 4, !tbaa !5
  %1671 = call ptr @s2n_strerror(i32 noundef %1670, ptr noundef nonnull @.str.80) #12
  %1672 = load i32, ptr %234, align 4, !tbaa !5
  %1673 = call ptr @s2n_strerror_debug(i32 noundef %1672, ptr noundef nonnull @.str.80) #12
  %1674 = load i32, ptr %288, align 4, !tbaa !5
  %1675 = call ptr @strerror(i32 noundef %1674) #12
  %1676 = load i32, ptr %288, align 4, !tbaa !5
  %1677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1668, ptr noundef nonnull %.str.81.sink2421, i32 noundef %1669, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.77, i32 noundef 120, ptr noundef %1671, ptr noundef %1673, ptr noundef %1675, i32 noundef %1676) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1678:                                             ; preds = %1652
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 5, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 11, ptr nonnull %10) #12
  %1679 = call i32 @s2n_psk_wipe(ptr noundef nonnull %9)
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %9) #12
  call void @llvm.lifetime.start.p0(i64 6, ptr nonnull %13) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %13, 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 %14) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %14, ptr noundef nonnull align 1 dereferenceable(9) @__const.main.test_identity, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %15) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %15, ptr noundef nonnull align 1 dereferenceable(7) @__const.main.test_secret, i64 7, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #12
  %1680 = call ptr @s2n_external_psk_new()
  store ptr %1680, ptr %16, align 8, !tbaa !9
  %1681 = load i32, ptr @test_count, align 4, !tbaa !5
  %1682 = add nsw i32 %1681, 1
  store i32 %1682, ptr @test_count, align 4, !tbaa !5
  %1683 = icmp eq ptr %1680, null
  br i1 %1683, label %1684, label %1706

1684:                                             ; preds = %1678
  %1685 = load i32, ptr %288, align 4, !tbaa !5
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = call i32 @s2n_print_stacktrace(ptr noundef %1686) #12
  %1688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1689 = trunc nuw i8 %1688 to i1
  br i1 %1689, label %1690, label %1694

1690:                                             ; preds = %1684
  %1691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1692 = call i32 @fileno(ptr noundef %1691) #12
  %1693 = call i32 @isatty(i32 noundef %1692) #12
  %.not1836 = icmp eq i32 %1693, 0
  br i1 %.not1836, label %1694, label %1695

1694:                                             ; preds = %1690, %1684
  br label %1695

1695:                                             ; preds = %1690, %1694
  %.str.81.sink2430 = phi ptr [ @.str.81, %1694 ], [ @.str.78, %1690 ]
  store i32 %1685, ptr %288, align 4, !tbaa !5
  %1696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1697 = load i32, ptr @test_count, align 4, !tbaa !5
  %1698 = load i32, ptr %234, align 4, !tbaa !5
  %1699 = call ptr @s2n_strerror(i32 noundef %1698, ptr noundef nonnull @.str.80) #12
  %1700 = load i32, ptr %234, align 4, !tbaa !5
  %1701 = call ptr @s2n_strerror_debug(i32 noundef %1700, ptr noundef nonnull @.str.80) #12
  %1702 = load i32, ptr %288, align 4, !tbaa !5
  %1703 = call ptr @strerror(i32 noundef %1702) #12
  %1704 = load i32, ptr %288, align 4, !tbaa !5
  %1705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1696, ptr noundef nonnull %.str.81.sink2430, i32 noundef %1697, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.77, i32 noundef 132, ptr noundef %1699, ptr noundef %1701, ptr noundef %1703, i32 noundef %1704) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1706:                                             ; preds = %1678
  %1707 = add nsw i32 %1681, 2
  store i32 %1707, ptr @test_count, align 4, !tbaa !5
  %1708 = call i32 @s2n_psk_set_identity(ptr noundef nonnull %1680, ptr noundef nonnull %14, i16 noundef zeroext 9)
  %1709 = icmp eq i32 %1708, -1
  br i1 %1709, label %1710, label %1732

1710:                                             ; preds = %1706
  %1711 = load i32, ptr %288, align 4, !tbaa !5
  %1712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1713 = call i32 @s2n_print_stacktrace(ptr noundef %1712) #12
  %1714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1715 = trunc nuw i8 %1714 to i1
  br i1 %1715, label %1716, label %1720

1716:                                             ; preds = %1710
  %1717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1718 = call i32 @fileno(ptr noundef %1717) #12
  %1719 = call i32 @isatty(i32 noundef %1718) #12
  %.not1835 = icmp eq i32 %1719, 0
  br i1 %.not1835, label %1720, label %1721

1720:                                             ; preds = %1716, %1710
  br label %1721

1721:                                             ; preds = %1716, %1720
  %.str.81.sink2439 = phi ptr [ @.str.81, %1720 ], [ @.str.78, %1716 ]
  store i32 %1711, ptr %288, align 4, !tbaa !5
  %1722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1723 = load i32, ptr @test_count, align 4, !tbaa !5
  %1724 = load i32, ptr %234, align 4, !tbaa !5
  %1725 = call ptr @s2n_strerror(i32 noundef %1724, ptr noundef nonnull @.str.80) #12
  %1726 = load i32, ptr %234, align 4, !tbaa !5
  %1727 = call ptr @s2n_strerror_debug(i32 noundef %1726, ptr noundef nonnull @.str.80) #12
  %1728 = load i32, ptr %288, align 4, !tbaa !5
  %1729 = call ptr @strerror(i32 noundef %1728) #12
  %1730 = load i32, ptr %288, align 4, !tbaa !5
  %1731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1722, ptr noundef nonnull %.str.81.sink2439, i32 noundef %1723, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.77, i32 noundef 133, ptr noundef %1725, ptr noundef %1727, ptr noundef %1729, i32 noundef %1730) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1732:                                             ; preds = %1706
  %1733 = load i32, ptr @test_count, align 4, !tbaa !5
  %1734 = add nsw i32 %1733, 1
  store i32 %1734, ptr @test_count, align 4, !tbaa !5
  %1735 = load ptr, ptr %16, align 8, !tbaa !9
  %1736 = call i32 @s2n_psk_set_secret(ptr noundef %1735, ptr noundef nonnull %15, i16 noundef zeroext 7)
  %1737 = icmp eq i32 %1736, -1
  br i1 %1737, label %1738, label %1760

1738:                                             ; preds = %1732
  %1739 = load i32, ptr %288, align 4, !tbaa !5
  %1740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1741 = call i32 @s2n_print_stacktrace(ptr noundef %1740) #12
  %1742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1743 = trunc nuw i8 %1742 to i1
  br i1 %1743, label %1744, label %1748

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

1748:                                             ; preds = %1744, %1738
  br label %1749

1749:                                             ; preds = %1744, %1748
  %.str.81.sink2448 = phi ptr [ @.str.81, %1748 ], [ @.str.78, %1744 ]
  store i32 %1739, ptr %288, align 4, !tbaa !5
  %1750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1751 = load i32, ptr @test_count, align 4, !tbaa !5
  %1752 = load i32, ptr %234, align 4, !tbaa !5
  %1753 = call ptr @s2n_strerror(i32 noundef %1752, ptr noundef nonnull @.str.80) #12
  %1754 = load i32, ptr %234, align 4, !tbaa !5
  %1755 = call ptr @s2n_strerror_debug(i32 noundef %1754, ptr noundef nonnull @.str.80) #12
  %1756 = load i32, ptr %288, align 4, !tbaa !5
  %1757 = call ptr @strerror(i32 noundef %1756) #12
  %1758 = load i32, ptr %288, align 4, !tbaa !5
  %1759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1750, ptr noundef nonnull %.str.81.sink2448, i32 noundef %1751, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.77, i32 noundef 134, ptr noundef %1753, ptr noundef %1755, ptr noundef %1757, i32 noundef %1758) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1760:                                             ; preds = %1732
  %1761 = load i32, ptr @test_count, align 4, !tbaa !5
  %1762 = add nsw i32 %1761, 1
  store i32 %1762, ptr @test_count, align 4, !tbaa !5
  %1763 = load ptr, ptr %16, align 8, !tbaa !9
  %1764 = getelementptr inbounds i8, ptr %1763, i64 72
  %1765 = call i32 @s2n_alloc(ptr noundef nonnull %1764, i32 noundef 13) #12
  %1766 = icmp eq i32 %1765, -1
  br i1 %1766, label %1767, label %1789

1767:                                             ; preds = %1760
  %1768 = load i32, ptr %288, align 4, !tbaa !5
  %1769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1770 = call i32 @s2n_print_stacktrace(ptr noundef %1769) #12
  %1771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1772 = trunc nuw i8 %1771 to i1
  br i1 %1772, label %1773, label %1777

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

1777:                                             ; preds = %1773, %1767
  br label %1778

1778:                                             ; preds = %1773, %1777
  %.str.81.sink2457 = phi ptr [ @.str.81, %1777 ], [ @.str.78, %1773 ]
  store i32 %1768, ptr %288, align 4, !tbaa !5
  %1779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1780 = load i32, ptr @test_count, align 4, !tbaa !5
  %1781 = load i32, ptr %234, align 4, !tbaa !5
  %1782 = call ptr @s2n_strerror(i32 noundef %1781, ptr noundef nonnull @.str.80) #12
  %1783 = load i32, ptr %234, align 4, !tbaa !5
  %1784 = call ptr @s2n_strerror_debug(i32 noundef %1783, ptr noundef nonnull @.str.80) #12
  %1785 = load i32, ptr %288, align 4, !tbaa !5
  %1786 = call ptr @strerror(i32 noundef %1785) #12
  %1787 = load i32, ptr %288, align 4, !tbaa !5
  %1788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1779, ptr noundef nonnull %.str.81.sink2457, i32 noundef %1780, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.77, i32 noundef 135, ptr noundef %1782, ptr noundef %1784, ptr noundef %1786, i32 noundef %1787) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1789:                                             ; preds = %1760
  %1790 = load ptr, ptr %16, align 8, !tbaa !9
  %1791 = getelementptr inbounds i8, ptr %1790, i64 80
  %1792 = load i32, ptr %1791, align 8, !tbaa !29
  %.not1365 = icmp eq i32 %1792, 0
  br i1 %.not1365, label %1820, label %1793

1793:                                             ; preds = %1789
  %1794 = getelementptr inbounds i8, ptr %1790, i64 72
  %1795 = load ptr, ptr %1794, align 8, !tbaa !30
  %1796 = zext i32 %1792 to i64
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %1795, ptr nonnull align 1 @__const.main.test_early_secret, i64 %1796, i1 false)
  %1797 = icmp eq ptr %1795, null
  br i1 %1797, label %1798, label %._crit_edge1882

._crit_edge1882:                                  ; preds = %1793
  %.pre = load ptr, ptr %16, align 8, !tbaa !9
  br label %1820

1798:                                             ; preds = %1793
  %1799 = load i32, ptr %288, align 4, !tbaa !5
  %1800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1801 = call i32 @s2n_print_stacktrace(ptr noundef %1800) #12
  %1802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1803 = trunc nuw i8 %1802 to i1
  br i1 %1803, label %1804, label %1808

1804:                                             ; preds = %1798
  %1805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1806 = call i32 @fileno(ptr noundef %1805) #12
  %1807 = call i32 @isatty(i32 noundef %1806) #12
  %.not1832 = icmp eq i32 %1807, 0
  br i1 %.not1832, label %1808, label %1809

1808:                                             ; preds = %1804, %1798
  br label %1809

1809:                                             ; preds = %1804, %1808
  %.str.81.sink2466 = phi ptr [ @.str.81, %1808 ], [ @.str.78, %1804 ]
  store i32 %1799, ptr %288, align 4, !tbaa !5
  %1810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1811 = load i32, ptr @test_count, align 4, !tbaa !5
  %1812 = load i32, ptr %234, align 4, !tbaa !5
  %1813 = call ptr @s2n_strerror(i32 noundef %1812, ptr noundef nonnull @.str.80) #12
  %1814 = load i32, ptr %234, align 4, !tbaa !5
  %1815 = call ptr @s2n_strerror_debug(i32 noundef %1814, ptr noundef nonnull @.str.80) #12
  %1816 = load i32, ptr %288, align 4, !tbaa !5
  %1817 = call ptr @strerror(i32 noundef %1816) #12
  %1818 = load i32, ptr %288, align 4, !tbaa !5
  %1819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1810, ptr noundef nonnull %.str.81.sink2466, i32 noundef %1811, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.77, i32 noundef 136, ptr noundef %1813, ptr noundef %1815, ptr noundef %1817, i32 noundef %1818) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1820:                                             ; preds = %._crit_edge1882, %1789
  %1821 = phi ptr [ %.pre, %._crit_edge1882 ], [ %1790, %1789 ]
  %1822 = getelementptr inbounds i8, ptr %1821, i64 56
  store i32 5, ptr %1822, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #12
  %1823 = call ptr @s2n_external_psk_new()
  store ptr %1823, ptr %17, align 8, !tbaa !9
  %1824 = load i32, ptr @test_count, align 4, !tbaa !5
  %1825 = add nsw i32 %1824, 1
  store i32 %1825, ptr @test_count, align 4, !tbaa !5
  %1826 = call i32 @s2n_psk_set_identity(ptr noundef %1823, ptr noundef nonnull %13, i16 noundef zeroext 6)
  %1827 = icmp eq i32 %1826, -1
  br i1 %1827, label %1828, label %1850

1828:                                             ; preds = %1820
  %1829 = load i32, ptr %288, align 4, !tbaa !5
  %1830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1831 = call i32 @s2n_print_stacktrace(ptr noundef %1830) #12
  %1832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1833 = trunc nuw i8 %1832 to i1
  br i1 %1833, label %1834, label %1838

1834:                                             ; preds = %1828
  %1835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1836 = call i32 @fileno(ptr noundef %1835) #12
  %1837 = call i32 @isatty(i32 noundef %1836) #12
  %.not1831 = icmp eq i32 %1837, 0
  br i1 %.not1831, label %1838, label %1839

1838:                                             ; preds = %1834, %1828
  br label %1839

1839:                                             ; preds = %1834, %1838
  %.str.81.sink2475 = phi ptr [ @.str.81, %1838 ], [ @.str.78, %1834 ]
  store i32 %1829, ptr %288, align 4, !tbaa !5
  %1840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1841 = load i32, ptr @test_count, align 4, !tbaa !5
  %1842 = load i32, ptr %234, align 4, !tbaa !5
  %1843 = call ptr @s2n_strerror(i32 noundef %1842, ptr noundef nonnull @.str.80) #12
  %1844 = load i32, ptr %234, align 4, !tbaa !5
  %1845 = call ptr @s2n_strerror_debug(i32 noundef %1844, ptr noundef nonnull @.str.80) #12
  %1846 = load i32, ptr %288, align 4, !tbaa !5
  %1847 = call ptr @strerror(i32 noundef %1846) #12
  %1848 = load i32, ptr %288, align 4, !tbaa !5
  %1849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1840, ptr noundef nonnull %.str.81.sink2475, i32 noundef %1841, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.77, i32 noundef 140, ptr noundef %1843, ptr noundef %1845, ptr noundef %1847, i32 noundef %1848) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1850:                                             ; preds = %1820
  %1851 = load i32, ptr @test_count, align 4, !tbaa !5
  %1852 = add nsw i32 %1851, 1
  store i32 %1852, ptr @test_count, align 4, !tbaa !5
  %1853 = load ptr, ptr %17, align 8, !tbaa !9
  %1854 = call i32 @s2n_psk_set_secret(ptr noundef %1853, ptr noundef nonnull %13, i16 noundef zeroext 6)
  %1855 = icmp eq i32 %1854, -1
  br i1 %1855, label %1856, label %1878

1856:                                             ; preds = %1850
  %1857 = load i32, ptr %288, align 4, !tbaa !5
  %1858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1859 = call i32 @s2n_print_stacktrace(ptr noundef %1858) #12
  %1860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1861 = trunc nuw i8 %1860 to i1
  br i1 %1861, label %1862, label %1866

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

1866:                                             ; preds = %1862, %1856
  br label %1867

1867:                                             ; preds = %1862, %1866
  %.str.81.sink2484 = phi ptr [ @.str.81, %1866 ], [ @.str.78, %1862 ]
  store i32 %1857, ptr %288, align 4, !tbaa !5
  %1868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1869 = load i32, ptr @test_count, align 4, !tbaa !5
  %1870 = load i32, ptr %234, align 4, !tbaa !5
  %1871 = call ptr @s2n_strerror(i32 noundef %1870, ptr noundef nonnull @.str.80) #12
  %1872 = load i32, ptr %234, align 4, !tbaa !5
  %1873 = call ptr @s2n_strerror_debug(i32 noundef %1872, ptr noundef nonnull @.str.80) #12
  %1874 = load i32, ptr %288, align 4, !tbaa !5
  %1875 = call ptr @strerror(i32 noundef %1874) #12
  %1876 = load i32, ptr %288, align 4, !tbaa !5
  %1877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1868, ptr noundef nonnull %.str.81.sink2484, i32 noundef %1869, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.77, i32 noundef 141, ptr noundef %1871, ptr noundef %1873, ptr noundef %1875, i32 noundef %1876) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1878:                                             ; preds = %1850
  %1879 = load i32, ptr @test_count, align 4, !tbaa !5
  %1880 = add nsw i32 %1879, 1
  store i32 %1880, ptr @test_count, align 4, !tbaa !5
  %1881 = load ptr, ptr %17, align 8, !tbaa !9
  %1882 = icmp eq ptr %1881, null
  br i1 %1882, label %1883, label %1905

1883:                                             ; preds = %1878
  %1884 = load i32, ptr %288, align 4, !tbaa !5
  %1885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1886 = call i32 @s2n_print_stacktrace(ptr noundef %1885) #12
  %1887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1888 = trunc nuw i8 %1887 to i1
  br i1 %1888, label %1889, label %1893

1889:                                             ; preds = %1883
  %1890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1891 = call i32 @fileno(ptr noundef %1890) #12
  %1892 = call i32 @isatty(i32 noundef %1891) #12
  %.not1829 = icmp eq i32 %1892, 0
  br i1 %.not1829, label %1893, label %1894

1893:                                             ; preds = %1889, %1883
  br label %1894

1894:                                             ; preds = %1889, %1893
  %.str.81.sink2493 = phi ptr [ @.str.81, %1893 ], [ @.str.78, %1889 ]
  store i32 %1884, ptr %288, align 4, !tbaa !5
  %1895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1896 = load i32, ptr @test_count, align 4, !tbaa !5
  %1897 = load i32, ptr %234, align 4, !tbaa !5
  %1898 = call ptr @s2n_strerror(i32 noundef %1897, ptr noundef nonnull @.str.80) #12
  %1899 = load i32, ptr %234, align 4, !tbaa !5
  %1900 = call ptr @s2n_strerror_debug(i32 noundef %1899, ptr noundef nonnull @.str.80) #12
  %1901 = load i32, ptr %288, align 4, !tbaa !5
  %1902 = call ptr @strerror(i32 noundef %1901) #12
  %1903 = load i32, ptr %288, align 4, !tbaa !5
  %1904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1895, ptr noundef nonnull %.str.81.sink2493, i32 noundef %1896, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.77, i32 noundef 142, ptr noundef %1898, ptr noundef %1900, ptr noundef %1902, i32 noundef %1903) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1905:                                             ; preds = %1878
  %1906 = add nsw i32 %1879, 2
  store i32 %1906, ptr @test_count, align 4, !tbaa !5
  %1907 = load ptr, ptr %16, align 8, !tbaa !9
  %1908 = getelementptr inbounds i8, ptr %1907, i64 8
  %1909 = load ptr, ptr %1908, align 8, !tbaa !25
  %1910 = getelementptr inbounds i8, ptr %1881, i64 8
  %1911 = load ptr, ptr %1910, align 8, !tbaa !25
  %1912 = icmp eq ptr %1909, %1911
  br i1 %1912, label %1913, label %1935

1913:                                             ; preds = %1905
  %1914 = load i32, ptr %288, align 4, !tbaa !5
  %1915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1916 = call i32 @s2n_print_stacktrace(ptr noundef %1915) #12
  %1917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1918 = trunc nuw i8 %1917 to i1
  br i1 %1918, label %1919, label %1923

1919:                                             ; preds = %1913
  %1920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1921 = call i32 @fileno(ptr noundef %1920) #12
  %1922 = call i32 @isatty(i32 noundef %1921) #12
  %.not1828 = icmp eq i32 %1922, 0
  br i1 %.not1828, label %1923, label %1924

1923:                                             ; preds = %1919, %1913
  br label %1924

1924:                                             ; preds = %1919, %1923
  %.str.81.sink2502 = phi ptr [ @.str.81, %1923 ], [ @.str.78, %1919 ]
  store i32 %1914, ptr %288, align 4, !tbaa !5
  %1925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1926 = load i32, ptr @test_count, align 4, !tbaa !5
  %1927 = load i32, ptr %234, align 4, !tbaa !5
  %1928 = call ptr @s2n_strerror(i32 noundef %1927, ptr noundef nonnull @.str.80) #12
  %1929 = load i32, ptr %234, align 4, !tbaa !5
  %1930 = call ptr @s2n_strerror_debug(i32 noundef %1929, ptr noundef nonnull @.str.80) #12
  %1931 = load i32, ptr %288, align 4, !tbaa !5
  %1932 = call ptr @strerror(i32 noundef %1931) #12
  %1933 = load i32, ptr %288, align 4, !tbaa !5
  %1934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1925, ptr noundef nonnull %.str.81.sink2502, i32 noundef %1926, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.77, i32 noundef 145, ptr noundef %1928, ptr noundef %1930, ptr noundef %1932, i32 noundef %1933) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1935:                                             ; preds = %1905
  %1936 = add nsw i32 %1879, 3
  store i32 %1936, ptr @test_count, align 4, !tbaa !5
  %1937 = getelementptr inbounds i8, ptr %1907, i64 32
  %1938 = load ptr, ptr %1937, align 8, !tbaa !28
  %1939 = getelementptr inbounds i8, ptr %1881, i64 32
  %1940 = load ptr, ptr %1939, align 8, !tbaa !28
  %1941 = icmp eq ptr %1938, %1940
  br i1 %1941, label %1942, label %1964

1942:                                             ; preds = %1935
  %1943 = load i32, ptr %288, align 4, !tbaa !5
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = call i32 @s2n_print_stacktrace(ptr noundef %1944) #12
  %1946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1947 = trunc nuw i8 %1946 to i1
  br i1 %1947, label %1948, label %1952

1948:                                             ; preds = %1942
  %1949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1950 = call i32 @fileno(ptr noundef %1949) #12
  %1951 = call i32 @isatty(i32 noundef %1950) #12
  %.not1827 = icmp eq i32 %1951, 0
  br i1 %.not1827, label %1952, label %1953

1952:                                             ; preds = %1948, %1942
  br label %1953

1953:                                             ; preds = %1948, %1952
  %.str.81.sink2511 = phi ptr [ @.str.81, %1952 ], [ @.str.78, %1948 ]
  store i32 %1943, ptr %288, align 4, !tbaa !5
  %1954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1955 = load i32, ptr @test_count, align 4, !tbaa !5
  %1956 = load i32, ptr %234, align 4, !tbaa !5
  %1957 = call ptr @s2n_strerror(i32 noundef %1956, ptr noundef nonnull @.str.80) #12
  %1958 = load i32, ptr %234, align 4, !tbaa !5
  %1959 = call ptr @s2n_strerror_debug(i32 noundef %1958, ptr noundef nonnull @.str.80) #12
  %1960 = load i32, ptr %288, align 4, !tbaa !5
  %1961 = call ptr @strerror(i32 noundef %1960) #12
  %1962 = load i32, ptr %288, align 4, !tbaa !5
  %1963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1954, ptr noundef nonnull %.str.81.sink2511, i32 noundef %1955, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.77, i32 noundef 146, ptr noundef %1957, ptr noundef %1959, ptr noundef %1961, i32 noundef %1962) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1964:                                             ; preds = %1935
  %1965 = add nsw i32 %1879, 4
  store i32 %1965, ptr @test_count, align 4, !tbaa !5
  %1966 = getelementptr inbounds i8, ptr %1907, i64 72
  %1967 = load ptr, ptr %1966, align 8, !tbaa !30
  %1968 = getelementptr inbounds i8, ptr %1881, i64 72
  %1969 = load ptr, ptr %1968, align 8, !tbaa !30
  %1970 = icmp eq ptr %1967, %1969
  br i1 %1970, label %1971, label %1993

1971:                                             ; preds = %1964
  %1972 = load i32, ptr %288, align 4, !tbaa !5
  %1973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1974 = call i32 @s2n_print_stacktrace(ptr noundef %1973) #12
  %1975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1976 = trunc nuw i8 %1975 to i1
  br i1 %1976, label %1977, label %1981

1977:                                             ; preds = %1971
  %1978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1979 = call i32 @fileno(ptr noundef %1978) #12
  %1980 = call i32 @isatty(i32 noundef %1979) #12
  %.not1826 = icmp eq i32 %1980, 0
  br i1 %.not1826, label %1981, label %1982

1981:                                             ; preds = %1977, %1971
  br label %1982

1982:                                             ; preds = %1977, %1981
  %.str.81.sink2520 = phi ptr [ @.str.81, %1981 ], [ @.str.78, %1977 ]
  store i32 %1972, ptr %288, align 4, !tbaa !5
  %1983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1984 = load i32, ptr @test_count, align 4, !tbaa !5
  %1985 = load i32, ptr %234, align 4, !tbaa !5
  %1986 = call ptr @s2n_strerror(i32 noundef %1985, ptr noundef nonnull @.str.80) #12
  %1987 = load i32, ptr %234, align 4, !tbaa !5
  %1988 = call ptr @s2n_strerror_debug(i32 noundef %1987, ptr noundef nonnull @.str.80) #12
  %1989 = load i32, ptr %288, align 4, !tbaa !5
  %1990 = call ptr @strerror(i32 noundef %1989) #12
  %1991 = load i32, ptr %288, align 4, !tbaa !5
  %1992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1983, ptr noundef nonnull %.str.81.sink2520, i32 noundef %1984, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.77, i32 noundef 147, ptr noundef %1986, ptr noundef %1988, ptr noundef %1990, i32 noundef %1991) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1993:                                             ; preds = %1964
  %1994 = add nsw i32 %1879, 5
  store i32 %1994, ptr @test_count, align 4, !tbaa !5
  %1995 = call i32 @s2n_psk_clone(ptr noundef nonnull %1881, ptr noundef nonnull %1907)
  %1996 = call zeroext i1 @s2n_result_is_ok(i32 %1995)
  br i1 %1996, label %2019, label %1997

1997:                                             ; preds = %1993
  %1998 = load i32, ptr %288, align 4, !tbaa !5
  %1999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2000 = call i32 @s2n_print_stacktrace(ptr noundef %1999) #12
  %2001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2002 = trunc nuw i8 %2001 to i1
  br i1 %2002, label %2003, label %2007

2003:                                             ; preds = %1997
  %2004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2005 = call i32 @fileno(ptr noundef %2004) #12
  %2006 = call i32 @isatty(i32 noundef %2005) #12
  %.not1366 = icmp eq i32 %2006, 0
  br i1 %.not1366, label %2007, label %2008

2007:                                             ; preds = %2003, %1997
  br label %2008

2008:                                             ; preds = %2003, %2007
  %.str.81.sink2529 = phi ptr [ @.str.81, %2007 ], [ @.str.78, %2003 ]
  store i32 %1998, ptr %288, align 4, !tbaa !5
  %2009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2010 = load i32, ptr @test_count, align 4, !tbaa !5
  %2011 = load i32, ptr %234, align 4, !tbaa !5
  %2012 = call ptr @s2n_strerror(i32 noundef %2011, ptr noundef nonnull @.str.80) #12
  %2013 = load i32, ptr %234, align 4, !tbaa !5
  %2014 = call ptr @s2n_strerror_debug(i32 noundef %2013, ptr noundef nonnull @.str.80) #12
  %2015 = load i32, ptr %288, align 4, !tbaa !5
  %2016 = call ptr @strerror(i32 noundef %2015) #12
  %2017 = load i32, ptr %288, align 4, !tbaa !5
  %2018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2009, ptr noundef nonnull %.str.81.sink2529, i32 noundef %2010, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.77, i32 noundef 149, ptr noundef %2012, ptr noundef %2014, ptr noundef %2016, i32 noundef %2017) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2019:                                             ; preds = %1993
  %2020 = load i32, ptr @test_count, align 4, !tbaa !5
  %2021 = add nsw i32 %2020, 1
  store i32 %2021, ptr @test_count, align 4, !tbaa !5
  %2022 = call i32 @s2n_psk_free(ptr noundef nonnull %16)
  %2023 = icmp eq i32 %2022, -1
  br i1 %2023, label %2024, label %2046

2024:                                             ; preds = %2019
  %2025 = load i32, ptr %288, align 4, !tbaa !5
  %2026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2027 = call i32 @s2n_print_stacktrace(ptr noundef %2026) #12
  %2028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2029 = trunc nuw i8 %2028 to i1
  br i1 %2029, label %2030, label %2034

2030:                                             ; preds = %2024
  %2031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2032 = call i32 @fileno(ptr noundef %2031) #12
  %2033 = call i32 @isatty(i32 noundef %2032) #12
  %.not1825 = icmp eq i32 %2033, 0
  br i1 %.not1825, label %2034, label %2035

2034:                                             ; preds = %2030, %2024
  br label %2035

2035:                                             ; preds = %2030, %2034
  %.str.81.sink2538 = phi ptr [ @.str.81, %2034 ], [ @.str.78, %2030 ]
  store i32 %2025, ptr %288, align 4, !tbaa !5
  %2036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2037 = load i32, ptr @test_count, align 4, !tbaa !5
  %2038 = load i32, ptr %234, align 4, !tbaa !5
  %2039 = call ptr @s2n_strerror(i32 noundef %2038, ptr noundef nonnull @.str.80) #12
  %2040 = load i32, ptr %234, align 4, !tbaa !5
  %2041 = call ptr @s2n_strerror_debug(i32 noundef %2040, ptr noundef nonnull @.str.80) #12
  %2042 = load i32, ptr %288, align 4, !tbaa !5
  %2043 = call ptr @strerror(i32 noundef %2042) #12
  %2044 = load i32, ptr %288, align 4, !tbaa !5
  %2045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2036, ptr noundef nonnull %.str.81.sink2538, i32 noundef %2037, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.77, i32 noundef 152, ptr noundef %2039, ptr noundef %2041, ptr noundef %2043, i32 noundef %2044) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2046:                                             ; preds = %2019
  %2047 = load i32, ptr @test_count, align 4, !tbaa !5
  %2048 = add nsw i32 %2047, 1
  store i32 %2048, ptr @test_count, align 4, !tbaa !5
  %2049 = load ptr, ptr %17, align 8, !tbaa !9
  %2050 = getelementptr inbounds i8, ptr %2049, i64 16
  %2051 = load i32, ptr %2050, align 8, !tbaa !24
  %2052 = icmp eq i32 %2051, 9
  br i1 %2052, label %2075, label %2053

2053:                                             ; preds = %2046
  %2054 = load i32, ptr %288, align 4, !tbaa !5
  %2055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2056 = call i32 @s2n_print_stacktrace(ptr noundef %2055) #12
  %2057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2058 = trunc nuw i8 %2057 to i1
  br i1 %2058, label %2059, label %2063

2059:                                             ; preds = %2053
  %2060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2061 = call i32 @fileno(ptr noundef %2060) #12
  %2062 = call i32 @isatty(i32 noundef %2061) #12
  %.not1367 = icmp eq i32 %2062, 0
  br i1 %.not1367, label %2063, label %2064

2063:                                             ; preds = %2059, %2053
  br label %2064

2064:                                             ; preds = %2059, %2063
  %.str.81.sink2547 = phi ptr [ @.str.81, %2063 ], [ @.str.78, %2059 ]
  store i32 %2054, ptr %288, align 4, !tbaa !5
  %2065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2066 = load i32, ptr @test_count, align 4, !tbaa !5
  %2067 = load i32, ptr %234, align 4, !tbaa !5
  %2068 = call ptr @s2n_strerror(i32 noundef %2067, ptr noundef nonnull @.str.80) #12
  %2069 = load i32, ptr %234, align 4, !tbaa !5
  %2070 = call ptr @s2n_strerror_debug(i32 noundef %2069, ptr noundef nonnull @.str.80) #12
  %2071 = load i32, ptr %288, align 4, !tbaa !5
  %2072 = call ptr @strerror(i32 noundef %2071) #12
  %2073 = load i32, ptr %288, align 4, !tbaa !5
  %2074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2065, ptr noundef nonnull %.str.81.sink2547, i32 noundef %2066, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.77, i32 noundef 155, ptr noundef %2068, ptr noundef %2070, ptr noundef %2072, i32 noundef %2073) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2075:                                             ; preds = %2046
  %2076 = add nsw i32 %2047, 2
  store i32 %2076, ptr @test_count, align 4, !tbaa !5
  %2077 = getelementptr inbounds i8, ptr %2049, i64 8
  %2078 = load ptr, ptr %2077, align 8, !tbaa !25
  %bcmp1368 = call i32 @bcmp(ptr noundef nonnull dereferenceable(9) %2078, ptr noundef nonnull dereferenceable(9) %14, i64 9)
  %2079 = icmp eq i32 %bcmp1368, 0
  br i1 %2079, label %2102, label %2080

2080:                                             ; preds = %2075
  %2081 = load i32, ptr %288, align 4, !tbaa !5
  %2082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2083 = call i32 @s2n_print_stacktrace(ptr noundef %2082) #12
  %2084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2085 = trunc nuw i8 %2084 to i1
  br i1 %2085, label %2086, label %2090

2086:                                             ; preds = %2080
  %2087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2088 = call i32 @fileno(ptr noundef %2087) #12
  %2089 = call i32 @isatty(i32 noundef %2088) #12
  %.not1369 = icmp eq i32 %2089, 0
  br i1 %.not1369, label %2090, label %2091

2090:                                             ; preds = %2086, %2080
  br label %2091

2091:                                             ; preds = %2086, %2090
  %.str.81.sink2556 = phi ptr [ @.str.81, %2090 ], [ @.str.78, %2086 ]
  store i32 %2081, ptr %288, align 4, !tbaa !5
  %2092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2093 = load i32, ptr @test_count, align 4, !tbaa !5
  %2094 = load i32, ptr %234, align 4, !tbaa !5
  %2095 = call ptr @s2n_strerror(i32 noundef %2094, ptr noundef nonnull @.str.80) #12
  %2096 = load i32, ptr %234, align 4, !tbaa !5
  %2097 = call ptr @s2n_strerror_debug(i32 noundef %2096, ptr noundef nonnull @.str.80) #12
  %2098 = load i32, ptr %288, align 4, !tbaa !5
  %2099 = call ptr @strerror(i32 noundef %2098) #12
  %2100 = load i32, ptr %288, align 4, !tbaa !5
  %2101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2092, ptr noundef nonnull %.str.81.sink2556, i32 noundef %2093, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.77, i32 noundef 156, ptr noundef %2095, ptr noundef %2097, ptr noundef %2099, i32 noundef %2100) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2102:                                             ; preds = %2075
  %2103 = add nsw i32 %2047, 3
  store i32 %2103, ptr @test_count, align 4, !tbaa !5
  %2104 = getelementptr inbounds i8, ptr %2049, i64 40
  %2105 = load i32, ptr %2104, align 8, !tbaa !27
  %2106 = icmp eq i32 %2105, 7
  br i1 %2106, label %2129, label %2107

2107:                                             ; preds = %2102
  %2108 = load i32, ptr %288, align 4, !tbaa !5
  %2109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2110 = call i32 @s2n_print_stacktrace(ptr noundef %2109) #12
  %2111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2112 = trunc nuw i8 %2111 to i1
  br i1 %2112, label %2113, label %2117

2113:                                             ; preds = %2107
  %2114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2115 = call i32 @fileno(ptr noundef %2114) #12
  %2116 = call i32 @isatty(i32 noundef %2115) #12
  %.not1370 = icmp eq i32 %2116, 0
  br i1 %.not1370, label %2117, label %2118

2117:                                             ; preds = %2113, %2107
  br label %2118

2118:                                             ; preds = %2113, %2117
  %.str.81.sink2565 = phi ptr [ @.str.81, %2117 ], [ @.str.78, %2113 ]
  store i32 %2108, ptr %288, align 4, !tbaa !5
  %2119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2120 = load i32, ptr @test_count, align 4, !tbaa !5
  %2121 = load i32, ptr %234, align 4, !tbaa !5
  %2122 = call ptr @s2n_strerror(i32 noundef %2121, ptr noundef nonnull @.str.80) #12
  %2123 = load i32, ptr %234, align 4, !tbaa !5
  %2124 = call ptr @s2n_strerror_debug(i32 noundef %2123, ptr noundef nonnull @.str.80) #12
  %2125 = load i32, ptr %288, align 4, !tbaa !5
  %2126 = call ptr @strerror(i32 noundef %2125) #12
  %2127 = load i32, ptr %288, align 4, !tbaa !5
  %2128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2119, ptr noundef nonnull %.str.81.sink2565, i32 noundef %2120, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.77, i32 noundef 159, ptr noundef %2122, ptr noundef %2124, ptr noundef %2126, i32 noundef %2127) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2129:                                             ; preds = %2102
  %2130 = add nsw i32 %2047, 4
  store i32 %2130, ptr @test_count, align 4, !tbaa !5
  %2131 = getelementptr inbounds i8, ptr %2049, i64 32
  %2132 = load ptr, ptr %2131, align 8, !tbaa !28
  %bcmp1371 = call i32 @bcmp(ptr noundef nonnull dereferenceable(7) %2132, ptr noundef nonnull dereferenceable(7) %15, i64 7)
  %2133 = icmp eq i32 %bcmp1371, 0
  br i1 %2133, label %2156, label %2134

2134:                                             ; preds = %2129
  %2135 = load i32, ptr %288, align 4, !tbaa !5
  %2136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2137 = call i32 @s2n_print_stacktrace(ptr noundef %2136) #12
  %2138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2139 = trunc nuw i8 %2138 to i1
  br i1 %2139, label %2140, label %2144

2140:                                             ; preds = %2134
  %2141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2142 = call i32 @fileno(ptr noundef %2141) #12
  %2143 = call i32 @isatty(i32 noundef %2142) #12
  %.not1372 = icmp eq i32 %2143, 0
  br i1 %.not1372, label %2144, label %2145

2144:                                             ; preds = %2140, %2134
  br label %2145

2145:                                             ; preds = %2140, %2144
  %.str.81.sink2574 = phi ptr [ @.str.81, %2144 ], [ @.str.78, %2140 ]
  store i32 %2135, ptr %288, align 4, !tbaa !5
  %2146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2147 = load i32, ptr @test_count, align 4, !tbaa !5
  %2148 = load i32, ptr %234, align 4, !tbaa !5
  %2149 = call ptr @s2n_strerror(i32 noundef %2148, ptr noundef nonnull @.str.80) #12
  %2150 = load i32, ptr %234, align 4, !tbaa !5
  %2151 = call ptr @s2n_strerror_debug(i32 noundef %2150, ptr noundef nonnull @.str.80) #12
  %2152 = load i32, ptr %288, align 4, !tbaa !5
  %2153 = call ptr @strerror(i32 noundef %2152) #12
  %2154 = load i32, ptr %288, align 4, !tbaa !5
  %2155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2146, ptr noundef nonnull %.str.81.sink2574, i32 noundef %2147, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.77, i32 noundef 160, ptr noundef %2149, ptr noundef %2151, ptr noundef %2153, i32 noundef %2154) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2156:                                             ; preds = %2129
  %2157 = add nsw i32 %2047, 5
  store i32 %2157, ptr @test_count, align 4, !tbaa !5
  %2158 = getelementptr inbounds i8, ptr %2049, i64 80
  %2159 = load i32, ptr %2158, align 8, !tbaa !29
  %2160 = icmp eq i32 %2159, 13
  br i1 %2160, label %2183, label %2161

2161:                                             ; preds = %2156
  %2162 = load i32, ptr %288, align 4, !tbaa !5
  %2163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2164 = call i32 @s2n_print_stacktrace(ptr noundef %2163) #12
  %2165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2166 = trunc nuw i8 %2165 to i1
  br i1 %2166, label %2167, label %2171

2167:                                             ; preds = %2161
  %2168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2169 = call i32 @fileno(ptr noundef %2168) #12
  %2170 = call i32 @isatty(i32 noundef %2169) #12
  %.not1373 = icmp eq i32 %2170, 0
  br i1 %.not1373, label %2171, label %2172

2171:                                             ; preds = %2167, %2161
  br label %2172

2172:                                             ; preds = %2167, %2171
  %.str.81.sink2583 = phi ptr [ @.str.81, %2171 ], [ @.str.78, %2167 ]
  store i32 %2162, ptr %288, align 4, !tbaa !5
  %2173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2174 = load i32, ptr @test_count, align 4, !tbaa !5
  %2175 = load i32, ptr %234, align 4, !tbaa !5
  %2176 = call ptr @s2n_strerror(i32 noundef %2175, ptr noundef nonnull @.str.80) #12
  %2177 = load i32, ptr %234, align 4, !tbaa !5
  %2178 = call ptr @s2n_strerror_debug(i32 noundef %2177, ptr noundef nonnull @.str.80) #12
  %2179 = load i32, ptr %288, align 4, !tbaa !5
  %2180 = call ptr @strerror(i32 noundef %2179) #12
  %2181 = load i32, ptr %288, align 4, !tbaa !5
  %2182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2173, ptr noundef nonnull %.str.81.sink2583, i32 noundef %2174, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.77, i32 noundef 163, ptr noundef %2176, ptr noundef %2178, ptr noundef %2180, i32 noundef %2181) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2183:                                             ; preds = %2156
  %2184 = add nsw i32 %2047, 6
  store i32 %2184, ptr @test_count, align 4, !tbaa !5
  %2185 = getelementptr inbounds i8, ptr %2049, i64 72
  %2186 = load ptr, ptr %2185, align 8, !tbaa !30
  %bcmp1374 = call i32 @bcmp(ptr noundef nonnull dereferenceable(13) %2186, ptr noundef nonnull dereferenceable(13) @__const.main.test_early_secret, i64 13)
  %2187 = icmp eq i32 %bcmp1374, 0
  br i1 %2187, label %2210, label %2188

2188:                                             ; preds = %2183
  %2189 = load i32, ptr %288, align 4, !tbaa !5
  %2190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2191 = call i32 @s2n_print_stacktrace(ptr noundef %2190) #12
  %2192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2193 = trunc nuw i8 %2192 to i1
  br i1 %2193, label %2194, label %2198

2194:                                             ; preds = %2188
  %2195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2196 = call i32 @fileno(ptr noundef %2195) #12
  %2197 = call i32 @isatty(i32 noundef %2196) #12
  %.not1375 = icmp eq i32 %2197, 0
  br i1 %.not1375, label %2198, label %2199

2198:                                             ; preds = %2194, %2188
  br label %2199

2199:                                             ; preds = %2194, %2198
  %.str.81.sink2592 = phi ptr [ @.str.81, %2198 ], [ @.str.78, %2194 ]
  store i32 %2189, ptr %288, align 4, !tbaa !5
  %2200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2201 = load i32, ptr @test_count, align 4, !tbaa !5
  %2202 = load i32, ptr %234, align 4, !tbaa !5
  %2203 = call ptr @s2n_strerror(i32 noundef %2202, ptr noundef nonnull @.str.80) #12
  %2204 = load i32, ptr %234, align 4, !tbaa !5
  %2205 = call ptr @s2n_strerror_debug(i32 noundef %2204, ptr noundef nonnull @.str.80) #12
  %2206 = load i32, ptr %288, align 4, !tbaa !5
  %2207 = call ptr @strerror(i32 noundef %2206) #12
  %2208 = load i32, ptr %288, align 4, !tbaa !5
  %2209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2200, ptr noundef nonnull %.str.81.sink2592, i32 noundef %2201, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.77, i32 noundef 164, ptr noundef %2203, ptr noundef %2205, ptr noundef %2207, i32 noundef %2208) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2210:                                             ; preds = %2183
  %2211 = add nsw i32 %2047, 7
  store i32 %2211, ptr @test_count, align 4, !tbaa !5
  %2212 = getelementptr inbounds i8, ptr %2049, i64 56
  %2213 = load i32, ptr %2212, align 8, !tbaa !20
  %2214 = icmp eq i32 %2213, 5
  br i1 %2214, label %2237, label %2215

2215:                                             ; preds = %2210
  %2216 = load i32, ptr %288, align 4, !tbaa !5
  %2217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2218 = call i32 @s2n_print_stacktrace(ptr noundef %2217) #12
  %2219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2220 = trunc nuw i8 %2219 to i1
  br i1 %2220, label %2221, label %2225

2221:                                             ; preds = %2215
  %2222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2223 = call i32 @fileno(ptr noundef %2222) #12
  %2224 = call i32 @isatty(i32 noundef %2223) #12
  %.not1376 = icmp eq i32 %2224, 0
  br i1 %.not1376, label %2225, label %2226

2225:                                             ; preds = %2221, %2215
  br label %2226

2226:                                             ; preds = %2221, %2225
  %.str.81.sink2601 = phi ptr [ @.str.81, %2225 ], [ @.str.78, %2221 ]
  store i32 %2216, ptr %288, align 4, !tbaa !5
  %2227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2228 = load i32, ptr @test_count, align 4, !tbaa !5
  %2229 = load i32, ptr %234, align 4, !tbaa !5
  %2230 = call ptr @s2n_strerror(i32 noundef %2229, ptr noundef nonnull @.str.80) #12
  %2231 = load i32, ptr %234, align 4, !tbaa !5
  %2232 = call ptr @s2n_strerror_debug(i32 noundef %2231, ptr noundef nonnull @.str.80) #12
  %2233 = load i32, ptr %288, align 4, !tbaa !5
  %2234 = call ptr @strerror(i32 noundef %2233) #12
  %2235 = load i32, ptr %288, align 4, !tbaa !5
  %2236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2227, ptr noundef nonnull %.str.81.sink2601, i32 noundef %2228, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.77, i32 noundef 167, ptr noundef %2230, ptr noundef %2232, ptr noundef %2234, i32 noundef %2235) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2237:                                             ; preds = %2210
  %2238 = call i32 @s2n_psk_free(ptr noundef nonnull %17)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 9, ptr nonnull %14) #12
  call void @llvm.lifetime.end.p0(i64 6, ptr nonnull %13) #12
  call void @llvm.lifetime.start.p0(i64 11, ptr nonnull %18) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %18, ptr noundef nonnull align 1 dereferenceable(11) @__const.main.test_value, i64 11, i1 false)
  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)
  %2239 = load i32, ptr @test_count, align 4, !tbaa !5
  %2240 = add nsw i32 %2239, 1
  store i32 %2240, ptr @test_count, align 4, !tbaa !5
  %2241 = call i32 @s2n_psk_init(ptr noundef nonnull %19, i32 noundef 1)
  %2242 = call zeroext i1 @s2n_result_is_ok(i32 %2241)
  br i1 %2242, label %2265, label %2243

2243:                                             ; preds = %2237
  %2244 = load i32, ptr %288, align 4, !tbaa !5
  %2245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2246 = call i32 @s2n_print_stacktrace(ptr noundef %2245) #12
  %2247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2248 = trunc nuw i8 %2247 to i1
  br i1 %2248, label %2249, label %2253

2249:                                             ; preds = %2243
  %2250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2251 = call i32 @fileno(ptr noundef %2250) #12
  %2252 = call i32 @isatty(i32 noundef %2251) #12
  %.not1377 = icmp eq i32 %2252, 0
  br i1 %.not1377, label %2253, label %2254

2253:                                             ; preds = %2249, %2243
  br label %2254

2254:                                             ; preds = %2249, %2253
  %.str.81.sink2610 = phi ptr [ @.str.81, %2253 ], [ @.str.78, %2249 ]
  store i32 %2244, ptr %288, align 4, !tbaa !5
  %2255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2256 = load i32, ptr @test_count, align 4, !tbaa !5
  %2257 = load i32, ptr %234, align 4, !tbaa !5
  %2258 = call ptr @s2n_strerror(i32 noundef %2257, ptr noundef nonnull @.str.80) #12
  %2259 = load i32, ptr %234, align 4, !tbaa !5
  %2260 = call ptr @s2n_strerror_debug(i32 noundef %2259, ptr noundef nonnull @.str.80) #12
  %2261 = load i32, ptr %288, align 4, !tbaa !5
  %2262 = call ptr @strerror(i32 noundef %2261) #12
  %2263 = load i32, ptr %288, align 4, !tbaa !5
  %2264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2255, ptr noundef nonnull %.str.81.sink2610, i32 noundef %2256, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.77, i32 noundef 174, ptr noundef %2258, ptr noundef %2260, ptr noundef %2262, i32 noundef %2263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2265:                                             ; preds = %2237
  %2266 = load i32, ptr @test_count, align 4, !tbaa !5
  %2267 = add nsw i32 %2266, 1
  store i32 %2267, ptr @test_count, align 4, !tbaa !5
  %2268 = call i32 @s2n_psk_wipe(ptr noundef nonnull %19)
  %2269 = call zeroext i1 @s2n_result_is_ok(i32 %2268)
  br i1 %2269, label %2292, label %2270

2270:                                             ; preds = %2265
  %2271 = load i32, ptr %288, align 4, !tbaa !5
  %2272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2273 = call i32 @s2n_print_stacktrace(ptr noundef %2272) #12
  %2274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2275 = trunc nuw i8 %2274 to i1
  br i1 %2275, label %2276, label %2280

2276:                                             ; preds = %2270
  %2277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2278 = call i32 @fileno(ptr noundef %2277) #12
  %2279 = call i32 @isatty(i32 noundef %2278) #12
  %.not1378 = icmp eq i32 %2279, 0
  br i1 %.not1378, label %2280, label %2281

2280:                                             ; preds = %2276, %2270
  br label %2281

2281:                                             ; preds = %2276, %2280
  %.str.81.sink2619 = phi ptr [ @.str.81, %2280 ], [ @.str.78, %2276 ]
  store i32 %2271, ptr %288, align 4, !tbaa !5
  %2282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2283 = load i32, ptr @test_count, align 4, !tbaa !5
  %2284 = load i32, ptr %234, align 4, !tbaa !5
  %2285 = call ptr @s2n_strerror(i32 noundef %2284, ptr noundef nonnull @.str.80) #12
  %2286 = load i32, ptr %234, align 4, !tbaa !5
  %2287 = call ptr @s2n_strerror_debug(i32 noundef %2286, ptr noundef nonnull @.str.80) #12
  %2288 = load i32, ptr %288, align 4, !tbaa !5
  %2289 = call ptr @strerror(i32 noundef %2288) #12
  %2290 = load i32, ptr %288, align 4, !tbaa !5
  %2291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2282, ptr noundef nonnull %.str.81.sink2619, i32 noundef %2283, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.77, i32 noundef 177, ptr noundef %2285, ptr noundef %2287, ptr noundef %2289, i32 noundef %2290) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2292:                                             ; preds = %2265
  %2293 = load i32, ptr @test_count, align 4, !tbaa !5
  %2294 = add nsw i32 %2293, 1
  store i32 %2294, ptr @test_count, align 4, !tbaa !5
  %2295 = call i32 @s2n_psk_set_identity(ptr noundef nonnull %19, ptr noundef nonnull %18, i16 noundef zeroext 11)
  %2296 = icmp eq i32 %2295, -1
  br i1 %2296, label %2297, label %2319

2297:                                             ; preds = %2292
  %2298 = load i32, ptr %288, align 4, !tbaa !5
  %2299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2300 = call i32 @s2n_print_stacktrace(ptr noundef %2299) #12
  %2301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2302 = trunc nuw i8 %2301 to i1
  br i1 %2302, label %2303, label %2307

2303:                                             ; preds = %2297
  %2304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2305 = call i32 @fileno(ptr noundef %2304) #12
  %2306 = call i32 @isatty(i32 noundef %2305) #12
  %.not1824 = icmp eq i32 %2306, 0
  br i1 %.not1824, label %2307, label %2308

2307:                                             ; preds = %2303, %2297
  br label %2308

2308:                                             ; preds = %2303, %2307
  %.str.81.sink2628 = phi ptr [ @.str.81, %2307 ], [ @.str.78, %2303 ]
  store i32 %2298, ptr %288, align 4, !tbaa !5
  %2309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2310 = load i32, ptr @test_count, align 4, !tbaa !5
  %2311 = load i32, ptr %234, align 4, !tbaa !5
  %2312 = call ptr @s2n_strerror(i32 noundef %2311, ptr noundef nonnull @.str.80) #12
  %2313 = load i32, ptr %234, align 4, !tbaa !5
  %2314 = call ptr @s2n_strerror_debug(i32 noundef %2313, ptr noundef nonnull @.str.80) #12
  %2315 = load i32, ptr %288, align 4, !tbaa !5
  %2316 = call ptr @strerror(i32 noundef %2315) #12
  %2317 = load i32, ptr %288, align 4, !tbaa !5
  %2318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2309, ptr noundef nonnull %.str.81.sink2628, i32 noundef %2310, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.77, i32 noundef 179, ptr noundef %2312, ptr noundef %2314, ptr noundef %2316, i32 noundef %2317) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2319:                                             ; preds = %2292
  %2320 = load i32, ptr @test_count, align 4, !tbaa !5
  %2321 = add nsw i32 %2320, 1
  store i32 %2321, ptr @test_count, align 4, !tbaa !5
  %2322 = getelementptr inbounds i8, ptr %19, i64 8
  %2323 = getelementptr inbounds i8, ptr %19, i64 16
  %2324 = load i32, ptr %2323, align 8, !tbaa !24
  %2325 = icmp eq i32 %2324, 0
  br i1 %2325, label %2326, label %2348

2326:                                             ; preds = %2319
  %2327 = load i32, ptr %288, align 4, !tbaa !5
  %2328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2329 = call i32 @s2n_print_stacktrace(ptr noundef %2328) #12
  %2330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2331 = trunc nuw i8 %2330 to i1
  br i1 %2331, label %2332, label %2336

2332:                                             ; preds = %2326
  %2333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2334 = call i32 @fileno(ptr noundef %2333) #12
  %2335 = call i32 @isatty(i32 noundef %2334) #12
  %.not1823 = icmp eq i32 %2335, 0
  br i1 %.not1823, label %2336, label %2337

2336:                                             ; preds = %2332, %2326
  br label %2337

2337:                                             ; preds = %2332, %2336
  %.str.81.sink2637 = phi ptr [ @.str.81, %2336 ], [ @.str.78, %2332 ]
  store i32 %2327, ptr %288, align 4, !tbaa !5
  %2338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2339 = load i32, ptr @test_count, align 4, !tbaa !5
  %2340 = load i32, ptr %234, align 4, !tbaa !5
  %2341 = call ptr @s2n_strerror(i32 noundef %2340, ptr noundef nonnull @.str.80) #12
  %2342 = load i32, ptr %234, align 4, !tbaa !5
  %2343 = call ptr @s2n_strerror_debug(i32 noundef %2342, ptr noundef nonnull @.str.80) #12
  %2344 = load i32, ptr %288, align 4, !tbaa !5
  %2345 = call ptr @strerror(i32 noundef %2344) #12
  %2346 = load i32, ptr %288, align 4, !tbaa !5
  %2347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2338, ptr noundef nonnull %.str.81.sink2637, i32 noundef %2339, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.77, i32 noundef 180, ptr noundef %2341, ptr noundef %2343, ptr noundef %2345, i32 noundef %2346) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2348:                                             ; preds = %2319
  %2349 = add nsw i32 %2320, 2
  store i32 %2349, ptr @test_count, align 4, !tbaa !5
  %2350 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %19, ptr noundef nonnull %18, i16 noundef zeroext 11)
  %2351 = icmp eq i32 %2350, -1
  br i1 %2351, label %2352, label %2374

2352:                                             ; preds = %2348
  %2353 = load i32, ptr %288, align 4, !tbaa !5
  %2354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2355 = call i32 @s2n_print_stacktrace(ptr noundef %2354) #12
  %2356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2357 = trunc nuw i8 %2356 to i1
  br i1 %2357, label %2358, label %2362

2358:                                             ; preds = %2352
  %2359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2360 = call i32 @fileno(ptr noundef %2359) #12
  %2361 = call i32 @isatty(i32 noundef %2360) #12
  %.not1822 = icmp eq i32 %2361, 0
  br i1 %.not1822, label %2362, label %2363

2362:                                             ; preds = %2358, %2352
  br label %2363

2363:                                             ; preds = %2358, %2362
  %.str.81.sink2646 = phi ptr [ @.str.81, %2362 ], [ @.str.78, %2358 ]
  store i32 %2353, ptr %288, align 4, !tbaa !5
  %2364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2365 = load i32, ptr @test_count, align 4, !tbaa !5
  %2366 = load i32, ptr %234, align 4, !tbaa !5
  %2367 = call ptr @s2n_strerror(i32 noundef %2366, ptr noundef nonnull @.str.80) #12
  %2368 = load i32, ptr %234, align 4, !tbaa !5
  %2369 = call ptr @s2n_strerror_debug(i32 noundef %2368, ptr noundef nonnull @.str.80) #12
  %2370 = load i32, ptr %288, align 4, !tbaa !5
  %2371 = call ptr @strerror(i32 noundef %2370) #12
  %2372 = load i32, ptr %288, align 4, !tbaa !5
  %2373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2364, ptr noundef nonnull %.str.81.sink2646, i32 noundef %2365, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.77, i32 noundef 181, ptr noundef %2367, ptr noundef %2369, ptr noundef %2371, i32 noundef %2372) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2374:                                             ; preds = %2348
  %2375 = load i32, ptr @test_count, align 4, !tbaa !5
  %2376 = add nsw i32 %2375, 1
  store i32 %2376, ptr @test_count, align 4, !tbaa !5
  %2377 = getelementptr inbounds i8, ptr %19, i64 32
  %2378 = getelementptr inbounds i8, ptr %19, i64 40
  %2379 = load i32, ptr %2378, align 8, !tbaa !27
  %2380 = icmp eq i32 %2379, 0
  br i1 %2380, label %2381, label %2403

2381:                                             ; preds = %2374
  %2382 = load i32, ptr %288, align 4, !tbaa !5
  %2383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2384 = call i32 @s2n_print_stacktrace(ptr noundef %2383) #12
  %2385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2386 = trunc nuw i8 %2385 to i1
  br i1 %2386, label %2387, label %2391

2387:                                             ; preds = %2381
  %2388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2389 = call i32 @fileno(ptr noundef %2388) #12
  %2390 = call i32 @isatty(i32 noundef %2389) #12
  %.not1821 = icmp eq i32 %2390, 0
  br i1 %.not1821, label %2391, label %2392

2391:                                             ; preds = %2387, %2381
  br label %2392

2392:                                             ; preds = %2387, %2391
  %.str.81.sink2655 = phi ptr [ @.str.81, %2391 ], [ @.str.78, %2387 ]
  store i32 %2382, ptr %288, align 4, !tbaa !5
  %2393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2394 = load i32, ptr @test_count, align 4, !tbaa !5
  %2395 = load i32, ptr %234, align 4, !tbaa !5
  %2396 = call ptr @s2n_strerror(i32 noundef %2395, ptr noundef nonnull @.str.80) #12
  %2397 = load i32, ptr %234, align 4, !tbaa !5
  %2398 = call ptr @s2n_strerror_debug(i32 noundef %2397, ptr noundef nonnull @.str.80) #12
  %2399 = load i32, ptr %288, align 4, !tbaa !5
  %2400 = call ptr @strerror(i32 noundef %2399) #12
  %2401 = load i32, ptr %288, align 4, !tbaa !5
  %2402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2393, ptr noundef nonnull %.str.81.sink2655, i32 noundef %2394, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.77, i32 noundef 182, ptr noundef %2396, ptr noundef %2398, ptr noundef %2400, i32 noundef %2401) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2403:                                             ; preds = %2374
  %2404 = add nsw i32 %2375, 2
  store i32 %2404, ptr @test_count, align 4, !tbaa !5
  %2405 = getelementptr inbounds i8, ptr %19, i64 72
  %2406 = call i32 @s2n_alloc(ptr noundef nonnull %2405, i32 noundef 11) #12
  %2407 = icmp eq i32 %2406, -1
  br i1 %2407, label %2408, label %2430

2408:                                             ; preds = %2403
  %2409 = load i32, ptr %288, align 4, !tbaa !5
  %2410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2411 = call i32 @s2n_print_stacktrace(ptr noundef %2410) #12
  %2412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2413 = trunc nuw i8 %2412 to i1
  br i1 %2413, label %2414, label %2418

2414:                                             ; preds = %2408
  %2415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2416 = call i32 @fileno(ptr noundef %2415) #12
  %2417 = call i32 @isatty(i32 noundef %2416) #12
  %.not1820 = icmp eq i32 %2417, 0
  br i1 %.not1820, label %2418, label %2419

2418:                                             ; preds = %2414, %2408
  br label %2419

2419:                                             ; preds = %2414, %2418
  %.str.81.sink2664 = phi ptr [ @.str.81, %2418 ], [ @.str.78, %2414 ]
  store i32 %2409, ptr %288, align 4, !tbaa !5
  %2420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2421 = load i32, ptr @test_count, align 4, !tbaa !5
  %2422 = load i32, ptr %234, align 4, !tbaa !5
  %2423 = call ptr @s2n_strerror(i32 noundef %2422, ptr noundef nonnull @.str.80) #12
  %2424 = load i32, ptr %234, align 4, !tbaa !5
  %2425 = call ptr @s2n_strerror_debug(i32 noundef %2424, ptr noundef nonnull @.str.80) #12
  %2426 = load i32, ptr %288, align 4, !tbaa !5
  %2427 = call ptr @strerror(i32 noundef %2426) #12
  %2428 = load i32, ptr %288, align 4, !tbaa !5
  %2429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2420, ptr noundef nonnull %.str.81.sink2664, i32 noundef %2421, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.77, i32 noundef 183, ptr noundef %2423, ptr noundef %2425, ptr noundef %2427, i32 noundef %2428) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2430:                                             ; preds = %2403
  %2431 = load i32, ptr @test_count, align 4, !tbaa !5
  %2432 = add nsw i32 %2431, 1
  store i32 %2432, ptr @test_count, align 4, !tbaa !5
  %2433 = getelementptr inbounds i8, ptr %19, i64 80
  %2434 = load i32, ptr %2433, align 8, !tbaa !29
  %2435 = icmp eq i32 %2434, 0
  br i1 %2435, label %2436, label %2458

2436:                                             ; preds = %2430
  %2437 = load i32, ptr %288, align 4, !tbaa !5
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = call i32 @s2n_print_stacktrace(ptr noundef %2438) #12
  %2440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2441 = trunc nuw i8 %2440 to i1
  br i1 %2441, label %2442, label %2446

2442:                                             ; preds = %2436
  %2443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2444 = call i32 @fileno(ptr noundef %2443) #12
  %2445 = call i32 @isatty(i32 noundef %2444) #12
  %.not1819 = icmp eq i32 %2445, 0
  br i1 %.not1819, label %2446, label %2447

2446:                                             ; preds = %2442, %2436
  br label %2447

2447:                                             ; preds = %2442, %2446
  %.str.81.sink2673 = phi ptr [ @.str.81, %2446 ], [ @.str.78, %2442 ]
  store i32 %2437, ptr %288, align 4, !tbaa !5
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = load i32, ptr @test_count, align 4, !tbaa !5
  %2450 = load i32, ptr %234, align 4, !tbaa !5
  %2451 = call ptr @s2n_strerror(i32 noundef %2450, ptr noundef nonnull @.str.80) #12
  %2452 = load i32, ptr %234, align 4, !tbaa !5
  %2453 = call ptr @s2n_strerror_debug(i32 noundef %2452, ptr noundef nonnull @.str.80) #12
  %2454 = load i32, ptr %288, align 4, !tbaa !5
  %2455 = call ptr @strerror(i32 noundef %2454) #12
  %2456 = load i32, ptr %288, align 4, !tbaa !5
  %2457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2448, ptr noundef nonnull %.str.81.sink2673, i32 noundef %2449, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.77, i32 noundef 184, ptr noundef %2451, ptr noundef %2453, ptr noundef %2455, i32 noundef %2456) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2458:                                             ; preds = %2430
  %2459 = add nsw i32 %2431, 2
  store i32 %2459, ptr @test_count, align 4, !tbaa !5
  %2460 = call i32 @s2n_psk_wipe(ptr noundef nonnull %19)
  %2461 = call zeroext i1 @s2n_result_is_ok(i32 %2460)
  br i1 %2461, label %2484, label %2462

2462:                                             ; preds = %2458
  %2463 = load i32, ptr %288, align 4, !tbaa !5
  %2464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2465 = call i32 @s2n_print_stacktrace(ptr noundef %2464) #12
  %2466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2467 = trunc nuw i8 %2466 to i1
  br i1 %2467, label %2468, label %2472

2468:                                             ; preds = %2462
  %2469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2470 = call i32 @fileno(ptr noundef %2469) #12
  %2471 = call i32 @isatty(i32 noundef %2470) #12
  %.not1379 = icmp eq i32 %2471, 0
  br i1 %.not1379, label %2472, label %2473

2472:                                             ; preds = %2468, %2462
  br label %2473

2473:                                             ; preds = %2468, %2472
  %.str.81.sink2682 = phi ptr [ @.str.81, %2472 ], [ @.str.78, %2468 ]
  store i32 %2463, ptr %288, align 4, !tbaa !5
  %2474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2475 = load i32, ptr @test_count, align 4, !tbaa !5
  %2476 = load i32, ptr %234, align 4, !tbaa !5
  %2477 = call ptr @s2n_strerror(i32 noundef %2476, ptr noundef nonnull @.str.80) #12
  %2478 = load i32, ptr %234, align 4, !tbaa !5
  %2479 = call ptr @s2n_strerror_debug(i32 noundef %2478, ptr noundef nonnull @.str.80) #12
  %2480 = load i32, ptr %288, align 4, !tbaa !5
  %2481 = call ptr @strerror(i32 noundef %2480) #12
  %2482 = load i32, ptr %288, align 4, !tbaa !5
  %2483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2474, ptr noundef nonnull %.str.81.sink2682, i32 noundef %2475, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.77, i32 noundef 187, ptr noundef %2477, ptr noundef %2479, ptr noundef %2481, i32 noundef %2482) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2484:                                             ; preds = %2458
  %2485 = load i32, ptr @test_count, align 4, !tbaa !5
  %2486 = add nsw i32 %2485, 1
  store i32 %2486, ptr @test_count, align 4, !tbaa !5
  %2487 = load ptr, ptr %2322, align 8, !tbaa !25
  %2488 = icmp eq ptr %2487, null
  br i1 %2488, label %2511, label %2489

2489:                                             ; preds = %2484
  %2490 = load i32, ptr %288, align 4, !tbaa !5
  %2491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2492 = call i32 @s2n_print_stacktrace(ptr noundef %2491) #12
  %2493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2494 = trunc nuw i8 %2493 to i1
  br i1 %2494, label %2495, label %2499

2495:                                             ; preds = %2489
  %2496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2497 = call i32 @fileno(ptr noundef %2496) #12
  %2498 = call i32 @isatty(i32 noundef %2497) #12
  %.not1380 = icmp eq i32 %2498, 0
  br i1 %.not1380, label %2499, label %2500

2499:                                             ; preds = %2495, %2489
  br label %2500

2500:                                             ; preds = %2495, %2499
  %.str.81.sink2691 = phi ptr [ @.str.81, %2499 ], [ @.str.78, %2495 ]
  store i32 %2490, ptr %288, align 4, !tbaa !5
  %2501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2502 = load i32, ptr @test_count, align 4, !tbaa !5
  %2503 = load i32, ptr %234, align 4, !tbaa !5
  %2504 = call ptr @s2n_strerror(i32 noundef %2503, ptr noundef nonnull @.str.80) #12
  %2505 = load i32, ptr %234, align 4, !tbaa !5
  %2506 = call ptr @s2n_strerror_debug(i32 noundef %2505, ptr noundef nonnull @.str.80) #12
  %2507 = load i32, ptr %288, align 4, !tbaa !5
  %2508 = call ptr @strerror(i32 noundef %2507) #12
  %2509 = load i32, ptr %288, align 4, !tbaa !5
  %2510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2501, ptr noundef nonnull %.str.81.sink2691, i32 noundef %2502, ptr noundef nonnull @.str.149, ptr noundef nonnull @.str.77, i32 noundef 188, ptr noundef %2504, ptr noundef %2506, ptr noundef %2508, i32 noundef %2509) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2511:                                             ; preds = %2484
  %2512 = add nsw i32 %2485, 2
  store i32 %2512, ptr @test_count, align 4, !tbaa !5
  %2513 = load i32, ptr %2323, align 8, !tbaa !24
  %2514 = icmp eq i32 %2513, 0
  br i1 %2514, label %2537, label %2515

2515:                                             ; preds = %2511
  %2516 = load i32, ptr %288, align 4, !tbaa !5
  %2517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2518 = call i32 @s2n_print_stacktrace(ptr noundef %2517) #12
  %2519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2520 = trunc nuw i8 %2519 to i1
  br i1 %2520, label %2521, label %2525

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

2525:                                             ; preds = %2521, %2515
  br label %2526

2526:                                             ; preds = %2521, %2525
  %.str.81.sink2700 = phi ptr [ @.str.81, %2525 ], [ @.str.78, %2521 ]
  store i32 %2516, ptr %288, align 4, !tbaa !5
  %2527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2528 = load i32, ptr @test_count, align 4, !tbaa !5
  %2529 = load i32, ptr %234, align 4, !tbaa !5
  %2530 = call ptr @s2n_strerror(i32 noundef %2529, ptr noundef nonnull @.str.80) #12
  %2531 = load i32, ptr %234, align 4, !tbaa !5
  %2532 = call ptr @s2n_strerror_debug(i32 noundef %2531, ptr noundef nonnull @.str.80) #12
  %2533 = load i32, ptr %288, align 4, !tbaa !5
  %2534 = call ptr @strerror(i32 noundef %2533) #12
  %2535 = load i32, ptr %288, align 4, !tbaa !5
  %2536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2527, ptr noundef nonnull %.str.81.sink2700, i32 noundef %2528, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.77, i32 noundef 189, ptr noundef %2530, ptr noundef %2532, ptr noundef %2534, i32 noundef %2535) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2537:                                             ; preds = %2511
  %2538 = add nsw i32 %2485, 3
  store i32 %2538, ptr @test_count, align 4, !tbaa !5
  %2539 = load ptr, ptr %2377, align 8, !tbaa !28
  %2540 = icmp eq ptr %2539, null
  br i1 %2540, label %2563, label %2541

2541:                                             ; preds = %2537
  %2542 = load i32, ptr %288, align 4, !tbaa !5
  %2543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2544 = call i32 @s2n_print_stacktrace(ptr noundef %2543) #12
  %2545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2546 = trunc nuw i8 %2545 to i1
  br i1 %2546, label %2547, label %2551

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

2551:                                             ; preds = %2547, %2541
  br label %2552

2552:                                             ; preds = %2547, %2551
  %.str.81.sink2709 = phi ptr [ @.str.81, %2551 ], [ @.str.78, %2547 ]
  store i32 %2542, ptr %288, align 4, !tbaa !5
  %2553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2554 = load i32, ptr @test_count, align 4, !tbaa !5
  %2555 = load i32, ptr %234, align 4, !tbaa !5
  %2556 = call ptr @s2n_strerror(i32 noundef %2555, ptr noundef nonnull @.str.80) #12
  %2557 = load i32, ptr %234, align 4, !tbaa !5
  %2558 = call ptr @s2n_strerror_debug(i32 noundef %2557, ptr noundef nonnull @.str.80) #12
  %2559 = load i32, ptr %288, align 4, !tbaa !5
  %2560 = call ptr @strerror(i32 noundef %2559) #12
  %2561 = load i32, ptr %288, align 4, !tbaa !5
  %2562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2553, ptr noundef nonnull %.str.81.sink2709, i32 noundef %2554, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.77, i32 noundef 190, ptr noundef %2556, ptr noundef %2558, ptr noundef %2560, i32 noundef %2561) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2563:                                             ; preds = %2537
  %2564 = add nsw i32 %2485, 4
  store i32 %2564, ptr @test_count, align 4, !tbaa !5
  %2565 = load i32, ptr %2378, align 8, !tbaa !27
  %2566 = icmp eq i32 %2565, 0
  br i1 %2566, label %2589, label %2567

2567:                                             ; preds = %2563
  %2568 = load i32, ptr %288, align 4, !tbaa !5
  %2569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2570 = call i32 @s2n_print_stacktrace(ptr noundef %2569) #12
  %2571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2572 = trunc nuw i8 %2571 to i1
  br i1 %2572, label %2573, label %2577

2573:                                             ; preds = %2567
  %2574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2575 = call i32 @fileno(ptr noundef %2574) #12
  %2576 = call i32 @isatty(i32 noundef %2575) #12
  %.not1383 = icmp eq i32 %2576, 0
  br i1 %.not1383, label %2577, label %2578

2577:                                             ; preds = %2573, %2567
  br label %2578

2578:                                             ; preds = %2573, %2577
  %.str.81.sink2718 = phi ptr [ @.str.81, %2577 ], [ @.str.78, %2573 ]
  store i32 %2568, ptr %288, align 4, !tbaa !5
  %2579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2580 = load i32, ptr @test_count, align 4, !tbaa !5
  %2581 = load i32, ptr %234, align 4, !tbaa !5
  %2582 = call ptr @s2n_strerror(i32 noundef %2581, ptr noundef nonnull @.str.80) #12
  %2583 = load i32, ptr %234, align 4, !tbaa !5
  %2584 = call ptr @s2n_strerror_debug(i32 noundef %2583, ptr noundef nonnull @.str.80) #12
  %2585 = load i32, ptr %288, align 4, !tbaa !5
  %2586 = call ptr @strerror(i32 noundef %2585) #12
  %2587 = load i32, ptr %288, align 4, !tbaa !5
  %2588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2579, ptr noundef nonnull %.str.81.sink2718, i32 noundef %2580, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.77, i32 noundef 191, ptr noundef %2582, ptr noundef %2584, ptr noundef %2586, i32 noundef %2587) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2589:                                             ; preds = %2563
  %2590 = add nsw i32 %2485, 5
  store i32 %2590, ptr @test_count, align 4, !tbaa !5
  %2591 = load ptr, ptr %2405, align 8, !tbaa !30
  %2592 = icmp eq ptr %2591, null
  br i1 %2592, label %2615, label %2593

2593:                                             ; preds = %2589
  %2594 = load i32, ptr %288, 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
  %.not1384 = icmp eq i32 %2602, 0
  br i1 %.not1384, label %2603, label %2604

2603:                                             ; preds = %2599, %2593
  br label %2604

2604:                                             ; preds = %2599, %2603
  %.str.81.sink2727 = phi ptr [ @.str.81, %2603 ], [ @.str.78, %2599 ]
  store i32 %2594, ptr %288, 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 %234, align 4, !tbaa !5
  %2608 = call ptr @s2n_strerror(i32 noundef %2607, ptr noundef nonnull @.str.80) #12
  %2609 = load i32, ptr %234, align 4, !tbaa !5
  %2610 = call ptr @s2n_strerror_debug(i32 noundef %2609, ptr noundef nonnull @.str.80) #12
  %2611 = load i32, ptr %288, align 4, !tbaa !5
  %2612 = call ptr @strerror(i32 noundef %2611) #12
  %2613 = load i32, ptr %288, align 4, !tbaa !5
  %2614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2605, ptr noundef nonnull %.str.81.sink2727, i32 noundef %2606, ptr noundef nonnull @.str.153, ptr noundef nonnull @.str.77, i32 noundef 192, ptr noundef %2608, ptr noundef %2610, ptr noundef %2612, i32 noundef %2613) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2615:                                             ; preds = %2589
  %2616 = add nsw i32 %2485, 6
  store i32 %2616, ptr @test_count, align 4, !tbaa !5
  %2617 = load i32, ptr %2433, align 8, !tbaa !29
  %2618 = icmp eq i32 %2617, 0
  br i1 %2618, label %2641, label %2619

2619:                                             ; preds = %2615
  %2620 = load i32, ptr %288, align 4, !tbaa !5
  %2621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2622 = call i32 @s2n_print_stacktrace(ptr noundef %2621) #12
  %2623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2624 = trunc nuw i8 %2623 to i1
  br i1 %2624, label %2625, label %2629

2625:                                             ; preds = %2619
  %2626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2627 = call i32 @fileno(ptr noundef %2626) #12
  %2628 = call i32 @isatty(i32 noundef %2627) #12
  %.not1385 = icmp eq i32 %2628, 0
  br i1 %.not1385, label %2629, label %2630

2629:                                             ; preds = %2625, %2619
  br label %2630

2630:                                             ; preds = %2625, %2629
  %.str.81.sink2736 = phi ptr [ @.str.81, %2629 ], [ @.str.78, %2625 ]
  store i32 %2620, ptr %288, align 4, !tbaa !5
  %2631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2632 = load i32, ptr @test_count, align 4, !tbaa !5
  %2633 = load i32, ptr %234, align 4, !tbaa !5
  %2634 = call ptr @s2n_strerror(i32 noundef %2633, ptr noundef nonnull @.str.80) #12
  %2635 = load i32, ptr %234, align 4, !tbaa !5
  %2636 = call ptr @s2n_strerror_debug(i32 noundef %2635, ptr noundef nonnull @.str.80) #12
  %2637 = load i32, ptr %288, align 4, !tbaa !5
  %2638 = call ptr @strerror(i32 noundef %2637) #12
  %2639 = load i32, ptr %288, align 4, !tbaa !5
  %2640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2631, ptr noundef nonnull %.str.81.sink2736, i32 noundef %2632, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.77, i32 noundef 193, ptr noundef %2634, ptr noundef %2636, ptr noundef %2638, i32 noundef %2639) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2641:                                             ; preds = %2615
  %2642 = add nsw i32 %2485, 7
  store i32 %2642, ptr @test_count, align 4, !tbaa !5
  %2643 = call i32 @s2n_psk_wipe(ptr noundef nonnull %19)
  %2644 = call zeroext i1 @s2n_result_is_ok(i32 %2643)
  br i1 %2644, label %2667, label %2645

2645:                                             ; preds = %2641
  %2646 = load i32, ptr %288, align 4, !tbaa !5
  %2647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2648 = call i32 @s2n_print_stacktrace(ptr noundef %2647) #12
  %2649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2650 = trunc nuw i8 %2649 to i1
  br i1 %2650, label %2651, label %2655

2651:                                             ; preds = %2645
  %2652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2653 = call i32 @fileno(ptr noundef %2652) #12
  %2654 = call i32 @isatty(i32 noundef %2653) #12
  %.not1386 = icmp eq i32 %2654, 0
  br i1 %.not1386, label %2655, label %2656

2655:                                             ; preds = %2651, %2645
  br label %2656

2656:                                             ; preds = %2651, %2655
  %.str.81.sink2745 = phi ptr [ @.str.81, %2655 ], [ @.str.78, %2651 ]
  store i32 %2646, ptr %288, align 4, !tbaa !5
  %2657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2658 = load i32, ptr @test_count, align 4, !tbaa !5
  %2659 = load i32, ptr %234, align 4, !tbaa !5
  %2660 = call ptr @s2n_strerror(i32 noundef %2659, ptr noundef nonnull @.str.80) #12
  %2661 = load i32, ptr %234, align 4, !tbaa !5
  %2662 = call ptr @s2n_strerror_debug(i32 noundef %2661, ptr noundef nonnull @.str.80) #12
  %2663 = load i32, ptr %288, align 4, !tbaa !5
  %2664 = call ptr @strerror(i32 noundef %2663) #12
  %2665 = load i32, ptr %288, align 4, !tbaa !5
  %2666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2657, ptr noundef nonnull %.str.81.sink2745, i32 noundef %2658, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.77, i32 noundef 196, ptr noundef %2660, ptr noundef %2662, ptr noundef %2664, i32 noundef %2665) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2667:                                             ; preds = %2641
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 11, ptr nonnull %18) #12
  %2668 = load i32, ptr @test_count, align 4, !tbaa !5
  %2669 = add nsw i32 %2668, 1
  store i32 %2669, ptr @test_count, align 4, !tbaa !5
  %2670 = call i32 @s2n_psk_free(ptr noundef null)
  %2671 = icmp eq i32 %2670, -1
  br i1 %2671, label %2672, label %2694

2672:                                             ; preds = %2667
  %2673 = load i32, ptr %288, align 4, !tbaa !5
  %2674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2675 = call i32 @s2n_print_stacktrace(ptr noundef %2674) #12
  %2676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2677 = trunc nuw i8 %2676 to i1
  br i1 %2677, label %2678, label %2682

2678:                                             ; preds = %2672
  %2679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2680 = call i32 @fileno(ptr noundef %2679) #12
  %2681 = call i32 @isatty(i32 noundef %2680) #12
  %.not1818 = icmp eq i32 %2681, 0
  br i1 %.not1818, label %2682, label %2683

2682:                                             ; preds = %2678, %2672
  br label %2683

2683:                                             ; preds = %2678, %2682
  %.str.81.sink2754 = phi ptr [ @.str.81, %2682 ], [ @.str.78, %2678 ]
  store i32 %2673, ptr %288, align 4, !tbaa !5
  %2684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2685 = load i32, ptr @test_count, align 4, !tbaa !5
  %2686 = load i32, ptr %234, align 4, !tbaa !5
  %2687 = call ptr @s2n_strerror(i32 noundef %2686, ptr noundef nonnull @.str.80) #12
  %2688 = load i32, ptr %234, align 4, !tbaa !5
  %2689 = call ptr @s2n_strerror_debug(i32 noundef %2688, ptr noundef nonnull @.str.80) #12
  %2690 = load i32, ptr %288, align 4, !tbaa !5
  %2691 = call ptr @strerror(i32 noundef %2690) #12
  %2692 = load i32, ptr %288, align 4, !tbaa !5
  %2693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2684, ptr noundef nonnull %.str.81.sink2754, i32 noundef %2685, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.77, i32 noundef 201, ptr noundef %2687, ptr noundef %2689, ptr noundef %2691, i32 noundef %2692) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2694:                                             ; preds = %2667
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #12
  %2695 = call ptr @s2n_external_psk_new()
  store ptr %2695, ptr %20, align 8, !tbaa !9
  %2696 = load i32, ptr @test_count, align 4, !tbaa !5
  %2697 = add nsw i32 %2696, 1
  store i32 %2697, ptr @test_count, align 4, !tbaa !5
  %2698 = icmp eq ptr %2695, null
  br i1 %2698, label %2699, label %2721

2699:                                             ; preds = %2694
  %2700 = load i32, ptr %288, align 4, !tbaa !5
  %2701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2702 = call i32 @s2n_print_stacktrace(ptr noundef %2701) #12
  %2703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2704 = trunc nuw i8 %2703 to i1
  br i1 %2704, label %2705, label %2709

2705:                                             ; preds = %2699
  %2706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2707 = call i32 @fileno(ptr noundef %2706) #12
  %2708 = call i32 @isatty(i32 noundef %2707) #12
  %.not1817 = icmp eq i32 %2708, 0
  br i1 %.not1817, label %2709, label %2710

2709:                                             ; preds = %2705, %2699
  br label %2710

2710:                                             ; preds = %2705, %2709
  %.str.81.sink2763 = phi ptr [ @.str.81, %2709 ], [ @.str.78, %2705 ]
  store i32 %2700, ptr %288, align 4, !tbaa !5
  %2711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2712 = load i32, ptr @test_count, align 4, !tbaa !5
  %2713 = load i32, ptr %234, align 4, !tbaa !5
  %2714 = call ptr @s2n_strerror(i32 noundef %2713, ptr noundef nonnull @.str.80) #12
  %2715 = load i32, ptr %234, align 4, !tbaa !5
  %2716 = call ptr @s2n_strerror_debug(i32 noundef %2715, ptr noundef nonnull @.str.80) #12
  %2717 = load i32, ptr %288, align 4, !tbaa !5
  %2718 = call ptr @strerror(i32 noundef %2717) #12
  %2719 = load i32, ptr %288, align 4, !tbaa !5
  %2720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2711, ptr noundef nonnull %.str.81.sink2763, i32 noundef %2712, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.77, i32 noundef 204, ptr noundef %2714, ptr noundef %2716, ptr noundef %2718, i32 noundef %2719) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2721:                                             ; preds = %2694
  %2722 = add nsw i32 %2696, 2
  store i32 %2722, ptr @test_count, align 4, !tbaa !5
  %2723 = call i32 @s2n_psk_free(ptr noundef nonnull %20)
  %2724 = icmp eq i32 %2723, -1
  br i1 %2724, label %2725, label %2747

2725:                                             ; preds = %2721
  %2726 = load i32, ptr %288, align 4, !tbaa !5
  %2727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2728 = call i32 @s2n_print_stacktrace(ptr noundef %2727) #12
  %2729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2730 = trunc nuw i8 %2729 to i1
  br i1 %2730, label %2731, label %2735

2731:                                             ; preds = %2725
  %2732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2733 = call i32 @fileno(ptr noundef %2732) #12
  %2734 = call i32 @isatty(i32 noundef %2733) #12
  %.not1816 = icmp eq i32 %2734, 0
  br i1 %.not1816, label %2735, label %2736

2735:                                             ; preds = %2731, %2725
  br label %2736

2736:                                             ; preds = %2731, %2735
  %.str.81.sink2772 = phi ptr [ @.str.81, %2735 ], [ @.str.78, %2731 ]
  store i32 %2726, ptr %288, align 4, !tbaa !5
  %2737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2738 = load i32, ptr @test_count, align 4, !tbaa !5
  %2739 = load i32, ptr %234, align 4, !tbaa !5
  %2740 = call ptr @s2n_strerror(i32 noundef %2739, ptr noundef nonnull @.str.80) #12
  %2741 = load i32, ptr %234, align 4, !tbaa !5
  %2742 = call ptr @s2n_strerror_debug(i32 noundef %2741, ptr noundef nonnull @.str.80) #12
  %2743 = load i32, ptr %288, align 4, !tbaa !5
  %2744 = call ptr @strerror(i32 noundef %2743) #12
  %2745 = load i32, ptr %288, align 4, !tbaa !5
  %2746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2737, ptr noundef nonnull %.str.81.sink2772, i32 noundef %2738, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.77, i32 noundef 205, ptr noundef %2740, ptr noundef %2742, ptr noundef %2744, i32 noundef %2745) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2747:                                             ; preds = %2721
  %2748 = load i32, ptr @test_count, align 4, !tbaa !5
  %2749 = add nsw i32 %2748, 1
  store i32 %2749, ptr @test_count, align 4, !tbaa !5
  %2750 = load ptr, ptr %20, align 8, !tbaa !9
  %2751 = icmp eq ptr %2750, null
  br i1 %2751, label %2774, label %2752

2752:                                             ; preds = %2747
  %2753 = load i32, ptr %288, align 4, !tbaa !5
  %2754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2755 = call i32 @s2n_print_stacktrace(ptr noundef %2754) #12
  %2756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2757 = trunc nuw i8 %2756 to i1
  br i1 %2757, label %2758, label %2762

2758:                                             ; preds = %2752
  %2759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2760 = call i32 @fileno(ptr noundef %2759) #12
  %2761 = call i32 @isatty(i32 noundef %2760) #12
  %.not1387 = icmp eq i32 %2761, 0
  br i1 %.not1387, label %2762, label %2763

2762:                                             ; preds = %2758, %2752
  br label %2763

2763:                                             ; preds = %2758, %2762
  %.str.81.sink2781 = phi ptr [ @.str.81, %2762 ], [ @.str.78, %2758 ]
  store i32 %2753, ptr %288, align 4, !tbaa !5
  %2764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2765 = load i32, ptr @test_count, align 4, !tbaa !5
  %2766 = load i32, ptr %234, align 4, !tbaa !5
  %2767 = call ptr @s2n_strerror(i32 noundef %2766, ptr noundef nonnull @.str.80) #12
  %2768 = load i32, ptr %234, align 4, !tbaa !5
  %2769 = call ptr @s2n_strerror_debug(i32 noundef %2768, ptr noundef nonnull @.str.80) #12
  %2770 = load i32, ptr %288, align 4, !tbaa !5
  %2771 = call ptr @strerror(i32 noundef %2770) #12
  %2772 = load i32, ptr %288, align 4, !tbaa !5
  %2773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2764, ptr noundef nonnull %.str.81.sink2781, i32 noundef %2765, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.77, i32 noundef 206, ptr noundef %2767, ptr noundef %2769, ptr noundef %2771, i32 noundef %2772) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2774:                                             ; preds = %2747
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #12
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %21) #12
  %2775 = add nsw i32 %2748, 2
  store i32 %2775, ptr @test_count, align 4, !tbaa !5
  %2776 = call i32 @s2n_psk_parameters_init(ptr noundef null)
  %2777 = call zeroext i1 @s2n_result_is_error(i32 %2776)
  br i1 %2777, label %2800, label %2778

2778:                                             ; preds = %2774
  %2779 = load i32, ptr %288, align 4, !tbaa !5
  %2780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2781 = call i32 @s2n_print_stacktrace(ptr noundef %2780) #12
  %2782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2783 = trunc nuw i8 %2782 to i1
  br i1 %2783, label %2784, label %2788

2784:                                             ; preds = %2778
  %2785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2786 = call i32 @fileno(ptr noundef %2785) #12
  %2787 = call i32 @isatty(i32 noundef %2786) #12
  %.not1388 = icmp eq i32 %2787, 0
  br i1 %.not1388, label %2788, label %2789

2788:                                             ; preds = %2784, %2778
  br label %2789

2789:                                             ; preds = %2784, %2788
  %.str.81.sink2790 = phi ptr [ @.str.81, %2788 ], [ @.str.78, %2784 ]
  store i32 %2779, ptr %288, align 4, !tbaa !5
  %2790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2791 = load i32, ptr @test_count, align 4, !tbaa !5
  %2792 = load i32, ptr %234, align 4, !tbaa !5
  %2793 = call ptr @s2n_strerror(i32 noundef %2792, ptr noundef nonnull @.str.80) #12
  %2794 = load i32, ptr %234, align 4, !tbaa !5
  %2795 = call ptr @s2n_strerror_debug(i32 noundef %2794, ptr noundef nonnull @.str.80) #12
  %2796 = load i32, ptr %288, align 4, !tbaa !5
  %2797 = call ptr @strerror(i32 noundef %2796) #12
  %2798 = load i32, ptr %288, align 4, !tbaa !5
  %2799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2790, ptr noundef nonnull %.str.81.sink2790, i32 noundef %2791, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.77, i32 noundef 213, ptr noundef %2793, ptr noundef %2795, ptr noundef %2797, i32 noundef %2798) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2800:                                             ; preds = %2774
  %2801 = load i32, ptr @test_count, align 4, !tbaa !5
  %2802 = add nsw i32 %2801, 1
  store i32 %2802, ptr @test_count, align 4, !tbaa !5
  %2803 = load i32, ptr %234, align 4, !tbaa !5
  %2804 = icmp eq i32 %2803, 402653193
  br i1 %2804, label %2827, label %2805

2805:                                             ; preds = %2800
  %2806 = load i32, ptr %288, align 4, !tbaa !5
  %2807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2808 = call i32 @s2n_print_stacktrace(ptr noundef %2807) #12
  %2809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2810 = trunc nuw i8 %2809 to i1
  br i1 %2810, label %2811, label %2815

2811:                                             ; preds = %2805
  %2812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2813 = call i32 @fileno(ptr noundef %2812) #12
  %2814 = call i32 @isatty(i32 noundef %2813) #12
  %.not1389 = icmp eq i32 %2814, 0
  br i1 %.not1389, label %2815, label %2816

2815:                                             ; preds = %2811, %2805
  br label %2816

2816:                                             ; preds = %2811, %2815
  %.str.81.sink2799 = phi ptr [ @.str.81, %2815 ], [ @.str.78, %2811 ]
  store i32 %2806, ptr %288, align 4, !tbaa !5
  %2817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2818 = load i32, ptr @test_count, align 4, !tbaa !5
  %2819 = load i32, ptr %234, align 4, !tbaa !5
  %2820 = call ptr @s2n_strerror(i32 noundef %2819, ptr noundef nonnull @.str.80) #12
  %2821 = load i32, ptr %234, align 4, !tbaa !5
  %2822 = call ptr @s2n_strerror_debug(i32 noundef %2821, ptr noundef nonnull @.str.80) #12
  %2823 = load i32, ptr %288, align 4, !tbaa !5
  %2824 = call ptr @strerror(i32 noundef %2823) #12
  %2825 = load i32, ptr %288, align 4, !tbaa !5
  %2826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2817, ptr noundef nonnull %.str.81.sink2799, i32 noundef %2818, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 213, ptr noundef %2820, ptr noundef %2822, ptr noundef %2824, i32 noundef %2825) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2827:                                             ; preds = %2800
  %2828 = add nsw i32 %2801, 2
  store i32 %2828, ptr @test_count, align 4, !tbaa !5
  %2829 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %2830 = icmp eq ptr %2829, null
  br i1 %2830, label %2831, label %2853

2831:                                             ; preds = %2827
  %2832 = load i32, ptr %288, align 4, !tbaa !5
  %2833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2834 = call i32 @s2n_print_stacktrace(ptr noundef %2833) #12
  %2835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2836 = trunc nuw i8 %2835 to i1
  br i1 %2836, label %2837, label %2841

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

2841:                                             ; preds = %2837, %2831
  br label %2842

2842:                                             ; preds = %2837, %2841
  %.str.81.sink2808 = phi ptr [ @.str.81, %2841 ], [ @.str.78, %2837 ]
  store i32 %2832, ptr %288, align 4, !tbaa !5
  %2843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2844 = load i32, ptr @test_count, align 4, !tbaa !5
  %2845 = load i32, ptr %234, align 4, !tbaa !5
  %2846 = call ptr @s2n_strerror(i32 noundef %2845, ptr noundef nonnull @.str.80) #12
  %2847 = load i32, ptr %234, align 4, !tbaa !5
  %2848 = call ptr @s2n_strerror_debug(i32 noundef %2847, ptr noundef nonnull @.str.80) #12
  %2849 = load i32, ptr %288, align 4, !tbaa !5
  %2850 = call ptr @strerror(i32 noundef %2849) #12
  %2851 = load i32, ptr %288, align 4, !tbaa !5
  %2852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2843, ptr noundef nonnull %.str.81.sink2808, i32 noundef %2844, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 213, ptr noundef %2846, ptr noundef %2848, ptr noundef %2850, i32 noundef %2851) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2853:                                             ; preds = %2827
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %2854 = load i32, ptr @test_count, align 4, !tbaa !5
  %2855 = add nsw i32 %2854, 1
  store i32 %2855, ptr @test_count, align 4, !tbaa !5
  %2856 = call i32 @s2n_psk_parameters_init(ptr noundef nonnull %21)
  %2857 = call zeroext i1 @s2n_result_is_ok(i32 %2856)
  br i1 %2857, label %2880, label %2858

2858:                                             ; preds = %2853
  %2859 = load i32, ptr %288, align 4, !tbaa !5
  %2860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2861 = call i32 @s2n_print_stacktrace(ptr noundef %2860) #12
  %2862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2863 = trunc nuw i8 %2862 to i1
  br i1 %2863, label %2864, label %2868

2864:                                             ; preds = %2858
  %2865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2866 = call i32 @fileno(ptr noundef %2865) #12
  %2867 = call i32 @isatty(i32 noundef %2866) #12
  %.not1390 = icmp eq i32 %2867, 0
  br i1 %.not1390, label %2868, label %2869

2868:                                             ; preds = %2864, %2858
  br label %2869

2869:                                             ; preds = %2864, %2868
  %.str.81.sink2817 = phi ptr [ @.str.81, %2868 ], [ @.str.78, %2864 ]
  store i32 %2859, ptr %288, align 4, !tbaa !5
  %2870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2871 = load i32, ptr @test_count, align 4, !tbaa !5
  %2872 = load i32, ptr %234, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror(i32 noundef %2872, ptr noundef nonnull @.str.80) #12
  %2874 = load i32, ptr %234, align 4, !tbaa !5
  %2875 = call ptr @s2n_strerror_debug(i32 noundef %2874, ptr noundef nonnull @.str.80) #12
  %2876 = load i32, ptr %288, align 4, !tbaa !5
  %2877 = call ptr @strerror(i32 noundef %2876) #12
  %2878 = load i32, ptr %288, align 4, !tbaa !5
  %2879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2870, ptr noundef nonnull %.str.81.sink2817, i32 noundef %2871, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.77, i32 noundef 215, ptr noundef %2873, ptr noundef %2875, ptr noundef %2877, i32 noundef %2878) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2880:                                             ; preds = %2853
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %22) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %22, i8 0, i64 64, i1 false)
  %2881 = getelementptr inbounds i8, ptr %22, i64 36
  store i32 168, ptr %2881, align 4, !tbaa !31
  %2882 = load i32, ptr @test_count, align 4, !tbaa !5
  %2883 = add nsw i32 %2882, 1
  store i32 %2883, ptr @test_count, align 4, !tbaa !5
  %bcmp1391 = call i32 @bcmp(ptr noundef nonnull dereferenceable(64) %22, ptr noundef nonnull dereferenceable(64) %21, i64 64)
  %2884 = icmp eq i32 %bcmp1391, 0
  br i1 %2884, label %2907, label %2885

2885:                                             ; preds = %2880
  %2886 = load i32, ptr %288, align 4, !tbaa !5
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = call i32 @s2n_print_stacktrace(ptr noundef %2887) #12
  %2889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2890 = trunc nuw i8 %2889 to i1
  br i1 %2890, label %2891, label %2895

2891:                                             ; preds = %2885
  %2892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2893 = call i32 @fileno(ptr noundef %2892) #12
  %2894 = call i32 @isatty(i32 noundef %2893) #12
  %.not1392 = icmp eq i32 %2894, 0
  br i1 %.not1392, label %2895, label %2896

2895:                                             ; preds = %2891, %2885
  br label %2896

2896:                                             ; preds = %2891, %2895
  %.str.81.sink2826 = phi ptr [ @.str.81, %2895 ], [ @.str.78, %2891 ]
  store i32 %2886, ptr %288, align 4, !tbaa !5
  %2897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2898 = load i32, ptr @test_count, align 4, !tbaa !5
  %2899 = load i32, ptr %234, align 4, !tbaa !5
  %2900 = call ptr @s2n_strerror(i32 noundef %2899, ptr noundef nonnull @.str.80) #12
  %2901 = load i32, ptr %234, align 4, !tbaa !5
  %2902 = call ptr @s2n_strerror_debug(i32 noundef %2901, ptr noundef nonnull @.str.80) #12
  %2903 = load i32, ptr %288, align 4, !tbaa !5
  %2904 = call ptr @strerror(i32 noundef %2903) #12
  %2905 = load i32, ptr %288, align 4, !tbaa !5
  %2906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2897, ptr noundef nonnull %.str.81.sink2826, i32 noundef %2898, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.77, i32 noundef 221, ptr noundef %2900, ptr noundef %2902, ptr noundef %2904, i32 noundef %2905) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2907:                                             ; preds = %2880
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %22) #12
  %2908 = call i32 @s2n_psk_parameters_wipe(ptr noundef nonnull %21)
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %21) #12
  call void @llvm.lifetime.start.p0(i64 11, ptr nonnull %23) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %23, ptr noundef nonnull align 1 dereferenceable(11) @__const.main.test_value.161, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %24) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %24, i8 0, i64 64, i1 false)
  %2909 = load i32, ptr @test_count, align 4, !tbaa !5
  %2910 = add nsw i32 %2909, 1
  store i32 %2910, ptr @test_count, align 4, !tbaa !5
  %2911 = call i32 @s2n_psk_parameters_init(ptr noundef nonnull %24)
  %2912 = call zeroext i1 @s2n_result_is_ok(i32 %2911)
  br i1 %2912, label %2935, label %2913

2913:                                             ; preds = %2907
  %2914 = load i32, ptr %288, align 4, !tbaa !5
  %2915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2916 = call i32 @s2n_print_stacktrace(ptr noundef %2915) #12
  %2917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2918 = trunc nuw i8 %2917 to i1
  br i1 %2918, label %2919, label %2923

2919:                                             ; preds = %2913
  %2920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2921 = call i32 @fileno(ptr noundef %2920) #12
  %2922 = call i32 @isatty(i32 noundef %2921) #12
  %.not1393 = icmp eq i32 %2922, 0
  br i1 %.not1393, label %2923, label %2924

2923:                                             ; preds = %2919, %2913
  br label %2924

2924:                                             ; preds = %2919, %2923
  %.str.81.sink2835 = phi ptr [ @.str.81, %2923 ], [ @.str.78, %2919 ]
  store i32 %2914, ptr %288, align 4, !tbaa !5
  %2925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2926 = load i32, ptr @test_count, align 4, !tbaa !5
  %2927 = load i32, ptr %234, align 4, !tbaa !5
  %2928 = call ptr @s2n_strerror(i32 noundef %2927, ptr noundef nonnull @.str.80) #12
  %2929 = load i32, ptr %234, align 4, !tbaa !5
  %2930 = call ptr @s2n_strerror_debug(i32 noundef %2929, ptr noundef nonnull @.str.80) #12
  %2931 = load i32, ptr %288, align 4, !tbaa !5
  %2932 = call ptr @strerror(i32 noundef %2931) #12
  %2933 = load i32, ptr %288, align 4, !tbaa !5
  %2934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2925, ptr noundef nonnull %.str.81.sink2835, i32 noundef %2926, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.77, i32 noundef 229, ptr noundef %2928, ptr noundef %2930, ptr noundef %2932, i32 noundef %2933) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2935:                                             ; preds = %2907
  %2936 = getelementptr inbounds i8, ptr %24, i64 40
  store i16 1, ptr %2936, align 8, !tbaa !35
  %2937 = getelementptr inbounds i8, ptr %24, i64 42
  store i16 1, ptr %2937, align 2, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #12
  store ptr null, ptr %25, align 8, !tbaa !9
  %2938 = load i32, ptr @test_count, align 4, !tbaa !5
  %2939 = add nsw i32 %2938, 1
  store i32 %2939, ptr @test_count, align 4, !tbaa !5
  %2940 = getelementptr inbounds i8, ptr %24, i64 8
  %2941 = call i32 @s2n_array_pushback(ptr noundef nonnull %2940, ptr noundef nonnull %25) #12
  %2942 = call zeroext i1 @s2n_result_is_ok(i32 %2941)
  br i1 %2942, label %2965, label %2943

2943:                                             ; preds = %2935
  %2944 = load i32, ptr %288, align 4, !tbaa !5
  %2945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2946 = call i32 @s2n_print_stacktrace(ptr noundef %2945) #12
  %2947 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2948 = trunc nuw i8 %2947 to i1
  br i1 %2948, label %2949, label %2953

2949:                                             ; preds = %2943
  %2950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2951 = call i32 @fileno(ptr noundef %2950) #12
  %2952 = call i32 @isatty(i32 noundef %2951) #12
  %.not1394 = icmp eq i32 %2952, 0
  br i1 %.not1394, label %2953, label %2954

2953:                                             ; preds = %2949, %2943
  br label %2954

2954:                                             ; preds = %2949, %2953
  %.str.81.sink2844 = phi ptr [ @.str.81, %2953 ], [ @.str.78, %2949 ]
  store i32 %2944, ptr %288, align 4, !tbaa !5
  %2955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2956 = load i32, ptr @test_count, align 4, !tbaa !5
  %2957 = load i32, ptr %234, align 4, !tbaa !5
  %2958 = call ptr @s2n_strerror(i32 noundef %2957, ptr noundef nonnull @.str.80) #12
  %2959 = load i32, ptr %234, align 4, !tbaa !5
  %2960 = call ptr @s2n_strerror_debug(i32 noundef %2959, ptr noundef nonnull @.str.80) #12
  %2961 = load i32, ptr %288, align 4, !tbaa !5
  %2962 = call ptr @strerror(i32 noundef %2961) #12
  %2963 = load i32, ptr %288, align 4, !tbaa !5
  %2964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2955, ptr noundef nonnull %.str.81.sink2844, i32 noundef %2956, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.77, i32 noundef 234, ptr noundef %2958, ptr noundef %2960, ptr noundef %2962, i32 noundef %2963) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2965:                                             ; preds = %2935
  %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 = load ptr, ptr %25, align 8, !tbaa !9
  %2969 = call i32 @s2n_psk_init(ptr noundef %2968, i32 noundef 1)
  %2970 = call zeroext i1 @s2n_result_is_ok(i32 %2969)
  br i1 %2970, label %2993, label %2971

2971:                                             ; preds = %2965
  %2972 = load i32, ptr %288, align 4, !tbaa !5
  %2973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2974 = call i32 @s2n_print_stacktrace(ptr noundef %2973) #12
  %2975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2976 = trunc nuw i8 %2975 to i1
  br i1 %2976, label %2977, label %2981

2977:                                             ; preds = %2971
  %2978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2979 = call i32 @fileno(ptr noundef %2978) #12
  %2980 = call i32 @isatty(i32 noundef %2979) #12
  %.not1395 = icmp eq i32 %2980, 0
  br i1 %.not1395, label %2981, label %2982

2981:                                             ; preds = %2977, %2971
  br label %2982

2982:                                             ; preds = %2977, %2981
  %.str.81.sink2853 = phi ptr [ @.str.81, %2981 ], [ @.str.78, %2977 ]
  store i32 %2972, ptr %288, align 4, !tbaa !5
  %2983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2984 = load i32, ptr @test_count, align 4, !tbaa !5
  %2985 = load i32, ptr %234, align 4, !tbaa !5
  %2986 = call ptr @s2n_strerror(i32 noundef %2985, ptr noundef nonnull @.str.80) #12
  %2987 = load i32, ptr %234, align 4, !tbaa !5
  %2988 = call ptr @s2n_strerror_debug(i32 noundef %2987, ptr noundef nonnull @.str.80) #12
  %2989 = load i32, ptr %288, align 4, !tbaa !5
  %2990 = call ptr @strerror(i32 noundef %2989) #12
  %2991 = load i32, ptr %288, align 4, !tbaa !5
  %2992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2983, ptr noundef nonnull %.str.81.sink2853, i32 noundef %2984, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.77, i32 noundef 235, ptr noundef %2986, ptr noundef %2988, ptr noundef %2990, i32 noundef %2991) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2993:                                             ; preds = %2965
  %2994 = load i32, ptr @test_count, align 4, !tbaa !5
  %2995 = add nsw i32 %2994, 1
  store i32 %2995, ptr @test_count, align 4, !tbaa !5
  %2996 = load ptr, ptr %25, align 8, !tbaa !9
  %2997 = call i32 @s2n_psk_set_identity(ptr noundef %2996, ptr noundef nonnull %23, i16 noundef zeroext 11)
  %2998 = icmp eq i32 %2997, -1
  br i1 %2998, label %2999, label %3021

2999:                                             ; preds = %2993
  %3000 = load i32, ptr %288, align 4, !tbaa !5
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = call i32 @s2n_print_stacktrace(ptr noundef %3001) #12
  %3003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3004 = trunc nuw i8 %3003 to i1
  br i1 %3004, label %3005, label %3009

3005:                                             ; preds = %2999
  %3006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3007 = call i32 @fileno(ptr noundef %3006) #12
  %3008 = call i32 @isatty(i32 noundef %3007) #12
  %.not1814 = icmp eq i32 %3008, 0
  br i1 %.not1814, label %3009, label %3010

3009:                                             ; preds = %3005, %2999
  br label %3010

3010:                                             ; preds = %3005, %3009
  %.str.81.sink2862 = phi ptr [ @.str.81, %3009 ], [ @.str.78, %3005 ]
  store i32 %3000, ptr %288, align 4, !tbaa !5
  %3011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3012 = load i32, ptr @test_count, align 4, !tbaa !5
  %3013 = load i32, ptr %234, align 4, !tbaa !5
  %3014 = call ptr @s2n_strerror(i32 noundef %3013, ptr noundef nonnull @.str.80) #12
  %3015 = load i32, ptr %234, align 4, !tbaa !5
  %3016 = call ptr @s2n_strerror_debug(i32 noundef %3015, ptr noundef nonnull @.str.80) #12
  %3017 = load i32, ptr %288, align 4, !tbaa !5
  %3018 = call ptr @strerror(i32 noundef %3017) #12
  %3019 = load i32, ptr %288, align 4, !tbaa !5
  %3020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3011, ptr noundef nonnull %.str.81.sink2862, i32 noundef %3012, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.77, i32 noundef 236, ptr noundef %3014, ptr noundef %3016, ptr noundef %3018, i32 noundef %3019) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3021:                                             ; preds = %2993
  %3022 = load ptr, ptr %25, align 8, !tbaa !9
  %3023 = getelementptr inbounds i8, ptr %24, i64 48
  store ptr %3022, ptr %3023, align 8, !tbaa !37
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #12
  store ptr null, ptr %26, align 8, !tbaa !9
  %3024 = load i32, ptr @test_count, align 4, !tbaa !5
  %3025 = add nsw i32 %3024, 1
  store i32 %3025, ptr @test_count, align 4, !tbaa !5
  %3026 = call i32 @s2n_array_pushback(ptr noundef nonnull %2940, ptr noundef nonnull %26) #12
  %3027 = call zeroext i1 @s2n_result_is_ok(i32 %3026)
  br i1 %3027, label %3050, label %3028

3028:                                             ; preds = %3021
  %3029 = load i32, ptr %288, align 4, !tbaa !5
  %3030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3031 = call i32 @s2n_print_stacktrace(ptr noundef %3030) #12
  %3032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3033 = trunc nuw i8 %3032 to i1
  br i1 %3033, label %3034, label %3038

3034:                                             ; preds = %3028
  %3035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3036 = call i32 @fileno(ptr noundef %3035) #12
  %3037 = call i32 @isatty(i32 noundef %3036) #12
  %.not1396 = icmp eq i32 %3037, 0
  br i1 %.not1396, label %3038, label %3039

3038:                                             ; preds = %3034, %3028
  br label %3039

3039:                                             ; preds = %3034, %3038
  %.str.81.sink2871 = phi ptr [ @.str.81, %3038 ], [ @.str.78, %3034 ]
  store i32 %3029, ptr %288, align 4, !tbaa !5
  %3040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3041 = load i32, ptr @test_count, align 4, !tbaa !5
  %3042 = load i32, ptr %234, align 4, !tbaa !5
  %3043 = call ptr @s2n_strerror(i32 noundef %3042, ptr noundef nonnull @.str.80) #12
  %3044 = load i32, ptr %234, align 4, !tbaa !5
  %3045 = call ptr @s2n_strerror_debug(i32 noundef %3044, ptr noundef nonnull @.str.80) #12
  %3046 = load i32, ptr %288, align 4, !tbaa !5
  %3047 = call ptr @strerror(i32 noundef %3046) #12
  %3048 = load i32, ptr %288, align 4, !tbaa !5
  %3049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3040, ptr noundef nonnull %.str.81.sink2871, i32 noundef %3041, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.77, i32 noundef 240, ptr noundef %3043, ptr noundef %3045, ptr noundef %3047, i32 noundef %3048) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3050:                                             ; preds = %3021
  %3051 = load i32, ptr @test_count, align 4, !tbaa !5
  %3052 = add nsw i32 %3051, 1
  store i32 %3052, ptr @test_count, align 4, !tbaa !5
  %3053 = load ptr, ptr %26, align 8, !tbaa !9
  %3054 = call i32 @s2n_psk_init(ptr noundef %3053, i32 noundef 1)
  %3055 = call zeroext i1 @s2n_result_is_ok(i32 %3054)
  br i1 %3055, label %3078, label %3056

3056:                                             ; preds = %3050
  %3057 = load i32, ptr %288, align 4, !tbaa !5
  %3058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3059 = call i32 @s2n_print_stacktrace(ptr noundef %3058) #12
  %3060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3061 = trunc nuw i8 %3060 to i1
  br i1 %3061, label %3062, label %3066

3062:                                             ; preds = %3056
  %3063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3064 = call i32 @fileno(ptr noundef %3063) #12
  %3065 = call i32 @isatty(i32 noundef %3064) #12
  %.not1397 = icmp eq i32 %3065, 0
  br i1 %.not1397, label %3066, label %3067

3066:                                             ; preds = %3062, %3056
  br label %3067

3067:                                             ; preds = %3062, %3066
  %.str.81.sink2880 = phi ptr [ @.str.81, %3066 ], [ @.str.78, %3062 ]
  store i32 %3057, ptr %288, align 4, !tbaa !5
  %3068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3069 = load i32, ptr @test_count, align 4, !tbaa !5
  %3070 = load i32, ptr %234, align 4, !tbaa !5
  %3071 = call ptr @s2n_strerror(i32 noundef %3070, ptr noundef nonnull @.str.80) #12
  %3072 = load i32, ptr %234, align 4, !tbaa !5
  %3073 = call ptr @s2n_strerror_debug(i32 noundef %3072, ptr noundef nonnull @.str.80) #12
  %3074 = load i32, ptr %288, align 4, !tbaa !5
  %3075 = call ptr @strerror(i32 noundef %3074) #12
  %3076 = load i32, ptr %288, align 4, !tbaa !5
  %3077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3068, ptr noundef nonnull %.str.81.sink2880, i32 noundef %3069, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.77, i32 noundef 241, ptr noundef %3071, ptr noundef %3073, ptr noundef %3075, i32 noundef %3076) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3078:                                             ; preds = %3050
  %3079 = load i32, ptr @test_count, align 4, !tbaa !5
  %3080 = add nsw i32 %3079, 1
  store i32 %3080, ptr @test_count, align 4, !tbaa !5
  %3081 = load ptr, ptr %26, align 8, !tbaa !9
  %3082 = call i32 @s2n_psk_set_identity(ptr noundef %3081, ptr noundef nonnull %23, i16 noundef zeroext 11)
  %3083 = icmp eq i32 %3082, -1
  br i1 %3083, label %3084, label %3106

3084:                                             ; preds = %3078
  %3085 = load i32, ptr %288, align 4, !tbaa !5
  %3086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3087 = call i32 @s2n_print_stacktrace(ptr noundef %3086) #12
  %3088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3089 = trunc nuw i8 %3088 to i1
  br i1 %3089, label %3090, label %3094

3090:                                             ; preds = %3084
  %3091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3092 = call i32 @fileno(ptr noundef %3091) #12
  %3093 = call i32 @isatty(i32 noundef %3092) #12
  %.not1813 = icmp eq i32 %3093, 0
  br i1 %.not1813, label %3094, label %3095

3094:                                             ; preds = %3090, %3084
  br label %3095

3095:                                             ; preds = %3090, %3094
  %.str.81.sink2889 = phi ptr [ @.str.81, %3094 ], [ @.str.78, %3090 ]
  store i32 %3085, ptr %288, align 4, !tbaa !5
  %3096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3097 = load i32, ptr @test_count, align 4, !tbaa !5
  %3098 = load i32, ptr %234, align 4, !tbaa !5
  %3099 = call ptr @s2n_strerror(i32 noundef %3098, ptr noundef nonnull @.str.80) #12
  %3100 = load i32, ptr %234, align 4, !tbaa !5
  %3101 = call ptr @s2n_strerror_debug(i32 noundef %3100, ptr noundef nonnull @.str.80) #12
  %3102 = load i32, ptr %288, align 4, !tbaa !5
  %3103 = call ptr @strerror(i32 noundef %3102) #12
  %3104 = load i32, ptr %288, align 4, !tbaa !5
  %3105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3096, ptr noundef nonnull %.str.81.sink2889, i32 noundef %3097, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.77, i32 noundef 242, ptr noundef %3099, ptr noundef %3101, ptr noundef %3103, i32 noundef %3104) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3106:                                             ; preds = %3078
  %3107 = load i32, ptr @test_count, align 4, !tbaa !5
  %3108 = add nsw i32 %3107, 1
  store i32 %3108, ptr @test_count, align 4, !tbaa !5
  %3109 = call i32 @s2n_psk_parameters_wipe(ptr noundef null)
  %3110 = call zeroext i1 @s2n_result_is_error(i32 %3109)
  br i1 %3110, label %3133, label %3111

3111:                                             ; preds = %3106
  %3112 = load i32, ptr %288, align 4, !tbaa !5
  %3113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3114 = call i32 @s2n_print_stacktrace(ptr noundef %3113) #12
  %3115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3116 = trunc nuw i8 %3115 to i1
  br i1 %3116, label %3117, label %3121

3117:                                             ; preds = %3111
  %3118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3119 = call i32 @fileno(ptr noundef %3118) #12
  %3120 = call i32 @isatty(i32 noundef %3119) #12
  %.not1398 = icmp eq i32 %3120, 0
  br i1 %.not1398, label %3121, label %3122

3121:                                             ; preds = %3117, %3111
  br label %3122

3122:                                             ; preds = %3117, %3121
  %.str.81.sink2898 = phi ptr [ @.str.81, %3121 ], [ @.str.78, %3117 ]
  store i32 %3112, ptr %288, align 4, !tbaa !5
  %3123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3124 = load i32, ptr @test_count, align 4, !tbaa !5
  %3125 = load i32, ptr %234, align 4, !tbaa !5
  %3126 = call ptr @s2n_strerror(i32 noundef %3125, ptr noundef nonnull @.str.80) #12
  %3127 = load i32, ptr %234, align 4, !tbaa !5
  %3128 = call ptr @s2n_strerror_debug(i32 noundef %3127, ptr noundef nonnull @.str.80) #12
  %3129 = load i32, ptr %288, align 4, !tbaa !5
  %3130 = call ptr @strerror(i32 noundef %3129) #12
  %3131 = load i32, ptr %288, align 4, !tbaa !5
  %3132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3123, ptr noundef nonnull %.str.81.sink2898, i32 noundef %3124, ptr noundef nonnull @.str.168, ptr noundef nonnull @.str.77, i32 noundef 244, ptr noundef %3126, ptr noundef %3128, ptr noundef %3130, i32 noundef %3131) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3133:                                             ; preds = %3106
  %3134 = load i32, ptr @test_count, align 4, !tbaa !5
  %3135 = add nsw i32 %3134, 1
  store i32 %3135, ptr @test_count, align 4, !tbaa !5
  %3136 = load i32, ptr %234, align 4, !tbaa !5
  %3137 = icmp eq i32 %3136, 402653193
  br i1 %3137, label %3160, label %3138

3138:                                             ; preds = %3133
  %3139 = load i32, ptr %288, align 4, !tbaa !5
  %3140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3141 = call i32 @s2n_print_stacktrace(ptr noundef %3140) #12
  %3142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3143 = trunc nuw i8 %3142 to i1
  br i1 %3143, label %3144, label %3148

3144:                                             ; preds = %3138
  %3145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3146 = call i32 @fileno(ptr noundef %3145) #12
  %3147 = call i32 @isatty(i32 noundef %3146) #12
  %.not1399 = icmp eq i32 %3147, 0
  br i1 %.not1399, label %3148, label %3149

3148:                                             ; preds = %3144, %3138
  br label %3149

3149:                                             ; preds = %3144, %3148
  %.str.81.sink2907 = phi ptr [ @.str.81, %3148 ], [ @.str.78, %3144 ]
  store i32 %3139, ptr %288, align 4, !tbaa !5
  %3150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3151 = load i32, ptr @test_count, align 4, !tbaa !5
  %3152 = load i32, ptr %234, align 4, !tbaa !5
  %3153 = call ptr @s2n_strerror(i32 noundef %3152, ptr noundef nonnull @.str.80) #12
  %3154 = load i32, ptr %234, align 4, !tbaa !5
  %3155 = call ptr @s2n_strerror_debug(i32 noundef %3154, ptr noundef nonnull @.str.80) #12
  %3156 = load i32, ptr %288, align 4, !tbaa !5
  %3157 = call ptr @strerror(i32 noundef %3156) #12
  %3158 = load i32, ptr %288, align 4, !tbaa !5
  %3159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3150, ptr noundef nonnull %.str.81.sink2907, i32 noundef %3151, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 244, ptr noundef %3153, ptr noundef %3155, ptr noundef %3157, i32 noundef %3158) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3160:                                             ; preds = %3133
  %3161 = add nsw i32 %3134, 2
  store i32 %3161, ptr @test_count, align 4, !tbaa !5
  %3162 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %3163 = icmp eq ptr %3162, null
  br i1 %3163, label %3164, label %3186

3164:                                             ; preds = %3160
  %3165 = load i32, ptr %288, align 4, !tbaa !5
  %3166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3167 = call i32 @s2n_print_stacktrace(ptr noundef %3166) #12
  %3168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3169 = trunc nuw i8 %3168 to i1
  br i1 %3169, label %3170, label %3174

3170:                                             ; preds = %3164
  %3171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3172 = call i32 @fileno(ptr noundef %3171) #12
  %3173 = call i32 @isatty(i32 noundef %3172) #12
  %.not1812 = icmp eq i32 %3173, 0
  br i1 %.not1812, label %3174, label %3175

3174:                                             ; preds = %3170, %3164
  br label %3175

3175:                                             ; preds = %3170, %3174
  %.str.81.sink2916 = phi ptr [ @.str.81, %3174 ], [ @.str.78, %3170 ]
  store i32 %3165, ptr %288, align 4, !tbaa !5
  %3176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3177 = load i32, ptr @test_count, align 4, !tbaa !5
  %3178 = load i32, ptr %234, align 4, !tbaa !5
  %3179 = call ptr @s2n_strerror(i32 noundef %3178, ptr noundef nonnull @.str.80) #12
  %3180 = load i32, ptr %234, align 4, !tbaa !5
  %3181 = call ptr @s2n_strerror_debug(i32 noundef %3180, ptr noundef nonnull @.str.80) #12
  %3182 = load i32, ptr %288, align 4, !tbaa !5
  %3183 = call ptr @strerror(i32 noundef %3182) #12
  %3184 = load i32, ptr %288, align 4, !tbaa !5
  %3185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3176, ptr noundef nonnull %.str.81.sink2916, i32 noundef %3177, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 244, ptr noundef %3179, ptr noundef %3181, ptr noundef %3183, i32 noundef %3184) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3186:                                             ; preds = %3160
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %3187 = load i32, ptr @test_count, align 4, !tbaa !5
  %3188 = add nsw i32 %3187, 1
  store i32 %3188, ptr @test_count, align 4, !tbaa !5
  %3189 = call i32 @s2n_psk_parameters_wipe(ptr noundef nonnull %24)
  %3190 = call zeroext i1 @s2n_result_is_ok(i32 %3189)
  br i1 %3190, label %3213, label %3191

3191:                                             ; preds = %3186
  %3192 = load i32, ptr %288, align 4, !tbaa !5
  %3193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3194 = call i32 @s2n_print_stacktrace(ptr noundef %3193) #12
  %3195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3196 = trunc nuw i8 %3195 to i1
  br i1 %3196, label %3197, label %3201

3197:                                             ; preds = %3191
  %3198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3199 = call i32 @fileno(ptr noundef %3198) #12
  %3200 = call i32 @isatty(i32 noundef %3199) #12
  %.not1400 = icmp eq i32 %3200, 0
  br i1 %.not1400, label %3201, label %3202

3201:                                             ; preds = %3197, %3191
  br label %3202

3202:                                             ; preds = %3197, %3201
  %.str.81.sink2925 = phi ptr [ @.str.81, %3201 ], [ @.str.78, %3197 ]
  store i32 %3192, ptr %288, align 4, !tbaa !5
  %3203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3204 = load i32, ptr @test_count, align 4, !tbaa !5
  %3205 = load i32, ptr %234, align 4, !tbaa !5
  %3206 = call ptr @s2n_strerror(i32 noundef %3205, ptr noundef nonnull @.str.80) #12
  %3207 = load i32, ptr %234, align 4, !tbaa !5
  %3208 = call ptr @s2n_strerror_debug(i32 noundef %3207, ptr noundef nonnull @.str.80) #12
  %3209 = load i32, ptr %288, align 4, !tbaa !5
  %3210 = call ptr @strerror(i32 noundef %3209) #12
  %3211 = load i32, ptr %288, align 4, !tbaa !5
  %3212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3203, ptr noundef nonnull %.str.81.sink2925, i32 noundef %3204, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.77, i32 noundef 245, ptr noundef %3206, ptr noundef %3208, ptr noundef %3210, i32 noundef %3211) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3213:                                             ; preds = %3186
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %27) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %27, i8 0, i64 64, i1 false)
  %3214 = load i32, ptr @test_count, align 4, !tbaa !5
  %3215 = add nsw i32 %3214, 1
  store i32 %3215, ptr @test_count, align 4, !tbaa !5
  %3216 = call i32 @s2n_psk_parameters_init(ptr noundef nonnull %27)
  %3217 = call zeroext i1 @s2n_result_is_ok(i32 %3216)
  br i1 %3217, label %3240, label %3218

3218:                                             ; preds = %3213
  %3219 = load i32, ptr %288, align 4, !tbaa !5
  %3220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3221 = call i32 @s2n_print_stacktrace(ptr noundef %3220) #12
  %3222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3223 = trunc nuw i8 %3222 to i1
  br i1 %3223, label %3224, label %3228

3224:                                             ; preds = %3218
  %3225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3226 = call i32 @fileno(ptr noundef %3225) #12
  %3227 = call i32 @isatty(i32 noundef %3226) #12
  %.not1401 = icmp eq i32 %3227, 0
  br i1 %.not1401, label %3228, label %3229

3228:                                             ; preds = %3224, %3218
  br label %3229

3229:                                             ; preds = %3224, %3228
  %.str.81.sink2934 = phi ptr [ @.str.81, %3228 ], [ @.str.78, %3224 ]
  store i32 %3219, ptr %288, align 4, !tbaa !5
  %3230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3231 = load i32, ptr @test_count, align 4, !tbaa !5
  %3232 = load i32, ptr %234, align 4, !tbaa !5
  %3233 = call ptr @s2n_strerror(i32 noundef %3232, ptr noundef nonnull @.str.80) #12
  %3234 = load i32, ptr %234, align 4, !tbaa !5
  %3235 = call ptr @s2n_strerror_debug(i32 noundef %3234, ptr noundef nonnull @.str.80) #12
  %3236 = load i32, ptr %288, align 4, !tbaa !5
  %3237 = call ptr @strerror(i32 noundef %3236) #12
  %3238 = load i32, ptr %288, align 4, !tbaa !5
  %3239 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3230, ptr noundef nonnull %.str.81.sink2934, i32 noundef %3231, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.77, i32 noundef 250, ptr noundef %3233, ptr noundef %3235, ptr noundef %3237, i32 noundef %3238) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3240:                                             ; preds = %3213
  %3241 = load i32, ptr @test_count, align 4, !tbaa !5
  %3242 = add nsw i32 %3241, 1
  store i32 %3242, ptr @test_count, align 4, !tbaa !5
  %bcmp1402 = call i32 @bcmp(ptr noundef nonnull dereferenceable(64) %27, ptr noundef nonnull dereferenceable(64) %24, i64 64)
  %3243 = icmp eq i32 %bcmp1402, 0
  br i1 %3243, label %3266, label %3244

3244:                                             ; preds = %3240
  %3245 = load i32, ptr %288, align 4, !tbaa !5
  %3246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3247 = call i32 @s2n_print_stacktrace(ptr noundef %3246) #12
  %3248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3249 = trunc nuw i8 %3248 to i1
  br i1 %3249, label %3250, label %3254

3250:                                             ; preds = %3244
  %3251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3252 = call i32 @fileno(ptr noundef %3251) #12
  %3253 = call i32 @isatty(i32 noundef %3252) #12
  %.not1403 = icmp eq i32 %3253, 0
  br i1 %.not1403, label %3254, label %3255

3254:                                             ; preds = %3250, %3244
  br label %3255

3255:                                             ; preds = %3250, %3254
  %.str.81.sink2943 = phi ptr [ @.str.81, %3254 ], [ @.str.78, %3250 ]
  store i32 %3245, ptr %288, align 4, !tbaa !5
  %3256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3257 = load i32, ptr @test_count, align 4, !tbaa !5
  %3258 = load i32, ptr %234, align 4, !tbaa !5
  %3259 = call ptr @s2n_strerror(i32 noundef %3258, ptr noundef nonnull @.str.80) #12
  %3260 = load i32, ptr %234, align 4, !tbaa !5
  %3261 = call ptr @s2n_strerror_debug(i32 noundef %3260, ptr noundef nonnull @.str.80) #12
  %3262 = load i32, ptr %288, align 4, !tbaa !5
  %3263 = call ptr @strerror(i32 noundef %3262) #12
  %3264 = load i32, ptr %288, align 4, !tbaa !5
  %3265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3256, ptr noundef nonnull %.str.81.sink2943, i32 noundef %3257, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.77, i32 noundef 251, ptr noundef %3259, ptr noundef %3261, ptr noundef %3263, i32 noundef %3264) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3266:                                             ; preds = %3240
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #12
  %3267 = call i32 @s2n_psk_parameters_wipe(ptr noundef nonnull %24)
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 11, ptr nonnull %23) #12
  %3268 = load i32, ptr @test_count, align 4, !tbaa !5
  %3269 = add nsw i32 %3268, 1
  store i32 %3269, ptr @test_count, align 4, !tbaa !5
  %3270 = call i32 @s2n_psk_parameters_wipe_secrets(ptr noundef null)
  %3271 = call zeroext i1 @s2n_result_is_error(i32 %3270)
  br i1 %3271, label %3294, label %3272

3272:                                             ; preds = %3266
  %3273 = load i32, ptr %288, align 4, !tbaa !5
  %3274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3275 = call i32 @s2n_print_stacktrace(ptr noundef %3274) #12
  %3276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3277 = trunc nuw i8 %3276 to i1
  br i1 %3277, label %3278, label %3282

3278:                                             ; preds = %3272
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = call i32 @fileno(ptr noundef %3279) #12
  %3281 = call i32 @isatty(i32 noundef %3280) #12
  %.not1404 = icmp eq i32 %3281, 0
  br i1 %.not1404, label %3282, label %3283

3282:                                             ; preds = %3278, %3272
  br label %3283

3283:                                             ; preds = %3278, %3282
  %.str.81.sink2952 = phi ptr [ @.str.81, %3282 ], [ @.str.78, %3278 ]
  store i32 %3273, ptr %288, align 4, !tbaa !5
  %3284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3285 = load i32, ptr @test_count, align 4, !tbaa !5
  %3286 = load i32, ptr %234, align 4, !tbaa !5
  %3287 = call ptr @s2n_strerror(i32 noundef %3286, ptr noundef nonnull @.str.80) #12
  %3288 = load i32, ptr %234, align 4, !tbaa !5
  %3289 = call ptr @s2n_strerror_debug(i32 noundef %3288, ptr noundef nonnull @.str.80) #12
  %3290 = load i32, ptr %288, align 4, !tbaa !5
  %3291 = call ptr @strerror(i32 noundef %3290) #12
  %3292 = load i32, ptr %288, align 4, !tbaa !5
  %3293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3284, ptr noundef nonnull %.str.81.sink2952, i32 noundef %3285, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.77, i32 noundef 257, ptr noundef %3287, ptr noundef %3289, ptr noundef %3291, i32 noundef %3292) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3294:                                             ; preds = %3266
  %3295 = load i32, ptr @test_count, align 4, !tbaa !5
  %3296 = add nsw i32 %3295, 1
  store i32 %3296, ptr @test_count, align 4, !tbaa !5
  %3297 = load i32, ptr %234, align 4, !tbaa !5
  %3298 = icmp eq i32 %3297, 402653193
  br i1 %3298, label %3321, label %3299

3299:                                             ; preds = %3294
  %3300 = load i32, ptr %288, align 4, !tbaa !5
  %3301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3302 = call i32 @s2n_print_stacktrace(ptr noundef %3301) #12
  %3303 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3304 = trunc nuw i8 %3303 to i1
  br i1 %3304, label %3305, label %3309

3305:                                             ; preds = %3299
  %3306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3307 = call i32 @fileno(ptr noundef %3306) #12
  %3308 = call i32 @isatty(i32 noundef %3307) #12
  %.not1405 = icmp eq i32 %3308, 0
  br i1 %.not1405, label %3309, label %3310

3309:                                             ; preds = %3305, %3299
  br label %3310

3310:                                             ; preds = %3305, %3309
  %.str.81.sink2961 = phi ptr [ @.str.81, %3309 ], [ @.str.78, %3305 ]
  store i32 %3300, ptr %288, align 4, !tbaa !5
  %3311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3312 = load i32, ptr @test_count, align 4, !tbaa !5
  %3313 = load i32, ptr %234, align 4, !tbaa !5
  %3314 = call ptr @s2n_strerror(i32 noundef %3313, ptr noundef nonnull @.str.80) #12
  %3315 = load i32, ptr %234, align 4, !tbaa !5
  %3316 = call ptr @s2n_strerror_debug(i32 noundef %3315, ptr noundef nonnull @.str.80) #12
  %3317 = load i32, ptr %288, align 4, !tbaa !5
  %3318 = call ptr @strerror(i32 noundef %3317) #12
  %3319 = load i32, ptr %288, align 4, !tbaa !5
  %3320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3311, ptr noundef nonnull %.str.81.sink2961, i32 noundef %3312, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 257, ptr noundef %3314, ptr noundef %3316, ptr noundef %3318, i32 noundef %3319) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3321:                                             ; preds = %3294
  %3322 = add nsw i32 %3295, 2
  store i32 %3322, ptr @test_count, align 4, !tbaa !5
  %3323 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %3324 = icmp eq ptr %3323, null
  br i1 %3324, label %3325, label %3347

3325:                                             ; preds = %3321
  %3326 = load i32, ptr %288, align 4, !tbaa !5
  %3327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3328 = call i32 @s2n_print_stacktrace(ptr noundef %3327) #12
  %3329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3330 = trunc nuw i8 %3329 to i1
  br i1 %3330, label %3331, label %3335

3331:                                             ; preds = %3325
  %3332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3333 = call i32 @fileno(ptr noundef %3332) #12
  %3334 = call i32 @isatty(i32 noundef %3333) #12
  %.not1811 = icmp eq i32 %3334, 0
  br i1 %.not1811, label %3335, label %3336

3335:                                             ; preds = %3331, %3325
  br label %3336

3336:                                             ; preds = %3331, %3335
  %.str.81.sink2970 = phi ptr [ @.str.81, %3335 ], [ @.str.78, %3331 ]
  store i32 %3326, ptr %288, align 4, !tbaa !5
  %3337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3338 = load i32, ptr @test_count, align 4, !tbaa !5
  %3339 = load i32, ptr %234, align 4, !tbaa !5
  %3340 = call ptr @s2n_strerror(i32 noundef %3339, ptr noundef nonnull @.str.80) #12
  %3341 = load i32, ptr %234, align 4, !tbaa !5
  %3342 = call ptr @s2n_strerror_debug(i32 noundef %3341, ptr noundef nonnull @.str.80) #12
  %3343 = load i32, ptr %288, align 4, !tbaa !5
  %3344 = call ptr @strerror(i32 noundef %3343) #12
  %3345 = load i32, ptr %288, align 4, !tbaa !5
  %3346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3337, ptr noundef nonnull %.str.81.sink2970, i32 noundef %3338, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 257, ptr noundef %3340, ptr noundef %3342, ptr noundef %3344, i32 noundef %3345) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3347:                                             ; preds = %3321
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 19, ptr nonnull %28) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(19) %28, ptr noundef nonnull align 16 dereferenceable(19) @__const.main.test_identity_data, i64 19, i1 false)
  call void @llvm.lifetime.start.p0(i64 17, ptr nonnull %29) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(17) %29, ptr noundef nonnull align 16 dereferenceable(17) @__const.main.test_secret_data, i64 17, i1 false)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %30) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %30, i8 0, i64 64, i1 false)
  %3348 = load i32, ptr @test_count, align 4, !tbaa !5
  %3349 = add nsw i32 %3348, 1
  store i32 %3349, ptr @test_count, align 4, !tbaa !5
  %3350 = call i32 @s2n_psk_parameters_init(ptr noundef nonnull %30)
  %3351 = call zeroext i1 @s2n_result_is_ok(i32 %3350)
  br i1 %3351, label %3374, label %3352

3352:                                             ; preds = %3347
  %3353 = load i32, ptr %288, align 4, !tbaa !5
  %3354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3355 = call i32 @s2n_print_stacktrace(ptr noundef %3354) #12
  %3356 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3357 = trunc nuw i8 %3356 to i1
  br i1 %3357, label %3358, label %3362

3358:                                             ; preds = %3352
  %3359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3360 = call i32 @fileno(ptr noundef %3359) #12
  %3361 = call i32 @isatty(i32 noundef %3360) #12
  %.not1406 = icmp eq i32 %3361, 0
  br i1 %.not1406, label %3362, label %3363

3362:                                             ; preds = %3358, %3352
  br label %3363

3363:                                             ; preds = %3358, %3362
  %.str.81.sink2979 = phi ptr [ @.str.81, %3362 ], [ @.str.78, %3358 ]
  store i32 %3353, ptr %288, align 4, !tbaa !5
  %3364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3365 = load i32, ptr @test_count, align 4, !tbaa !5
  %3366 = load i32, ptr %234, align 4, !tbaa !5
  %3367 = call ptr @s2n_strerror(i32 noundef %3366, ptr noundef nonnull @.str.80) #12
  %3368 = load i32, ptr %234, align 4, !tbaa !5
  %3369 = call ptr @s2n_strerror_debug(i32 noundef %3368, ptr noundef nonnull @.str.80) #12
  %3370 = load i32, ptr %288, align 4, !tbaa !5
  %3371 = call ptr @strerror(i32 noundef %3370) #12
  %3372 = load i32, ptr %288, align 4, !tbaa !5
  %3373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3364, ptr noundef nonnull %.str.81.sink2979, i32 noundef %3365, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.77, i32 noundef 262, ptr noundef %3367, ptr noundef %3369, ptr noundef %3371, i32 noundef %3372) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3374:                                             ; preds = %3347
  %3375 = getelementptr inbounds i8, ptr %30, i64 40
  store i16 1, ptr %3375, align 8, !tbaa !35
  %3376 = getelementptr inbounds i8, ptr %30, i64 42
  store i16 1, ptr %3376, align 2, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #12
  store ptr null, ptr %31, align 8, !tbaa !9
  %3377 = load i32, ptr @test_count, align 4, !tbaa !5
  %3378 = add nsw i32 %3377, 1
  store i32 %3378, ptr @test_count, align 4, !tbaa !5
  %3379 = getelementptr inbounds i8, ptr %30, i64 8
  %3380 = call i32 @s2n_array_pushback(ptr noundef nonnull %3379, ptr noundef nonnull %31) #12
  %3381 = call zeroext i1 @s2n_result_is_ok(i32 %3380)
  br i1 %3381, label %3404, label %3382

3382:                                             ; preds = %3374
  %3383 = load i32, ptr %288, align 4, !tbaa !5
  %3384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3385 = call i32 @s2n_print_stacktrace(ptr noundef %3384) #12
  %3386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3387 = trunc nuw i8 %3386 to i1
  br i1 %3387, label %3388, label %3392

3388:                                             ; preds = %3382
  %3389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3390 = call i32 @fileno(ptr noundef %3389) #12
  %3391 = call i32 @isatty(i32 noundef %3390) #12
  %.not1407 = icmp eq i32 %3391, 0
  br i1 %.not1407, label %3392, label %3393

3392:                                             ; preds = %3388, %3382
  br label %3393

3393:                                             ; preds = %3388, %3392
  %.str.81.sink2988 = phi ptr [ @.str.81, %3392 ], [ @.str.78, %3388 ]
  store i32 %3383, ptr %288, align 4, !tbaa !5
  %3394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3395 = load i32, ptr @test_count, align 4, !tbaa !5
  %3396 = load i32, ptr %234, align 4, !tbaa !5
  %3397 = call ptr @s2n_strerror(i32 noundef %3396, ptr noundef nonnull @.str.80) #12
  %3398 = load i32, ptr %234, align 4, !tbaa !5
  %3399 = call ptr @s2n_strerror_debug(i32 noundef %3398, ptr noundef nonnull @.str.80) #12
  %3400 = load i32, ptr %288, align 4, !tbaa !5
  %3401 = call ptr @strerror(i32 noundef %3400) #12
  %3402 = load i32, ptr %288, align 4, !tbaa !5
  %3403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3394, ptr noundef nonnull %.str.81.sink2988, i32 noundef %3395, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.77, i32 noundef 267, ptr noundef %3397, ptr noundef %3399, ptr noundef %3401, i32 noundef %3402) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3404:                                             ; preds = %3374
  %3405 = load i32, ptr @test_count, align 4, !tbaa !5
  %3406 = add nsw i32 %3405, 1
  store i32 %3406, ptr @test_count, align 4, !tbaa !5
  %3407 = load ptr, ptr %31, align 8, !tbaa !9
  %3408 = call i32 @s2n_psk_init(ptr noundef %3407, i32 noundef 1)
  %3409 = call zeroext i1 @s2n_result_is_ok(i32 %3408)
  br i1 %3409, label %3432, label %3410

3410:                                             ; preds = %3404
  %3411 = load i32, ptr %288, align 4, !tbaa !5
  %3412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3413 = call i32 @s2n_print_stacktrace(ptr noundef %3412) #12
  %3414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3415 = trunc nuw i8 %3414 to i1
  br i1 %3415, label %3416, label %3420

3416:                                             ; preds = %3410
  %3417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3418 = call i32 @fileno(ptr noundef %3417) #12
  %3419 = call i32 @isatty(i32 noundef %3418) #12
  %.not1408 = icmp eq i32 %3419, 0
  br i1 %.not1408, label %3420, label %3421

3420:                                             ; preds = %3416, %3410
  br label %3421

3421:                                             ; preds = %3416, %3420
  %.str.81.sink2997 = phi ptr [ @.str.81, %3420 ], [ @.str.78, %3416 ]
  store i32 %3411, ptr %288, align 4, !tbaa !5
  %3422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3423 = load i32, ptr @test_count, align 4, !tbaa !5
  %3424 = load i32, ptr %234, align 4, !tbaa !5
  %3425 = call ptr @s2n_strerror(i32 noundef %3424, ptr noundef nonnull @.str.80) #12
  %3426 = load i32, ptr %234, align 4, !tbaa !5
  %3427 = call ptr @s2n_strerror_debug(i32 noundef %3426, ptr noundef nonnull @.str.80) #12
  %3428 = load i32, ptr %288, align 4, !tbaa !5
  %3429 = call ptr @strerror(i32 noundef %3428) #12
  %3430 = load i32, ptr %288, align 4, !tbaa !5
  %3431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3422, ptr noundef nonnull %.str.81.sink2997, i32 noundef %3423, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.77, i32 noundef 268, ptr noundef %3425, ptr noundef %3427, ptr noundef %3429, i32 noundef %3430) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3432:                                             ; preds = %3404
  %3433 = load i32, ptr @test_count, align 4, !tbaa !5
  %3434 = add nsw i32 %3433, 1
  store i32 %3434, ptr @test_count, align 4, !tbaa !5
  %3435 = load ptr, ptr %31, align 8, !tbaa !9
  %3436 = call i32 @s2n_psk_set_identity(ptr noundef %3435, ptr noundef nonnull %28, i16 noundef zeroext 19)
  %3437 = icmp eq i32 %3436, -1
  br i1 %3437, label %3438, label %3460

3438:                                             ; preds = %3432
  %3439 = load i32, ptr %288, align 4, !tbaa !5
  %3440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3441 = call i32 @s2n_print_stacktrace(ptr noundef %3440) #12
  %3442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3443 = trunc nuw i8 %3442 to i1
  br i1 %3443, label %3444, label %3448

3444:                                             ; preds = %3438
  %3445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3446 = call i32 @fileno(ptr noundef %3445) #12
  %3447 = call i32 @isatty(i32 noundef %3446) #12
  %.not1810 = icmp eq i32 %3447, 0
  br i1 %.not1810, label %3448, label %3449

3448:                                             ; preds = %3444, %3438
  br label %3449

3449:                                             ; preds = %3444, %3448
  %.str.81.sink3006 = phi ptr [ @.str.81, %3448 ], [ @.str.78, %3444 ]
  store i32 %3439, ptr %288, align 4, !tbaa !5
  %3450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3451 = load i32, ptr @test_count, align 4, !tbaa !5
  %3452 = load i32, ptr %234, align 4, !tbaa !5
  %3453 = call ptr @s2n_strerror(i32 noundef %3452, ptr noundef nonnull @.str.80) #12
  %3454 = load i32, ptr %234, align 4, !tbaa !5
  %3455 = call ptr @s2n_strerror_debug(i32 noundef %3454, ptr noundef nonnull @.str.80) #12
  %3456 = load i32, ptr %288, align 4, !tbaa !5
  %3457 = call ptr @strerror(i32 noundef %3456) #12
  %3458 = load i32, ptr %288, align 4, !tbaa !5
  %3459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3450, ptr noundef nonnull %.str.81.sink3006, i32 noundef %3451, ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.77, i32 noundef 269, ptr noundef %3453, ptr noundef %3455, ptr noundef %3457, i32 noundef %3458) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3460:                                             ; preds = %3432
  %3461 = load i32, ptr @test_count, align 4, !tbaa !5
  %3462 = add nsw i32 %3461, 1
  store i32 %3462, ptr @test_count, align 4, !tbaa !5
  %3463 = load ptr, ptr %31, align 8, !tbaa !9
  %3464 = call i32 @s2n_psk_set_secret(ptr noundef %3463, ptr noundef nonnull %29, i16 noundef zeroext 17)
  %3465 = icmp eq i32 %3464, -1
  br i1 %3465, label %3466, label %3488

3466:                                             ; preds = %3460
  %3467 = load i32, ptr %288, align 4, !tbaa !5
  %3468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3469 = call i32 @s2n_print_stacktrace(ptr noundef %3468) #12
  %3470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3471 = trunc nuw i8 %3470 to i1
  br i1 %3471, label %3472, label %3476

3472:                                             ; preds = %3466
  %3473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3474 = call i32 @fileno(ptr noundef %3473) #12
  %3475 = call i32 @isatty(i32 noundef %3474) #12
  %.not1809 = icmp eq i32 %3475, 0
  br i1 %.not1809, label %3476, label %3477

3476:                                             ; preds = %3472, %3466
  br label %3477

3477:                                             ; preds = %3472, %3476
  %.str.81.sink3015 = phi ptr [ @.str.81, %3476 ], [ @.str.78, %3472 ]
  store i32 %3467, ptr %288, align 4, !tbaa !5
  %3478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3479 = load i32, ptr @test_count, align 4, !tbaa !5
  %3480 = load i32, ptr %234, align 4, !tbaa !5
  %3481 = call ptr @s2n_strerror(i32 noundef %3480, ptr noundef nonnull @.str.80) #12
  %3482 = load i32, ptr %234, align 4, !tbaa !5
  %3483 = call ptr @s2n_strerror_debug(i32 noundef %3482, ptr noundef nonnull @.str.80) #12
  %3484 = load i32, ptr %288, align 4, !tbaa !5
  %3485 = call ptr @strerror(i32 noundef %3484) #12
  %3486 = load i32, ptr %288, align 4, !tbaa !5
  %3487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3478, ptr noundef nonnull %.str.81.sink3015, i32 noundef %3479, ptr noundef nonnull @.str.173, ptr noundef nonnull @.str.77, i32 noundef 270, ptr noundef %3481, ptr noundef %3483, ptr noundef %3485, i32 noundef %3486) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3488:                                             ; preds = %3460
  %3489 = load ptr, ptr %31, align 8, !tbaa !9
  %3490 = getelementptr inbounds i8, ptr %30, i64 48
  store ptr %3489, ptr %3490, align 8, !tbaa !37
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #12
  store ptr null, ptr %32, align 8, !tbaa !9
  %3491 = load i32, ptr @test_count, align 4, !tbaa !5
  %3492 = add nsw i32 %3491, 1
  store i32 %3492, ptr @test_count, align 4, !tbaa !5
  %3493 = call i32 @s2n_array_pushback(ptr noundef nonnull %3379, ptr noundef nonnull %32) #12
  %3494 = call zeroext i1 @s2n_result_is_ok(i32 %3493)
  br i1 %3494, label %3517, label %3495

3495:                                             ; preds = %3488
  %3496 = load i32, ptr %288, align 4, !tbaa !5
  %3497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3498 = call i32 @s2n_print_stacktrace(ptr noundef %3497) #12
  %3499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3500 = trunc nuw i8 %3499 to i1
  br i1 %3500, label %3501, label %3505

3501:                                             ; preds = %3495
  %3502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3503 = call i32 @fileno(ptr noundef %3502) #12
  %3504 = call i32 @isatty(i32 noundef %3503) #12
  %.not1409 = icmp eq i32 %3504, 0
  br i1 %.not1409, label %3505, label %3506

3505:                                             ; preds = %3501, %3495
  br label %3506

3506:                                             ; preds = %3501, %3505
  %.str.81.sink3024 = phi ptr [ @.str.81, %3505 ], [ @.str.78, %3501 ]
  store i32 %3496, ptr %288, align 4, !tbaa !5
  %3507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3508 = load i32, ptr @test_count, align 4, !tbaa !5
  %3509 = load i32, ptr %234, align 4, !tbaa !5
  %3510 = call ptr @s2n_strerror(i32 noundef %3509, ptr noundef nonnull @.str.80) #12
  %3511 = load i32, ptr %234, align 4, !tbaa !5
  %3512 = call ptr @s2n_strerror_debug(i32 noundef %3511, ptr noundef nonnull @.str.80) #12
  %3513 = load i32, ptr %288, align 4, !tbaa !5
  %3514 = call ptr @strerror(i32 noundef %3513) #12
  %3515 = load i32, ptr %288, align 4, !tbaa !5
  %3516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3507, ptr noundef nonnull %.str.81.sink3024, i32 noundef %3508, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.77, i32 noundef 274, ptr noundef %3510, ptr noundef %3512, ptr noundef %3514, i32 noundef %3515) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3517:                                             ; preds = %3488
  %3518 = load i32, ptr @test_count, align 4, !tbaa !5
  %3519 = add nsw i32 %3518, 1
  store i32 %3519, ptr @test_count, align 4, !tbaa !5
  %3520 = load ptr, ptr %32, align 8, !tbaa !9
  %3521 = call i32 @s2n_psk_init(ptr noundef %3520, i32 noundef 1)
  %3522 = call zeroext i1 @s2n_result_is_ok(i32 %3521)
  br i1 %3522, label %3545, label %3523

3523:                                             ; preds = %3517
  %3524 = load i32, ptr %288, align 4, !tbaa !5
  %3525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3526 = call i32 @s2n_print_stacktrace(ptr noundef %3525) #12
  %3527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3528 = trunc nuw i8 %3527 to i1
  br i1 %3528, label %3529, label %3533

3529:                                             ; preds = %3523
  %3530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3531 = call i32 @fileno(ptr noundef %3530) #12
  %3532 = call i32 @isatty(i32 noundef %3531) #12
  %.not1410 = icmp eq i32 %3532, 0
  br i1 %.not1410, label %3533, label %3534

3533:                                             ; preds = %3529, %3523
  br label %3534

3534:                                             ; preds = %3529, %3533
  %.str.81.sink3033 = phi ptr [ @.str.81, %3533 ], [ @.str.78, %3529 ]
  store i32 %3524, ptr %288, align 4, !tbaa !5
  %3535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3536 = load i32, ptr @test_count, align 4, !tbaa !5
  %3537 = load i32, ptr %234, align 4, !tbaa !5
  %3538 = call ptr @s2n_strerror(i32 noundef %3537, ptr noundef nonnull @.str.80) #12
  %3539 = load i32, ptr %234, align 4, !tbaa !5
  %3540 = call ptr @s2n_strerror_debug(i32 noundef %3539, ptr noundef nonnull @.str.80) #12
  %3541 = load i32, ptr %288, align 4, !tbaa !5
  %3542 = call ptr @strerror(i32 noundef %3541) #12
  %3543 = load i32, ptr %288, align 4, !tbaa !5
  %3544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3535, ptr noundef nonnull %.str.81.sink3033, i32 noundef %3536, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.77, i32 noundef 275, ptr noundef %3538, ptr noundef %3540, ptr noundef %3542, i32 noundef %3543) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3545:                                             ; preds = %3517
  %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 = load ptr, ptr %32, align 8, !tbaa !9
  %3549 = call i32 @s2n_psk_set_identity(ptr noundef %3548, ptr noundef nonnull %28, i16 noundef zeroext 19)
  %3550 = icmp eq i32 %3549, -1
  br i1 %3550, label %3551, label %3573

3551:                                             ; preds = %3545
  %3552 = load i32, ptr %288, align 4, !tbaa !5
  %3553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3554 = call i32 @s2n_print_stacktrace(ptr noundef %3553) #12
  %3555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3556 = trunc nuw i8 %3555 to i1
  br i1 %3556, label %3557, label %3561

3557:                                             ; preds = %3551
  %3558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3559 = call i32 @fileno(ptr noundef %3558) #12
  %3560 = call i32 @isatty(i32 noundef %3559) #12
  %.not1808 = icmp eq i32 %3560, 0
  br i1 %.not1808, label %3561, label %3562

3561:                                             ; preds = %3557, %3551
  br label %3562

3562:                                             ; preds = %3557, %3561
  %.str.81.sink3042 = phi ptr [ @.str.81, %3561 ], [ @.str.78, %3557 ]
  store i32 %3552, ptr %288, align 4, !tbaa !5
  %3563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3564 = load i32, ptr @test_count, align 4, !tbaa !5
  %3565 = load i32, ptr %234, align 4, !tbaa !5
  %3566 = call ptr @s2n_strerror(i32 noundef %3565, ptr noundef nonnull @.str.80) #12
  %3567 = load i32, ptr %234, align 4, !tbaa !5
  %3568 = call ptr @s2n_strerror_debug(i32 noundef %3567, ptr noundef nonnull @.str.80) #12
  %3569 = load i32, ptr %288, align 4, !tbaa !5
  %3570 = call ptr @strerror(i32 noundef %3569) #12
  %3571 = load i32, ptr %288, align 4, !tbaa !5
  %3572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3563, ptr noundef nonnull %.str.81.sink3042, i32 noundef %3564, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.77, i32 noundef 276, ptr noundef %3566, ptr noundef %3568, ptr noundef %3570, i32 noundef %3571) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3573:                                             ; preds = %3545
  %3574 = load i32, ptr @test_count, align 4, !tbaa !5
  %3575 = add nsw i32 %3574, 1
  store i32 %3575, ptr @test_count, align 4, !tbaa !5
  %3576 = load ptr, ptr %32, align 8, !tbaa !9
  %3577 = call i32 @s2n_psk_set_secret(ptr noundef %3576, ptr noundef nonnull %29, i16 noundef zeroext 17)
  %3578 = icmp eq i32 %3577, -1
  br i1 %3578, label %3579, label %3601

3579:                                             ; preds = %3573
  %3580 = load i32, ptr %288, align 4, !tbaa !5
  %3581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3582 = call i32 @s2n_print_stacktrace(ptr noundef %3581) #12
  %3583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3584 = trunc nuw i8 %3583 to i1
  br i1 %3584, label %3585, label %3589

3585:                                             ; preds = %3579
  %3586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3587 = call i32 @fileno(ptr noundef %3586) #12
  %3588 = call i32 @isatty(i32 noundef %3587) #12
  %.not1807 = icmp eq i32 %3588, 0
  br i1 %.not1807, label %3589, label %3590

3589:                                             ; preds = %3585, %3579
  br label %3590

3590:                                             ; preds = %3585, %3589
  %.str.81.sink3051 = phi ptr [ @.str.81, %3589 ], [ @.str.78, %3585 ]
  store i32 %3580, ptr %288, align 4, !tbaa !5
  %3591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3592 = load i32, ptr @test_count, align 4, !tbaa !5
  %3593 = load i32, ptr %234, align 4, !tbaa !5
  %3594 = call ptr @s2n_strerror(i32 noundef %3593, ptr noundef nonnull @.str.80) #12
  %3595 = load i32, ptr %234, align 4, !tbaa !5
  %3596 = call ptr @s2n_strerror_debug(i32 noundef %3595, ptr noundef nonnull @.str.80) #12
  %3597 = load i32, ptr %288, align 4, !tbaa !5
  %3598 = call ptr @strerror(i32 noundef %3597) #12
  %3599 = load i32, ptr %288, align 4, !tbaa !5
  %3600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3591, ptr noundef nonnull %.str.81.sink3051, i32 noundef %3592, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.77, i32 noundef 277, ptr noundef %3594, ptr noundef %3596, ptr noundef %3598, i32 noundef %3599) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3601:                                             ; preds = %3573
  %3602 = load i32, ptr @test_count, align 4, !tbaa !5
  %3603 = add nsw i32 %3602, 1
  store i32 %3603, ptr @test_count, align 4, !tbaa !5
  %3604 = call i32 @s2n_psk_parameters_wipe_secrets(ptr noundef nonnull %30)
  %3605 = call zeroext i1 @s2n_result_is_ok(i32 %3604)
  br i1 %3605, label %.preheader1874, label %3608

.preheader1874:                                   ; preds = %3601
  %3606 = getelementptr inbounds i8, ptr %30, i64 32
  %3607 = load i32, ptr %3606, align 8, !tbaa !38
  %.not1881 = icmp eq i32 %3607, 0
  %.pre1884 = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1881, label %._crit_edge, label %.lr.ph

3608:                                             ; preds = %3601
  %3609 = load i32, ptr %288, align 4, !tbaa !5
  %3610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3611 = call i32 @s2n_print_stacktrace(ptr noundef %3610) #12
  %3612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3613 = trunc nuw i8 %3612 to i1
  br i1 %3613, label %3614, label %3618

3614:                                             ; preds = %3608
  %3615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3616 = call i32 @fileno(ptr noundef %3615) #12
  %3617 = call i32 @isatty(i32 noundef %3616) #12
  %.not1411 = icmp eq i32 %3617, 0
  br i1 %.not1411, label %3618, label %3619

3618:                                             ; preds = %3614, %3608
  br label %3619

3619:                                             ; preds = %3614, %3618
  %.str.81.sink3060 = phi ptr [ @.str.81, %3618 ], [ @.str.78, %3614 ]
  store i32 %3609, ptr %288, align 4, !tbaa !5
  %3620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3621 = load i32, ptr @test_count, align 4, !tbaa !5
  %3622 = load i32, ptr %234, align 4, !tbaa !5
  %3623 = call ptr @s2n_strerror(i32 noundef %3622, ptr noundef nonnull @.str.80) #12
  %3624 = load i32, ptr %234, align 4, !tbaa !5
  %3625 = call ptr @s2n_strerror_debug(i32 noundef %3624, ptr noundef nonnull @.str.80) #12
  %3626 = load i32, ptr %288, align 4, !tbaa !5
  %3627 = call ptr @strerror(i32 noundef %3626) #12
  %3628 = load i32, ptr %288, align 4, !tbaa !5
  %3629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3620, ptr noundef nonnull %.str.81.sink3060, i32 noundef %3621, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.77, i32 noundef 279, ptr noundef %3623, ptr noundef %3625, ptr noundef %3627, i32 noundef %3628) #14
  call void @exit(i32 noundef 1) #15
  unreachable

._crit_edge:                                      ; preds = %3798, %.preheader1874
  %3630 = phi i32 [ %.pre1884, %.preheader1874 ], [ %3772, %3798 ]
  %3631 = add nsw i32 %3630, 1
  store i32 %3631, ptr @test_count, align 4, !tbaa !5
  %3632 = call i32 @s2n_psk_parameters_wipe(ptr noundef nonnull %30)
  %3633 = call zeroext i1 @s2n_result_is_ok(i32 %3632)
  br i1 %3633, label %3825, label %3803

.lr.ph:                                           ; preds = %.preheader1874, %3798
  %3634 = phi i32 [ %3772, %3798 ], [ %.pre1884, %.preheader1874 ]
  %.012611875 = phi i64 [ %3799, %3798 ], [ 0, %.preheader1874 ]
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #12
  store ptr null, ptr %33, align 8, !tbaa !9
  %3635 = add nsw i32 %3634, 1
  store i32 %3635, ptr @test_count, align 4, !tbaa !5
  %3636 = trunc nuw i64 %.012611875 to i32
  %3637 = call i32 @s2n_array_get(ptr noundef nonnull %3379, i32 noundef %3636, ptr noundef nonnull %33) #12
  %3638 = call zeroext i1 @s2n_result_is_ok(i32 %3637)
  br i1 %3638, label %3661, label %3639

3639:                                             ; preds = %.lr.ph
  %3640 = load i32, ptr %288, align 4, !tbaa !5
  %3641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3642 = call i32 @s2n_print_stacktrace(ptr noundef %3641) #12
  %3643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3644 = trunc nuw i8 %3643 to i1
  br i1 %3644, label %3645, label %3649

3645:                                             ; preds = %3639
  %3646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3647 = call i32 @fileno(ptr noundef %3646) #12
  %3648 = call i32 @isatty(i32 noundef %3647) #12
  %.not1801 = icmp eq i32 %3648, 0
  br i1 %.not1801, label %3649, label %3650

3649:                                             ; preds = %3645, %3639
  br label %3650

3650:                                             ; preds = %3645, %3649
  %.str.81.sink3069 = phi ptr [ @.str.81, %3649 ], [ @.str.78, %3645 ]
  store i32 %3640, ptr %288, align 4, !tbaa !5
  %3651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3652 = load i32, ptr @test_count, align 4, !tbaa !5
  %3653 = load i32, ptr %234, align 4, !tbaa !5
  %3654 = call ptr @s2n_strerror(i32 noundef %3653, ptr noundef nonnull @.str.80) #12
  %3655 = load i32, ptr %234, align 4, !tbaa !5
  %3656 = call ptr @s2n_strerror_debug(i32 noundef %3655, ptr noundef nonnull @.str.80) #12
  %3657 = load i32, ptr %288, align 4, !tbaa !5
  %3658 = call ptr @strerror(i32 noundef %3657) #12
  %3659 = load i32, ptr %288, align 4, !tbaa !5
  %3660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3651, ptr noundef nonnull %.str.81.sink3069, i32 noundef %3652, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.77, i32 noundef 284, ptr noundef %3654, ptr noundef %3656, ptr noundef %3658, i32 noundef %3659) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3661:                                             ; preds = %.lr.ph
  %3662 = load i32, ptr @test_count, align 4, !tbaa !5
  %3663 = add nsw i32 %3662, 1
  store i32 %3663, ptr @test_count, align 4, !tbaa !5
  %3664 = load ptr, ptr %33, align 8, !tbaa !9
  %3665 = getelementptr inbounds i8, ptr %3664, i64 8
  %3666 = load ptr, ptr %3665, align 8, !tbaa !25
  %3667 = icmp eq ptr %3666, null
  br i1 %3667, label %3668, label %3690

3668:                                             ; preds = %3661
  %3669 = load i32, ptr %288, align 4, !tbaa !5
  %3670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3671 = call i32 @s2n_print_stacktrace(ptr noundef %3670) #12
  %3672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3673 = trunc nuw i8 %3672 to i1
  br i1 %3673, label %3674, label %3678

3674:                                             ; preds = %3668
  %3675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3676 = call i32 @fileno(ptr noundef %3675) #12
  %3677 = call i32 @isatty(i32 noundef %3676) #12
  %.not1806 = icmp eq i32 %3677, 0
  br i1 %.not1806, label %3678, label %3679

3678:                                             ; preds = %3674, %3668
  br label %3679

3679:                                             ; preds = %3674, %3678
  %.str.81.sink3078 = phi ptr [ @.str.81, %3678 ], [ @.str.78, %3674 ]
  store i32 %3669, ptr %288, align 4, !tbaa !5
  %3680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3681 = load i32, ptr @test_count, align 4, !tbaa !5
  %3682 = load i32, ptr %234, align 4, !tbaa !5
  %3683 = call ptr @s2n_strerror(i32 noundef %3682, ptr noundef nonnull @.str.80) #12
  %3684 = load i32, ptr %234, align 4, !tbaa !5
  %3685 = call ptr @s2n_strerror_debug(i32 noundef %3684, ptr noundef nonnull @.str.80) #12
  %3686 = load i32, ptr %288, align 4, !tbaa !5
  %3687 = call ptr @strerror(i32 noundef %3686) #12
  %3688 = load i32, ptr %288, align 4, !tbaa !5
  %3689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3680, ptr noundef nonnull %.str.81.sink3078, i32 noundef %3681, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.77, i32 noundef 285, ptr noundef %3683, ptr noundef %3685, ptr noundef %3687, i32 noundef %3688) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3690:                                             ; preds = %3661
  %3691 = add nsw i32 %3662, 2
  store i32 %3691, ptr @test_count, align 4, !tbaa !5
  %3692 = getelementptr inbounds i8, ptr %3664, i64 32
  %3693 = load ptr, ptr %3692, align 8, !tbaa !28
  %3694 = icmp eq ptr %3693, null
  br i1 %3694, label %3717, label %3695

3695:                                             ; preds = %3690
  %3696 = load i32, ptr %288, align 4, !tbaa !5
  %3697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3698 = call i32 @s2n_print_stacktrace(ptr noundef %3697) #12
  %3699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3700 = trunc nuw i8 %3699 to i1
  br i1 %3700, label %3701, label %3705

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

3705:                                             ; preds = %3701, %3695
  br label %3706

3706:                                             ; preds = %3701, %3705
  %.str.81.sink3087 = phi ptr [ @.str.81, %3705 ], [ @.str.78, %3701 ]
  store i32 %3696, ptr %288, align 4, !tbaa !5
  %3707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3708 = load i32, ptr @test_count, align 4, !tbaa !5
  %3709 = load i32, ptr %234, align 4, !tbaa !5
  %3710 = call ptr @s2n_strerror(i32 noundef %3709, ptr noundef nonnull @.str.80) #12
  %3711 = load i32, ptr %234, align 4, !tbaa !5
  %3712 = call ptr @s2n_strerror_debug(i32 noundef %3711, ptr noundef nonnull @.str.80) #12
  %3713 = load i32, ptr %288, align 4, !tbaa !5
  %3714 = call ptr @strerror(i32 noundef %3713) #12
  %3715 = load i32, ptr %288, align 4, !tbaa !5
  %3716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3707, ptr noundef nonnull %.str.81.sink3087, i32 noundef %3708, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.77, i32 noundef 286, ptr noundef %3710, ptr noundef %3712, ptr noundef %3714, i32 noundef %3715) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3717:                                             ; preds = %3690
  %3718 = add nsw i32 %3662, 3
  store i32 %3718, ptr @test_count, align 4, !tbaa !5
  %3719 = getelementptr inbounds i8, ptr %3664, i64 40
  %3720 = load i32, ptr %3719, align 8, !tbaa !27
  %3721 = icmp eq i32 %3720, 0
  br i1 %3721, label %3744, label %3722

3722:                                             ; preds = %3717
  %3723 = load i32, ptr %288, align 4, !tbaa !5
  %3724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3725 = call i32 @s2n_print_stacktrace(ptr noundef %3724) #12
  %3726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3727 = trunc nuw i8 %3726 to i1
  br i1 %3727, label %3728, label %3732

3728:                                             ; preds = %3722
  %3729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3730 = call i32 @fileno(ptr noundef %3729) #12
  %3731 = call i32 @isatty(i32 noundef %3730) #12
  %.not1803 = icmp eq i32 %3731, 0
  br i1 %.not1803, label %3732, label %3733

3732:                                             ; preds = %3728, %3722
  br label %3733

3733:                                             ; preds = %3728, %3732
  %.str.81.sink3096 = phi ptr [ @.str.81, %3732 ], [ @.str.78, %3728 ]
  store i32 %3723, ptr %288, align 4, !tbaa !5
  %3734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3735 = load i32, ptr @test_count, align 4, !tbaa !5
  %3736 = load i32, ptr %234, align 4, !tbaa !5
  %3737 = call ptr @s2n_strerror(i32 noundef %3736, ptr noundef nonnull @.str.80) #12
  %3738 = load i32, ptr %234, align 4, !tbaa !5
  %3739 = call ptr @s2n_strerror_debug(i32 noundef %3738, ptr noundef nonnull @.str.80) #12
  %3740 = load i32, ptr %288, align 4, !tbaa !5
  %3741 = call ptr @strerror(i32 noundef %3740) #12
  %3742 = load i32, ptr %288, align 4, !tbaa !5
  %3743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3734, ptr noundef nonnull %.str.81.sink3096, i32 noundef %3735, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.77, i32 noundef 287, ptr noundef %3737, ptr noundef %3739, ptr noundef %3741, i32 noundef %3742) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3744:                                             ; preds = %3717
  %3745 = add nsw i32 %3662, 4
  store i32 %3745, ptr @test_count, align 4, !tbaa !5
  %3746 = getelementptr inbounds i8, ptr %3664, i64 72
  %3747 = load ptr, ptr %3746, align 8, !tbaa !30
  %3748 = icmp eq ptr %3747, null
  br i1 %3748, label %3771, label %3749

3749:                                             ; preds = %3744
  %3750 = load i32, ptr %288, align 4, !tbaa !5
  %3751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3752 = call i32 @s2n_print_stacktrace(ptr noundef %3751) #12
  %3753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3754 = trunc nuw i8 %3753 to i1
  br i1 %3754, label %3755, label %3759

3755:                                             ; preds = %3749
  %3756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3757 = call i32 @fileno(ptr noundef %3756) #12
  %3758 = call i32 @isatty(i32 noundef %3757) #12
  %.not1804 = icmp eq i32 %3758, 0
  br i1 %.not1804, label %3759, label %3760

3759:                                             ; preds = %3755, %3749
  br label %3760

3760:                                             ; preds = %3755, %3759
  %.str.81.sink3105 = phi ptr [ @.str.81, %3759 ], [ @.str.78, %3755 ]
  store i32 %3750, ptr %288, align 4, !tbaa !5
  %3761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3762 = load i32, ptr @test_count, align 4, !tbaa !5
  %3763 = load i32, ptr %234, align 4, !tbaa !5
  %3764 = call ptr @s2n_strerror(i32 noundef %3763, ptr noundef nonnull @.str.80) #12
  %3765 = load i32, ptr %234, align 4, !tbaa !5
  %3766 = call ptr @s2n_strerror_debug(i32 noundef %3765, ptr noundef nonnull @.str.80) #12
  %3767 = load i32, ptr %288, align 4, !tbaa !5
  %3768 = call ptr @strerror(i32 noundef %3767) #12
  %3769 = load i32, ptr %288, align 4, !tbaa !5
  %3770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3761, ptr noundef nonnull %.str.81.sink3105, i32 noundef %3762, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.77, i32 noundef 288, ptr noundef %3764, ptr noundef %3766, ptr noundef %3768, i32 noundef %3769) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3771:                                             ; preds = %3744
  %3772 = add nsw i32 %3662, 5
  store i32 %3772, ptr @test_count, align 4, !tbaa !5
  %3773 = getelementptr inbounds i8, ptr %3664, i64 80
  %3774 = load i32, ptr %3773, align 8, !tbaa !29
  %3775 = icmp eq i32 %3774, 0
  br i1 %3775, label %3798, label %3776

3776:                                             ; preds = %3771
  %3777 = load i32, ptr %288, align 4, !tbaa !5
  %3778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3779 = call i32 @s2n_print_stacktrace(ptr noundef %3778) #12
  %3780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3781 = trunc nuw i8 %3780 to i1
  br i1 %3781, label %3782, label %3786

3782:                                             ; preds = %3776
  %3783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3784 = call i32 @fileno(ptr noundef %3783) #12
  %3785 = call i32 @isatty(i32 noundef %3784) #12
  %.not1805 = icmp eq i32 %3785, 0
  br i1 %.not1805, label %3786, label %3787

3786:                                             ; preds = %3782, %3776
  br label %3787

3787:                                             ; preds = %3782, %3786
  %.str.81.sink3114 = phi ptr [ @.str.81, %3786 ], [ @.str.78, %3782 ]
  store i32 %3777, ptr %288, align 4, !tbaa !5
  %3788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3789 = load i32, ptr @test_count, align 4, !tbaa !5
  %3790 = load i32, ptr %234, align 4, !tbaa !5
  %3791 = call ptr @s2n_strerror(i32 noundef %3790, ptr noundef nonnull @.str.80) #12
  %3792 = load i32, ptr %234, align 4, !tbaa !5
  %3793 = call ptr @s2n_strerror_debug(i32 noundef %3792, ptr noundef nonnull @.str.80) #12
  %3794 = load i32, ptr %288, align 4, !tbaa !5
  %3795 = call ptr @strerror(i32 noundef %3794) #12
  %3796 = load i32, ptr %288, align 4, !tbaa !5
  %3797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3788, ptr noundef nonnull %.str.81.sink3114, i32 noundef %3789, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.77, i32 noundef 289, ptr noundef %3791, ptr noundef %3793, ptr noundef %3795, i32 noundef %3796) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3798:                                             ; preds = %3771
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #12
  %3799 = add nuw nsw i64 %.012611875, 1
  %3800 = load i32, ptr %3606, align 8, !tbaa !38
  %3801 = zext i32 %3800 to i64
  %3802 = icmp ult i64 %3799, %3801
  br i1 %3802, label %.lr.ph, label %._crit_edge, !llvm.loop !39

3803:                                             ; preds = %._crit_edge
  %3804 = load i32, ptr %288, align 4, !tbaa !5
  %3805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3806 = call i32 @s2n_print_stacktrace(ptr noundef %3805) #12
  %3807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3808 = trunc nuw i8 %3807 to i1
  br i1 %3808, label %3809, label %3813

3809:                                             ; preds = %3803
  %3810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3811 = call i32 @fileno(ptr noundef %3810) #12
  %3812 = call i32 @isatty(i32 noundef %3811) #12
  %.not1412 = icmp eq i32 %3812, 0
  br i1 %.not1412, label %3813, label %3814

3813:                                             ; preds = %3809, %3803
  br label %3814

3814:                                             ; preds = %3809, %3813
  %.str.81.sink3123 = phi ptr [ @.str.81, %3813 ], [ @.str.78, %3809 ]
  store i32 %3804, ptr %288, align 4, !tbaa !5
  %3815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3816 = load i32, ptr @test_count, align 4, !tbaa !5
  %3817 = load i32, ptr %234, align 4, !tbaa !5
  %3818 = call ptr @s2n_strerror(i32 noundef %3817, ptr noundef nonnull @.str.80) #12
  %3819 = load i32, ptr %234, align 4, !tbaa !5
  %3820 = call ptr @s2n_strerror_debug(i32 noundef %3819, ptr noundef nonnull @.str.80) #12
  %3821 = load i32, ptr %288, align 4, !tbaa !5
  %3822 = call ptr @strerror(i32 noundef %3821) #12
  %3823 = load i32, ptr %288, align 4, !tbaa !5
  %3824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3815, ptr noundef nonnull %.str.81.sink3123, i32 noundef %3816, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.77, i32 noundef 292, ptr noundef %3818, ptr noundef %3820, ptr noundef %3822, i32 noundef %3823) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3825:                                             ; preds = %._crit_edge
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 17, ptr nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 19, ptr nonnull %28) #12
  call void @llvm.lifetime.start.p0(i64 11, ptr nonnull %34) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %34, ptr noundef nonnull align 1 dereferenceable(11) @__const.main.test_value.183, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %35) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %35, i8 0, i64 64, i1 false)
  %3826 = load i32, ptr @test_count, align 4, !tbaa !5
  %3827 = add nsw i32 %3826, 1
  store i32 %3827, ptr @test_count, align 4, !tbaa !5
  %3828 = call i32 @s2n_psk_parameters_init(ptr noundef nonnull %35)
  %3829 = call zeroext i1 @s2n_result_is_ok(i32 %3828)
  br i1 %3829, label %3852, label %3830

3830:                                             ; preds = %3825
  %3831 = load i32, ptr %288, align 4, !tbaa !5
  %3832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3833 = call i32 @s2n_print_stacktrace(ptr noundef %3832) #12
  %3834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3835 = trunc nuw i8 %3834 to i1
  br i1 %3835, label %3836, label %3840

3836:                                             ; preds = %3830
  %3837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3838 = call i32 @fileno(ptr noundef %3837) #12
  %3839 = call i32 @isatty(i32 noundef %3838) #12
  %.not1413 = icmp eq i32 %3839, 0
  br i1 %.not1413, label %3840, label %3841

3840:                                             ; preds = %3836, %3830
  br label %3841

3841:                                             ; preds = %3836, %3840
  %.str.81.sink3132 = phi ptr [ @.str.81, %3840 ], [ @.str.78, %3836 ]
  store i32 %3831, ptr %288, align 4, !tbaa !5
  %3842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3843 = load i32, ptr @test_count, align 4, !tbaa !5
  %3844 = load i32, ptr %234, align 4, !tbaa !5
  %3845 = call ptr @s2n_strerror(i32 noundef %3844, ptr noundef nonnull @.str.80) #12
  %3846 = load i32, ptr %234, align 4, !tbaa !5
  %3847 = call ptr @s2n_strerror_debug(i32 noundef %3846, ptr noundef nonnull @.str.80) #12
  %3848 = load i32, ptr %288, align 4, !tbaa !5
  %3849 = call ptr @strerror(i32 noundef %3848) #12
  %3850 = load i32, ptr %288, align 4, !tbaa !5
  %3851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3842, ptr noundef nonnull %.str.81.sink3132, i32 noundef %3843, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.77, i32 noundef 300, ptr noundef %3845, ptr noundef %3847, ptr noundef %3849, i32 noundef %3850) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3852:                                             ; preds = %3825
  %3853 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %3854 = getelementptr inbounds i8, ptr %3853, i64 1688
  %3855 = getelementptr inbounds i8, ptr %3853, i64 1728
  store i16 1, ptr %3855, align 8, !tbaa !41
  %3856 = getelementptr inbounds i8, ptr %3853, i64 1730
  store i16 1, ptr %3856, align 2, !tbaa !63
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #12
  store ptr null, ptr %36, align 8, !tbaa !9
  %3857 = load i32, ptr @test_count, align 4, !tbaa !5
  %3858 = add nsw i32 %3857, 1
  store i32 %3858, ptr @test_count, align 4, !tbaa !5
  %3859 = getelementptr inbounds i8, ptr %3853, i64 1696
  %3860 = call i32 @s2n_array_pushback(ptr noundef nonnull %3859, ptr noundef nonnull %36) #12
  %3861 = call zeroext i1 @s2n_result_is_ok(i32 %3860)
  br i1 %3861, label %3884, label %3862

3862:                                             ; preds = %3852
  %3863 = load i32, ptr %288, align 4, !tbaa !5
  %3864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3865 = call i32 @s2n_print_stacktrace(ptr noundef %3864) #12
  %3866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3867 = trunc nuw i8 %3866 to i1
  br i1 %3867, label %3868, label %3872

3868:                                             ; preds = %3862
  %3869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3870 = call i32 @fileno(ptr noundef %3869) #12
  %3871 = call i32 @isatty(i32 noundef %3870) #12
  %.not1414 = icmp eq i32 %3871, 0
  br i1 %.not1414, label %3872, label %3873

3872:                                             ; preds = %3868, %3862
  br label %3873

3873:                                             ; preds = %3868, %3872
  %.str.81.sink3141 = phi ptr [ @.str.81, %3872 ], [ @.str.78, %3868 ]
  store i32 %3863, ptr %288, align 4, !tbaa !5
  %3874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3875 = load i32, ptr @test_count, align 4, !tbaa !5
  %3876 = load i32, ptr %234, align 4, !tbaa !5
  %3877 = call ptr @s2n_strerror(i32 noundef %3876, ptr noundef nonnull @.str.80) #12
  %3878 = load i32, ptr %234, align 4, !tbaa !5
  %3879 = call ptr @s2n_strerror_debug(i32 noundef %3878, ptr noundef nonnull @.str.80) #12
  %3880 = load i32, ptr %288, align 4, !tbaa !5
  %3881 = call ptr @strerror(i32 noundef %3880) #12
  %3882 = load i32, ptr %288, align 4, !tbaa !5
  %3883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3874, ptr noundef nonnull %.str.81.sink3141, i32 noundef %3875, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.77, i32 noundef 307, ptr noundef %3877, ptr noundef %3879, ptr noundef %3881, i32 noundef %3882) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3884:                                             ; preds = %3852
  %3885 = load i32, ptr @test_count, align 4, !tbaa !5
  %3886 = add nsw i32 %3885, 1
  store i32 %3886, ptr @test_count, align 4, !tbaa !5
  %3887 = load ptr, ptr %36, align 8, !tbaa !9
  %3888 = call i32 @s2n_psk_init(ptr noundef %3887, i32 noundef 1)
  %3889 = call zeroext i1 @s2n_result_is_ok(i32 %3888)
  br i1 %3889, label %3912, label %3890

3890:                                             ; preds = %3884
  %3891 = load i32, ptr %288, align 4, !tbaa !5
  %3892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3893 = call i32 @s2n_print_stacktrace(ptr noundef %3892) #12
  %3894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3895 = trunc nuw i8 %3894 to i1
  br i1 %3895, label %3896, label %3900

3896:                                             ; preds = %3890
  %3897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3898 = call i32 @fileno(ptr noundef %3897) #12
  %3899 = call i32 @isatty(i32 noundef %3898) #12
  %.not1415 = icmp eq i32 %3899, 0
  br i1 %.not1415, label %3900, label %3901

3900:                                             ; preds = %3896, %3890
  br label %3901

3901:                                             ; preds = %3896, %3900
  %.str.81.sink3150 = phi ptr [ @.str.81, %3900 ], [ @.str.78, %3896 ]
  store i32 %3891, ptr %288, align 4, !tbaa !5
  %3902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3903 = load i32, ptr @test_count, align 4, !tbaa !5
  %3904 = load i32, ptr %234, align 4, !tbaa !5
  %3905 = call ptr @s2n_strerror(i32 noundef %3904, ptr noundef nonnull @.str.80) #12
  %3906 = load i32, ptr %234, align 4, !tbaa !5
  %3907 = call ptr @s2n_strerror_debug(i32 noundef %3906, ptr noundef nonnull @.str.80) #12
  %3908 = load i32, ptr %288, align 4, !tbaa !5
  %3909 = call ptr @strerror(i32 noundef %3908) #12
  %3910 = load i32, ptr %288, align 4, !tbaa !5
  %3911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3902, ptr noundef nonnull %.str.81.sink3150, i32 noundef %3903, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.77, i32 noundef 308, ptr noundef %3905, ptr noundef %3907, ptr noundef %3909, i32 noundef %3910) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3912:                                             ; preds = %3884
  %3913 = load i32, ptr @test_count, align 4, !tbaa !5
  %3914 = add nsw i32 %3913, 1
  store i32 %3914, ptr @test_count, align 4, !tbaa !5
  %3915 = load ptr, ptr %36, align 8, !tbaa !9
  %3916 = call i32 @s2n_psk_set_identity(ptr noundef %3915, ptr noundef nonnull %34, i16 noundef zeroext 11)
  %3917 = icmp eq i32 %3916, -1
  br i1 %3917, label %3918, label %3940

3918:                                             ; preds = %3912
  %3919 = load i32, ptr %288, align 4, !tbaa !5
  %3920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3921 = call i32 @s2n_print_stacktrace(ptr noundef %3920) #12
  %3922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3923 = trunc nuw i8 %3922 to i1
  br i1 %3923, label %3924, label %3928

3924:                                             ; preds = %3918
  %3925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3926 = call i32 @fileno(ptr noundef %3925) #12
  %3927 = call i32 @isatty(i32 noundef %3926) #12
  %.not1800 = icmp eq i32 %3927, 0
  br i1 %.not1800, label %3928, label %3929

3928:                                             ; preds = %3924, %3918
  br label %3929

3929:                                             ; preds = %3924, %3928
  %.str.81.sink3159 = phi ptr [ @.str.81, %3928 ], [ @.str.78, %3924 ]
  store i32 %3919, ptr %288, align 4, !tbaa !5
  %3930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3931 = load i32, ptr @test_count, align 4, !tbaa !5
  %3932 = load i32, ptr %234, align 4, !tbaa !5
  %3933 = call ptr @s2n_strerror(i32 noundef %3932, ptr noundef nonnull @.str.80) #12
  %3934 = load i32, ptr %234, align 4, !tbaa !5
  %3935 = call ptr @s2n_strerror_debug(i32 noundef %3934, ptr noundef nonnull @.str.80) #12
  %3936 = load i32, ptr %288, align 4, !tbaa !5
  %3937 = call ptr @strerror(i32 noundef %3936) #12
  %3938 = load i32, ptr %288, align 4, !tbaa !5
  %3939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3930, ptr noundef nonnull %.str.81.sink3159, i32 noundef %3931, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.77, i32 noundef 309, ptr noundef %3933, ptr noundef %3935, ptr noundef %3937, i32 noundef %3938) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3940:                                             ; preds = %3912
  %3941 = load ptr, ptr %36, align 8, !tbaa !9
  %3942 = getelementptr inbounds i8, ptr %3853, i64 1736
  store ptr %3941, ptr %3942, align 8, !tbaa !64
  %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 = call i32 @s2n_connection_wipe(ptr noundef nonnull %3853) #12
  %3946 = icmp eq i32 %3945, -1
  br i1 %3946, label %3947, label %3969

3947:                                             ; preds = %3940
  %3948 = load i32, ptr %288, align 4, !tbaa !5
  %3949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3950 = call i32 @s2n_print_stacktrace(ptr noundef %3949) #12
  %3951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3952 = trunc nuw i8 %3951 to i1
  br i1 %3952, label %3953, label %3957

3953:                                             ; preds = %3947
  %3954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3955 = call i32 @fileno(ptr noundef %3954) #12
  %3956 = call i32 @isatty(i32 noundef %3955) #12
  %.not1799 = icmp eq i32 %3956, 0
  br i1 %.not1799, label %3957, label %3958

3957:                                             ; preds = %3953, %3947
  br label %3958

3958:                                             ; preds = %3953, %3957
  %.str.81.sink3168 = phi ptr [ @.str.81, %3957 ], [ @.str.78, %3953 ]
  store i32 %3948, ptr %288, align 4, !tbaa !5
  %3959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3960 = load i32, ptr @test_count, align 4, !tbaa !5
  %3961 = load i32, ptr %234, align 4, !tbaa !5
  %3962 = call ptr @s2n_strerror(i32 noundef %3961, ptr noundef nonnull @.str.80) #12
  %3963 = load i32, ptr %234, align 4, !tbaa !5
  %3964 = call ptr @s2n_strerror_debug(i32 noundef %3963, ptr noundef nonnull @.str.80) #12
  %3965 = load i32, ptr %288, align 4, !tbaa !5
  %3966 = call ptr @strerror(i32 noundef %3965) #12
  %3967 = load i32, ptr %288, align 4, !tbaa !5
  %3968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3959, ptr noundef nonnull %.str.81.sink3168, i32 noundef %3960, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.77, i32 noundef 312, ptr noundef %3962, ptr noundef %3964, ptr noundef %3966, i32 noundef %3967) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3969:                                             ; preds = %3940
  %3970 = load i32, ptr @test_count, align 4, !tbaa !5
  %3971 = add nsw i32 %3970, 1
  store i32 %3971, ptr @test_count, align 4, !tbaa !5
  %bcmp1416 = call i32 @bcmp(ptr noundef nonnull dereferenceable(64) %35, ptr noundef nonnull dereferenceable(64) %3854, i64 64)
  %3972 = icmp eq i32 %bcmp1416, 0
  br i1 %3972, label %3995, label %3973

3973:                                             ; preds = %3969
  %3974 = load i32, ptr %288, align 4, !tbaa !5
  %3975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3976 = call i32 @s2n_print_stacktrace(ptr noundef %3975) #12
  %3977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3978 = trunc nuw i8 %3977 to i1
  br i1 %3978, label %3979, label %3983

3979:                                             ; preds = %3973
  %3980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3981 = call i32 @fileno(ptr noundef %3980) #12
  %3982 = call i32 @isatty(i32 noundef %3981) #12
  %.not1417 = icmp eq i32 %3982, 0
  br i1 %.not1417, label %3983, label %3984

3983:                                             ; preds = %3979, %3973
  br label %3984

3984:                                             ; preds = %3979, %3983
  %.str.81.sink3177 = phi ptr [ @.str.81, %3983 ], [ @.str.78, %3979 ]
  store i32 %3974, ptr %288, align 4, !tbaa !5
  %3985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3986 = load i32, ptr @test_count, align 4, !tbaa !5
  %3987 = load i32, ptr %234, align 4, !tbaa !5
  %3988 = call ptr @s2n_strerror(i32 noundef %3987, ptr noundef nonnull @.str.80) #12
  %3989 = load i32, ptr %234, align 4, !tbaa !5
  %3990 = call ptr @s2n_strerror_debug(i32 noundef %3989, ptr noundef nonnull @.str.80) #12
  %3991 = load i32, ptr %288, align 4, !tbaa !5
  %3992 = call ptr @strerror(i32 noundef %3991) #12
  %3993 = load i32, ptr %288, align 4, !tbaa !5
  %3994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3985, ptr noundef nonnull %.str.81.sink3177, i32 noundef %3986, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.77, i32 noundef 313, ptr noundef %3988, ptr noundef %3990, ptr noundef %3992, i32 noundef %3993) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3995:                                             ; preds = %3969
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #12
  store ptr null, ptr %37, align 8, !tbaa !9
  %3996 = add nsw i32 %3970, 2
  store i32 %3996, ptr @test_count, align 4, !tbaa !5
  %3997 = call i32 @s2n_array_pushback(ptr noundef nonnull %3859, ptr noundef nonnull %37) #12
  %3998 = call zeroext i1 @s2n_result_is_ok(i32 %3997)
  br i1 %3998, label %4021, label %3999

3999:                                             ; preds = %3995
  %4000 = load i32, ptr %288, align 4, !tbaa !5
  %4001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4002 = call i32 @s2n_print_stacktrace(ptr noundef %4001) #12
  %4003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4004 = trunc nuw i8 %4003 to i1
  br i1 %4004, label %4005, label %4009

4005:                                             ; preds = %3999
  %4006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4007 = call i32 @fileno(ptr noundef %4006) #12
  %4008 = call i32 @isatty(i32 noundef %4007) #12
  %.not1418 = icmp eq i32 %4008, 0
  br i1 %.not1418, label %4009, label %4010

4009:                                             ; preds = %4005, %3999
  br label %4010

4010:                                             ; preds = %4005, %4009
  %.str.81.sink3186 = phi ptr [ @.str.81, %4009 ], [ @.str.78, %4005 ]
  store i32 %4000, ptr %288, align 4, !tbaa !5
  %4011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4012 = load i32, ptr @test_count, align 4, !tbaa !5
  %4013 = load i32, ptr %234, align 4, !tbaa !5
  %4014 = call ptr @s2n_strerror(i32 noundef %4013, ptr noundef nonnull @.str.80) #12
  %4015 = load i32, ptr %234, align 4, !tbaa !5
  %4016 = call ptr @s2n_strerror_debug(i32 noundef %4015, ptr noundef nonnull @.str.80) #12
  %4017 = load i32, ptr %288, align 4, !tbaa !5
  %4018 = call ptr @strerror(i32 noundef %4017) #12
  %4019 = load i32, ptr %288, align 4, !tbaa !5
  %4020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4011, ptr noundef nonnull %.str.81.sink3186, i32 noundef %4012, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.77, i32 noundef 316, ptr noundef %4014, ptr noundef %4016, ptr noundef %4018, i32 noundef %4019) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4021:                                             ; preds = %3995
  %4022 = load i32, ptr @test_count, align 4, !tbaa !5
  %4023 = add nsw i32 %4022, 1
  store i32 %4023, ptr @test_count, align 4, !tbaa !5
  %4024 = load ptr, ptr %37, align 8, !tbaa !9
  %4025 = call i32 @s2n_psk_init(ptr noundef %4024, i32 noundef 1)
  %4026 = call zeroext i1 @s2n_result_is_ok(i32 %4025)
  br i1 %4026, label %4049, label %4027

4027:                                             ; preds = %4021
  %4028 = load i32, ptr %288, align 4, !tbaa !5
  %4029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4030 = call i32 @s2n_print_stacktrace(ptr noundef %4029) #12
  %4031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4032 = trunc nuw i8 %4031 to i1
  br i1 %4032, label %4033, label %4037

4033:                                             ; preds = %4027
  %4034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4035 = call i32 @fileno(ptr noundef %4034) #12
  %4036 = call i32 @isatty(i32 noundef %4035) #12
  %.not1419 = icmp eq i32 %4036, 0
  br i1 %.not1419, label %4037, label %4038

4037:                                             ; preds = %4033, %4027
  br label %4038

4038:                                             ; preds = %4033, %4037
  %.str.81.sink3195 = phi ptr [ @.str.81, %4037 ], [ @.str.78, %4033 ]
  store i32 %4028, ptr %288, align 4, !tbaa !5
  %4039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4040 = load i32, ptr @test_count, align 4, !tbaa !5
  %4041 = load i32, ptr %234, align 4, !tbaa !5
  %4042 = call ptr @s2n_strerror(i32 noundef %4041, ptr noundef nonnull @.str.80) #12
  %4043 = load i32, ptr %234, align 4, !tbaa !5
  %4044 = call ptr @s2n_strerror_debug(i32 noundef %4043, ptr noundef nonnull @.str.80) #12
  %4045 = load i32, ptr %288, align 4, !tbaa !5
  %4046 = call ptr @strerror(i32 noundef %4045) #12
  %4047 = load i32, ptr %288, align 4, !tbaa !5
  %4048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4039, ptr noundef nonnull %.str.81.sink3195, i32 noundef %4040, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.77, i32 noundef 317, ptr noundef %4042, ptr noundef %4044, ptr noundef %4046, i32 noundef %4047) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4049:                                             ; preds = %4021
  %4050 = load i32, ptr @test_count, align 4, !tbaa !5
  %4051 = add nsw i32 %4050, 1
  store i32 %4051, ptr @test_count, align 4, !tbaa !5
  %4052 = load ptr, ptr %37, align 8, !tbaa !9
  %4053 = call i32 @s2n_psk_set_identity(ptr noundef %4052, ptr noundef nonnull %34, i16 noundef zeroext 11)
  %4054 = icmp eq i32 %4053, -1
  br i1 %4054, label %4055, label %4077

4055:                                             ; preds = %4049
  %4056 = load i32, ptr %288, align 4, !tbaa !5
  %4057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4058 = call i32 @s2n_print_stacktrace(ptr noundef %4057) #12
  %4059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4060 = trunc nuw i8 %4059 to i1
  br i1 %4060, label %4061, label %4065

4061:                                             ; preds = %4055
  %4062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4063 = call i32 @fileno(ptr noundef %4062) #12
  %4064 = call i32 @isatty(i32 noundef %4063) #12
  %.not1798 = icmp eq i32 %4064, 0
  br i1 %.not1798, label %4065, label %4066

4065:                                             ; preds = %4061, %4055
  br label %4066

4066:                                             ; preds = %4061, %4065
  %.str.81.sink3204 = phi ptr [ @.str.81, %4065 ], [ @.str.78, %4061 ]
  store i32 %4056, ptr %288, align 4, !tbaa !5
  %4067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4068 = load i32, ptr @test_count, align 4, !tbaa !5
  %4069 = load i32, ptr %234, align 4, !tbaa !5
  %4070 = call ptr @s2n_strerror(i32 noundef %4069, ptr noundef nonnull @.str.80) #12
  %4071 = load i32, ptr %234, align 4, !tbaa !5
  %4072 = call ptr @s2n_strerror_debug(i32 noundef %4071, ptr noundef nonnull @.str.80) #12
  %4073 = load i32, ptr %288, align 4, !tbaa !5
  %4074 = call ptr @strerror(i32 noundef %4073) #12
  %4075 = load i32, ptr %288, align 4, !tbaa !5
  %4076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4067, ptr noundef nonnull %.str.81.sink3204, i32 noundef %4068, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.77, i32 noundef 318, ptr noundef %4070, ptr noundef %4072, ptr noundef %4074, i32 noundef %4075) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4077:                                             ; preds = %4049
  %4078 = load ptr, ptr %37, align 8, !tbaa !9
  store ptr %4078, ptr %3942, align 8, !tbaa !64
  %4079 = load i32, ptr @test_count, align 4, !tbaa !5
  %4080 = add nsw i32 %4079, 1
  store i32 %4080, ptr @test_count, align 4, !tbaa !5
  %4081 = call i32 @s2n_connection_wipe(ptr noundef nonnull %3853) #12
  %4082 = icmp eq i32 %4081, -1
  br i1 %4082, label %4083, label %4105

4083:                                             ; preds = %4077
  %4084 = load i32, ptr %288, align 4, !tbaa !5
  %4085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4086 = call i32 @s2n_print_stacktrace(ptr noundef %4085) #12
  %4087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4088 = trunc nuw i8 %4087 to i1
  br i1 %4088, label %4089, label %4093

4089:                                             ; preds = %4083
  %4090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4091 = call i32 @fileno(ptr noundef %4090) #12
  %4092 = call i32 @isatty(i32 noundef %4091) #12
  %.not1797 = icmp eq i32 %4092, 0
  br i1 %.not1797, label %4093, label %4094

4093:                                             ; preds = %4089, %4083
  br label %4094

4094:                                             ; preds = %4089, %4093
  %.str.81.sink3213 = phi ptr [ @.str.81, %4093 ], [ @.str.78, %4089 ]
  store i32 %4084, ptr %288, align 4, !tbaa !5
  %4095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4096 = load i32, ptr @test_count, align 4, !tbaa !5
  %4097 = load i32, ptr %234, align 4, !tbaa !5
  %4098 = call ptr @s2n_strerror(i32 noundef %4097, ptr noundef nonnull @.str.80) #12
  %4099 = load i32, ptr %234, align 4, !tbaa !5
  %4100 = call ptr @s2n_strerror_debug(i32 noundef %4099, ptr noundef nonnull @.str.80) #12
  %4101 = load i32, ptr %288, align 4, !tbaa !5
  %4102 = call ptr @strerror(i32 noundef %4101) #12
  %4103 = load i32, ptr %288, align 4, !tbaa !5
  %4104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4095, ptr noundef nonnull %.str.81.sink3213, i32 noundef %4096, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.77, i32 noundef 321, ptr noundef %4098, ptr noundef %4100, ptr noundef %4102, i32 noundef %4103) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4105:                                             ; preds = %4077
  %4106 = load i32, ptr @test_count, align 4, !tbaa !5
  %4107 = add nsw i32 %4106, 1
  store i32 %4107, ptr @test_count, align 4, !tbaa !5
  %bcmp1420 = call i32 @bcmp(ptr noundef nonnull dereferenceable(64) %35, ptr noundef nonnull dereferenceable(64) %3854, i64 64)
  %4108 = icmp eq i32 %bcmp1420, 0
  br i1 %4108, label %4131, label %4109

4109:                                             ; preds = %4105
  %4110 = load i32, ptr %288, align 4, !tbaa !5
  %4111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4112 = call i32 @s2n_print_stacktrace(ptr noundef %4111) #12
  %4113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4114 = trunc nuw i8 %4113 to i1
  br i1 %4114, label %4115, label %4119

4115:                                             ; preds = %4109
  %4116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4117 = call i32 @fileno(ptr noundef %4116) #12
  %4118 = call i32 @isatty(i32 noundef %4117) #12
  %.not1421 = icmp eq i32 %4118, 0
  br i1 %.not1421, label %4119, label %4120

4119:                                             ; preds = %4115, %4109
  br label %4120

4120:                                             ; preds = %4115, %4119
  %.str.81.sink3222 = phi ptr [ @.str.81, %4119 ], [ @.str.78, %4115 ]
  store i32 %4110, ptr %288, align 4, !tbaa !5
  %4121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4122 = load i32, ptr @test_count, align 4, !tbaa !5
  %4123 = load i32, ptr %234, align 4, !tbaa !5
  %4124 = call ptr @s2n_strerror(i32 noundef %4123, ptr noundef nonnull @.str.80) #12
  %4125 = load i32, ptr %234, align 4, !tbaa !5
  %4126 = call ptr @s2n_strerror_debug(i32 noundef %4125, ptr noundef nonnull @.str.80) #12
  %4127 = load i32, ptr %288, align 4, !tbaa !5
  %4128 = call ptr @strerror(i32 noundef %4127) #12
  %4129 = load i32, ptr %288, align 4, !tbaa !5
  %4130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4121, ptr noundef nonnull %.str.81.sink3222, i32 noundef %4122, ptr noundef nonnull @.str.189, ptr noundef nonnull @.str.77, i32 noundef 322, ptr noundef %4124, ptr noundef %4126, ptr noundef %4128, i32 noundef %4129) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4131:                                             ; preds = %4105
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #12
  store ptr null, ptr %38, align 8, !tbaa !9
  %4132 = add nsw i32 %4106, 2
  store i32 %4132, ptr @test_count, align 4, !tbaa !5
  %4133 = call i32 @s2n_array_pushback(ptr noundef nonnull %3859, ptr noundef nonnull %38) #12
  %4134 = call zeroext i1 @s2n_result_is_ok(i32 %4133)
  br i1 %4134, label %4157, label %4135

4135:                                             ; preds = %4131
  %4136 = load i32, ptr %288, 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
  %.not1422 = icmp eq i32 %4144, 0
  br i1 %.not1422, label %4145, label %4146

4145:                                             ; preds = %4141, %4135
  br label %4146

4146:                                             ; preds = %4141, %4145
  %.str.81.sink3231 = phi ptr [ @.str.81, %4145 ], [ @.str.78, %4141 ]
  store i32 %4136, ptr %288, 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 %234, align 4, !tbaa !5
  %4150 = call ptr @s2n_strerror(i32 noundef %4149, ptr noundef nonnull @.str.80) #12
  %4151 = load i32, ptr %234, align 4, !tbaa !5
  %4152 = call ptr @s2n_strerror_debug(i32 noundef %4151, ptr noundef nonnull @.str.80) #12
  %4153 = load i32, ptr %288, align 4, !tbaa !5
  %4154 = call ptr @strerror(i32 noundef %4153) #12
  %4155 = load i32, ptr %288, align 4, !tbaa !5
  %4156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4147, ptr noundef nonnull %.str.81.sink3231, i32 noundef %4148, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.77, i32 noundef 325, ptr noundef %4150, ptr noundef %4152, ptr noundef %4154, i32 noundef %4155) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4157:                                             ; preds = %4131
  %4158 = load i32, ptr @test_count, align 4, !tbaa !5
  %4159 = add nsw i32 %4158, 1
  store i32 %4159, ptr @test_count, align 4, !tbaa !5
  %4160 = load ptr, ptr %38, align 8, !tbaa !9
  %4161 = call i32 @s2n_psk_init(ptr noundef %4160, i32 noundef 1)
  %4162 = call zeroext i1 @s2n_result_is_ok(i32 %4161)
  br i1 %4162, label %4185, label %4163

4163:                                             ; preds = %4157
  %4164 = load i32, ptr %288, align 4, !tbaa !5
  %4165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4166 = call i32 @s2n_print_stacktrace(ptr noundef %4165) #12
  %4167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4168 = trunc nuw i8 %4167 to i1
  br i1 %4168, label %4169, label %4173

4169:                                             ; preds = %4163
  %4170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4171 = call i32 @fileno(ptr noundef %4170) #12
  %4172 = call i32 @isatty(i32 noundef %4171) #12
  %.not1423 = icmp eq i32 %4172, 0
  br i1 %.not1423, label %4173, label %4174

4173:                                             ; preds = %4169, %4163
  br label %4174

4174:                                             ; preds = %4169, %4173
  %.str.81.sink3240 = phi ptr [ @.str.81, %4173 ], [ @.str.78, %4169 ]
  store i32 %4164, ptr %288, align 4, !tbaa !5
  %4175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4176 = load i32, ptr @test_count, align 4, !tbaa !5
  %4177 = load i32, ptr %234, align 4, !tbaa !5
  %4178 = call ptr @s2n_strerror(i32 noundef %4177, ptr noundef nonnull @.str.80) #12
  %4179 = load i32, ptr %234, align 4, !tbaa !5
  %4180 = call ptr @s2n_strerror_debug(i32 noundef %4179, ptr noundef nonnull @.str.80) #12
  %4181 = load i32, ptr %288, align 4, !tbaa !5
  %4182 = call ptr @strerror(i32 noundef %4181) #12
  %4183 = load i32, ptr %288, align 4, !tbaa !5
  %4184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4175, ptr noundef nonnull %.str.81.sink3240, i32 noundef %4176, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.77, i32 noundef 326, ptr noundef %4178, ptr noundef %4180, ptr noundef %4182, i32 noundef %4183) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4185:                                             ; preds = %4157
  %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 = load ptr, ptr %38, align 8, !tbaa !9
  %4189 = call i32 @s2n_psk_set_identity(ptr noundef %4188, ptr noundef nonnull %34, i16 noundef zeroext 11)
  %4190 = icmp eq i32 %4189, -1
  br i1 %4190, label %4191, label %4213

4191:                                             ; preds = %4185
  %4192 = load i32, ptr %288, align 4, !tbaa !5
  %4193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4194 = call i32 @s2n_print_stacktrace(ptr noundef %4193) #12
  %4195 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4196 = trunc nuw i8 %4195 to i1
  br i1 %4196, label %4197, label %4201

4197:                                             ; preds = %4191
  %4198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4199 = call i32 @fileno(ptr noundef %4198) #12
  %4200 = call i32 @isatty(i32 noundef %4199) #12
  %.not1796 = icmp eq i32 %4200, 0
  br i1 %.not1796, label %4201, label %4202

4201:                                             ; preds = %4197, %4191
  br label %4202

4202:                                             ; preds = %4197, %4201
  %.str.81.sink3249 = phi ptr [ @.str.81, %4201 ], [ @.str.78, %4197 ]
  store i32 %4192, ptr %288, align 4, !tbaa !5
  %4203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4204 = load i32, ptr @test_count, align 4, !tbaa !5
  %4205 = load i32, ptr %234, align 4, !tbaa !5
  %4206 = call ptr @s2n_strerror(i32 noundef %4205, ptr noundef nonnull @.str.80) #12
  %4207 = load i32, ptr %234, align 4, !tbaa !5
  %4208 = call ptr @s2n_strerror_debug(i32 noundef %4207, ptr noundef nonnull @.str.80) #12
  %4209 = load i32, ptr %288, align 4, !tbaa !5
  %4210 = call ptr @strerror(i32 noundef %4209) #12
  %4211 = load i32, ptr %288, align 4, !tbaa !5
  %4212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4203, ptr noundef nonnull %.str.81.sink3249, i32 noundef %4204, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.77, i32 noundef 327, ptr noundef %4206, ptr noundef %4208, ptr noundef %4210, i32 noundef %4211) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4213:                                             ; preds = %4185
  %4214 = load ptr, ptr %38, align 8, !tbaa !9
  store ptr %4214, ptr %3942, align 8, !tbaa !64
  %4215 = load i32, ptr @test_count, align 4, !tbaa !5
  %4216 = add nsw i32 %4215, 1
  store i32 %4216, ptr @test_count, align 4, !tbaa !5
  %4217 = call i32 @s2n_connection_free(ptr noundef nonnull %3853) #12
  %4218 = icmp eq i32 %4217, -1
  br i1 %4218, label %4219, label %4241

4219:                                             ; preds = %4213
  %4220 = load i32, ptr %288, align 4, !tbaa !5
  %4221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4222 = call i32 @s2n_print_stacktrace(ptr noundef %4221) #12
  %4223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4224 = trunc nuw i8 %4223 to i1
  br i1 %4224, label %4225, label %4229

4225:                                             ; preds = %4219
  %4226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4227 = call i32 @fileno(ptr noundef %4226) #12
  %4228 = call i32 @isatty(i32 noundef %4227) #12
  %.not1795 = icmp eq i32 %4228, 0
  br i1 %.not1795, label %4229, label %4230

4229:                                             ; preds = %4225, %4219
  br label %4230

4230:                                             ; preds = %4225, %4229
  %.str.81.sink3258 = phi ptr [ @.str.81, %4229 ], [ @.str.78, %4225 ]
  store i32 %4220, ptr %288, align 4, !tbaa !5
  %4231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4232 = load i32, ptr @test_count, align 4, !tbaa !5
  %4233 = load i32, ptr %234, align 4, !tbaa !5
  %4234 = call ptr @s2n_strerror(i32 noundef %4233, ptr noundef nonnull @.str.80) #12
  %4235 = load i32, ptr %234, align 4, !tbaa !5
  %4236 = call ptr @s2n_strerror_debug(i32 noundef %4235, ptr noundef nonnull @.str.80) #12
  %4237 = load i32, ptr %288, align 4, !tbaa !5
  %4238 = call ptr @strerror(i32 noundef %4237) #12
  %4239 = load i32, ptr %288, align 4, !tbaa !5
  %4240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4231, ptr noundef nonnull %.str.81.sink3258, i32 noundef %4232, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 330, ptr noundef %4234, ptr noundef %4236, ptr noundef %4238, i32 noundef %4239) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4241:                                             ; preds = %4213
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 11, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 11, ptr nonnull %39) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %39, ptr noundef nonnull align 1 dereferenceable(11) @__const.main.test_value.197, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %40) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %40, i8 0, i64 24, i1 false)
  %4242 = load i32, ptr @test_count, align 4, !tbaa !5
  %4243 = add nsw i32 %4242, 1
  store i32 %4243, ptr @test_count, align 4, !tbaa !5
  %4244 = call i32 @s2n_blob_init(ptr noundef nonnull %40, ptr noundef nonnull %39, i32 noundef 11) #12
  %4245 = icmp eq i32 %4244, -1
  br i1 %4245, label %4246, label %4268

4246:                                             ; preds = %4241
  %4247 = load i32, ptr %288, align 4, !tbaa !5
  %4248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4249 = call i32 @s2n_print_stacktrace(ptr noundef %4248) #12
  %4250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4251 = trunc nuw i8 %4250 to i1
  br i1 %4251, label %4252, label %4256

4252:                                             ; preds = %4246
  %4253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4254 = call i32 @fileno(ptr noundef %4253) #12
  %4255 = call i32 @isatty(i32 noundef %4254) #12
  %.not1794 = icmp eq i32 %4255, 0
  br i1 %.not1794, label %4256, label %4257

4256:                                             ; preds = %4252, %4246
  br label %4257

4257:                                             ; preds = %4252, %4256
  %.str.81.sink3267 = phi ptr [ @.str.81, %4256 ], [ @.str.78, %4252 ]
  store i32 %4247, ptr %288, align 4, !tbaa !5
  %4258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4259 = load i32, ptr @test_count, align 4, !tbaa !5
  %4260 = load i32, ptr %234, align 4, !tbaa !5
  %4261 = call ptr @s2n_strerror(i32 noundef %4260, ptr noundef nonnull @.str.80) #12
  %4262 = load i32, ptr %234, align 4, !tbaa !5
  %4263 = call ptr @s2n_strerror_debug(i32 noundef %4262, ptr noundef nonnull @.str.80) #12
  %4264 = load i32, ptr %288, align 4, !tbaa !5
  %4265 = call ptr @strerror(i32 noundef %4264) #12
  %4266 = load i32, ptr %288, align 4, !tbaa !5
  %4267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4258, ptr noundef nonnull %.str.81.sink3267, i32 noundef %4259, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.77, i32 noundef 338, ptr noundef %4261, ptr noundef %4263, ptr noundef %4265, i32 noundef %4266) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4268:                                             ; preds = %4241
  %4269 = load i32, ptr @test_count, align 4, !tbaa !5
  %4270 = add nsw i32 %4269, 1
  store i32 %4270, ptr @test_count, align 4, !tbaa !5
  %4271 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %4272 = icmp eq ptr %4271, null
  br i1 %4272, label %4273, label %4295

4273:                                             ; preds = %4268
  %4274 = load i32, ptr %288, align 4, !tbaa !5
  %4275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4276 = call i32 @s2n_print_stacktrace(ptr noundef %4275) #12
  %4277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4278 = trunc nuw i8 %4277 to i1
  br i1 %4278, label %4279, label %4283

4279:                                             ; preds = %4273
  %4280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4281 = call i32 @fileno(ptr noundef %4280) #12
  %4282 = call i32 @isatty(i32 noundef %4281) #12
  %.not1793 = icmp eq i32 %4282, 0
  br i1 %.not1793, label %4283, label %4284

4283:                                             ; preds = %4279, %4273
  br label %4284

4284:                                             ; preds = %4279, %4283
  %.str.81.sink3276 = phi ptr [ @.str.81, %4283 ], [ @.str.78, %4279 ]
  store i32 %4274, ptr %288, align 4, !tbaa !5
  %4285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4286 = load i32, ptr @test_count, align 4, !tbaa !5
  %4287 = load i32, ptr %234, align 4, !tbaa !5
  %4288 = call ptr @s2n_strerror(i32 noundef %4287, ptr noundef nonnull @.str.80) #12
  %4289 = load i32, ptr %234, align 4, !tbaa !5
  %4290 = call ptr @s2n_strerror_debug(i32 noundef %4289, ptr noundef nonnull @.str.80) #12
  %4291 = load i32, ptr %288, align 4, !tbaa !5
  %4292 = call ptr @strerror(i32 noundef %4291) #12
  %4293 = load i32, ptr %288, align 4, !tbaa !5
  %4294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4285, ptr noundef nonnull %.str.81.sink3276, i32 noundef %4286, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 345, ptr noundef %4288, ptr noundef %4290, ptr noundef %4292, i32 noundef %4293) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4295:                                             ; preds = %4268
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %41) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %41, i8 0, i64 40, i1 false)
  %4296 = load i32, ptr @test_count, align 4, !tbaa !5
  %4297 = add nsw i32 %4296, 1
  store i32 %4297, ptr @test_count, align 4, !tbaa !5
  %4298 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %41, i32 noundef 0) #12
  %4299 = icmp eq i32 %4298, -1
  br i1 %4299, label %4300, label %4322

4300:                                             ; preds = %4295
  %4301 = load i32, ptr %288, align 4, !tbaa !5
  %4302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4303 = call i32 @s2n_print_stacktrace(ptr noundef %4302) #12
  %4304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4305 = trunc nuw i8 %4304 to i1
  br i1 %4305, label %4306, label %4310

4306:                                             ; preds = %4300
  %4307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4308 = call i32 @fileno(ptr noundef %4307) #12
  %4309 = call i32 @isatty(i32 noundef %4308) #12
  %.not1792 = icmp eq i32 %4309, 0
  br i1 %.not1792, label %4310, label %4311

4310:                                             ; preds = %4306, %4300
  br label %4311

4311:                                             ; preds = %4306, %4310
  %.str.81.sink3285 = phi ptr [ @.str.81, %4310 ], [ @.str.78, %4306 ]
  store i32 %4301, ptr %288, align 4, !tbaa !5
  %4312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4313 = load i32, ptr @test_count, align 4, !tbaa !5
  %4314 = load i32, ptr %234, align 4, !tbaa !5
  %4315 = call ptr @s2n_strerror(i32 noundef %4314, ptr noundef nonnull @.str.80) #12
  %4316 = load i32, ptr %234, align 4, !tbaa !5
  %4317 = call ptr @s2n_strerror_debug(i32 noundef %4316, ptr noundef nonnull @.str.80) #12
  %4318 = load i32, ptr %288, align 4, !tbaa !5
  %4319 = call ptr @strerror(i32 noundef %4318) #12
  %4320 = load i32, ptr %288, align 4, !tbaa !5
  %4321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4312, ptr noundef nonnull %.str.81.sink3285, i32 noundef %4313, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.77, i32 noundef 348, ptr noundef %4315, ptr noundef %4317, ptr noundef %4319, i32 noundef %4320) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4322:                                             ; preds = %4295
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #12
  store ptr null, ptr %42, align 8, !tbaa !9
  %4323 = load i32, ptr @test_count, align 4, !tbaa !5
  %4324 = add nsw i32 %4323, 1
  store i32 %4324, ptr @test_count, align 4, !tbaa !5
  %4325 = getelementptr inbounds i8, ptr %4271, i64 1696
  %4326 = call i32 @s2n_array_pushback(ptr noundef nonnull %4325, ptr noundef nonnull %42) #12
  %4327 = call zeroext i1 @s2n_result_is_ok(i32 %4326)
  br i1 %4327, label %4350, label %4328

4328:                                             ; preds = %4322
  %4329 = load i32, ptr %288, align 4, !tbaa !5
  %4330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4331 = call i32 @s2n_print_stacktrace(ptr noundef %4330) #12
  %4332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4333 = trunc nuw i8 %4332 to i1
  br i1 %4333, label %4334, label %4338

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

4338:                                             ; preds = %4334, %4328
  br label %4339

4339:                                             ; preds = %4334, %4338
  %.str.81.sink3294 = phi ptr [ @.str.81, %4338 ], [ @.str.78, %4334 ]
  store i32 %4329, ptr %288, align 4, !tbaa !5
  %4340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4341 = load i32, ptr @test_count, align 4, !tbaa !5
  %4342 = load i32, ptr %234, align 4, !tbaa !5
  %4343 = call ptr @s2n_strerror(i32 noundef %4342, ptr noundef nonnull @.str.80) #12
  %4344 = load i32, ptr %234, align 4, !tbaa !5
  %4345 = call ptr @s2n_strerror_debug(i32 noundef %4344, ptr noundef nonnull @.str.80) #12
  %4346 = load i32, ptr %288, align 4, !tbaa !5
  %4347 = call ptr @strerror(i32 noundef %4346) #12
  %4348 = load i32, ptr %288, align 4, !tbaa !5
  %4349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4340, ptr noundef nonnull %.str.81.sink3294, i32 noundef %4341, ptr noundef nonnull @.str.201, ptr noundef nonnull @.str.77, i32 noundef 353, ptr noundef %4343, ptr noundef %4345, ptr noundef %4347, i32 noundef %4348) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4350:                                             ; preds = %4322
  %4351 = load i32, ptr @test_count, align 4, !tbaa !5
  %4352 = add nsw i32 %4351, 1
  store i32 %4352, ptr @test_count, align 4, !tbaa !5
  %4353 = load ptr, ptr %42, align 8, !tbaa !9
  %4354 = call i32 @s2n_psk_init(ptr noundef %4353, i32 noundef 1)
  %4355 = call zeroext i1 @s2n_result_is_ok(i32 %4354)
  br i1 %4355, label %4378, label %4356

4356:                                             ; preds = %4350
  %4357 = load i32, ptr %288, align 4, !tbaa !5
  %4358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4359 = call i32 @s2n_print_stacktrace(ptr noundef %4358) #12
  %4360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4361 = trunc nuw i8 %4360 to i1
  br i1 %4361, label %4362, label %4366

4362:                                             ; preds = %4356
  %4363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4364 = call i32 @fileno(ptr noundef %4363) #12
  %4365 = call i32 @isatty(i32 noundef %4364) #12
  %.not1425 = icmp eq i32 %4365, 0
  br i1 %.not1425, label %4366, label %4367

4366:                                             ; preds = %4362, %4356
  br label %4367

4367:                                             ; preds = %4362, %4366
  %.str.81.sink3303 = phi ptr [ @.str.81, %4366 ], [ @.str.78, %4362 ]
  store i32 %4357, ptr %288, align 4, !tbaa !5
  %4368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4369 = load i32, ptr @test_count, align 4, !tbaa !5
  %4370 = load i32, ptr %234, align 4, !tbaa !5
  %4371 = call ptr @s2n_strerror(i32 noundef %4370, ptr noundef nonnull @.str.80) #12
  %4372 = load i32, ptr %234, align 4, !tbaa !5
  %4373 = call ptr @s2n_strerror_debug(i32 noundef %4372, ptr noundef nonnull @.str.80) #12
  %4374 = load i32, ptr %288, align 4, !tbaa !5
  %4375 = call ptr @strerror(i32 noundef %4374) #12
  %4376 = load i32, ptr %288, align 4, !tbaa !5
  %4377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4368, ptr noundef nonnull %.str.81.sink3303, i32 noundef %4369, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.77, i32 noundef 354, ptr noundef %4371, ptr noundef %4373, ptr noundef %4375, i32 noundef %4376) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4378:                                             ; preds = %4350
  %4379 = load i32, ptr @test_count, align 4, !tbaa !5
  %4380 = add nsw i32 %4379, 1
  store i32 %4380, ptr @test_count, align 4, !tbaa !5
  %4381 = load ptr, ptr %42, align 8, !tbaa !9
  %4382 = call i32 @s2n_psk_set_secret(ptr noundef %4381, ptr noundef nonnull %39, i16 noundef zeroext 11)
  %4383 = icmp eq i32 %4382, -1
  br i1 %4383, label %4384, label %4406

4384:                                             ; preds = %4378
  %4385 = load i32, ptr %288, align 4, !tbaa !5
  %4386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4387 = call i32 @s2n_print_stacktrace(ptr noundef %4386) #12
  %4388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4389 = trunc nuw i8 %4388 to i1
  br i1 %4389, label %4390, label %4394

4390:                                             ; preds = %4384
  %4391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4392 = call i32 @fileno(ptr noundef %4391) #12
  %4393 = call i32 @isatty(i32 noundef %4392) #12
  %.not1791 = icmp eq i32 %4393, 0
  br i1 %.not1791, label %4394, label %4395

4394:                                             ; preds = %4390, %4384
  br label %4395

4395:                                             ; preds = %4390, %4394
  %.str.81.sink3312 = phi ptr [ @.str.81, %4394 ], [ @.str.78, %4390 ]
  store i32 %4385, ptr %288, align 4, !tbaa !5
  %4396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4397 = load i32, ptr @test_count, align 4, !tbaa !5
  %4398 = load i32, ptr %234, align 4, !tbaa !5
  %4399 = call ptr @s2n_strerror(i32 noundef %4398, ptr noundef nonnull @.str.80) #12
  %4400 = load i32, ptr %234, align 4, !tbaa !5
  %4401 = call ptr @s2n_strerror_debug(i32 noundef %4400, ptr noundef nonnull @.str.80) #12
  %4402 = load i32, ptr %288, align 4, !tbaa !5
  %4403 = call ptr @strerror(i32 noundef %4402) #12
  %4404 = load i32, ptr %288, align 4, !tbaa !5
  %4405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4396, ptr noundef nonnull %.str.81.sink3312, i32 noundef %4397, ptr noundef nonnull @.str.202, ptr noundef nonnull @.str.77, i32 noundef 355, ptr noundef %4399, ptr noundef %4401, ptr noundef %4403, i32 noundef %4404) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4406:                                             ; preds = %4378
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #12
  store ptr null, ptr %43, align 8, !tbaa !9
  %4407 = load i32, ptr @test_count, align 4, !tbaa !5
  %4408 = add nsw i32 %4407, 1
  store i32 %4408, ptr @test_count, align 4, !tbaa !5
  %4409 = call i32 @s2n_array_pushback(ptr noundef nonnull %4325, ptr noundef nonnull %43) #12
  %4410 = call zeroext i1 @s2n_result_is_ok(i32 %4409)
  br i1 %4410, label %4433, label %4411

4411:                                             ; preds = %4406
  %4412 = load i32, ptr %288, align 4, !tbaa !5
  %4413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4414 = call i32 @s2n_print_stacktrace(ptr noundef %4413) #12
  %4415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4416 = trunc nuw i8 %4415 to i1
  br i1 %4416, label %4417, label %4421

4417:                                             ; preds = %4411
  %4418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4419 = call i32 @fileno(ptr noundef %4418) #12
  %4420 = call i32 @isatty(i32 noundef %4419) #12
  %.not1426 = icmp eq i32 %4420, 0
  br i1 %.not1426, label %4421, label %4422

4421:                                             ; preds = %4417, %4411
  br label %4422

4422:                                             ; preds = %4417, %4421
  %.str.81.sink3321 = phi ptr [ @.str.81, %4421 ], [ @.str.78, %4417 ]
  store i32 %4412, ptr %288, align 4, !tbaa !5
  %4423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4424 = load i32, ptr @test_count, align 4, !tbaa !5
  %4425 = load i32, ptr %234, align 4, !tbaa !5
  %4426 = call ptr @s2n_strerror(i32 noundef %4425, ptr noundef nonnull @.str.80) #12
  %4427 = load i32, ptr %234, align 4, !tbaa !5
  %4428 = call ptr @s2n_strerror_debug(i32 noundef %4427, ptr noundef nonnull @.str.80) #12
  %4429 = load i32, ptr %288, align 4, !tbaa !5
  %4430 = call ptr @strerror(i32 noundef %4429) #12
  %4431 = load i32, ptr %288, align 4, !tbaa !5
  %4432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4423, ptr noundef nonnull %.str.81.sink3321, i32 noundef %4424, ptr noundef nonnull @.str.203, ptr noundef nonnull @.str.77, i32 noundef 358, ptr noundef %4426, ptr noundef %4428, ptr noundef %4430, i32 noundef %4431) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4433:                                             ; preds = %4406
  %4434 = load i32, ptr @test_count, align 4, !tbaa !5
  %4435 = add nsw i32 %4434, 1
  store i32 %4435, ptr @test_count, align 4, !tbaa !5
  %4436 = load ptr, ptr %43, align 8, !tbaa !9
  %4437 = call i32 @s2n_psk_init(ptr noundef %4436, i32 noundef 1)
  %4438 = call zeroext i1 @s2n_result_is_ok(i32 %4437)
  br i1 %4438, label %4461, label %4439

4439:                                             ; preds = %4433
  %4440 = load i32, ptr %288, align 4, !tbaa !5
  %4441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4442 = call i32 @s2n_print_stacktrace(ptr noundef %4441) #12
  %4443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4444 = trunc nuw i8 %4443 to i1
  br i1 %4444, label %4445, label %4449

4445:                                             ; preds = %4439
  %4446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4447 = call i32 @fileno(ptr noundef %4446) #12
  %4448 = call i32 @isatty(i32 noundef %4447) #12
  %.not1427 = icmp eq i32 %4448, 0
  br i1 %.not1427, label %4449, label %4450

4449:                                             ; preds = %4445, %4439
  br label %4450

4450:                                             ; preds = %4445, %4449
  %.str.81.sink3330 = phi ptr [ @.str.81, %4449 ], [ @.str.78, %4445 ]
  store i32 %4440, ptr %288, align 4, !tbaa !5
  %4451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4452 = load i32, ptr @test_count, align 4, !tbaa !5
  %4453 = load i32, ptr %234, align 4, !tbaa !5
  %4454 = call ptr @s2n_strerror(i32 noundef %4453, ptr noundef nonnull @.str.80) #12
  %4455 = load i32, ptr %234, align 4, !tbaa !5
  %4456 = call ptr @s2n_strerror_debug(i32 noundef %4455, ptr noundef nonnull @.str.80) #12
  %4457 = load i32, ptr %288, align 4, !tbaa !5
  %4458 = call ptr @strerror(i32 noundef %4457) #12
  %4459 = load i32, ptr %288, align 4, !tbaa !5
  %4460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4451, ptr noundef nonnull %.str.81.sink3330, i32 noundef %4452, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.77, i32 noundef 359, ptr noundef %4454, ptr noundef %4456, ptr noundef %4458, i32 noundef %4459) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4461:                                             ; preds = %4433
  %4462 = load i32, ptr @test_count, align 4, !tbaa !5
  %4463 = add nsw i32 %4462, 1
  store i32 %4463, ptr @test_count, align 4, !tbaa !5
  %4464 = load ptr, ptr %43, align 8, !tbaa !9
  %4465 = call i32 @s2n_psk_set_secret(ptr noundef %4464, ptr noundef nonnull %39, i16 noundef zeroext 11)
  %4466 = icmp eq i32 %4465, -1
  br i1 %4466, label %4467, label %4489

4467:                                             ; preds = %4461
  %4468 = load i32, ptr %288, align 4, !tbaa !5
  %4469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4470 = call i32 @s2n_print_stacktrace(ptr noundef %4469) #12
  %4471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4472 = trunc nuw i8 %4471 to i1
  br i1 %4472, label %4473, label %4477

4473:                                             ; preds = %4467
  %4474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4475 = call i32 @fileno(ptr noundef %4474) #12
  %4476 = call i32 @isatty(i32 noundef %4475) #12
  %.not1790 = icmp eq i32 %4476, 0
  br i1 %.not1790, label %4477, label %4478

4477:                                             ; preds = %4473, %4467
  br label %4478

4478:                                             ; preds = %4473, %4477
  %.str.81.sink3339 = phi ptr [ @.str.81, %4477 ], [ @.str.78, %4473 ]
  store i32 %4468, ptr %288, align 4, !tbaa !5
  %4479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4480 = load i32, ptr @test_count, align 4, !tbaa !5
  %4481 = load i32, ptr %234, align 4, !tbaa !5
  %4482 = call ptr @s2n_strerror(i32 noundef %4481, ptr noundef nonnull @.str.80) #12
  %4483 = load i32, ptr %234, align 4, !tbaa !5
  %4484 = call ptr @s2n_strerror_debug(i32 noundef %4483, ptr noundef nonnull @.str.80) #12
  %4485 = load i32, ptr %288, align 4, !tbaa !5
  %4486 = call ptr @strerror(i32 noundef %4485) #12
  %4487 = load i32, ptr %288, align 4, !tbaa !5
  %4488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4479, ptr noundef nonnull %.str.81.sink3339, i32 noundef %4480, ptr noundef nonnull @.str.204, ptr noundef nonnull @.str.77, i32 noundef 360, ptr noundef %4482, ptr noundef %4484, ptr noundef %4486, i32 noundef %4487) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4489:                                             ; preds = %4461
  %4490 = load i32, ptr @test_count, align 4, !tbaa !5
  %4491 = add nsw i32 %4490, 1
  store i32 %4491, ptr @test_count, align 4, !tbaa !5
  %4492 = call i32 @s2n_psk_write_binder_list(ptr noundef nonnull %4271, ptr noundef nonnull %40, ptr noundef nonnull %41)
  %4493 = call zeroext i1 @s2n_result_is_ok(i32 %4492)
  br i1 %4493, label %4516, label %4494

4494:                                             ; preds = %4489
  %4495 = load i32, ptr %288, align 4, !tbaa !5
  %4496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4497 = call i32 @s2n_print_stacktrace(ptr noundef %4496) #12
  %4498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4499 = trunc nuw i8 %4498 to i1
  br i1 %4499, label %4500, label %4504

4500:                                             ; preds = %4494
  %4501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4502 = call i32 @fileno(ptr noundef %4501) #12
  %4503 = call i32 @isatty(i32 noundef %4502) #12
  %.not1428 = icmp eq i32 %4503, 0
  br i1 %.not1428, label %4504, label %4505

4504:                                             ; preds = %4500, %4494
  br label %4505

4505:                                             ; preds = %4500, %4504
  %.str.81.sink3348 = phi ptr [ @.str.81, %4504 ], [ @.str.78, %4500 ]
  store i32 %4495, ptr %288, align 4, !tbaa !5
  %4506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4507 = load i32, ptr @test_count, align 4, !tbaa !5
  %4508 = load i32, ptr %234, align 4, !tbaa !5
  %4509 = call ptr @s2n_strerror(i32 noundef %4508, ptr noundef nonnull @.str.80) #12
  %4510 = load i32, ptr %234, align 4, !tbaa !5
  %4511 = call ptr @s2n_strerror_debug(i32 noundef %4510, ptr noundef nonnull @.str.80) #12
  %4512 = load i32, ptr %288, align 4, !tbaa !5
  %4513 = call ptr @strerror(i32 noundef %4512) #12
  %4514 = load i32, ptr %288, align 4, !tbaa !5
  %4515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4506, ptr noundef nonnull %.str.81.sink3348, i32 noundef %4507, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.77, i32 noundef 362, ptr noundef %4509, ptr noundef %4511, ptr noundef %4513, i32 noundef %4514) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4516:                                             ; preds = %4489
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %44) #12
  store i16 0, ptr %44, align 2, !tbaa !65
  %4517 = load i32, ptr @test_count, align 4, !tbaa !5
  %4518 = add nsw i32 %4517, 1
  store i32 %4518, ptr @test_count, align 4, !tbaa !5
  %4519 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %41, ptr noundef nonnull %44) #12
  %4520 = icmp eq i32 %4519, -1
  br i1 %4520, label %4521, label %4543

4521:                                             ; preds = %4516
  %4522 = load i32, ptr %288, align 4, !tbaa !5
  %4523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4524 = call i32 @s2n_print_stacktrace(ptr noundef %4523) #12
  %4525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4526 = trunc nuw i8 %4525 to i1
  br i1 %4526, label %4527, label %4531

4527:                                             ; preds = %4521
  %4528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4529 = call i32 @fileno(ptr noundef %4528) #12
  %4530 = call i32 @isatty(i32 noundef %4529) #12
  %.not1789 = icmp eq i32 %4530, 0
  br i1 %.not1789, label %4531, label %4532

4531:                                             ; preds = %4527, %4521
  br label %4532

4532:                                             ; preds = %4527, %4531
  %.str.81.sink3357 = phi ptr [ @.str.81, %4531 ], [ @.str.78, %4527 ]
  store i32 %4522, ptr %288, align 4, !tbaa !5
  %4533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4534 = load i32, ptr @test_count, align 4, !tbaa !5
  %4535 = load i32, ptr %234, align 4, !tbaa !5
  %4536 = call ptr @s2n_strerror(i32 noundef %4535, ptr noundef nonnull @.str.80) #12
  %4537 = load i32, ptr %234, align 4, !tbaa !5
  %4538 = call ptr @s2n_strerror_debug(i32 noundef %4537, ptr noundef nonnull @.str.80) #12
  %4539 = load i32, ptr %288, align 4, !tbaa !5
  %4540 = call ptr @strerror(i32 noundef %4539) #12
  %4541 = load i32, ptr %288, align 4, !tbaa !5
  %4542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4533, ptr noundef nonnull %.str.81.sink3357, i32 noundef %4534, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.77, i32 noundef 365, ptr noundef %4536, ptr noundef %4538, ptr noundef %4540, i32 noundef %4541) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4543:                                             ; preds = %4516
  %4544 = load i32, ptr @test_count, align 4, !tbaa !5
  %4545 = add nsw i32 %4544, 1
  store i32 %4545, ptr @test_count, align 4, !tbaa !5
  %4546 = load i16, ptr %44, align 2, !tbaa !65
  %4547 = zext i16 %4546 to i32
  %4548 = getelementptr inbounds i8, ptr %41, i64 28
  %4549 = load i32, ptr %4548, align 4, !tbaa !66
  %4550 = getelementptr inbounds i8, ptr %41, i64 24
  %4551 = load i32, ptr %4550, align 8, !tbaa !67
  %4552 = sub i32 %4549, %4551
  %4553 = icmp eq i32 %4552, %4547
  br i1 %4553, label %.preheader1873.preheader, label %4557

.preheader1873.preheader:                         ; preds = %4543
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #12
  store i8 0, ptr %45, align 1, !tbaa !26
  %4554 = add nsw i32 %4544, 2
  store i32 %4554, ptr @test_count, align 4, !tbaa !5
  %4555 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %41, ptr noundef nonnull %45) #12
  %4556 = icmp eq i32 %4555, -1
  br i1 %4556, label %4579, label %4601

4557:                                             ; preds = %4543
  %4558 = load i32, ptr %288, align 4, !tbaa !5
  %4559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4560 = call i32 @s2n_print_stacktrace(ptr noundef %4559) #12
  %4561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4562 = trunc nuw i8 %4561 to i1
  br i1 %4562, label %4563, label %4567

4563:                                             ; preds = %4557
  %4564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4565 = call i32 @fileno(ptr noundef %4564) #12
  %4566 = call i32 @isatty(i32 noundef %4565) #12
  %.not1429 = icmp eq i32 %4566, 0
  br i1 %.not1429, label %4567, label %4568

4567:                                             ; preds = %4563, %4557
  br label %4568

4568:                                             ; preds = %4563, %4567
  %.str.81.sink3366 = phi ptr [ @.str.81, %4567 ], [ @.str.78, %4563 ]
  store i32 %4558, ptr %288, align 4, !tbaa !5
  %4569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4570 = load i32, ptr @test_count, align 4, !tbaa !5
  %4571 = load i32, ptr %234, align 4, !tbaa !5
  %4572 = call ptr @s2n_strerror(i32 noundef %4571, ptr noundef nonnull @.str.80) #12
  %4573 = load i32, ptr %234, align 4, !tbaa !5
  %4574 = call ptr @s2n_strerror_debug(i32 noundef %4573, ptr noundef nonnull @.str.80) #12
  %4575 = load i32, ptr %288, align 4, !tbaa !5
  %4576 = call ptr @strerror(i32 noundef %4575) #12
  %4577 = load i32, ptr %288, align 4, !tbaa !5
  %4578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4569, ptr noundef nonnull %.str.81.sink3366, i32 noundef %4570, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.77, i32 noundef 366, ptr noundef %4572, ptr noundef %4574, ptr noundef %4576, i32 noundef %4577) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4579:                                             ; preds = %.preheader1873.1, %.preheader1873.preheader
  %4580 = load i32, ptr %288, align 4, !tbaa !5
  %4581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4582 = call i32 @s2n_print_stacktrace(ptr noundef %4581) #12
  %4583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4584 = trunc nuw i8 %4583 to i1
  br i1 %4584, label %4585, label %4589

4585:                                             ; preds = %4579
  %4586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4587 = call i32 @fileno(ptr noundef %4586) #12
  %4588 = call i32 @isatty(i32 noundef %4587) #12
  %.not1788 = icmp eq i32 %4588, 0
  br i1 %.not1788, label %4589, label %4590

4589:                                             ; preds = %4585, %4579
  br label %4590

4590:                                             ; preds = %4585, %4589
  %.str.81.sink3375 = phi ptr [ @.str.81, %4589 ], [ @.str.78, %4585 ]
  store i32 %4580, ptr %288, align 4, !tbaa !5
  %4591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4592 = load i32, ptr @test_count, align 4, !tbaa !5
  %4593 = load i32, ptr %234, align 4, !tbaa !5
  %4594 = call ptr @s2n_strerror(i32 noundef %4593, ptr noundef nonnull @.str.80) #12
  %4595 = load i32, ptr %234, align 4, !tbaa !5
  %4596 = call ptr @s2n_strerror_debug(i32 noundef %4595, ptr noundef nonnull @.str.80) #12
  %4597 = load i32, ptr %288, align 4, !tbaa !5
  %4598 = call ptr @strerror(i32 noundef %4597) #12
  %4599 = load i32, ptr %288, align 4, !tbaa !5
  %4600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4591, ptr noundef nonnull %.str.81.sink3375, i32 noundef %4592, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.77, i32 noundef 371, ptr noundef %4594, ptr noundef %4596, ptr noundef %4598, i32 noundef %4599) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4601:                                             ; preds = %.preheader1873.preheader
  %4602 = load i32, ptr @test_count, align 4, !tbaa !5
  %4603 = add nsw i32 %4602, 1
  store i32 %4603, ptr @test_count, align 4, !tbaa !5
  %4604 = load i8, ptr %45, align 1, !tbaa !26
  %4605 = zext i8 %4604 to i32
  %4606 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %41, i32 noundef %4605) #12
  %4607 = icmp eq i32 %4606, -1
  br i1 %4607, label %4608, label %.preheader1873.1

4608:                                             ; preds = %4634, %4601
  %4609 = load i32, ptr %288, align 4, !tbaa !5
  %4610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4611 = call i32 @s2n_print_stacktrace(ptr noundef %4610) #12
  %4612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4613 = trunc nuw i8 %4612 to i1
  br i1 %4613, label %4614, label %4618

4614:                                             ; preds = %4608
  %4615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4616 = call i32 @fileno(ptr noundef %4615) #12
  %4617 = call i32 @isatty(i32 noundef %4616) #12
  %.not1787 = icmp eq i32 %4617, 0
  br i1 %.not1787, label %4618, label %4619

4618:                                             ; preds = %4614, %4608
  br label %4619

4619:                                             ; preds = %4614, %4618
  %.str.81.sink3384 = phi ptr [ @.str.81, %4618 ], [ @.str.78, %4614 ]
  store i32 %4609, ptr %288, align 4, !tbaa !5
  %4620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4621 = load i32, ptr @test_count, align 4, !tbaa !5
  %4622 = load i32, ptr %234, align 4, !tbaa !5
  %4623 = call ptr @s2n_strerror(i32 noundef %4622, ptr noundef nonnull @.str.80) #12
  %4624 = load i32, ptr %234, align 4, !tbaa !5
  %4625 = call ptr @s2n_strerror_debug(i32 noundef %4624, ptr noundef nonnull @.str.80) #12
  %4626 = load i32, ptr %288, align 4, !tbaa !5
  %4627 = call ptr @strerror(i32 noundef %4626) #12
  %4628 = load i32, ptr %288, align 4, !tbaa !5
  %4629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4620, ptr noundef nonnull %.str.81.sink3384, i32 noundef %4621, ptr noundef nonnull @.str.209, ptr noundef nonnull @.str.77, i32 noundef 372, ptr noundef %4623, ptr noundef %4625, ptr noundef %4627, i32 noundef %4628) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1873.1:                                 ; preds = %4601
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #12
  store i8 0, ptr %45, align 1, !tbaa !26
  %4630 = load i32, ptr @test_count, align 4, !tbaa !5
  %4631 = add nsw i32 %4630, 1
  store i32 %4631, ptr @test_count, align 4, !tbaa !5
  %4632 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %41, ptr noundef nonnull %45) #12
  %4633 = icmp eq i32 %4632, -1
  br i1 %4633, label %4579, label %4634

4634:                                             ; preds = %.preheader1873.1
  %4635 = load i32, ptr @test_count, align 4, !tbaa !5
  %4636 = add nsw i32 %4635, 1
  store i32 %4636, ptr @test_count, align 4, !tbaa !5
  %4637 = load i8, ptr %45, align 1, !tbaa !26
  %4638 = zext i8 %4637 to i32
  %4639 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %41, i32 noundef %4638) #12
  %4640 = icmp eq i32 %4639, -1
  br i1 %4640, label %4608, label %4641

4641:                                             ; preds = %4634
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #12
  %4642 = load i32, ptr @test_count, align 4, !tbaa !5
  %4643 = add nsw i32 %4642, 1
  store i32 %4643, ptr @test_count, align 4, !tbaa !5
  %4644 = load i32, ptr %4548, align 4, !tbaa !66
  %4645 = load i32, ptr %4550, align 8, !tbaa !67
  %4646 = icmp eq i32 %4644, %4645
  br i1 %4646, label %4669, label %4647

4647:                                             ; preds = %4641
  %4648 = load i32, ptr %288, 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
  %.not1430 = icmp eq i32 %4656, 0
  br i1 %.not1430, label %4657, label %4658

4657:                                             ; preds = %4653, %4647
  br label %4658

4658:                                             ; preds = %4653, %4657
  %.str.81.sink3393 = phi ptr [ @.str.81, %4657 ], [ @.str.78, %4653 ]
  store i32 %4648, ptr %288, 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 %234, align 4, !tbaa !5
  %4662 = call ptr @s2n_strerror(i32 noundef %4661, ptr noundef nonnull @.str.80) #12
  %4663 = load i32, ptr %234, align 4, !tbaa !5
  %4664 = call ptr @s2n_strerror_debug(i32 noundef %4663, ptr noundef nonnull @.str.80) #12
  %4665 = load i32, ptr %288, align 4, !tbaa !5
  %4666 = call ptr @strerror(i32 noundef %4665) #12
  %4667 = load i32, ptr %288, align 4, !tbaa !5
  %4668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4659, ptr noundef nonnull %.str.81.sink3393, i32 noundef %4660, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.77, i32 noundef 374, ptr noundef %4662, ptr noundef %4664, ptr noundef %4666, i32 noundef %4667) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4669:                                             ; preds = %4641
  %4670 = add nsw i32 %4642, 2
  store i32 %4670, ptr @test_count, align 4, !tbaa !5
  %4671 = call i32 @s2n_connection_free(ptr noundef nonnull %4271) #12
  %4672 = icmp eq i32 %4671, -1
  br i1 %4672, label %4673, label %4695

4673:                                             ; preds = %4669
  %4674 = load i32, ptr %288, align 4, !tbaa !5
  %4675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4676 = call i32 @s2n_print_stacktrace(ptr noundef %4675) #12
  %4677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4678 = trunc nuw i8 %4677 to i1
  br i1 %4678, label %4679, label %4683

4679:                                             ; preds = %4673
  %4680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4681 = call i32 @fileno(ptr noundef %4680) #12
  %4682 = call i32 @isatty(i32 noundef %4681) #12
  %.not1786 = icmp eq i32 %4682, 0
  br i1 %.not1786, label %4683, label %4684

4683:                                             ; preds = %4679, %4673
  br label %4684

4684:                                             ; preds = %4679, %4683
  %.str.81.sink3402 = phi ptr [ @.str.81, %4683 ], [ @.str.78, %4679 ]
  store i32 %4674, ptr %288, align 4, !tbaa !5
  %4685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4686 = load i32, ptr @test_count, align 4, !tbaa !5
  %4687 = load i32, ptr %234, align 4, !tbaa !5
  %4688 = call ptr @s2n_strerror(i32 noundef %4687, ptr noundef nonnull @.str.80) #12
  %4689 = load i32, ptr %234, align 4, !tbaa !5
  %4690 = call ptr @s2n_strerror_debug(i32 noundef %4689, ptr noundef nonnull @.str.80) #12
  %4691 = load i32, ptr %288, align 4, !tbaa !5
  %4692 = call ptr @strerror(i32 noundef %4691) #12
  %4693 = load i32, ptr %288, align 4, !tbaa !5
  %4694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4685, ptr noundef nonnull %.str.81.sink3402, i32 noundef %4686, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 376, ptr noundef %4688, ptr noundef %4690, ptr noundef %4692, i32 noundef %4693) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4695:                                             ; preds = %4669
  %4696 = load i32, ptr @test_count, align 4, !tbaa !5
  %4697 = add nsw i32 %4696, 1
  store i32 %4697, ptr @test_count, align 4, !tbaa !5
  %4698 = call i32 @s2n_stuffer_free(ptr noundef nonnull %41) #12
  %4699 = icmp eq i32 %4698, -1
  br i1 %4699, label %4700, label %4722

4700:                                             ; preds = %4695
  %4701 = load i32, ptr %288, 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
  %.not1785 = icmp eq i32 %4709, 0
  br i1 %.not1785, label %4710, label %4711

4710:                                             ; preds = %4706, %4700
  br label %4711

4711:                                             ; preds = %4706, %4710
  %.str.81.sink3411 = phi ptr [ @.str.81, %4710 ], [ @.str.78, %4706 ]
  store i32 %4701, ptr %288, 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 %234, align 4, !tbaa !5
  %4715 = call ptr @s2n_strerror(i32 noundef %4714, ptr noundef nonnull @.str.80) #12
  %4716 = load i32, ptr %234, align 4, !tbaa !5
  %4717 = call ptr @s2n_strerror_debug(i32 noundef %4716, ptr noundef nonnull @.str.80) #12
  %4718 = load i32, ptr %288, align 4, !tbaa !5
  %4719 = call ptr @strerror(i32 noundef %4718) #12
  %4720 = load i32, ptr %288, align 4, !tbaa !5
  %4721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4712, ptr noundef nonnull %.str.81.sink3411, i32 noundef %4713, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.77, i32 noundef 377, ptr noundef %4715, ptr noundef %4717, ptr noundef %4719, i32 noundef %4720) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4722:                                             ; preds = %4695
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %44) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %41) #12
  %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 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %4726 = icmp eq ptr %4725, null
  br i1 %4726, label %4727, label %4749

4727:                                             ; preds = %4722
  %4728 = load i32, ptr %288, 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
  %.not1784 = icmp eq i32 %4736, 0
  br i1 %.not1784, label %4737, label %4738

4737:                                             ; preds = %4733, %4727
  br label %4738

4738:                                             ; preds = %4733, %4737
  %.str.81.sink3420 = phi ptr [ @.str.81, %4737 ], [ @.str.78, %4733 ]
  store i32 %4728, ptr %288, 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 %234, align 4, !tbaa !5
  %4742 = call ptr @s2n_strerror(i32 noundef %4741, ptr noundef nonnull @.str.80) #12
  %4743 = load i32, ptr %234, align 4, !tbaa !5
  %4744 = call ptr @s2n_strerror_debug(i32 noundef %4743, ptr noundef nonnull @.str.80) #12
  %4745 = load i32, ptr %288, align 4, !tbaa !5
  %4746 = call ptr @strerror(i32 noundef %4745) #12
  %4747 = load i32, ptr %288, align 4, !tbaa !5
  %4748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4739, ptr noundef nonnull %.str.81.sink3420, i32 noundef %4740, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 392, 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 = getelementptr inbounds i8, ptr %4725, i64 2172
  store i32 16, ptr %4750, align 4, !tbaa !68
  %4751 = getelementptr inbounds i8, ptr %4725, i64 232
  %4752 = load ptr, ptr %4751, align 8, !tbaa !69
  store ptr @s2n_tls13_aes_128_gcm_sha256, ptr %4752, align 8, !tbaa !70
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %46) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %46, i8 0, i64 40, i1 false)
  %4753 = load i32, ptr @test_count, align 4, !tbaa !5
  %4754 = add nsw i32 %4753, 1
  store i32 %4754, ptr @test_count, align 4, !tbaa !5
  %4755 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %46, i32 noundef 0) #12
  %4756 = icmp eq i32 %4755, -1
  br i1 %4756, label %4757, label %4779

4757:                                             ; preds = %4749
  %4758 = load i32, ptr %288, align 4, !tbaa !5
  %4759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4760 = call i32 @s2n_print_stacktrace(ptr noundef %4759) #12
  %4761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4762 = trunc nuw i8 %4761 to i1
  br i1 %4762, label %4763, label %4767

4763:                                             ; preds = %4757
  %4764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4765 = call i32 @fileno(ptr noundef %4764) #12
  %4766 = call i32 @isatty(i32 noundef %4765) #12
  %.not1783 = icmp eq i32 %4766, 0
  br i1 %.not1783, label %4767, label %4768

4767:                                             ; preds = %4763, %4757
  br label %4768

4768:                                             ; preds = %4763, %4767
  %.str.81.sink3429 = phi ptr [ @.str.81, %4767 ], [ @.str.78, %4763 ]
  store i32 %4758, ptr %288, align 4, !tbaa !5
  %4769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4770 = load i32, ptr @test_count, align 4, !tbaa !5
  %4771 = load i32, ptr %234, align 4, !tbaa !5
  %4772 = call ptr @s2n_strerror(i32 noundef %4771, ptr noundef nonnull @.str.80) #12
  %4773 = load i32, ptr %234, align 4, !tbaa !5
  %4774 = call ptr @s2n_strerror_debug(i32 noundef %4773, ptr noundef nonnull @.str.80) #12
  %4775 = load i32, ptr %288, align 4, !tbaa !5
  %4776 = call ptr @strerror(i32 noundef %4775) #12
  %4777 = load i32, ptr %288, align 4, !tbaa !5
  %4778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4769, ptr noundef nonnull %.str.81.sink3429, i32 noundef %4770, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.77, i32 noundef 397, ptr noundef %4772, ptr noundef %4774, ptr noundef %4776, i32 noundef %4777) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4779:                                             ; preds = %4749
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #12
  store ptr null, ptr %47, align 8, !tbaa !9
  %4780 = load i32, ptr @test_count, align 4, !tbaa !5
  %4781 = add nsw i32 %4780, 1
  store i32 %4781, ptr @test_count, align 4, !tbaa !5
  %4782 = getelementptr inbounds i8, ptr %4725, i64 1696
  %4783 = call i32 @s2n_array_pushback(ptr noundef nonnull %4782, ptr noundef nonnull %47) #12
  %4784 = call zeroext i1 @s2n_result_is_ok(i32 %4783)
  br i1 %4784, label %4807, label %4785

4785:                                             ; preds = %4779
  %4786 = load i32, ptr %288, align 4, !tbaa !5
  %4787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4788 = call i32 @s2n_print_stacktrace(ptr noundef %4787) #12
  %4789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4790 = trunc nuw i8 %4789 to i1
  br i1 %4790, label %4791, label %4795

4791:                                             ; preds = %4785
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = call i32 @fileno(ptr noundef %4792) #12
  %4794 = call i32 @isatty(i32 noundef %4793) #12
  %.not1431 = icmp eq i32 %4794, 0
  br i1 %.not1431, label %4795, label %4796

4795:                                             ; preds = %4791, %4785
  br label %4796

4796:                                             ; preds = %4791, %4795
  %.str.81.sink3438 = phi ptr [ @.str.81, %4795 ], [ @.str.78, %4791 ]
  store i32 %4786, ptr %288, align 4, !tbaa !5
  %4797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4798 = load i32, ptr @test_count, align 4, !tbaa !5
  %4799 = load i32, ptr %234, align 4, !tbaa !5
  %4800 = call ptr @s2n_strerror(i32 noundef %4799, ptr noundef nonnull @.str.80) #12
  %4801 = load i32, ptr %234, align 4, !tbaa !5
  %4802 = call ptr @s2n_strerror_debug(i32 noundef %4801, ptr noundef nonnull @.str.80) #12
  %4803 = load i32, ptr %288, align 4, !tbaa !5
  %4804 = call ptr @strerror(i32 noundef %4803) #12
  %4805 = load i32, ptr %288, align 4, !tbaa !5
  %4806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4797, ptr noundef nonnull %.str.81.sink3438, i32 noundef %4798, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.77, i32 noundef 402, ptr noundef %4800, ptr noundef %4802, ptr noundef %4804, i32 noundef %4805) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4807:                                             ; preds = %4779
  %4808 = load i32, ptr @test_count, align 4, !tbaa !5
  %4809 = add nsw i32 %4808, 1
  store i32 %4809, ptr @test_count, align 4, !tbaa !5
  %4810 = load ptr, ptr %47, align 8, !tbaa !9
  %4811 = call i32 @s2n_psk_init(ptr noundef %4810, i32 noundef 1)
  %4812 = call zeroext i1 @s2n_result_is_ok(i32 %4811)
  br i1 %4812, label %4835, label %4813

4813:                                             ; preds = %4807
  %4814 = load i32, ptr %288, align 4, !tbaa !5
  %4815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4816 = call i32 @s2n_print_stacktrace(ptr noundef %4815) #12
  %4817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4818 = trunc nuw i8 %4817 to i1
  br i1 %4818, label %4819, label %4823

4819:                                             ; preds = %4813
  %4820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4821 = call i32 @fileno(ptr noundef %4820) #12
  %4822 = call i32 @isatty(i32 noundef %4821) #12
  %.not1432 = icmp eq i32 %4822, 0
  br i1 %.not1432, label %4823, label %4824

4823:                                             ; preds = %4819, %4813
  br label %4824

4824:                                             ; preds = %4819, %4823
  %.str.81.sink3447 = phi ptr [ @.str.81, %4823 ], [ @.str.78, %4819 ]
  store i32 %4814, ptr %288, align 4, !tbaa !5
  %4825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4826 = load i32, ptr @test_count, align 4, !tbaa !5
  %4827 = load i32, ptr %234, align 4, !tbaa !5
  %4828 = call ptr @s2n_strerror(i32 noundef %4827, ptr noundef nonnull @.str.80) #12
  %4829 = load i32, ptr %234, align 4, !tbaa !5
  %4830 = call ptr @s2n_strerror_debug(i32 noundef %4829, ptr noundef nonnull @.str.80) #12
  %4831 = load i32, ptr %288, align 4, !tbaa !5
  %4832 = call ptr @strerror(i32 noundef %4831) #12
  %4833 = load i32, ptr %288, align 4, !tbaa !5
  %4834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4825, ptr noundef nonnull %.str.81.sink3447, i32 noundef %4826, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.77, i32 noundef 403, ptr noundef %4828, ptr noundef %4830, ptr noundef %4832, i32 noundef %4833) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4835:                                             ; preds = %4807
  %4836 = load i32, ptr @test_count, align 4, !tbaa !5
  %4837 = add nsw i32 %4836, 1
  store i32 %4837, ptr @test_count, align 4, !tbaa !5
  %4838 = load ptr, ptr %47, align 8, !tbaa !9
  %4839 = call i32 @s2n_psk_set_secret(ptr noundef %4838, ptr noundef nonnull %39, i16 noundef zeroext 11)
  %4840 = icmp eq i32 %4839, -1
  br i1 %4840, label %4841, label %4863

4841:                                             ; preds = %4835
  %4842 = load i32, ptr %288, align 4, !tbaa !5
  %4843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4844 = call i32 @s2n_print_stacktrace(ptr noundef %4843) #12
  %4845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4846 = trunc nuw i8 %4845 to i1
  br i1 %4846, label %4847, label %4851

4847:                                             ; preds = %4841
  %4848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4849 = call i32 @fileno(ptr noundef %4848) #12
  %4850 = call i32 @isatty(i32 noundef %4849) #12
  %.not1782 = icmp eq i32 %4850, 0
  br i1 %.not1782, label %4851, label %4852

4851:                                             ; preds = %4847, %4841
  br label %4852

4852:                                             ; preds = %4847, %4851
  %.str.81.sink3456 = phi ptr [ @.str.81, %4851 ], [ @.str.78, %4847 ]
  store i32 %4842, ptr %288, align 4, !tbaa !5
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = load i32, ptr @test_count, align 4, !tbaa !5
  %4855 = load i32, ptr %234, align 4, !tbaa !5
  %4856 = call ptr @s2n_strerror(i32 noundef %4855, ptr noundef nonnull @.str.80) #12
  %4857 = load i32, ptr %234, align 4, !tbaa !5
  %4858 = call ptr @s2n_strerror_debug(i32 noundef %4857, ptr noundef nonnull @.str.80) #12
  %4859 = load i32, ptr %288, align 4, !tbaa !5
  %4860 = call ptr @strerror(i32 noundef %4859) #12
  %4861 = load i32, ptr %288, align 4, !tbaa !5
  %4862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4853, ptr noundef nonnull %.str.81.sink3456, i32 noundef %4854, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.77, i32 noundef 404, ptr noundef %4856, ptr noundef %4858, ptr noundef %4860, i32 noundef %4861) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4863:                                             ; preds = %4835
  %4864 = load ptr, ptr %4751, align 8, !tbaa !69
  %4865 = load ptr, ptr %4864, align 8, !tbaa !70
  %4866 = getelementptr inbounds i8, ptr %4865, i64 96
  %4867 = load i32, ptr %4866, align 8, !tbaa !75
  %4868 = add i32 %4867, -1
  %4869 = load ptr, ptr %47, align 8, !tbaa !9
  %4870 = getelementptr inbounds i8, ptr %4869, i64 56
  store i32 %4868, ptr %4870, align 8, !tbaa !20
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #12
  store ptr null, ptr %48, align 8, !tbaa !9
  %4871 = load i32, ptr @test_count, align 4, !tbaa !5
  %4872 = add nsw i32 %4871, 1
  store i32 %4872, ptr @test_count, align 4, !tbaa !5
  %4873 = call i32 @s2n_array_pushback(ptr noundef nonnull %4782, ptr noundef nonnull %48) #12
  %4874 = call zeroext i1 @s2n_result_is_ok(i32 %4873)
  br i1 %4874, label %4897, label %4875

4875:                                             ; preds = %4863
  %4876 = load i32, ptr %288, align 4, !tbaa !5
  %4877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4878 = call i32 @s2n_print_stacktrace(ptr noundef %4877) #12
  %4879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4880 = trunc nuw i8 %4879 to i1
  br i1 %4880, label %4881, label %4885

4881:                                             ; preds = %4875
  %4882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4883 = call i32 @fileno(ptr noundef %4882) #12
  %4884 = call i32 @isatty(i32 noundef %4883) #12
  %.not1433 = icmp eq i32 %4884, 0
  br i1 %.not1433, label %4885, label %4886

4885:                                             ; preds = %4881, %4875
  br label %4886

4886:                                             ; preds = %4881, %4885
  %.str.81.sink3465 = phi ptr [ @.str.81, %4885 ], [ @.str.78, %4881 ]
  store i32 %4876, ptr %288, align 4, !tbaa !5
  %4887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4888 = load i32, ptr @test_count, align 4, !tbaa !5
  %4889 = load i32, ptr %234, align 4, !tbaa !5
  %4890 = call ptr @s2n_strerror(i32 noundef %4889, ptr noundef nonnull @.str.80) #12
  %4891 = load i32, ptr %234, align 4, !tbaa !5
  %4892 = call ptr @s2n_strerror_debug(i32 noundef %4891, ptr noundef nonnull @.str.80) #12
  %4893 = load i32, ptr %288, align 4, !tbaa !5
  %4894 = call ptr @strerror(i32 noundef %4893) #12
  %4895 = load i32, ptr %288, align 4, !tbaa !5
  %4896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4887, ptr noundef nonnull %.str.81.sink3465, i32 noundef %4888, ptr noundef nonnull @.str.214, ptr noundef nonnull @.str.77, i32 noundef 408, ptr noundef %4890, ptr noundef %4892, ptr noundef %4894, i32 noundef %4895) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4897:                                             ; preds = %4863
  %4898 = load i32, ptr @test_count, align 4, !tbaa !5
  %4899 = add nsw i32 %4898, 1
  store i32 %4899, ptr @test_count, align 4, !tbaa !5
  %4900 = load ptr, ptr %48, align 8, !tbaa !9
  %4901 = call i32 @s2n_psk_init(ptr noundef %4900, i32 noundef 1)
  %4902 = call zeroext i1 @s2n_result_is_ok(i32 %4901)
  br i1 %4902, label %4925, label %4903

4903:                                             ; preds = %4897
  %4904 = load i32, ptr %288, align 4, !tbaa !5
  %4905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4906 = call i32 @s2n_print_stacktrace(ptr noundef %4905) #12
  %4907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4908 = trunc nuw i8 %4907 to i1
  br i1 %4908, label %4909, label %4913

4909:                                             ; preds = %4903
  %4910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4911 = call i32 @fileno(ptr noundef %4910) #12
  %4912 = call i32 @isatty(i32 noundef %4911) #12
  %.not1434 = icmp eq i32 %4912, 0
  br i1 %.not1434, label %4913, label %4914

4913:                                             ; preds = %4909, %4903
  br label %4914

4914:                                             ; preds = %4909, %4913
  %.str.81.sink3474 = phi ptr [ @.str.81, %4913 ], [ @.str.78, %4909 ]
  store i32 %4904, ptr %288, align 4, !tbaa !5
  %4915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4916 = load i32, ptr @test_count, align 4, !tbaa !5
  %4917 = load i32, ptr %234, align 4, !tbaa !5
  %4918 = call ptr @s2n_strerror(i32 noundef %4917, ptr noundef nonnull @.str.80) #12
  %4919 = load i32, ptr %234, align 4, !tbaa !5
  %4920 = call ptr @s2n_strerror_debug(i32 noundef %4919, ptr noundef nonnull @.str.80) #12
  %4921 = load i32, ptr %288, align 4, !tbaa !5
  %4922 = call ptr @strerror(i32 noundef %4921) #12
  %4923 = load i32, ptr %288, align 4, !tbaa !5
  %4924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4915, ptr noundef nonnull %.str.81.sink3474, i32 noundef %4916, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.77, i32 noundef 409, ptr noundef %4918, ptr noundef %4920, ptr noundef %4922, i32 noundef %4923) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4925:                                             ; preds = %4897
  %4926 = load i32, ptr @test_count, align 4, !tbaa !5
  %4927 = add nsw i32 %4926, 1
  store i32 %4927, ptr @test_count, align 4, !tbaa !5
  %4928 = load ptr, ptr %48, align 8, !tbaa !9
  %4929 = call i32 @s2n_psk_set_secret(ptr noundef %4928, ptr noundef nonnull %39, i16 noundef zeroext 11)
  %4930 = icmp eq i32 %4929, -1
  br i1 %4930, label %4931, label %4953

4931:                                             ; preds = %4925
  %4932 = load i32, ptr %288, align 4, !tbaa !5
  %4933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4934 = call i32 @s2n_print_stacktrace(ptr noundef %4933) #12
  %4935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4936 = trunc nuw i8 %4935 to i1
  br i1 %4936, label %4937, label %4941

4937:                                             ; preds = %4931
  %4938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4939 = call i32 @fileno(ptr noundef %4938) #12
  %4940 = call i32 @isatty(i32 noundef %4939) #12
  %.not1781 = icmp eq i32 %4940, 0
  br i1 %.not1781, label %4941, label %4942

4941:                                             ; preds = %4937, %4931
  br label %4942

4942:                                             ; preds = %4937, %4941
  %.str.81.sink3483 = phi ptr [ @.str.81, %4941 ], [ @.str.78, %4937 ]
  store i32 %4932, ptr %288, align 4, !tbaa !5
  %4943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4944 = load i32, ptr @test_count, align 4, !tbaa !5
  %4945 = load i32, ptr %234, align 4, !tbaa !5
  %4946 = call ptr @s2n_strerror(i32 noundef %4945, ptr noundef nonnull @.str.80) #12
  %4947 = load i32, ptr %234, align 4, !tbaa !5
  %4948 = call ptr @s2n_strerror_debug(i32 noundef %4947, ptr noundef nonnull @.str.80) #12
  %4949 = load i32, ptr %288, align 4, !tbaa !5
  %4950 = call ptr @strerror(i32 noundef %4949) #12
  %4951 = load i32, ptr %288, align 4, !tbaa !5
  %4952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4943, ptr noundef nonnull %.str.81.sink3483, i32 noundef %4944, ptr noundef nonnull @.str.216, ptr noundef nonnull @.str.77, i32 noundef 410, ptr noundef %4946, ptr noundef %4948, ptr noundef %4950, i32 noundef %4951) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4953:                                             ; preds = %4925
  %4954 = load ptr, ptr %4751, align 8, !tbaa !69
  %4955 = load ptr, ptr %4954, align 8, !tbaa !70
  %4956 = getelementptr inbounds i8, ptr %4955, i64 96
  %4957 = load i32, ptr %4956, align 8, !tbaa !75
  %4958 = load ptr, ptr %48, align 8, !tbaa !9
  %4959 = getelementptr inbounds i8, ptr %4958, i64 56
  store i32 %4957, ptr %4959, align 8, !tbaa !20
  %4960 = load i32, ptr @test_count, align 4, !tbaa !5
  %4961 = add nsw i32 %4960, 1
  store i32 %4961, ptr @test_count, align 4, !tbaa !5
  %4962 = call i32 @s2n_psk_write_binder_list(ptr noundef nonnull %4725, ptr noundef nonnull %40, ptr noundef nonnull %46)
  %4963 = call zeroext i1 @s2n_result_is_ok(i32 %4962)
  br i1 %4963, label %4986, label %4964

4964:                                             ; preds = %4953
  %4965 = load i32, ptr %288, align 4, !tbaa !5
  %4966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4967 = call i32 @s2n_print_stacktrace(ptr noundef %4966) #12
  %4968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4969 = trunc nuw i8 %4968 to i1
  br i1 %4969, label %4970, label %4974

4970:                                             ; preds = %4964
  %4971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4972 = call i32 @fileno(ptr noundef %4971) #12
  %4973 = call i32 @isatty(i32 noundef %4972) #12
  %.not1435 = icmp eq i32 %4973, 0
  br i1 %.not1435, label %4974, label %4975

4974:                                             ; preds = %4970, %4964
  br label %4975

4975:                                             ; preds = %4970, %4974
  %.str.81.sink3492 = phi ptr [ @.str.81, %4974 ], [ @.str.78, %4970 ]
  store i32 %4965, ptr %288, align 4, !tbaa !5
  %4976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4977 = load i32, ptr @test_count, align 4, !tbaa !5
  %4978 = load i32, ptr %234, align 4, !tbaa !5
  %4979 = call ptr @s2n_strerror(i32 noundef %4978, ptr noundef nonnull @.str.80) #12
  %4980 = load i32, ptr %234, align 4, !tbaa !5
  %4981 = call ptr @s2n_strerror_debug(i32 noundef %4980, ptr noundef nonnull @.str.80) #12
  %4982 = load i32, ptr %288, align 4, !tbaa !5
  %4983 = call ptr @strerror(i32 noundef %4982) #12
  %4984 = load i32, ptr %288, align 4, !tbaa !5
  %4985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4976, ptr noundef nonnull %.str.81.sink3492, i32 noundef %4977, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.77, i32 noundef 413, ptr noundef %4979, ptr noundef %4981, ptr noundef %4983, i32 noundef %4984) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4986:                                             ; preds = %4953
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %49) #12
  store i16 0, ptr %49, align 2, !tbaa !65
  %4987 = load i32, ptr @test_count, align 4, !tbaa !5
  %4988 = add nsw i32 %4987, 1
  store i32 %4988, ptr @test_count, align 4, !tbaa !5
  %4989 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %46, ptr noundef nonnull %49) #12
  %4990 = icmp eq i32 %4989, -1
  br i1 %4990, label %4991, label %5013

4991:                                             ; preds = %4986
  %4992 = load i32, ptr %288, align 4, !tbaa !5
  %4993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4994 = call i32 @s2n_print_stacktrace(ptr noundef %4993) #12
  %4995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4996 = trunc nuw i8 %4995 to i1
  br i1 %4996, label %4997, label %5001

4997:                                             ; preds = %4991
  %4998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4999 = call i32 @fileno(ptr noundef %4998) #12
  %5000 = call i32 @isatty(i32 noundef %4999) #12
  %.not1780 = icmp eq i32 %5000, 0
  br i1 %.not1780, label %5001, label %5002

5001:                                             ; preds = %4997, %4991
  br label %5002

5002:                                             ; preds = %4997, %5001
  %.str.81.sink3501 = phi ptr [ @.str.81, %5001 ], [ @.str.78, %4997 ]
  store i32 %4992, ptr %288, align 4, !tbaa !5
  %5003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5004 = load i32, ptr @test_count, align 4, !tbaa !5
  %5005 = load i32, ptr %234, align 4, !tbaa !5
  %5006 = call ptr @s2n_strerror(i32 noundef %5005, ptr noundef nonnull @.str.80) #12
  %5007 = load i32, ptr %234, align 4, !tbaa !5
  %5008 = call ptr @s2n_strerror_debug(i32 noundef %5007, ptr noundef nonnull @.str.80) #12
  %5009 = load i32, ptr %288, align 4, !tbaa !5
  %5010 = call ptr @strerror(i32 noundef %5009) #12
  %5011 = load i32, ptr %288, align 4, !tbaa !5
  %5012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5003, ptr noundef nonnull %.str.81.sink3501, i32 noundef %5004, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.77, i32 noundef 416, ptr noundef %5006, ptr noundef %5008, ptr noundef %5010, i32 noundef %5011) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5013:                                             ; preds = %4986
  %5014 = load i32, ptr @test_count, align 4, !tbaa !5
  %5015 = add nsw i32 %5014, 1
  store i32 %5015, ptr @test_count, align 4, !tbaa !5
  %5016 = load i16, ptr %49, align 2, !tbaa !65
  %5017 = zext i16 %5016 to i32
  %5018 = getelementptr inbounds i8, ptr %46, i64 28
  %5019 = load i32, ptr %5018, align 4, !tbaa !66
  %5020 = getelementptr inbounds i8, ptr %46, i64 24
  %5021 = load i32, ptr %5020, align 8, !tbaa !67
  %5022 = sub i32 %5019, %5021
  %5023 = icmp eq i32 %5022, %5017
  br i1 %5023, label %5046, label %5024

5024:                                             ; preds = %5013
  %5025 = load i32, ptr %288, 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
  %.not1436 = icmp eq i32 %5033, 0
  br i1 %.not1436, label %5034, label %5035

5034:                                             ; preds = %5030, %5024
  br label %5035

5035:                                             ; preds = %5030, %5034
  %.str.81.sink3510 = phi ptr [ @.str.81, %5034 ], [ @.str.78, %5030 ]
  store i32 %5025, ptr %288, 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 %234, align 4, !tbaa !5
  %5039 = call ptr @s2n_strerror(i32 noundef %5038, ptr noundef nonnull @.str.80) #12
  %5040 = load i32, ptr %234, align 4, !tbaa !5
  %5041 = call ptr @s2n_strerror_debug(i32 noundef %5040, ptr noundef nonnull @.str.80) #12
  %5042 = load i32, ptr %288, align 4, !tbaa !5
  %5043 = call ptr @strerror(i32 noundef %5042) #12
  %5044 = load i32, ptr %288, align 4, !tbaa !5
  %5045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5036, ptr noundef nonnull %.str.81.sink3510, i32 noundef %5037, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.77, i32 noundef 417, ptr noundef %5039, ptr noundef %5041, ptr noundef %5043, i32 noundef %5044) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5046:                                             ; preds = %5013
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %50) #12
  store i8 0, ptr %50, align 1, !tbaa !26
  %5047 = add nsw i32 %5014, 2
  store i32 %5047, ptr @test_count, align 4, !tbaa !5
  %5048 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %46, ptr noundef nonnull %50) #12
  %5049 = icmp eq i32 %5048, -1
  br i1 %5049, label %5050, label %5072

5050:                                             ; preds = %5046
  %5051 = load i32, ptr %288, 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
  %.not1779 = icmp eq i32 %5059, 0
  br i1 %.not1779, label %5060, label %5061

5060:                                             ; preds = %5056, %5050
  br label %5061

5061:                                             ; preds = %5056, %5060
  %.str.81.sink3519 = phi ptr [ @.str.81, %5060 ], [ @.str.78, %5056 ]
  store i32 %5051, ptr %288, 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 %234, align 4, !tbaa !5
  %5065 = call ptr @s2n_strerror(i32 noundef %5064, ptr noundef nonnull @.str.80) #12
  %5066 = load i32, ptr %234, align 4, !tbaa !5
  %5067 = call ptr @s2n_strerror_debug(i32 noundef %5066, ptr noundef nonnull @.str.80) #12
  %5068 = load i32, ptr %288, align 4, !tbaa !5
  %5069 = call ptr @strerror(i32 noundef %5068) #12
  %5070 = load i32, ptr %288, align 4, !tbaa !5
  %5071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5062, ptr noundef nonnull %.str.81.sink3519, i32 noundef %5063, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.77, i32 noundef 423, 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 i8, ptr %50, align 1, !tbaa !26
  %5076 = zext i8 %5075 to i32
  %5077 = load i32, ptr %5018, align 4, !tbaa !66
  %5078 = load i32, ptr %5020, align 8, !tbaa !67
  %5079 = sub i32 %5077, %5078
  %5080 = icmp eq i32 %5079, %5076
  br i1 %5080, label %5103, label %5081

5081:                                             ; preds = %5072
  %5082 = load i32, ptr %288, align 4, !tbaa !5
  %5083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5084 = call i32 @s2n_print_stacktrace(ptr noundef %5083) #12
  %5085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5086 = trunc nuw i8 %5085 to i1
  br i1 %5086, label %5087, label %5091

5087:                                             ; preds = %5081
  %5088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5089 = call i32 @fileno(ptr noundef %5088) #12
  %5090 = call i32 @isatty(i32 noundef %5089) #12
  %.not1437 = icmp eq i32 %5090, 0
  br i1 %.not1437, label %5091, label %5092

5091:                                             ; preds = %5087, %5081
  br label %5092

5092:                                             ; preds = %5087, %5091
  %.str.81.sink3528 = phi ptr [ @.str.81, %5091 ], [ @.str.78, %5087 ]
  store i32 %5082, ptr %288, align 4, !tbaa !5
  %5093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5094 = load i32, ptr @test_count, align 4, !tbaa !5
  %5095 = load i32, ptr %234, align 4, !tbaa !5
  %5096 = call ptr @s2n_strerror(i32 noundef %5095, ptr noundef nonnull @.str.80) #12
  %5097 = load i32, ptr %234, align 4, !tbaa !5
  %5098 = call ptr @s2n_strerror_debug(i32 noundef %5097, ptr noundef nonnull @.str.80) #12
  %5099 = load i32, ptr %288, align 4, !tbaa !5
  %5100 = call ptr @strerror(i32 noundef %5099) #12
  %5101 = load i32, ptr %288, align 4, !tbaa !5
  %5102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5093, ptr noundef nonnull %.str.81.sink3528, i32 noundef %5094, ptr noundef nonnull @.str.217, ptr noundef nonnull @.str.77, i32 noundef 424, ptr noundef %5096, ptr noundef %5098, ptr noundef %5100, i32 noundef %5101) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5103:                                             ; preds = %5072
  %5104 = add nsw i32 %5073, 2
  store i32 %5104, ptr @test_count, align 4, !tbaa !5
  %5105 = call i32 @s2n_connection_free(ptr noundef nonnull %4725) #12
  %5106 = icmp eq i32 %5105, -1
  br i1 %5106, label %5107, label %5129

5107:                                             ; preds = %5103
  %5108 = load i32, ptr %288, align 4, !tbaa !5
  %5109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5110 = call i32 @s2n_print_stacktrace(ptr noundef %5109) #12
  %5111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5112 = trunc nuw i8 %5111 to i1
  br i1 %5112, label %5113, label %5117

5113:                                             ; preds = %5107
  %5114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5115 = call i32 @fileno(ptr noundef %5114) #12
  %5116 = call i32 @isatty(i32 noundef %5115) #12
  %.not1778 = icmp eq i32 %5116, 0
  br i1 %.not1778, label %5117, label %5118

5117:                                             ; preds = %5113, %5107
  br label %5118

5118:                                             ; preds = %5113, %5117
  %.str.81.sink3537 = phi ptr [ @.str.81, %5117 ], [ @.str.78, %5113 ]
  store i32 %5108, ptr %288, align 4, !tbaa !5
  %5119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5120 = load i32, ptr @test_count, align 4, !tbaa !5
  %5121 = load i32, ptr %234, align 4, !tbaa !5
  %5122 = call ptr @s2n_strerror(i32 noundef %5121, ptr noundef nonnull @.str.80) #12
  %5123 = load i32, ptr %234, align 4, !tbaa !5
  %5124 = call ptr @s2n_strerror_debug(i32 noundef %5123, ptr noundef nonnull @.str.80) #12
  %5125 = load i32, ptr %288, align 4, !tbaa !5
  %5126 = call ptr @strerror(i32 noundef %5125) #12
  %5127 = load i32, ptr %288, align 4, !tbaa !5
  %5128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5119, ptr noundef nonnull %.str.81.sink3537, i32 noundef %5120, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 426, ptr noundef %5122, ptr noundef %5124, ptr noundef %5126, i32 noundef %5127) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5129:                                             ; preds = %5103
  %5130 = load i32, ptr @test_count, align 4, !tbaa !5
  %5131 = add nsw i32 %5130, 1
  store i32 %5131, ptr @test_count, align 4, !tbaa !5
  %5132 = call i32 @s2n_stuffer_free(ptr noundef nonnull %46) #12
  %5133 = icmp eq i32 %5132, -1
  br i1 %5133, label %5134, label %5156

5134:                                             ; preds = %5129
  %5135 = load i32, ptr %288, align 4, !tbaa !5
  %5136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5137 = call i32 @s2n_print_stacktrace(ptr noundef %5136) #12
  %5138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5139 = trunc nuw i8 %5138 to i1
  br i1 %5139, label %5140, label %5144

5140:                                             ; preds = %5134
  %5141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5142 = call i32 @fileno(ptr noundef %5141) #12
  %5143 = call i32 @isatty(i32 noundef %5142) #12
  %.not1777 = icmp eq i32 %5143, 0
  br i1 %.not1777, label %5144, label %5145

5144:                                             ; preds = %5140, %5134
  br label %5145

5145:                                             ; preds = %5140, %5144
  %.str.81.sink3546 = phi ptr [ @.str.81, %5144 ], [ @.str.78, %5140 ]
  store i32 %5135, ptr %288, align 4, !tbaa !5
  %5146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5147 = load i32, ptr @test_count, align 4, !tbaa !5
  %5148 = load i32, ptr %234, align 4, !tbaa !5
  %5149 = call ptr @s2n_strerror(i32 noundef %5148, ptr noundef nonnull @.str.80) #12
  %5150 = load i32, ptr %234, align 4, !tbaa !5
  %5151 = call ptr @s2n_strerror_debug(i32 noundef %5150, ptr noundef nonnull @.str.80) #12
  %5152 = load i32, ptr %288, align 4, !tbaa !5
  %5153 = call ptr @strerror(i32 noundef %5152) #12
  %5154 = load i32, ptr %288, align 4, !tbaa !5
  %5155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5146, ptr noundef nonnull %.str.81.sink3546, i32 noundef %5147, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.77, i32 noundef 427, ptr noundef %5149, ptr noundef %5151, ptr noundef %5153, i32 noundef %5154) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5156:                                             ; preds = %5129
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %46) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 11, ptr nonnull %39) #12
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %51) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %51, i8 0, i64 24, i1 false)
  %5157 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %51, ptr noundef nonnull @.str.218) #12
  %5158 = call zeroext i1 @s2n_result_is_ok(i32 %5157)
  br i1 %5158, label %5160, label %.thread1865

.thread1865:                                      ; preds = %5156
  %5159 = call i32 @s2n_free(ptr noundef nonnull %51) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #12
  br label %13912

5160:                                             ; preds = %5156
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %52) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %52, i8 0, i64 24, i1 false)
  %5161 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %52, ptr noundef nonnull @.str.219) #12
  %5162 = call zeroext i1 @s2n_result_is_ok(i32 %5161)
  br i1 %5162, label %5163, label %8354

5163:                                             ; preds = %5160
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %53) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %53, i8 0, i64 24, i1 false)
  %5164 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %53, ptr noundef nonnull @.str.220) #12
  %5165 = call zeroext i1 @s2n_result_is_ok(i32 %5164)
  br i1 %5165, label %5166, label %8352

5166:                                             ; preds = %5163
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %54) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %54, i8 0, i64 24, i1 false)
  %5167 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %54, ptr noundef nonnull @.str.221) #12
  %5168 = call zeroext i1 @s2n_result_is_ok(i32 %5167)
  br i1 %5168, label %5169, label %8350

5169:                                             ; preds = %5166
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %55) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %55, i8 0, i64 24, i1 false)
  %5170 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %55, ptr noundef nonnull @.str.222) #12
  %5171 = call zeroext i1 @s2n_result_is_ok(i32 %5170)
  br i1 %5171, label %5172, label %8348

5172:                                             ; preds = %5169
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %56) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %56, i8 0, i64 24, i1 false)
  %5173 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %56, ptr noundef nonnull @.str.223) #12
  %5174 = call zeroext i1 @s2n_result_is_ok(i32 %5173)
  br i1 %5174, label %5175, label %8346

5175:                                             ; preds = %5172
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %57) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %57, i8 0, i64 24, i1 false)
  %5176 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %57, ptr noundef nonnull @.str.224) #12
  %5177 = call zeroext i1 @s2n_result_is_ok(i32 %5176)
  br i1 %5177, label %5178, label %8344

5178:                                             ; preds = %5175
  %5179 = load i32, ptr @test_count, align 4, !tbaa !5
  %5180 = add nsw i32 %5179, 1
  store i32 %5180, ptr @test_count, align 4, !tbaa !5
  %5181 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %5182 = icmp eq ptr %5181, null
  br i1 %5182, label %5183, label %5205

5183:                                             ; preds = %5178
  %5184 = load i32, ptr %288, 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
  %.not1776 = icmp eq i32 %5192, 0
  br i1 %.not1776, label %5193, label %5194

5193:                                             ; preds = %5189, %5183
  br label %5194

5194:                                             ; preds = %5189, %5193
  %.str.81.sink3555 = phi ptr [ @.str.81, %5193 ], [ @.str.78, %5189 ]
  store i32 %5184, ptr %288, 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 %234, align 4, !tbaa !5
  %5198 = call ptr @s2n_strerror(i32 noundef %5197, ptr noundef nonnull @.str.80) #12
  %5199 = load i32, ptr %234, align 4, !tbaa !5
  %5200 = call ptr @s2n_strerror_debug(i32 noundef %5199, ptr noundef nonnull @.str.80) #12
  %5201 = load i32, ptr %288, align 4, !tbaa !5
  %5202 = call ptr @strerror(i32 noundef %5201) #12
  %5203 = load i32, ptr %288, align 4, !tbaa !5
  %5204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5195, ptr noundef nonnull %.str.81.sink3555, i32 noundef %5196, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 486, ptr noundef %5198, ptr noundef %5200, ptr noundef %5202, i32 noundef %5203) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5205:                                             ; preds = %5178
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %58) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %58, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #12
  %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_blob_init(ptr noundef nonnull %58, ptr noundef nonnull %59, i32 noundef 32) #12
  %5209 = icmp eq i32 %5208, -1
  br i1 %5209, label %5210, label %5232

5210:                                             ; preds = %5205
  %5211 = load i32, ptr %288, 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
  %.not1775 = icmp eq i32 %5219, 0
  br i1 %.not1775, label %5220, label %5221

5220:                                             ; preds = %5216, %5210
  br label %5221

5221:                                             ; preds = %5216, %5220
  %.str.81.sink3564 = phi ptr [ @.str.81, %5220 ], [ @.str.78, %5216 ]
  store i32 %5211, ptr %288, 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 %234, align 4, !tbaa !5
  %5225 = call ptr @s2n_strerror(i32 noundef %5224, ptr noundef nonnull @.str.80) #12
  %5226 = load i32, ptr %234, align 4, !tbaa !5
  %5227 = call ptr @s2n_strerror_debug(i32 noundef %5226, ptr noundef nonnull @.str.80) #12
  %5228 = load i32, ptr %288, align 4, !tbaa !5
  %5229 = call ptr @strerror(i32 noundef %5228) #12
  %5230 = load i32, ptr %288, align 4, !tbaa !5
  %5231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5222, ptr noundef nonnull %.str.81.sink3564, i32 noundef %5223, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.77, i32 noundef 490, 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_psk_calculate_binder_hash(ptr noundef nonnull %5181, i32 noundef 4, ptr noundef nonnull %52, ptr noundef nonnull %58)
  %5236 = icmp eq i32 %5235, -1
  br i1 %5236, label %5237, label %5259

5237:                                             ; preds = %5232
  %5238 = load i32, ptr %288, 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
  %.not1774 = icmp eq i32 %5246, 0
  br i1 %.not1774, label %5247, label %5248

5247:                                             ; preds = %5243, %5237
  br label %5248

5248:                                             ; preds = %5243, %5247
  %.str.81.sink3573 = phi ptr [ @.str.81, %5247 ], [ @.str.78, %5243 ]
  store i32 %5238, ptr %288, 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 %234, align 4, !tbaa !5
  %5252 = call ptr @s2n_strerror(i32 noundef %5251, ptr noundef nonnull @.str.80) #12
  %5253 = load i32, ptr %234, align 4, !tbaa !5
  %5254 = call ptr @s2n_strerror_debug(i32 noundef %5253, ptr noundef nonnull @.str.80) #12
  %5255 = load i32, ptr %288, align 4, !tbaa !5
  %5256 = call ptr @strerror(i32 noundef %5255) #12
  %5257 = load i32, ptr %288, align 4, !tbaa !5
  %5258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5249, ptr noundef nonnull %.str.81.sink3573, i32 noundef %5250, ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.77, i32 noundef 492, 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 = getelementptr inbounds i8, ptr %58, i64 8
  %5263 = load i32, ptr %5262, align 8, !tbaa !77
  %5264 = getelementptr inbounds i8, ptr %55, i64 8
  %5265 = load i32, ptr %5264, align 8, !tbaa !77
  %5266 = icmp eq i32 %5263, %5265
  br i1 %5266, label %5289, label %5267

5267:                                             ; preds = %5259
  %5268 = load i32, ptr %288, align 4, !tbaa !5
  %5269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5270 = call i32 @s2n_print_stacktrace(ptr noundef %5269) #12
  %5271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5272 = trunc nuw i8 %5271 to i1
  br i1 %5272, label %5273, label %5277

5273:                                             ; preds = %5267
  %5274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5275 = call i32 @fileno(ptr noundef %5274) #12
  %5276 = call i32 @isatty(i32 noundef %5275) #12
  %.not1438 = icmp eq i32 %5276, 0
  br i1 %.not1438, label %5277, label %5278

5277:                                             ; preds = %5273, %5267
  br label %5278

5278:                                             ; preds = %5273, %5277
  %.str.81.sink3582 = phi ptr [ @.str.81, %5277 ], [ @.str.78, %5273 ]
  store i32 %5268, ptr %288, align 4, !tbaa !5
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = load i32, ptr @test_count, align 4, !tbaa !5
  %5281 = load i32, ptr %234, align 4, !tbaa !5
  %5282 = call ptr @s2n_strerror(i32 noundef %5281, ptr noundef nonnull @.str.80) #12
  %5283 = load i32, ptr %234, align 4, !tbaa !5
  %5284 = call ptr @s2n_strerror_debug(i32 noundef %5283, ptr noundef nonnull @.str.80) #12
  %5285 = load i32, ptr %288, align 4, !tbaa !5
  %5286 = call ptr @strerror(i32 noundef %5285) #12
  %5287 = load i32, ptr %288, align 4, !tbaa !5
  %5288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5279, ptr noundef nonnull %.str.81.sink3582, i32 noundef %5280, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.77, i32 noundef 493, ptr noundef %5282, ptr noundef %5284, ptr noundef %5286, i32 noundef %5287) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5289:                                             ; preds = %5259
  %.not1439 = icmp eq i32 %5263, 0
  br i1 %.not1439, label %5318, label %5290

5290:                                             ; preds = %5289
  %5291 = add nsw i32 %5260, 2
  store i32 %5291, ptr @test_count, align 4, !tbaa !5
  %5292 = load ptr, ptr %58, align 8, !tbaa !78
  %5293 = load ptr, ptr %55, align 8, !tbaa !78
  %5294 = zext i32 %5263 to i64
  %bcmp1440 = call i32 @bcmp(ptr %5292, ptr %5293, i64 %5294)
  %5295 = icmp eq i32 %bcmp1440, 0
  br i1 %5295, label %5318, label %5296

5296:                                             ; preds = %5290
  %5297 = load i32, ptr %288, align 4, !tbaa !5
  %5298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5299 = call i32 @s2n_print_stacktrace(ptr noundef %5298) #12
  %5300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5301 = trunc nuw i8 %5300 to i1
  br i1 %5301, label %5302, label %5306

5302:                                             ; preds = %5296
  %5303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5304 = call i32 @fileno(ptr noundef %5303) #12
  %5305 = call i32 @isatty(i32 noundef %5304) #12
  %.not1441 = icmp eq i32 %5305, 0
  br i1 %.not1441, label %5306, label %5307

5306:                                             ; preds = %5302, %5296
  br label %5307

5307:                                             ; preds = %5302, %5306
  %.str.81.sink3591 = phi ptr [ @.str.81, %5306 ], [ @.str.78, %5302 ]
  store i32 %5297, ptr %288, align 4, !tbaa !5
  %5308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5309 = load i32, ptr @test_count, align 4, !tbaa !5
  %5310 = load i32, ptr %234, align 4, !tbaa !5
  %5311 = call ptr @s2n_strerror(i32 noundef %5310, ptr noundef nonnull @.str.80) #12
  %5312 = load i32, ptr %234, align 4, !tbaa !5
  %5313 = call ptr @s2n_strerror_debug(i32 noundef %5312, ptr noundef nonnull @.str.80) #12
  %5314 = load i32, ptr %288, align 4, !tbaa !5
  %5315 = call ptr @strerror(i32 noundef %5314) #12
  %5316 = load i32, ptr %288, align 4, !tbaa !5
  %5317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5308, ptr noundef nonnull %.str.81.sink3591, i32 noundef %5309, ptr noundef nonnull @.str.228, ptr noundef nonnull @.str.77, i32 noundef 493, ptr noundef %5311, ptr noundef %5313, ptr noundef %5315, i32 noundef %5316) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5318:                                             ; preds = %5289, %5290
  %5319 = phi i32 [ %5261, %5289 ], [ %5291, %5290 ]
  %5320 = add nsw i32 %5319, 1
  store i32 %5320, ptr @test_count, align 4, !tbaa !5
  %5321 = call i32 @s2n_connection_free(ptr noundef nonnull %5181) #12
  %5322 = icmp eq i32 %5321, -1
  br i1 %5322, label %5323, label %5345

5323:                                             ; preds = %5318
  %5324 = load i32, ptr %288, align 4, !tbaa !5
  %5325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5326 = call i32 @s2n_print_stacktrace(ptr noundef %5325) #12
  %5327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5328 = trunc nuw i8 %5327 to i1
  br i1 %5328, label %5329, label %5333

5329:                                             ; preds = %5323
  %5330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5331 = call i32 @fileno(ptr noundef %5330) #12
  %5332 = call i32 @isatty(i32 noundef %5331) #12
  %.not1773 = icmp eq i32 %5332, 0
  br i1 %.not1773, label %5333, label %5334

5333:                                             ; preds = %5329, %5323
  br label %5334

5334:                                             ; preds = %5329, %5333
  %.str.81.sink3600 = phi ptr [ @.str.81, %5333 ], [ @.str.78, %5329 ]
  store i32 %5324, ptr %288, align 4, !tbaa !5
  %5335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5336 = load i32, ptr @test_count, align 4, !tbaa !5
  %5337 = load i32, ptr %234, align 4, !tbaa !5
  %5338 = call ptr @s2n_strerror(i32 noundef %5337, ptr noundef nonnull @.str.80) #12
  %5339 = load i32, ptr %234, align 4, !tbaa !5
  %5340 = call ptr @s2n_strerror_debug(i32 noundef %5339, ptr noundef nonnull @.str.80) #12
  %5341 = load i32, ptr %288, align 4, !tbaa !5
  %5342 = call ptr @strerror(i32 noundef %5341) #12
  %5343 = load i32, ptr %288, align 4, !tbaa !5
  %5344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5335, ptr noundef nonnull %.str.81.sink3600, i32 noundef %5336, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 495, ptr noundef %5338, ptr noundef %5340, ptr noundef %5342, i32 noundef %5343) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5345:                                             ; preds = %5318
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %58) #12
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %60) #12
  %5346 = load i32, ptr @test_count, align 4, !tbaa !5
  %5347 = add nsw i32 %5346, 1
  store i32 %5347, ptr @test_count, align 4, !tbaa !5
  %5348 = call i32 @s2n_psk_init(ptr noundef nonnull %60, i32 noundef 0)
  %5349 = call zeroext i1 @s2n_result_is_ok(i32 %5348)
  br i1 %5349, label %5372, label %5350

5350:                                             ; preds = %5345
  %5351 = load i32, ptr %288, align 4, !tbaa !5
  %5352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5353 = call i32 @s2n_print_stacktrace(ptr noundef %5352) #12
  %5354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5355 = trunc nuw i8 %5354 to i1
  br i1 %5355, label %5356, label %5360

5356:                                             ; preds = %5350
  %5357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5358 = call i32 @fileno(ptr noundef %5357) #12
  %5359 = call i32 @isatty(i32 noundef %5358) #12
  %.not1442 = icmp eq i32 %5359, 0
  br i1 %.not1442, label %5360, label %5361

5360:                                             ; preds = %5356, %5350
  br label %5361

5361:                                             ; preds = %5356, %5360
  %.str.81.sink3609 = phi ptr [ @.str.81, %5360 ], [ @.str.78, %5356 ]
  store i32 %5351, ptr %288, align 4, !tbaa !5
  %5362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5363 = load i32, ptr @test_count, align 4, !tbaa !5
  %5364 = load i32, ptr %234, align 4, !tbaa !5
  %5365 = call ptr @s2n_strerror(i32 noundef %5364, ptr noundef nonnull @.str.80) #12
  %5366 = load i32, ptr %234, align 4, !tbaa !5
  %5367 = call ptr @s2n_strerror_debug(i32 noundef %5366, ptr noundef nonnull @.str.80) #12
  %5368 = load i32, ptr %288, align 4, !tbaa !5
  %5369 = call ptr @strerror(i32 noundef %5368) #12
  %5370 = load i32, ptr %288, align 4, !tbaa !5
  %5371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5362, ptr noundef nonnull %.str.81.sink3609, i32 noundef %5363, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.77, i32 noundef 501, ptr noundef %5365, ptr noundef %5367, ptr noundef %5369, i32 noundef %5370) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5372:                                             ; preds = %5345
  %5373 = load i32, ptr @test_count, align 4, !tbaa !5
  %5374 = add nsw i32 %5373, 1
  store i32 %5374, ptr @test_count, align 4, !tbaa !5
  %5375 = load ptr, ptr %54, align 8, !tbaa !78
  %5376 = getelementptr inbounds i8, ptr %54, i64 8
  %5377 = load i32, ptr %5376, align 8, !tbaa !77
  %5378 = trunc i32 %5377 to i16
  %5379 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %60, ptr noundef %5375, i16 noundef zeroext %5378)
  %5380 = icmp eq i32 %5379, -1
  br i1 %5380, label %5381, label %5403

5381:                                             ; preds = %5372
  %5382 = load i32, ptr %288, align 4, !tbaa !5
  %5383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5384 = call i32 @s2n_print_stacktrace(ptr noundef %5383) #12
  %5385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5386 = trunc nuw i8 %5385 to i1
  br i1 %5386, label %5387, label %5391

5387:                                             ; preds = %5381
  %5388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5389 = call i32 @fileno(ptr noundef %5388) #12
  %5390 = call i32 @isatty(i32 noundef %5389) #12
  %.not1772 = icmp eq i32 %5390, 0
  br i1 %.not1772, label %5391, label %5392

5391:                                             ; preds = %5387, %5381
  br label %5392

5392:                                             ; preds = %5387, %5391
  %.str.81.sink3618 = phi ptr [ @.str.81, %5391 ], [ @.str.78, %5387 ]
  store i32 %5382, ptr %288, align 4, !tbaa !5
  %5393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5394 = load i32, ptr @test_count, align 4, !tbaa !5
  %5395 = load i32, ptr %234, align 4, !tbaa !5
  %5396 = call ptr @s2n_strerror(i32 noundef %5395, ptr noundef nonnull @.str.80) #12
  %5397 = load i32, ptr %234, align 4, !tbaa !5
  %5398 = call ptr @s2n_strerror_debug(i32 noundef %5397, ptr noundef nonnull @.str.80) #12
  %5399 = load i32, ptr %288, align 4, !tbaa !5
  %5400 = call ptr @strerror(i32 noundef %5399) #12
  %5401 = load i32, ptr %288, align 4, !tbaa !5
  %5402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5393, ptr noundef nonnull %.str.81.sink3618, i32 noundef %5394, ptr noundef nonnull @.str.230, ptr noundef nonnull @.str.77, i32 noundef 502, ptr noundef %5396, ptr noundef %5398, ptr noundef %5400, i32 noundef %5401) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5403:                                             ; preds = %5372
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %61) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %61, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %62) #12
  %5404 = load i32, ptr @test_count, align 4, !tbaa !5
  %5405 = add nsw i32 %5404, 1
  store i32 %5405, ptr @test_count, align 4, !tbaa !5
  %5406 = call i32 @s2n_blob_init(ptr noundef nonnull %61, ptr noundef nonnull %62, i32 noundef 32) #12
  %5407 = icmp eq i32 %5406, -1
  br i1 %5407, label %5408, label %5430

5408:                                             ; preds = %5403
  %5409 = load i32, ptr %288, align 4, !tbaa !5
  %5410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5411 = call i32 @s2n_print_stacktrace(ptr noundef %5410) #12
  %5412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5413 = trunc nuw i8 %5412 to i1
  br i1 %5413, label %5414, label %5418

5414:                                             ; preds = %5408
  %5415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5416 = call i32 @fileno(ptr noundef %5415) #12
  %5417 = call i32 @isatty(i32 noundef %5416) #12
  %.not1771 = icmp eq i32 %5417, 0
  br i1 %.not1771, label %5418, label %5419

5418:                                             ; preds = %5414, %5408
  br label %5419

5419:                                             ; preds = %5414, %5418
  %.str.81.sink3627 = phi ptr [ @.str.81, %5418 ], [ @.str.78, %5414 ]
  store i32 %5409, ptr %288, align 4, !tbaa !5
  %5420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5421 = load i32, ptr @test_count, align 4, !tbaa !5
  %5422 = load i32, ptr %234, align 4, !tbaa !5
  %5423 = call ptr @s2n_strerror(i32 noundef %5422, ptr noundef nonnull @.str.80) #12
  %5424 = load i32, ptr %234, align 4, !tbaa !5
  %5425 = call ptr @s2n_strerror_debug(i32 noundef %5424, ptr noundef nonnull @.str.80) #12
  %5426 = load i32, ptr %288, align 4, !tbaa !5
  %5427 = call ptr @strerror(i32 noundef %5426) #12
  %5428 = load i32, ptr %288, align 4, !tbaa !5
  %5429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5420, ptr noundef nonnull %.str.81.sink3627, i32 noundef %5421, ptr noundef nonnull @.str.231, ptr noundef nonnull @.str.77, i32 noundef 506, ptr noundef %5423, ptr noundef %5425, ptr noundef %5427, i32 noundef %5428) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5430:                                             ; preds = %5403
  %5431 = load i32, ptr @test_count, align 4, !tbaa !5
  %5432 = add nsw i32 %5431, 1
  store i32 %5432, ptr @test_count, align 4, !tbaa !5
  %5433 = call i32 @s2n_psk_calculate_binder(ptr noundef nonnull %60, ptr noundef nonnull %55, ptr noundef nonnull %61)
  %5434 = icmp eq i32 %5433, -1
  br i1 %5434, label %5435, label %5457

5435:                                             ; preds = %5430
  %5436 = load i32, ptr %288, align 4, !tbaa !5
  %5437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5438 = call i32 @s2n_print_stacktrace(ptr noundef %5437) #12
  %5439 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5440 = trunc nuw i8 %5439 to i1
  br i1 %5440, label %5441, label %5445

5441:                                             ; preds = %5435
  %5442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5443 = call i32 @fileno(ptr noundef %5442) #12
  %5444 = call i32 @isatty(i32 noundef %5443) #12
  %.not1770 = icmp eq i32 %5444, 0
  br i1 %.not1770, label %5445, label %5446

5445:                                             ; preds = %5441, %5435
  br label %5446

5446:                                             ; preds = %5441, %5445
  %.str.81.sink3636 = phi ptr [ @.str.81, %5445 ], [ @.str.78, %5441 ]
  store i32 %5436, ptr %288, align 4, !tbaa !5
  %5447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5448 = load i32, ptr @test_count, align 4, !tbaa !5
  %5449 = load i32, ptr %234, align 4, !tbaa !5
  %5450 = call ptr @s2n_strerror(i32 noundef %5449, ptr noundef nonnull @.str.80) #12
  %5451 = load i32, ptr %234, align 4, !tbaa !5
  %5452 = call ptr @s2n_strerror_debug(i32 noundef %5451, ptr noundef nonnull @.str.80) #12
  %5453 = load i32, ptr %288, align 4, !tbaa !5
  %5454 = call ptr @strerror(i32 noundef %5453) #12
  %5455 = load i32, ptr %288, align 4, !tbaa !5
  %5456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5447, ptr noundef nonnull %.str.81.sink3636, i32 noundef %5448, ptr noundef nonnull @.str.232, ptr noundef nonnull @.str.77, i32 noundef 508, ptr noundef %5450, ptr noundef %5452, ptr noundef %5454, i32 noundef %5455) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5457:                                             ; preds = %5430
  %5458 = load i32, ptr @test_count, align 4, !tbaa !5
  %5459 = add nsw i32 %5458, 1
  store i32 %5459, ptr @test_count, align 4, !tbaa !5
  %5460 = getelementptr inbounds i8, ptr %60, i64 72
  %5461 = getelementptr inbounds i8, ptr %60, i64 80
  %5462 = load i32, ptr %5461, align 8, !tbaa !29
  %5463 = getelementptr inbounds i8, ptr %56, i64 8
  %5464 = load i32, ptr %5463, align 8, !tbaa !77
  %5465 = icmp eq i32 %5462, %5464
  br i1 %5465, label %5488, label %5466

5466:                                             ; preds = %5457
  %5467 = load i32, ptr %288, align 4, !tbaa !5
  %5468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5469 = call i32 @s2n_print_stacktrace(ptr noundef %5468) #12
  %5470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5471 = trunc nuw i8 %5470 to i1
  br i1 %5471, label %5472, label %5476

5472:                                             ; preds = %5466
  %5473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5474 = call i32 @fileno(ptr noundef %5473) #12
  %5475 = call i32 @isatty(i32 noundef %5474) #12
  %.not1443 = icmp eq i32 %5475, 0
  br i1 %.not1443, label %5476, label %5477

5476:                                             ; preds = %5472, %5466
  br label %5477

5477:                                             ; preds = %5472, %5476
  %.str.81.sink3645 = phi ptr [ @.str.81, %5476 ], [ @.str.78, %5472 ]
  store i32 %5467, ptr %288, align 4, !tbaa !5
  %5478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5479 = load i32, ptr @test_count, align 4, !tbaa !5
  %5480 = load i32, ptr %234, align 4, !tbaa !5
  %5481 = call ptr @s2n_strerror(i32 noundef %5480, ptr noundef nonnull @.str.80) #12
  %5482 = load i32, ptr %234, align 4, !tbaa !5
  %5483 = call ptr @s2n_strerror_debug(i32 noundef %5482, ptr noundef nonnull @.str.80) #12
  %5484 = load i32, ptr %288, align 4, !tbaa !5
  %5485 = call ptr @strerror(i32 noundef %5484) #12
  %5486 = load i32, ptr %288, align 4, !tbaa !5
  %5487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5478, ptr noundef nonnull %.str.81.sink3645, i32 noundef %5479, ptr noundef nonnull @.str.233, ptr noundef nonnull @.str.77, i32 noundef 509, ptr noundef %5481, ptr noundef %5483, ptr noundef %5485, i32 noundef %5486) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5488:                                             ; preds = %5457
  %.not1444 = icmp eq i32 %5462, 0
  br i1 %.not1444, label %5517, label %5489

5489:                                             ; preds = %5488
  %5490 = add nsw i32 %5458, 2
  store i32 %5490, ptr @test_count, align 4, !tbaa !5
  %5491 = load ptr, ptr %5460, align 8, !tbaa !30
  %5492 = load ptr, ptr %56, align 8, !tbaa !78
  %5493 = zext i32 %5462 to i64
  %bcmp1445 = call i32 @bcmp(ptr %5491, ptr %5492, i64 %5493)
  %5494 = icmp eq i32 %bcmp1445, 0
  br i1 %5494, label %5517, label %5495

5495:                                             ; preds = %5489
  %5496 = load i32, ptr %288, align 4, !tbaa !5
  %5497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5498 = call i32 @s2n_print_stacktrace(ptr noundef %5497) #12
  %5499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5500 = trunc nuw i8 %5499 to i1
  br i1 %5500, label %5501, label %5505

5501:                                             ; preds = %5495
  %5502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5503 = call i32 @fileno(ptr noundef %5502) #12
  %5504 = call i32 @isatty(i32 noundef %5503) #12
  %.not1446 = icmp eq i32 %5504, 0
  br i1 %.not1446, label %5505, label %5506

5505:                                             ; preds = %5501, %5495
  br label %5506

5506:                                             ; preds = %5501, %5505
  %.str.81.sink3654 = phi ptr [ @.str.81, %5505 ], [ @.str.78, %5501 ]
  store i32 %5496, ptr %288, align 4, !tbaa !5
  %5507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5508 = load i32, ptr @test_count, align 4, !tbaa !5
  %5509 = load i32, ptr %234, align 4, !tbaa !5
  %5510 = call ptr @s2n_strerror(i32 noundef %5509, ptr noundef nonnull @.str.80) #12
  %5511 = load i32, ptr %234, align 4, !tbaa !5
  %5512 = call ptr @s2n_strerror_debug(i32 noundef %5511, ptr noundef nonnull @.str.80) #12
  %5513 = load i32, ptr %288, align 4, !tbaa !5
  %5514 = call ptr @strerror(i32 noundef %5513) #12
  %5515 = load i32, ptr %288, align 4, !tbaa !5
  %5516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5507, ptr noundef nonnull %.str.81.sink3654, i32 noundef %5508, ptr noundef nonnull @.str.234, ptr noundef nonnull @.str.77, i32 noundef 509, ptr noundef %5510, ptr noundef %5512, ptr noundef %5514, i32 noundef %5515) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5517:                                             ; preds = %5489, %5488
  %5518 = phi i32 [ %5490, %5489 ], [ %5459, %5488 ]
  %5519 = add nsw i32 %5518, 1
  store i32 %5519, ptr @test_count, align 4, !tbaa !5
  %5520 = getelementptr inbounds i8, ptr %61, i64 8
  %5521 = load i32, ptr %5520, align 8, !tbaa !77
  %5522 = getelementptr inbounds i8, ptr %57, i64 8
  %5523 = load i32, ptr %5522, align 8, !tbaa !77
  %5524 = icmp eq i32 %5521, %5523
  br i1 %5524, label %5547, label %5525

5525:                                             ; preds = %5517
  %5526 = load i32, ptr %288, align 4, !tbaa !5
  %5527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5528 = call i32 @s2n_print_stacktrace(ptr noundef %5527) #12
  %5529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5530 = trunc nuw i8 %5529 to i1
  br i1 %5530, label %5531, label %5535

5531:                                             ; preds = %5525
  %5532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5533 = call i32 @fileno(ptr noundef %5532) #12
  %5534 = call i32 @isatty(i32 noundef %5533) #12
  %.not1447 = icmp eq i32 %5534, 0
  br i1 %.not1447, label %5535, label %5536

5535:                                             ; preds = %5531, %5525
  br label %5536

5536:                                             ; preds = %5531, %5535
  %.str.81.sink3663 = phi ptr [ @.str.81, %5535 ], [ @.str.78, %5531 ]
  store i32 %5526, ptr %288, align 4, !tbaa !5
  %5537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5538 = load i32, ptr @test_count, align 4, !tbaa !5
  %5539 = load i32, ptr %234, align 4, !tbaa !5
  %5540 = call ptr @s2n_strerror(i32 noundef %5539, ptr noundef nonnull @.str.80) #12
  %5541 = load i32, ptr %234, align 4, !tbaa !5
  %5542 = call ptr @s2n_strerror_debug(i32 noundef %5541, ptr noundef nonnull @.str.80) #12
  %5543 = load i32, ptr %288, align 4, !tbaa !5
  %5544 = call ptr @strerror(i32 noundef %5543) #12
  %5545 = load i32, ptr %288, align 4, !tbaa !5
  %5546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5537, ptr noundef nonnull %.str.81.sink3663, i32 noundef %5538, ptr noundef nonnull @.str.235, ptr noundef nonnull @.str.77, i32 noundef 510, ptr noundef %5540, ptr noundef %5542, ptr noundef %5544, i32 noundef %5545) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5547:                                             ; preds = %5517
  %.not1448 = icmp eq i32 %5521, 0
  br i1 %.not1448, label %5576, label %5548

5548:                                             ; preds = %5547
  %5549 = add nsw i32 %5518, 2
  store i32 %5549, ptr @test_count, align 4, !tbaa !5
  %5550 = load ptr, ptr %61, align 8, !tbaa !78
  %5551 = load ptr, ptr %57, align 8, !tbaa !78
  %5552 = zext i32 %5521 to i64
  %bcmp1449 = call i32 @bcmp(ptr %5550, ptr %5551, i64 %5552)
  %5553 = icmp eq i32 %bcmp1449, 0
  br i1 %5553, label %5576, label %5554

5554:                                             ; preds = %5548
  %5555 = load i32, ptr %288, align 4, !tbaa !5
  %5556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5557 = call i32 @s2n_print_stacktrace(ptr noundef %5556) #12
  %5558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5559 = trunc nuw i8 %5558 to i1
  br i1 %5559, label %5560, label %5564

5560:                                             ; preds = %5554
  %5561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5562 = call i32 @fileno(ptr noundef %5561) #12
  %5563 = call i32 @isatty(i32 noundef %5562) #12
  %.not1450 = icmp eq i32 %5563, 0
  br i1 %.not1450, label %5564, label %5565

5564:                                             ; preds = %5560, %5554
  br label %5565

5565:                                             ; preds = %5560, %5564
  %.str.81.sink3672 = phi ptr [ @.str.81, %5564 ], [ @.str.78, %5560 ]
  store i32 %5555, ptr %288, align 4, !tbaa !5
  %5566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5567 = load i32, ptr @test_count, align 4, !tbaa !5
  %5568 = load i32, ptr %234, align 4, !tbaa !5
  %5569 = call ptr @s2n_strerror(i32 noundef %5568, ptr noundef nonnull @.str.80) #12
  %5570 = load i32, ptr %234, align 4, !tbaa !5
  %5571 = call ptr @s2n_strerror_debug(i32 noundef %5570, ptr noundef nonnull @.str.80) #12
  %5572 = load i32, ptr %288, align 4, !tbaa !5
  %5573 = call ptr @strerror(i32 noundef %5572) #12
  %5574 = load i32, ptr %288, align 4, !tbaa !5
  %5575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5566, ptr noundef nonnull %.str.81.sink3672, i32 noundef %5567, ptr noundef nonnull @.str.236, ptr noundef nonnull @.str.77, i32 noundef 510, ptr noundef %5569, ptr noundef %5571, ptr noundef %5573, i32 noundef %5574) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5576:                                             ; preds = %5548, %5547
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %62) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %61) #12
  %5577 = call i32 @s2n_psk_wipe(ptr noundef nonnull %60)
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %60) #12
  %5578 = load i32, ptr @test_count, align 4, !tbaa !5
  %5579 = add nsw i32 %5578, 1
  store i32 %5579, ptr @test_count, align 4, !tbaa !5
  %5580 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %5581 = icmp eq ptr %5580, null
  br i1 %5581, label %5582, label %5604

5582:                                             ; preds = %5576
  %5583 = load i32, ptr %288, align 4, !tbaa !5
  %5584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5585 = call i32 @s2n_print_stacktrace(ptr noundef %5584) #12
  %5586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5587 = trunc nuw i8 %5586 to i1
  br i1 %5587, label %5588, label %5592

5588:                                             ; preds = %5582
  %5589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5590 = call i32 @fileno(ptr noundef %5589) #12
  %5591 = call i32 @isatty(i32 noundef %5590) #12
  %.not1769 = icmp eq i32 %5591, 0
  br i1 %.not1769, label %5592, label %5593

5592:                                             ; preds = %5588, %5582
  br label %5593

5593:                                             ; preds = %5588, %5592
  %.str.81.sink3681 = phi ptr [ @.str.81, %5592 ], [ @.str.78, %5588 ]
  store i32 %5583, ptr %288, align 4, !tbaa !5
  %5594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5595 = load i32, ptr @test_count, align 4, !tbaa !5
  %5596 = load i32, ptr %234, align 4, !tbaa !5
  %5597 = call ptr @s2n_strerror(i32 noundef %5596, ptr noundef nonnull @.str.80) #12
  %5598 = load i32, ptr %234, align 4, !tbaa !5
  %5599 = call ptr @s2n_strerror_debug(i32 noundef %5598, ptr noundef nonnull @.str.80) #12
  %5600 = load i32, ptr %288, align 4, !tbaa !5
  %5601 = call ptr @strerror(i32 noundef %5600) #12
  %5602 = load i32, ptr %288, align 4, !tbaa !5
  %5603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5594, ptr noundef nonnull %.str.81.sink3681, i32 noundef %5595, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 516, ptr noundef %5597, ptr noundef %5599, ptr noundef %5601, i32 noundef %5602) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5604:                                             ; preds = %5576
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %63) #12
  %5605 = load i32, ptr @test_count, align 4, !tbaa !5
  %5606 = add nsw i32 %5605, 1
  store i32 %5606, ptr @test_count, align 4, !tbaa !5
  %5607 = call i32 @s2n_psk_init(ptr noundef nonnull %63, i32 noundef 0)
  %5608 = call zeroext i1 @s2n_result_is_ok(i32 %5607)
  br i1 %5608, label %5631, label %5609

5609:                                             ; preds = %5604
  %5610 = load i32, ptr %288, align 4, !tbaa !5
  %5611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5612 = call i32 @s2n_print_stacktrace(ptr noundef %5611) #12
  %5613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5614 = trunc nuw i8 %5613 to i1
  br i1 %5614, label %5615, label %5619

5615:                                             ; preds = %5609
  %5616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5617 = call i32 @fileno(ptr noundef %5616) #12
  %5618 = call i32 @isatty(i32 noundef %5617) #12
  %.not1451 = icmp eq i32 %5618, 0
  br i1 %.not1451, label %5619, label %5620

5619:                                             ; preds = %5615, %5609
  br label %5620

5620:                                             ; preds = %5615, %5619
  %.str.81.sink3690 = phi ptr [ @.str.81, %5619 ], [ @.str.78, %5615 ]
  store i32 %5610, ptr %288, align 4, !tbaa !5
  %5621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5622 = load i32, ptr @test_count, align 4, !tbaa !5
  %5623 = load i32, ptr %234, align 4, !tbaa !5
  %5624 = call ptr @s2n_strerror(i32 noundef %5623, ptr noundef nonnull @.str.80) #12
  %5625 = load i32, ptr %234, align 4, !tbaa !5
  %5626 = call ptr @s2n_strerror_debug(i32 noundef %5625, ptr noundef nonnull @.str.80) #12
  %5627 = load i32, ptr %288, align 4, !tbaa !5
  %5628 = call ptr @strerror(i32 noundef %5627) #12
  %5629 = load i32, ptr %288, align 4, !tbaa !5
  %5630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5621, ptr noundef nonnull %.str.81.sink3690, i32 noundef %5622, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.77, i32 noundef 519, ptr noundef %5624, ptr noundef %5626, ptr noundef %5628, i32 noundef %5629) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5631:                                             ; preds = %5604
  %5632 = load i32, ptr @test_count, align 4, !tbaa !5
  %5633 = add nsw i32 %5632, 1
  store i32 %5633, ptr @test_count, align 4, !tbaa !5
  %5634 = load ptr, ptr %54, align 8, !tbaa !78
  %5635 = load i32, ptr %5376, align 8, !tbaa !77
  %5636 = trunc i32 %5635 to i16
  %5637 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %63, ptr noundef %5634, i16 noundef zeroext %5636)
  %5638 = icmp eq i32 %5637, -1
  br i1 %5638, label %5639, label %5661

5639:                                             ; preds = %5631
  %5640 = load i32, ptr %288, align 4, !tbaa !5
  %5641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5642 = call i32 @s2n_print_stacktrace(ptr noundef %5641) #12
  %5643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5644 = trunc nuw i8 %5643 to i1
  br i1 %5644, label %5645, label %5649

5645:                                             ; preds = %5639
  %5646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5647 = call i32 @fileno(ptr noundef %5646) #12
  %5648 = call i32 @isatty(i32 noundef %5647) #12
  %.not1768 = icmp eq i32 %5648, 0
  br i1 %.not1768, label %5649, label %5650

5649:                                             ; preds = %5645, %5639
  br label %5650

5650:                                             ; preds = %5645, %5649
  %.str.81.sink3699 = phi ptr [ @.str.81, %5649 ], [ @.str.78, %5645 ]
  store i32 %5640, ptr %288, align 4, !tbaa !5
  %5651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5652 = load i32, ptr @test_count, align 4, !tbaa !5
  %5653 = load i32, ptr %234, align 4, !tbaa !5
  %5654 = call ptr @s2n_strerror(i32 noundef %5653, ptr noundef nonnull @.str.80) #12
  %5655 = load i32, ptr %234, align 4, !tbaa !5
  %5656 = call ptr @s2n_strerror_debug(i32 noundef %5655, ptr noundef nonnull @.str.80) #12
  %5657 = load i32, ptr %288, align 4, !tbaa !5
  %5658 = call ptr @strerror(i32 noundef %5657) #12
  %5659 = load i32, ptr %288, align 4, !tbaa !5
  %5660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5651, ptr noundef nonnull %.str.81.sink3699, i32 noundef %5652, ptr noundef nonnull @.str.230, ptr noundef nonnull @.str.77, i32 noundef 520, ptr noundef %5654, ptr noundef %5656, ptr noundef %5658, i32 noundef %5659) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5661:                                             ; preds = %5631
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %64) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %64, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %65) #12
  %5662 = load i32, ptr @test_count, align 4, !tbaa !5
  %5663 = add nsw i32 %5662, 1
  store i32 %5663, ptr @test_count, align 4, !tbaa !5
  %5664 = call i32 @s2n_blob_init(ptr noundef nonnull %64, ptr noundef nonnull %65, i32 noundef 32) #12
  %5665 = icmp eq i32 %5664, -1
  br i1 %5665, label %5666, label %5688

5666:                                             ; preds = %5661
  %5667 = load i32, ptr %288, align 4, !tbaa !5
  %5668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5669 = call i32 @s2n_print_stacktrace(ptr noundef %5668) #12
  %5670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5671 = trunc nuw i8 %5670 to i1
  br i1 %5671, label %5672, label %5676

5672:                                             ; preds = %5666
  %5673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5674 = call i32 @fileno(ptr noundef %5673) #12
  %5675 = call i32 @isatty(i32 noundef %5674) #12
  %.not1767 = icmp eq i32 %5675, 0
  br i1 %.not1767, label %5676, label %5677

5676:                                             ; preds = %5672, %5666
  br label %5677

5677:                                             ; preds = %5672, %5676
  %.str.81.sink3708 = phi ptr [ @.str.81, %5676 ], [ @.str.78, %5672 ]
  store i32 %5667, ptr %288, align 4, !tbaa !5
  %5678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5679 = load i32, ptr @test_count, align 4, !tbaa !5
  %5680 = load i32, ptr %234, align 4, !tbaa !5
  %5681 = call ptr @s2n_strerror(i32 noundef %5680, ptr noundef nonnull @.str.80) #12
  %5682 = load i32, ptr %234, align 4, !tbaa !5
  %5683 = call ptr @s2n_strerror_debug(i32 noundef %5682, ptr noundef nonnull @.str.80) #12
  %5684 = load i32, ptr %288, align 4, !tbaa !5
  %5685 = call ptr @strerror(i32 noundef %5684) #12
  %5686 = load i32, ptr %288, align 4, !tbaa !5
  %5687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5678, ptr noundef nonnull %.str.81.sink3708, i32 noundef %5679, ptr noundef nonnull @.str.231, ptr noundef nonnull @.str.77, i32 noundef 524, ptr noundef %5681, ptr noundef %5683, ptr noundef %5685, i32 noundef %5686) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5688:                                             ; preds = %5661
  %5689 = load i32, ptr @test_count, align 4, !tbaa !5
  %5690 = add nsw i32 %5689, 1
  store i32 %5690, ptr @test_count, align 4, !tbaa !5
  %5691 = call i32 @s2n_psk_verify_binder(ptr noundef nonnull %5580, ptr noundef nonnull %63, ptr noundef nonnull %52, ptr noundef nonnull %57)
  %5692 = icmp eq i32 %5691, -1
  br i1 %5692, label %5693, label %5715

5693:                                             ; preds = %5688
  %5694 = load i32, ptr %288, align 4, !tbaa !5
  %5695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5696 = call i32 @s2n_print_stacktrace(ptr noundef %5695) #12
  %5697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5698 = trunc nuw i8 %5697 to i1
  br i1 %5698, label %5699, label %5703

5699:                                             ; preds = %5693
  %5700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5701 = call i32 @fileno(ptr noundef %5700) #12
  %5702 = call i32 @isatty(i32 noundef %5701) #12
  %.not1766 = icmp eq i32 %5702, 0
  br i1 %.not1766, label %5703, label %5704

5703:                                             ; preds = %5699, %5693
  br label %5704

5704:                                             ; preds = %5699, %5703
  %.str.81.sink3717 = phi ptr [ @.str.81, %5703 ], [ @.str.78, %5699 ]
  store i32 %5694, ptr %288, align 4, !tbaa !5
  %5705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5706 = load i32, ptr @test_count, align 4, !tbaa !5
  %5707 = load i32, ptr %234, align 4, !tbaa !5
  %5708 = call ptr @s2n_strerror(i32 noundef %5707, ptr noundef nonnull @.str.80) #12
  %5709 = load i32, ptr %234, align 4, !tbaa !5
  %5710 = call ptr @s2n_strerror_debug(i32 noundef %5709, ptr noundef nonnull @.str.80) #12
  %5711 = load i32, ptr %288, align 4, !tbaa !5
  %5712 = call ptr @strerror(i32 noundef %5711) #12
  %5713 = load i32, ptr %288, align 4, !tbaa !5
  %5714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5705, ptr noundef nonnull %.str.81.sink3717, i32 noundef %5706, ptr noundef nonnull @.str.237, ptr noundef nonnull @.str.77, i32 noundef 526, ptr noundef %5708, ptr noundef %5710, ptr noundef %5712, i32 noundef %5713) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5715:                                             ; preds = %5688
  %5716 = load i32, ptr @test_count, align 4, !tbaa !5
  %5717 = add nsw i32 %5716, 1
  store i32 %5717, ptr @test_count, align 4, !tbaa !5
  %5718 = getelementptr inbounds i8, ptr %63, i64 72
  %5719 = getelementptr inbounds i8, ptr %63, i64 80
  %5720 = load i32, ptr %5719, align 8, !tbaa !29
  %5721 = load i32, ptr %5463, align 8, !tbaa !77
  %5722 = icmp eq i32 %5720, %5721
  br i1 %5722, label %5745, label %5723

5723:                                             ; preds = %5715
  %5724 = load i32, ptr %288, align 4, !tbaa !5
  %5725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5726 = call i32 @s2n_print_stacktrace(ptr noundef %5725) #12
  %5727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5728 = trunc nuw i8 %5727 to i1
  br i1 %5728, label %5729, label %5733

5729:                                             ; preds = %5723
  %5730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5731 = call i32 @fileno(ptr noundef %5730) #12
  %5732 = call i32 @isatty(i32 noundef %5731) #12
  %.not1452 = icmp eq i32 %5732, 0
  br i1 %.not1452, label %5733, label %5734

5733:                                             ; preds = %5729, %5723
  br label %5734

5734:                                             ; preds = %5729, %5733
  %.str.81.sink3726 = phi ptr [ @.str.81, %5733 ], [ @.str.78, %5729 ]
  store i32 %5724, ptr %288, align 4, !tbaa !5
  %5735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5736 = load i32, ptr @test_count, align 4, !tbaa !5
  %5737 = load i32, ptr %234, align 4, !tbaa !5
  %5738 = call ptr @s2n_strerror(i32 noundef %5737, ptr noundef nonnull @.str.80) #12
  %5739 = load i32, ptr %234, align 4, !tbaa !5
  %5740 = call ptr @s2n_strerror_debug(i32 noundef %5739, ptr noundef nonnull @.str.80) #12
  %5741 = load i32, ptr %288, align 4, !tbaa !5
  %5742 = call ptr @strerror(i32 noundef %5741) #12
  %5743 = load i32, ptr %288, align 4, !tbaa !5
  %5744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5735, ptr noundef nonnull %.str.81.sink3726, i32 noundef %5736, ptr noundef nonnull @.str.233, ptr noundef nonnull @.str.77, i32 noundef 527, ptr noundef %5738, ptr noundef %5740, ptr noundef %5742, i32 noundef %5743) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5745:                                             ; preds = %5715
  %.not1453 = icmp eq i32 %5720, 0
  br i1 %.not1453, label %5774, label %5746

5746:                                             ; preds = %5745
  %5747 = add nsw i32 %5716, 2
  store i32 %5747, ptr @test_count, align 4, !tbaa !5
  %5748 = load ptr, ptr %5718, align 8, !tbaa !30
  %5749 = load ptr, ptr %56, align 8, !tbaa !78
  %5750 = zext i32 %5720 to i64
  %bcmp1454 = call i32 @bcmp(ptr %5748, ptr %5749, i64 %5750)
  %5751 = icmp eq i32 %bcmp1454, 0
  br i1 %5751, label %5774, label %5752

5752:                                             ; preds = %5746
  %5753 = load i32, ptr %288, align 4, !tbaa !5
  %5754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5755 = call i32 @s2n_print_stacktrace(ptr noundef %5754) #12
  %5756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5757 = trunc nuw i8 %5756 to i1
  br i1 %5757, label %5758, label %5762

5758:                                             ; preds = %5752
  %5759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5760 = call i32 @fileno(ptr noundef %5759) #12
  %5761 = call i32 @isatty(i32 noundef %5760) #12
  %.not1455 = icmp eq i32 %5761, 0
  br i1 %.not1455, label %5762, label %5763

5762:                                             ; preds = %5758, %5752
  br label %5763

5763:                                             ; preds = %5758, %5762
  %.str.81.sink3735 = phi ptr [ @.str.81, %5762 ], [ @.str.78, %5758 ]
  store i32 %5753, ptr %288, align 4, !tbaa !5
  %5764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5765 = load i32, ptr @test_count, align 4, !tbaa !5
  %5766 = load i32, ptr %234, align 4, !tbaa !5
  %5767 = call ptr @s2n_strerror(i32 noundef %5766, ptr noundef nonnull @.str.80) #12
  %5768 = load i32, ptr %234, align 4, !tbaa !5
  %5769 = call ptr @s2n_strerror_debug(i32 noundef %5768, ptr noundef nonnull @.str.80) #12
  %5770 = load i32, ptr %288, align 4, !tbaa !5
  %5771 = call ptr @strerror(i32 noundef %5770) #12
  %5772 = load i32, ptr %288, align 4, !tbaa !5
  %5773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5764, ptr noundef nonnull %.str.81.sink3735, i32 noundef %5765, ptr noundef nonnull @.str.234, ptr noundef nonnull @.str.77, i32 noundef 527, ptr noundef %5767, ptr noundef %5769, ptr noundef %5771, i32 noundef %5772) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5774:                                             ; preds = %5745, %5746
  %5775 = phi i32 [ %5717, %5745 ], [ %5747, %5746 ]
  %5776 = add nsw i32 %5775, 1
  store i32 %5776, ptr @test_count, align 4, !tbaa !5
  %5777 = call i32 @s2n_connection_free(ptr noundef nonnull %5580) #12
  %5778 = icmp eq i32 %5777, -1
  br i1 %5778, label %5779, label %5801

5779:                                             ; preds = %5774
  %5780 = load i32, ptr %288, align 4, !tbaa !5
  %5781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5782 = call i32 @s2n_print_stacktrace(ptr noundef %5781) #12
  %5783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5784 = trunc nuw i8 %5783 to i1
  br i1 %5784, label %5785, label %5789

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

5789:                                             ; preds = %5785, %5779
  br label %5790

5790:                                             ; preds = %5785, %5789
  %.str.81.sink3744 = phi ptr [ @.str.81, %5789 ], [ @.str.78, %5785 ]
  store i32 %5780, ptr %288, align 4, !tbaa !5
  %5791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5792 = load i32, ptr @test_count, align 4, !tbaa !5
  %5793 = load i32, ptr %234, align 4, !tbaa !5
  %5794 = call ptr @s2n_strerror(i32 noundef %5793, ptr noundef nonnull @.str.80) #12
  %5795 = load i32, ptr %234, align 4, !tbaa !5
  %5796 = call ptr @s2n_strerror_debug(i32 noundef %5795, ptr noundef nonnull @.str.80) #12
  %5797 = load i32, ptr %288, align 4, !tbaa !5
  %5798 = call ptr @strerror(i32 noundef %5797) #12
  %5799 = load i32, ptr %288, align 4, !tbaa !5
  %5800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5791, ptr noundef nonnull %.str.81.sink3744, i32 noundef %5792, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 529, ptr noundef %5794, ptr noundef %5796, ptr noundef %5798, i32 noundef %5799) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5801:                                             ; preds = %5774
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %65) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %64) #12
  %5802 = call i32 @s2n_psk_wipe(ptr noundef nonnull %63)
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %63) #12
  %5803 = load i32, ptr @test_count, align 4, !tbaa !5
  %5804 = add nsw i32 %5803, 1
  store i32 %5804, ptr @test_count, align 4, !tbaa !5
  %5805 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %5806 = icmp eq ptr %5805, null
  br i1 %5806, label %5807, label %5829

5807:                                             ; preds = %5801
  %5808 = load i32, ptr %288, align 4, !tbaa !5
  %5809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5810 = call i32 @s2n_print_stacktrace(ptr noundef %5809) #12
  %5811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5812 = trunc nuw i8 %5811 to i1
  br i1 %5812, label %5813, label %5817

5813:                                             ; preds = %5807
  %5814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5815 = call i32 @fileno(ptr noundef %5814) #12
  %5816 = call i32 @isatty(i32 noundef %5815) #12
  %.not1764 = icmp eq i32 %5816, 0
  br i1 %.not1764, label %5817, label %5818

5817:                                             ; preds = %5813, %5807
  br label %5818

5818:                                             ; preds = %5813, %5817
  %.str.81.sink3753 = phi ptr [ @.str.81, %5817 ], [ @.str.78, %5813 ]
  store i32 %5808, ptr %288, align 4, !tbaa !5
  %5819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5820 = load i32, ptr @test_count, align 4, !tbaa !5
  %5821 = load i32, ptr %234, align 4, !tbaa !5
  %5822 = call ptr @s2n_strerror(i32 noundef %5821, ptr noundef nonnull @.str.80) #12
  %5823 = load i32, ptr %234, align 4, !tbaa !5
  %5824 = call ptr @s2n_strerror_debug(i32 noundef %5823, ptr noundef nonnull @.str.80) #12
  %5825 = load i32, ptr %288, align 4, !tbaa !5
  %5826 = call ptr @strerror(i32 noundef %5825) #12
  %5827 = load i32, ptr %288, align 4, !tbaa !5
  %5828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5819, ptr noundef nonnull %.str.81.sink3753, i32 noundef %5820, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 535, ptr noundef %5822, ptr noundef %5824, ptr noundef %5826, i32 noundef %5827) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5829:                                             ; preds = %5801
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %66) #12
  %5830 = load i32, ptr @test_count, align 4, !tbaa !5
  %5831 = add nsw i32 %5830, 1
  store i32 %5831, ptr @test_count, align 4, !tbaa !5
  %5832 = call i32 @s2n_psk_init(ptr noundef nonnull %66, i32 noundef 0)
  %5833 = call zeroext i1 @s2n_result_is_ok(i32 %5832)
  br i1 %5833, label %5856, label %5834

5834:                                             ; preds = %5829
  %5835 = load i32, ptr %288, align 4, !tbaa !5
  %5836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5837 = call i32 @s2n_print_stacktrace(ptr noundef %5836) #12
  %5838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5839 = trunc nuw i8 %5838 to i1
  br i1 %5839, label %5840, label %5844

5840:                                             ; preds = %5834
  %5841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5842 = call i32 @fileno(ptr noundef %5841) #12
  %5843 = call i32 @isatty(i32 noundef %5842) #12
  %.not1456 = icmp eq i32 %5843, 0
  br i1 %.not1456, label %5844, label %5845

5844:                                             ; preds = %5840, %5834
  br label %5845

5845:                                             ; preds = %5840, %5844
  %.str.81.sink3762 = phi ptr [ @.str.81, %5844 ], [ @.str.78, %5840 ]
  store i32 %5835, ptr %288, align 4, !tbaa !5
  %5846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5847 = load i32, ptr @test_count, align 4, !tbaa !5
  %5848 = load i32, ptr %234, align 4, !tbaa !5
  %5849 = call ptr @s2n_strerror(i32 noundef %5848, ptr noundef nonnull @.str.80) #12
  %5850 = load i32, ptr %234, align 4, !tbaa !5
  %5851 = call ptr @s2n_strerror_debug(i32 noundef %5850, ptr noundef nonnull @.str.80) #12
  %5852 = load i32, ptr %288, align 4, !tbaa !5
  %5853 = call ptr @strerror(i32 noundef %5852) #12
  %5854 = load i32, ptr %288, align 4, !tbaa !5
  %5855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5846, ptr noundef nonnull %.str.81.sink3762, i32 noundef %5847, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.77, i32 noundef 538, ptr noundef %5849, ptr noundef %5851, ptr noundef %5853, i32 noundef %5854) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5856:                                             ; preds = %5829
  %5857 = load i32, ptr @test_count, align 4, !tbaa !5
  %5858 = add nsw i32 %5857, 1
  store i32 %5858, ptr @test_count, align 4, !tbaa !5
  %5859 = load ptr, ptr %54, align 8, !tbaa !78
  %5860 = load i32, ptr %5376, align 8, !tbaa !77
  %5861 = trunc i32 %5860 to i16
  %5862 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %66, ptr noundef %5859, i16 noundef zeroext %5861)
  %5863 = icmp eq i32 %5862, -1
  br i1 %5863, label %5864, label %5886

5864:                                             ; preds = %5856
  %5865 = load i32, ptr %288, align 4, !tbaa !5
  %5866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5867 = call i32 @s2n_print_stacktrace(ptr noundef %5866) #12
  %5868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5869 = trunc nuw i8 %5868 to i1
  br i1 %5869, label %5870, label %5874

5870:                                             ; preds = %5864
  %5871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5872 = call i32 @fileno(ptr noundef %5871) #12
  %5873 = call i32 @isatty(i32 noundef %5872) #12
  %.not1763 = icmp eq i32 %5873, 0
  br i1 %.not1763, label %5874, label %5875

5874:                                             ; preds = %5870, %5864
  br label %5875

5875:                                             ; preds = %5870, %5874
  %.str.81.sink3771 = phi ptr [ @.str.81, %5874 ], [ @.str.78, %5870 ]
  store i32 %5865, ptr %288, align 4, !tbaa !5
  %5876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5877 = load i32, ptr @test_count, align 4, !tbaa !5
  %5878 = load i32, ptr %234, align 4, !tbaa !5
  %5879 = call ptr @s2n_strerror(i32 noundef %5878, ptr noundef nonnull @.str.80) #12
  %5880 = load i32, ptr %234, align 4, !tbaa !5
  %5881 = call ptr @s2n_strerror_debug(i32 noundef %5880, ptr noundef nonnull @.str.80) #12
  %5882 = load i32, ptr %288, align 4, !tbaa !5
  %5883 = call ptr @strerror(i32 noundef %5882) #12
  %5884 = load i32, ptr %288, align 4, !tbaa !5
  %5885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5876, ptr noundef nonnull %.str.81.sink3771, i32 noundef %5877, ptr noundef nonnull @.str.230, ptr noundef nonnull @.str.77, i32 noundef 539, ptr noundef %5879, ptr noundef %5881, ptr noundef %5883, i32 noundef %5884) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5886:                                             ; preds = %5856
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %67) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %67, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %68) #12
  %5887 = load i32, ptr @test_count, align 4, !tbaa !5
  %5888 = add nsw i32 %5887, 1
  store i32 %5888, ptr @test_count, align 4, !tbaa !5
  %5889 = call i32 @s2n_blob_init(ptr noundef nonnull %67, ptr noundef nonnull %68, i32 noundef 32) #12
  %5890 = icmp eq i32 %5889, -1
  br i1 %5890, label %5891, label %5913

5891:                                             ; preds = %5886
  %5892 = load i32, ptr %288, align 4, !tbaa !5
  %5893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5894 = call i32 @s2n_print_stacktrace(ptr noundef %5893) #12
  %5895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5896 = trunc nuw i8 %5895 to i1
  br i1 %5896, label %5897, label %5901

5897:                                             ; preds = %5891
  %5898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5899 = call i32 @fileno(ptr noundef %5898) #12
  %5900 = call i32 @isatty(i32 noundef %5899) #12
  %.not1762 = icmp eq i32 %5900, 0
  br i1 %.not1762, label %5901, label %5902

5901:                                             ; preds = %5897, %5891
  br label %5902

5902:                                             ; preds = %5897, %5901
  %.str.81.sink3780 = phi ptr [ @.str.81, %5901 ], [ @.str.78, %5897 ]
  store i32 %5892, ptr %288, align 4, !tbaa !5
  %5903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5904 = load i32, ptr @test_count, align 4, !tbaa !5
  %5905 = load i32, ptr %234, align 4, !tbaa !5
  %5906 = call ptr @s2n_strerror(i32 noundef %5905, ptr noundef nonnull @.str.80) #12
  %5907 = load i32, ptr %234, align 4, !tbaa !5
  %5908 = call ptr @s2n_strerror_debug(i32 noundef %5907, ptr noundef nonnull @.str.80) #12
  %5909 = load i32, ptr %288, align 4, !tbaa !5
  %5910 = call ptr @strerror(i32 noundef %5909) #12
  %5911 = load i32, ptr %288, align 4, !tbaa !5
  %5912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5903, ptr noundef nonnull %.str.81.sink3780, i32 noundef %5904, ptr noundef nonnull @.str.231, ptr noundef nonnull @.str.77, i32 noundef 545, ptr noundef %5906, ptr noundef %5908, ptr noundef %5910, i32 noundef %5911) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5913:                                             ; preds = %5886
  %5914 = load i32, ptr @test_count, align 4, !tbaa !5
  %5915 = add nsw i32 %5914, 1
  store i32 %5915, ptr @test_count, align 4, !tbaa !5
  %5916 = call i32 @s2n_psk_verify_binder(ptr noundef nonnull %5805, ptr noundef nonnull %66, ptr noundef nonnull %52, ptr noundef nonnull %54)
  %5917 = icmp eq i32 %5916, -1
  br i1 %5917, label %5940, label %5918

5918:                                             ; preds = %5913
  %5919 = load i32, ptr %288, 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
  %.not1457 = icmp eq i32 %5927, 0
  br i1 %.not1457, label %5928, label %5929

5928:                                             ; preds = %5924, %5918
  br label %5929

5929:                                             ; preds = %5924, %5928
  %.str.81.sink3789 = phi ptr [ @.str.81, %5928 ], [ @.str.78, %5924 ]
  store i32 %5919, ptr %288, 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 %234, align 4, !tbaa !5
  %5933 = call ptr @s2n_strerror(i32 noundef %5932, ptr noundef nonnull @.str.80) #12
  %5934 = load i32, ptr %234, align 4, !tbaa !5
  %5935 = call ptr @s2n_strerror_debug(i32 noundef %5934, ptr noundef nonnull @.str.80) #12
  %5936 = load i32, ptr %288, align 4, !tbaa !5
  %5937 = call ptr @strerror(i32 noundef %5936) #12
  %5938 = load i32, ptr %288, align 4, !tbaa !5
  %5939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5930, ptr noundef nonnull %.str.81.sink3789, i32 noundef %5931, ptr noundef nonnull @.str.238, ptr noundef nonnull @.str.77, i32 noundef 547, ptr noundef %5933, ptr noundef %5935, ptr noundef %5937, i32 noundef %5938) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5940:                                             ; preds = %5913
  %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 %234, align 4, !tbaa !5
  %5944 = icmp eq i32 %5943, 0
  br i1 %5944, label %5945, label %5967

5945:                                             ; preds = %5940
  %5946 = load i32, ptr %288, 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
  %.not1761 = icmp eq i32 %5954, 0
  br i1 %.not1761, label %5955, label %5956

5955:                                             ; preds = %5951, %5945
  br label %5956

5956:                                             ; preds = %5951, %5955
  %.str.81.sink3798 = phi ptr [ @.str.81, %5955 ], [ @.str.78, %5951 ]
  store i32 %5946, ptr %288, 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 %234, align 4, !tbaa !5
  %5960 = call ptr @s2n_strerror(i32 noundef %5959, ptr noundef nonnull @.str.80) #12
  %5961 = load i32, ptr %234, align 4, !tbaa !5
  %5962 = call ptr @s2n_strerror_debug(i32 noundef %5961, ptr noundef nonnull @.str.80) #12
  %5963 = load i32, ptr %288, align 4, !tbaa !5
  %5964 = call ptr @strerror(i32 noundef %5963) #12
  %5965 = load i32, ptr %288, align 4, !tbaa !5
  %5966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5957, ptr noundef nonnull %.str.81.sink3798, i32 noundef %5958, ptr noundef nonnull @.str.239, ptr noundef nonnull @.str.77, i32 noundef 547, 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 %5943, ptr noundef nonnull @.str.80) #12
  %5970 = icmp eq ptr %5969, null
  br i1 %5970, label %5971, label %5993

5971:                                             ; preds = %5967
  %5972 = load i32, ptr %288, 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
  %.not1760 = icmp eq i32 %5980, 0
  br i1 %.not1760, label %5981, label %5982

5981:                                             ; preds = %5977, %5971
  br label %5982

5982:                                             ; preds = %5977, %5981
  %.str.81.sink3807 = phi ptr [ @.str.81, %5981 ], [ @.str.78, %5977 ]
  store i32 %5972, ptr %288, 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 %234, align 4, !tbaa !5
  %5986 = call ptr @s2n_strerror(i32 noundef %5985, ptr noundef nonnull @.str.80) #12
  %5987 = load i32, ptr %234, align 4, !tbaa !5
  %5988 = call ptr @s2n_strerror_debug(i32 noundef %5987, ptr noundef nonnull @.str.80) #12
  %5989 = load i32, ptr %288, align 4, !tbaa !5
  %5990 = call ptr @strerror(i32 noundef %5989) #12
  %5991 = load i32, ptr %288, align 4, !tbaa !5
  %5992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5983, ptr noundef nonnull %.str.81.sink3807, i32 noundef %5984, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 547, 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 %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, 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 = getelementptr inbounds i8, ptr %66, i64 72
  %5997 = getelementptr inbounds i8, ptr %66, i64 80
  %5998 = load i32, ptr %5997, align 8, !tbaa !29
  %5999 = load i32, ptr %5463, align 8, !tbaa !77
  %6000 = icmp eq i32 %5998, %5999
  br i1 %6000, label %6023, label %6001

6001:                                             ; preds = %5993
  %6002 = load i32, ptr %288, align 4, !tbaa !5
  %6003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6004 = call i32 @s2n_print_stacktrace(ptr noundef %6003) #12
  %6005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6006 = trunc nuw i8 %6005 to i1
  br i1 %6006, label %6007, label %6011

6007:                                             ; preds = %6001
  %6008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6009 = call i32 @fileno(ptr noundef %6008) #12
  %6010 = call i32 @isatty(i32 noundef %6009) #12
  %.not1458 = icmp eq i32 %6010, 0
  br i1 %.not1458, label %6011, label %6012

6011:                                             ; preds = %6007, %6001
  br label %6012

6012:                                             ; preds = %6007, %6011
  %.str.81.sink3816 = phi ptr [ @.str.81, %6011 ], [ @.str.78, %6007 ]
  store i32 %6002, ptr %288, align 4, !tbaa !5
  %6013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6014 = load i32, ptr @test_count, align 4, !tbaa !5
  %6015 = load i32, ptr %234, align 4, !tbaa !5
  %6016 = call ptr @s2n_strerror(i32 noundef %6015, ptr noundef nonnull @.str.80) #12
  %6017 = load i32, ptr %234, align 4, !tbaa !5
  %6018 = call ptr @s2n_strerror_debug(i32 noundef %6017, ptr noundef nonnull @.str.80) #12
  %6019 = load i32, ptr %288, align 4, !tbaa !5
  %6020 = call ptr @strerror(i32 noundef %6019) #12
  %6021 = load i32, ptr %288, align 4, !tbaa !5
  %6022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6013, ptr noundef nonnull %.str.81.sink3816, i32 noundef %6014, ptr noundef nonnull @.str.233, ptr noundef nonnull @.str.77, i32 noundef 548, ptr noundef %6016, ptr noundef %6018, ptr noundef %6020, i32 noundef %6021) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6023:                                             ; preds = %5993
  %.not1459 = icmp eq i32 %5998, 0
  br i1 %.not1459, label %6052, label %6024

6024:                                             ; preds = %6023
  %6025 = add nsw i32 %5994, 2
  store i32 %6025, ptr @test_count, align 4, !tbaa !5
  %6026 = load ptr, ptr %5996, align 8, !tbaa !30
  %6027 = load ptr, ptr %56, align 8, !tbaa !78
  %6028 = zext i32 %5998 to i64
  %bcmp1460 = call i32 @bcmp(ptr %6026, ptr %6027, i64 %6028)
  %6029 = icmp eq i32 %bcmp1460, 0
  br i1 %6029, label %6052, label %6030

6030:                                             ; preds = %6024
  %6031 = load i32, ptr %288, align 4, !tbaa !5
  %6032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6033 = call i32 @s2n_print_stacktrace(ptr noundef %6032) #12
  %6034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6035 = trunc nuw i8 %6034 to i1
  br i1 %6035, label %6036, label %6040

6036:                                             ; preds = %6030
  %6037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6038 = call i32 @fileno(ptr noundef %6037) #12
  %6039 = call i32 @isatty(i32 noundef %6038) #12
  %.not1461 = icmp eq i32 %6039, 0
  br i1 %.not1461, label %6040, label %6041

6040:                                             ; preds = %6036, %6030
  br label %6041

6041:                                             ; preds = %6036, %6040
  %.str.81.sink3825 = phi ptr [ @.str.81, %6040 ], [ @.str.78, %6036 ]
  store i32 %6031, ptr %288, align 4, !tbaa !5
  %6042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6043 = load i32, ptr @test_count, align 4, !tbaa !5
  %6044 = load i32, ptr %234, align 4, !tbaa !5
  %6045 = call ptr @s2n_strerror(i32 noundef %6044, ptr noundef nonnull @.str.80) #12
  %6046 = load i32, ptr %234, align 4, !tbaa !5
  %6047 = call ptr @s2n_strerror_debug(i32 noundef %6046, ptr noundef nonnull @.str.80) #12
  %6048 = load i32, ptr %288, align 4, !tbaa !5
  %6049 = call ptr @strerror(i32 noundef %6048) #12
  %6050 = load i32, ptr %288, align 4, !tbaa !5
  %6051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6042, ptr noundef nonnull %.str.81.sink3825, i32 noundef %6043, ptr noundef nonnull @.str.234, ptr noundef nonnull @.str.77, i32 noundef 548, ptr noundef %6045, ptr noundef %6047, ptr noundef %6049, i32 noundef %6050) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6052:                                             ; preds = %6023, %6024
  %6053 = phi i32 [ %5995, %6023 ], [ %6025, %6024 ]
  %6054 = add nsw i32 %6053, 1
  store i32 %6054, ptr @test_count, align 4, !tbaa !5
  %6055 = call i32 @s2n_connection_free(ptr noundef nonnull %5805) #12
  %6056 = icmp eq i32 %6055, -1
  br i1 %6056, label %6057, label %6079

6057:                                             ; preds = %6052
  %6058 = load i32, ptr %288, align 4, !tbaa !5
  %6059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6060 = call i32 @s2n_print_stacktrace(ptr noundef %6059) #12
  %6061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6062 = trunc nuw i8 %6061 to i1
  br i1 %6062, label %6063, label %6067

6063:                                             ; preds = %6057
  %6064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6065 = call i32 @fileno(ptr noundef %6064) #12
  %6066 = call i32 @isatty(i32 noundef %6065) #12
  %.not1759 = icmp eq i32 %6066, 0
  br i1 %.not1759, label %6067, label %6068

6067:                                             ; preds = %6063, %6057
  br label %6068

6068:                                             ; preds = %6063, %6067
  %.str.81.sink3834 = phi ptr [ @.str.81, %6067 ], [ @.str.78, %6063 ]
  store i32 %6058, ptr %288, align 4, !tbaa !5
  %6069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6070 = load i32, ptr @test_count, align 4, !tbaa !5
  %6071 = load i32, ptr %234, align 4, !tbaa !5
  %6072 = call ptr @s2n_strerror(i32 noundef %6071, ptr noundef nonnull @.str.80) #12
  %6073 = load i32, ptr %234, align 4, !tbaa !5
  %6074 = call ptr @s2n_strerror_debug(i32 noundef %6073, ptr noundef nonnull @.str.80) #12
  %6075 = load i32, ptr %288, align 4, !tbaa !5
  %6076 = call ptr @strerror(i32 noundef %6075) #12
  %6077 = load i32, ptr %288, align 4, !tbaa !5
  %6078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6069, ptr noundef nonnull %.str.81.sink3834, i32 noundef %6070, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 550, ptr noundef %6072, ptr noundef %6074, ptr noundef %6076, i32 noundef %6077) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6079:                                             ; preds = %6052
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %68) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %67) #12
  %6080 = call i32 @s2n_psk_wipe(ptr noundef nonnull %66)
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %66) #12
  %6081 = load i32, ptr @test_count, align 4, !tbaa !5
  %6082 = add nsw i32 %6081, 1
  store i32 %6082, ptr @test_count, align 4, !tbaa !5
  %6083 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6084 = icmp eq ptr %6083, null
  br i1 %6084, label %6085, label %6107

6085:                                             ; preds = %6079
  %6086 = load i32, ptr %288, align 4, !tbaa !5
  %6087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6088 = call i32 @s2n_print_stacktrace(ptr noundef %6087) #12
  %6089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6090 = trunc nuw i8 %6089 to i1
  br i1 %6090, label %6091, label %6095

6091:                                             ; preds = %6085
  %6092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6093 = call i32 @fileno(ptr noundef %6092) #12
  %6094 = call i32 @isatty(i32 noundef %6093) #12
  %.not1758 = icmp eq i32 %6094, 0
  br i1 %.not1758, label %6095, label %6096

6095:                                             ; preds = %6091, %6085
  br label %6096

6096:                                             ; preds = %6091, %6095
  %.str.81.sink3843 = phi ptr [ @.str.81, %6095 ], [ @.str.78, %6091 ]
  store i32 %6086, ptr %288, align 4, !tbaa !5
  %6097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6098 = load i32, ptr @test_count, align 4, !tbaa !5
  %6099 = load i32, ptr %234, align 4, !tbaa !5
  %6100 = call ptr @s2n_strerror(i32 noundef %6099, ptr noundef nonnull @.str.80) #12
  %6101 = load i32, ptr %234, align 4, !tbaa !5
  %6102 = call ptr @s2n_strerror_debug(i32 noundef %6101, ptr noundef nonnull @.str.80) #12
  %6103 = load i32, ptr %288, align 4, !tbaa !5
  %6104 = call ptr @strerror(i32 noundef %6103) #12
  %6105 = load i32, ptr %288, align 4, !tbaa !5
  %6106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6097, ptr noundef nonnull %.str.81.sink3843, i32 noundef %6098, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 556, ptr noundef %6100, ptr noundef %6102, ptr noundef %6104, i32 noundef %6105) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6107:                                             ; preds = %6079
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %69) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %69, i8 0, i64 168, i1 false)
  %6108 = load i32, ptr @test_count, align 4, !tbaa !5
  %6109 = add nsw i32 %6108, 1
  store i32 %6109, ptr @test_count, align 4, !tbaa !5
  %6110 = call i32 @s2n_psk_init(ptr noundef nonnull %69, i32 noundef 0)
  %6111 = call zeroext i1 @s2n_result_is_ok(i32 %6110)
  br i1 %6111, label %6134, label %6112

6112:                                             ; preds = %6107
  %6113 = load i32, ptr %288, align 4, !tbaa !5
  %6114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6115 = call i32 @s2n_print_stacktrace(ptr noundef %6114) #12
  %6116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6117 = trunc nuw i8 %6116 to i1
  br i1 %6117, label %6118, label %6122

6118:                                             ; preds = %6112
  %6119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6120 = call i32 @fileno(ptr noundef %6119) #12
  %6121 = call i32 @isatty(i32 noundef %6120) #12
  %.not1462 = icmp eq i32 %6121, 0
  br i1 %.not1462, label %6122, label %6123

6122:                                             ; preds = %6118, %6112
  br label %6123

6123:                                             ; preds = %6118, %6122
  %.str.81.sink3852 = phi ptr [ @.str.81, %6122 ], [ @.str.78, %6118 ]
  store i32 %6113, ptr %288, align 4, !tbaa !5
  %6124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6125 = load i32, ptr @test_count, align 4, !tbaa !5
  %6126 = load i32, ptr %234, align 4, !tbaa !5
  %6127 = call ptr @s2n_strerror(i32 noundef %6126, ptr noundef nonnull @.str.80) #12
  %6128 = load i32, ptr %234, align 4, !tbaa !5
  %6129 = call ptr @s2n_strerror_debug(i32 noundef %6128, ptr noundef nonnull @.str.80) #12
  %6130 = load i32, ptr %288, align 4, !tbaa !5
  %6131 = call ptr @strerror(i32 noundef %6130) #12
  %6132 = load i32, ptr %288, align 4, !tbaa !5
  %6133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6124, ptr noundef nonnull %.str.81.sink3852, i32 noundef %6125, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.77, i32 noundef 559, ptr noundef %6127, ptr noundef %6129, ptr noundef %6131, i32 noundef %6132) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6134:                                             ; preds = %6107
  %6135 = load i32, ptr @test_count, align 4, !tbaa !5
  %6136 = add nsw i32 %6135, 1
  store i32 %6136, ptr @test_count, align 4, !tbaa !5
  %6137 = load ptr, ptr %54, align 8, !tbaa !78
  %6138 = load i32, ptr %5376, align 8, !tbaa !77
  %6139 = trunc i32 %6138 to i16
  %6140 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %69, ptr noundef %6137, i16 noundef zeroext %6139)
  %6141 = icmp eq i32 %6140, -1
  br i1 %6141, label %6142, label %6164

6142:                                             ; preds = %6134
  %6143 = load i32, ptr %288, align 4, !tbaa !5
  %6144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6145 = call i32 @s2n_print_stacktrace(ptr noundef %6144) #12
  %6146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6147 = trunc nuw i8 %6146 to i1
  br i1 %6147, label %6148, label %6152

6148:                                             ; preds = %6142
  %6149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6150 = call i32 @fileno(ptr noundef %6149) #12
  %6151 = call i32 @isatty(i32 noundef %6150) #12
  %.not1757 = icmp eq i32 %6151, 0
  br i1 %.not1757, label %6152, label %6153

6152:                                             ; preds = %6148, %6142
  br label %6153

6153:                                             ; preds = %6148, %6152
  %.str.81.sink3861 = phi ptr [ @.str.81, %6152 ], [ @.str.78, %6148 ]
  store i32 %6143, ptr %288, align 4, !tbaa !5
  %6154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6155 = load i32, ptr @test_count, align 4, !tbaa !5
  %6156 = load i32, ptr %234, align 4, !tbaa !5
  %6157 = call ptr @s2n_strerror(i32 noundef %6156, ptr noundef nonnull @.str.80) #12
  %6158 = load i32, ptr %234, align 4, !tbaa !5
  %6159 = call ptr @s2n_strerror_debug(i32 noundef %6158, ptr noundef nonnull @.str.80) #12
  %6160 = load i32, ptr %288, align 4, !tbaa !5
  %6161 = call ptr @strerror(i32 noundef %6160) #12
  %6162 = load i32, ptr %288, align 4, !tbaa !5
  %6163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6154, ptr noundef nonnull %.str.81.sink3861, i32 noundef %6155, ptr noundef nonnull @.str.240, ptr noundef nonnull @.str.77, i32 noundef 560, ptr noundef %6157, ptr noundef %6159, ptr noundef %6161, i32 noundef %6162) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6164:                                             ; preds = %6134
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %70) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %70, i8 0, i64 40, i1 false)
  %6165 = load i32, ptr @test_count, align 4, !tbaa !5
  %6166 = add nsw i32 %6165, 1
  store i32 %6166, ptr @test_count, align 4, !tbaa !5
  %6167 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %70, i32 noundef 0) #12
  %6168 = icmp eq i32 %6167, -1
  br i1 %6168, label %6169, label %6191

6169:                                             ; preds = %6164
  %6170 = load i32, ptr %288, align 4, !tbaa !5
  %6171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6172 = call i32 @s2n_print_stacktrace(ptr noundef %6171) #12
  %6173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6174 = trunc nuw i8 %6173 to i1
  br i1 %6174, label %6175, label %6179

6175:                                             ; preds = %6169
  %6176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6177 = call i32 @fileno(ptr noundef %6176) #12
  %6178 = call i32 @isatty(i32 noundef %6177) #12
  %.not1756 = icmp eq i32 %6178, 0
  br i1 %.not1756, label %6179, label %6180

6179:                                             ; preds = %6175, %6169
  br label %6180

6180:                                             ; preds = %6175, %6179
  %.str.81.sink3870 = phi ptr [ @.str.81, %6179 ], [ @.str.78, %6175 ]
  store i32 %6170, ptr %288, align 4, !tbaa !5
  %6181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6182 = load i32, ptr @test_count, align 4, !tbaa !5
  %6183 = load i32, ptr %234, align 4, !tbaa !5
  %6184 = call ptr @s2n_strerror(i32 noundef %6183, ptr noundef nonnull @.str.80) #12
  %6185 = load i32, ptr %234, align 4, !tbaa !5
  %6186 = call ptr @s2n_strerror_debug(i32 noundef %6185, ptr noundef nonnull @.str.80) #12
  %6187 = load i32, ptr %288, align 4, !tbaa !5
  %6188 = call ptr @strerror(i32 noundef %6187) #12
  %6189 = load i32, ptr %288, align 4, !tbaa !5
  %6190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6181, ptr noundef nonnull %.str.81.sink3870, i32 noundef %6182, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.77, i32 noundef 563, ptr noundef %6184, ptr noundef %6186, ptr noundef %6188, i32 noundef %6189) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6191:                                             ; preds = %6164
  %6192 = load i32, ptr @test_count, align 4, !tbaa !5
  %6193 = add nsw i32 %6192, 1
  store i32 %6193, ptr @test_count, align 4, !tbaa !5
  %6194 = call i32 @s2n_psk_write_binder(ptr noundef nonnull %6083, ptr noundef nonnull %69, ptr noundef nonnull %55, ptr noundef nonnull %70)
  %6195 = call zeroext i1 @s2n_result_is_ok(i32 %6194)
  br i1 %6195, label %6218, label %6196

6196:                                             ; preds = %6191
  %6197 = load i32, ptr %288, align 4, !tbaa !5
  %6198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6199 = call i32 @s2n_print_stacktrace(ptr noundef %6198) #12
  %6200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6201 = trunc nuw i8 %6200 to i1
  br i1 %6201, label %6202, label %6206

6202:                                             ; preds = %6196
  %6203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6204 = call i32 @fileno(ptr noundef %6203) #12
  %6205 = call i32 @isatty(i32 noundef %6204) #12
  %.not1463 = icmp eq i32 %6205, 0
  br i1 %.not1463, label %6206, label %6207

6206:                                             ; preds = %6202, %6196
  br label %6207

6207:                                             ; preds = %6202, %6206
  %.str.81.sink3879 = phi ptr [ @.str.81, %6206 ], [ @.str.78, %6202 ]
  store i32 %6197, ptr %288, align 4, !tbaa !5
  %6208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6209 = load i32, ptr @test_count, align 4, !tbaa !5
  %6210 = load i32, ptr %234, align 4, !tbaa !5
  %6211 = call ptr @s2n_strerror(i32 noundef %6210, ptr noundef nonnull @.str.80) #12
  %6212 = load i32, ptr %234, align 4, !tbaa !5
  %6213 = call ptr @s2n_strerror_debug(i32 noundef %6212, ptr noundef nonnull @.str.80) #12
  %6214 = load i32, ptr %288, align 4, !tbaa !5
  %6215 = call ptr @strerror(i32 noundef %6214) #12
  %6216 = load i32, ptr %288, align 4, !tbaa !5
  %6217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6208, ptr noundef nonnull %.str.81.sink3879, i32 noundef %6209, ptr noundef nonnull @.str.241, ptr noundef nonnull @.str.77, i32 noundef 565, ptr noundef %6211, ptr noundef %6213, ptr noundef %6215, i32 noundef %6216) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6218:                                             ; preds = %6191
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %71) #12
  store i8 0, ptr %71, align 1, !tbaa !26
  %6219 = load i32, ptr @test_count, align 4, !tbaa !5
  %6220 = add nsw i32 %6219, 1
  store i32 %6220, ptr @test_count, align 4, !tbaa !5
  %6221 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %70, ptr noundef nonnull %71) #12
  %6222 = icmp eq i32 %6221, -1
  br i1 %6222, label %6223, label %6245

6223:                                             ; preds = %6218
  %6224 = load i32, ptr %288, align 4, !tbaa !5
  %6225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6226 = call i32 @s2n_print_stacktrace(ptr noundef %6225) #12
  %6227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6228 = trunc nuw i8 %6227 to i1
  br i1 %6228, label %6229, label %6233

6229:                                             ; preds = %6223
  %6230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6231 = call i32 @fileno(ptr noundef %6230) #12
  %6232 = call i32 @isatty(i32 noundef %6231) #12
  %.not1755 = icmp eq i32 %6232, 0
  br i1 %.not1755, label %6233, label %6234

6233:                                             ; preds = %6229, %6223
  br label %6234

6234:                                             ; preds = %6229, %6233
  %.str.81.sink3888 = phi ptr [ @.str.81, %6233 ], [ @.str.78, %6229 ]
  store i32 %6224, ptr %288, align 4, !tbaa !5
  %6235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6236 = load i32, ptr @test_count, align 4, !tbaa !5
  %6237 = load i32, ptr %234, align 4, !tbaa !5
  %6238 = call ptr @s2n_strerror(i32 noundef %6237, ptr noundef nonnull @.str.80) #12
  %6239 = load i32, ptr %234, align 4, !tbaa !5
  %6240 = call ptr @s2n_strerror_debug(i32 noundef %6239, ptr noundef nonnull @.str.80) #12
  %6241 = load i32, ptr %288, align 4, !tbaa !5
  %6242 = call ptr @strerror(i32 noundef %6241) #12
  %6243 = load i32, ptr %288, align 4, !tbaa !5
  %6244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6235, ptr noundef nonnull %.str.81.sink3888, i32 noundef %6236, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.77, i32 noundef 568, ptr noundef %6238, ptr noundef %6240, ptr noundef %6242, i32 noundef %6243) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6245:                                             ; preds = %6218
  %6246 = load i32, ptr @test_count, align 4, !tbaa !5
  %6247 = add nsw i32 %6246, 1
  store i32 %6247, ptr @test_count, align 4, !tbaa !5
  %6248 = load i8, ptr %71, align 1, !tbaa !26
  %6249 = zext i8 %6248 to i32
  %6250 = getelementptr inbounds i8, ptr %70, i64 28
  %6251 = load i32, ptr %6250, align 4, !tbaa !66
  %6252 = getelementptr inbounds i8, ptr %70, i64 24
  %6253 = load i32, ptr %6252, align 8, !tbaa !67
  %6254 = sub i32 %6251, %6253
  %6255 = icmp eq i32 %6254, %6249
  br i1 %6255, label %6278, label %6256

6256:                                             ; preds = %6245
  %6257 = load i32, ptr %288, align 4, !tbaa !5
  %6258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6259 = call i32 @s2n_print_stacktrace(ptr noundef %6258) #12
  %6260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6261 = trunc nuw i8 %6260 to i1
  br i1 %6261, label %6262, label %6266

6262:                                             ; preds = %6256
  %6263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6264 = call i32 @fileno(ptr noundef %6263) #12
  %6265 = call i32 @isatty(i32 noundef %6264) #12
  %.not1464 = icmp eq i32 %6265, 0
  br i1 %.not1464, label %6266, label %6267

6266:                                             ; preds = %6262, %6256
  br label %6267

6267:                                             ; preds = %6262, %6266
  %.str.81.sink3897 = phi ptr [ @.str.81, %6266 ], [ @.str.78, %6262 ]
  store i32 %6257, ptr %288, align 4, !tbaa !5
  %6268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6269 = load i32, ptr @test_count, align 4, !tbaa !5
  %6270 = load i32, ptr %234, align 4, !tbaa !5
  %6271 = call ptr @s2n_strerror(i32 noundef %6270, ptr noundef nonnull @.str.80) #12
  %6272 = load i32, ptr %234, align 4, !tbaa !5
  %6273 = call ptr @s2n_strerror_debug(i32 noundef %6272, ptr noundef nonnull @.str.80) #12
  %6274 = load i32, ptr %288, align 4, !tbaa !5
  %6275 = call ptr @strerror(i32 noundef %6274) #12
  %6276 = load i32, ptr %288, align 4, !tbaa !5
  %6277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6268, ptr noundef nonnull %.str.81.sink3897, i32 noundef %6269, ptr noundef nonnull @.str.217, ptr noundef nonnull @.str.77, i32 noundef 569, ptr noundef %6271, ptr noundef %6273, ptr noundef %6275, i32 noundef %6276) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6278:                                             ; preds = %6245
  %6279 = add nsw i32 %6246, 2
  store i32 %6279, ptr @test_count, align 4, !tbaa !5
  %6280 = load i32, ptr %5522, align 8, !tbaa !77
  %6281 = icmp eq i32 %6280, %6249
  br i1 %6281, label %6304, label %6282

6282:                                             ; preds = %6278
  %6283 = load i32, ptr %288, align 4, !tbaa !5
  %6284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6285 = call i32 @s2n_print_stacktrace(ptr noundef %6284) #12
  %6286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6287 = trunc nuw i8 %6286 to i1
  br i1 %6287, label %6288, label %6292

6288:                                             ; preds = %6282
  %6289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6290 = call i32 @fileno(ptr noundef %6289) #12
  %6291 = call i32 @isatty(i32 noundef %6290) #12
  %.not1465 = icmp eq i32 %6291, 0
  br i1 %.not1465, label %6292, label %6293

6292:                                             ; preds = %6288, %6282
  br label %6293

6293:                                             ; preds = %6288, %6292
  %.str.81.sink3906 = phi ptr [ @.str.81, %6292 ], [ @.str.78, %6288 ]
  store i32 %6283, ptr %288, align 4, !tbaa !5
  %6294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6295 = load i32, ptr @test_count, align 4, !tbaa !5
  %6296 = load i32, ptr %234, align 4, !tbaa !5
  %6297 = call ptr @s2n_strerror(i32 noundef %6296, ptr noundef nonnull @.str.80) #12
  %6298 = load i32, ptr %234, align 4, !tbaa !5
  %6299 = call ptr @s2n_strerror_debug(i32 noundef %6298, ptr noundef nonnull @.str.80) #12
  %6300 = load i32, ptr %288, align 4, !tbaa !5
  %6301 = call ptr @strerror(i32 noundef %6300) #12
  %6302 = load i32, ptr %288, align 4, !tbaa !5
  %6303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6294, ptr noundef nonnull %.str.81.sink3906, i32 noundef %6295, ptr noundef nonnull @.str.242, ptr noundef nonnull @.str.77, i32 noundef 570, ptr noundef %6297, ptr noundef %6299, ptr noundef %6301, i32 noundef %6302) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6304:                                             ; preds = %6278
  %6305 = add nsw i32 %6246, 3
  store i32 %6305, ptr @test_count, align 4, !tbaa !5
  %6306 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %70, i32 noundef %6249) #12
  %6307 = icmp eq ptr %6306, null
  br i1 %6307, label %6308, label %6330

6308:                                             ; preds = %6304
  %6309 = load i32, ptr %288, align 4, !tbaa !5
  %6310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6311 = call i32 @s2n_print_stacktrace(ptr noundef %6310) #12
  %6312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6313 = trunc nuw i8 %6312 to i1
  br i1 %6313, label %6314, label %6318

6314:                                             ; preds = %6308
  %6315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6316 = call i32 @fileno(ptr noundef %6315) #12
  %6317 = call i32 @isatty(i32 noundef %6316) #12
  %.not1754 = icmp eq i32 %6317, 0
  br i1 %.not1754, label %6318, label %6319

6318:                                             ; preds = %6314, %6308
  br label %6319

6319:                                             ; preds = %6314, %6318
  %.str.81.sink3915 = phi ptr [ @.str.81, %6318 ], [ @.str.78, %6314 ]
  store i32 %6309, ptr %288, align 4, !tbaa !5
  %6320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6321 = load i32, ptr @test_count, align 4, !tbaa !5
  %6322 = load i32, ptr %234, align 4, !tbaa !5
  %6323 = call ptr @s2n_strerror(i32 noundef %6322, ptr noundef nonnull @.str.80) #12
  %6324 = load i32, ptr %234, align 4, !tbaa !5
  %6325 = call ptr @s2n_strerror_debug(i32 noundef %6324, ptr noundef nonnull @.str.80) #12
  %6326 = load i32, ptr %288, align 4, !tbaa !5
  %6327 = call ptr @strerror(i32 noundef %6326) #12
  %6328 = load i32, ptr %288, align 4, !tbaa !5
  %6329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6320, ptr noundef nonnull %.str.81.sink3915, i32 noundef %6321, ptr noundef nonnull @.str.243, ptr noundef nonnull @.str.77, i32 noundef 573, ptr noundef %6323, ptr noundef %6325, ptr noundef %6327, i32 noundef %6328) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6330:                                             ; preds = %6304
  %6331 = load i8, ptr %71, align 1, !tbaa !26
  %.not1466 = icmp eq i8 %6331, 0
  %.pre1885 = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1466, label %6359, label %6332

6332:                                             ; preds = %6330
  %6333 = add nsw i32 %.pre1885, 1
  store i32 %6333, ptr @test_count, align 4, !tbaa !5
  %6334 = load ptr, ptr %57, align 8, !tbaa !78
  %6335 = zext i8 %6331 to i64
  %bcmp1467 = call i32 @bcmp(ptr nonnull %6306, ptr %6334, i64 %6335)
  %6336 = icmp eq i32 %bcmp1467, 0
  br i1 %6336, label %6359, label %6337

6337:                                             ; preds = %6332
  %6338 = load i32, ptr %288, align 4, !tbaa !5
  %6339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6340 = call i32 @s2n_print_stacktrace(ptr noundef %6339) #12
  %6341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6342 = trunc nuw i8 %6341 to i1
  br i1 %6342, label %6343, label %6347

6343:                                             ; preds = %6337
  %6344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6345 = call i32 @fileno(ptr noundef %6344) #12
  %6346 = call i32 @isatty(i32 noundef %6345) #12
  %.not1468 = icmp eq i32 %6346, 0
  br i1 %.not1468, label %6347, label %6348

6347:                                             ; preds = %6343, %6337
  br label %6348

6348:                                             ; preds = %6343, %6347
  %.str.81.sink3924 = phi ptr [ @.str.81, %6347 ], [ @.str.78, %6343 ]
  store i32 %6338, ptr %288, align 4, !tbaa !5
  %6349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6350 = load i32, ptr @test_count, align 4, !tbaa !5
  %6351 = load i32, ptr %234, align 4, !tbaa !5
  %6352 = call ptr @s2n_strerror(i32 noundef %6351, ptr noundef nonnull @.str.80) #12
  %6353 = load i32, ptr %234, align 4, !tbaa !5
  %6354 = call ptr @s2n_strerror_debug(i32 noundef %6353, ptr noundef nonnull @.str.80) #12
  %6355 = load i32, ptr %288, align 4, !tbaa !5
  %6356 = call ptr @strerror(i32 noundef %6355) #12
  %6357 = load i32, ptr %288, align 4, !tbaa !5
  %6358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6349, ptr noundef nonnull %.str.81.sink3924, i32 noundef %6350, ptr noundef nonnull @.str.244, ptr noundef nonnull @.str.77, i32 noundef 574, ptr noundef %6352, ptr noundef %6354, ptr noundef %6356, i32 noundef %6357) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6359:                                             ; preds = %6330, %6332
  %6360 = phi i32 [ %.pre1885, %6330 ], [ %6333, %6332 ]
  %6361 = add nsw i32 %6360, 1
  store i32 %6361, ptr @test_count, align 4, !tbaa !5
  %6362 = call i32 @s2n_connection_free(ptr noundef nonnull %6083) #12
  %6363 = icmp eq i32 %6362, -1
  br i1 %6363, label %6364, label %6386

6364:                                             ; preds = %6359
  %6365 = load i32, ptr %288, align 4, !tbaa !5
  %6366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6367 = call i32 @s2n_print_stacktrace(ptr noundef %6366) #12
  %6368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6369 = trunc nuw i8 %6368 to i1
  br i1 %6369, label %6370, label %6374

6370:                                             ; preds = %6364
  %6371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6372 = call i32 @fileno(ptr noundef %6371) #12
  %6373 = call i32 @isatty(i32 noundef %6372) #12
  %.not1753 = icmp eq i32 %6373, 0
  br i1 %.not1753, label %6374, label %6375

6374:                                             ; preds = %6370, %6364
  br label %6375

6375:                                             ; preds = %6370, %6374
  %.str.81.sink3933 = phi ptr [ @.str.81, %6374 ], [ @.str.78, %6370 ]
  store i32 %6365, ptr %288, align 4, !tbaa !5
  %6376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6377 = load i32, ptr @test_count, align 4, !tbaa !5
  %6378 = load i32, ptr %234, align 4, !tbaa !5
  %6379 = call ptr @s2n_strerror(i32 noundef %6378, ptr noundef nonnull @.str.80) #12
  %6380 = load i32, ptr %234, align 4, !tbaa !5
  %6381 = call ptr @s2n_strerror_debug(i32 noundef %6380, ptr noundef nonnull @.str.80) #12
  %6382 = load i32, ptr %288, align 4, !tbaa !5
  %6383 = call ptr @strerror(i32 noundef %6382) #12
  %6384 = load i32, ptr %288, align 4, !tbaa !5
  %6385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6376, ptr noundef nonnull %.str.81.sink3933, i32 noundef %6377, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 576, ptr noundef %6379, ptr noundef %6381, ptr noundef %6383, i32 noundef %6384) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6386:                                             ; preds = %6359
  %6387 = load i32, ptr @test_count, align 4, !tbaa !5
  %6388 = add nsw i32 %6387, 1
  store i32 %6388, ptr @test_count, align 4, !tbaa !5
  %6389 = call i32 @s2n_stuffer_free(ptr noundef nonnull %70) #12
  %6390 = icmp eq i32 %6389, -1
  br i1 %6390, label %6391, label %6413

6391:                                             ; preds = %6386
  %6392 = load i32, ptr %288, align 4, !tbaa !5
  %6393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6394 = call i32 @s2n_print_stacktrace(ptr noundef %6393) #12
  %6395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6396 = trunc nuw i8 %6395 to i1
  br i1 %6396, label %6397, label %6401

6397:                                             ; preds = %6391
  %6398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6399 = call i32 @fileno(ptr noundef %6398) #12
  %6400 = call i32 @isatty(i32 noundef %6399) #12
  %.not1752 = icmp eq i32 %6400, 0
  br i1 %.not1752, label %6401, label %6402

6401:                                             ; preds = %6397, %6391
  br label %6402

6402:                                             ; preds = %6397, %6401
  %.str.81.sink3942 = phi ptr [ @.str.81, %6401 ], [ @.str.78, %6397 ]
  store i32 %6392, ptr %288, align 4, !tbaa !5
  %6403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6404 = load i32, ptr @test_count, align 4, !tbaa !5
  %6405 = load i32, ptr %234, align 4, !tbaa !5
  %6406 = call ptr @s2n_strerror(i32 noundef %6405, ptr noundef nonnull @.str.80) #12
  %6407 = load i32, ptr %234, align 4, !tbaa !5
  %6408 = call ptr @s2n_strerror_debug(i32 noundef %6407, ptr noundef nonnull @.str.80) #12
  %6409 = load i32, ptr %288, align 4, !tbaa !5
  %6410 = call ptr @strerror(i32 noundef %6409) #12
  %6411 = load i32, ptr %288, align 4, !tbaa !5
  %6412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6403, ptr noundef nonnull %.str.81.sink3942, i32 noundef %6404, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.77, i32 noundef 577, ptr noundef %6406, ptr noundef %6408, ptr noundef %6410, i32 noundef %6411) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6413:                                             ; preds = %6386
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %71) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %70) #12
  %6414 = call i32 @s2n_psk_wipe(ptr noundef nonnull %69)
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %69) #12
  %6415 = load i32, ptr @test_count, align 4, !tbaa !5
  %6416 = add nsw i32 %6415, 1
  store i32 %6416, ptr @test_count, align 4, !tbaa !5
  %6417 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6418 = icmp eq ptr %6417, null
  br i1 %6418, label %6419, label %6441

6419:                                             ; preds = %6413
  %6420 = load i32, ptr %288, align 4, !tbaa !5
  %6421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6422 = call i32 @s2n_print_stacktrace(ptr noundef %6421) #12
  %6423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6424 = trunc nuw i8 %6423 to i1
  br i1 %6424, label %6425, label %6429

6425:                                             ; preds = %6419
  %6426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6427 = call i32 @fileno(ptr noundef %6426) #12
  %6428 = call i32 @isatty(i32 noundef %6427) #12
  %.not1751 = icmp eq i32 %6428, 0
  br i1 %.not1751, label %6429, label %6430

6429:                                             ; preds = %6425, %6419
  br label %6430

6430:                                             ; preds = %6425, %6429
  %.str.81.sink3951 = phi ptr [ @.str.81, %6429 ], [ @.str.78, %6425 ]
  store i32 %6420, ptr %288, align 4, !tbaa !5
  %6431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6432 = load i32, ptr @test_count, align 4, !tbaa !5
  %6433 = load i32, ptr %234, align 4, !tbaa !5
  %6434 = call ptr @s2n_strerror(i32 noundef %6433, ptr noundef nonnull @.str.80) #12
  %6435 = load i32, ptr %234, align 4, !tbaa !5
  %6436 = call ptr @s2n_strerror_debug(i32 noundef %6435, ptr noundef nonnull @.str.80) #12
  %6437 = load i32, ptr %288, align 4, !tbaa !5
  %6438 = call ptr @strerror(i32 noundef %6437) #12
  %6439 = load i32, ptr %288, align 4, !tbaa !5
  %6440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6431, ptr noundef nonnull %.str.81.sink3951, i32 noundef %6432, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 583, ptr noundef %6434, ptr noundef %6436, ptr noundef %6438, i32 noundef %6439) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6441:                                             ; preds = %6413
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #12
  store ptr null, ptr %72, align 8, !tbaa !9
  %6442 = load i32, ptr @test_count, align 4, !tbaa !5
  %6443 = add nsw i32 %6442, 1
  store i32 %6443, ptr @test_count, align 4, !tbaa !5
  %6444 = getelementptr inbounds i8, ptr %6417, i64 1696
  %6445 = call i32 @s2n_array_pushback(ptr noundef nonnull %6444, ptr noundef nonnull %72) #12
  %6446 = call zeroext i1 @s2n_result_is_ok(i32 %6445)
  br i1 %6446, label %6469, label %6447

6447:                                             ; preds = %6441
  %6448 = load i32, ptr %288, align 4, !tbaa !5
  %6449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6450 = call i32 @s2n_print_stacktrace(ptr noundef %6449) #12
  %6451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6452 = trunc nuw i8 %6451 to i1
  br i1 %6452, label %6453, label %6457

6453:                                             ; preds = %6447
  %6454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6455 = call i32 @fileno(ptr noundef %6454) #12
  %6456 = call i32 @isatty(i32 noundef %6455) #12
  %.not1469 = icmp eq i32 %6456, 0
  br i1 %.not1469, label %6457, label %6458

6457:                                             ; preds = %6453, %6447
  br label %6458

6458:                                             ; preds = %6453, %6457
  %.str.81.sink3960 = phi ptr [ @.str.81, %6457 ], [ @.str.78, %6453 ]
  store i32 %6448, ptr %288, align 4, !tbaa !5
  %6459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6460 = load i32, ptr @test_count, align 4, !tbaa !5
  %6461 = load i32, ptr %234, align 4, !tbaa !5
  %6462 = call ptr @s2n_strerror(i32 noundef %6461, ptr noundef nonnull @.str.80) #12
  %6463 = load i32, ptr %234, align 4, !tbaa !5
  %6464 = call ptr @s2n_strerror_debug(i32 noundef %6463, ptr noundef nonnull @.str.80) #12
  %6465 = load i32, ptr %288, align 4, !tbaa !5
  %6466 = call ptr @strerror(i32 noundef %6465) #12
  %6467 = load i32, ptr %288, align 4, !tbaa !5
  %6468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6459, ptr noundef nonnull %.str.81.sink3960, i32 noundef %6460, ptr noundef nonnull @.str.245, ptr noundef nonnull @.str.77, i32 noundef 586, ptr noundef %6462, ptr noundef %6464, ptr noundef %6466, i32 noundef %6467) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6469:                                             ; preds = %6441
  %6470 = load i32, ptr @test_count, align 4, !tbaa !5
  %6471 = add nsw i32 %6470, 1
  store i32 %6471, ptr @test_count, align 4, !tbaa !5
  %6472 = load ptr, ptr %72, align 8, !tbaa !9
  %6473 = call i32 @s2n_psk_init(ptr noundef %6472, i32 noundef 0)
  %6474 = call zeroext i1 @s2n_result_is_ok(i32 %6473)
  br i1 %6474, label %6497, label %6475

6475:                                             ; preds = %6469
  %6476 = load i32, ptr %288, align 4, !tbaa !5
  %6477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6478 = call i32 @s2n_print_stacktrace(ptr noundef %6477) #12
  %6479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6480 = trunc nuw i8 %6479 to i1
  br i1 %6480, label %6481, label %6485

6481:                                             ; preds = %6475
  %6482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6483 = call i32 @fileno(ptr noundef %6482) #12
  %6484 = call i32 @isatty(i32 noundef %6483) #12
  %.not1470 = icmp eq i32 %6484, 0
  br i1 %.not1470, label %6485, label %6486

6485:                                             ; preds = %6481, %6475
  br label %6486

6486:                                             ; preds = %6481, %6485
  %.str.81.sink3969 = phi ptr [ @.str.81, %6485 ], [ @.str.78, %6481 ]
  store i32 %6476, ptr %288, align 4, !tbaa !5
  %6487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6488 = load i32, ptr @test_count, align 4, !tbaa !5
  %6489 = load i32, ptr %234, align 4, !tbaa !5
  %6490 = call ptr @s2n_strerror(i32 noundef %6489, ptr noundef nonnull @.str.80) #12
  %6491 = load i32, ptr %234, align 4, !tbaa !5
  %6492 = call ptr @s2n_strerror_debug(i32 noundef %6491, ptr noundef nonnull @.str.80) #12
  %6493 = load i32, ptr %288, align 4, !tbaa !5
  %6494 = call ptr @strerror(i32 noundef %6493) #12
  %6495 = load i32, ptr %288, align 4, !tbaa !5
  %6496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6487, ptr noundef nonnull %.str.81.sink3969, i32 noundef %6488, ptr noundef nonnull @.str.246, ptr noundef nonnull @.str.77, i32 noundef 587, ptr noundef %6490, ptr noundef %6492, ptr noundef %6494, i32 noundef %6495) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6497:                                             ; preds = %6469
  %6498 = load i32, ptr @test_count, align 4, !tbaa !5
  %6499 = add nsw i32 %6498, 1
  store i32 %6499, ptr @test_count, align 4, !tbaa !5
  %6500 = load ptr, ptr %72, align 8, !tbaa !9
  %6501 = load ptr, ptr %51, align 8, !tbaa !78
  %6502 = getelementptr inbounds i8, ptr %51, i64 8
  %6503 = load i32, ptr %6502, align 8, !tbaa !77
  %6504 = trunc i32 %6503 to i16
  %6505 = call i32 @s2n_psk_set_identity(ptr noundef %6500, ptr noundef %6501, i16 noundef zeroext %6504)
  %6506 = icmp eq i32 %6505, -1
  br i1 %6506, label %6507, label %6529

6507:                                             ; preds = %6497
  %6508 = load i32, ptr %288, align 4, !tbaa !5
  %6509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6510 = call i32 @s2n_print_stacktrace(ptr noundef %6509) #12
  %6511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6512 = trunc nuw i8 %6511 to i1
  br i1 %6512, label %6513, label %6517

6513:                                             ; preds = %6507
  %6514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6515 = call i32 @fileno(ptr noundef %6514) #12
  %6516 = call i32 @isatty(i32 noundef %6515) #12
  %.not1750 = icmp eq i32 %6516, 0
  br i1 %.not1750, label %6517, label %6518

6517:                                             ; preds = %6513, %6507
  br label %6518

6518:                                             ; preds = %6513, %6517
  %.str.81.sink3978 = phi ptr [ @.str.81, %6517 ], [ @.str.78, %6513 ]
  store i32 %6508, ptr %288, align 4, !tbaa !5
  %6519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6520 = load i32, ptr @test_count, align 4, !tbaa !5
  %6521 = load i32, ptr %234, align 4, !tbaa !5
  %6522 = call ptr @s2n_strerror(i32 noundef %6521, ptr noundef nonnull @.str.80) #12
  %6523 = load i32, ptr %234, align 4, !tbaa !5
  %6524 = call ptr @s2n_strerror_debug(i32 noundef %6523, ptr noundef nonnull @.str.80) #12
  %6525 = load i32, ptr %288, align 4, !tbaa !5
  %6526 = call ptr @strerror(i32 noundef %6525) #12
  %6527 = load i32, ptr %288, align 4, !tbaa !5
  %6528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6519, ptr noundef nonnull %.str.81.sink3978, i32 noundef %6520, ptr noundef nonnull @.str.247, ptr noundef nonnull @.str.77, i32 noundef 588, ptr noundef %6522, ptr noundef %6524, ptr noundef %6526, i32 noundef %6527) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6529:                                             ; preds = %6497
  %6530 = load i32, ptr @test_count, align 4, !tbaa !5
  %6531 = add nsw i32 %6530, 1
  store i32 %6531, ptr @test_count, align 4, !tbaa !5
  %6532 = load ptr, ptr %72, align 8, !tbaa !9
  %6533 = load ptr, ptr %54, align 8, !tbaa !78
  %6534 = load i32, ptr %5376, align 8, !tbaa !77
  %6535 = trunc i32 %6534 to i16
  %6536 = call i32 @s2n_psk_set_secret(ptr noundef %6532, ptr noundef %6533, i16 noundef zeroext %6535)
  %6537 = icmp eq i32 %6536, -1
  br i1 %6537, label %6538, label %6560

6538:                                             ; preds = %6529
  %6539 = load i32, ptr %288, align 4, !tbaa !5
  %6540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6541 = call i32 @s2n_print_stacktrace(ptr noundef %6540) #12
  %6542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6543 = trunc nuw i8 %6542 to i1
  br i1 %6543, label %6544, label %6548

6544:                                             ; preds = %6538
  %6545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6546 = call i32 @fileno(ptr noundef %6545) #12
  %6547 = call i32 @isatty(i32 noundef %6546) #12
  %.not1749 = icmp eq i32 %6547, 0
  br i1 %.not1749, label %6548, label %6549

6548:                                             ; preds = %6544, %6538
  br label %6549

6549:                                             ; preds = %6544, %6548
  %.str.81.sink3987 = phi ptr [ @.str.81, %6548 ], [ @.str.78, %6544 ]
  store i32 %6539, ptr %288, align 4, !tbaa !5
  %6550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6551 = load i32, ptr @test_count, align 4, !tbaa !5
  %6552 = load i32, ptr %234, align 4, !tbaa !5
  %6553 = call ptr @s2n_strerror(i32 noundef %6552, ptr noundef nonnull @.str.80) #12
  %6554 = load i32, ptr %234, align 4, !tbaa !5
  %6555 = call ptr @s2n_strerror_debug(i32 noundef %6554, ptr noundef nonnull @.str.80) #12
  %6556 = load i32, ptr %288, align 4, !tbaa !5
  %6557 = call ptr @strerror(i32 noundef %6556) #12
  %6558 = load i32, ptr %288, align 4, !tbaa !5
  %6559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6550, ptr noundef nonnull %.str.81.sink3987, i32 noundef %6551, ptr noundef nonnull @.str.248, ptr noundef nonnull @.str.77, i32 noundef 589, ptr noundef %6553, ptr noundef %6555, ptr noundef %6557, i32 noundef %6558) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6560:                                             ; preds = %6529
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %73) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %73, i8 0, i64 40, i1 false)
  %6561 = load i32, ptr @test_count, align 4, !tbaa !5
  %6562 = add nsw i32 %6561, 1
  store i32 %6562, ptr @test_count, align 4, !tbaa !5
  %6563 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %73, i32 noundef 0) #12
  %6564 = icmp eq i32 %6563, -1
  br i1 %6564, label %6565, label %6587

6565:                                             ; preds = %6560
  %6566 = load i32, ptr %288, align 4, !tbaa !5
  %6567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6568 = call i32 @s2n_print_stacktrace(ptr noundef %6567) #12
  %6569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6570 = trunc nuw i8 %6569 to i1
  br i1 %6570, label %6571, label %6575

6571:                                             ; preds = %6565
  %6572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6573 = call i32 @fileno(ptr noundef %6572) #12
  %6574 = call i32 @isatty(i32 noundef %6573) #12
  %.not1748 = icmp eq i32 %6574, 0
  br i1 %.not1748, label %6575, label %6576

6575:                                             ; preds = %6571, %6565
  br label %6576

6576:                                             ; preds = %6571, %6575
  %.str.81.sink3996 = phi ptr [ @.str.81, %6575 ], [ @.str.78, %6571 ]
  store i32 %6566, ptr %288, align 4, !tbaa !5
  %6577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6578 = load i32, ptr @test_count, align 4, !tbaa !5
  %6579 = load i32, ptr %234, align 4, !tbaa !5
  %6580 = call ptr @s2n_strerror(i32 noundef %6579, ptr noundef nonnull @.str.80) #12
  %6581 = load i32, ptr %234, align 4, !tbaa !5
  %6582 = call ptr @s2n_strerror_debug(i32 noundef %6581, ptr noundef nonnull @.str.80) #12
  %6583 = load i32, ptr %288, align 4, !tbaa !5
  %6584 = call ptr @strerror(i32 noundef %6583) #12
  %6585 = load i32, ptr %288, align 4, !tbaa !5
  %6586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6577, ptr noundef nonnull %.str.81.sink3996, i32 noundef %6578, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.77, i32 noundef 592, ptr noundef %6580, ptr noundef %6582, ptr noundef %6584, i32 noundef %6585) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6587:                                             ; preds = %6560
  %6588 = load i32, ptr @test_count, align 4, !tbaa !5
  %6589 = add nsw i32 %6588, 1
  store i32 %6589, ptr @test_count, align 4, !tbaa !5
  %6590 = call i32 @s2n_psk_write_binder_list(ptr noundef nonnull %6417, ptr noundef nonnull %52, ptr noundef nonnull %73)
  %6591 = call zeroext i1 @s2n_result_is_ok(i32 %6590)
  br i1 %6591, label %6614, label %6592

6592:                                             ; preds = %6587
  %6593 = load i32, ptr %288, align 4, !tbaa !5
  %6594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6595 = call i32 @s2n_print_stacktrace(ptr noundef %6594) #12
  %6596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6597 = trunc nuw i8 %6596 to i1
  br i1 %6597, label %6598, label %6602

6598:                                             ; preds = %6592
  %6599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6600 = call i32 @fileno(ptr noundef %6599) #12
  %6601 = call i32 @isatty(i32 noundef %6600) #12
  %.not1471 = icmp eq i32 %6601, 0
  br i1 %.not1471, label %6602, label %6603

6602:                                             ; preds = %6598, %6592
  br label %6603

6603:                                             ; preds = %6598, %6602
  %.str.81.sink4005 = phi ptr [ @.str.81, %6602 ], [ @.str.78, %6598 ]
  store i32 %6593, ptr %288, align 4, !tbaa !5
  %6604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6605 = load i32, ptr @test_count, align 4, !tbaa !5
  %6606 = load i32, ptr %234, align 4, !tbaa !5
  %6607 = call ptr @s2n_strerror(i32 noundef %6606, ptr noundef nonnull @.str.80) #12
  %6608 = load i32, ptr %234, align 4, !tbaa !5
  %6609 = call ptr @s2n_strerror_debug(i32 noundef %6608, ptr noundef nonnull @.str.80) #12
  %6610 = load i32, ptr %288, align 4, !tbaa !5
  %6611 = call ptr @strerror(i32 noundef %6610) #12
  %6612 = load i32, ptr %288, align 4, !tbaa !5
  %6613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6604, ptr noundef nonnull %.str.81.sink4005, i32 noundef %6605, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.77, i32 noundef 594, ptr noundef %6607, ptr noundef %6609, ptr noundef %6611, i32 noundef %6612) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6614:                                             ; preds = %6587
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %74) #12
  store i16 0, ptr %74, align 2, !tbaa !65
  %6615 = load i32, ptr @test_count, align 4, !tbaa !5
  %6616 = add nsw i32 %6615, 1
  store i32 %6616, ptr @test_count, align 4, !tbaa !5
  %6617 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %73, ptr noundef nonnull %74) #12
  %6618 = icmp eq i32 %6617, -1
  br i1 %6618, label %6619, label %6641

6619:                                             ; preds = %6614
  %6620 = load i32, ptr %288, align 4, !tbaa !5
  %6621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6622 = call i32 @s2n_print_stacktrace(ptr noundef %6621) #12
  %6623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6624 = trunc nuw i8 %6623 to i1
  br i1 %6624, label %6625, label %6629

6625:                                             ; preds = %6619
  %6626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6627 = call i32 @fileno(ptr noundef %6626) #12
  %6628 = call i32 @isatty(i32 noundef %6627) #12
  %.not1747 = icmp eq i32 %6628, 0
  br i1 %.not1747, label %6629, label %6630

6629:                                             ; preds = %6625, %6619
  br label %6630

6630:                                             ; preds = %6625, %6629
  %.str.81.sink4014 = phi ptr [ @.str.81, %6629 ], [ @.str.78, %6625 ]
  store i32 %6620, ptr %288, align 4, !tbaa !5
  %6631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6632 = load i32, ptr @test_count, align 4, !tbaa !5
  %6633 = load i32, ptr %234, align 4, !tbaa !5
  %6634 = call ptr @s2n_strerror(i32 noundef %6633, ptr noundef nonnull @.str.80) #12
  %6635 = load i32, ptr %234, align 4, !tbaa !5
  %6636 = call ptr @s2n_strerror_debug(i32 noundef %6635, ptr noundef nonnull @.str.80) #12
  %6637 = load i32, ptr %288, align 4, !tbaa !5
  %6638 = call ptr @strerror(i32 noundef %6637) #12
  %6639 = load i32, ptr %288, align 4, !tbaa !5
  %6640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6631, ptr noundef nonnull %.str.81.sink4014, i32 noundef %6632, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.77, i32 noundef 597, ptr noundef %6634, ptr noundef %6636, ptr noundef %6638, i32 noundef %6639) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6641:                                             ; preds = %6614
  %6642 = load i32, ptr @test_count, align 4, !tbaa !5
  %6643 = add nsw i32 %6642, 1
  store i32 %6643, ptr @test_count, align 4, !tbaa !5
  %6644 = load i16, ptr %74, align 2, !tbaa !65
  %6645 = zext i16 %6644 to i32
  %6646 = getelementptr inbounds i8, ptr %73, i64 28
  %6647 = load i32, ptr %6646, align 4, !tbaa !66
  %6648 = getelementptr inbounds i8, ptr %73, i64 24
  %6649 = load i32, ptr %6648, align 8, !tbaa !67
  %6650 = sub i32 %6647, %6649
  %6651 = icmp eq i32 %6650, %6645
  br i1 %6651, label %6674, label %6652

6652:                                             ; preds = %6641
  %6653 = load i32, ptr %288, align 4, !tbaa !5
  %6654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6655 = call i32 @s2n_print_stacktrace(ptr noundef %6654) #12
  %6656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6657 = trunc nuw i8 %6656 to i1
  br i1 %6657, label %6658, label %6662

6658:                                             ; preds = %6652
  %6659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6660 = call i32 @fileno(ptr noundef %6659) #12
  %6661 = call i32 @isatty(i32 noundef %6660) #12
  %.not1472 = icmp eq i32 %6661, 0
  br i1 %.not1472, label %6662, label %6663

6662:                                             ; preds = %6658, %6652
  br label %6663

6663:                                             ; preds = %6658, %6662
  %.str.81.sink4023 = phi ptr [ @.str.81, %6662 ], [ @.str.78, %6658 ]
  store i32 %6653, ptr %288, align 4, !tbaa !5
  %6664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6665 = load i32, ptr @test_count, align 4, !tbaa !5
  %6666 = load i32, ptr %234, align 4, !tbaa !5
  %6667 = call ptr @s2n_strerror(i32 noundef %6666, ptr noundef nonnull @.str.80) #12
  %6668 = load i32, ptr %234, align 4, !tbaa !5
  %6669 = call ptr @s2n_strerror_debug(i32 noundef %6668, ptr noundef nonnull @.str.80) #12
  %6670 = load i32, ptr %288, align 4, !tbaa !5
  %6671 = call ptr @strerror(i32 noundef %6670) #12
  %6672 = load i32, ptr %288, align 4, !tbaa !5
  %6673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6664, ptr noundef nonnull %.str.81.sink4023, i32 noundef %6665, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.77, i32 noundef 598, ptr noundef %6667, ptr noundef %6669, ptr noundef %6671, i32 noundef %6672) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6674:                                             ; preds = %6641
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %75) #12
  store i8 0, ptr %75, align 1, !tbaa !26
  %6675 = add nsw i32 %6642, 2
  store i32 %6675, ptr @test_count, align 4, !tbaa !5
  %6676 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %73, ptr noundef nonnull %75) #12
  %6677 = icmp eq i32 %6676, -1
  br i1 %6677, label %6678, label %6700

6678:                                             ; preds = %6674
  %6679 = load i32, ptr %288, align 4, !tbaa !5
  %6680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6681 = call i32 @s2n_print_stacktrace(ptr noundef %6680) #12
  %6682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6683 = trunc nuw i8 %6682 to i1
  br i1 %6683, label %6684, label %6688

6684:                                             ; preds = %6678
  %6685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6686 = call i32 @fileno(ptr noundef %6685) #12
  %6687 = call i32 @isatty(i32 noundef %6686) #12
  %.not1746 = icmp eq i32 %6687, 0
  br i1 %.not1746, label %6688, label %6689

6688:                                             ; preds = %6684, %6678
  br label %6689

6689:                                             ; preds = %6684, %6688
  %.str.81.sink4032 = phi ptr [ @.str.81, %6688 ], [ @.str.78, %6684 ]
  store i32 %6679, ptr %288, align 4, !tbaa !5
  %6690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6691 = load i32, ptr @test_count, align 4, !tbaa !5
  %6692 = load i32, ptr %234, align 4, !tbaa !5
  %6693 = call ptr @s2n_strerror(i32 noundef %6692, ptr noundef nonnull @.str.80) #12
  %6694 = load i32, ptr %234, align 4, !tbaa !5
  %6695 = call ptr @s2n_strerror_debug(i32 noundef %6694, ptr noundef nonnull @.str.80) #12
  %6696 = load i32, ptr %288, align 4, !tbaa !5
  %6697 = call ptr @strerror(i32 noundef %6696) #12
  %6698 = load i32, ptr %288, align 4, !tbaa !5
  %6699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6690, ptr noundef nonnull %.str.81.sink4032, i32 noundef %6691, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.77, i32 noundef 601, ptr noundef %6693, ptr noundef %6695, ptr noundef %6697, i32 noundef %6698) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6700:                                             ; preds = %6674
  %6701 = load i32, ptr @test_count, align 4, !tbaa !5
  %6702 = add nsw i32 %6701, 1
  store i32 %6702, ptr @test_count, align 4, !tbaa !5
  %6703 = load i8, ptr %75, align 1, !tbaa !26
  %6704 = zext i8 %6703 to i32
  %6705 = load i32, ptr %6646, align 4, !tbaa !66
  %6706 = load i32, ptr %6648, align 8, !tbaa !67
  %6707 = sub i32 %6705, %6706
  %6708 = icmp eq i32 %6707, %6704
  br i1 %6708, label %6731, label %6709

6709:                                             ; preds = %6700
  %6710 = load i32, ptr %288, align 4, !tbaa !5
  %6711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6712 = call i32 @s2n_print_stacktrace(ptr noundef %6711) #12
  %6713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6714 = trunc nuw i8 %6713 to i1
  br i1 %6714, label %6715, label %6719

6715:                                             ; preds = %6709
  %6716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6717 = call i32 @fileno(ptr noundef %6716) #12
  %6718 = call i32 @isatty(i32 noundef %6717) #12
  %.not1473 = icmp eq i32 %6718, 0
  br i1 %.not1473, label %6719, label %6720

6719:                                             ; preds = %6715, %6709
  br label %6720

6720:                                             ; preds = %6715, %6719
  %.str.81.sink4041 = phi ptr [ @.str.81, %6719 ], [ @.str.78, %6715 ]
  store i32 %6710, ptr %288, align 4, !tbaa !5
  %6721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6722 = load i32, ptr @test_count, align 4, !tbaa !5
  %6723 = load i32, ptr %234, align 4, !tbaa !5
  %6724 = call ptr @s2n_strerror(i32 noundef %6723, ptr noundef nonnull @.str.80) #12
  %6725 = load i32, ptr %234, align 4, !tbaa !5
  %6726 = call ptr @s2n_strerror_debug(i32 noundef %6725, ptr noundef nonnull @.str.80) #12
  %6727 = load i32, ptr %288, align 4, !tbaa !5
  %6728 = call ptr @strerror(i32 noundef %6727) #12
  %6729 = load i32, ptr %288, align 4, !tbaa !5
  %6730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6721, ptr noundef nonnull %.str.81.sink4041, i32 noundef %6722, ptr noundef nonnull @.str.217, ptr noundef nonnull @.str.77, i32 noundef 602, ptr noundef %6724, ptr noundef %6726, ptr noundef %6728, i32 noundef %6729) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6731:                                             ; preds = %6700
  %6732 = add nsw i32 %6701, 2
  store i32 %6732, ptr @test_count, align 4, !tbaa !5
  %6733 = load i32, ptr %5522, align 8, !tbaa !77
  %6734 = icmp eq i32 %6733, %6704
  br i1 %6734, label %6757, label %6735

6735:                                             ; preds = %6731
  %6736 = load i32, ptr %288, align 4, !tbaa !5
  %6737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6738 = call i32 @s2n_print_stacktrace(ptr noundef %6737) #12
  %6739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6740 = trunc nuw i8 %6739 to i1
  br i1 %6740, label %6741, label %6745

6741:                                             ; preds = %6735
  %6742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6743 = call i32 @fileno(ptr noundef %6742) #12
  %6744 = call i32 @isatty(i32 noundef %6743) #12
  %.not1474 = icmp eq i32 %6744, 0
  br i1 %.not1474, label %6745, label %6746

6745:                                             ; preds = %6741, %6735
  br label %6746

6746:                                             ; preds = %6741, %6745
  %.str.81.sink4050 = phi ptr [ @.str.81, %6745 ], [ @.str.78, %6741 ]
  store i32 %6736, ptr %288, align 4, !tbaa !5
  %6747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6748 = load i32, ptr @test_count, align 4, !tbaa !5
  %6749 = load i32, ptr %234, align 4, !tbaa !5
  %6750 = call ptr @s2n_strerror(i32 noundef %6749, ptr noundef nonnull @.str.80) #12
  %6751 = load i32, ptr %234, align 4, !tbaa !5
  %6752 = call ptr @s2n_strerror_debug(i32 noundef %6751, ptr noundef nonnull @.str.80) #12
  %6753 = load i32, ptr %288, align 4, !tbaa !5
  %6754 = call ptr @strerror(i32 noundef %6753) #12
  %6755 = load i32, ptr %288, align 4, !tbaa !5
  %6756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6747, ptr noundef nonnull %.str.81.sink4050, i32 noundef %6748, ptr noundef nonnull @.str.242, ptr noundef nonnull @.str.77, i32 noundef 603, ptr noundef %6750, ptr noundef %6752, ptr noundef %6754, i32 noundef %6755) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6757:                                             ; preds = %6731
  %6758 = add nsw i32 %6701, 3
  store i32 %6758, ptr @test_count, align 4, !tbaa !5
  %6759 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %73, i32 noundef %6704) #12
  %6760 = icmp eq ptr %6759, null
  br i1 %6760, label %6761, label %6783

6761:                                             ; preds = %6757
  %6762 = load i32, ptr %288, align 4, !tbaa !5
  %6763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6764 = call i32 @s2n_print_stacktrace(ptr noundef %6763) #12
  %6765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6766 = trunc nuw i8 %6765 to i1
  br i1 %6766, label %6767, label %6771

6767:                                             ; preds = %6761
  %6768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6769 = call i32 @fileno(ptr noundef %6768) #12
  %6770 = call i32 @isatty(i32 noundef %6769) #12
  %.not1745 = icmp eq i32 %6770, 0
  br i1 %.not1745, label %6771, label %6772

6771:                                             ; preds = %6767, %6761
  br label %6772

6772:                                             ; preds = %6767, %6771
  %.str.81.sink4059 = phi ptr [ @.str.81, %6771 ], [ @.str.78, %6767 ]
  store i32 %6762, ptr %288, align 4, !tbaa !5
  %6773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6774 = load i32, ptr @test_count, align 4, !tbaa !5
  %6775 = load i32, ptr %234, align 4, !tbaa !5
  %6776 = call ptr @s2n_strerror(i32 noundef %6775, ptr noundef nonnull @.str.80) #12
  %6777 = load i32, ptr %234, align 4, !tbaa !5
  %6778 = call ptr @s2n_strerror_debug(i32 noundef %6777, ptr noundef nonnull @.str.80) #12
  %6779 = load i32, ptr %288, align 4, !tbaa !5
  %6780 = call ptr @strerror(i32 noundef %6779) #12
  %6781 = load i32, ptr %288, align 4, !tbaa !5
  %6782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6773, ptr noundef nonnull %.str.81.sink4059, i32 noundef %6774, ptr noundef nonnull @.str.243, ptr noundef nonnull @.str.77, i32 noundef 606, ptr noundef %6776, ptr noundef %6778, ptr noundef %6780, i32 noundef %6781) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6783:                                             ; preds = %6757
  %6784 = load i8, ptr %75, align 1, !tbaa !26
  %.not1475 = icmp eq i8 %6784, 0
  %.pre1886 = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1475, label %6812, label %6785

6785:                                             ; preds = %6783
  %6786 = add nsw i32 %.pre1886, 1
  store i32 %6786, ptr @test_count, align 4, !tbaa !5
  %6787 = load ptr, ptr %57, align 8, !tbaa !78
  %6788 = zext i8 %6784 to i64
  %bcmp1476 = call i32 @bcmp(ptr nonnull %6759, ptr %6787, i64 %6788)
  %6789 = icmp eq i32 %bcmp1476, 0
  br i1 %6789, label %6812, label %6790

6790:                                             ; preds = %6785
  %6791 = load i32, ptr %288, align 4, !tbaa !5
  %6792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6793 = call i32 @s2n_print_stacktrace(ptr noundef %6792) #12
  %6794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6795 = trunc nuw i8 %6794 to i1
  br i1 %6795, label %6796, label %6800

6796:                                             ; preds = %6790
  %6797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6798 = call i32 @fileno(ptr noundef %6797) #12
  %6799 = call i32 @isatty(i32 noundef %6798) #12
  %.not1477 = icmp eq i32 %6799, 0
  br i1 %.not1477, label %6800, label %6801

6800:                                             ; preds = %6796, %6790
  br label %6801

6801:                                             ; preds = %6796, %6800
  %.str.81.sink4068 = phi ptr [ @.str.81, %6800 ], [ @.str.78, %6796 ]
  store i32 %6791, ptr %288, align 4, !tbaa !5
  %6802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6803 = load i32, ptr @test_count, align 4, !tbaa !5
  %6804 = load i32, ptr %234, align 4, !tbaa !5
  %6805 = call ptr @s2n_strerror(i32 noundef %6804, ptr noundef nonnull @.str.80) #12
  %6806 = load i32, ptr %234, align 4, !tbaa !5
  %6807 = call ptr @s2n_strerror_debug(i32 noundef %6806, ptr noundef nonnull @.str.80) #12
  %6808 = load i32, ptr %288, align 4, !tbaa !5
  %6809 = call ptr @strerror(i32 noundef %6808) #12
  %6810 = load i32, ptr %288, align 4, !tbaa !5
  %6811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6802, ptr noundef nonnull %.str.81.sink4068, i32 noundef %6803, ptr noundef nonnull @.str.244, ptr noundef nonnull @.str.77, i32 noundef 607, ptr noundef %6805, ptr noundef %6807, ptr noundef %6809, i32 noundef %6810) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6812:                                             ; preds = %6783, %6785
  %6813 = phi i32 [ %.pre1886, %6783 ], [ %6786, %6785 ]
  %6814 = add nsw i32 %6813, 1
  store i32 %6814, ptr @test_count, align 4, !tbaa !5
  %6815 = call i32 @s2n_connection_free(ptr noundef nonnull %6417) #12
  %6816 = icmp eq i32 %6815, -1
  br i1 %6816, label %6817, label %6839

6817:                                             ; preds = %6812
  %6818 = load i32, ptr %288, align 4, !tbaa !5
  %6819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6820 = call i32 @s2n_print_stacktrace(ptr noundef %6819) #12
  %6821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6822 = trunc nuw i8 %6821 to i1
  br i1 %6822, label %6823, label %6827

6823:                                             ; preds = %6817
  %6824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6825 = call i32 @fileno(ptr noundef %6824) #12
  %6826 = call i32 @isatty(i32 noundef %6825) #12
  %.not1744 = icmp eq i32 %6826, 0
  br i1 %.not1744, label %6827, label %6828

6827:                                             ; preds = %6823, %6817
  br label %6828

6828:                                             ; preds = %6823, %6827
  %.str.81.sink4077 = phi ptr [ @.str.81, %6827 ], [ @.str.78, %6823 ]
  store i32 %6818, ptr %288, align 4, !tbaa !5
  %6829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6830 = load i32, ptr @test_count, align 4, !tbaa !5
  %6831 = load i32, ptr %234, align 4, !tbaa !5
  %6832 = call ptr @s2n_strerror(i32 noundef %6831, ptr noundef nonnull @.str.80) #12
  %6833 = load i32, ptr %234, align 4, !tbaa !5
  %6834 = call ptr @s2n_strerror_debug(i32 noundef %6833, ptr noundef nonnull @.str.80) #12
  %6835 = load i32, ptr %288, align 4, !tbaa !5
  %6836 = call ptr @strerror(i32 noundef %6835) #12
  %6837 = load i32, ptr %288, align 4, !tbaa !5
  %6838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6829, ptr noundef nonnull %.str.81.sink4077, i32 noundef %6830, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 609, ptr noundef %6832, ptr noundef %6834, ptr noundef %6836, i32 noundef %6837) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6839:                                             ; preds = %6812
  %6840 = load i32, ptr @test_count, align 4, !tbaa !5
  %6841 = add nsw i32 %6840, 1
  store i32 %6841, ptr @test_count, align 4, !tbaa !5
  %6842 = call i32 @s2n_stuffer_free(ptr noundef nonnull %73) #12
  %6843 = icmp eq i32 %6842, -1
  br i1 %6843, label %6844, label %6866

6844:                                             ; preds = %6839
  %6845 = load i32, ptr %288, align 4, !tbaa !5
  %6846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6847 = call i32 @s2n_print_stacktrace(ptr noundef %6846) #12
  %6848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6849 = trunc nuw i8 %6848 to i1
  br i1 %6849, label %6850, label %6854

6850:                                             ; preds = %6844
  %6851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6852 = call i32 @fileno(ptr noundef %6851) #12
  %6853 = call i32 @isatty(i32 noundef %6852) #12
  %.not1743 = icmp eq i32 %6853, 0
  br i1 %.not1743, label %6854, label %6855

6854:                                             ; preds = %6850, %6844
  br label %6855

6855:                                             ; preds = %6850, %6854
  %.str.81.sink4086 = phi ptr [ @.str.81, %6854 ], [ @.str.78, %6850 ]
  store i32 %6845, ptr %288, align 4, !tbaa !5
  %6856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6857 = load i32, ptr @test_count, align 4, !tbaa !5
  %6858 = load i32, ptr %234, align 4, !tbaa !5
  %6859 = call ptr @s2n_strerror(i32 noundef %6858, ptr noundef nonnull @.str.80) #12
  %6860 = load i32, ptr %234, align 4, !tbaa !5
  %6861 = call ptr @s2n_strerror_debug(i32 noundef %6860, ptr noundef nonnull @.str.80) #12
  %6862 = load i32, ptr %288, align 4, !tbaa !5
  %6863 = call ptr @strerror(i32 noundef %6862) #12
  %6864 = load i32, ptr %288, align 4, !tbaa !5
  %6865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6856, ptr noundef nonnull %.str.81.sink4086, i32 noundef %6857, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.77, i32 noundef 610, ptr noundef %6859, ptr noundef %6861, ptr noundef %6863, i32 noundef %6864) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6866:                                             ; preds = %6839
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %75) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %74) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %73) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #12
  %6867 = load i32, ptr @test_count, align 4, !tbaa !5
  %6868 = add nsw i32 %6867, 1
  store i32 %6868, ptr @test_count, align 4, !tbaa !5
  %6869 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %6870 = icmp eq ptr %6869, null
  br i1 %6870, label %6876, label %.preheader1872

.preheader1872:                                   ; preds = %6866
  %6871 = getelementptr inbounds i8, ptr %6869, i64 1696
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #12
  store ptr null, ptr %76, align 8, !tbaa !9
  %6872 = load i32, ptr @test_count, align 4, !tbaa !5
  %6873 = add nsw i32 %6872, 1
  store i32 %6873, ptr @test_count, align 4, !tbaa !5
  %6874 = call i32 @s2n_array_pushback(ptr noundef nonnull %6871, ptr noundef nonnull %76) #12
  %6875 = call zeroext i1 @s2n_result_is_ok(i32 %6874)
  br i1 %6875, label %6920, label %6898

6876:                                             ; preds = %6866
  %6877 = load i32, ptr %288, align 4, !tbaa !5
  %6878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6879 = call i32 @s2n_print_stacktrace(ptr noundef %6878) #12
  %6880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6881 = trunc nuw i8 %6880 to i1
  br i1 %6881, label %6882, label %6886

6882:                                             ; preds = %6876
  %6883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6884 = call i32 @fileno(ptr noundef %6883) #12
  %6885 = call i32 @isatty(i32 noundef %6884) #12
  %.not1742 = icmp eq i32 %6885, 0
  br i1 %.not1742, label %6886, label %6887

6886:                                             ; preds = %6882, %6876
  br label %6887

6887:                                             ; preds = %6882, %6886
  %.str.81.sink4095 = phi ptr [ @.str.81, %6886 ], [ @.str.78, %6882 ]
  store i32 %6877, ptr %288, align 4, !tbaa !5
  %6888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6889 = load i32, ptr @test_count, align 4, !tbaa !5
  %6890 = load i32, ptr %234, align 4, !tbaa !5
  %6891 = call ptr @s2n_strerror(i32 noundef %6890, ptr noundef nonnull @.str.80) #12
  %6892 = load i32, ptr %234, align 4, !tbaa !5
  %6893 = call ptr @s2n_strerror_debug(i32 noundef %6892, ptr noundef nonnull @.str.80) #12
  %6894 = load i32, ptr %288, align 4, !tbaa !5
  %6895 = call ptr @strerror(i32 noundef %6894) #12
  %6896 = load i32, ptr %288, align 4, !tbaa !5
  %6897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6888, ptr noundef nonnull %.str.81.sink4095, i32 noundef %6889, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 618, ptr noundef %6891, ptr noundef %6893, ptr noundef %6895, i32 noundef %6896) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6898:                                             ; preds = %7097, %7068, %7039, %7010, %.preheader1872
  %6899 = load i32, ptr %288, align 4, !tbaa !5
  %6900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6901 = call i32 @s2n_print_stacktrace(ptr noundef %6900) #12
  %6902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6903 = trunc nuw i8 %6902 to i1
  br i1 %6903, label %6904, label %6908

6904:                                             ; preds = %6898
  %6905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6906 = call i32 @fileno(ptr noundef %6905) #12
  %6907 = call i32 @isatty(i32 noundef %6906) #12
  %.not1738 = icmp eq i32 %6907, 0
  br i1 %.not1738, label %6908, label %6909

6908:                                             ; preds = %6904, %6898
  br label %6909

6909:                                             ; preds = %6904, %6908
  %.str.81.sink4104 = phi ptr [ @.str.81, %6908 ], [ @.str.78, %6904 ]
  store i32 %6899, ptr %288, align 4, !tbaa !5
  %6910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6911 = load i32, ptr @test_count, align 4, !tbaa !5
  %6912 = load i32, ptr %234, align 4, !tbaa !5
  %6913 = call ptr @s2n_strerror(i32 noundef %6912, ptr noundef nonnull @.str.80) #12
  %6914 = load i32, ptr %234, align 4, !tbaa !5
  %6915 = call ptr @s2n_strerror_debug(i32 noundef %6914, ptr noundef nonnull @.str.80) #12
  %6916 = load i32, ptr %288, align 4, !tbaa !5
  %6917 = call ptr @strerror(i32 noundef %6916) #12
  %6918 = load i32, ptr %288, align 4, !tbaa !5
  %6919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6910, ptr noundef nonnull %.str.81.sink4104, i32 noundef %6911, ptr noundef nonnull @.str.245, ptr noundef nonnull @.str.77, i32 noundef 622, ptr noundef %6913, ptr noundef %6915, ptr noundef %6917, i32 noundef %6918) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6920:                                             ; preds = %.preheader1872
  %6921 = load i32, ptr @test_count, align 4, !tbaa !5
  %6922 = add nsw i32 %6921, 1
  store i32 %6922, ptr @test_count, align 4, !tbaa !5
  %6923 = load ptr, ptr %76, align 8, !tbaa !9
  %6924 = call i32 @s2n_psk_init(ptr noundef %6923, i32 noundef 0)
  %6925 = call zeroext i1 @s2n_result_is_ok(i32 %6924)
  br i1 %6925, label %6948, label %6926

6926:                                             ; preds = %7102, %7073, %7044, %7015, %6920
  %6927 = load i32, ptr %288, 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
  %.not1739 = icmp eq i32 %6935, 0
  br i1 %.not1739, label %6936, label %6937

6936:                                             ; preds = %6932, %6926
  br label %6937

6937:                                             ; preds = %6932, %6936
  %.str.81.sink4113 = phi ptr [ @.str.81, %6936 ], [ @.str.78, %6932 ]
  store i32 %6927, ptr %288, 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 %234, align 4, !tbaa !5
  %6941 = call ptr @s2n_strerror(i32 noundef %6940, ptr noundef nonnull @.str.80) #12
  %6942 = load i32, ptr %234, align 4, !tbaa !5
  %6943 = call ptr @s2n_strerror_debug(i32 noundef %6942, ptr noundef nonnull @.str.80) #12
  %6944 = load i32, ptr %288, align 4, !tbaa !5
  %6945 = call ptr @strerror(i32 noundef %6944) #12
  %6946 = load i32, ptr %288, align 4, !tbaa !5
  %6947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6938, ptr noundef nonnull %.str.81.sink4113, i32 noundef %6939, ptr noundef nonnull @.str.246, ptr noundef nonnull @.str.77, i32 noundef 623, ptr noundef %6941, ptr noundef %6943, ptr noundef %6945, i32 noundef %6946) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6948:                                             ; preds = %6920
  %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 = load ptr, ptr %76, align 8, !tbaa !9
  %6952 = load ptr, ptr %51, align 8, !tbaa !78
  %6953 = load i32, ptr %6502, align 8, !tbaa !77
  %6954 = trunc i32 %6953 to i16
  %6955 = call i32 @s2n_psk_set_identity(ptr noundef %6951, ptr noundef %6952, i16 noundef zeroext %6954)
  %6956 = icmp eq i32 %6955, -1
  br i1 %6956, label %6957, label %6979

6957:                                             ; preds = %7108, %7079, %7050, %7021, %6948
  %6958 = load i32, ptr %288, align 4, !tbaa !5
  %6959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6960 = call i32 @s2n_print_stacktrace(ptr noundef %6959) #12
  %6961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6962 = trunc nuw i8 %6961 to i1
  br i1 %6962, label %6963, label %6967

6963:                                             ; preds = %6957
  %6964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6965 = call i32 @fileno(ptr noundef %6964) #12
  %6966 = call i32 @isatty(i32 noundef %6965) #12
  %.not1741 = icmp eq i32 %6966, 0
  br i1 %.not1741, label %6967, label %6968

6967:                                             ; preds = %6963, %6957
  br label %6968

6968:                                             ; preds = %6963, %6967
  %.str.81.sink4122 = phi ptr [ @.str.81, %6967 ], [ @.str.78, %6963 ]
  store i32 %6958, ptr %288, align 4, !tbaa !5
  %6969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6970 = load i32, ptr @test_count, align 4, !tbaa !5
  %6971 = load i32, ptr %234, align 4, !tbaa !5
  %6972 = call ptr @s2n_strerror(i32 noundef %6971, ptr noundef nonnull @.str.80) #12
  %6973 = load i32, ptr %234, align 4, !tbaa !5
  %6974 = call ptr @s2n_strerror_debug(i32 noundef %6973, ptr noundef nonnull @.str.80) #12
  %6975 = load i32, ptr %288, align 4, !tbaa !5
  %6976 = call ptr @strerror(i32 noundef %6975) #12
  %6977 = load i32, ptr %288, align 4, !tbaa !5
  %6978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6969, ptr noundef nonnull %.str.81.sink4122, i32 noundef %6970, ptr noundef nonnull @.str.247, ptr noundef nonnull @.str.77, i32 noundef 624, ptr noundef %6972, ptr noundef %6974, ptr noundef %6976, i32 noundef %6977) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6979:                                             ; preds = %6948
  %6980 = load i32, ptr @test_count, align 4, !tbaa !5
  %6981 = add nsw i32 %6980, 1
  store i32 %6981, ptr @test_count, align 4, !tbaa !5
  %6982 = load ptr, ptr %76, align 8, !tbaa !9
  %6983 = load ptr, ptr %54, align 8, !tbaa !78
  %6984 = load i32, ptr %5376, align 8, !tbaa !77
  %6985 = trunc i32 %6984 to i16
  %6986 = call i32 @s2n_psk_set_secret(ptr noundef %6982, ptr noundef %6983, i16 noundef zeroext %6985)
  %6987 = icmp eq i32 %6986, -1
  br i1 %6987, label %6988, label %7010

6988:                                             ; preds = %7117, %7088, %7059, %7030, %6979
  %6989 = load i32, ptr %288, align 4, !tbaa !5
  %6990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6991 = call i32 @s2n_print_stacktrace(ptr noundef %6990) #12
  %6992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6993 = trunc nuw i8 %6992 to i1
  br i1 %6993, label %6994, label %6998

6994:                                             ; preds = %6988
  %6995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6996 = call i32 @fileno(ptr noundef %6995) #12
  %6997 = call i32 @isatty(i32 noundef %6996) #12
  %.not1740 = icmp eq i32 %6997, 0
  br i1 %.not1740, label %6998, label %6999

6998:                                             ; preds = %6994, %6988
  br label %6999

6999:                                             ; preds = %6994, %6998
  %.str.81.sink4131 = phi ptr [ @.str.81, %6998 ], [ @.str.78, %6994 ]
  store i32 %6989, ptr %288, align 4, !tbaa !5
  %7000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7001 = load i32, ptr @test_count, align 4, !tbaa !5
  %7002 = load i32, ptr %234, align 4, !tbaa !5
  %7003 = call ptr @s2n_strerror(i32 noundef %7002, ptr noundef nonnull @.str.80) #12
  %7004 = load i32, ptr %234, align 4, !tbaa !5
  %7005 = call ptr @s2n_strerror_debug(i32 noundef %7004, ptr noundef nonnull @.str.80) #12
  %7006 = load i32, ptr %288, align 4, !tbaa !5
  %7007 = call ptr @strerror(i32 noundef %7006) #12
  %7008 = load i32, ptr %288, align 4, !tbaa !5
  %7009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7000, ptr noundef nonnull %.str.81.sink4131, i32 noundef %7001, ptr noundef nonnull @.str.248, ptr noundef nonnull @.str.77, i32 noundef 625, ptr noundef %7003, ptr noundef %7005, ptr noundef %7007, i32 noundef %7008) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7010:                                             ; preds = %6979
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #12
  store ptr null, ptr %76, align 8, !tbaa !9
  %7011 = load i32, ptr @test_count, align 4, !tbaa !5
  %7012 = add nsw i32 %7011, 1
  store i32 %7012, ptr @test_count, align 4, !tbaa !5
  %7013 = call i32 @s2n_array_pushback(ptr noundef nonnull %6871, ptr noundef nonnull %76) #12
  %7014 = call zeroext i1 @s2n_result_is_ok(i32 %7013)
  br i1 %7014, label %7015, label %6898

7015:                                             ; preds = %7010
  %7016 = load i32, ptr @test_count, align 4, !tbaa !5
  %7017 = add nsw i32 %7016, 1
  store i32 %7017, ptr @test_count, align 4, !tbaa !5
  %7018 = load ptr, ptr %76, align 8, !tbaa !9
  %7019 = call i32 @s2n_psk_init(ptr noundef %7018, i32 noundef 0)
  %7020 = call zeroext i1 @s2n_result_is_ok(i32 %7019)
  br i1 %7020, label %7021, label %6926

7021:                                             ; preds = %7015
  %7022 = load i32, ptr @test_count, align 4, !tbaa !5
  %7023 = add nsw i32 %7022, 1
  store i32 %7023, ptr @test_count, align 4, !tbaa !5
  %7024 = load ptr, ptr %76, align 8, !tbaa !9
  %7025 = load ptr, ptr %51, align 8, !tbaa !78
  %7026 = load i32, ptr %6502, align 8, !tbaa !77
  %7027 = trunc i32 %7026 to i16
  %7028 = call i32 @s2n_psk_set_identity(ptr noundef %7024, ptr noundef %7025, i16 noundef zeroext %7027)
  %7029 = icmp eq i32 %7028, -1
  br i1 %7029, label %6957, label %7030

7030:                                             ; preds = %7021
  %7031 = load i32, ptr @test_count, align 4, !tbaa !5
  %7032 = add nsw i32 %7031, 1
  store i32 %7032, ptr @test_count, align 4, !tbaa !5
  %7033 = load ptr, ptr %76, align 8, !tbaa !9
  %7034 = load ptr, ptr %54, align 8, !tbaa !78
  %7035 = load i32, ptr %5376, align 8, !tbaa !77
  %7036 = trunc i32 %7035 to i16
  %7037 = call i32 @s2n_psk_set_secret(ptr noundef %7033, ptr noundef %7034, i16 noundef zeroext %7036)
  %7038 = icmp eq i32 %7037, -1
  br i1 %7038, label %6988, label %7039

7039:                                             ; preds = %7030
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #12
  store ptr null, ptr %76, align 8, !tbaa !9
  %7040 = load i32, ptr @test_count, align 4, !tbaa !5
  %7041 = add nsw i32 %7040, 1
  store i32 %7041, ptr @test_count, align 4, !tbaa !5
  %7042 = call i32 @s2n_array_pushback(ptr noundef nonnull %6871, ptr noundef nonnull %76) #12
  %7043 = call zeroext i1 @s2n_result_is_ok(i32 %7042)
  br i1 %7043, label %7044, label %6898

7044:                                             ; preds = %7039
  %7045 = load i32, ptr @test_count, align 4, !tbaa !5
  %7046 = add nsw i32 %7045, 1
  store i32 %7046, ptr @test_count, align 4, !tbaa !5
  %7047 = load ptr, ptr %76, align 8, !tbaa !9
  %7048 = call i32 @s2n_psk_init(ptr noundef %7047, i32 noundef 0)
  %7049 = call zeroext i1 @s2n_result_is_ok(i32 %7048)
  br i1 %7049, label %7050, label %6926

7050:                                             ; preds = %7044
  %7051 = load i32, ptr @test_count, align 4, !tbaa !5
  %7052 = add nsw i32 %7051, 1
  store i32 %7052, ptr @test_count, align 4, !tbaa !5
  %7053 = load ptr, ptr %76, align 8, !tbaa !9
  %7054 = load ptr, ptr %51, align 8, !tbaa !78
  %7055 = load i32, ptr %6502, align 8, !tbaa !77
  %7056 = trunc i32 %7055 to i16
  %7057 = call i32 @s2n_psk_set_identity(ptr noundef %7053, ptr noundef %7054, i16 noundef zeroext %7056)
  %7058 = icmp eq i32 %7057, -1
  br i1 %7058, label %6957, label %7059

7059:                                             ; preds = %7050
  %7060 = load i32, ptr @test_count, align 4, !tbaa !5
  %7061 = add nsw i32 %7060, 1
  store i32 %7061, ptr @test_count, align 4, !tbaa !5
  %7062 = load ptr, ptr %76, align 8, !tbaa !9
  %7063 = load ptr, ptr %54, align 8, !tbaa !78
  %7064 = load i32, ptr %5376, align 8, !tbaa !77
  %7065 = trunc i32 %7064 to i16
  %7066 = call i32 @s2n_psk_set_secret(ptr noundef %7062, ptr noundef %7063, i16 noundef zeroext %7065)
  %7067 = icmp eq i32 %7066, -1
  br i1 %7067, label %6988, label %7068

7068:                                             ; preds = %7059
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #12
  store ptr null, ptr %76, align 8, !tbaa !9
  %7069 = load i32, ptr @test_count, align 4, !tbaa !5
  %7070 = add nsw i32 %7069, 1
  store i32 %7070, ptr @test_count, align 4, !tbaa !5
  %7071 = call i32 @s2n_array_pushback(ptr noundef nonnull %6871, ptr noundef nonnull %76) #12
  %7072 = call zeroext i1 @s2n_result_is_ok(i32 %7071)
  br i1 %7072, label %7073, label %6898

7073:                                             ; preds = %7068
  %7074 = load i32, ptr @test_count, align 4, !tbaa !5
  %7075 = add nsw i32 %7074, 1
  store i32 %7075, ptr @test_count, align 4, !tbaa !5
  %7076 = load ptr, ptr %76, align 8, !tbaa !9
  %7077 = call i32 @s2n_psk_init(ptr noundef %7076, i32 noundef 0)
  %7078 = call zeroext i1 @s2n_result_is_ok(i32 %7077)
  br i1 %7078, label %7079, label %6926

7079:                                             ; preds = %7073
  %7080 = load i32, ptr @test_count, align 4, !tbaa !5
  %7081 = add nsw i32 %7080, 1
  store i32 %7081, ptr @test_count, align 4, !tbaa !5
  %7082 = load ptr, ptr %76, align 8, !tbaa !9
  %7083 = load ptr, ptr %51, align 8, !tbaa !78
  %7084 = load i32, ptr %6502, align 8, !tbaa !77
  %7085 = trunc i32 %7084 to i16
  %7086 = call i32 @s2n_psk_set_identity(ptr noundef %7082, ptr noundef %7083, i16 noundef zeroext %7085)
  %7087 = icmp eq i32 %7086, -1
  br i1 %7087, label %6957, label %7088

7088:                                             ; preds = %7079
  %7089 = load i32, ptr @test_count, align 4, !tbaa !5
  %7090 = add nsw i32 %7089, 1
  store i32 %7090, ptr @test_count, align 4, !tbaa !5
  %7091 = load ptr, ptr %76, align 8, !tbaa !9
  %7092 = load ptr, ptr %54, align 8, !tbaa !78
  %7093 = load i32, ptr %5376, align 8, !tbaa !77
  %7094 = trunc i32 %7093 to i16
  %7095 = call i32 @s2n_psk_set_secret(ptr noundef %7091, ptr noundef %7092, i16 noundef zeroext %7094)
  %7096 = icmp eq i32 %7095, -1
  br i1 %7096, label %6988, label %7097

7097:                                             ; preds = %7088
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #12
  store ptr null, ptr %76, align 8, !tbaa !9
  %7098 = load i32, ptr @test_count, align 4, !tbaa !5
  %7099 = add nsw i32 %7098, 1
  store i32 %7099, ptr @test_count, align 4, !tbaa !5
  %7100 = call i32 @s2n_array_pushback(ptr noundef nonnull %6871, ptr noundef nonnull %76) #12
  %7101 = call zeroext i1 @s2n_result_is_ok(i32 %7100)
  br i1 %7101, label %7102, label %6898

7102:                                             ; preds = %7097
  %7103 = load i32, ptr @test_count, align 4, !tbaa !5
  %7104 = add nsw i32 %7103, 1
  store i32 %7104, ptr @test_count, align 4, !tbaa !5
  %7105 = load ptr, ptr %76, align 8, !tbaa !9
  %7106 = call i32 @s2n_psk_init(ptr noundef %7105, i32 noundef 0)
  %7107 = call zeroext i1 @s2n_result_is_ok(i32 %7106)
  br i1 %7107, label %7108, label %6926

7108:                                             ; preds = %7102
  %7109 = load i32, ptr @test_count, align 4, !tbaa !5
  %7110 = add nsw i32 %7109, 1
  store i32 %7110, ptr @test_count, align 4, !tbaa !5
  %7111 = load ptr, ptr %76, align 8, !tbaa !9
  %7112 = load ptr, ptr %51, align 8, !tbaa !78
  %7113 = load i32, ptr %6502, align 8, !tbaa !77
  %7114 = trunc i32 %7113 to i16
  %7115 = call i32 @s2n_psk_set_identity(ptr noundef %7111, ptr noundef %7112, i16 noundef zeroext %7114)
  %7116 = icmp eq i32 %7115, -1
  br i1 %7116, label %6957, label %7117

7117:                                             ; preds = %7108
  %7118 = load i32, ptr @test_count, align 4, !tbaa !5
  %7119 = add nsw i32 %7118, 1
  store i32 %7119, ptr @test_count, align 4, !tbaa !5
  %7120 = load ptr, ptr %76, align 8, !tbaa !9
  %7121 = load ptr, ptr %54, align 8, !tbaa !78
  %7122 = load i32, ptr %5376, align 8, !tbaa !77
  %7123 = trunc i32 %7122 to i16
  %7124 = call i32 @s2n_psk_set_secret(ptr noundef %7120, ptr noundef %7121, i16 noundef zeroext %7123)
  %7125 = icmp eq i32 %7124, -1
  br i1 %7125, label %6988, label %7126

7126:                                             ; preds = %7117
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #12
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %77) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %77, i8 0, i64 40, i1 false)
  %7127 = load i32, ptr @test_count, align 4, !tbaa !5
  %7128 = add nsw i32 %7127, 1
  store i32 %7128, ptr @test_count, align 4, !tbaa !5
  %7129 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %77, i32 noundef 0) #12
  %7130 = icmp eq i32 %7129, -1
  br i1 %7130, label %7131, label %7153

7131:                                             ; preds = %7126
  %7132 = load i32, ptr %288, align 4, !tbaa !5
  %7133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7134 = call i32 @s2n_print_stacktrace(ptr noundef %7133) #12
  %7135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7136 = trunc nuw i8 %7135 to i1
  br i1 %7136, label %7137, label %7141

7137:                                             ; preds = %7131
  %7138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7139 = call i32 @fileno(ptr noundef %7138) #12
  %7140 = call i32 @isatty(i32 noundef %7139) #12
  %.not1737 = icmp eq i32 %7140, 0
  br i1 %.not1737, label %7141, label %7142

7141:                                             ; preds = %7137, %7131
  br label %7142

7142:                                             ; preds = %7137, %7141
  %.str.81.sink4140 = phi ptr [ @.str.81, %7141 ], [ @.str.78, %7137 ]
  store i32 %7132, ptr %288, align 4, !tbaa !5
  %7143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7144 = load i32, ptr @test_count, align 4, !tbaa !5
  %7145 = load i32, ptr %234, align 4, !tbaa !5
  %7146 = call ptr @s2n_strerror(i32 noundef %7145, ptr noundef nonnull @.str.80) #12
  %7147 = load i32, ptr %234, align 4, !tbaa !5
  %7148 = call ptr @s2n_strerror_debug(i32 noundef %7147, ptr noundef nonnull @.str.80) #12
  %7149 = load i32, ptr %288, align 4, !tbaa !5
  %7150 = call ptr @strerror(i32 noundef %7149) #12
  %7151 = load i32, ptr %288, align 4, !tbaa !5
  %7152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7143, ptr noundef nonnull %.str.81.sink4140, i32 noundef %7144, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.77, i32 noundef 629, ptr noundef %7146, ptr noundef %7148, ptr noundef %7150, i32 noundef %7151) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7153:                                             ; preds = %7126
  %7154 = load i32, ptr @test_count, align 4, !tbaa !5
  %7155 = add nsw i32 %7154, 1
  store i32 %7155, ptr @test_count, align 4, !tbaa !5
  %7156 = call i32 @s2n_psk_write_binder_list(ptr noundef nonnull %6869, ptr noundef nonnull %52, ptr noundef nonnull %77)
  %7157 = call zeroext i1 @s2n_result_is_ok(i32 %7156)
  br i1 %7157, label %7180, label %7158

7158:                                             ; preds = %7153
  %7159 = load i32, ptr %288, align 4, !tbaa !5
  %7160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7161 = call i32 @s2n_print_stacktrace(ptr noundef %7160) #12
  %7162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7163 = trunc nuw i8 %7162 to i1
  br i1 %7163, label %7164, label %7168

7164:                                             ; preds = %7158
  %7165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7166 = call i32 @fileno(ptr noundef %7165) #12
  %7167 = call i32 @isatty(i32 noundef %7166) #12
  %.not1478 = icmp eq i32 %7167, 0
  br i1 %.not1478, label %7168, label %7169

7168:                                             ; preds = %7164, %7158
  br label %7169

7169:                                             ; preds = %7164, %7168
  %.str.81.sink4149 = phi ptr [ @.str.81, %7168 ], [ @.str.78, %7164 ]
  store i32 %7159, ptr %288, align 4, !tbaa !5
  %7170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7171 = load i32, ptr @test_count, align 4, !tbaa !5
  %7172 = load i32, ptr %234, align 4, !tbaa !5
  %7173 = call ptr @s2n_strerror(i32 noundef %7172, ptr noundef nonnull @.str.80) #12
  %7174 = load i32, ptr %234, align 4, !tbaa !5
  %7175 = call ptr @s2n_strerror_debug(i32 noundef %7174, ptr noundef nonnull @.str.80) #12
  %7176 = load i32, ptr %288, align 4, !tbaa !5
  %7177 = call ptr @strerror(i32 noundef %7176) #12
  %7178 = load i32, ptr %288, align 4, !tbaa !5
  %7179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7170, ptr noundef nonnull %.str.81.sink4149, i32 noundef %7171, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.77, i32 noundef 631, ptr noundef %7173, ptr noundef %7175, ptr noundef %7177, i32 noundef %7178) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7180:                                             ; preds = %7153
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %78) #12
  store i16 0, ptr %78, align 2, !tbaa !65
  %7181 = load i32, ptr @test_count, align 4, !tbaa !5
  %7182 = add nsw i32 %7181, 1
  store i32 %7182, ptr @test_count, align 4, !tbaa !5
  %7183 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %77, ptr noundef nonnull %78) #12
  %7184 = icmp eq i32 %7183, -1
  br i1 %7184, label %7185, label %7207

7185:                                             ; preds = %7180
  %7186 = load i32, ptr %288, align 4, !tbaa !5
  %7187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7188 = call i32 @s2n_print_stacktrace(ptr noundef %7187) #12
  %7189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7190 = trunc nuw i8 %7189 to i1
  br i1 %7190, label %7191, label %7195

7191:                                             ; preds = %7185
  %7192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7193 = call i32 @fileno(ptr noundef %7192) #12
  %7194 = call i32 @isatty(i32 noundef %7193) #12
  %.not1736 = icmp eq i32 %7194, 0
  br i1 %.not1736, label %7195, label %7196

7195:                                             ; preds = %7191, %7185
  br label %7196

7196:                                             ; preds = %7191, %7195
  %.str.81.sink4158 = phi ptr [ @.str.81, %7195 ], [ @.str.78, %7191 ]
  store i32 %7186, ptr %288, align 4, !tbaa !5
  %7197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7198 = load i32, ptr @test_count, align 4, !tbaa !5
  %7199 = load i32, ptr %234, align 4, !tbaa !5
  %7200 = call ptr @s2n_strerror(i32 noundef %7199, ptr noundef nonnull @.str.80) #12
  %7201 = load i32, ptr %234, align 4, !tbaa !5
  %7202 = call ptr @s2n_strerror_debug(i32 noundef %7201, ptr noundef nonnull @.str.80) #12
  %7203 = load i32, ptr %288, align 4, !tbaa !5
  %7204 = call ptr @strerror(i32 noundef %7203) #12
  %7205 = load i32, ptr %288, align 4, !tbaa !5
  %7206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7197, ptr noundef nonnull %.str.81.sink4158, i32 noundef %7198, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.77, i32 noundef 634, ptr noundef %7200, ptr noundef %7202, ptr noundef %7204, i32 noundef %7205) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7207:                                             ; preds = %7180
  %7208 = load i32, ptr @test_count, align 4, !tbaa !5
  %7209 = add nsw i32 %7208, 1
  store i32 %7209, ptr @test_count, align 4, !tbaa !5
  %7210 = load i16, ptr %78, align 2, !tbaa !65
  %7211 = zext i16 %7210 to i32
  %7212 = getelementptr inbounds i8, ptr %77, i64 28
  %7213 = load i32, ptr %7212, align 4, !tbaa !66
  %7214 = getelementptr inbounds i8, ptr %77, i64 24
  %7215 = load i32, ptr %7214, align 8, !tbaa !67
  %7216 = sub i32 %7213, %7215
  %7217 = icmp eq i32 %7216, %7211
  br i1 %7217, label %.preheader1871.preheader, label %7221

.preheader1871.preheader:                         ; preds = %7207
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %79) #12
  store i8 0, ptr %79, align 1, !tbaa !26
  %7218 = add nsw i32 %7208, 2
  store i32 %7218, ptr @test_count, align 4, !tbaa !5
  %7219 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %77, ptr noundef nonnull %79) #12
  %7220 = icmp eq i32 %7219, -1
  br i1 %7220, label %7243, label %7265

7221:                                             ; preds = %7207
  %7222 = load i32, ptr %288, align 4, !tbaa !5
  %7223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7224 = call i32 @s2n_print_stacktrace(ptr noundef %7223) #12
  %7225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7226 = trunc nuw i8 %7225 to i1
  br i1 %7226, label %7227, label %7231

7227:                                             ; preds = %7221
  %7228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7229 = call i32 @fileno(ptr noundef %7228) #12
  %7230 = call i32 @isatty(i32 noundef %7229) #12
  %.not1479 = icmp eq i32 %7230, 0
  br i1 %.not1479, label %7231, label %7232

7231:                                             ; preds = %7227, %7221
  br label %7232

7232:                                             ; preds = %7227, %7231
  %.str.81.sink4167 = phi ptr [ @.str.81, %7231 ], [ @.str.78, %7227 ]
  store i32 %7222, ptr %288, align 4, !tbaa !5
  %7233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7234 = load i32, ptr @test_count, align 4, !tbaa !5
  %7235 = load i32, ptr %234, align 4, !tbaa !5
  %7236 = call ptr @s2n_strerror(i32 noundef %7235, ptr noundef nonnull @.str.80) #12
  %7237 = load i32, ptr %234, align 4, !tbaa !5
  %7238 = call ptr @s2n_strerror_debug(i32 noundef %7237, ptr noundef nonnull @.str.80) #12
  %7239 = load i32, ptr %288, align 4, !tbaa !5
  %7240 = call ptr @strerror(i32 noundef %7239) #12
  %7241 = load i32, ptr %288, align 4, !tbaa !5
  %7242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7233, ptr noundef nonnull %.str.81.sink4167, i32 noundef %7234, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.77, i32 noundef 635, ptr noundef %7236, ptr noundef %7238, ptr noundef %7240, i32 noundef %7241) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7243:                                             ; preds = %.preheader1871.4, %.preheader1871.3, %.preheader1871.2, %.preheader1871.1, %.preheader1871.preheader
  %7244 = load i32, ptr %288, align 4, !tbaa !5
  %7245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7246 = call i32 @s2n_print_stacktrace(ptr noundef %7245) #12
  %7247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7248 = trunc nuw i8 %7247 to i1
  br i1 %7248, label %7249, label %7253

7249:                                             ; preds = %7243
  %7250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7251 = call i32 @fileno(ptr noundef %7250) #12
  %7252 = call i32 @isatty(i32 noundef %7251) #12
  %.not1735 = icmp eq i32 %7252, 0
  br i1 %.not1735, label %7253, label %7254

7253:                                             ; preds = %7249, %7243
  br label %7254

7254:                                             ; preds = %7249, %7253
  %.str.81.sink4176 = phi ptr [ @.str.81, %7253 ], [ @.str.78, %7249 ]
  store i32 %7244, ptr %288, align 4, !tbaa !5
  %7255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7256 = load i32, ptr @test_count, align 4, !tbaa !5
  %7257 = load i32, ptr %234, align 4, !tbaa !5
  %7258 = call ptr @s2n_strerror(i32 noundef %7257, ptr noundef nonnull @.str.80) #12
  %7259 = load i32, ptr %234, align 4, !tbaa !5
  %7260 = call ptr @s2n_strerror_debug(i32 noundef %7259, ptr noundef nonnull @.str.80) #12
  %7261 = load i32, ptr %288, align 4, !tbaa !5
  %7262 = call ptr @strerror(i32 noundef %7261) #12
  %7263 = load i32, ptr %288, align 4, !tbaa !5
  %7264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7255, ptr noundef nonnull %.str.81.sink4176, i32 noundef %7256, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.77, i32 noundef 639, ptr noundef %7258, ptr noundef %7260, ptr noundef %7262, i32 noundef %7263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7265:                                             ; preds = %.preheader1871.preheader
  %7266 = load i32, ptr @test_count, align 4, !tbaa !5
  %7267 = add nsw i32 %7266, 1
  store i32 %7267, ptr @test_count, align 4, !tbaa !5
  %7268 = load i8, ptr %79, align 1, !tbaa !26
  %7269 = zext i8 %7268 to i32
  %7270 = load i32, ptr %5522, align 8, !tbaa !77
  %7271 = icmp eq i32 %7270, %7269
  br i1 %7271, label %7294, label %7272

7272:                                             ; preds = %7419, %7397, %7375, %7353, %7265
  %7273 = load i32, ptr %288, align 4, !tbaa !5
  %7274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7275 = call i32 @s2n_print_stacktrace(ptr noundef %7274) #12
  %7276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7277 = trunc nuw i8 %7276 to i1
  br i1 %7277, label %7278, label %7282

7278:                                             ; preds = %7272
  %7279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7280 = call i32 @fileno(ptr noundef %7279) #12
  %7281 = call i32 @isatty(i32 noundef %7280) #12
  %.not1730 = icmp eq i32 %7281, 0
  br i1 %.not1730, label %7282, label %7283

7282:                                             ; preds = %7278, %7272
  br label %7283

7283:                                             ; preds = %7278, %7282
  %.str.81.sink4185 = phi ptr [ @.str.81, %7282 ], [ @.str.78, %7278 ]
  store i32 %7273, ptr %288, align 4, !tbaa !5
  %7284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7285 = load i32, ptr @test_count, align 4, !tbaa !5
  %7286 = load i32, ptr %234, align 4, !tbaa !5
  %7287 = call ptr @s2n_strerror(i32 noundef %7286, ptr noundef nonnull @.str.80) #12
  %7288 = load i32, ptr %234, align 4, !tbaa !5
  %7289 = call ptr @s2n_strerror_debug(i32 noundef %7288, ptr noundef nonnull @.str.80) #12
  %7290 = load i32, ptr %288, align 4, !tbaa !5
  %7291 = call ptr @strerror(i32 noundef %7290) #12
  %7292 = load i32, ptr %288, align 4, !tbaa !5
  %7293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7284, ptr noundef nonnull %.str.81.sink4185, i32 noundef %7285, ptr noundef nonnull @.str.242, ptr noundef nonnull @.str.77, i32 noundef 640, ptr noundef %7287, ptr noundef %7289, ptr noundef %7291, i32 noundef %7292) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7294:                                             ; preds = %7265
  %7295 = add nsw i32 %7266, 2
  store i32 %7295, ptr @test_count, align 4, !tbaa !5
  %7296 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %77, i32 noundef %7269) #12
  %7297 = icmp eq ptr %7296, null
  br i1 %7297, label %7298, label %7320

7298:                                             ; preds = %7426, %7404, %7382, %7360, %7294
  %7299 = load i32, ptr %288, align 4, !tbaa !5
  %7300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7301 = call i32 @s2n_print_stacktrace(ptr noundef %7300) #12
  %7302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7303 = trunc nuw i8 %7302 to i1
  br i1 %7303, label %7304, label %7308

7304:                                             ; preds = %7298
  %7305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7306 = call i32 @fileno(ptr noundef %7305) #12
  %7307 = call i32 @isatty(i32 noundef %7306) #12
  %.not1734 = icmp eq i32 %7307, 0
  br i1 %.not1734, label %7308, label %7309

7308:                                             ; preds = %7304, %7298
  br label %7309

7309:                                             ; preds = %7304, %7308
  %.str.81.sink4194 = phi ptr [ @.str.81, %7308 ], [ @.str.78, %7304 ]
  store i32 %7299, ptr %288, align 4, !tbaa !5
  %7310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7311 = load i32, ptr @test_count, align 4, !tbaa !5
  %7312 = load i32, ptr %234, align 4, !tbaa !5
  %7313 = call ptr @s2n_strerror(i32 noundef %7312, ptr noundef nonnull @.str.80) #12
  %7314 = load i32, ptr %234, align 4, !tbaa !5
  %7315 = call ptr @s2n_strerror_debug(i32 noundef %7314, ptr noundef nonnull @.str.80) #12
  %7316 = load i32, ptr %288, align 4, !tbaa !5
  %7317 = call ptr @strerror(i32 noundef %7316) #12
  %7318 = load i32, ptr %288, align 4, !tbaa !5
  %7319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7310, ptr noundef nonnull %.str.81.sink4194, i32 noundef %7311, ptr noundef nonnull @.str.243, ptr noundef nonnull @.str.77, i32 noundef 643, ptr noundef %7313, ptr noundef %7315, ptr noundef %7317, i32 noundef %7318) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7320:                                             ; preds = %7294
  %7321 = load i8, ptr %79, align 1, !tbaa !26
  %.not1731 = icmp eq i8 %7321, 0
  %.pre1887 = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1731, label %.preheader1871.1, label %7322

7322:                                             ; preds = %7320
  %7323 = add nsw i32 %.pre1887, 1
  store i32 %7323, ptr @test_count, align 4, !tbaa !5
  %7324 = load ptr, ptr %57, align 8, !tbaa !78
  %7325 = zext i8 %7321 to i64
  %bcmp1732 = call i32 @bcmp(ptr nonnull %7296, ptr %7324, i64 %7325)
  %7326 = icmp eq i32 %bcmp1732, 0
  br i1 %7326, label %.preheader1871.1, label %7327

7327:                                             ; preds = %7432, %7410, %7388, %7366, %7322
  %7328 = load i32, ptr %288, 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
  %.not1733 = icmp eq i32 %7336, 0
  br i1 %.not1733, label %7337, label %7338

7337:                                             ; preds = %7333, %7327
  br label %7338

7338:                                             ; preds = %7333, %7337
  %.str.81.sink4203 = phi ptr [ @.str.81, %7337 ], [ @.str.78, %7333 ]
  store i32 %7328, ptr %288, 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 %234, align 4, !tbaa !5
  %7342 = call ptr @s2n_strerror(i32 noundef %7341, ptr noundef nonnull @.str.80) #12
  %7343 = load i32, ptr %234, align 4, !tbaa !5
  %7344 = call ptr @s2n_strerror_debug(i32 noundef %7343, ptr noundef nonnull @.str.80) #12
  %7345 = load i32, ptr %288, align 4, !tbaa !5
  %7346 = call ptr @strerror(i32 noundef %7345) #12
  %7347 = load i32, ptr %288, align 4, !tbaa !5
  %7348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7339, ptr noundef nonnull %.str.81.sink4203, i32 noundef %7340, ptr noundef nonnull @.str.244, ptr noundef nonnull @.str.77, i32 noundef 644, ptr noundef %7342, ptr noundef %7344, ptr noundef %7346, i32 noundef %7347) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1871.1:                                 ; preds = %7322, %7320
  %7349 = phi i32 [ %7323, %7322 ], [ %.pre1887, %7320 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %79) #12
  store i8 0, ptr %79, align 1, !tbaa !26
  %7350 = add nsw i32 %7349, 1
  store i32 %7350, ptr @test_count, align 4, !tbaa !5
  %7351 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %77, ptr noundef nonnull %79) #12
  %7352 = icmp eq i32 %7351, -1
  br i1 %7352, label %7243, label %7353

7353:                                             ; preds = %.preheader1871.1
  %7354 = load i32, ptr @test_count, align 4, !tbaa !5
  %7355 = add nsw i32 %7354, 1
  store i32 %7355, ptr @test_count, align 4, !tbaa !5
  %7356 = load i8, ptr %79, align 1, !tbaa !26
  %7357 = zext i8 %7356 to i32
  %7358 = load i32, ptr %5522, align 8, !tbaa !77
  %7359 = icmp eq i32 %7358, %7357
  br i1 %7359, label %7360, label %7272

7360:                                             ; preds = %7353
  %7361 = add nsw i32 %7354, 2
  store i32 %7361, ptr @test_count, align 4, !tbaa !5
  %7362 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %77, i32 noundef %7357) #12
  %7363 = icmp eq ptr %7362, null
  br i1 %7363, label %7298, label %7364

7364:                                             ; preds = %7360
  %7365 = load i8, ptr %79, align 1, !tbaa !26
  %.not1731.1 = icmp eq i8 %7365, 0
  %.pre1888 = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1731.1, label %.preheader1871.2, label %7366

7366:                                             ; preds = %7364
  %7367 = add nsw i32 %.pre1888, 1
  store i32 %7367, ptr @test_count, align 4, !tbaa !5
  %7368 = load ptr, ptr %57, align 8, !tbaa !78
  %7369 = zext i8 %7365 to i64
  %bcmp1732.1 = call i32 @bcmp(ptr nonnull %7362, ptr %7368, i64 %7369)
  %7370 = icmp eq i32 %bcmp1732.1, 0
  br i1 %7370, label %.preheader1871.2, label %7327

.preheader1871.2:                                 ; preds = %7366, %7364
  %7371 = phi i32 [ %7367, %7366 ], [ %.pre1888, %7364 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %79) #12
  store i8 0, ptr %79, align 1, !tbaa !26
  %7372 = add nsw i32 %7371, 1
  store i32 %7372, ptr @test_count, align 4, !tbaa !5
  %7373 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %77, ptr noundef nonnull %79) #12
  %7374 = icmp eq i32 %7373, -1
  br i1 %7374, label %7243, label %7375

7375:                                             ; preds = %.preheader1871.2
  %7376 = load i32, ptr @test_count, align 4, !tbaa !5
  %7377 = add nsw i32 %7376, 1
  store i32 %7377, ptr @test_count, align 4, !tbaa !5
  %7378 = load i8, ptr %79, align 1, !tbaa !26
  %7379 = zext i8 %7378 to i32
  %7380 = load i32, ptr %5522, align 8, !tbaa !77
  %7381 = icmp eq i32 %7380, %7379
  br i1 %7381, label %7382, label %7272

7382:                                             ; preds = %7375
  %7383 = add nsw i32 %7376, 2
  store i32 %7383, ptr @test_count, align 4, !tbaa !5
  %7384 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %77, i32 noundef %7379) #12
  %7385 = icmp eq ptr %7384, null
  br i1 %7385, label %7298, label %7386

7386:                                             ; preds = %7382
  %7387 = load i8, ptr %79, align 1, !tbaa !26
  %.not1731.2 = icmp eq i8 %7387, 0
  %.pre1889 = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1731.2, label %.preheader1871.3, label %7388

7388:                                             ; preds = %7386
  %7389 = add nsw i32 %.pre1889, 1
  store i32 %7389, ptr @test_count, align 4, !tbaa !5
  %7390 = load ptr, ptr %57, align 8, !tbaa !78
  %7391 = zext i8 %7387 to i64
  %bcmp1732.2 = call i32 @bcmp(ptr nonnull %7384, ptr %7390, i64 %7391)
  %7392 = icmp eq i32 %bcmp1732.2, 0
  br i1 %7392, label %.preheader1871.3, label %7327

.preheader1871.3:                                 ; preds = %7388, %7386
  %7393 = phi i32 [ %7389, %7388 ], [ %.pre1889, %7386 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %79) #12
  store i8 0, ptr %79, align 1, !tbaa !26
  %7394 = add nsw i32 %7393, 1
  store i32 %7394, ptr @test_count, align 4, !tbaa !5
  %7395 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %77, ptr noundef nonnull %79) #12
  %7396 = icmp eq i32 %7395, -1
  br i1 %7396, label %7243, label %7397

7397:                                             ; preds = %.preheader1871.3
  %7398 = load i32, ptr @test_count, align 4, !tbaa !5
  %7399 = add nsw i32 %7398, 1
  store i32 %7399, ptr @test_count, align 4, !tbaa !5
  %7400 = load i8, ptr %79, align 1, !tbaa !26
  %7401 = zext i8 %7400 to i32
  %7402 = load i32, ptr %5522, align 8, !tbaa !77
  %7403 = icmp eq i32 %7402, %7401
  br i1 %7403, label %7404, label %7272

7404:                                             ; preds = %7397
  %7405 = add nsw i32 %7398, 2
  store i32 %7405, ptr @test_count, align 4, !tbaa !5
  %7406 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %77, i32 noundef %7401) #12
  %7407 = icmp eq ptr %7406, null
  br i1 %7407, label %7298, label %7408

7408:                                             ; preds = %7404
  %7409 = load i8, ptr %79, align 1, !tbaa !26
  %.not1731.3 = icmp eq i8 %7409, 0
  %.pre1890 = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1731.3, label %.preheader1871.4, label %7410

7410:                                             ; preds = %7408
  %7411 = add nsw i32 %.pre1890, 1
  store i32 %7411, ptr @test_count, align 4, !tbaa !5
  %7412 = load ptr, ptr %57, align 8, !tbaa !78
  %7413 = zext i8 %7409 to i64
  %bcmp1732.3 = call i32 @bcmp(ptr nonnull %7406, ptr %7412, i64 %7413)
  %7414 = icmp eq i32 %bcmp1732.3, 0
  br i1 %7414, label %.preheader1871.4, label %7327

.preheader1871.4:                                 ; preds = %7410, %7408
  %7415 = phi i32 [ %7411, %7410 ], [ %.pre1890, %7408 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %79) #12
  store i8 0, ptr %79, align 1, !tbaa !26
  %7416 = add nsw i32 %7415, 1
  store i32 %7416, ptr @test_count, align 4, !tbaa !5
  %7417 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %77, ptr noundef nonnull %79) #12
  %7418 = icmp eq i32 %7417, -1
  br i1 %7418, label %7243, label %7419

7419:                                             ; preds = %.preheader1871.4
  %7420 = load i32, ptr @test_count, align 4, !tbaa !5
  %7421 = add nsw i32 %7420, 1
  store i32 %7421, ptr @test_count, align 4, !tbaa !5
  %7422 = load i8, ptr %79, align 1, !tbaa !26
  %7423 = zext i8 %7422 to i32
  %7424 = load i32, ptr %5522, align 8, !tbaa !77
  %7425 = icmp eq i32 %7424, %7423
  br i1 %7425, label %7426, label %7272

7426:                                             ; preds = %7419
  %7427 = add nsw i32 %7420, 2
  store i32 %7427, ptr @test_count, align 4, !tbaa !5
  %7428 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %77, i32 noundef %7423) #12
  %7429 = icmp eq ptr %7428, null
  br i1 %7429, label %7298, label %7430

7430:                                             ; preds = %7426
  %7431 = load i8, ptr %79, align 1, !tbaa !26
  %.not1731.4 = icmp eq i8 %7431, 0
  %.pre1891 = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %.not1731.4, label %7437, label %7432

7432:                                             ; preds = %7430
  %7433 = add nsw i32 %.pre1891, 1
  store i32 %7433, ptr @test_count, align 4, !tbaa !5
  %7434 = load ptr, ptr %57, align 8, !tbaa !78
  %7435 = zext i8 %7431 to i64
  %bcmp1732.4 = call i32 @bcmp(ptr nonnull %7428, ptr %7434, i64 %7435)
  %7436 = icmp eq i32 %bcmp1732.4, 0
  br i1 %7436, label %7437, label %7327

7437:                                             ; preds = %7432, %7430
  %7438 = phi i32 [ %7433, %7432 ], [ %.pre1891, %7430 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %79) #12
  %7439 = add nsw i32 %7438, 1
  store i32 %7439, ptr @test_count, align 4, !tbaa !5
  %7440 = load i32, ptr %7212, align 4, !tbaa !66
  %7441 = load i32, ptr %7214, align 8, !tbaa !67
  %7442 = icmp eq i32 %7440, %7441
  br i1 %7442, label %7465, label %7443

7443:                                             ; preds = %7437
  %7444 = load i32, ptr %288, align 4, !tbaa !5
  %7445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7446 = call i32 @s2n_print_stacktrace(ptr noundef %7445) #12
  %7447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7448 = trunc nuw i8 %7447 to i1
  br i1 %7448, label %7449, label %7453

7449:                                             ; preds = %7443
  %7450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7451 = call i32 @fileno(ptr noundef %7450) #12
  %7452 = call i32 @isatty(i32 noundef %7451) #12
  %.not1480 = icmp eq i32 %7452, 0
  br i1 %.not1480, label %7453, label %7454

7453:                                             ; preds = %7449, %7443
  br label %7454

7454:                                             ; preds = %7449, %7453
  %.str.81.sink4212 = phi ptr [ @.str.81, %7453 ], [ @.str.78, %7449 ]
  store i32 %7444, ptr %288, align 4, !tbaa !5
  %7455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7456 = load i32, ptr @test_count, align 4, !tbaa !5
  %7457 = load i32, ptr %234, align 4, !tbaa !5
  %7458 = call ptr @s2n_strerror(i32 noundef %7457, ptr noundef nonnull @.str.80) #12
  %7459 = load i32, ptr %234, align 4, !tbaa !5
  %7460 = call ptr @s2n_strerror_debug(i32 noundef %7459, ptr noundef nonnull @.str.80) #12
  %7461 = load i32, ptr %288, align 4, !tbaa !5
  %7462 = call ptr @strerror(i32 noundef %7461) #12
  %7463 = load i32, ptr %288, align 4, !tbaa !5
  %7464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7455, ptr noundef nonnull %.str.81.sink4212, i32 noundef %7456, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.77, i32 noundef 647, ptr noundef %7458, ptr noundef %7460, ptr noundef %7462, i32 noundef %7463) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7465:                                             ; preds = %7437
  %7466 = add nsw i32 %7438, 2
  store i32 %7466, ptr @test_count, align 4, !tbaa !5
  %7467 = call i32 @s2n_connection_free(ptr noundef nonnull %6869) #12
  %7468 = icmp eq i32 %7467, -1
  br i1 %7468, label %7469, label %7491

7469:                                             ; preds = %7465
  %7470 = load i32, ptr %288, align 4, !tbaa !5
  %7471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7472 = call i32 @s2n_print_stacktrace(ptr noundef %7471) #12
  %7473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7474 = trunc nuw i8 %7473 to i1
  br i1 %7474, label %7475, label %7479

7475:                                             ; preds = %7469
  %7476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7477 = call i32 @fileno(ptr noundef %7476) #12
  %7478 = call i32 @isatty(i32 noundef %7477) #12
  %.not1729 = icmp eq i32 %7478, 0
  br i1 %.not1729, label %7479, label %7480

7479:                                             ; preds = %7475, %7469
  br label %7480

7480:                                             ; preds = %7475, %7479
  %.str.81.sink4221 = phi ptr [ @.str.81, %7479 ], [ @.str.78, %7475 ]
  store i32 %7470, ptr %288, align 4, !tbaa !5
  %7481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7482 = load i32, ptr @test_count, align 4, !tbaa !5
  %7483 = load i32, ptr %234, align 4, !tbaa !5
  %7484 = call ptr @s2n_strerror(i32 noundef %7483, ptr noundef nonnull @.str.80) #12
  %7485 = load i32, ptr %234, align 4, !tbaa !5
  %7486 = call ptr @s2n_strerror_debug(i32 noundef %7485, ptr noundef nonnull @.str.80) #12
  %7487 = load i32, ptr %288, align 4, !tbaa !5
  %7488 = call ptr @strerror(i32 noundef %7487) #12
  %7489 = load i32, ptr %288, align 4, !tbaa !5
  %7490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7481, ptr noundef nonnull %.str.81.sink4221, i32 noundef %7482, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 649, ptr noundef %7484, ptr noundef %7486, ptr noundef %7488, i32 noundef %7489) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7491:                                             ; preds = %7465
  %7492 = load i32, ptr @test_count, align 4, !tbaa !5
  %7493 = add nsw i32 %7492, 1
  store i32 %7493, ptr @test_count, align 4, !tbaa !5
  %7494 = call i32 @s2n_stuffer_free(ptr noundef nonnull %77) #12
  %7495 = icmp eq i32 %7494, -1
  br i1 %7495, label %7496, label %7518

7496:                                             ; preds = %7491
  %7497 = load i32, ptr %288, align 4, !tbaa !5
  %7498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7499 = call i32 @s2n_print_stacktrace(ptr noundef %7498) #12
  %7500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7501 = trunc nuw i8 %7500 to i1
  br i1 %7501, label %7502, label %7506

7502:                                             ; preds = %7496
  %7503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7504 = call i32 @fileno(ptr noundef %7503) #12
  %7505 = call i32 @isatty(i32 noundef %7504) #12
  %.not1728 = icmp eq i32 %7505, 0
  br i1 %.not1728, label %7506, label %7507

7506:                                             ; preds = %7502, %7496
  br label %7507

7507:                                             ; preds = %7502, %7506
  %.str.81.sink4230 = phi ptr [ @.str.81, %7506 ], [ @.str.78, %7502 ]
  store i32 %7497, ptr %288, align 4, !tbaa !5
  %7508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7509 = load i32, ptr @test_count, align 4, !tbaa !5
  %7510 = load i32, ptr %234, align 4, !tbaa !5
  %7511 = call ptr @s2n_strerror(i32 noundef %7510, ptr noundef nonnull @.str.80) #12
  %7512 = load i32, ptr %234, align 4, !tbaa !5
  %7513 = call ptr @s2n_strerror_debug(i32 noundef %7512, ptr noundef nonnull @.str.80) #12
  %7514 = load i32, ptr %288, align 4, !tbaa !5
  %7515 = call ptr @strerror(i32 noundef %7514) #12
  %7516 = load i32, ptr %288, align 4, !tbaa !5
  %7517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7508, ptr noundef nonnull %.str.81.sink4230, i32 noundef %7509, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.77, i32 noundef 650, ptr noundef %7511, ptr noundef %7513, ptr noundef %7515, i32 noundef %7516) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7518:                                             ; preds = %7491
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %78) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %77) #12
  %7519 = load i32, ptr @test_count, align 4, !tbaa !5
  %7520 = add nsw i32 %7519, 1
  store i32 %7520, ptr @test_count, align 4, !tbaa !5
  %7521 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %7522 = icmp eq ptr %7521, null
  br i1 %7522, label %7528, label %.preheader1870

.preheader1870:                                   ; preds = %7518
  %7523 = getelementptr inbounds i8, ptr %7521, i64 1696
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %80) #12
  store ptr null, ptr %80, align 8, !tbaa !9
  %7524 = load i32, ptr @test_count, align 4, !tbaa !5
  %7525 = add nsw i32 %7524, 1
  store i32 %7525, ptr @test_count, align 4, !tbaa !5
  %7526 = call i32 @s2n_array_pushback(ptr noundef nonnull %7523, ptr noundef nonnull %80) #12
  %7527 = call zeroext i1 @s2n_result_is_ok(i32 %7526)
  br i1 %7527, label %7572, label %7550

7528:                                             ; preds = %7518
  %7529 = load i32, ptr %288, align 4, !tbaa !5
  %7530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7531 = call i32 @s2n_print_stacktrace(ptr noundef %7530) #12
  %7532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7533 = trunc nuw i8 %7532 to i1
  br i1 %7533, label %7534, label %7538

7534:                                             ; preds = %7528
  %7535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7536 = call i32 @fileno(ptr noundef %7535) #12
  %7537 = call i32 @isatty(i32 noundef %7536) #12
  %.not1727 = icmp eq i32 %7537, 0
  br i1 %.not1727, label %7538, label %7539

7538:                                             ; preds = %7534, %7528
  br label %7539

7539:                                             ; preds = %7534, %7538
  %.str.81.sink4239 = phi ptr [ @.str.81, %7538 ], [ @.str.78, %7534 ]
  store i32 %7529, ptr %288, align 4, !tbaa !5
  %7540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7541 = load i32, ptr @test_count, align 4, !tbaa !5
  %7542 = load i32, ptr %234, align 4, !tbaa !5
  %7543 = call ptr @s2n_strerror(i32 noundef %7542, ptr noundef nonnull @.str.80) #12
  %7544 = load i32, ptr %234, align 4, !tbaa !5
  %7545 = call ptr @s2n_strerror_debug(i32 noundef %7544, ptr noundef nonnull @.str.80) #12
  %7546 = load i32, ptr %288, align 4, !tbaa !5
  %7547 = call ptr @strerror(i32 noundef %7546) #12
  %7548 = load i32, ptr %288, align 4, !tbaa !5
  %7549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7540, ptr noundef nonnull %.str.81.sink4239, i32 noundef %7541, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 656, ptr noundef %7543, ptr noundef %7545, ptr noundef %7547, i32 noundef %7548) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7550:                                             ; preds = %7662, %.preheader1870
  %7551 = load i32, ptr %288, align 4, !tbaa !5
  %7552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7553 = call i32 @s2n_print_stacktrace(ptr noundef %7552) #12
  %7554 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7555 = trunc nuw i8 %7554 to i1
  br i1 %7555, label %7556, label %7560

7556:                                             ; preds = %7550
  %7557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7558 = call i32 @fileno(ptr noundef %7557) #12
  %7559 = call i32 @isatty(i32 noundef %7558) #12
  %.not1723 = icmp eq i32 %7559, 0
  br i1 %.not1723, label %7560, label %7561

7560:                                             ; preds = %7556, %7550
  br label %7561

7561:                                             ; preds = %7556, %7560
  %.str.81.sink4248 = phi ptr [ @.str.81, %7560 ], [ @.str.78, %7556 ]
  store i32 %7551, ptr %288, align 4, !tbaa !5
  %7562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7563 = load i32, ptr @test_count, align 4, !tbaa !5
  %7564 = load i32, ptr %234, align 4, !tbaa !5
  %7565 = call ptr @s2n_strerror(i32 noundef %7564, ptr noundef nonnull @.str.80) #12
  %7566 = load i32, ptr %234, align 4, !tbaa !5
  %7567 = call ptr @s2n_strerror_debug(i32 noundef %7566, ptr noundef nonnull @.str.80) #12
  %7568 = load i32, ptr %288, align 4, !tbaa !5
  %7569 = call ptr @strerror(i32 noundef %7568) #12
  %7570 = load i32, ptr %288, align 4, !tbaa !5
  %7571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7562, ptr noundef nonnull %.str.81.sink4248, i32 noundef %7563, ptr noundef nonnull @.str.245, ptr noundef nonnull @.str.77, i32 noundef 660, ptr noundef %7565, ptr noundef %7567, ptr noundef %7569, i32 noundef %7570) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7572:                                             ; preds = %.preheader1870
  %7573 = load i32, ptr @test_count, align 4, !tbaa !5
  %7574 = add nsw i32 %7573, 1
  store i32 %7574, ptr @test_count, align 4, !tbaa !5
  %7575 = load ptr, ptr %80, align 8, !tbaa !9
  %7576 = call i32 @s2n_psk_init(ptr noundef %7575, i32 noundef 0)
  %7577 = call zeroext i1 @s2n_result_is_ok(i32 %7576)
  br i1 %7577, label %7600, label %7578

7578:                                             ; preds = %7669, %7572
  %7579 = load i32, ptr %288, align 4, !tbaa !5
  %7580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7581 = call i32 @s2n_print_stacktrace(ptr noundef %7580) #12
  %7582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7583 = trunc nuw i8 %7582 to i1
  br i1 %7583, label %7584, label %7588

7584:                                             ; preds = %7578
  %7585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7586 = call i32 @fileno(ptr noundef %7585) #12
  %7587 = call i32 @isatty(i32 noundef %7586) #12
  %.not1724 = icmp eq i32 %7587, 0
  br i1 %.not1724, label %7588, label %7589

7588:                                             ; preds = %7584, %7578
  br label %7589

7589:                                             ; preds = %7584, %7588
  %.str.81.sink4257 = phi ptr [ @.str.81, %7588 ], [ @.str.78, %7584 ]
  store i32 %7579, ptr %288, align 4, !tbaa !5
  %7590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7591 = load i32, ptr @test_count, align 4, !tbaa !5
  %7592 = load i32, ptr %234, align 4, !tbaa !5
  %7593 = call ptr @s2n_strerror(i32 noundef %7592, ptr noundef nonnull @.str.80) #12
  %7594 = load i32, ptr %234, align 4, !tbaa !5
  %7595 = call ptr @s2n_strerror_debug(i32 noundef %7594, ptr noundef nonnull @.str.80) #12
  %7596 = load i32, ptr %288, align 4, !tbaa !5
  %7597 = call ptr @strerror(i32 noundef %7596) #12
  %7598 = load i32, ptr %288, align 4, !tbaa !5
  %7599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7590, ptr noundef nonnull %.str.81.sink4257, i32 noundef %7591, ptr noundef nonnull @.str.246, ptr noundef nonnull @.str.77, i32 noundef 661, ptr noundef %7593, ptr noundef %7595, ptr noundef %7597, i32 noundef %7598) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7600:                                             ; preds = %7572
  %7601 = load i32, ptr @test_count, align 4, !tbaa !5
  %7602 = add nsw i32 %7601, 1
  store i32 %7602, ptr @test_count, align 4, !tbaa !5
  %7603 = load ptr, ptr %80, align 8, !tbaa !9
  %7604 = load ptr, ptr %51, align 8, !tbaa !78
  %7605 = load i32, ptr %6502, align 8, !tbaa !77
  %7606 = trunc i32 %7605 to i16
  %7607 = call i32 @s2n_psk_set_identity(ptr noundef %7603, ptr noundef %7604, i16 noundef zeroext %7606)
  %7608 = icmp eq i32 %7607, -1
  br i1 %7608, label %7609, label %7631

7609:                                             ; preds = %7675, %7600
  %7610 = load i32, ptr %288, align 4, !tbaa !5
  %7611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7612 = call i32 @s2n_print_stacktrace(ptr noundef %7611) #12
  %7613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7614 = trunc nuw i8 %7613 to i1
  br i1 %7614, label %7615, label %7619

7615:                                             ; preds = %7609
  %7616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7617 = call i32 @fileno(ptr noundef %7616) #12
  %7618 = call i32 @isatty(i32 noundef %7617) #12
  %.not1726 = icmp eq i32 %7618, 0
  br i1 %.not1726, label %7619, label %7620

7619:                                             ; preds = %7615, %7609
  br label %7620

7620:                                             ; preds = %7615, %7619
  %.str.81.sink4266 = phi ptr [ @.str.81, %7619 ], [ @.str.78, %7615 ]
  store i32 %7610, ptr %288, align 4, !tbaa !5
  %7621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7622 = load i32, ptr @test_count, align 4, !tbaa !5
  %7623 = load i32, ptr %234, align 4, !tbaa !5
  %7624 = call ptr @s2n_strerror(i32 noundef %7623, ptr noundef nonnull @.str.80) #12
  %7625 = load i32, ptr %234, align 4, !tbaa !5
  %7626 = call ptr @s2n_strerror_debug(i32 noundef %7625, ptr noundef nonnull @.str.80) #12
  %7627 = load i32, ptr %288, align 4, !tbaa !5
  %7628 = call ptr @strerror(i32 noundef %7627) #12
  %7629 = load i32, ptr %288, align 4, !tbaa !5
  %7630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7621, ptr noundef nonnull %.str.81.sink4266, i32 noundef %7622, ptr noundef nonnull @.str.247, ptr noundef nonnull @.str.77, i32 noundef 662, ptr noundef %7624, ptr noundef %7626, ptr noundef %7628, i32 noundef %7629) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7631:                                             ; preds = %7600
  %7632 = load i32, ptr @test_count, align 4, !tbaa !5
  %7633 = add nsw i32 %7632, 1
  store i32 %7633, ptr @test_count, align 4, !tbaa !5
  %7634 = load ptr, ptr %80, align 8, !tbaa !9
  %7635 = load ptr, ptr %54, align 8, !tbaa !78
  %7636 = load i32, ptr %5376, align 8, !tbaa !77
  %7637 = trunc i32 %7636 to i16
  %7638 = call i32 @s2n_psk_set_secret(ptr noundef %7634, ptr noundef %7635, i16 noundef zeroext %7637)
  %7639 = icmp eq i32 %7638, -1
  br i1 %7639, label %7640, label %7662

7640:                                             ; preds = %7684, %7631
  %7641 = load i32, ptr %288, align 4, !tbaa !5
  %7642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7643 = call i32 @s2n_print_stacktrace(ptr noundef %7642) #12
  %7644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7645 = trunc nuw i8 %7644 to i1
  br i1 %7645, label %7646, label %7650

7646:                                             ; preds = %7640
  %7647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7648 = call i32 @fileno(ptr noundef %7647) #12
  %7649 = call i32 @isatty(i32 noundef %7648) #12
  %.not1725 = icmp eq i32 %7649, 0
  br i1 %.not1725, label %7650, label %7651

7650:                                             ; preds = %7646, %7640
  br label %7651

7651:                                             ; preds = %7646, %7650
  %.str.81.sink4275 = phi ptr [ @.str.81, %7650 ], [ @.str.78, %7646 ]
  store i32 %7641, ptr %288, align 4, !tbaa !5
  %7652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7653 = load i32, ptr @test_count, align 4, !tbaa !5
  %7654 = load i32, ptr %234, align 4, !tbaa !5
  %7655 = call ptr @s2n_strerror(i32 noundef %7654, ptr noundef nonnull @.str.80) #12
  %7656 = load i32, ptr %234, align 4, !tbaa !5
  %7657 = call ptr @s2n_strerror_debug(i32 noundef %7656, ptr noundef nonnull @.str.80) #12
  %7658 = load i32, ptr %288, align 4, !tbaa !5
  %7659 = call ptr @strerror(i32 noundef %7658) #12
  %7660 = load i32, ptr %288, align 4, !tbaa !5
  %7661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7652, ptr noundef nonnull %.str.81.sink4275, i32 noundef %7653, ptr noundef nonnull @.str.248, ptr noundef nonnull @.str.77, i32 noundef 663, ptr noundef %7655, ptr noundef %7657, ptr noundef %7659, i32 noundef %7660) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7662:                                             ; preds = %7631
  %7663 = load ptr, ptr %80, align 8, !tbaa !9
  %7664 = getelementptr inbounds i8, ptr %7663, i64 56
  store i32 4, ptr %7664, align 8, !tbaa !20
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %80) #12
  store ptr null, ptr %80, align 8, !tbaa !9
  %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 = call i32 @s2n_array_pushback(ptr noundef nonnull %7523, ptr noundef nonnull %80) #12
  %7668 = call zeroext i1 @s2n_result_is_ok(i32 %7667)
  br i1 %7668, label %7669, label %7550

7669:                                             ; preds = %7662
  %7670 = load i32, ptr @test_count, align 4, !tbaa !5
  %7671 = add nsw i32 %7670, 1
  store i32 %7671, ptr @test_count, align 4, !tbaa !5
  %7672 = load ptr, ptr %80, align 8, !tbaa !9
  %7673 = call i32 @s2n_psk_init(ptr noundef %7672, i32 noundef 0)
  %7674 = call zeroext i1 @s2n_result_is_ok(i32 %7673)
  br i1 %7674, label %7675, label %7578

7675:                                             ; preds = %7669
  %7676 = load i32, ptr @test_count, align 4, !tbaa !5
  %7677 = add nsw i32 %7676, 1
  store i32 %7677, ptr @test_count, align 4, !tbaa !5
  %7678 = load ptr, ptr %80, align 8, !tbaa !9
  %7679 = load ptr, ptr %51, align 8, !tbaa !78
  %7680 = load i32, ptr %6502, align 8, !tbaa !77
  %7681 = trunc i32 %7680 to i16
  %7682 = call i32 @s2n_psk_set_identity(ptr noundef %7678, ptr noundef %7679, i16 noundef zeroext %7681)
  %7683 = icmp eq i32 %7682, -1
  br i1 %7683, label %7609, label %7684

7684:                                             ; preds = %7675
  %7685 = load i32, ptr @test_count, align 4, !tbaa !5
  %7686 = add nsw i32 %7685, 1
  store i32 %7686, ptr @test_count, align 4, !tbaa !5
  %7687 = load ptr, ptr %80, align 8, !tbaa !9
  %7688 = load ptr, ptr %54, align 8, !tbaa !78
  %7689 = load i32, ptr %5376, align 8, !tbaa !77
  %7690 = trunc i32 %7689 to i16
  %7691 = call i32 @s2n_psk_set_secret(ptr noundef %7687, ptr noundef %7688, i16 noundef zeroext %7690)
  %7692 = icmp eq i32 %7691, -1
  br i1 %7692, label %7640, label %7693

7693:                                             ; preds = %7684
  %7694 = load ptr, ptr %80, align 8, !tbaa !9
  %7695 = getelementptr inbounds i8, ptr %7694, i64 56
  store i32 5, ptr %7695, align 8, !tbaa !20
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %80) #12
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %81) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %81, i8 0, i64 40, i1 false)
  %7696 = load i32, ptr @test_count, align 4, !tbaa !5
  %7697 = add nsw i32 %7696, 1
  store i32 %7697, ptr @test_count, align 4, !tbaa !5
  %7698 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %81, i32 noundef 0) #12
  %7699 = icmp eq i32 %7698, -1
  br i1 %7699, label %7700, label %7722

7700:                                             ; preds = %7693
  %7701 = load i32, ptr %288, align 4, !tbaa !5
  %7702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7703 = call i32 @s2n_print_stacktrace(ptr noundef %7702) #12
  %7704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7705 = trunc nuw i8 %7704 to i1
  br i1 %7705, label %7706, label %7710

7706:                                             ; preds = %7700
  %7707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7708 = call i32 @fileno(ptr noundef %7707) #12
  %7709 = call i32 @isatty(i32 noundef %7708) #12
  %.not1722 = icmp eq i32 %7709, 0
  br i1 %.not1722, label %7710, label %7711

7710:                                             ; preds = %7706, %7700
  br label %7711

7711:                                             ; preds = %7706, %7710
  %.str.81.sink4284 = phi ptr [ @.str.81, %7710 ], [ @.str.78, %7706 ]
  store i32 %7701, ptr %288, align 4, !tbaa !5
  %7712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7713 = load i32, ptr @test_count, align 4, !tbaa !5
  %7714 = load i32, ptr %234, align 4, !tbaa !5
  %7715 = call ptr @s2n_strerror(i32 noundef %7714, ptr noundef nonnull @.str.80) #12
  %7716 = load i32, ptr %234, align 4, !tbaa !5
  %7717 = call ptr @s2n_strerror_debug(i32 noundef %7716, ptr noundef nonnull @.str.80) #12
  %7718 = load i32, ptr %288, align 4, !tbaa !5
  %7719 = call ptr @strerror(i32 noundef %7718) #12
  %7720 = load i32, ptr %288, align 4, !tbaa !5
  %7721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7712, ptr noundef nonnull %.str.81.sink4284, i32 noundef %7713, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.77, i32 noundef 668, ptr noundef %7715, ptr noundef %7717, ptr noundef %7719, i32 noundef %7720) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7722:                                             ; preds = %7693
  %7723 = load i32, ptr @test_count, align 4, !tbaa !5
  %7724 = add nsw i32 %7723, 1
  store i32 %7724, ptr @test_count, align 4, !tbaa !5
  %7725 = call i32 @s2n_psk_write_binder_list(ptr noundef nonnull %7521, ptr noundef nonnull %52, ptr noundef nonnull %81)
  %7726 = call zeroext i1 @s2n_result_is_ok(i32 %7725)
  br i1 %7726, label %7749, label %7727

7727:                                             ; preds = %7722
  %7728 = load i32, ptr %288, align 4, !tbaa !5
  %7729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7730 = call i32 @s2n_print_stacktrace(ptr noundef %7729) #12
  %7731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7732 = trunc nuw i8 %7731 to i1
  br i1 %7732, label %7733, label %7737

7733:                                             ; preds = %7727
  %7734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7735 = call i32 @fileno(ptr noundef %7734) #12
  %7736 = call i32 @isatty(i32 noundef %7735) #12
  %.not1481 = icmp eq i32 %7736, 0
  br i1 %.not1481, label %7737, label %7738

7737:                                             ; preds = %7733, %7727
  br label %7738

7738:                                             ; preds = %7733, %7737
  %.str.81.sink4293 = phi ptr [ @.str.81, %7737 ], [ @.str.78, %7733 ]
  store i32 %7728, ptr %288, align 4, !tbaa !5
  %7739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7740 = load i32, ptr @test_count, align 4, !tbaa !5
  %7741 = load i32, ptr %234, align 4, !tbaa !5
  %7742 = call ptr @s2n_strerror(i32 noundef %7741, ptr noundef nonnull @.str.80) #12
  %7743 = load i32, ptr %234, align 4, !tbaa !5
  %7744 = call ptr @s2n_strerror_debug(i32 noundef %7743, ptr noundef nonnull @.str.80) #12
  %7745 = load i32, ptr %288, align 4, !tbaa !5
  %7746 = call ptr @strerror(i32 noundef %7745) #12
  %7747 = load i32, ptr %288, align 4, !tbaa !5
  %7748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7739, ptr noundef nonnull %.str.81.sink4293, i32 noundef %7740, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.77, i32 noundef 670, ptr noundef %7742, ptr noundef %7744, ptr noundef %7746, i32 noundef %7747) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7749:                                             ; preds = %7722
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %82) #12
  store i16 0, ptr %82, align 2, !tbaa !65
  %7750 = load i32, ptr @test_count, align 4, !tbaa !5
  %7751 = add nsw i32 %7750, 1
  store i32 %7751, ptr @test_count, align 4, !tbaa !5
  %7752 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %81, ptr noundef nonnull %82) #12
  %7753 = icmp eq i32 %7752, -1
  br i1 %7753, label %7754, label %7776

7754:                                             ; preds = %7749
  %7755 = load i32, ptr %288, align 4, !tbaa !5
  %7756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7757 = call i32 @s2n_print_stacktrace(ptr noundef %7756) #12
  %7758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7759 = trunc nuw i8 %7758 to i1
  br i1 %7759, label %7760, label %7764

7760:                                             ; preds = %7754
  %7761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7762 = call i32 @fileno(ptr noundef %7761) #12
  %7763 = call i32 @isatty(i32 noundef %7762) #12
  %.not1721 = icmp eq i32 %7763, 0
  br i1 %.not1721, label %7764, label %7765

7764:                                             ; preds = %7760, %7754
  br label %7765

7765:                                             ; preds = %7760, %7764
  %.str.81.sink4302 = phi ptr [ @.str.81, %7764 ], [ @.str.78, %7760 ]
  store i32 %7755, ptr %288, align 4, !tbaa !5
  %7766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7767 = load i32, ptr @test_count, align 4, !tbaa !5
  %7768 = load i32, ptr %234, align 4, !tbaa !5
  %7769 = call ptr @s2n_strerror(i32 noundef %7768, ptr noundef nonnull @.str.80) #12
  %7770 = load i32, ptr %234, align 4, !tbaa !5
  %7771 = call ptr @s2n_strerror_debug(i32 noundef %7770, ptr noundef nonnull @.str.80) #12
  %7772 = load i32, ptr %288, align 4, !tbaa !5
  %7773 = call ptr @strerror(i32 noundef %7772) #12
  %7774 = load i32, ptr %288, align 4, !tbaa !5
  %7775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7766, ptr noundef nonnull %.str.81.sink4302, i32 noundef %7767, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.77, i32 noundef 673, ptr noundef %7769, ptr noundef %7771, ptr noundef %7773, i32 noundef %7774) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7776:                                             ; preds = %7749
  %7777 = load i32, ptr @test_count, align 4, !tbaa !5
  %7778 = add nsw i32 %7777, 1
  store i32 %7778, ptr @test_count, align 4, !tbaa !5
  %7779 = load i16, ptr %82, align 2, !tbaa !65
  %7780 = zext i16 %7779 to i32
  %7781 = getelementptr inbounds i8, ptr %81, i64 28
  %7782 = load i32, ptr %7781, align 4, !tbaa !66
  %7783 = getelementptr inbounds i8, ptr %81, i64 24
  %7784 = load i32, ptr %7783, align 8, !tbaa !67
  %7785 = sub i32 %7782, %7784
  %7786 = icmp eq i32 %7785, %7780
  br i1 %7786, label %.preheader1869.preheader, label %7789

.preheader1869.preheader:                         ; preds = %7776
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %83) #12
  store i8 0, ptr %83, align 1, !tbaa !26
  %7787 = call i32 @s2n_hmac_digest_size(i32 noundef 4, ptr noundef nonnull %83) #12
  %7788 = icmp sgt i32 %7787, -1
  br i1 %7788, label %7811, label %8019

7789:                                             ; preds = %7776
  %7790 = load i32, ptr %288, align 4, !tbaa !5
  %7791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7792 = call i32 @s2n_print_stacktrace(ptr noundef %7791) #12
  %7793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7794 = trunc nuw i8 %7793 to i1
  br i1 %7794, label %7795, label %7799

7795:                                             ; preds = %7789
  %7796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7797 = call i32 @fileno(ptr noundef %7796) #12
  %7798 = call i32 @isatty(i32 noundef %7797) #12
  %.not1482 = icmp eq i32 %7798, 0
  br i1 %.not1482, label %7799, label %7800

7799:                                             ; preds = %7795, %7789
  br label %7800

7800:                                             ; preds = %7795, %7799
  %.str.81.sink4311 = phi ptr [ @.str.81, %7799 ], [ @.str.78, %7795 ]
  store i32 %7790, ptr %288, align 4, !tbaa !5
  %7801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7802 = load i32, ptr @test_count, align 4, !tbaa !5
  %7803 = load i32, ptr %234, align 4, !tbaa !5
  %7804 = call ptr @s2n_strerror(i32 noundef %7803, ptr noundef nonnull @.str.80) #12
  %7805 = load i32, ptr %234, align 4, !tbaa !5
  %7806 = call ptr @s2n_strerror_debug(i32 noundef %7805, ptr noundef nonnull @.str.80) #12
  %7807 = load i32, ptr %288, align 4, !tbaa !5
  %7808 = call ptr @strerror(i32 noundef %7807) #12
  %7809 = load i32, ptr %288, align 4, !tbaa !5
  %7810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7801, ptr noundef nonnull %.str.81.sink4311, i32 noundef %7802, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.77, i32 noundef 674, ptr noundef %7804, ptr noundef %7806, ptr noundef %7808, i32 noundef %7809) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7811:                                             ; preds = %.preheader1869.preheader
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %84) #12
  store i8 0, ptr %84, align 1, !tbaa !26
  %7812 = load i32, ptr @test_count, align 4, !tbaa !5
  %7813 = add nsw i32 %7812, 1
  store i32 %7813, ptr @test_count, align 4, !tbaa !5
  %7814 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %81, ptr noundef nonnull %84) #12
  %7815 = icmp eq i32 %7814, -1
  br i1 %7815, label %7816, label %7838

7816:                                             ; preds = %7924, %7811
  %7817 = load i32, ptr %288, align 4, !tbaa !5
  %7818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7819 = call i32 @s2n_print_stacktrace(ptr noundef %7818) #12
  %7820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7821 = trunc nuw i8 %7820 to i1
  br i1 %7821, label %7822, label %7826

7822:                                             ; preds = %7816
  %7823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7824 = call i32 @fileno(ptr noundef %7823) #12
  %7825 = call i32 @isatty(i32 noundef %7824) #12
  %.not1720 = icmp eq i32 %7825, 0
  br i1 %.not1720, label %7826, label %7827

7826:                                             ; preds = %7822, %7816
  br label %7827

7827:                                             ; preds = %7822, %7826
  %.str.81.sink4320 = phi ptr [ @.str.81, %7826 ], [ @.str.78, %7822 ]
  store i32 %7817, ptr %288, align 4, !tbaa !5
  %7828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7829 = load i32, ptr @test_count, align 4, !tbaa !5
  %7830 = load i32, ptr %234, align 4, !tbaa !5
  %7831 = call ptr @s2n_strerror(i32 noundef %7830, ptr noundef nonnull @.str.80) #12
  %7832 = load i32, ptr %234, align 4, !tbaa !5
  %7833 = call ptr @s2n_strerror_debug(i32 noundef %7832, ptr noundef nonnull @.str.80) #12
  %7834 = load i32, ptr %288, align 4, !tbaa !5
  %7835 = call ptr @strerror(i32 noundef %7834) #12
  %7836 = load i32, ptr %288, align 4, !tbaa !5
  %7837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7828, ptr noundef nonnull %.str.81.sink4320, i32 noundef %7829, ptr noundef nonnull @.str.208, ptr noundef nonnull @.str.77, i32 noundef 681, ptr noundef %7831, ptr noundef %7833, ptr noundef %7835, i32 noundef %7836) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7838:                                             ; preds = %7811
  %7839 = load i32, ptr @test_count, align 4, !tbaa !5
  %7840 = add nsw i32 %7839, 1
  store i32 %7840, ptr @test_count, align 4, !tbaa !5
  %7841 = load i8, ptr %84, align 1, !tbaa !26
  %7842 = load i8, ptr %83, align 1, !tbaa !26
  %7843 = icmp eq i8 %7841, %7842
  br i1 %7843, label %7866, label %7844

7844:                                             ; preds = %7929, %7838
  %7845 = load i32, ptr %288, align 4, !tbaa !5
  %7846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7847 = call i32 @s2n_print_stacktrace(ptr noundef %7846) #12
  %7848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7849 = trunc nuw i8 %7848 to i1
  br i1 %7849, label %7850, label %7854

7850:                                             ; preds = %7844
  %7851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7852 = call i32 @fileno(ptr noundef %7851) #12
  %7853 = call i32 @isatty(i32 noundef %7852) #12
  %.not1483 = icmp eq i32 %7853, 0
  br i1 %.not1483, label %7854, label %7855

7854:                                             ; preds = %7850, %7844
  br label %7855

7855:                                             ; preds = %7850, %7854
  %.str.81.sink4329 = phi ptr [ @.str.81, %7854 ], [ @.str.78, %7850 ]
  store i32 %7845, ptr %288, align 4, !tbaa !5
  %7856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7857 = load i32, ptr @test_count, align 4, !tbaa !5
  %7858 = load i32, ptr %234, align 4, !tbaa !5
  %7859 = call ptr @s2n_strerror(i32 noundef %7858, ptr noundef nonnull @.str.80) #12
  %7860 = load i32, ptr %234, align 4, !tbaa !5
  %7861 = call ptr @s2n_strerror_debug(i32 noundef %7860, ptr noundef nonnull @.str.80) #12
  %7862 = load i32, ptr %288, align 4, !tbaa !5
  %7863 = call ptr @strerror(i32 noundef %7862) #12
  %7864 = load i32, ptr %288, align 4, !tbaa !5
  %7865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7856, ptr noundef nonnull %.str.81.sink4329, i32 noundef %7857, ptr noundef nonnull @.str.249, ptr noundef nonnull @.str.77, i32 noundef 682, ptr noundef %7859, ptr noundef %7861, ptr noundef %7863, i32 noundef %7864) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7866:                                             ; preds = %7838
  %7867 = add nsw i32 %7839, 2
  store i32 %7867, ptr @test_count, align 4, !tbaa !5
  %7868 = zext i8 %7841 to i32
  %7869 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %81, i32 noundef %7868) #12
  %7870 = icmp eq ptr %7869, null
  br i1 %7870, label %7871, label %7893

7871:                                             ; preds = %7935, %7866
  %7872 = load i32, ptr %288, align 4, !tbaa !5
  %7873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7874 = call i32 @s2n_print_stacktrace(ptr noundef %7873) #12
  %7875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7876 = trunc nuw i8 %7875 to i1
  br i1 %7876, label %7877, label %7881

7877:                                             ; preds = %7871
  %7878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7879 = call i32 @fileno(ptr noundef %7878) #12
  %7880 = call i32 @isatty(i32 noundef %7879) #12
  %.not1719 = icmp eq i32 %7880, 0
  br i1 %.not1719, label %7881, label %7882

7881:                                             ; preds = %7877, %7871
  br label %7882

7882:                                             ; preds = %7877, %7881
  %.str.81.sink4338 = phi ptr [ @.str.81, %7881 ], [ @.str.78, %7877 ]
  store i32 %7872, ptr %288, align 4, !tbaa !5
  %7883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7884 = load i32, ptr @test_count, align 4, !tbaa !5
  %7885 = load i32, ptr %234, align 4, !tbaa !5
  %7886 = call ptr @s2n_strerror(i32 noundef %7885, ptr noundef nonnull @.str.80) #12
  %7887 = load i32, ptr %234, align 4, !tbaa !5
  %7888 = call ptr @s2n_strerror_debug(i32 noundef %7887, ptr noundef nonnull @.str.80) #12
  %7889 = load i32, ptr %288, align 4, !tbaa !5
  %7890 = call ptr @strerror(i32 noundef %7889) #12
  %7891 = load i32, ptr %288, align 4, !tbaa !5
  %7892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7883, ptr noundef nonnull %.str.81.sink4338, i32 noundef %7884, ptr noundef nonnull @.str.243, ptr noundef nonnull @.str.77, i32 noundef 685, ptr noundef %7886, ptr noundef %7888, ptr noundef %7890, i32 noundef %7891) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7893:                                             ; preds = %7866
  %7894 = load i8, ptr %84, align 1
  %.not1899 = icmp eq i8 %7894, 0
  br i1 %.not1899, label %.preheader1869.1, label %7895

7895:                                             ; preds = %7893
  %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 %57, align 8, !tbaa !78
  %7899 = zext i8 %7894 to i64
  %bcmp1484 = call i32 @bcmp(ptr nonnull %7869, ptr %7898, i64 %7899)
  %7900 = icmp eq i32 %bcmp1484, 0
  br i1 %7900, label %.preheader1869.1, label %7901

7901:                                             ; preds = %7895
  %.pre1895 = load i32, ptr %288, align 4, !tbaa !5
  %7902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7903 = call i32 @s2n_print_stacktrace(ptr noundef %7902) #12
  %7904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7905 = trunc nuw i8 %7904 to i1
  br i1 %7905, label %7906, label %7910

7906:                                             ; preds = %7901
  %7907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7908 = call i32 @fileno(ptr noundef %7907) #12
  %7909 = call i32 @isatty(i32 noundef %7908) #12
  %.not1485 = icmp eq i32 %7909, 0
  br i1 %.not1485, label %7910, label %7911

7910:                                             ; preds = %7906, %7901
  br label %7911

7911:                                             ; preds = %7906, %7910
  %.str.81.sink4347 = phi ptr [ @.str.81, %7910 ], [ @.str.78, %7906 ]
  store i32 %.pre1895, ptr %288, align 4, !tbaa !5
  %7912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7913 = load i32, ptr @test_count, align 4, !tbaa !5
  %7914 = load i32, ptr %234, align 4, !tbaa !5
  %7915 = call ptr @s2n_strerror(i32 noundef %7914, ptr noundef nonnull @.str.80) #12
  %7916 = load i32, ptr %234, align 4, !tbaa !5
  %7917 = call ptr @s2n_strerror_debug(i32 noundef %7916, ptr noundef nonnull @.str.80) #12
  %7918 = load i32, ptr %288, align 4, !tbaa !5
  %7919 = call ptr @strerror(i32 noundef %7918) #12
  %7920 = load i32, ptr %288, align 4, !tbaa !5
  %7921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7912, ptr noundef nonnull %.str.81.sink4347, i32 noundef %7913, ptr noundef nonnull @.str.244, ptr noundef nonnull @.str.77, i32 noundef 689, ptr noundef %7915, ptr noundef %7917, ptr noundef %7919, i32 noundef %7920) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1869.1:                                 ; preds = %7893, %7895
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %83) #12
  store i8 0, ptr %83, align 1, !tbaa !26
  %7922 = call i32 @s2n_hmac_digest_size(i32 noundef 5, ptr noundef nonnull %83) #12
  %7923 = icmp sgt i32 %7922, -1
  br i1 %7923, label %7924, label %8019

7924:                                             ; preds = %.preheader1869.1
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %84) #12
  store i8 0, ptr %84, align 1, !tbaa !26
  %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 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %81, ptr noundef nonnull %84) #12
  %7928 = icmp eq i32 %7927, -1
  br i1 %7928, label %7816, label %7929

7929:                                             ; preds = %7924
  %7930 = load i32, ptr @test_count, align 4, !tbaa !5
  %7931 = add nsw i32 %7930, 1
  store i32 %7931, ptr @test_count, align 4, !tbaa !5
  %7932 = load i8, ptr %84, align 1, !tbaa !26
  %7933 = load i8, ptr %83, align 1, !tbaa !26
  %7934 = icmp eq i8 %7932, %7933
  br i1 %7934, label %7935, label %7844

7935:                                             ; preds = %7929
  %7936 = add nsw i32 %7930, 2
  store i32 %7936, ptr @test_count, align 4, !tbaa !5
  %7937 = zext i8 %7932 to i32
  %7938 = call ptr @s2n_stuffer_raw_read(ptr noundef nonnull %81, i32 noundef %7937) #12
  %7939 = icmp eq ptr %7938, null
  br i1 %7939, label %7871, label %7940

7940:                                             ; preds = %7935
  %.pre1896 = load i32, ptr @test_count, align 4, !tbaa !5
  %.pre1898 = add nsw i32 %.pre1896, 1
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %84) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #12
  store i32 %.pre1898, ptr @test_count, align 4, !tbaa !5
  %7941 = load i32, ptr %7781, align 4, !tbaa !66
  %7942 = load i32, ptr %7783, align 8, !tbaa !67
  %7943 = icmp eq i32 %7941, %7942
  br i1 %7943, label %7966, label %7944

7944:                                             ; preds = %7940
  %7945 = load i32, ptr %288, align 4, !tbaa !5
  %7946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7947 = call i32 @s2n_print_stacktrace(ptr noundef %7946) #12
  %7948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7949 = trunc nuw i8 %7948 to i1
  br i1 %7949, label %7950, label %7954

7950:                                             ; preds = %7944
  %7951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7952 = call i32 @fileno(ptr noundef %7951) #12
  %7953 = call i32 @isatty(i32 noundef %7952) #12
  %.not1486 = icmp eq i32 %7953, 0
  br i1 %.not1486, label %7954, label %7955

7954:                                             ; preds = %7950, %7944
  br label %7955

7955:                                             ; preds = %7950, %7954
  %.str.81.sink4356 = phi ptr [ @.str.81, %7954 ], [ @.str.78, %7950 ]
  store i32 %7945, ptr %288, align 4, !tbaa !5
  %7956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7957 = load i32, ptr @test_count, align 4, !tbaa !5
  %7958 = load i32, ptr %234, align 4, !tbaa !5
  %7959 = call ptr @s2n_strerror(i32 noundef %7958, ptr noundef nonnull @.str.80) #12
  %7960 = load i32, ptr %234, align 4, !tbaa !5
  %7961 = call ptr @s2n_strerror_debug(i32 noundef %7960, ptr noundef nonnull @.str.80) #12
  %7962 = load i32, ptr %288, align 4, !tbaa !5
  %7963 = call ptr @strerror(i32 noundef %7962) #12
  %7964 = load i32, ptr %288, align 4, !tbaa !5
  %7965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7956, ptr noundef nonnull %.str.81.sink4356, i32 noundef %7957, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.77, i32 noundef 693, ptr noundef %7959, ptr noundef %7961, ptr noundef %7963, i32 noundef %7964) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7966:                                             ; preds = %7940
  %7967 = add nsw i32 %.pre1896, 2
  store i32 %7967, ptr @test_count, align 4, !tbaa !5
  %7968 = call i32 @s2n_connection_free(ptr noundef nonnull %7521) #12
  %7969 = icmp eq i32 %7968, -1
  br i1 %7969, label %7970, label %7992

7970:                                             ; preds = %7966
  %7971 = load i32, ptr %288, align 4, !tbaa !5
  %7972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7973 = call i32 @s2n_print_stacktrace(ptr noundef %7972) #12
  %7974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7975 = trunc nuw i8 %7974 to i1
  br i1 %7975, label %7976, label %7980

7976:                                             ; preds = %7970
  %7977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7978 = call i32 @fileno(ptr noundef %7977) #12
  %7979 = call i32 @isatty(i32 noundef %7978) #12
  %.not1718 = icmp eq i32 %7979, 0
  br i1 %.not1718, label %7980, label %7981

7980:                                             ; preds = %7976, %7970
  br label %7981

7981:                                             ; preds = %7976, %7980
  %.str.81.sink4365 = phi ptr [ @.str.81, %7980 ], [ @.str.78, %7976 ]
  store i32 %7971, ptr %288, align 4, !tbaa !5
  %7982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7983 = load i32, ptr @test_count, align 4, !tbaa !5
  %7984 = load i32, ptr %234, align 4, !tbaa !5
  %7985 = call ptr @s2n_strerror(i32 noundef %7984, ptr noundef nonnull @.str.80) #12
  %7986 = load i32, ptr %234, align 4, !tbaa !5
  %7987 = call ptr @s2n_strerror_debug(i32 noundef %7986, ptr noundef nonnull @.str.80) #12
  %7988 = load i32, ptr %288, align 4, !tbaa !5
  %7989 = call ptr @strerror(i32 noundef %7988) #12
  %7990 = load i32, ptr %288, align 4, !tbaa !5
  %7991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7982, ptr noundef nonnull %.str.81.sink4365, i32 noundef %7983, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 695, ptr noundef %7985, ptr noundef %7987, ptr noundef %7989, i32 noundef %7990) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7992:                                             ; preds = %7966
  %7993 = load i32, ptr @test_count, align 4, !tbaa !5
  %7994 = add nsw i32 %7993, 1
  store i32 %7994, ptr @test_count, align 4, !tbaa !5
  %7995 = call i32 @s2n_stuffer_free(ptr noundef nonnull %81) #12
  %7996 = icmp eq i32 %7995, -1
  br i1 %7996, label %7997, label %8020

7997:                                             ; preds = %7992
  %7998 = load i32, ptr %288, align 4, !tbaa !5
  %7999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8000 = call i32 @s2n_print_stacktrace(ptr noundef %7999) #12
  %8001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8002 = trunc nuw i8 %8001 to i1
  br i1 %8002, label %8003, label %8007

8003:                                             ; preds = %7997
  %8004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8005 = call i32 @fileno(ptr noundef %8004) #12
  %8006 = call i32 @isatty(i32 noundef %8005) #12
  %.not1717 = icmp eq i32 %8006, 0
  br i1 %.not1717, label %8007, label %8008

8007:                                             ; preds = %8003, %7997
  br label %8008

8008:                                             ; preds = %8003, %8007
  %.str.81.sink4374 = phi ptr [ @.str.81, %8007 ], [ @.str.78, %8003 ]
  store i32 %7998, ptr %288, align 4, !tbaa !5
  %8009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8010 = load i32, ptr @test_count, align 4, !tbaa !5
  %8011 = load i32, ptr %234, align 4, !tbaa !5
  %8012 = call ptr @s2n_strerror(i32 noundef %8011, ptr noundef nonnull @.str.80) #12
  %8013 = load i32, ptr %234, align 4, !tbaa !5
  %8014 = call ptr @s2n_strerror_debug(i32 noundef %8013, ptr noundef nonnull @.str.80) #12
  %8015 = load i32, ptr %288, align 4, !tbaa !5
  %8016 = call ptr @strerror(i32 noundef %8015) #12
  %8017 = load i32, ptr %288, align 4, !tbaa !5
  %8018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8009, ptr noundef nonnull %.str.81.sink4374, i32 noundef %8010, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.77, i32 noundef 696, ptr noundef %8012, ptr noundef %8014, ptr noundef %8016, i32 noundef %8017) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8019:                                             ; preds = %.preheader1869.1, %.preheader1869.preheader
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %83) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %82) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %81) #12
  br label %8344

8020:                                             ; preds = %7992
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %82) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %81) #12
  %8021 = load i32, ptr @test_count, align 4, !tbaa !5
  %8022 = add nsw i32 %8021, 1
  store i32 %8022, ptr @test_count, align 4, !tbaa !5
  %8023 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %8024 = icmp eq ptr %8023, null
  br i1 %8024, label %8025, label %8047

8025:                                             ; preds = %8020
  %8026 = load i32, ptr %288, align 4, !tbaa !5
  %8027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8028 = call i32 @s2n_print_stacktrace(ptr noundef %8027) #12
  %8029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8030 = trunc nuw i8 %8029 to i1
  br i1 %8030, label %8031, label %8035

8031:                                             ; preds = %8025
  %8032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8033 = call i32 @fileno(ptr noundef %8032) #12
  %8034 = call i32 @isatty(i32 noundef %8033) #12
  %.not1716 = icmp eq i32 %8034, 0
  br i1 %.not1716, label %8035, label %8036

8035:                                             ; preds = %8031, %8025
  br label %8036

8036:                                             ; preds = %8031, %8035
  %.str.81.sink4383 = phi ptr [ @.str.81, %8035 ], [ @.str.78, %8031 ]
  store i32 %8026, ptr %288, align 4, !tbaa !5
  %8037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8038 = load i32, ptr @test_count, align 4, !tbaa !5
  %8039 = load i32, ptr %234, align 4, !tbaa !5
  %8040 = call ptr @s2n_strerror(i32 noundef %8039, ptr noundef nonnull @.str.80) #12
  %8041 = load i32, ptr %234, align 4, !tbaa !5
  %8042 = call ptr @s2n_strerror_debug(i32 noundef %8041, ptr noundef nonnull @.str.80) #12
  %8043 = load i32, ptr %288, align 4, !tbaa !5
  %8044 = call ptr @strerror(i32 noundef %8043) #12
  %8045 = load i32, ptr %288, align 4, !tbaa !5
  %8046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8037, ptr noundef nonnull %.str.81.sink4383, i32 noundef %8038, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 702, ptr noundef %8040, ptr noundef %8042, ptr noundef %8044, i32 noundef %8045) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8047:                                             ; preds = %8020
  %8048 = load i32, ptr @test_count, align 4, !tbaa !5
  %8049 = add nsw i32 %8048, 1
  store i32 %8049, ptr @test_count, align 4, !tbaa !5
  %8050 = getelementptr inbounds i8, ptr %8023, i64 2016
  %8051 = call i32 @s2n_stuffer_write(ptr noundef nonnull %8050, ptr noundef nonnull %52) #12
  %8052 = icmp eq i32 %8051, -1
  br i1 %8052, label %8053, label %8075

8053:                                             ; preds = %8047
  %8054 = load i32, ptr %288, align 4, !tbaa !5
  %8055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8056 = call i32 @s2n_print_stacktrace(ptr noundef %8055) #12
  %8057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8058 = trunc nuw i8 %8057 to i1
  br i1 %8058, label %8059, label %8063

8059:                                             ; preds = %8053
  %8060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8061 = call i32 @fileno(ptr noundef %8060) #12
  %8062 = call i32 @isatty(i32 noundef %8061) #12
  %.not1715 = icmp eq i32 %8062, 0
  br i1 %.not1715, label %8063, label %8064

8063:                                             ; preds = %8059, %8053
  br label %8064

8064:                                             ; preds = %8059, %8063
  %.str.81.sink4392 = phi ptr [ @.str.81, %8063 ], [ @.str.78, %8059 ]
  store i32 %8054, ptr %288, align 4, !tbaa !5
  %8065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8066 = load i32, ptr @test_count, align 4, !tbaa !5
  %8067 = load i32, ptr %234, align 4, !tbaa !5
  %8068 = call ptr @s2n_strerror(i32 noundef %8067, ptr noundef nonnull @.str.80) #12
  %8069 = load i32, ptr %234, align 4, !tbaa !5
  %8070 = call ptr @s2n_strerror_debug(i32 noundef %8069, ptr noundef nonnull @.str.80) #12
  %8071 = load i32, ptr %288, align 4, !tbaa !5
  %8072 = call ptr @strerror(i32 noundef %8071) #12
  %8073 = load i32, ptr %288, align 4, !tbaa !5
  %8074 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8065, ptr noundef nonnull %.str.81.sink4392, i32 noundef %8066, ptr noundef nonnull @.str.250, ptr noundef nonnull @.str.77, i32 noundef 704, ptr noundef %8068, ptr noundef %8070, ptr noundef %8072, i32 noundef %8073) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8075:                                             ; preds = %8047
  %8076 = getelementptr inbounds i8, ptr %53, i64 8
  %8077 = load i32, ptr %8076, align 8, !tbaa !77
  %8078 = getelementptr inbounds i8, ptr %52, i64 8
  %8079 = load i32, ptr %8078, align 8, !tbaa !77
  %8080 = sub i32 %8077, %8079
  %8081 = trunc i32 %8080 to i16
  %8082 = getelementptr inbounds i8, ptr %8023, i64 1728
  store i16 %8081, ptr %8082, align 8, !tbaa !41
  %8083 = load i32, ptr @test_count, align 4, !tbaa !5
  %8084 = add nsw i32 %8083, 1
  store i32 %8084, ptr @test_count, align 4, !tbaa !5
  %8085 = and i32 %8080, 65535
  %8086 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %8050, i32 noundef %8085) #12
  %8087 = icmp eq i32 %8086, -1
  br i1 %8087, label %8088, label %8110

8088:                                             ; preds = %8075
  %8089 = load i32, ptr %288, align 4, !tbaa !5
  %8090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8091 = call i32 @s2n_print_stacktrace(ptr noundef %8090) #12
  %8092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8093 = trunc nuw i8 %8092 to i1
  br i1 %8093, label %8094, label %8098

8094:                                             ; preds = %8088
  %8095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8096 = call i32 @fileno(ptr noundef %8095) #12
  %8097 = call i32 @isatty(i32 noundef %8096) #12
  %.not1714 = icmp eq i32 %8097, 0
  br i1 %.not1714, label %8098, label %8099

8098:                                             ; preds = %8094, %8088
  br label %8099

8099:                                             ; preds = %8094, %8098
  %.str.81.sink4401 = phi ptr [ @.str.81, %8098 ], [ @.str.78, %8094 ]
  store i32 %8089, ptr %288, align 4, !tbaa !5
  %8100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8101 = load i32, ptr @test_count, align 4, !tbaa !5
  %8102 = load i32, ptr %234, align 4, !tbaa !5
  %8103 = call ptr @s2n_strerror(i32 noundef %8102, ptr noundef nonnull @.str.80) #12
  %8104 = load i32, ptr %234, align 4, !tbaa !5
  %8105 = call ptr @s2n_strerror_debug(i32 noundef %8104, ptr noundef nonnull @.str.80) #12
  %8106 = load i32, ptr %288, align 4, !tbaa !5
  %8107 = call ptr @strerror(i32 noundef %8106) #12
  %8108 = load i32, ptr %288, align 4, !tbaa !5
  %8109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8100, ptr noundef nonnull %.str.81.sink4401, i32 noundef %8101, ptr noundef nonnull @.str.251, ptr noundef nonnull @.str.77, i32 noundef 706, ptr noundef %8103, ptr noundef %8105, ptr noundef %8107, i32 noundef %8108) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8110:                                             ; preds = %8075
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %85) #12
  store ptr null, ptr %85, align 8, !tbaa !9
  %8111 = load i32, ptr @test_count, align 4, !tbaa !5
  %8112 = add nsw i32 %8111, 1
  store i32 %8112, ptr @test_count, align 4, !tbaa !5
  %8113 = getelementptr inbounds i8, ptr %8023, i64 1696
  %8114 = call i32 @s2n_array_pushback(ptr noundef nonnull %8113, ptr noundef nonnull %85) #12
  %8115 = call zeroext i1 @s2n_result_is_ok(i32 %8114)
  br i1 %8115, label %8138, label %8116

8116:                                             ; preds = %8110
  %8117 = load i32, ptr %288, align 4, !tbaa !5
  %8118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8119 = call i32 @s2n_print_stacktrace(ptr noundef %8118) #12
  %8120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8121 = trunc nuw i8 %8120 to i1
  br i1 %8121, label %8122, label %8126

8122:                                             ; preds = %8116
  %8123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8124 = call i32 @fileno(ptr noundef %8123) #12
  %8125 = call i32 @isatty(i32 noundef %8124) #12
  %.not1487 = icmp eq i32 %8125, 0
  br i1 %.not1487, label %8126, label %8127

8126:                                             ; preds = %8122, %8116
  br label %8127

8127:                                             ; preds = %8122, %8126
  %.str.81.sink4410 = phi ptr [ @.str.81, %8126 ], [ @.str.78, %8122 ]
  store i32 %8117, ptr %288, align 4, !tbaa !5
  %8128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8129 = load i32, ptr @test_count, align 4, !tbaa !5
  %8130 = load i32, ptr %234, align 4, !tbaa !5
  %8131 = call ptr @s2n_strerror(i32 noundef %8130, ptr noundef nonnull @.str.80) #12
  %8132 = load i32, ptr %234, align 4, !tbaa !5
  %8133 = call ptr @s2n_strerror_debug(i32 noundef %8132, ptr noundef nonnull @.str.80) #12
  %8134 = load i32, ptr %288, align 4, !tbaa !5
  %8135 = call ptr @strerror(i32 noundef %8134) #12
  %8136 = load i32, ptr %288, align 4, !tbaa !5
  %8137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8128, ptr noundef nonnull %.str.81.sink4410, i32 noundef %8129, ptr noundef nonnull @.str.245, ptr noundef nonnull @.str.77, i32 noundef 709, ptr noundef %8131, ptr noundef %8133, ptr noundef %8135, i32 noundef %8136) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8138:                                             ; preds = %8110
  %8139 = load i32, ptr @test_count, align 4, !tbaa !5
  %8140 = add nsw i32 %8139, 1
  store i32 %8140, ptr @test_count, align 4, !tbaa !5
  %8141 = load ptr, ptr %85, align 8, !tbaa !9
  %8142 = call i32 @s2n_psk_init(ptr noundef %8141, i32 noundef 0)
  %8143 = call zeroext i1 @s2n_result_is_ok(i32 %8142)
  br i1 %8143, label %8166, label %8144

8144:                                             ; preds = %8138
  %8145 = load i32, ptr %288, align 4, !tbaa !5
  %8146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8147 = call i32 @s2n_print_stacktrace(ptr noundef %8146) #12
  %8148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8149 = trunc nuw i8 %8148 to i1
  br i1 %8149, label %8150, label %8154

8150:                                             ; preds = %8144
  %8151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8152 = call i32 @fileno(ptr noundef %8151) #12
  %8153 = call i32 @isatty(i32 noundef %8152) #12
  %.not1488 = icmp eq i32 %8153, 0
  br i1 %.not1488, label %8154, label %8155

8154:                                             ; preds = %8150, %8144
  br label %8155

8155:                                             ; preds = %8150, %8154
  %.str.81.sink4419 = phi ptr [ @.str.81, %8154 ], [ @.str.78, %8150 ]
  store i32 %8145, ptr %288, align 4, !tbaa !5
  %8156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8157 = load i32, ptr @test_count, align 4, !tbaa !5
  %8158 = load i32, ptr %234, align 4, !tbaa !5
  %8159 = call ptr @s2n_strerror(i32 noundef %8158, ptr noundef nonnull @.str.80) #12
  %8160 = load i32, ptr %234, align 4, !tbaa !5
  %8161 = call ptr @s2n_strerror_debug(i32 noundef %8160, ptr noundef nonnull @.str.80) #12
  %8162 = load i32, ptr %288, align 4, !tbaa !5
  %8163 = call ptr @strerror(i32 noundef %8162) #12
  %8164 = load i32, ptr %288, align 4, !tbaa !5
  %8165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8156, ptr noundef nonnull %.str.81.sink4419, i32 noundef %8157, ptr noundef nonnull @.str.246, ptr noundef nonnull @.str.77, i32 noundef 710, ptr noundef %8159, ptr noundef %8161, ptr noundef %8163, i32 noundef %8164) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8166:                                             ; preds = %8138
  %8167 = load i32, ptr @test_count, align 4, !tbaa !5
  %8168 = add nsw i32 %8167, 1
  store i32 %8168, ptr @test_count, align 4, !tbaa !5
  %8169 = load ptr, ptr %85, align 8, !tbaa !9
  %8170 = load ptr, ptr %51, align 8, !tbaa !78
  %8171 = load i32, ptr %6502, align 8, !tbaa !77
  %8172 = trunc i32 %8171 to i16
  %8173 = call i32 @s2n_psk_set_identity(ptr noundef %8169, ptr noundef %8170, i16 noundef zeroext %8172)
  %8174 = icmp eq i32 %8173, -1
  br i1 %8174, label %8175, label %8197

8175:                                             ; preds = %8166
  %8176 = load i32, ptr %288, align 4, !tbaa !5
  %8177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8178 = call i32 @s2n_print_stacktrace(ptr noundef %8177) #12
  %8179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8180 = trunc nuw i8 %8179 to i1
  br i1 %8180, label %8181, label %8185

8181:                                             ; preds = %8175
  %8182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8183 = call i32 @fileno(ptr noundef %8182) #12
  %8184 = call i32 @isatty(i32 noundef %8183) #12
  %.not1713 = icmp eq i32 %8184, 0
  br i1 %.not1713, label %8185, label %8186

8185:                                             ; preds = %8181, %8175
  br label %8186

8186:                                             ; preds = %8181, %8185
  %.str.81.sink4428 = phi ptr [ @.str.81, %8185 ], [ @.str.78, %8181 ]
  store i32 %8176, ptr %288, align 4, !tbaa !5
  %8187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8188 = load i32, ptr @test_count, align 4, !tbaa !5
  %8189 = load i32, ptr %234, align 4, !tbaa !5
  %8190 = call ptr @s2n_strerror(i32 noundef %8189, ptr noundef nonnull @.str.80) #12
  %8191 = load i32, ptr %234, align 4, !tbaa !5
  %8192 = call ptr @s2n_strerror_debug(i32 noundef %8191, ptr noundef nonnull @.str.80) #12
  %8193 = load i32, ptr %288, align 4, !tbaa !5
  %8194 = call ptr @strerror(i32 noundef %8193) #12
  %8195 = load i32, ptr %288, align 4, !tbaa !5
  %8196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8187, ptr noundef nonnull %.str.81.sink4428, i32 noundef %8188, ptr noundef nonnull @.str.247, ptr noundef nonnull @.str.77, i32 noundef 711, ptr noundef %8190, ptr noundef %8192, ptr noundef %8194, i32 noundef %8195) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8197:                                             ; preds = %8166
  %8198 = load i32, ptr @test_count, align 4, !tbaa !5
  %8199 = add nsw i32 %8198, 1
  store i32 %8199, ptr @test_count, align 4, !tbaa !5
  %8200 = load ptr, ptr %85, align 8, !tbaa !9
  %8201 = load ptr, ptr %54, align 8, !tbaa !78
  %8202 = load i32, ptr %5376, align 8, !tbaa !77
  %8203 = trunc i32 %8202 to i16
  %8204 = call i32 @s2n_psk_set_secret(ptr noundef %8200, ptr noundef %8201, i16 noundef zeroext %8203)
  %8205 = icmp eq i32 %8204, -1
  br i1 %8205, label %8206, label %8228

8206:                                             ; preds = %8197
  %8207 = load i32, ptr %288, align 4, !tbaa !5
  %8208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8209 = call i32 @s2n_print_stacktrace(ptr noundef %8208) #12
  %8210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8211 = trunc nuw i8 %8210 to i1
  br i1 %8211, label %8212, label %8216

8212:                                             ; preds = %8206
  %8213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8214 = call i32 @fileno(ptr noundef %8213) #12
  %8215 = call i32 @isatty(i32 noundef %8214) #12
  %.not1712 = icmp eq i32 %8215, 0
  br i1 %.not1712, label %8216, label %8217

8216:                                             ; preds = %8212, %8206
  br label %8217

8217:                                             ; preds = %8212, %8216
  %.str.81.sink4437 = phi ptr [ @.str.81, %8216 ], [ @.str.78, %8212 ]
  store i32 %8207, ptr %288, align 4, !tbaa !5
  %8218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8219 = load i32, ptr @test_count, align 4, !tbaa !5
  %8220 = load i32, ptr %234, align 4, !tbaa !5
  %8221 = call ptr @s2n_strerror(i32 noundef %8220, ptr noundef nonnull @.str.80) #12
  %8222 = load i32, ptr %234, align 4, !tbaa !5
  %8223 = call ptr @s2n_strerror_debug(i32 noundef %8222, ptr noundef nonnull @.str.80) #12
  %8224 = load i32, ptr %288, align 4, !tbaa !5
  %8225 = call ptr @strerror(i32 noundef %8224) #12
  %8226 = load i32, ptr %288, align 4, !tbaa !5
  %8227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8218, ptr noundef nonnull %.str.81.sink4437, i32 noundef %8219, ptr noundef nonnull @.str.248, ptr noundef nonnull @.str.77, i32 noundef 712, ptr noundef %8221, ptr noundef %8223, ptr noundef %8225, i32 noundef %8226) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8228:                                             ; preds = %8197
  %8229 = load i32, ptr @test_count, align 4, !tbaa !5
  %8230 = add nsw i32 %8229, 1
  store i32 %8230, ptr @test_count, align 4, !tbaa !5
  %8231 = call i32 @s2n_finish_psk_extension(ptr noundef nonnull %8023)
  %8232 = call zeroext i1 @s2n_result_is_ok(i32 %8231)
  br i1 %8232, label %8255, label %8233

8233:                                             ; preds = %8228
  %8234 = load i32, ptr %288, align 4, !tbaa !5
  %8235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8236 = call i32 @s2n_print_stacktrace(ptr noundef %8235) #12
  %8237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8238 = trunc nuw i8 %8237 to i1
  br i1 %8238, label %8239, label %8243

8239:                                             ; preds = %8233
  %8240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8241 = call i32 @fileno(ptr noundef %8240) #12
  %8242 = call i32 @isatty(i32 noundef %8241) #12
  %.not1489 = icmp eq i32 %8242, 0
  br i1 %.not1489, label %8243, label %8244

8243:                                             ; preds = %8239, %8233
  br label %8244

8244:                                             ; preds = %8239, %8243
  %.str.81.sink4446 = phi ptr [ @.str.81, %8243 ], [ @.str.78, %8239 ]
  store i32 %8234, ptr %288, align 4, !tbaa !5
  %8245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8246 = load i32, ptr @test_count, align 4, !tbaa !5
  %8247 = load i32, ptr %234, align 4, !tbaa !5
  %8248 = call ptr @s2n_strerror(i32 noundef %8247, ptr noundef nonnull @.str.80) #12
  %8249 = load i32, ptr %234, align 4, !tbaa !5
  %8250 = call ptr @s2n_strerror_debug(i32 noundef %8249, ptr noundef nonnull @.str.80) #12
  %8251 = load i32, ptr %288, align 4, !tbaa !5
  %8252 = call ptr @strerror(i32 noundef %8251) #12
  %8253 = load i32, ptr %288, align 4, !tbaa !5
  %8254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8245, ptr noundef nonnull %.str.81.sink4446, i32 noundef %8246, ptr noundef nonnull @.str.252, ptr noundef nonnull @.str.77, i32 noundef 714, ptr noundef %8248, ptr noundef %8250, ptr noundef %8252, i32 noundef %8253) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8255:                                             ; preds = %8228
  %8256 = load i32, ptr @test_count, align 4, !tbaa !5
  %8257 = add nsw i32 %8256, 1
  store i32 %8257, ptr @test_count, align 4, !tbaa !5
  %8258 = getelementptr inbounds i8, ptr %8023, i64 2044
  %8259 = load i32, ptr %8258, align 4, !tbaa !79
  %8260 = getelementptr inbounds i8, ptr %8023, i64 2040
  %8261 = load i32, ptr %8260, align 8, !tbaa !80
  %8262 = sub i32 %8259, %8261
  %8263 = load i32, ptr %8076, align 8, !tbaa !77
  %8264 = icmp eq i32 %8262, %8263
  br i1 %8264, label %8287, label %8265

8265:                                             ; preds = %8255
  %8266 = load i32, ptr %288, align 4, !tbaa !5
  %8267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8268 = call i32 @s2n_print_stacktrace(ptr noundef %8267) #12
  %8269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8270 = trunc nuw i8 %8269 to i1
  br i1 %8270, label %8271, label %8275

8271:                                             ; preds = %8265
  %8272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8273 = call i32 @fileno(ptr noundef %8272) #12
  %8274 = call i32 @isatty(i32 noundef %8273) #12
  %.not1490 = icmp eq i32 %8274, 0
  br i1 %.not1490, label %8275, label %8276

8275:                                             ; preds = %8271, %8265
  br label %8276

8276:                                             ; preds = %8271, %8275
  %.str.81.sink4455 = phi ptr [ @.str.81, %8275 ], [ @.str.78, %8271 ]
  store i32 %8266, ptr %288, align 4, !tbaa !5
  %8277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8278 = load i32, ptr @test_count, align 4, !tbaa !5
  %8279 = load i32, ptr %234, align 4, !tbaa !5
  %8280 = call ptr @s2n_strerror(i32 noundef %8279, ptr noundef nonnull @.str.80) #12
  %8281 = load i32, ptr %234, align 4, !tbaa !5
  %8282 = call ptr @s2n_strerror_debug(i32 noundef %8281, ptr noundef nonnull @.str.80) #12
  %8283 = load i32, ptr %288, align 4, !tbaa !5
  %8284 = call ptr @strerror(i32 noundef %8283) #12
  %8285 = load i32, ptr %288, align 4, !tbaa !5
  %8286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8277, ptr noundef nonnull %.str.81.sink4455, i32 noundef %8278, ptr noundef nonnull @.str.253, ptr noundef nonnull @.str.77, i32 noundef 715, ptr noundef %8280, ptr noundef %8282, ptr noundef %8284, i32 noundef %8285) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8287:                                             ; preds = %8255
  %.not1491 = icmp eq i32 %8259, %8261
  br i1 %.not1491, label %8316, label %8288

8288:                                             ; preds = %8287
  %8289 = add nsw i32 %8256, 2
  store i32 %8289, ptr @test_count, align 4, !tbaa !5
  %8290 = load ptr, ptr %8050, align 8, !tbaa !81
  %8291 = load ptr, ptr %53, align 8, !tbaa !78
  %8292 = zext i32 %8262 to i64
  %bcmp1492 = call i32 @bcmp(ptr %8290, ptr %8291, i64 %8292)
  %8293 = icmp eq i32 %bcmp1492, 0
  br i1 %8293, label %8316, label %8294

8294:                                             ; preds = %8288
  %8295 = load i32, ptr %288, 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
  %.not1493 = icmp eq i32 %8303, 0
  br i1 %.not1493, label %8304, label %8305

8304:                                             ; preds = %8300, %8294
  br label %8305

8305:                                             ; preds = %8300, %8304
  %.str.81.sink4464 = phi ptr [ @.str.81, %8304 ], [ @.str.78, %8300 ]
  store i32 %8295, ptr %288, 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 %234, align 4, !tbaa !5
  %8309 = call ptr @s2n_strerror(i32 noundef %8308, ptr noundef nonnull @.str.80) #12
  %8310 = load i32, ptr %234, align 4, !tbaa !5
  %8311 = call ptr @s2n_strerror_debug(i32 noundef %8310, ptr noundef nonnull @.str.80) #12
  %8312 = load i32, ptr %288, align 4, !tbaa !5
  %8313 = call ptr @strerror(i32 noundef %8312) #12
  %8314 = load i32, ptr %288, align 4, !tbaa !5
  %8315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8306, ptr noundef nonnull %.str.81.sink4464, i32 noundef %8307, ptr noundef nonnull @.str.254, ptr noundef nonnull @.str.77, i32 noundef 716, ptr noundef %8309, ptr noundef %8311, ptr noundef %8313, i32 noundef %8314) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8316:                                             ; preds = %8287, %8288
  %8317 = phi i32 [ %8257, %8287 ], [ %8289, %8288 ]
  %8318 = add nsw i32 %8317, 1
  store i32 %8318, ptr @test_count, align 4, !tbaa !5
  %8319 = call i32 @s2n_connection_free(ptr noundef nonnull %8023) #12
  %8320 = icmp eq i32 %8319, -1
  br i1 %8320, label %8321, label %8343

8321:                                             ; preds = %8316
  %8322 = load i32, ptr %288, 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
  %.not1711 = icmp eq i32 %8330, 0
  br i1 %.not1711, label %8331, label %8332

8331:                                             ; preds = %8327, %8321
  br label %8332

8332:                                             ; preds = %8327, %8331
  %.str.81.sink4473 = phi ptr [ @.str.81, %8331 ], [ @.str.78, %8327 ]
  store i32 %8322, ptr %288, 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 %234, align 4, !tbaa !5
  %8336 = call ptr @s2n_strerror(i32 noundef %8335, ptr noundef nonnull @.str.80) #12
  %8337 = load i32, ptr %234, align 4, !tbaa !5
  %8338 = call ptr @s2n_strerror_debug(i32 noundef %8337, ptr noundef nonnull @.str.80) #12
  %8339 = load i32, ptr %288, align 4, !tbaa !5
  %8340 = call ptr @strerror(i32 noundef %8339) #12
  %8341 = load i32, ptr %288, align 4, !tbaa !5
  %8342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8333, ptr noundef nonnull %.str.81.sink4473, i32 noundef %8334, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 718, ptr noundef %8336, ptr noundef %8338, ptr noundef %8340, i32 noundef %8341) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8343:                                             ; preds = %8316
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #12
  br label %8344

8344:                                             ; preds = %8019, %5175, %8343
  %.31266 = phi i32 [ 0, %8343 ], [ 1, %8019 ], [ 1, %5175 ]
  %.3 = phi i32 [ 0, %8343 ], [ -1, %8019 ], [ -1, %5175 ]
  %8345 = call i32 @s2n_free(ptr noundef nonnull %57) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %57) #12
  br label %8346

8346:                                             ; preds = %5172, %8344
  %.41267 = phi i32 [ %.31266, %8344 ], [ 1, %5172 ]
  %.4 = phi i32 [ %.3, %8344 ], [ -1, %5172 ]
  %8347 = call i32 @s2n_free(ptr noundef nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %56) #12
  br label %8348

8348:                                             ; preds = %5169, %8346
  %.51268 = phi i32 [ %.41267, %8346 ], [ 1, %5169 ]
  %.5 = phi i32 [ %.4, %8346 ], [ -1, %5169 ]
  %8349 = call i32 @s2n_free(ptr noundef nonnull %55) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %55) #12
  br label %8350

8350:                                             ; preds = %5166, %8348
  %.61269 = phi i32 [ %.51268, %8348 ], [ 1, %5166 ]
  %.6 = phi i32 [ %.5, %8348 ], [ -1, %5166 ]
  %8351 = call i32 @s2n_free(ptr noundef nonnull %54) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %54) #12
  br label %8352

8352:                                             ; preds = %5163, %8350
  %.71270 = phi i32 [ %.61269, %8350 ], [ 1, %5163 ]
  %.7 = phi i32 [ %.6, %8350 ], [ -1, %5163 ]
  %8353 = call i32 @s2n_free(ptr noundef nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %53) #12
  br label %8354

8354:                                             ; preds = %8352, %5160
  %.81271 = phi i32 [ %.71270, %8352 ], [ 1, %5160 ]
  %.8 = phi i32 [ %.7, %8352 ], [ -1, %5160 ]
  %8355 = call i32 @s2n_free(ptr noundef nonnull %52) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #12
  %8356 = call i32 @s2n_free(ptr noundef nonnull %51) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %51) #12
  %switch = icmp eq i32 %.81271, 0
  br i1 %switch, label %8357, label %13912

8357:                                             ; preds = %8354
  call void @llvm.lifetime.start.p0(i64 9, ptr nonnull %86) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %86, ptr noundef nonnull align 1 dereferenceable(9) @__const.main.identity_0, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 7, ptr nonnull %87) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(7) %87, ptr noundef nonnull align 1 dereferenceable(7) @__const.main.secret_0, i64 7, i1 false)
  call void @llvm.lifetime.start.p0(i64 11, ptr nonnull %88) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(11) %88, ptr noundef nonnull align 1 dereferenceable(11) @__const.main.identity_1, i64 11, i1 false)
  call void @llvm.lifetime.start.p0(i64 65535, ptr nonnull %89) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(65535) %89, i8 0, i64 65535, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %90) #12
  %8358 = call ptr @s2n_external_psk_new()
  store ptr %8358, ptr %90, align 8, !tbaa !9
  %8359 = load i32, ptr @test_count, align 4, !tbaa !5
  %8360 = add nsw i32 %8359, 1
  store i32 %8360, ptr @test_count, align 4, !tbaa !5
  %8361 = call i32 @s2n_psk_set_identity(ptr noundef %8358, ptr noundef nonnull %86, i16 noundef zeroext 9)
  %8362 = icmp eq i32 %8361, -1
  br i1 %8362, label %8363, label %8385

8363:                                             ; preds = %8357
  %8364 = load i32, ptr %288, align 4, !tbaa !5
  %8365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8366 = call i32 @s2n_print_stacktrace(ptr noundef %8365) #12
  %8367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8368 = trunc nuw i8 %8367 to i1
  br i1 %8368, label %8369, label %8373

8369:                                             ; preds = %8363
  %8370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8371 = call i32 @fileno(ptr noundef %8370) #12
  %8372 = call i32 @isatty(i32 noundef %8371) #12
  %.not1710 = icmp eq i32 %8372, 0
  br i1 %.not1710, label %8373, label %8374

8373:                                             ; preds = %8369, %8363
  br label %8374

8374:                                             ; preds = %8369, %8373
  %.str.81.sink4482 = phi ptr [ @.str.81, %8373 ], [ @.str.78, %8369 ]
  store i32 %8364, ptr %288, align 4, !tbaa !5
  %8375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8376 = load i32, ptr @test_count, align 4, !tbaa !5
  %8377 = load i32, ptr %234, align 4, !tbaa !5
  %8378 = call ptr @s2n_strerror(i32 noundef %8377, ptr noundef nonnull @.str.80) #12
  %8379 = load i32, ptr %234, align 4, !tbaa !5
  %8380 = call ptr @s2n_strerror_debug(i32 noundef %8379, ptr noundef nonnull @.str.80) #12
  %8381 = load i32, ptr %288, align 4, !tbaa !5
  %8382 = call ptr @strerror(i32 noundef %8381) #12
  %8383 = load i32, ptr %288, align 4, !tbaa !5
  %8384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8375, ptr noundef nonnull %.str.81.sink4482, i32 noundef %8376, ptr noundef nonnull @.str.255, ptr noundef nonnull @.str.77, i32 noundef 732, ptr noundef %8378, ptr noundef %8380, ptr noundef %8382, i32 noundef %8383) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8385:                                             ; preds = %8357
  %8386 = load i32, ptr @test_count, align 4, !tbaa !5
  %8387 = add nsw i32 %8386, 1
  store i32 %8387, ptr @test_count, align 4, !tbaa !5
  %8388 = load ptr, ptr %90, align 8, !tbaa !9
  %8389 = call i32 @s2n_psk_set_secret(ptr noundef %8388, ptr noundef nonnull %87, i16 noundef zeroext 7)
  %8390 = icmp eq i32 %8389, -1
  br i1 %8390, label %8391, label %8413

8391:                                             ; preds = %8385
  %8392 = load i32, ptr %288, align 4, !tbaa !5
  %8393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8394 = call i32 @s2n_print_stacktrace(ptr noundef %8393) #12
  %8395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8396 = trunc nuw i8 %8395 to i1
  br i1 %8396, label %8397, label %8401

8397:                                             ; preds = %8391
  %8398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8399 = call i32 @fileno(ptr noundef %8398) #12
  %8400 = call i32 @isatty(i32 noundef %8399) #12
  %.not1709 = icmp eq i32 %8400, 0
  br i1 %.not1709, label %8401, label %8402

8401:                                             ; preds = %8397, %8391
  br label %8402

8402:                                             ; preds = %8397, %8401
  %.str.81.sink4491 = phi ptr [ @.str.81, %8401 ], [ @.str.78, %8397 ]
  store i32 %8392, ptr %288, align 4, !tbaa !5
  %8403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8404 = load i32, ptr @test_count, align 4, !tbaa !5
  %8405 = load i32, ptr %234, align 4, !tbaa !5
  %8406 = call ptr @s2n_strerror(i32 noundef %8405, ptr noundef nonnull @.str.80) #12
  %8407 = load i32, ptr %234, align 4, !tbaa !5
  %8408 = call ptr @s2n_strerror_debug(i32 noundef %8407, ptr noundef nonnull @.str.80) #12
  %8409 = load i32, ptr %288, align 4, !tbaa !5
  %8410 = call ptr @strerror(i32 noundef %8409) #12
  %8411 = load i32, ptr %288, align 4, !tbaa !5
  %8412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8403, ptr noundef nonnull %.str.81.sink4491, i32 noundef %8404, ptr noundef nonnull @.str.256, ptr noundef nonnull @.str.77, i32 noundef 733, ptr noundef %8406, ptr noundef %8408, ptr noundef %8410, i32 noundef %8411) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8413:                                             ; preds = %8385
  %8414 = load i32, ptr @test_count, align 4, !tbaa !5
  %8415 = add nsw i32 %8414, 1
  store i32 %8415, ptr @test_count, align 4, !tbaa !5
  %8416 = load ptr, ptr %90, align 8, !tbaa !9
  %8417 = call i32 @s2n_psk_set_hmac(ptr noundef %8416, i32 noundef 1)
  %8418 = icmp eq i32 %8417, -1
  br i1 %8418, label %8419, label %8441

8419:                                             ; preds = %8413
  %8420 = load i32, ptr %288, align 4, !tbaa !5
  %8421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8422 = call i32 @s2n_print_stacktrace(ptr noundef %8421) #12
  %8423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8424 = trunc nuw i8 %8423 to i1
  br i1 %8424, label %8425, label %8429

8425:                                             ; preds = %8419
  %8426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8427 = call i32 @fileno(ptr noundef %8426) #12
  %8428 = call i32 @isatty(i32 noundef %8427) #12
  %.not1708 = icmp eq i32 %8428, 0
  br i1 %.not1708, label %8429, label %8430

8429:                                             ; preds = %8425, %8419
  br label %8430

8430:                                             ; preds = %8425, %8429
  %.str.81.sink4500 = phi ptr [ @.str.81, %8429 ], [ @.str.78, %8425 ]
  store i32 %8420, ptr %288, align 4, !tbaa !5
  %8431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8432 = load i32, ptr @test_count, align 4, !tbaa !5
  %8433 = load i32, ptr %234, align 4, !tbaa !5
  %8434 = call ptr @s2n_strerror(i32 noundef %8433, ptr noundef nonnull @.str.80) #12
  %8435 = load i32, ptr %234, align 4, !tbaa !5
  %8436 = call ptr @s2n_strerror_debug(i32 noundef %8435, ptr noundef nonnull @.str.80) #12
  %8437 = load i32, ptr %288, align 4, !tbaa !5
  %8438 = call ptr @strerror(i32 noundef %8437) #12
  %8439 = load i32, ptr %288, align 4, !tbaa !5
  %8440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8431, ptr noundef nonnull %.str.81.sink4500, i32 noundef %8432, ptr noundef nonnull @.str.257, ptr noundef nonnull @.str.77, i32 noundef 734, ptr noundef %8434, ptr noundef %8436, ptr noundef %8438, i32 noundef %8439) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8441:                                             ; preds = %8413
  %8442 = load i32, ptr @test_count, align 4, !tbaa !5
  %8443 = add nsw i32 %8442, 1
  store i32 %8443, ptr @test_count, align 4, !tbaa !5
  %8444 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %8445 = icmp eq ptr %8444, null
  br i1 %8445, label %8446, label %8468

8446:                                             ; preds = %8441
  %8447 = load i32, ptr %288, align 4, !tbaa !5
  %8448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8449 = call i32 @s2n_print_stacktrace(ptr noundef %8448) #12
  %8450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8451 = trunc nuw i8 %8450 to i1
  br i1 %8451, label %8452, label %8456

8452:                                             ; preds = %8446
  %8453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8454 = call i32 @fileno(ptr noundef %8453) #12
  %8455 = call i32 @isatty(i32 noundef %8454) #12
  %.not1707 = icmp eq i32 %8455, 0
  br i1 %.not1707, label %8456, label %8457

8456:                                             ; preds = %8452, %8446
  br label %8457

8457:                                             ; preds = %8452, %8456
  %.str.81.sink4509 = phi ptr [ @.str.81, %8456 ], [ @.str.78, %8452 ]
  store i32 %8447, ptr %288, align 4, !tbaa !5
  %8458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8459 = load i32, ptr @test_count, align 4, !tbaa !5
  %8460 = load i32, ptr %234, align 4, !tbaa !5
  %8461 = call ptr @s2n_strerror(i32 noundef %8460, ptr noundef nonnull @.str.80) #12
  %8462 = load i32, ptr %234, align 4, !tbaa !5
  %8463 = call ptr @s2n_strerror_debug(i32 noundef %8462, ptr noundef nonnull @.str.80) #12
  %8464 = load i32, ptr %288, align 4, !tbaa !5
  %8465 = call ptr @strerror(i32 noundef %8464) #12
  %8466 = load i32, ptr %288, align 4, !tbaa !5
  %8467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8458, ptr noundef nonnull %.str.81.sink4509, i32 noundef %8459, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 739, ptr noundef %8461, ptr noundef %8463, ptr noundef %8465, i32 noundef %8466) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8468:                                             ; preds = %8441
  %8469 = load i32, ptr @test_count, align 4, !tbaa !5
  %8470 = add nsw i32 %8469, 1
  store i32 %8470, ptr @test_count, align 4, !tbaa !5
  %8471 = load ptr, ptr %90, align 8, !tbaa !9
  %8472 = call i32 @s2n_connection_append_psk(ptr noundef null, ptr noundef %8471)
  %8473 = icmp eq i32 %8472, -1
  br i1 %8473, label %8496, label %8474

8474:                                             ; preds = %8468
  %8475 = load i32, ptr %288, align 4, !tbaa !5
  %8476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8477 = call i32 @s2n_print_stacktrace(ptr noundef %8476) #12
  %8478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8479 = trunc nuw i8 %8478 to i1
  br i1 %8479, label %8480, label %8484

8480:                                             ; preds = %8474
  %8481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8482 = call i32 @fileno(ptr noundef %8481) #12
  %8483 = call i32 @isatty(i32 noundef %8482) #12
  %.not1494 = icmp eq i32 %8483, 0
  br i1 %.not1494, label %8484, label %8485

8484:                                             ; preds = %8480, %8474
  br label %8485

8485:                                             ; preds = %8480, %8484
  %.str.81.sink4518 = phi ptr [ @.str.81, %8484 ], [ @.str.78, %8480 ]
  store i32 %8475, ptr %288, align 4, !tbaa !5
  %8486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8487 = load i32, ptr @test_count, align 4, !tbaa !5
  %8488 = load i32, ptr %234, align 4, !tbaa !5
  %8489 = call ptr @s2n_strerror(i32 noundef %8488, ptr noundef nonnull @.str.80) #12
  %8490 = load i32, ptr %234, align 4, !tbaa !5
  %8491 = call ptr @s2n_strerror_debug(i32 noundef %8490, ptr noundef nonnull @.str.80) #12
  %8492 = load i32, ptr %288, align 4, !tbaa !5
  %8493 = call ptr @strerror(i32 noundef %8492) #12
  %8494 = load i32, ptr %288, align 4, !tbaa !5
  %8495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8486, ptr noundef nonnull %.str.81.sink4518, i32 noundef %8487, ptr noundef nonnull @.str.258, ptr noundef nonnull @.str.77, i32 noundef 741, ptr noundef %8489, ptr noundef %8491, ptr noundef %8493, i32 noundef %8494) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8496:                                             ; preds = %8468
  %8497 = load i32, ptr @test_count, align 4, !tbaa !5
  %8498 = add nsw i32 %8497, 1
  store i32 %8498, ptr @test_count, align 4, !tbaa !5
  %8499 = load i32, ptr %234, align 4, !tbaa !5
  %8500 = icmp eq i32 %8499, 402653193
  br i1 %8500, label %8523, label %8501

8501:                                             ; preds = %8496
  %8502 = load i32, ptr %288, align 4, !tbaa !5
  %8503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8504 = call i32 @s2n_print_stacktrace(ptr noundef %8503) #12
  %8505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8506 = trunc nuw i8 %8505 to i1
  br i1 %8506, label %8507, label %8511

8507:                                             ; preds = %8501
  %8508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8509 = call i32 @fileno(ptr noundef %8508) #12
  %8510 = call i32 @isatty(i32 noundef %8509) #12
  %.not1495 = icmp eq i32 %8510, 0
  br i1 %.not1495, label %8511, label %8512

8511:                                             ; preds = %8507, %8501
  br label %8512

8512:                                             ; preds = %8507, %8511
  %.str.81.sink4527 = phi ptr [ @.str.81, %8511 ], [ @.str.78, %8507 ]
  store i32 %8502, ptr %288, align 4, !tbaa !5
  %8513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8514 = load i32, ptr @test_count, align 4, !tbaa !5
  %8515 = load i32, ptr %234, align 4, !tbaa !5
  %8516 = call ptr @s2n_strerror(i32 noundef %8515, ptr noundef nonnull @.str.80) #12
  %8517 = load i32, ptr %234, align 4, !tbaa !5
  %8518 = call ptr @s2n_strerror_debug(i32 noundef %8517, ptr noundef nonnull @.str.80) #12
  %8519 = load i32, ptr %288, align 4, !tbaa !5
  %8520 = call ptr @strerror(i32 noundef %8519) #12
  %8521 = load i32, ptr %288, align 4, !tbaa !5
  %8522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8513, ptr noundef nonnull %.str.81.sink4527, i32 noundef %8514, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 741, ptr noundef %8516, ptr noundef %8518, ptr noundef %8520, i32 noundef %8521) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8523:                                             ; preds = %8496
  %8524 = add nsw i32 %8497, 2
  store i32 %8524, ptr @test_count, align 4, !tbaa !5
  %8525 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %8526 = icmp eq ptr %8525, null
  br i1 %8526, label %8527, label %8549

8527:                                             ; preds = %8523
  %8528 = load i32, ptr %288, align 4, !tbaa !5
  %8529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8530 = call i32 @s2n_print_stacktrace(ptr noundef %8529) #12
  %8531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8532 = trunc nuw i8 %8531 to i1
  br i1 %8532, label %8533, label %8537

8533:                                             ; preds = %8527
  %8534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8535 = call i32 @fileno(ptr noundef %8534) #12
  %8536 = call i32 @isatty(i32 noundef %8535) #12
  %.not1706 = icmp eq i32 %8536, 0
  br i1 %.not1706, label %8537, label %8538

8537:                                             ; preds = %8533, %8527
  br label %8538

8538:                                             ; preds = %8533, %8537
  %.str.81.sink4536 = phi ptr [ @.str.81, %8537 ], [ @.str.78, %8533 ]
  store i32 %8528, ptr %288, align 4, !tbaa !5
  %8539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8540 = load i32, ptr @test_count, align 4, !tbaa !5
  %8541 = load i32, ptr %234, align 4, !tbaa !5
  %8542 = call ptr @s2n_strerror(i32 noundef %8541, ptr noundef nonnull @.str.80) #12
  %8543 = load i32, ptr %234, align 4, !tbaa !5
  %8544 = call ptr @s2n_strerror_debug(i32 noundef %8543, ptr noundef nonnull @.str.80) #12
  %8545 = load i32, ptr %288, align 4, !tbaa !5
  %8546 = call ptr @strerror(i32 noundef %8545) #12
  %8547 = load i32, ptr %288, align 4, !tbaa !5
  %8548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8539, ptr noundef nonnull %.str.81.sink4536, i32 noundef %8540, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 741, ptr noundef %8542, ptr noundef %8544, ptr noundef %8546, i32 noundef %8547) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8549:                                             ; preds = %8523
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %8550 = load i32, ptr @test_count, align 4, !tbaa !5
  %8551 = add nsw i32 %8550, 1
  store i32 %8551, ptr @test_count, align 4, !tbaa !5
  %8552 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %8444, ptr noundef null)
  %8553 = icmp eq i32 %8552, -1
  br i1 %8553, label %8576, label %8554

8554:                                             ; preds = %8549
  %8555 = load i32, ptr %288, align 4, !tbaa !5
  %8556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8557 = call i32 @s2n_print_stacktrace(ptr noundef %8556) #12
  %8558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8559 = trunc nuw i8 %8558 to i1
  br i1 %8559, label %8560, label %8564

8560:                                             ; preds = %8554
  %8561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8562 = call i32 @fileno(ptr noundef %8561) #12
  %8563 = call i32 @isatty(i32 noundef %8562) #12
  %.not1496 = icmp eq i32 %8563, 0
  br i1 %.not1496, label %8564, label %8565

8564:                                             ; preds = %8560, %8554
  br label %8565

8565:                                             ; preds = %8560, %8564
  %.str.81.sink4545 = phi ptr [ @.str.81, %8564 ], [ @.str.78, %8560 ]
  store i32 %8555, ptr %288, align 4, !tbaa !5
  %8566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8567 = load i32, ptr @test_count, align 4, !tbaa !5
  %8568 = load i32, ptr %234, align 4, !tbaa !5
  %8569 = call ptr @s2n_strerror(i32 noundef %8568, ptr noundef nonnull @.str.80) #12
  %8570 = load i32, ptr %234, align 4, !tbaa !5
  %8571 = call ptr @s2n_strerror_debug(i32 noundef %8570, ptr noundef nonnull @.str.80) #12
  %8572 = load i32, ptr %288, align 4, !tbaa !5
  %8573 = call ptr @strerror(i32 noundef %8572) #12
  %8574 = load i32, ptr %288, align 4, !tbaa !5
  %8575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8566, ptr noundef nonnull %.str.81.sink4545, i32 noundef %8567, ptr noundef nonnull @.str.259, ptr noundef nonnull @.str.77, i32 noundef 742, ptr noundef %8569, ptr noundef %8571, ptr noundef %8573, i32 noundef %8574) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8576:                                             ; preds = %8549
  %8577 = load i32, ptr @test_count, align 4, !tbaa !5
  %8578 = add nsw i32 %8577, 1
  store i32 %8578, ptr @test_count, align 4, !tbaa !5
  %8579 = load i32, ptr %234, align 4, !tbaa !5
  %8580 = icmp eq i32 %8579, 402653193
  br i1 %8580, label %8603, label %8581

8581:                                             ; preds = %8576
  %8582 = load i32, ptr %288, align 4, !tbaa !5
  %8583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8584 = call i32 @s2n_print_stacktrace(ptr noundef %8583) #12
  %8585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8586 = trunc nuw i8 %8585 to i1
  br i1 %8586, label %8587, label %8591

8587:                                             ; preds = %8581
  %8588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8589 = call i32 @fileno(ptr noundef %8588) #12
  %8590 = call i32 @isatty(i32 noundef %8589) #12
  %.not1497 = icmp eq i32 %8590, 0
  br i1 %.not1497, label %8591, label %8592

8591:                                             ; preds = %8587, %8581
  br label %8592

8592:                                             ; preds = %8587, %8591
  %.str.81.sink4554 = phi ptr [ @.str.81, %8591 ], [ @.str.78, %8587 ]
  store i32 %8582, ptr %288, align 4, !tbaa !5
  %8593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8594 = load i32, ptr @test_count, align 4, !tbaa !5
  %8595 = load i32, ptr %234, align 4, !tbaa !5
  %8596 = call ptr @s2n_strerror(i32 noundef %8595, ptr noundef nonnull @.str.80) #12
  %8597 = load i32, ptr %234, align 4, !tbaa !5
  %8598 = call ptr @s2n_strerror_debug(i32 noundef %8597, ptr noundef nonnull @.str.80) #12
  %8599 = load i32, ptr %288, align 4, !tbaa !5
  %8600 = call ptr @strerror(i32 noundef %8599) #12
  %8601 = load i32, ptr %288, align 4, !tbaa !5
  %8602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8593, ptr noundef nonnull %.str.81.sink4554, i32 noundef %8594, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 742, ptr noundef %8596, ptr noundef %8598, ptr noundef %8600, i32 noundef %8601) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8603:                                             ; preds = %8576
  %8604 = add nsw i32 %8577, 2
  store i32 %8604, ptr @test_count, align 4, !tbaa !5
  %8605 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %8606 = icmp eq ptr %8605, null
  br i1 %8606, label %8607, label %8629

8607:                                             ; preds = %8603
  %8608 = load i32, ptr %288, align 4, !tbaa !5
  %8609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8610 = call i32 @s2n_print_stacktrace(ptr noundef %8609) #12
  %8611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8612 = trunc nuw i8 %8611 to i1
  br i1 %8612, label %8613, label %8617

8613:                                             ; preds = %8607
  %8614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8615 = call i32 @fileno(ptr noundef %8614) #12
  %8616 = call i32 @isatty(i32 noundef %8615) #12
  %.not1705 = icmp eq i32 %8616, 0
  br i1 %.not1705, label %8617, label %8618

8617:                                             ; preds = %8613, %8607
  br label %8618

8618:                                             ; preds = %8613, %8617
  %.str.81.sink4563 = phi ptr [ @.str.81, %8617 ], [ @.str.78, %8613 ]
  store i32 %8608, ptr %288, align 4, !tbaa !5
  %8619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8620 = load i32, ptr @test_count, align 4, !tbaa !5
  %8621 = load i32, ptr %234, align 4, !tbaa !5
  %8622 = call ptr @s2n_strerror(i32 noundef %8621, ptr noundef nonnull @.str.80) #12
  %8623 = load i32, ptr %234, align 4, !tbaa !5
  %8624 = call ptr @s2n_strerror_debug(i32 noundef %8623, ptr noundef nonnull @.str.80) #12
  %8625 = load i32, ptr %288, align 4, !tbaa !5
  %8626 = call ptr @strerror(i32 noundef %8625) #12
  %8627 = load i32, ptr %288, align 4, !tbaa !5
  %8628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8619, ptr noundef nonnull %.str.81.sink4563, i32 noundef %8620, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 742, ptr noundef %8622, ptr noundef %8624, ptr noundef %8626, i32 noundef %8627) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8629:                                             ; preds = %8603
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %8630 = load i32, ptr @test_count, align 4, !tbaa !5
  %8631 = add nsw i32 %8630, 1
  store i32 %8631, ptr @test_count, align 4, !tbaa !5
  %8632 = call i32 @s2n_connection_free(ptr noundef nonnull %8444) #12
  %8633 = icmp eq i32 %8632, -1
  br i1 %8633, label %8634, label %8656

8634:                                             ; preds = %8629
  %8635 = load i32, ptr %288, align 4, !tbaa !5
  %8636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8637 = call i32 @s2n_print_stacktrace(ptr noundef %8636) #12
  %8638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8639 = trunc nuw i8 %8638 to i1
  br i1 %8639, label %8640, label %8644

8640:                                             ; preds = %8634
  %8641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8642 = call i32 @fileno(ptr noundef %8641) #12
  %8643 = call i32 @isatty(i32 noundef %8642) #12
  %.not1704 = icmp eq i32 %8643, 0
  br i1 %.not1704, label %8644, label %8645

8644:                                             ; preds = %8640, %8634
  br label %8645

8645:                                             ; preds = %8640, %8644
  %.str.81.sink4572 = phi ptr [ @.str.81, %8644 ], [ @.str.78, %8640 ]
  store i32 %8635, ptr %288, align 4, !tbaa !5
  %8646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8647 = load i32, ptr @test_count, align 4, !tbaa !5
  %8648 = load i32, ptr %234, align 4, !tbaa !5
  %8649 = call ptr @s2n_strerror(i32 noundef %8648, ptr noundef nonnull @.str.80) #12
  %8650 = load i32, ptr %234, align 4, !tbaa !5
  %8651 = call ptr @s2n_strerror_debug(i32 noundef %8650, ptr noundef nonnull @.str.80) #12
  %8652 = load i32, ptr %288, align 4, !tbaa !5
  %8653 = call ptr @strerror(i32 noundef %8652) #12
  %8654 = load i32, ptr %288, align 4, !tbaa !5
  %8655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8646, ptr noundef nonnull %.str.81.sink4572, i32 noundef %8647, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 744, ptr noundef %8649, ptr noundef %8651, ptr noundef %8653, i32 noundef %8654) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8656:                                             ; preds = %8629
  %8657 = load i32, ptr @test_count, align 4, !tbaa !5
  %8658 = add nsw i32 %8657, 1
  store i32 %8658, ptr @test_count, align 4, !tbaa !5
  %8659 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %8660 = icmp eq ptr %8659, null
  br i1 %8660, label %8661, label %8683

8661:                                             ; preds = %8656
  %8662 = load i32, ptr %288, align 4, !tbaa !5
  %8663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8664 = call i32 @s2n_print_stacktrace(ptr noundef %8663) #12
  %8665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8666 = trunc nuw i8 %8665 to i1
  br i1 %8666, label %8667, label %8671

8667:                                             ; preds = %8661
  %8668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8669 = call i32 @fileno(ptr noundef %8668) #12
  %8670 = call i32 @isatty(i32 noundef %8669) #12
  %.not1703 = icmp eq i32 %8670, 0
  br i1 %.not1703, label %8671, label %8672

8671:                                             ; preds = %8667, %8661
  br label %8672

8672:                                             ; preds = %8667, %8671
  %.str.81.sink4581 = phi ptr [ @.str.81, %8671 ], [ @.str.78, %8667 ]
  store i32 %8662, ptr %288, align 4, !tbaa !5
  %8673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8674 = load i32, ptr @test_count, align 4, !tbaa !5
  %8675 = load i32, ptr %234, align 4, !tbaa !5
  %8676 = call ptr @s2n_strerror(i32 noundef %8675, ptr noundef nonnull @.str.80) #12
  %8677 = load i32, ptr %234, align 4, !tbaa !5
  %8678 = call ptr @s2n_strerror_debug(i32 noundef %8677, ptr noundef nonnull @.str.80) #12
  %8679 = load i32, ptr %288, align 4, !tbaa !5
  %8680 = call ptr @strerror(i32 noundef %8679) #12
  %8681 = load i32, ptr %288, align 4, !tbaa !5
  %8682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8673, ptr noundef nonnull %.str.81.sink4581, i32 noundef %8674, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 750, ptr noundef %8676, ptr noundef %8678, ptr noundef %8680, i32 noundef %8681) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8683:                                             ; preds = %8656
  %8684 = load i32, ptr @test_count, align 4, !tbaa !5
  %8685 = add nsw i32 %8684, 1
  store i32 %8685, ptr @test_count, align 4, !tbaa !5
  %8686 = load ptr, ptr %90, align 8, !tbaa !9
  %8687 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %8659, ptr noundef %8686)
  %8688 = icmp eq i32 %8687, -1
  br i1 %8688, label %8689, label %8711

8689:                                             ; preds = %8683
  %8690 = load i32, ptr %288, align 4, !tbaa !5
  %8691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8692 = call i32 @s2n_print_stacktrace(ptr noundef %8691) #12
  %8693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8694 = trunc nuw i8 %8693 to i1
  br i1 %8694, label %8695, label %8699

8695:                                             ; preds = %8689
  %8696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8697 = call i32 @fileno(ptr noundef %8696) #12
  %8698 = call i32 @isatty(i32 noundef %8697) #12
  %.not1702 = icmp eq i32 %8698, 0
  br i1 %.not1702, label %8699, label %8700

8699:                                             ; preds = %8695, %8689
  br label %8700

8700:                                             ; preds = %8695, %8699
  %.str.81.sink4590 = phi ptr [ @.str.81, %8699 ], [ @.str.78, %8695 ]
  store i32 %8690, ptr %288, align 4, !tbaa !5
  %8701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8702 = load i32, ptr @test_count, align 4, !tbaa !5
  %8703 = load i32, ptr %234, align 4, !tbaa !5
  %8704 = call ptr @s2n_strerror(i32 noundef %8703, ptr noundef nonnull @.str.80) #12
  %8705 = load i32, ptr %234, align 4, !tbaa !5
  %8706 = call ptr @s2n_strerror_debug(i32 noundef %8705, ptr noundef nonnull @.str.80) #12
  %8707 = load i32, ptr %288, align 4, !tbaa !5
  %8708 = call ptr @strerror(i32 noundef %8707) #12
  %8709 = load i32, ptr %288, align 4, !tbaa !5
  %8710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8701, ptr noundef nonnull %.str.81.sink4590, i32 noundef %8702, ptr noundef nonnull @.str.260, ptr noundef nonnull @.str.77, i32 noundef 752, ptr noundef %8704, ptr noundef %8706, ptr noundef %8708, i32 noundef %8709) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8711:                                             ; preds = %8683
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %91) #12
  store ptr null, ptr %91, align 8, !tbaa !9
  %8712 = load i32, ptr @test_count, align 4, !tbaa !5
  %8713 = add nsw i32 %8712, 1
  store i32 %8713, ptr @test_count, align 4, !tbaa !5
  %8714 = getelementptr inbounds i8, ptr %8659, i64 1696
  %8715 = call i32 @s2n_array_get(ptr noundef nonnull %8714, i32 noundef 0, ptr noundef nonnull %91) #12
  %8716 = call zeroext i1 @s2n_result_is_ok(i32 %8715)
  br i1 %8716, label %8739, label %8717

8717:                                             ; preds = %8711
  %8718 = load i32, ptr %288, align 4, !tbaa !5
  %8719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8720 = call i32 @s2n_print_stacktrace(ptr noundef %8719) #12
  %8721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8722 = trunc nuw i8 %8721 to i1
  br i1 %8722, label %8723, label %8727

8723:                                             ; preds = %8717
  %8724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8725 = call i32 @fileno(ptr noundef %8724) #12
  %8726 = call i32 @isatty(i32 noundef %8725) #12
  %.not1498 = icmp eq i32 %8726, 0
  br i1 %.not1498, label %8727, label %8728

8727:                                             ; preds = %8723, %8717
  br label %8728

8728:                                             ; preds = %8723, %8727
  %.str.81.sink4599 = phi ptr [ @.str.81, %8727 ], [ @.str.78, %8723 ]
  store i32 %8718, ptr %288, align 4, !tbaa !5
  %8729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8730 = load i32, ptr @test_count, align 4, !tbaa !5
  %8731 = load i32, ptr %234, align 4, !tbaa !5
  %8732 = call ptr @s2n_strerror(i32 noundef %8731, ptr noundef nonnull @.str.80) #12
  %8733 = load i32, ptr %234, align 4, !tbaa !5
  %8734 = call ptr @s2n_strerror_debug(i32 noundef %8733, ptr noundef nonnull @.str.80) #12
  %8735 = load i32, ptr %288, align 4, !tbaa !5
  %8736 = call ptr @strerror(i32 noundef %8735) #12
  %8737 = load i32, ptr %288, align 4, !tbaa !5
  %8738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8729, ptr noundef nonnull %.str.81.sink4599, i32 noundef %8730, ptr noundef nonnull @.str.261, ptr noundef nonnull @.str.77, i32 noundef 755, ptr noundef %8732, ptr noundef %8734, ptr noundef %8736, i32 noundef %8737) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8739:                                             ; preds = %8711
  %8740 = load i32, ptr @test_count, align 4, !tbaa !5
  %8741 = add nsw i32 %8740, 1
  store i32 %8741, ptr @test_count, align 4, !tbaa !5
  %8742 = load ptr, ptr %91, align 8, !tbaa !9
  %8743 = icmp eq ptr %8742, null
  br i1 %8743, label %8744, label %8766

8744:                                             ; preds = %8739
  %8745 = load i32, ptr %288, align 4, !tbaa !5
  %8746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8747 = call i32 @s2n_print_stacktrace(ptr noundef %8746) #12
  %8748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8749 = trunc nuw i8 %8748 to i1
  br i1 %8749, label %8750, label %8754

8750:                                             ; preds = %8744
  %8751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8752 = call i32 @fileno(ptr noundef %8751) #12
  %8753 = call i32 @isatty(i32 noundef %8752) #12
  %.not1701 = icmp eq i32 %8753, 0
  br i1 %.not1701, label %8754, label %8755

8754:                                             ; preds = %8750, %8744
  br label %8755

8755:                                             ; preds = %8750, %8754
  %.str.81.sink4608 = phi ptr [ @.str.81, %8754 ], [ @.str.78, %8750 ]
  store i32 %8745, ptr %288, align 4, !tbaa !5
  %8756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8757 = load i32, ptr @test_count, align 4, !tbaa !5
  %8758 = load i32, ptr %234, align 4, !tbaa !5
  %8759 = call ptr @s2n_strerror(i32 noundef %8758, ptr noundef nonnull @.str.80) #12
  %8760 = load i32, ptr %234, align 4, !tbaa !5
  %8761 = call ptr @s2n_strerror_debug(i32 noundef %8760, ptr noundef nonnull @.str.80) #12
  %8762 = load i32, ptr %288, align 4, !tbaa !5
  %8763 = call ptr @strerror(i32 noundef %8762) #12
  %8764 = load i32, ptr %288, align 4, !tbaa !5
  %8765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8756, ptr noundef nonnull %.str.81.sink4608, i32 noundef %8757, ptr noundef nonnull @.str.262, ptr noundef nonnull @.str.77, i32 noundef 756, ptr noundef %8759, ptr noundef %8761, ptr noundef %8763, i32 noundef %8764) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8766:                                             ; preds = %8739
  %8767 = add nsw i32 %8740, 2
  store i32 %8767, ptr @test_count, align 4, !tbaa !5
  %8768 = load i32, ptr %8742, align 8, !tbaa !15
  %8769 = icmp eq i32 %8768, 1
  br i1 %8769, label %8792, label %8770

8770:                                             ; preds = %8766
  %8771 = load i32, ptr %288, align 4, !tbaa !5
  %8772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8773 = call i32 @s2n_print_stacktrace(ptr noundef %8772) #12
  %8774 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8775 = trunc nuw i8 %8774 to i1
  br i1 %8775, label %8776, label %8780

8776:                                             ; preds = %8770
  %8777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8778 = call i32 @fileno(ptr noundef %8777) #12
  %8779 = call i32 @isatty(i32 noundef %8778) #12
  %.not1499 = icmp eq i32 %8779, 0
  br i1 %.not1499, label %8780, label %8781

8780:                                             ; preds = %8776, %8770
  br label %8781

8781:                                             ; preds = %8776, %8780
  %.str.81.sink4617 = phi ptr [ @.str.81, %8780 ], [ @.str.78, %8776 ]
  store i32 %8771, ptr %288, align 4, !tbaa !5
  %8782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8783 = load i32, ptr @test_count, align 4, !tbaa !5
  %8784 = load i32, ptr %234, align 4, !tbaa !5
  %8785 = call ptr @s2n_strerror(i32 noundef %8784, ptr noundef nonnull @.str.80) #12
  %8786 = load i32, ptr %234, align 4, !tbaa !5
  %8787 = call ptr @s2n_strerror_debug(i32 noundef %8786, ptr noundef nonnull @.str.80) #12
  %8788 = load i32, ptr %288, align 4, !tbaa !5
  %8789 = call ptr @strerror(i32 noundef %8788) #12
  %8790 = load i32, ptr %288, align 4, !tbaa !5
  %8791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8782, ptr noundef nonnull %.str.81.sink4617, i32 noundef %8783, ptr noundef nonnull @.str.263, ptr noundef nonnull @.str.77, i32 noundef 758, ptr noundef %8785, ptr noundef %8787, ptr noundef %8789, i32 noundef %8790) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8792:                                             ; preds = %8766
  %8793 = add nsw i32 %8740, 3
  store i32 %8793, ptr @test_count, align 4, !tbaa !5
  %8794 = getelementptr inbounds i8, ptr %8742, i64 16
  %8795 = load i32, ptr %8794, align 8, !tbaa !24
  %8796 = load ptr, ptr %90, align 8, !tbaa !9
  %8797 = getelementptr inbounds i8, ptr %8796, i64 16
  %8798 = load i32, ptr %8797, align 8, !tbaa !24
  %8799 = icmp eq i32 %8795, %8798
  br i1 %8799, label %8822, label %8800

8800:                                             ; preds = %8792
  %8801 = load i32, ptr %288, align 4, !tbaa !5
  %8802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8803 = call i32 @s2n_print_stacktrace(ptr noundef %8802) #12
  %8804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8805 = trunc nuw i8 %8804 to i1
  br i1 %8805, label %8806, label %8810

8806:                                             ; preds = %8800
  %8807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8808 = call i32 @fileno(ptr noundef %8807) #12
  %8809 = call i32 @isatty(i32 noundef %8808) #12
  %.not1500 = icmp eq i32 %8809, 0
  br i1 %.not1500, label %8810, label %8811

8810:                                             ; preds = %8806, %8800
  br label %8811

8811:                                             ; preds = %8806, %8810
  %.str.81.sink4626 = phi ptr [ @.str.81, %8810 ], [ @.str.78, %8806 ]
  store i32 %8801, ptr %288, align 4, !tbaa !5
  %8812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8813 = load i32, ptr @test_count, align 4, !tbaa !5
  %8814 = load i32, ptr %234, align 4, !tbaa !5
  %8815 = call ptr @s2n_strerror(i32 noundef %8814, ptr noundef nonnull @.str.80) #12
  %8816 = load i32, ptr %234, align 4, !tbaa !5
  %8817 = call ptr @s2n_strerror_debug(i32 noundef %8816, ptr noundef nonnull @.str.80) #12
  %8818 = load i32, ptr %288, align 4, !tbaa !5
  %8819 = call ptr @strerror(i32 noundef %8818) #12
  %8820 = load i32, ptr %288, align 4, !tbaa !5
  %8821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8812, ptr noundef nonnull %.str.81.sink4626, i32 noundef %8813, ptr noundef nonnull @.str.264, ptr noundef nonnull @.str.77, i32 noundef 759, ptr noundef %8815, ptr noundef %8817, ptr noundef %8819, i32 noundef %8820) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8822:                                             ; preds = %8792
  %.not1501 = icmp eq i32 %8795, 0
  br i1 %.not1501, label %8853, label %8823

8823:                                             ; preds = %8822
  %8824 = add nsw i32 %8740, 4
  store i32 %8824, ptr @test_count, align 4, !tbaa !5
  %8825 = getelementptr inbounds i8, ptr %8742, i64 8
  %8826 = load ptr, ptr %8825, align 8, !tbaa !25
  %8827 = getelementptr inbounds i8, ptr %8796, i64 8
  %8828 = load ptr, ptr %8827, align 8, !tbaa !25
  %8829 = zext i32 %8795 to i64
  %bcmp1502 = call i32 @bcmp(ptr %8826, ptr %8828, i64 %8829)
  %8830 = icmp eq i32 %bcmp1502, 0
  br i1 %8830, label %8853, label %8831

8831:                                             ; preds = %8823
  %8832 = load i32, ptr %288, align 4, !tbaa !5
  %8833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8834 = call i32 @s2n_print_stacktrace(ptr noundef %8833) #12
  %8835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8836 = trunc nuw i8 %8835 to i1
  br i1 %8836, label %8837, label %8841

8837:                                             ; preds = %8831
  %8838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8839 = call i32 @fileno(ptr noundef %8838) #12
  %8840 = call i32 @isatty(i32 noundef %8839) #12
  %.not1503 = icmp eq i32 %8840, 0
  br i1 %.not1503, label %8841, label %8842

8841:                                             ; preds = %8837, %8831
  br label %8842

8842:                                             ; preds = %8837, %8841
  %.str.81.sink4635 = phi ptr [ @.str.81, %8841 ], [ @.str.78, %8837 ]
  store i32 %8832, ptr %288, align 4, !tbaa !5
  %8843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8844 = load i32, ptr @test_count, align 4, !tbaa !5
  %8845 = load i32, ptr %234, align 4, !tbaa !5
  %8846 = call ptr @s2n_strerror(i32 noundef %8845, ptr noundef nonnull @.str.80) #12
  %8847 = load i32, ptr %234, align 4, !tbaa !5
  %8848 = call ptr @s2n_strerror_debug(i32 noundef %8847, ptr noundef nonnull @.str.80) #12
  %8849 = load i32, ptr %288, align 4, !tbaa !5
  %8850 = call ptr @strerror(i32 noundef %8849) #12
  %8851 = load i32, ptr %288, align 4, !tbaa !5
  %8852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8843, ptr noundef nonnull %.str.81.sink4635, i32 noundef %8844, ptr noundef nonnull @.str.265, ptr noundef nonnull @.str.77, i32 noundef 760, ptr noundef %8846, ptr noundef %8848, ptr noundef %8850, i32 noundef %8851) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8853:                                             ; preds = %8822, %8823
  %8854 = phi i32 [ %8793, %8822 ], [ %8824, %8823 ]
  %8855 = add nsw i32 %8854, 1
  store i32 %8855, ptr @test_count, align 4, !tbaa !5
  %8856 = getelementptr inbounds i8, ptr %8742, i64 40
  %8857 = load i32, ptr %8856, align 8, !tbaa !27
  %8858 = getelementptr inbounds i8, ptr %8796, i64 40
  %8859 = load i32, ptr %8858, align 8, !tbaa !27
  %8860 = icmp eq i32 %8857, %8859
  br i1 %8860, label %8883, label %8861

8861:                                             ; preds = %8853
  %8862 = load i32, ptr %288, align 4, !tbaa !5
  %8863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8864 = call i32 @s2n_print_stacktrace(ptr noundef %8863) #12
  %8865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8866 = trunc nuw i8 %8865 to i1
  br i1 %8866, label %8867, label %8871

8867:                                             ; preds = %8861
  %8868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8869 = call i32 @fileno(ptr noundef %8868) #12
  %8870 = call i32 @isatty(i32 noundef %8869) #12
  %.not1504 = icmp eq i32 %8870, 0
  br i1 %.not1504, label %8871, label %8872

8871:                                             ; preds = %8867, %8861
  br label %8872

8872:                                             ; preds = %8867, %8871
  %.str.81.sink4644 = phi ptr [ @.str.81, %8871 ], [ @.str.78, %8867 ]
  store i32 %8862, ptr %288, align 4, !tbaa !5
  %8873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8874 = load i32, ptr @test_count, align 4, !tbaa !5
  %8875 = load i32, ptr %234, align 4, !tbaa !5
  %8876 = call ptr @s2n_strerror(i32 noundef %8875, ptr noundef nonnull @.str.80) #12
  %8877 = load i32, ptr %234, align 4, !tbaa !5
  %8878 = call ptr @s2n_strerror_debug(i32 noundef %8877, ptr noundef nonnull @.str.80) #12
  %8879 = load i32, ptr %288, align 4, !tbaa !5
  %8880 = call ptr @strerror(i32 noundef %8879) #12
  %8881 = load i32, ptr %288, align 4, !tbaa !5
  %8882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8873, ptr noundef nonnull %.str.81.sink4644, i32 noundef %8874, ptr noundef nonnull @.str.266, ptr noundef nonnull @.str.77, i32 noundef 761, ptr noundef %8876, ptr noundef %8878, ptr noundef %8880, i32 noundef %8881) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8883:                                             ; preds = %8853
  %.not1505 = icmp eq i32 %8857, 0
  br i1 %.not1505, label %8914, label %8884

8884:                                             ; preds = %8883
  %8885 = add nsw i32 %8854, 2
  store i32 %8885, ptr @test_count, align 4, !tbaa !5
  %8886 = getelementptr inbounds i8, ptr %8742, i64 32
  %8887 = load ptr, ptr %8886, align 8, !tbaa !28
  %8888 = getelementptr inbounds i8, ptr %8796, i64 32
  %8889 = load ptr, ptr %8888, align 8, !tbaa !28
  %8890 = zext i32 %8857 to i64
  %bcmp1506 = call i32 @bcmp(ptr %8887, ptr %8889, i64 %8890)
  %8891 = icmp eq i32 %bcmp1506, 0
  br i1 %8891, label %8914, label %8892

8892:                                             ; preds = %8884
  %8893 = load i32, ptr %288, align 4, !tbaa !5
  %8894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8895 = call i32 @s2n_print_stacktrace(ptr noundef %8894) #12
  %8896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8897 = trunc nuw i8 %8896 to i1
  br i1 %8897, label %8898, label %8902

8898:                                             ; preds = %8892
  %8899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8900 = call i32 @fileno(ptr noundef %8899) #12
  %8901 = call i32 @isatty(i32 noundef %8900) #12
  %.not1507 = icmp eq i32 %8901, 0
  br i1 %.not1507, label %8902, label %8903

8902:                                             ; preds = %8898, %8892
  br label %8903

8903:                                             ; preds = %8898, %8902
  %.str.81.sink4653 = phi ptr [ @.str.81, %8902 ], [ @.str.78, %8898 ]
  store i32 %8893, ptr %288, align 4, !tbaa !5
  %8904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8905 = load i32, ptr @test_count, align 4, !tbaa !5
  %8906 = load i32, ptr %234, align 4, !tbaa !5
  %8907 = call ptr @s2n_strerror(i32 noundef %8906, ptr noundef nonnull @.str.80) #12
  %8908 = load i32, ptr %234, align 4, !tbaa !5
  %8909 = call ptr @s2n_strerror_debug(i32 noundef %8908, ptr noundef nonnull @.str.80) #12
  %8910 = load i32, ptr %288, align 4, !tbaa !5
  %8911 = call ptr @strerror(i32 noundef %8910) #12
  %8912 = load i32, ptr %288, align 4, !tbaa !5
  %8913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8904, ptr noundef nonnull %.str.81.sink4653, i32 noundef %8905, ptr noundef nonnull @.str.267, ptr noundef nonnull @.str.77, i32 noundef 762, ptr noundef %8907, ptr noundef %8909, ptr noundef %8911, i32 noundef %8912) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8914:                                             ; preds = %8883, %8884
  %8915 = phi i32 [ %8855, %8883 ], [ %8885, %8884 ]
  %8916 = add nsw i32 %8915, 1
  store i32 %8916, ptr @test_count, align 4, !tbaa !5
  %8917 = getelementptr inbounds i8, ptr %8742, i64 56
  %8918 = load i32, ptr %8917, align 8, !tbaa !20
  %8919 = icmp eq i32 %8918, 5
  br i1 %8919, label %8942, label %8920

8920:                                             ; preds = %8914
  %8921 = load i32, ptr %288, align 4, !tbaa !5
  %8922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8923 = call i32 @s2n_print_stacktrace(ptr noundef %8922) #12
  %8924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8925 = trunc nuw i8 %8924 to i1
  br i1 %8925, label %8926, label %8930

8926:                                             ; preds = %8920
  %8927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8928 = call i32 @fileno(ptr noundef %8927) #12
  %8929 = call i32 @isatty(i32 noundef %8928) #12
  %.not1508 = icmp eq i32 %8929, 0
  br i1 %.not1508, label %8930, label %8931

8930:                                             ; preds = %8926, %8920
  br label %8931

8931:                                             ; preds = %8926, %8930
  %.str.81.sink4662 = phi ptr [ @.str.81, %8930 ], [ @.str.78, %8926 ]
  store i32 %8921, ptr %288, align 4, !tbaa !5
  %8932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8933 = load i32, ptr @test_count, align 4, !tbaa !5
  %8934 = load i32, ptr %234, align 4, !tbaa !5
  %8935 = call ptr @s2n_strerror(i32 noundef %8934, ptr noundef nonnull @.str.80) #12
  %8936 = load i32, ptr %234, align 4, !tbaa !5
  %8937 = call ptr @s2n_strerror_debug(i32 noundef %8936, ptr noundef nonnull @.str.80) #12
  %8938 = load i32, ptr %288, align 4, !tbaa !5
  %8939 = call ptr @strerror(i32 noundef %8938) #12
  %8940 = load i32, ptr %288, align 4, !tbaa !5
  %8941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8932, ptr noundef nonnull %.str.81.sink4662, i32 noundef %8933, ptr noundef nonnull @.str.268, ptr noundef nonnull @.str.77, i32 noundef 763, ptr noundef %8935, ptr noundef %8937, ptr noundef %8939, i32 noundef %8940) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8942:                                             ; preds = %8914
  %8943 = add nsw i32 %8915, 2
  store i32 %8943, ptr @test_count, align 4, !tbaa !5
  %8944 = getelementptr inbounds i8, ptr %8742, i64 60
  %8945 = load i32, ptr %8944, align 4, !tbaa !21
  %8946 = icmp eq i32 %8945, 0
  br i1 %8946, label %8969, label %8947

8947:                                             ; preds = %8942
  %8948 = load i32, ptr %288, align 4, !tbaa !5
  %8949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8950 = call i32 @s2n_print_stacktrace(ptr noundef %8949) #12
  %8951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8952 = trunc nuw i8 %8951 to i1
  br i1 %8952, label %8953, label %8957

8953:                                             ; preds = %8947
  %8954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8955 = call i32 @fileno(ptr noundef %8954) #12
  %8956 = call i32 @isatty(i32 noundef %8955) #12
  %.not1509 = icmp eq i32 %8956, 0
  br i1 %.not1509, label %8957, label %8958

8957:                                             ; preds = %8953, %8947
  br label %8958

8958:                                             ; preds = %8953, %8957
  %.str.81.sink4671 = phi ptr [ @.str.81, %8957 ], [ @.str.78, %8953 ]
  store i32 %8948, ptr %288, align 4, !tbaa !5
  %8959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8960 = load i32, ptr @test_count, align 4, !tbaa !5
  %8961 = load i32, ptr %234, align 4, !tbaa !5
  %8962 = call ptr @s2n_strerror(i32 noundef %8961, ptr noundef nonnull @.str.80) #12
  %8963 = load i32, ptr %234, align 4, !tbaa !5
  %8964 = call ptr @s2n_strerror_debug(i32 noundef %8963, ptr noundef nonnull @.str.80) #12
  %8965 = load i32, ptr %288, align 4, !tbaa !5
  %8966 = call ptr @strerror(i32 noundef %8965) #12
  %8967 = load i32, ptr %288, align 4, !tbaa !5
  %8968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8959, ptr noundef nonnull %.str.81.sink4671, i32 noundef %8960, ptr noundef nonnull @.str.269, ptr noundef nonnull @.str.77, i32 noundef 764, ptr noundef %8962, ptr noundef %8964, ptr noundef %8966, i32 noundef %8967) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8969:                                             ; preds = %8942
  %8970 = add nsw i32 %8915, 3
  store i32 %8970, ptr @test_count, align 4, !tbaa !5
  %8971 = getelementptr inbounds i8, ptr %8742, i64 64
  %8972 = load i64, ptr %8971, align 8, !tbaa !22
  %8973 = icmp eq i64 %8972, 0
  br i1 %8973, label %8996, label %8974

8974:                                             ; preds = %8969
  %8975 = load i32, ptr %288, align 4, !tbaa !5
  %8976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8977 = call i32 @s2n_print_stacktrace(ptr noundef %8976) #12
  %8978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8979 = trunc nuw i8 %8978 to i1
  br i1 %8979, label %8980, label %8984

8980:                                             ; preds = %8974
  %8981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8982 = call i32 @fileno(ptr noundef %8981) #12
  %8983 = call i32 @isatty(i32 noundef %8982) #12
  %.not1510 = icmp eq i32 %8983, 0
  br i1 %.not1510, label %8984, label %8985

8984:                                             ; preds = %8980, %8974
  br label %8985

8985:                                             ; preds = %8980, %8984
  %.str.81.sink4680 = phi ptr [ @.str.81, %8984 ], [ @.str.78, %8980 ]
  store i32 %8975, ptr %288, align 4, !tbaa !5
  %8986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8987 = load i32, ptr @test_count, align 4, !tbaa !5
  %8988 = load i32, ptr %234, align 4, !tbaa !5
  %8989 = call ptr @s2n_strerror(i32 noundef %8988, ptr noundef nonnull @.str.80) #12
  %8990 = load i32, ptr %234, align 4, !tbaa !5
  %8991 = call ptr @s2n_strerror_debug(i32 noundef %8990, ptr noundef nonnull @.str.80) #12
  %8992 = load i32, ptr %288, align 4, !tbaa !5
  %8993 = call ptr @strerror(i32 noundef %8992) #12
  %8994 = load i32, ptr %288, align 4, !tbaa !5
  %8995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8986, ptr noundef nonnull %.str.81.sink4680, i32 noundef %8987, ptr noundef nonnull @.str.270, ptr noundef nonnull @.str.77, i32 noundef 765, ptr noundef %8989, ptr noundef %8991, ptr noundef %8993, i32 noundef %8994) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8996:                                             ; preds = %8969
  %8997 = add nsw i32 %8915, 4
  store i32 %8997, ptr @test_count, align 4, !tbaa !5
  %8998 = call i32 @s2n_connection_free(ptr noundef nonnull %8659) #12
  %8999 = icmp eq i32 %8998, -1
  br i1 %8999, label %9000, label %9022

9000:                                             ; preds = %8996
  %9001 = load i32, ptr %288, align 4, !tbaa !5
  %9002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9003 = call i32 @s2n_print_stacktrace(ptr noundef %9002) #12
  %9004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9005 = trunc nuw i8 %9004 to i1
  br i1 %9005, label %9006, label %9010

9006:                                             ; preds = %9000
  %9007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9008 = call i32 @fileno(ptr noundef %9007) #12
  %9009 = call i32 @isatty(i32 noundef %9008) #12
  %.not1700 = icmp eq i32 %9009, 0
  br i1 %.not1700, label %9010, label %9011

9010:                                             ; preds = %9006, %9000
  br label %9011

9011:                                             ; preds = %9006, %9010
  %.str.81.sink4689 = phi ptr [ @.str.81, %9010 ], [ @.str.78, %9006 ]
  store i32 %9001, ptr %288, align 4, !tbaa !5
  %9012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9013 = load i32, ptr @test_count, align 4, !tbaa !5
  %9014 = load i32, ptr %234, align 4, !tbaa !5
  %9015 = call ptr @s2n_strerror(i32 noundef %9014, ptr noundef nonnull @.str.80) #12
  %9016 = load i32, ptr %234, align 4, !tbaa !5
  %9017 = call ptr @s2n_strerror_debug(i32 noundef %9016, ptr noundef nonnull @.str.80) #12
  %9018 = load i32, ptr %288, align 4, !tbaa !5
  %9019 = call ptr @strerror(i32 noundef %9018) #12
  %9020 = load i32, ptr %288, align 4, !tbaa !5
  %9021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9012, ptr noundef nonnull %.str.81.sink4689, i32 noundef %9013, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 767, ptr noundef %9015, ptr noundef %9017, ptr noundef %9019, i32 noundef %9020) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9022:                                             ; preds = %8996
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %91) #12
  %9023 = load i32, ptr @test_count, align 4, !tbaa !5
  %9024 = add nsw i32 %9023, 1
  store i32 %9024, ptr @test_count, align 4, !tbaa !5
  %9025 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %9026 = icmp eq ptr %9025, null
  br i1 %9026, label %9027, label %9049

9027:                                             ; preds = %9022
  %9028 = load i32, ptr %288, align 4, !tbaa !5
  %9029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9030 = call i32 @s2n_print_stacktrace(ptr noundef %9029) #12
  %9031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9032 = trunc nuw i8 %9031 to i1
  br i1 %9032, label %9033, label %9037

9033:                                             ; preds = %9027
  %9034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9035 = call i32 @fileno(ptr noundef %9034) #12
  %9036 = call i32 @isatty(i32 noundef %9035) #12
  %.not1699 = icmp eq i32 %9036, 0
  br i1 %.not1699, label %9037, label %9038

9037:                                             ; preds = %9033, %9027
  br label %9038

9038:                                             ; preds = %9033, %9037
  %.str.81.sink4698 = phi ptr [ @.str.81, %9037 ], [ @.str.78, %9033 ]
  store i32 %9028, ptr %288, align 4, !tbaa !5
  %9039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9040 = load i32, ptr @test_count, align 4, !tbaa !5
  %9041 = load i32, ptr %234, align 4, !tbaa !5
  %9042 = call ptr @s2n_strerror(i32 noundef %9041, ptr noundef nonnull @.str.80) #12
  %9043 = load i32, ptr %234, align 4, !tbaa !5
  %9044 = call ptr @s2n_strerror_debug(i32 noundef %9043, ptr noundef nonnull @.str.80) #12
  %9045 = load i32, ptr %288, align 4, !tbaa !5
  %9046 = call ptr @strerror(i32 noundef %9045) #12
  %9047 = load i32, ptr %288, align 4, !tbaa !5
  %9048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9039, ptr noundef nonnull %.str.81.sink4698, i32 noundef %9040, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 773, ptr noundef %9042, ptr noundef %9044, ptr noundef %9046, i32 noundef %9047) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9049:                                             ; preds = %9022
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %92) #12
  %9050 = call ptr @s2n_external_psk_new()
  store ptr %9050, ptr %92, align 8, !tbaa !9
  %9051 = load i32, ptr @test_count, align 4, !tbaa !5
  %9052 = add nsw i32 %9051, 1
  store i32 %9052, ptr @test_count, align 4, !tbaa !5
  %9053 = call i32 @s2n_psk_set_identity(ptr noundef %9050, ptr noundef nonnull %86, i16 noundef zeroext 9)
  %9054 = icmp eq i32 %9053, -1
  br i1 %9054, label %9055, label %9077

9055:                                             ; preds = %9049
  %9056 = load i32, ptr %288, align 4, !tbaa !5
  %9057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9058 = call i32 @s2n_print_stacktrace(ptr noundef %9057) #12
  %9059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9060 = trunc nuw i8 %9059 to i1
  br i1 %9060, label %9061, label %9065

9061:                                             ; preds = %9055
  %9062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9063 = call i32 @fileno(ptr noundef %9062) #12
  %9064 = call i32 @isatty(i32 noundef %9063) #12
  %.not1698 = icmp eq i32 %9064, 0
  br i1 %.not1698, label %9065, label %9066

9065:                                             ; preds = %9061, %9055
  br label %9066

9066:                                             ; preds = %9061, %9065
  %.str.81.sink4707 = phi ptr [ @.str.81, %9065 ], [ @.str.78, %9061 ]
  store i32 %9056, ptr %288, align 4, !tbaa !5
  %9067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9068 = load i32, ptr @test_count, align 4, !tbaa !5
  %9069 = load i32, ptr %234, align 4, !tbaa !5
  %9070 = call ptr @s2n_strerror(i32 noundef %9069, ptr noundef nonnull @.str.80) #12
  %9071 = load i32, ptr %234, align 4, !tbaa !5
  %9072 = call ptr @s2n_strerror_debug(i32 noundef %9071, ptr noundef nonnull @.str.80) #12
  %9073 = load i32, ptr %288, align 4, !tbaa !5
  %9074 = call ptr @strerror(i32 noundef %9073) #12
  %9075 = load i32, ptr %288, align 4, !tbaa !5
  %9076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9067, ptr noundef nonnull %.str.81.sink4707, i32 noundef %9068, ptr noundef nonnull @.str.271, ptr noundef nonnull @.str.77, i32 noundef 776, ptr noundef %9070, ptr noundef %9072, ptr noundef %9074, i32 noundef %9075) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9077:                                             ; preds = %9049
  %9078 = load i32, ptr @test_count, align 4, !tbaa !5
  %9079 = add nsw i32 %9078, 1
  store i32 %9079, ptr @test_count, align 4, !tbaa !5
  %9080 = load ptr, ptr %92, align 8, !tbaa !9
  %9081 = call i32 @s2n_psk_set_secret(ptr noundef %9080, ptr noundef nonnull %87, i16 noundef zeroext 7)
  %9082 = icmp eq i32 %9081, -1
  br i1 %9082, label %9083, label %9105

9083:                                             ; preds = %9077
  %9084 = load i32, ptr %288, align 4, !tbaa !5
  %9085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9086 = call i32 @s2n_print_stacktrace(ptr noundef %9085) #12
  %9087 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9088 = trunc nuw i8 %9087 to i1
  br i1 %9088, label %9089, label %9093

9089:                                             ; preds = %9083
  %9090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9091 = call i32 @fileno(ptr noundef %9090) #12
  %9092 = call i32 @isatty(i32 noundef %9091) #12
  %.not1697 = icmp eq i32 %9092, 0
  br i1 %.not1697, label %9093, label %9094

9093:                                             ; preds = %9089, %9083
  br label %9094

9094:                                             ; preds = %9089, %9093
  %.str.81.sink4716 = phi ptr [ @.str.81, %9093 ], [ @.str.78, %9089 ]
  store i32 %9084, ptr %288, align 4, !tbaa !5
  %9095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9096 = load i32, ptr @test_count, align 4, !tbaa !5
  %9097 = load i32, ptr %234, align 4, !tbaa !5
  %9098 = call ptr @s2n_strerror(i32 noundef %9097, ptr noundef nonnull @.str.80) #12
  %9099 = load i32, ptr %234, align 4, !tbaa !5
  %9100 = call ptr @s2n_strerror_debug(i32 noundef %9099, ptr noundef nonnull @.str.80) #12
  %9101 = load i32, ptr %288, align 4, !tbaa !5
  %9102 = call ptr @strerror(i32 noundef %9101) #12
  %9103 = load i32, ptr %288, align 4, !tbaa !5
  %9104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9095, ptr noundef nonnull %.str.81.sink4716, i32 noundef %9096, ptr noundef nonnull @.str.272, ptr noundef nonnull @.str.77, i32 noundef 777, ptr noundef %9098, ptr noundef %9100, ptr noundef %9102, i32 noundef %9103) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9105:                                             ; preds = %9077
  %9106 = load i32, ptr @test_count, align 4, !tbaa !5
  %9107 = add nsw i32 %9106, 1
  store i32 %9107, ptr @test_count, align 4, !tbaa !5
  %9108 = load ptr, ptr %92, align 8, !tbaa !9
  %9109 = call i32 @s2n_psk_set_hmac(ptr noundef %9108, i32 noundef 1)
  %9110 = icmp eq i32 %9109, -1
  br i1 %9110, label %9111, label %9133

9111:                                             ; preds = %9105
  %9112 = load i32, ptr %288, align 4, !tbaa !5
  %9113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9114 = call i32 @s2n_print_stacktrace(ptr noundef %9113) #12
  %9115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9116 = trunc nuw i8 %9115 to i1
  br i1 %9116, label %9117, label %9121

9117:                                             ; preds = %9111
  %9118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9119 = call i32 @fileno(ptr noundef %9118) #12
  %9120 = call i32 @isatty(i32 noundef %9119) #12
  %.not1696 = icmp eq i32 %9120, 0
  br i1 %.not1696, label %9121, label %9122

9121:                                             ; preds = %9117, %9111
  br label %9122

9122:                                             ; preds = %9117, %9121
  %.str.81.sink4725 = phi ptr [ @.str.81, %9121 ], [ @.str.78, %9117 ]
  store i32 %9112, ptr %288, align 4, !tbaa !5
  %9123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9124 = load i32, ptr @test_count, align 4, !tbaa !5
  %9125 = load i32, ptr %234, align 4, !tbaa !5
  %9126 = call ptr @s2n_strerror(i32 noundef %9125, ptr noundef nonnull @.str.80) #12
  %9127 = load i32, ptr %234, align 4, !tbaa !5
  %9128 = call ptr @s2n_strerror_debug(i32 noundef %9127, ptr noundef nonnull @.str.80) #12
  %9129 = load i32, ptr %288, align 4, !tbaa !5
  %9130 = call ptr @strerror(i32 noundef %9129) #12
  %9131 = load i32, ptr %288, align 4, !tbaa !5
  %9132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9123, ptr noundef nonnull %.str.81.sink4725, i32 noundef %9124, ptr noundef nonnull @.str.273, ptr noundef nonnull @.str.77, i32 noundef 778, ptr noundef %9126, ptr noundef %9128, ptr noundef %9130, i32 noundef %9131) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9133:                                             ; preds = %9105
  %9134 = load i32, ptr @test_count, align 4, !tbaa !5
  %9135 = add nsw i32 %9134, 1
  store i32 %9135, ptr @test_count, align 4, !tbaa !5
  %9136 = load ptr, ptr %92, align 8, !tbaa !9
  %9137 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %9025, ptr noundef %9136)
  %9138 = icmp eq i32 %9137, -1
  br i1 %9138, label %9139, label %9161

9139:                                             ; preds = %9133
  %9140 = load i32, ptr %288, align 4, !tbaa !5
  %9141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9142 = call i32 @s2n_print_stacktrace(ptr noundef %9141) #12
  %9143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9144 = trunc nuw i8 %9143 to i1
  br i1 %9144, label %9145, label %9149

9145:                                             ; preds = %9139
  %9146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9147 = call i32 @fileno(ptr noundef %9146) #12
  %9148 = call i32 @isatty(i32 noundef %9147) #12
  %.not1695 = icmp eq i32 %9148, 0
  br i1 %.not1695, label %9149, label %9150

9149:                                             ; preds = %9145, %9139
  br label %9150

9150:                                             ; preds = %9145, %9149
  %.str.81.sink4734 = phi ptr [ @.str.81, %9149 ], [ @.str.78, %9145 ]
  store i32 %9140, ptr %288, align 4, !tbaa !5
  %9151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9152 = load i32, ptr @test_count, align 4, !tbaa !5
  %9153 = load i32, ptr %234, align 4, !tbaa !5
  %9154 = call ptr @s2n_strerror(i32 noundef %9153, ptr noundef nonnull @.str.80) #12
  %9155 = load i32, ptr %234, align 4, !tbaa !5
  %9156 = call ptr @s2n_strerror_debug(i32 noundef %9155, ptr noundef nonnull @.str.80) #12
  %9157 = load i32, ptr %288, align 4, !tbaa !5
  %9158 = call ptr @strerror(i32 noundef %9157) #12
  %9159 = load i32, ptr %288, align 4, !tbaa !5
  %9160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9151, ptr noundef nonnull %.str.81.sink4734, i32 noundef %9152, ptr noundef nonnull @.str.274, ptr noundef nonnull @.str.77, i32 noundef 780, ptr noundef %9154, ptr noundef %9156, ptr noundef %9158, i32 noundef %9159) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9161:                                             ; preds = %9133
  %9162 = load i32, ptr @test_count, align 4, !tbaa !5
  %9163 = add nsw i32 %9162, 1
  store i32 %9163, ptr @test_count, align 4, !tbaa !5
  %9164 = call i32 @s2n_psk_free(ptr noundef nonnull %92)
  %9165 = icmp eq i32 %9164, -1
  br i1 %9165, label %9166, label %9188

9166:                                             ; preds = %9161
  %9167 = load i32, ptr %288, align 4, !tbaa !5
  %9168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9169 = call i32 @s2n_print_stacktrace(ptr noundef %9168) #12
  %9170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9171 = trunc nuw i8 %9170 to i1
  br i1 %9171, label %9172, label %9176

9172:                                             ; preds = %9166
  %9173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9174 = call i32 @fileno(ptr noundef %9173) #12
  %9175 = call i32 @isatty(i32 noundef %9174) #12
  %.not1694 = icmp eq i32 %9175, 0
  br i1 %.not1694, label %9176, label %9177

9176:                                             ; preds = %9172, %9166
  br label %9177

9177:                                             ; preds = %9172, %9176
  %.str.81.sink4743 = phi ptr [ @.str.81, %9176 ], [ @.str.78, %9172 ]
  store i32 %9167, ptr %288, align 4, !tbaa !5
  %9178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9179 = load i32, ptr @test_count, align 4, !tbaa !5
  %9180 = load i32, ptr %234, align 4, !tbaa !5
  %9181 = call ptr @s2n_strerror(i32 noundef %9180, ptr noundef nonnull @.str.80) #12
  %9182 = load i32, ptr %234, align 4, !tbaa !5
  %9183 = call ptr @s2n_strerror_debug(i32 noundef %9182, ptr noundef nonnull @.str.80) #12
  %9184 = load i32, ptr %288, align 4, !tbaa !5
  %9185 = call ptr @strerror(i32 noundef %9184) #12
  %9186 = load i32, ptr %288, align 4, !tbaa !5
  %9187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9178, ptr noundef nonnull %.str.81.sink4743, i32 noundef %9179, ptr noundef nonnull @.str.275, ptr noundef nonnull @.str.77, i32 noundef 783, ptr noundef %9181, ptr noundef %9183, ptr noundef %9185, i32 noundef %9186) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9188:                                             ; preds = %9161
  %9189 = load i32, ptr @test_count, align 4, !tbaa !5
  %9190 = add nsw i32 %9189, 1
  store i32 %9190, ptr @test_count, align 4, !tbaa !5
  %9191 = load ptr, ptr %92, align 8, !tbaa !9
  %9192 = icmp eq ptr %9191, null
  br i1 %9192, label %9215, label %9193

9193:                                             ; preds = %9188
  %9194 = load i32, ptr %288, align 4, !tbaa !5
  %9195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9196 = call i32 @s2n_print_stacktrace(ptr noundef %9195) #12
  %9197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9198 = trunc nuw i8 %9197 to i1
  br i1 %9198, label %9199, label %9203

9199:                                             ; preds = %9193
  %9200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9201 = call i32 @fileno(ptr noundef %9200) #12
  %9202 = call i32 @isatty(i32 noundef %9201) #12
  %.not1511 = icmp eq i32 %9202, 0
  br i1 %.not1511, label %9203, label %9204

9203:                                             ; preds = %9199, %9193
  br label %9204

9204:                                             ; preds = %9199, %9203
  %.str.81.sink4752 = phi ptr [ @.str.81, %9203 ], [ @.str.78, %9199 ]
  store i32 %9194, ptr %288, align 4, !tbaa !5
  %9205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9206 = load i32, ptr @test_count, align 4, !tbaa !5
  %9207 = load i32, ptr %234, align 4, !tbaa !5
  %9208 = call ptr @s2n_strerror(i32 noundef %9207, ptr noundef nonnull @.str.80) #12
  %9209 = load i32, ptr %234, align 4, !tbaa !5
  %9210 = call ptr @s2n_strerror_debug(i32 noundef %9209, ptr noundef nonnull @.str.80) #12
  %9211 = load i32, ptr %288, align 4, !tbaa !5
  %9212 = call ptr @strerror(i32 noundef %9211) #12
  %9213 = load i32, ptr %288, align 4, !tbaa !5
  %9214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9205, ptr noundef nonnull %.str.81.sink4752, i32 noundef %9206, ptr noundef nonnull @.str.276, ptr noundef nonnull @.str.77, i32 noundef 784, ptr noundef %9208, ptr noundef %9210, ptr noundef %9212, i32 noundef %9213) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9215:                                             ; preds = %9188
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %93) #12
  store ptr null, ptr %93, align 8, !tbaa !9
  %9216 = add nsw i32 %9189, 2
  store i32 %9216, ptr @test_count, align 4, !tbaa !5
  %9217 = getelementptr inbounds i8, ptr %9025, i64 1696
  %9218 = call i32 @s2n_array_get(ptr noundef nonnull %9217, i32 noundef 0, ptr noundef nonnull %93) #12
  %9219 = call zeroext i1 @s2n_result_is_ok(i32 %9218)
  br i1 %9219, label %9242, label %9220

9220:                                             ; preds = %9215
  %9221 = load i32, ptr %288, align 4, !tbaa !5
  %9222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9223 = call i32 @s2n_print_stacktrace(ptr noundef %9222) #12
  %9224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9225 = trunc nuw i8 %9224 to i1
  br i1 %9225, label %9226, label %9230

9226:                                             ; preds = %9220
  %9227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9228 = call i32 @fileno(ptr noundef %9227) #12
  %9229 = call i32 @isatty(i32 noundef %9228) #12
  %.not1512 = icmp eq i32 %9229, 0
  br i1 %.not1512, label %9230, label %9231

9230:                                             ; preds = %9226, %9220
  br label %9231

9231:                                             ; preds = %9226, %9230
  %.str.81.sink4761 = phi ptr [ @.str.81, %9230 ], [ @.str.78, %9226 ]
  store i32 %9221, ptr %288, align 4, !tbaa !5
  %9232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9233 = load i32, ptr @test_count, align 4, !tbaa !5
  %9234 = load i32, ptr %234, align 4, !tbaa !5
  %9235 = call ptr @s2n_strerror(i32 noundef %9234, ptr noundef nonnull @.str.80) #12
  %9236 = load i32, ptr %234, align 4, !tbaa !5
  %9237 = call ptr @s2n_strerror_debug(i32 noundef %9236, ptr noundef nonnull @.str.80) #12
  %9238 = load i32, ptr %288, align 4, !tbaa !5
  %9239 = call ptr @strerror(i32 noundef %9238) #12
  %9240 = load i32, ptr %288, align 4, !tbaa !5
  %9241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9232, ptr noundef nonnull %.str.81.sink4761, i32 noundef %9233, ptr noundef nonnull @.str.277, ptr noundef nonnull @.str.77, i32 noundef 788, ptr noundef %9235, ptr noundef %9237, ptr noundef %9239, i32 noundef %9240) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9242:                                             ; preds = %9215
  %9243 = load i32, ptr @test_count, align 4, !tbaa !5
  %9244 = add nsw i32 %9243, 1
  store i32 %9244, ptr @test_count, align 4, !tbaa !5
  %9245 = load ptr, ptr %93, align 8, !tbaa !9
  %9246 = icmp eq ptr %9245, null
  br i1 %9246, label %9247, label %9269

9247:                                             ; preds = %9242
  %9248 = load i32, ptr %288, align 4, !tbaa !5
  %9249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9250 = call i32 @s2n_print_stacktrace(ptr noundef %9249) #12
  %9251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9252 = trunc nuw i8 %9251 to i1
  br i1 %9252, label %9253, label %9257

9253:                                             ; preds = %9247
  %9254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9255 = call i32 @fileno(ptr noundef %9254) #12
  %9256 = call i32 @isatty(i32 noundef %9255) #12
  %.not1693 = icmp eq i32 %9256, 0
  br i1 %.not1693, label %9257, label %9258

9257:                                             ; preds = %9253, %9247
  br label %9258

9258:                                             ; preds = %9253, %9257
  %.str.81.sink4770 = phi ptr [ @.str.81, %9257 ], [ @.str.78, %9253 ]
  store i32 %9248, ptr %288, align 4, !tbaa !5
  %9259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9260 = load i32, ptr @test_count, align 4, !tbaa !5
  %9261 = load i32, ptr %234, align 4, !tbaa !5
  %9262 = call ptr @s2n_strerror(i32 noundef %9261, ptr noundef nonnull @.str.80) #12
  %9263 = load i32, ptr %234, align 4, !tbaa !5
  %9264 = call ptr @s2n_strerror_debug(i32 noundef %9263, ptr noundef nonnull @.str.80) #12
  %9265 = load i32, ptr %288, align 4, !tbaa !5
  %9266 = call ptr @strerror(i32 noundef %9265) #12
  %9267 = load i32, ptr %288, align 4, !tbaa !5
  %9268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9259, ptr noundef nonnull %.str.81.sink4770, i32 noundef %9260, ptr noundef nonnull @.str.278, ptr noundef nonnull @.str.77, i32 noundef 789, ptr noundef %9262, ptr noundef %9264, ptr noundef %9266, i32 noundef %9267) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9269:                                             ; preds = %9242
  %9270 = add nsw i32 %9243, 2
  store i32 %9270, ptr @test_count, align 4, !tbaa !5
  %9271 = getelementptr inbounds i8, ptr %9245, i64 16
  %9272 = load i32, ptr %9271, align 8, !tbaa !24
  %9273 = load ptr, ptr %90, align 8, !tbaa !9
  %9274 = getelementptr inbounds i8, ptr %9273, i64 16
  %9275 = load i32, ptr %9274, align 8, !tbaa !24
  %9276 = icmp eq i32 %9272, %9275
  br i1 %9276, label %9299, label %9277

9277:                                             ; preds = %9269
  %9278 = load i32, ptr %288, align 4, !tbaa !5
  %9279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9280 = call i32 @s2n_print_stacktrace(ptr noundef %9279) #12
  %9281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9282 = trunc nuw i8 %9281 to i1
  br i1 %9282, label %9283, label %9287

9283:                                             ; preds = %9277
  %9284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9285 = call i32 @fileno(ptr noundef %9284) #12
  %9286 = call i32 @isatty(i32 noundef %9285) #12
  %.not1513 = icmp eq i32 %9286, 0
  br i1 %.not1513, label %9287, label %9288

9287:                                             ; preds = %9283, %9277
  br label %9288

9288:                                             ; preds = %9283, %9287
  %.str.81.sink4779 = phi ptr [ @.str.81, %9287 ], [ @.str.78, %9283 ]
  store i32 %9278, ptr %288, align 4, !tbaa !5
  %9289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9290 = load i32, ptr @test_count, align 4, !tbaa !5
  %9291 = load i32, ptr %234, align 4, !tbaa !5
  %9292 = call ptr @s2n_strerror(i32 noundef %9291, ptr noundef nonnull @.str.80) #12
  %9293 = load i32, ptr %234, align 4, !tbaa !5
  %9294 = call ptr @s2n_strerror_debug(i32 noundef %9293, ptr noundef nonnull @.str.80) #12
  %9295 = load i32, ptr %288, align 4, !tbaa !5
  %9296 = call ptr @strerror(i32 noundef %9295) #12
  %9297 = load i32, ptr %288, align 4, !tbaa !5
  %9298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9289, ptr noundef nonnull %.str.81.sink4779, i32 noundef %9290, ptr noundef nonnull @.str.279, ptr noundef nonnull @.str.77, i32 noundef 792, ptr noundef %9292, ptr noundef %9294, ptr noundef %9296, i32 noundef %9297) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9299:                                             ; preds = %9269
  %.not1514 = icmp eq i32 %9272, 0
  br i1 %.not1514, label %9330, label %9300

9300:                                             ; preds = %9299
  %9301 = add nsw i32 %9243, 3
  store i32 %9301, ptr @test_count, align 4, !tbaa !5
  %9302 = getelementptr inbounds i8, ptr %9245, i64 8
  %9303 = load ptr, ptr %9302, align 8, !tbaa !25
  %9304 = getelementptr inbounds i8, ptr %9273, i64 8
  %9305 = load ptr, ptr %9304, align 8, !tbaa !25
  %9306 = zext i32 %9272 to i64
  %bcmp1515 = call i32 @bcmp(ptr %9303, ptr %9305, i64 %9306)
  %9307 = icmp eq i32 %bcmp1515, 0
  br i1 %9307, label %9330, label %9308

9308:                                             ; preds = %9300
  %9309 = load i32, ptr %288, align 4, !tbaa !5
  %9310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9311 = call i32 @s2n_print_stacktrace(ptr noundef %9310) #12
  %9312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9313 = trunc nuw i8 %9312 to i1
  br i1 %9313, label %9314, label %9318

9314:                                             ; preds = %9308
  %9315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9316 = call i32 @fileno(ptr noundef %9315) #12
  %9317 = call i32 @isatty(i32 noundef %9316) #12
  %.not1516 = icmp eq i32 %9317, 0
  br i1 %.not1516, label %9318, label %9319

9318:                                             ; preds = %9314, %9308
  br label %9319

9319:                                             ; preds = %9314, %9318
  %.str.81.sink4788 = phi ptr [ @.str.81, %9318 ], [ @.str.78, %9314 ]
  store i32 %9309, ptr %288, align 4, !tbaa !5
  %9320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9321 = load i32, ptr @test_count, align 4, !tbaa !5
  %9322 = load i32, ptr %234, align 4, !tbaa !5
  %9323 = call ptr @s2n_strerror(i32 noundef %9322, ptr noundef nonnull @.str.80) #12
  %9324 = load i32, ptr %234, align 4, !tbaa !5
  %9325 = call ptr @s2n_strerror_debug(i32 noundef %9324, ptr noundef nonnull @.str.80) #12
  %9326 = load i32, ptr %288, align 4, !tbaa !5
  %9327 = call ptr @strerror(i32 noundef %9326) #12
  %9328 = load i32, ptr %288, align 4, !tbaa !5
  %9329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9320, ptr noundef nonnull %.str.81.sink4788, i32 noundef %9321, ptr noundef nonnull @.str.280, ptr noundef nonnull @.str.77, i32 noundef 793, ptr noundef %9323, ptr noundef %9325, ptr noundef %9327, i32 noundef %9328) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9330:                                             ; preds = %9299, %9300
  %9331 = phi i32 [ %9270, %9299 ], [ %9301, %9300 ]
  %9332 = add nsw i32 %9331, 1
  store i32 %9332, ptr @test_count, align 4, !tbaa !5
  %9333 = call i32 @s2n_connection_free(ptr noundef nonnull %9025) #12
  %9334 = icmp eq i32 %9333, -1
  br i1 %9334, label %9335, label %9357

9335:                                             ; preds = %9330
  %9336 = load i32, ptr %288, align 4, !tbaa !5
  %9337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9338 = call i32 @s2n_print_stacktrace(ptr noundef %9337) #12
  %9339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9340 = trunc nuw i8 %9339 to i1
  br i1 %9340, label %9341, label %9345

9341:                                             ; preds = %9335
  %9342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9343 = call i32 @fileno(ptr noundef %9342) #12
  %9344 = call i32 @isatty(i32 noundef %9343) #12
  %.not1692 = icmp eq i32 %9344, 0
  br i1 %.not1692, label %9345, label %9346

9345:                                             ; preds = %9341, %9335
  br label %9346

9346:                                             ; preds = %9341, %9345
  %.str.81.sink4797 = phi ptr [ @.str.81, %9345 ], [ @.str.78, %9341 ]
  store i32 %9336, ptr %288, align 4, !tbaa !5
  %9347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9348 = load i32, ptr @test_count, align 4, !tbaa !5
  %9349 = load i32, ptr %234, align 4, !tbaa !5
  %9350 = call ptr @s2n_strerror(i32 noundef %9349, ptr noundef nonnull @.str.80) #12
  %9351 = load i32, ptr %234, align 4, !tbaa !5
  %9352 = call ptr @s2n_strerror_debug(i32 noundef %9351, ptr noundef nonnull @.str.80) #12
  %9353 = load i32, ptr %288, align 4, !tbaa !5
  %9354 = call ptr @strerror(i32 noundef %9353) #12
  %9355 = load i32, ptr %288, align 4, !tbaa !5
  %9356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9347, ptr noundef nonnull %.str.81.sink4797, i32 noundef %9348, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 795, ptr noundef %9350, ptr noundef %9352, ptr noundef %9354, i32 noundef %9355) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9357:                                             ; preds = %9330
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %93) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %94) #12
  %9358 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %9358, ptr %94, align 8, !tbaa !9
  %9359 = load i32, ptr @test_count, align 4, !tbaa !5
  %9360 = add nsw i32 %9359, 1
  store i32 %9360, ptr @test_count, align 4, !tbaa !5
  %9361 = icmp eq ptr %9358, null
  br i1 %9361, label %9362, label %9384

9362:                                             ; preds = %9357
  %9363 = load i32, ptr %288, align 4, !tbaa !5
  %9364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9365 = call i32 @s2n_print_stacktrace(ptr noundef %9364) #12
  %9366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9367 = trunc nuw i8 %9366 to i1
  br i1 %9367, label %9368, label %9372

9368:                                             ; preds = %9362
  %9369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9370 = call i32 @fileno(ptr noundef %9369) #12
  %9371 = call i32 @isatty(i32 noundef %9370) #12
  %.not1691 = icmp eq i32 %9371, 0
  br i1 %.not1691, label %9372, label %9373

9372:                                             ; preds = %9368, %9362
  br label %9373

9373:                                             ; preds = %9368, %9372
  %.str.81.sink4806 = phi ptr [ @.str.81, %9372 ], [ @.str.78, %9368 ]
  store i32 %9363, ptr %288, align 4, !tbaa !5
  %9374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9375 = load i32, ptr @test_count, align 4, !tbaa !5
  %9376 = load i32, ptr %234, align 4, !tbaa !5
  %9377 = call ptr @s2n_strerror(i32 noundef %9376, ptr noundef nonnull @.str.80) #12
  %9378 = load i32, ptr %234, align 4, !tbaa !5
  %9379 = call ptr @s2n_strerror_debug(i32 noundef %9378, ptr noundef nonnull @.str.80) #12
  %9380 = load i32, ptr %288, align 4, !tbaa !5
  %9381 = call ptr @strerror(i32 noundef %9380) #12
  %9382 = load i32, ptr %288, align 4, !tbaa !5
  %9383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9374, ptr noundef nonnull %.str.81.sink4806, i32 noundef %9375, ptr noundef nonnull @.str.281, ptr noundef nonnull @.str.77, i32 noundef 803, ptr noundef %9377, ptr noundef %9379, ptr noundef %9381, i32 noundef %9382) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9384:                                             ; preds = %9357
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %95) #12
  %9385 = call ptr @s2n_external_psk_new()
  store ptr %9385, ptr %95, align 8, !tbaa !9
  %9386 = load i32, ptr @test_count, align 4, !tbaa !5
  %9387 = add nsw i32 %9386, 1
  store i32 %9387, ptr @test_count, align 4, !tbaa !5
  %9388 = call i32 @s2n_psk_set_secret(ptr noundef %9385, ptr noundef nonnull %87, i16 noundef zeroext 7)
  %9389 = icmp eq i32 %9388, -1
  br i1 %9389, label %9390, label %9412

9390:                                             ; preds = %9384
  %9391 = load i32, ptr %288, align 4, !tbaa !5
  %9392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9393 = call i32 @s2n_print_stacktrace(ptr noundef %9392) #12
  %9394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9395 = trunc nuw i8 %9394 to i1
  br i1 %9395, label %9396, label %9400

9396:                                             ; preds = %9390
  %9397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9398 = call i32 @fileno(ptr noundef %9397) #12
  %9399 = call i32 @isatty(i32 noundef %9398) #12
  %.not1690 = icmp eq i32 %9399, 0
  br i1 %.not1690, label %9400, label %9401

9400:                                             ; preds = %9396, %9390
  br label %9401

9401:                                             ; preds = %9396, %9400
  %.str.81.sink4815 = phi ptr [ @.str.81, %9400 ], [ @.str.78, %9396 ]
  store i32 %9391, ptr %288, align 4, !tbaa !5
  %9402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9403 = load i32, ptr @test_count, align 4, !tbaa !5
  %9404 = load i32, ptr %234, align 4, !tbaa !5
  %9405 = call ptr @s2n_strerror(i32 noundef %9404, ptr noundef nonnull @.str.80) #12
  %9406 = load i32, ptr %234, align 4, !tbaa !5
  %9407 = call ptr @s2n_strerror_debug(i32 noundef %9406, ptr noundef nonnull @.str.80) #12
  %9408 = load i32, ptr %288, align 4, !tbaa !5
  %9409 = call ptr @strerror(i32 noundef %9408) #12
  %9410 = load i32, ptr %288, align 4, !tbaa !5
  %9411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9402, ptr noundef nonnull %.str.81.sink4815, i32 noundef %9403, ptr noundef nonnull @.str.282, ptr noundef nonnull @.str.77, i32 noundef 806, ptr noundef %9405, ptr noundef %9407, ptr noundef %9409, i32 noundef %9410) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9412:                                             ; preds = %9384
  %9413 = load i32, ptr @test_count, align 4, !tbaa !5
  %9414 = add nsw i32 %9413, 1
  store i32 %9414, ptr @test_count, align 4, !tbaa !5
  %9415 = load ptr, ptr %94, align 8, !tbaa !9
  %9416 = load ptr, ptr %95, align 8, !tbaa !9
  %9417 = call i32 @s2n_connection_append_psk(ptr noundef %9415, ptr noundef %9416)
  %9418 = icmp eq i32 %9417, -1
  br i1 %9418, label %9441, label %9419

9419:                                             ; preds = %9412
  %9420 = load i32, ptr %288, 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
  %.not1517 = icmp eq i32 %9428, 0
  br i1 %.not1517, label %9429, label %9430

9429:                                             ; preds = %9425, %9419
  br label %9430

9430:                                             ; preds = %9425, %9429
  %.str.81.sink4824 = phi ptr [ @.str.81, %9429 ], [ @.str.78, %9425 ]
  store i32 %9420, ptr %288, 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 %234, align 4, !tbaa !5
  %9434 = call ptr @s2n_strerror(i32 noundef %9433, ptr noundef nonnull @.str.80) #12
  %9435 = load i32, ptr %234, align 4, !tbaa !5
  %9436 = call ptr @s2n_strerror_debug(i32 noundef %9435, ptr noundef nonnull @.str.80) #12
  %9437 = load i32, ptr %288, align 4, !tbaa !5
  %9438 = call ptr @strerror(i32 noundef %9437) #12
  %9439 = load i32, ptr %288, align 4, !tbaa !5
  %9440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9431, ptr noundef nonnull %.str.81.sink4824, i32 noundef %9432, ptr noundef nonnull @.str.283, ptr noundef nonnull @.str.77, i32 noundef 809, ptr noundef %9434, ptr noundef %9436, ptr noundef %9438, i32 noundef %9439) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9441:                                             ; preds = %9412
  %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 %234, align 4, !tbaa !5
  %9445 = icmp eq i32 %9444, 469762089
  br i1 %9445, label %9468, label %9446

9446:                                             ; preds = %9441
  %9447 = load i32, ptr %288, 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
  %.not1518 = icmp eq i32 %9455, 0
  br i1 %.not1518, label %9456, label %9457

9456:                                             ; preds = %9452, %9446
  br label %9457

9457:                                             ; preds = %9452, %9456
  %.str.81.sink4833 = phi ptr [ @.str.81, %9456 ], [ @.str.78, %9452 ]
  store i32 %9447, ptr %288, 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 %234, align 4, !tbaa !5
  %9461 = call ptr @s2n_strerror(i32 noundef %9460, ptr noundef nonnull @.str.80) #12
  %9462 = load i32, ptr %234, align 4, !tbaa !5
  %9463 = call ptr @s2n_strerror_debug(i32 noundef %9462, ptr noundef nonnull @.str.80) #12
  %9464 = load i32, ptr %288, align 4, !tbaa !5
  %9465 = call ptr @strerror(i32 noundef %9464) #12
  %9466 = load i32, ptr %288, align 4, !tbaa !5
  %9467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9458, ptr noundef nonnull %.str.81.sink4833, i32 noundef %9459, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.77, i32 noundef 809, 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 ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.80) #12
  %9471 = icmp eq ptr %9470, null
  br i1 %9471, label %9472, label %9494

9472:                                             ; preds = %9468
  %9473 = load i32, ptr %288, 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
  %.not1689 = icmp eq i32 %9481, 0
  br i1 %.not1689, label %9482, label %9483

9482:                                             ; preds = %9478, %9472
  br label %9483

9483:                                             ; preds = %9478, %9482
  %.str.81.sink4842 = phi ptr [ @.str.81, %9482 ], [ @.str.78, %9478 ]
  store i32 %9473, ptr %288, 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 %234, align 4, !tbaa !5
  %9487 = call ptr @s2n_strerror(i32 noundef %9486, ptr noundef nonnull @.str.80) #12
  %9488 = load i32, ptr %234, align 4, !tbaa !5
  %9489 = call ptr @s2n_strerror_debug(i32 noundef %9488, ptr noundef nonnull @.str.80) #12
  %9490 = load i32, ptr %288, align 4, !tbaa !5
  %9491 = call ptr @strerror(i32 noundef %9490) #12
  %9492 = load i32, ptr %288, align 4, !tbaa !5
  %9493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9484, ptr noundef nonnull %.str.81.sink4842, i32 noundef %9485, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 809, ptr noundef %9487, ptr noundef %9489, ptr noundef %9491, i32 noundef %9492) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9494:                                             ; preds = %9468
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %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 = load ptr, ptr %94, align 8, !tbaa !9
  %9498 = getelementptr inbounds i8, ptr %9497, i64 1720
  %9499 = load i32, ptr %9498, align 8, !tbaa !82
  %9500 = icmp eq i32 %9499, 0
  br i1 %9500, label %9523, label %9501

9501:                                             ; preds = %9494
  %9502 = load i32, ptr %288, align 4, !tbaa !5
  %9503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9504 = call i32 @s2n_print_stacktrace(ptr noundef %9503) #12
  %9505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9506 = trunc nuw i8 %9505 to i1
  br i1 %9506, label %9507, label %9511

9507:                                             ; preds = %9501
  %9508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9509 = call i32 @fileno(ptr noundef %9508) #12
  %9510 = call i32 @isatty(i32 noundef %9509) #12
  %.not1519 = icmp eq i32 %9510, 0
  br i1 %.not1519, label %9511, label %9512

9511:                                             ; preds = %9507, %9501
  br label %9512

9512:                                             ; preds = %9507, %9511
  %.str.81.sink4851 = phi ptr [ @.str.81, %9511 ], [ @.str.78, %9507 ]
  store i32 %9502, ptr %288, align 4, !tbaa !5
  %9513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9514 = load i32, ptr @test_count, align 4, !tbaa !5
  %9515 = load i32, ptr %234, align 4, !tbaa !5
  %9516 = call ptr @s2n_strerror(i32 noundef %9515, ptr noundef nonnull @.str.80) #12
  %9517 = load i32, ptr %234, align 4, !tbaa !5
  %9518 = call ptr @s2n_strerror_debug(i32 noundef %9517, ptr noundef nonnull @.str.80) #12
  %9519 = load i32, ptr %288, align 4, !tbaa !5
  %9520 = call ptr @strerror(i32 noundef %9519) #12
  %9521 = load i32, ptr %288, align 4, !tbaa !5
  %9522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9513, ptr noundef nonnull %.str.81.sink4851, i32 noundef %9514, ptr noundef nonnull @.str.284, ptr noundef nonnull @.str.77, i32 noundef 810, ptr noundef %9516, ptr noundef %9518, ptr noundef %9520, i32 noundef %9521) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9523:                                             ; preds = %9494
  %9524 = add nsw i32 %9495, 2
  store i32 %9524, ptr @test_count, align 4, !tbaa !5
  %9525 = load ptr, ptr %95, align 8, !tbaa !9
  %9526 = call i32 @s2n_psk_set_identity(ptr noundef %9525, ptr noundef nonnull %86, i16 noundef zeroext 9)
  %9527 = icmp eq i32 %9526, -1
  br i1 %9527, label %9528, label %9550

9528:                                             ; preds = %9523
  %9529 = load i32, ptr %288, align 4, !tbaa !5
  %9530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9531 = call i32 @s2n_print_stacktrace(ptr noundef %9530) #12
  %9532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9533 = trunc nuw i8 %9532 to i1
  br i1 %9533, label %9534, label %9538

9534:                                             ; preds = %9528
  %9535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9536 = call i32 @fileno(ptr noundef %9535) #12
  %9537 = call i32 @isatty(i32 noundef %9536) #12
  %.not1688 = icmp eq i32 %9537, 0
  br i1 %.not1688, label %9538, label %9539

9538:                                             ; preds = %9534, %9528
  br label %9539

9539:                                             ; preds = %9534, %9538
  %.str.81.sink4860 = phi ptr [ @.str.81, %9538 ], [ @.str.78, %9534 ]
  store i32 %9529, ptr %288, align 4, !tbaa !5
  %9540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9541 = load i32, ptr @test_count, align 4, !tbaa !5
  %9542 = load i32, ptr %234, align 4, !tbaa !5
  %9543 = call ptr @s2n_strerror(i32 noundef %9542, ptr noundef nonnull @.str.80) #12
  %9544 = load i32, ptr %234, align 4, !tbaa !5
  %9545 = call ptr @s2n_strerror_debug(i32 noundef %9544, ptr noundef nonnull @.str.80) #12
  %9546 = load i32, ptr %288, align 4, !tbaa !5
  %9547 = call ptr @strerror(i32 noundef %9546) #12
  %9548 = load i32, ptr %288, align 4, !tbaa !5
  %9549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9540, ptr noundef nonnull %.str.81.sink4860, i32 noundef %9541, ptr noundef nonnull @.str.285, ptr noundef nonnull @.str.77, i32 noundef 813, ptr noundef %9543, ptr noundef %9545, ptr noundef %9547, i32 noundef %9548) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9550:                                             ; preds = %9523
  %9551 = load i32, ptr @test_count, align 4, !tbaa !5
  %9552 = add nsw i32 %9551, 1
  store i32 %9552, ptr @test_count, align 4, !tbaa !5
  %9553 = load ptr, ptr %94, align 8, !tbaa !9
  %9554 = load ptr, ptr %95, align 8, !tbaa !9
  %9555 = call i32 @s2n_connection_append_psk(ptr noundef %9553, ptr noundef %9554)
  %9556 = icmp eq i32 %9555, -1
  br i1 %9556, label %9557, label %9579

9557:                                             ; preds = %9550
  %9558 = load i32, ptr %288, align 4, !tbaa !5
  %9559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9560 = call i32 @s2n_print_stacktrace(ptr noundef %9559) #12
  %9561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9562 = trunc nuw i8 %9561 to i1
  br i1 %9562, label %9563, label %9567

9563:                                             ; preds = %9557
  %9564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9565 = call i32 @fileno(ptr noundef %9564) #12
  %9566 = call i32 @isatty(i32 noundef %9565) #12
  %.not1687 = icmp eq i32 %9566, 0
  br i1 %.not1687, label %9567, label %9568

9567:                                             ; preds = %9563, %9557
  br label %9568

9568:                                             ; preds = %9563, %9567
  %.str.81.sink4869 = phi ptr [ @.str.81, %9567 ], [ @.str.78, %9563 ]
  store i32 %9558, ptr %288, align 4, !tbaa !5
  %9569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9570 = load i32, ptr @test_count, align 4, !tbaa !5
  %9571 = load i32, ptr %234, align 4, !tbaa !5
  %9572 = call ptr @s2n_strerror(i32 noundef %9571, ptr noundef nonnull @.str.80) #12
  %9573 = load i32, ptr %234, align 4, !tbaa !5
  %9574 = call ptr @s2n_strerror_debug(i32 noundef %9573, ptr noundef nonnull @.str.80) #12
  %9575 = load i32, ptr %288, align 4, !tbaa !5
  %9576 = call ptr @strerror(i32 noundef %9575) #12
  %9577 = load i32, ptr %288, align 4, !tbaa !5
  %9578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9569, ptr noundef nonnull %.str.81.sink4869, i32 noundef %9570, ptr noundef nonnull @.str.286, ptr noundef nonnull @.str.77, i32 noundef 814, ptr noundef %9572, ptr noundef %9574, ptr noundef %9576, i32 noundef %9577) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9579:                                             ; preds = %9550
  %9580 = call i32 @s2n_psk_free(ptr noundef nonnull %95)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #12
  %9581 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %94) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %94) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %96) #12
  %9582 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %9582, ptr %96, align 8, !tbaa !9
  %9583 = load i32, ptr @test_count, align 4, !tbaa !5
  %9584 = add nsw i32 %9583, 1
  store i32 %9584, ptr @test_count, align 4, !tbaa !5
  %9585 = icmp eq ptr %9582, null
  br i1 %9585, label %9586, label %9608

9586:                                             ; preds = %9579
  %9587 = load i32, ptr %288, align 4, !tbaa !5
  %9588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9589 = call i32 @s2n_print_stacktrace(ptr noundef %9588) #12
  %9590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9591 = trunc nuw i8 %9590 to i1
  br i1 %9591, label %9592, label %9596

9592:                                             ; preds = %9586
  %9593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9594 = call i32 @fileno(ptr noundef %9593) #12
  %9595 = call i32 @isatty(i32 noundef %9594) #12
  %.not1686 = icmp eq i32 %9595, 0
  br i1 %.not1686, label %9596, label %9597

9596:                                             ; preds = %9592, %9586
  br label %9597

9597:                                             ; preds = %9592, %9596
  %.str.81.sink4878 = phi ptr [ @.str.81, %9596 ], [ @.str.78, %9592 ]
  store i32 %9587, ptr %288, align 4, !tbaa !5
  %9598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9599 = load i32, ptr @test_count, align 4, !tbaa !5
  %9600 = load i32, ptr %234, align 4, !tbaa !5
  %9601 = call ptr @s2n_strerror(i32 noundef %9600, ptr noundef nonnull @.str.80) #12
  %9602 = load i32, ptr %234, align 4, !tbaa !5
  %9603 = call ptr @s2n_strerror_debug(i32 noundef %9602, ptr noundef nonnull @.str.80) #12
  %9604 = load i32, ptr %288, align 4, !tbaa !5
  %9605 = call ptr @strerror(i32 noundef %9604) #12
  %9606 = load i32, ptr %288, align 4, !tbaa !5
  %9607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9598, ptr noundef nonnull %.str.81.sink4878, i32 noundef %9599, ptr noundef nonnull @.str.281, ptr noundef nonnull @.str.77, i32 noundef 820, ptr noundef %9601, ptr noundef %9603, ptr noundef %9605, i32 noundef %9606) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9608:                                             ; preds = %9579
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %97) #12
  %9609 = call ptr @s2n_external_psk_new()
  store ptr %9609, ptr %97, align 8, !tbaa !9
  %9610 = load i32, ptr @test_count, align 4, !tbaa !5
  %9611 = add nsw i32 %9610, 1
  store i32 %9611, ptr @test_count, align 4, !tbaa !5
  %9612 = call i32 @s2n_psk_set_identity(ptr noundef %9609, ptr noundef nonnull %86, i16 noundef zeroext 9)
  %9613 = icmp eq i32 %9612, -1
  br i1 %9613, label %9614, label %9636

9614:                                             ; preds = %9608
  %9615 = load i32, ptr %288, align 4, !tbaa !5
  %9616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9617 = call i32 @s2n_print_stacktrace(ptr noundef %9616) #12
  %9618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9619 = trunc nuw i8 %9618 to i1
  br i1 %9619, label %9620, label %9624

9620:                                             ; preds = %9614
  %9621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9622 = call i32 @fileno(ptr noundef %9621) #12
  %9623 = call i32 @isatty(i32 noundef %9622) #12
  %.not1685 = icmp eq i32 %9623, 0
  br i1 %.not1685, label %9624, label %9625

9624:                                             ; preds = %9620, %9614
  br label %9625

9625:                                             ; preds = %9620, %9624
  %.str.81.sink4887 = phi ptr [ @.str.81, %9624 ], [ @.str.78, %9620 ]
  store i32 %9615, ptr %288, align 4, !tbaa !5
  %9626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9627 = load i32, ptr @test_count, align 4, !tbaa !5
  %9628 = load i32, ptr %234, align 4, !tbaa !5
  %9629 = call ptr @s2n_strerror(i32 noundef %9628, ptr noundef nonnull @.str.80) #12
  %9630 = load i32, ptr %234, align 4, !tbaa !5
  %9631 = call ptr @s2n_strerror_debug(i32 noundef %9630, ptr noundef nonnull @.str.80) #12
  %9632 = load i32, ptr %288, align 4, !tbaa !5
  %9633 = call ptr @strerror(i32 noundef %9632) #12
  %9634 = load i32, ptr %288, align 4, !tbaa !5
  %9635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9626, ptr noundef nonnull %.str.81.sink4887, i32 noundef %9627, ptr noundef nonnull @.str.285, ptr noundef nonnull @.str.77, i32 noundef 823, ptr noundef %9629, ptr noundef %9631, ptr noundef %9633, i32 noundef %9634) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9636:                                             ; preds = %9608
  %9637 = load i32, ptr @test_count, align 4, !tbaa !5
  %9638 = add nsw i32 %9637, 1
  store i32 %9638, ptr @test_count, align 4, !tbaa !5
  %9639 = load ptr, ptr %96, align 8, !tbaa !9
  %9640 = load ptr, ptr %97, align 8, !tbaa !9
  %9641 = call i32 @s2n_connection_append_psk(ptr noundef %9639, ptr noundef %9640)
  %9642 = icmp eq i32 %9641, -1
  br i1 %9642, label %9665, label %9643

9643:                                             ; preds = %9636
  %9644 = load i32, ptr %288, align 4, !tbaa !5
  %9645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9646 = call i32 @s2n_print_stacktrace(ptr noundef %9645) #12
  %9647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9648 = trunc nuw i8 %9647 to i1
  br i1 %9648, label %9649, label %9653

9649:                                             ; preds = %9643
  %9650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9651 = call i32 @fileno(ptr noundef %9650) #12
  %9652 = call i32 @isatty(i32 noundef %9651) #12
  %.not1520 = icmp eq i32 %9652, 0
  br i1 %.not1520, label %9653, label %9654

9653:                                             ; preds = %9649, %9643
  br label %9654

9654:                                             ; preds = %9649, %9653
  %.str.81.sink4896 = phi ptr [ @.str.81, %9653 ], [ @.str.78, %9649 ]
  store i32 %9644, ptr %288, align 4, !tbaa !5
  %9655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9656 = load i32, ptr @test_count, align 4, !tbaa !5
  %9657 = load i32, ptr %234, align 4, !tbaa !5
  %9658 = call ptr @s2n_strerror(i32 noundef %9657, ptr noundef nonnull @.str.80) #12
  %9659 = load i32, ptr %234, align 4, !tbaa !5
  %9660 = call ptr @s2n_strerror_debug(i32 noundef %9659, ptr noundef nonnull @.str.80) #12
  %9661 = load i32, ptr %288, align 4, !tbaa !5
  %9662 = call ptr @strerror(i32 noundef %9661) #12
  %9663 = load i32, ptr %288, align 4, !tbaa !5
  %9664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9655, ptr noundef nonnull %.str.81.sink4896, i32 noundef %9656, ptr noundef nonnull @.str.283, ptr noundef nonnull @.str.77, i32 noundef 826, ptr noundef %9658, ptr noundef %9660, ptr noundef %9662, i32 noundef %9663) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9665:                                             ; preds = %9636
  %9666 = load i32, ptr @test_count, align 4, !tbaa !5
  %9667 = add nsw i32 %9666, 1
  store i32 %9667, ptr @test_count, align 4, !tbaa !5
  %9668 = load i32, ptr %234, align 4, !tbaa !5
  %9669 = icmp eq i32 %9668, 469762089
  br i1 %9669, label %9692, label %9670

9670:                                             ; preds = %9665
  %9671 = load i32, ptr %288, align 4, !tbaa !5
  %9672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9673 = call i32 @s2n_print_stacktrace(ptr noundef %9672) #12
  %9674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9675 = trunc nuw i8 %9674 to i1
  br i1 %9675, label %9676, label %9680

9676:                                             ; preds = %9670
  %9677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9678 = call i32 @fileno(ptr noundef %9677) #12
  %9679 = call i32 @isatty(i32 noundef %9678) #12
  %.not1521 = icmp eq i32 %9679, 0
  br i1 %.not1521, label %9680, label %9681

9680:                                             ; preds = %9676, %9670
  br label %9681

9681:                                             ; preds = %9676, %9680
  %.str.81.sink4905 = phi ptr [ @.str.81, %9680 ], [ @.str.78, %9676 ]
  store i32 %9671, ptr %288, align 4, !tbaa !5
  %9682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9683 = load i32, ptr @test_count, align 4, !tbaa !5
  %9684 = load i32, ptr %234, align 4, !tbaa !5
  %9685 = call ptr @s2n_strerror(i32 noundef %9684, ptr noundef nonnull @.str.80) #12
  %9686 = load i32, ptr %234, align 4, !tbaa !5
  %9687 = call ptr @s2n_strerror_debug(i32 noundef %9686, ptr noundef nonnull @.str.80) #12
  %9688 = load i32, ptr %288, align 4, !tbaa !5
  %9689 = call ptr @strerror(i32 noundef %9688) #12
  %9690 = load i32, ptr %288, align 4, !tbaa !5
  %9691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9682, ptr noundef nonnull %.str.81.sink4905, i32 noundef %9683, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.77, i32 noundef 826, ptr noundef %9685, ptr noundef %9687, ptr noundef %9689, i32 noundef %9690) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9692:                                             ; preds = %9665
  %9693 = add nsw i32 %9666, 2
  store i32 %9693, ptr @test_count, align 4, !tbaa !5
  %9694 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.80) #12
  %9695 = icmp eq ptr %9694, null
  br i1 %9695, label %9696, label %9718

9696:                                             ; preds = %9692
  %9697 = load i32, ptr %288, align 4, !tbaa !5
  %9698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9699 = call i32 @s2n_print_stacktrace(ptr noundef %9698) #12
  %9700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9701 = trunc nuw i8 %9700 to i1
  br i1 %9701, label %9702, label %9706

9702:                                             ; preds = %9696
  %9703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9704 = call i32 @fileno(ptr noundef %9703) #12
  %9705 = call i32 @isatty(i32 noundef %9704) #12
  %.not1684 = icmp eq i32 %9705, 0
  br i1 %.not1684, label %9706, label %9707

9706:                                             ; preds = %9702, %9696
  br label %9707

9707:                                             ; preds = %9702, %9706
  %.str.81.sink4914 = phi ptr [ @.str.81, %9706 ], [ @.str.78, %9702 ]
  store i32 %9697, ptr %288, align 4, !tbaa !5
  %9708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9709 = load i32, ptr @test_count, align 4, !tbaa !5
  %9710 = load i32, ptr %234, align 4, !tbaa !5
  %9711 = call ptr @s2n_strerror(i32 noundef %9710, ptr noundef nonnull @.str.80) #12
  %9712 = load i32, ptr %234, align 4, !tbaa !5
  %9713 = call ptr @s2n_strerror_debug(i32 noundef %9712, ptr noundef nonnull @.str.80) #12
  %9714 = load i32, ptr %288, align 4, !tbaa !5
  %9715 = call ptr @strerror(i32 noundef %9714) #12
  %9716 = load i32, ptr %288, align 4, !tbaa !5
  %9717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9708, ptr noundef nonnull %.str.81.sink4914, i32 noundef %9709, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 826, ptr noundef %9711, ptr noundef %9713, ptr noundef %9715, i32 noundef %9716) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9718:                                             ; preds = %9692
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %9719 = load i32, ptr @test_count, align 4, !tbaa !5
  %9720 = add nsw i32 %9719, 1
  store i32 %9720, ptr @test_count, align 4, !tbaa !5
  %9721 = load ptr, ptr %96, align 8, !tbaa !9
  %9722 = getelementptr inbounds i8, ptr %9721, i64 1720
  %9723 = load i32, ptr %9722, align 8, !tbaa !82
  %9724 = icmp eq i32 %9723, 0
  br i1 %9724, label %9747, label %9725

9725:                                             ; preds = %9718
  %9726 = load i32, ptr %288, align 4, !tbaa !5
  %9727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9728 = call i32 @s2n_print_stacktrace(ptr noundef %9727) #12
  %9729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9730 = trunc nuw i8 %9729 to i1
  br i1 %9730, label %9731, label %9735

9731:                                             ; preds = %9725
  %9732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9733 = call i32 @fileno(ptr noundef %9732) #12
  %9734 = call i32 @isatty(i32 noundef %9733) #12
  %.not1522 = icmp eq i32 %9734, 0
  br i1 %.not1522, label %9735, label %9736

9735:                                             ; preds = %9731, %9725
  br label %9736

9736:                                             ; preds = %9731, %9735
  %.str.81.sink4923 = phi ptr [ @.str.81, %9735 ], [ @.str.78, %9731 ]
  store i32 %9726, ptr %288, align 4, !tbaa !5
  %9737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9738 = load i32, ptr @test_count, align 4, !tbaa !5
  %9739 = load i32, ptr %234, align 4, !tbaa !5
  %9740 = call ptr @s2n_strerror(i32 noundef %9739, ptr noundef nonnull @.str.80) #12
  %9741 = load i32, ptr %234, align 4, !tbaa !5
  %9742 = call ptr @s2n_strerror_debug(i32 noundef %9741, ptr noundef nonnull @.str.80) #12
  %9743 = load i32, ptr %288, align 4, !tbaa !5
  %9744 = call ptr @strerror(i32 noundef %9743) #12
  %9745 = load i32, ptr %288, align 4, !tbaa !5
  %9746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9737, ptr noundef nonnull %.str.81.sink4923, i32 noundef %9738, ptr noundef nonnull @.str.284, ptr noundef nonnull @.str.77, i32 noundef 827, ptr noundef %9740, ptr noundef %9742, ptr noundef %9744, i32 noundef %9745) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9747:                                             ; preds = %9718
  %9748 = add nsw i32 %9719, 2
  store i32 %9748, ptr @test_count, align 4, !tbaa !5
  %9749 = load ptr, ptr %97, align 8, !tbaa !9
  %9750 = call i32 @s2n_psk_set_secret(ptr noundef %9749, ptr noundef nonnull %87, i16 noundef zeroext 7)
  %9751 = icmp eq i32 %9750, -1
  br i1 %9751, label %9752, label %9774

9752:                                             ; preds = %9747
  %9753 = load i32, ptr %288, align 4, !tbaa !5
  %9754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9755 = call i32 @s2n_print_stacktrace(ptr noundef %9754) #12
  %9756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9757 = trunc nuw i8 %9756 to i1
  br i1 %9757, label %9758, label %9762

9758:                                             ; preds = %9752
  %9759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9760 = call i32 @fileno(ptr noundef %9759) #12
  %9761 = call i32 @isatty(i32 noundef %9760) #12
  %.not1683 = icmp eq i32 %9761, 0
  br i1 %.not1683, label %9762, label %9763

9762:                                             ; preds = %9758, %9752
  br label %9763

9763:                                             ; preds = %9758, %9762
  %.str.81.sink4932 = phi ptr [ @.str.81, %9762 ], [ @.str.78, %9758 ]
  store i32 %9753, ptr %288, align 4, !tbaa !5
  %9764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9765 = load i32, ptr @test_count, align 4, !tbaa !5
  %9766 = load i32, ptr %234, align 4, !tbaa !5
  %9767 = call ptr @s2n_strerror(i32 noundef %9766, ptr noundef nonnull @.str.80) #12
  %9768 = load i32, ptr %234, align 4, !tbaa !5
  %9769 = call ptr @s2n_strerror_debug(i32 noundef %9768, ptr noundef nonnull @.str.80) #12
  %9770 = load i32, ptr %288, align 4, !tbaa !5
  %9771 = call ptr @strerror(i32 noundef %9770) #12
  %9772 = load i32, ptr %288, align 4, !tbaa !5
  %9773 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9764, ptr noundef nonnull %.str.81.sink4932, i32 noundef %9765, ptr noundef nonnull @.str.282, ptr noundef nonnull @.str.77, i32 noundef 830, ptr noundef %9767, ptr noundef %9769, ptr noundef %9771, i32 noundef %9772) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9774:                                             ; preds = %9747
  %9775 = load i32, ptr @test_count, align 4, !tbaa !5
  %9776 = add nsw i32 %9775, 1
  store i32 %9776, ptr @test_count, align 4, !tbaa !5
  %9777 = load ptr, ptr %96, align 8, !tbaa !9
  %9778 = load ptr, ptr %97, align 8, !tbaa !9
  %9779 = call i32 @s2n_connection_append_psk(ptr noundef %9777, ptr noundef %9778)
  %9780 = icmp eq i32 %9779, -1
  br i1 %9780, label %9781, label %9803

9781:                                             ; preds = %9774
  %9782 = load i32, ptr %288, align 4, !tbaa !5
  %9783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9784 = call i32 @s2n_print_stacktrace(ptr noundef %9783) #12
  %9785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9786 = trunc nuw i8 %9785 to i1
  br i1 %9786, label %9787, label %9791

9787:                                             ; preds = %9781
  %9788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9789 = call i32 @fileno(ptr noundef %9788) #12
  %9790 = call i32 @isatty(i32 noundef %9789) #12
  %.not1682 = icmp eq i32 %9790, 0
  br i1 %.not1682, label %9791, label %9792

9791:                                             ; preds = %9787, %9781
  br label %9792

9792:                                             ; preds = %9787, %9791
  %.str.81.sink4941 = phi ptr [ @.str.81, %9791 ], [ @.str.78, %9787 ]
  store i32 %9782, ptr %288, align 4, !tbaa !5
  %9793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9794 = load i32, ptr @test_count, align 4, !tbaa !5
  %9795 = load i32, ptr %234, align 4, !tbaa !5
  %9796 = call ptr @s2n_strerror(i32 noundef %9795, ptr noundef nonnull @.str.80) #12
  %9797 = load i32, ptr %234, align 4, !tbaa !5
  %9798 = call ptr @s2n_strerror_debug(i32 noundef %9797, ptr noundef nonnull @.str.80) #12
  %9799 = load i32, ptr %288, align 4, !tbaa !5
  %9800 = call ptr @strerror(i32 noundef %9799) #12
  %9801 = load i32, ptr %288, align 4, !tbaa !5
  %9802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9793, ptr noundef nonnull %.str.81.sink4941, i32 noundef %9794, ptr noundef nonnull @.str.286, ptr noundef nonnull @.str.77, i32 noundef 831, ptr noundef %9796, ptr noundef %9798, ptr noundef %9800, i32 noundef %9801) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9803:                                             ; preds = %9774
  %9804 = call i32 @s2n_psk_free(ptr noundef nonnull %97)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %97) #12
  %9805 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %96) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %96) #12
  %9806 = load i32, ptr @test_count, align 4, !tbaa !5
  %9807 = add nsw i32 %9806, 1
  store i32 %9807, ptr @test_count, align 4, !tbaa !5
  %9808 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %9809 = icmp eq ptr %9808, null
  br i1 %9809, label %9810, label %9832

9810:                                             ; preds = %9803
  %9811 = load i32, ptr %288, align 4, !tbaa !5
  %9812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9813 = call i32 @s2n_print_stacktrace(ptr noundef %9812) #12
  %9814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9815 = trunc nuw i8 %9814 to i1
  br i1 %9815, label %9816, label %9820

9816:                                             ; preds = %9810
  %9817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9818 = call i32 @fileno(ptr noundef %9817) #12
  %9819 = call i32 @isatty(i32 noundef %9818) #12
  %.not1681 = icmp eq i32 %9819, 0
  br i1 %.not1681, label %9820, label %9821

9820:                                             ; preds = %9816, %9810
  br label %9821

9821:                                             ; preds = %9816, %9820
  %.str.81.sink4950 = phi ptr [ @.str.81, %9820 ], [ @.str.78, %9816 ]
  store i32 %9811, ptr %288, align 4, !tbaa !5
  %9822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9823 = load i32, ptr @test_count, align 4, !tbaa !5
  %9824 = load i32, ptr %234, align 4, !tbaa !5
  %9825 = call ptr @s2n_strerror(i32 noundef %9824, ptr noundef nonnull @.str.80) #12
  %9826 = load i32, ptr %234, align 4, !tbaa !5
  %9827 = call ptr @s2n_strerror_debug(i32 noundef %9826, ptr noundef nonnull @.str.80) #12
  %9828 = load i32, ptr %288, align 4, !tbaa !5
  %9829 = call ptr @strerror(i32 noundef %9828) #12
  %9830 = load i32, ptr %288, align 4, !tbaa !5
  %9831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9822, ptr noundef nonnull %.str.81.sink4950, i32 noundef %9823, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 838, ptr noundef %9825, ptr noundef %9827, ptr noundef %9829, i32 noundef %9830) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9832:                                             ; preds = %9803
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %98) #12
  %9833 = call ptr @s2n_external_psk_new()
  store ptr %9833, ptr %98, align 8, !tbaa !9
  %9834 = load i32, ptr @test_count, align 4, !tbaa !5
  %9835 = add nsw i32 %9834, 1
  store i32 %9835, ptr @test_count, align 4, !tbaa !5
  %9836 = call i32 @s2n_psk_set_secret(ptr noundef %9833, ptr noundef nonnull %87, i16 noundef zeroext 7)
  %9837 = icmp eq i32 %9836, -1
  br i1 %9837, label %9838, label %9860

9838:                                             ; preds = %9832
  %9839 = load i32, ptr %288, align 4, !tbaa !5
  %9840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9841 = call i32 @s2n_print_stacktrace(ptr noundef %9840) #12
  %9842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9843 = trunc nuw i8 %9842 to i1
  br i1 %9843, label %9844, label %9848

9844:                                             ; preds = %9838
  %9845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9846 = call i32 @fileno(ptr noundef %9845) #12
  %9847 = call i32 @isatty(i32 noundef %9846) #12
  %.not1680 = icmp eq i32 %9847, 0
  br i1 %.not1680, label %9848, label %9849

9848:                                             ; preds = %9844, %9838
  br label %9849

9849:                                             ; preds = %9844, %9848
  %.str.81.sink4959 = phi ptr [ @.str.81, %9848 ], [ @.str.78, %9844 ]
  store i32 %9839, ptr %288, align 4, !tbaa !5
  %9850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9851 = load i32, ptr @test_count, align 4, !tbaa !5
  %9852 = load i32, ptr %234, align 4, !tbaa !5
  %9853 = call ptr @s2n_strerror(i32 noundef %9852, ptr noundef nonnull @.str.80) #12
  %9854 = load i32, ptr %234, align 4, !tbaa !5
  %9855 = call ptr @s2n_strerror_debug(i32 noundef %9854, ptr noundef nonnull @.str.80) #12
  %9856 = load i32, ptr %288, align 4, !tbaa !5
  %9857 = call ptr @strerror(i32 noundef %9856) #12
  %9858 = load i32, ptr %288, align 4, !tbaa !5
  %9859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9850, ptr noundef nonnull %.str.81.sink4959, i32 noundef %9851, ptr noundef nonnull @.str.282, ptr noundef nonnull @.str.77, i32 noundef 841, ptr noundef %9853, ptr noundef %9855, ptr noundef %9857, i32 noundef %9858) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9860:                                             ; preds = %9832
  %9861 = load i32, ptr @test_count, align 4, !tbaa !5
  %9862 = add nsw i32 %9861, 1
  store i32 %9862, ptr @test_count, align 4, !tbaa !5
  %9863 = load ptr, ptr %98, align 8, !tbaa !9
  %9864 = call i32 @s2n_psk_set_identity(ptr noundef %9863, ptr noundef nonnull %89, i16 noundef zeroext -47)
  %9865 = icmp eq i32 %9864, -1
  br i1 %9865, label %9866, label %9888

9866:                                             ; preds = %9860
  %9867 = load i32, ptr %288, align 4, !tbaa !5
  %9868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9869 = call i32 @s2n_print_stacktrace(ptr noundef %9868) #12
  %9870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9871 = trunc nuw i8 %9870 to i1
  br i1 %9871, label %9872, label %9876

9872:                                             ; preds = %9866
  %9873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9874 = call i32 @fileno(ptr noundef %9873) #12
  %9875 = call i32 @isatty(i32 noundef %9874) #12
  %.not1679 = icmp eq i32 %9875, 0
  br i1 %.not1679, label %9876, label %9877

9876:                                             ; preds = %9872, %9866
  br label %9877

9877:                                             ; preds = %9872, %9876
  %.str.81.sink4968 = phi ptr [ @.str.81, %9876 ], [ @.str.78, %9872 ]
  store i32 %9867, ptr %288, align 4, !tbaa !5
  %9878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9879 = load i32, ptr @test_count, align 4, !tbaa !5
  %9880 = load i32, ptr %234, align 4, !tbaa !5
  %9881 = call ptr @s2n_strerror(i32 noundef %9880, ptr noundef nonnull @.str.80) #12
  %9882 = load i32, ptr %234, align 4, !tbaa !5
  %9883 = call ptr @s2n_strerror_debug(i32 noundef %9882, ptr noundef nonnull @.str.80) #12
  %9884 = load i32, ptr %288, align 4, !tbaa !5
  %9885 = call ptr @strerror(i32 noundef %9884) #12
  %9886 = load i32, ptr %288, align 4, !tbaa !5
  %9887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9878, ptr noundef nonnull %.str.81.sink4968, i32 noundef %9879, ptr noundef nonnull @.str.287, ptr noundef nonnull @.str.77, i32 noundef 852, ptr noundef %9881, ptr noundef %9883, ptr noundef %9885, i32 noundef %9886) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9888:                                             ; preds = %9860
  %9889 = load i32, ptr @test_count, align 4, !tbaa !5
  %9890 = add nsw i32 %9889, 1
  store i32 %9890, ptr @test_count, align 4, !tbaa !5
  %9891 = load ptr, ptr %98, align 8, !tbaa !9
  %9892 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %9808, ptr noundef %9891)
  %9893 = icmp eq i32 %9892, -1
  br i1 %9893, label %9916, label %9894

9894:                                             ; preds = %9888
  %9895 = load i32, ptr %288, align 4, !tbaa !5
  %9896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9897 = call i32 @s2n_print_stacktrace(ptr noundef %9896) #12
  %9898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9899 = trunc nuw i8 %9898 to i1
  br i1 %9899, label %9900, label %9904

9900:                                             ; preds = %9894
  %9901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9902 = call i32 @fileno(ptr noundef %9901) #12
  %9903 = call i32 @isatty(i32 noundef %9902) #12
  %.not1523 = icmp eq i32 %9903, 0
  br i1 %.not1523, label %9904, label %9905

9904:                                             ; preds = %9900, %9894
  br label %9905

9905:                                             ; preds = %9900, %9904
  %.str.81.sink4977 = phi ptr [ @.str.81, %9904 ], [ @.str.78, %9900 ]
  store i32 %9895, ptr %288, align 4, !tbaa !5
  %9906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9907 = load i32, ptr @test_count, align 4, !tbaa !5
  %9908 = load i32, ptr %234, align 4, !tbaa !5
  %9909 = call ptr @s2n_strerror(i32 noundef %9908, ptr noundef nonnull @.str.80) #12
  %9910 = load i32, ptr %234, align 4, !tbaa !5
  %9911 = call ptr @s2n_strerror_debug(i32 noundef %9910, ptr noundef nonnull @.str.80) #12
  %9912 = load i32, ptr %288, align 4, !tbaa !5
  %9913 = call ptr @strerror(i32 noundef %9912) #12
  %9914 = load i32, ptr %288, align 4, !tbaa !5
  %9915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9906, ptr noundef nonnull %.str.81.sink4977, i32 noundef %9907, ptr noundef nonnull @.str.283, ptr noundef nonnull @.str.77, i32 noundef 855, ptr noundef %9909, ptr noundef %9911, ptr noundef %9913, i32 noundef %9914) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9916:                                             ; preds = %9888
  %9917 = load i32, ptr @test_count, align 4, !tbaa !5
  %9918 = add nsw i32 %9917, 1
  store i32 %9918, ptr @test_count, align 4, !tbaa !5
  %9919 = load i32, ptr %234, align 4, !tbaa !5
  %9920 = icmp eq i32 %9919, 469762109
  br i1 %9920, label %9943, label %9921

9921:                                             ; preds = %9916
  %9922 = load i32, ptr %288, align 4, !tbaa !5
  %9923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9924 = call i32 @s2n_print_stacktrace(ptr noundef %9923) #12
  %9925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9926 = trunc nuw i8 %9925 to i1
  br i1 %9926, label %9927, label %9931

9927:                                             ; preds = %9921
  %9928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9929 = call i32 @fileno(ptr noundef %9928) #12
  %9930 = call i32 @isatty(i32 noundef %9929) #12
  %.not1524 = icmp eq i32 %9930, 0
  br i1 %.not1524, label %9931, label %9932

9931:                                             ; preds = %9927, %9921
  br label %9932

9932:                                             ; preds = %9927, %9931
  %.str.81.sink4986 = phi ptr [ @.str.81, %9931 ], [ @.str.78, %9927 ]
  store i32 %9922, ptr %288, align 4, !tbaa !5
  %9933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9934 = load i32, ptr @test_count, align 4, !tbaa !5
  %9935 = load i32, ptr %234, align 4, !tbaa !5
  %9936 = call ptr @s2n_strerror(i32 noundef %9935, ptr noundef nonnull @.str.80) #12
  %9937 = load i32, ptr %234, align 4, !tbaa !5
  %9938 = call ptr @s2n_strerror_debug(i32 noundef %9937, ptr noundef nonnull @.str.80) #12
  %9939 = load i32, ptr %288, align 4, !tbaa !5
  %9940 = call ptr @strerror(i32 noundef %9939) #12
  %9941 = load i32, ptr %288, align 4, !tbaa !5
  %9942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9933, ptr noundef nonnull %.str.81.sink4986, i32 noundef %9934, ptr noundef nonnull @.str.288, ptr noundef nonnull @.str.77, i32 noundef 855, ptr noundef %9936, ptr noundef %9938, ptr noundef %9940, i32 noundef %9941) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9943:                                             ; preds = %9916
  %9944 = add nsw i32 %9917, 2
  store i32 %9944, ptr @test_count, align 4, !tbaa !5
  %9945 = call ptr @s2n_strerror_debug(i32 noundef 469762109, ptr noundef nonnull @.str.80) #12
  %9946 = icmp eq ptr %9945, null
  br i1 %9946, label %9947, label %9969

9947:                                             ; preds = %9943
  %9948 = load i32, ptr %288, align 4, !tbaa !5
  %9949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9950 = call i32 @s2n_print_stacktrace(ptr noundef %9949) #12
  %9951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9952 = trunc nuw i8 %9951 to i1
  br i1 %9952, label %9953, label %9957

9953:                                             ; preds = %9947
  %9954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9955 = call i32 @fileno(ptr noundef %9954) #12
  %9956 = call i32 @isatty(i32 noundef %9955) #12
  %.not1678 = icmp eq i32 %9956, 0
  br i1 %.not1678, label %9957, label %9958

9957:                                             ; preds = %9953, %9947
  br label %9958

9958:                                             ; preds = %9953, %9957
  %.str.81.sink4995 = phi ptr [ @.str.81, %9957 ], [ @.str.78, %9953 ]
  store i32 %9948, ptr %288, align 4, !tbaa !5
  %9959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9960 = load i32, ptr @test_count, align 4, !tbaa !5
  %9961 = load i32, ptr %234, align 4, !tbaa !5
  %9962 = call ptr @s2n_strerror(i32 noundef %9961, ptr noundef nonnull @.str.80) #12
  %9963 = load i32, ptr %234, align 4, !tbaa !5
  %9964 = call ptr @s2n_strerror_debug(i32 noundef %9963, ptr noundef nonnull @.str.80) #12
  %9965 = load i32, ptr %288, align 4, !tbaa !5
  %9966 = call ptr @strerror(i32 noundef %9965) #12
  %9967 = load i32, ptr %288, align 4, !tbaa !5
  %9968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9959, ptr noundef nonnull %.str.81.sink4995, i32 noundef %9960, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 855, ptr noundef %9962, ptr noundef %9964, ptr noundef %9966, i32 noundef %9967) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9969:                                             ; preds = %9943
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %9970 = load i32, ptr @test_count, align 4, !tbaa !5
  %9971 = add nsw i32 %9970, 1
  store i32 %9971, ptr @test_count, align 4, !tbaa !5
  %9972 = getelementptr inbounds i8, ptr %9808, i64 1720
  %9973 = load i32, ptr %9972, align 8, !tbaa !82
  %9974 = icmp eq i32 %9973, 0
  br i1 %9974, label %9997, label %9975

9975:                                             ; preds = %9969
  %9976 = load i32, ptr %288, align 4, !tbaa !5
  %9977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9978 = call i32 @s2n_print_stacktrace(ptr noundef %9977) #12
  %9979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9980 = trunc nuw i8 %9979 to i1
  br i1 %9980, label %9981, label %9985

9981:                                             ; preds = %9975
  %9982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9983 = call i32 @fileno(ptr noundef %9982) #12
  %9984 = call i32 @isatty(i32 noundef %9983) #12
  %.not1525 = icmp eq i32 %9984, 0
  br i1 %.not1525, label %9985, label %9986

9985:                                             ; preds = %9981, %9975
  br label %9986

9986:                                             ; preds = %9981, %9985
  %.str.81.sink5004 = phi ptr [ @.str.81, %9985 ], [ @.str.78, %9981 ]
  store i32 %9976, ptr %288, align 4, !tbaa !5
  %9987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9988 = load i32, ptr @test_count, align 4, !tbaa !5
  %9989 = load i32, ptr %234, align 4, !tbaa !5
  %9990 = call ptr @s2n_strerror(i32 noundef %9989, ptr noundef nonnull @.str.80) #12
  %9991 = load i32, ptr %234, align 4, !tbaa !5
  %9992 = call ptr @s2n_strerror_debug(i32 noundef %9991, ptr noundef nonnull @.str.80) #12
  %9993 = load i32, ptr %288, align 4, !tbaa !5
  %9994 = call ptr @strerror(i32 noundef %9993) #12
  %9995 = load i32, ptr %288, align 4, !tbaa !5
  %9996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9987, ptr noundef nonnull %.str.81.sink5004, i32 noundef %9988, ptr noundef nonnull @.str.284, ptr noundef nonnull @.str.77, i32 noundef 856, ptr noundef %9990, ptr noundef %9992, ptr noundef %9994, i32 noundef %9995) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9997:                                             ; preds = %9969
  %9998 = add nsw i32 %9970, 2
  store i32 %9998, ptr @test_count, align 4, !tbaa !5
  %9999 = load ptr, ptr %98, align 8, !tbaa !9
  %10000 = call i32 @s2n_psk_set_identity(ptr noundef %9999, ptr noundef nonnull %89, i16 noundef zeroext -48)
  %10001 = icmp eq i32 %10000, -1
  br i1 %10001, label %10002, label %10024

10002:                                            ; preds = %9997
  %10003 = load i32, ptr %288, align 4, !tbaa !5
  %10004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10005 = call i32 @s2n_print_stacktrace(ptr noundef %10004) #12
  %10006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10007 = trunc nuw i8 %10006 to i1
  br i1 %10007, label %10008, label %10012

10008:                                            ; preds = %10002
  %10009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10010 = call i32 @fileno(ptr noundef %10009) #12
  %10011 = call i32 @isatty(i32 noundef %10010) #12
  %.not1677 = icmp eq i32 %10011, 0
  br i1 %.not1677, label %10012, label %10013

10012:                                            ; preds = %10008, %10002
  br label %10013

10013:                                            ; preds = %10008, %10012
  %.str.81.sink5013 = phi ptr [ @.str.81, %10012 ], [ @.str.78, %10008 ]
  store i32 %10003, ptr %288, align 4, !tbaa !5
  %10014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10015 = load i32, ptr @test_count, align 4, !tbaa !5
  %10016 = load i32, ptr %234, align 4, !tbaa !5
  %10017 = call ptr @s2n_strerror(i32 noundef %10016, ptr noundef nonnull @.str.80) #12
  %10018 = load i32, ptr %234, align 4, !tbaa !5
  %10019 = call ptr @s2n_strerror_debug(i32 noundef %10018, ptr noundef nonnull @.str.80) #12
  %10020 = load i32, ptr %288, align 4, !tbaa !5
  %10021 = call ptr @strerror(i32 noundef %10020) #12
  %10022 = load i32, ptr %288, align 4, !tbaa !5
  %10023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10014, ptr noundef nonnull %.str.81.sink5013, i32 noundef %10015, ptr noundef nonnull @.str.289, ptr noundef nonnull @.str.77, i32 noundef 859, ptr noundef %10017, ptr noundef %10019, ptr noundef %10021, i32 noundef %10022) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10024:                                            ; preds = %9997
  %10025 = load i32, ptr @test_count, align 4, !tbaa !5
  %10026 = add nsw i32 %10025, 1
  store i32 %10026, ptr @test_count, align 4, !tbaa !5
  %10027 = load ptr, ptr %98, align 8, !tbaa !9
  %10028 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %9808, ptr noundef %10027)
  %10029 = icmp eq i32 %10028, -1
  br i1 %10029, label %10030, label %10052

10030:                                            ; preds = %10024
  %10031 = load i32, ptr %288, align 4, !tbaa !5
  %10032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10033 = call i32 @s2n_print_stacktrace(ptr noundef %10032) #12
  %10034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10035 = trunc nuw i8 %10034 to i1
  br i1 %10035, label %10036, label %10040

10036:                                            ; preds = %10030
  %10037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10038 = call i32 @fileno(ptr noundef %10037) #12
  %10039 = call i32 @isatty(i32 noundef %10038) #12
  %.not1676 = icmp eq i32 %10039, 0
  br i1 %.not1676, label %10040, label %10041

10040:                                            ; preds = %10036, %10030
  br label %10041

10041:                                            ; preds = %10036, %10040
  %.str.81.sink5022 = phi ptr [ @.str.81, %10040 ], [ @.str.78, %10036 ]
  store i32 %10031, ptr %288, align 4, !tbaa !5
  %10042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10043 = load i32, ptr @test_count, align 4, !tbaa !5
  %10044 = load i32, ptr %234, align 4, !tbaa !5
  %10045 = call ptr @s2n_strerror(i32 noundef %10044, ptr noundef nonnull @.str.80) #12
  %10046 = load i32, ptr %234, align 4, !tbaa !5
  %10047 = call ptr @s2n_strerror_debug(i32 noundef %10046, ptr noundef nonnull @.str.80) #12
  %10048 = load i32, ptr %288, align 4, !tbaa !5
  %10049 = call ptr @strerror(i32 noundef %10048) #12
  %10050 = load i32, ptr %288, align 4, !tbaa !5
  %10051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10042, ptr noundef nonnull %.str.81.sink5022, i32 noundef %10043, ptr noundef nonnull @.str.286, ptr noundef nonnull @.str.77, i32 noundef 860, ptr noundef %10045, ptr noundef %10047, ptr noundef %10049, i32 noundef %10050) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10052:                                            ; preds = %10024
  %10053 = load i32, ptr @test_count, align 4, !tbaa !5
  %10054 = add nsw i32 %10053, 1
  store i32 %10054, ptr @test_count, align 4, !tbaa !5
  %10055 = call i32 @s2n_connection_free(ptr noundef nonnull %9808) #12
  %10056 = icmp eq i32 %10055, -1
  br i1 %10056, label %10057, label %10079

10057:                                            ; preds = %10052
  %10058 = load i32, ptr %288, align 4, !tbaa !5
  %10059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10060 = call i32 @s2n_print_stacktrace(ptr noundef %10059) #12
  %10061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10062 = trunc nuw i8 %10061 to i1
  br i1 %10062, label %10063, label %10067

10063:                                            ; preds = %10057
  %10064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10065 = call i32 @fileno(ptr noundef %10064) #12
  %10066 = call i32 @isatty(i32 noundef %10065) #12
  %.not1675 = icmp eq i32 %10066, 0
  br i1 %.not1675, label %10067, label %10068

10067:                                            ; preds = %10063, %10057
  br label %10068

10068:                                            ; preds = %10063, %10067
  %.str.81.sink5031 = phi ptr [ @.str.81, %10067 ], [ @.str.78, %10063 ]
  store i32 %10058, ptr %288, align 4, !tbaa !5
  %10069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10070 = load i32, ptr @test_count, align 4, !tbaa !5
  %10071 = load i32, ptr %234, align 4, !tbaa !5
  %10072 = call ptr @s2n_strerror(i32 noundef %10071, ptr noundef nonnull @.str.80) #12
  %10073 = load i32, ptr %234, align 4, !tbaa !5
  %10074 = call ptr @s2n_strerror_debug(i32 noundef %10073, ptr noundef nonnull @.str.80) #12
  %10075 = load i32, ptr %288, align 4, !tbaa !5
  %10076 = call ptr @strerror(i32 noundef %10075) #12
  %10077 = load i32, ptr %288, align 4, !tbaa !5
  %10078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10069, ptr noundef nonnull %.str.81.sink5031, i32 noundef %10070, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 862, ptr noundef %10072, ptr noundef %10074, ptr noundef %10076, i32 noundef %10077) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10079:                                            ; preds = %10052
  %10080 = call i32 @s2n_psk_free(ptr noundef nonnull %98)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %98) #12
  %10081 = load i32, ptr @test_count, align 4, !tbaa !5
  %10082 = add nsw i32 %10081, 1
  store i32 %10082, ptr @test_count, align 4, !tbaa !5
  %10083 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %10084 = icmp eq ptr %10083, null
  br i1 %10084, label %10085, label %10107

10085:                                            ; preds = %10079
  %10086 = load i32, ptr %288, align 4, !tbaa !5
  %10087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10088 = call i32 @s2n_print_stacktrace(ptr noundef %10087) #12
  %10089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10090 = trunc nuw i8 %10089 to i1
  br i1 %10090, label %10091, label %10095

10091:                                            ; preds = %10085
  %10092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10093 = call i32 @fileno(ptr noundef %10092) #12
  %10094 = call i32 @isatty(i32 noundef %10093) #12
  %.not1674 = icmp eq i32 %10094, 0
  br i1 %.not1674, label %10095, label %10096

10095:                                            ; preds = %10091, %10085
  br label %10096

10096:                                            ; preds = %10091, %10095
  %.str.81.sink5040 = phi ptr [ @.str.81, %10095 ], [ @.str.78, %10091 ]
  store i32 %10086, ptr %288, align 4, !tbaa !5
  %10097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10098 = load i32, ptr @test_count, align 4, !tbaa !5
  %10099 = load i32, ptr %234, align 4, !tbaa !5
  %10100 = call ptr @s2n_strerror(i32 noundef %10099, ptr noundef nonnull @.str.80) #12
  %10101 = load i32, ptr %234, align 4, !tbaa !5
  %10102 = call ptr @s2n_strerror_debug(i32 noundef %10101, ptr noundef nonnull @.str.80) #12
  %10103 = load i32, ptr %288, align 4, !tbaa !5
  %10104 = call ptr @strerror(i32 noundef %10103) #12
  %10105 = load i32, ptr %288, align 4, !tbaa !5
  %10106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10097, ptr noundef nonnull %.str.81.sink5040, i32 noundef %10098, ptr noundef nonnull @.str.290, ptr noundef nonnull @.str.77, i32 noundef 868, ptr noundef %10100, ptr noundef %10102, ptr noundef %10104, i32 noundef %10105) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10107:                                            ; preds = %10079
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %99) #12
  %10108 = call ptr @s2n_external_psk_new()
  store ptr %10108, ptr %99, align 8, !tbaa !9
  %10109 = load i32, ptr @test_count, align 4, !tbaa !5
  %10110 = add nsw i32 %10109, 1
  store i32 %10110, ptr @test_count, align 4, !tbaa !5
  %10111 = call i32 @s2n_psk_set_secret(ptr noundef %10108, ptr noundef nonnull %87, i16 noundef zeroext 7)
  %10112 = icmp eq i32 %10111, -1
  br i1 %10112, label %10113, label %10135

10113:                                            ; preds = %10107
  %10114 = load i32, ptr %288, align 4, !tbaa !5
  %10115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10116 = call i32 @s2n_print_stacktrace(ptr noundef %10115) #12
  %10117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10118 = trunc nuw i8 %10117 to i1
  br i1 %10118, label %10119, label %10123

10119:                                            ; preds = %10113
  %10120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10121 = call i32 @fileno(ptr noundef %10120) #12
  %10122 = call i32 @isatty(i32 noundef %10121) #12
  %.not1673 = icmp eq i32 %10122, 0
  br i1 %.not1673, label %10123, label %10124

10123:                                            ; preds = %10119, %10113
  br label %10124

10124:                                            ; preds = %10119, %10123
  %.str.81.sink5049 = phi ptr [ @.str.81, %10123 ], [ @.str.78, %10119 ]
  store i32 %10114, ptr %288, align 4, !tbaa !5
  %10125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10126 = load i32, ptr @test_count, align 4, !tbaa !5
  %10127 = load i32, ptr %234, align 4, !tbaa !5
  %10128 = call ptr @s2n_strerror(i32 noundef %10127, ptr noundef nonnull @.str.80) #12
  %10129 = load i32, ptr %234, align 4, !tbaa !5
  %10130 = call ptr @s2n_strerror_debug(i32 noundef %10129, ptr noundef nonnull @.str.80) #12
  %10131 = load i32, ptr %288, align 4, !tbaa !5
  %10132 = call ptr @strerror(i32 noundef %10131) #12
  %10133 = load i32, ptr %288, align 4, !tbaa !5
  %10134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10125, ptr noundef nonnull %.str.81.sink5049, i32 noundef %10126, ptr noundef nonnull @.str.282, ptr noundef nonnull @.str.77, i32 noundef 871, ptr noundef %10128, ptr noundef %10130, ptr noundef %10132, i32 noundef %10133) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10135:                                            ; preds = %10107
  %10136 = load i32, ptr @test_count, align 4, !tbaa !5
  %10137 = add nsw i32 %10136, 2
  store i32 %10137, ptr @test_count, align 4, !tbaa !5
  %10138 = load ptr, ptr %99, align 8, !tbaa !9
  %10139 = call i32 @s2n_psk_set_identity(ptr noundef %10138, ptr noundef nonnull %89, i16 noundef zeroext -1)
  %10140 = icmp eq i32 %10139, -1
  br i1 %10140, label %10141, label %10163

10141:                                            ; preds = %10135
  %10142 = load i32, ptr %288, 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
  %.not1672 = icmp eq i32 %10150, 0
  br i1 %.not1672, label %10151, label %10152

10151:                                            ; preds = %10147, %10141
  br label %10152

10152:                                            ; preds = %10147, %10151
  %.str.81.sink5058 = phi ptr [ @.str.81, %10151 ], [ @.str.78, %10147 ]
  store i32 %10142, ptr %288, 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 %234, align 4, !tbaa !5
  %10156 = call ptr @s2n_strerror(i32 noundef %10155, ptr noundef nonnull @.str.80) #12
  %10157 = load i32, ptr %234, align 4, !tbaa !5
  %10158 = call ptr @s2n_strerror_debug(i32 noundef %10157, ptr noundef nonnull @.str.80) #12
  %10159 = load i32, ptr %288, align 4, !tbaa !5
  %10160 = call ptr @strerror(i32 noundef %10159) #12
  %10161 = load i32, ptr %288, align 4, !tbaa !5
  %10162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10153, ptr noundef nonnull %.str.81.sink5058, i32 noundef %10154, ptr noundef nonnull @.str.291, ptr noundef nonnull @.str.77, i32 noundef 874, ptr noundef %10156, ptr noundef %10158, ptr noundef %10160, i32 noundef %10161) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10163:                                            ; preds = %10135
  %10164 = load i32, ptr @test_count, align 4, !tbaa !5
  %10165 = add nsw i32 %10164, 1
  store i32 %10165, ptr @test_count, align 4, !tbaa !5
  %10166 = load ptr, ptr %99, align 8, !tbaa !9
  %10167 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %10083, ptr noundef %10166)
  %10168 = icmp eq i32 %10167, -1
  br i1 %10168, label %10169, label %10191

10169:                                            ; preds = %10163
  %10170 = load i32, ptr %288, align 4, !tbaa !5
  %10171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10172 = call i32 @s2n_print_stacktrace(ptr noundef %10171) #12
  %10173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10174 = trunc nuw i8 %10173 to i1
  br i1 %10174, label %10175, label %10179

10175:                                            ; preds = %10169
  %10176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10177 = call i32 @fileno(ptr noundef %10176) #12
  %10178 = call i32 @isatty(i32 noundef %10177) #12
  %.not1671 = icmp eq i32 %10178, 0
  br i1 %.not1671, label %10179, label %10180

10179:                                            ; preds = %10175, %10169
  br label %10180

10180:                                            ; preds = %10175, %10179
  %.str.81.sink5067 = phi ptr [ @.str.81, %10179 ], [ @.str.78, %10175 ]
  store i32 %10170, ptr %288, align 4, !tbaa !5
  %10181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10182 = load i32, ptr @test_count, align 4, !tbaa !5
  %10183 = load i32, ptr %234, align 4, !tbaa !5
  %10184 = call ptr @s2n_strerror(i32 noundef %10183, ptr noundef nonnull @.str.80) #12
  %10185 = load i32, ptr %234, align 4, !tbaa !5
  %10186 = call ptr @s2n_strerror_debug(i32 noundef %10185, ptr noundef nonnull @.str.80) #12
  %10187 = load i32, ptr %288, align 4, !tbaa !5
  %10188 = call ptr @strerror(i32 noundef %10187) #12
  %10189 = load i32, ptr %288, align 4, !tbaa !5
  %10190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10181, ptr noundef nonnull %.str.81.sink5067, i32 noundef %10182, ptr noundef nonnull @.str.286, ptr noundef nonnull @.str.77, i32 noundef 876, ptr noundef %10184, ptr noundef %10186, ptr noundef %10188, i32 noundef %10189) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10191:                                            ; preds = %10163
  %10192 = load i32, ptr @test_count, align 4, !tbaa !5
  %10193 = add nsw i32 %10192, 1
  store i32 %10193, ptr @test_count, align 4, !tbaa !5
  %10194 = getelementptr inbounds i8, ptr %10083, i64 1720
  %10195 = load i32, ptr %10194, align 8, !tbaa !82
  %10196 = icmp eq i32 %10195, 1
  br i1 %10196, label %10219, label %10197

10197:                                            ; preds = %10191
  %10198 = load i32, ptr %288, align 4, !tbaa !5
  %10199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10200 = call i32 @s2n_print_stacktrace(ptr noundef %10199) #12
  %10201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10202 = trunc nuw i8 %10201 to i1
  br i1 %10202, label %10203, label %10207

10203:                                            ; preds = %10197
  %10204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10205 = call i32 @fileno(ptr noundef %10204) #12
  %10206 = call i32 @isatty(i32 noundef %10205) #12
  %.not1526 = icmp eq i32 %10206, 0
  br i1 %.not1526, label %10207, label %10208

10207:                                            ; preds = %10203, %10197
  br label %10208

10208:                                            ; preds = %10203, %10207
  %.str.81.sink5076 = phi ptr [ @.str.81, %10207 ], [ @.str.78, %10203 ]
  store i32 %10198, ptr %288, align 4, !tbaa !5
  %10209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10210 = load i32, ptr @test_count, align 4, !tbaa !5
  %10211 = load i32, ptr %234, align 4, !tbaa !5
  %10212 = call ptr @s2n_strerror(i32 noundef %10211, ptr noundef nonnull @.str.80) #12
  %10213 = load i32, ptr %234, align 4, !tbaa !5
  %10214 = call ptr @s2n_strerror_debug(i32 noundef %10213, ptr noundef nonnull @.str.80) #12
  %10215 = load i32, ptr %288, align 4, !tbaa !5
  %10216 = call ptr @strerror(i32 noundef %10215) #12
  %10217 = load i32, ptr %288, align 4, !tbaa !5
  %10218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10209, ptr noundef nonnull %.str.81.sink5076, i32 noundef %10210, ptr noundef nonnull @.str.292, ptr noundef nonnull @.str.77, i32 noundef 877, ptr noundef %10212, ptr noundef %10214, ptr noundef %10216, i32 noundef %10217) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10219:                                            ; preds = %10191
  %10220 = add nsw i32 %10192, 2
  store i32 %10220, ptr @test_count, align 4, !tbaa !5
  %10221 = call i32 @s2n_connection_free(ptr noundef nonnull %10083) #12
  %10222 = icmp eq i32 %10221, -1
  br i1 %10222, label %10223, label %10245

10223:                                            ; preds = %10219
  %10224 = load i32, ptr %288, 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
  %.not1670 = icmp eq i32 %10232, 0
  br i1 %.not1670, label %10233, label %10234

10233:                                            ; preds = %10229, %10223
  br label %10234

10234:                                            ; preds = %10229, %10233
  %.str.81.sink5085 = phi ptr [ @.str.81, %10233 ], [ @.str.78, %10229 ]
  store i32 %10224, ptr %288, 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 %234, align 4, !tbaa !5
  %10238 = call ptr @s2n_strerror(i32 noundef %10237, ptr noundef nonnull @.str.80) #12
  %10239 = load i32, ptr %234, align 4, !tbaa !5
  %10240 = call ptr @s2n_strerror_debug(i32 noundef %10239, ptr noundef nonnull @.str.80) #12
  %10241 = load i32, ptr %288, align 4, !tbaa !5
  %10242 = call ptr @strerror(i32 noundef %10241) #12
  %10243 = load i32, ptr %288, align 4, !tbaa !5
  %10244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10235, ptr noundef nonnull %.str.81.sink5085, i32 noundef %10236, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 879, ptr noundef %10238, ptr noundef %10240, ptr noundef %10242, i32 noundef %10243) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10245:                                            ; preds = %10219
  %10246 = call i32 @s2n_psk_free(ptr noundef nonnull %99)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #12
  %10247 = load i32, ptr @test_count, align 4, !tbaa !5
  %10248 = add nsw i32 %10247, 1
  store i32 %10248, ptr @test_count, align 4, !tbaa !5
  %10249 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %10250 = icmp eq ptr %10249, null
  br i1 %10250, label %10251, label %10273

10251:                                            ; preds = %10245
  %10252 = load i32, ptr %288, align 4, !tbaa !5
  %10253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10254 = call i32 @s2n_print_stacktrace(ptr noundef %10253) #12
  %10255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10256 = trunc nuw i8 %10255 to i1
  br i1 %10256, label %10257, label %10261

10257:                                            ; preds = %10251
  %10258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10259 = call i32 @fileno(ptr noundef %10258) #12
  %10260 = call i32 @isatty(i32 noundef %10259) #12
  %.not1669 = icmp eq i32 %10260, 0
  br i1 %.not1669, label %10261, label %10262

10261:                                            ; preds = %10257, %10251
  br label %10262

10262:                                            ; preds = %10257, %10261
  %.str.81.sink5094 = phi ptr [ @.str.81, %10261 ], [ @.str.78, %10257 ]
  store i32 %10252, ptr %288, align 4, !tbaa !5
  %10263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10264 = load i32, ptr @test_count, align 4, !tbaa !5
  %10265 = load i32, ptr %234, align 4, !tbaa !5
  %10266 = call ptr @s2n_strerror(i32 noundef %10265, ptr noundef nonnull @.str.80) #12
  %10267 = load i32, ptr %234, align 4, !tbaa !5
  %10268 = call ptr @s2n_strerror_debug(i32 noundef %10267, ptr noundef nonnull @.str.80) #12
  %10269 = load i32, ptr %288, align 4, !tbaa !5
  %10270 = call ptr @strerror(i32 noundef %10269) #12
  %10271 = load i32, ptr %288, align 4, !tbaa !5
  %10272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10263, ptr noundef nonnull %.str.81.sink5094, i32 noundef %10264, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 885, ptr noundef %10266, ptr noundef %10268, ptr noundef %10270, i32 noundef %10271) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10273:                                            ; preds = %10245
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %100) #12
  store i32 0, ptr %100, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %101) #12
  store ptr null, ptr %101, align 8, !tbaa !9
  %10274 = load i32, ptr @test_count, align 4, !tbaa !5
  %10275 = add nsw i32 %10274, 1
  store i32 %10275, ptr @test_count, align 4, !tbaa !5
  %10276 = call i32 @s2n_connection_set_psk_mode(ptr noundef nonnull %10249, i32 noundef 1)
  %10277 = icmp eq i32 %10276, -1
  br i1 %10277, label %10280, label %.preheader

.preheader:                                       ; preds = %10273
  %10278 = getelementptr inbounds i8, ptr %10249, i64 1688
  %10279 = getelementptr inbounds i8, ptr %10249, i64 1696
  br label %10302

10280:                                            ; preds = %10273
  %10281 = load i32, ptr %288, align 4, !tbaa !5
  %10282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10283 = call i32 @s2n_print_stacktrace(ptr noundef %10282) #12
  %10284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10285 = trunc nuw i8 %10284 to i1
  br i1 %10285, label %10286, label %10290

10286:                                            ; preds = %10280
  %10287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10288 = call i32 @fileno(ptr noundef %10287) #12
  %10289 = call i32 @isatty(i32 noundef %10288) #12
  %.not1668 = icmp eq i32 %10289, 0
  br i1 %.not1668, label %10290, label %10291

10290:                                            ; preds = %10286, %10280
  br label %10291

10291:                                            ; preds = %10286, %10290
  %.str.81.sink5103 = phi ptr [ @.str.81, %10290 ], [ @.str.78, %10286 ]
  store i32 %10281, ptr %288, align 4, !tbaa !5
  %10292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10293 = load i32, ptr @test_count, align 4, !tbaa !5
  %10294 = load i32, ptr %234, align 4, !tbaa !5
  %10295 = call ptr @s2n_strerror(i32 noundef %10294, ptr noundef nonnull @.str.80) #12
  %10296 = load i32, ptr %234, align 4, !tbaa !5
  %10297 = call ptr @s2n_strerror_debug(i32 noundef %10296, ptr noundef nonnull @.str.80) #12
  %10298 = load i32, ptr %288, align 4, !tbaa !5
  %10299 = call ptr @strerror(i32 noundef %10298) #12
  %10300 = load i32, ptr %288, align 4, !tbaa !5
  %10301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10292, ptr noundef nonnull %.str.81.sink5103, i32 noundef %10293, ptr noundef nonnull @.str.293, ptr noundef nonnull @.str.77, i32 noundef 889, ptr noundef %10295, ptr noundef %10297, ptr noundef %10299, i32 noundef %10300) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10302:                                            ; preds = %.preheader, %10413
  %10303 = load i32, ptr %100, align 4, !tbaa !5
  %10304 = icmp ult i32 %10303, 65535
  %10305 = load i32, ptr @test_count, align 4, !tbaa !5
  %10306 = add nsw i32 %10305, 1
  store i32 %10306, ptr @test_count, align 4, !tbaa !5
  br i1 %10304, label %10307, label %10440

10307:                                            ; preds = %10302
  %10308 = call i32 @s2n_array_pushback(ptr noundef nonnull %10279, ptr noundef nonnull %101) #12
  %10309 = call zeroext i1 @s2n_result_is_ok(i32 %10308)
  br i1 %10309, label %10332, label %10310

10310:                                            ; preds = %10307
  %10311 = load i32, ptr %288, align 4, !tbaa !5
  %10312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10313 = call i32 @s2n_print_stacktrace(ptr noundef %10312) #12
  %10314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10315 = trunc nuw i8 %10314 to i1
  br i1 %10315, label %10316, label %10320

10316:                                            ; preds = %10310
  %10317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10318 = call i32 @fileno(ptr noundef %10317) #12
  %10319 = call i32 @isatty(i32 noundef %10318) #12
  %.not1663 = icmp eq i32 %10319, 0
  br i1 %.not1663, label %10320, label %10321

10320:                                            ; preds = %10316, %10310
  br label %10321

10321:                                            ; preds = %10316, %10320
  %.str.81.sink5112 = phi ptr [ @.str.81, %10320 ], [ @.str.78, %10316 ]
  store i32 %10311, ptr %288, align 4, !tbaa !5
  %10322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10323 = load i32, ptr @test_count, align 4, !tbaa !5
  %10324 = load i32, ptr %234, align 4, !tbaa !5
  %10325 = call ptr @s2n_strerror(i32 noundef %10324, ptr noundef nonnull @.str.80) #12
  %10326 = load i32, ptr %234, align 4, !tbaa !5
  %10327 = call ptr @s2n_strerror_debug(i32 noundef %10326, ptr noundef nonnull @.str.80) #12
  %10328 = load i32, ptr %288, align 4, !tbaa !5
  %10329 = call ptr @strerror(i32 noundef %10328) #12
  %10330 = load i32, ptr %288, align 4, !tbaa !5
  %10331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10322, ptr noundef nonnull %.str.81.sink5112, i32 noundef %10323, ptr noundef nonnull @.str.294, ptr noundef nonnull @.str.77, i32 noundef 891, ptr noundef %10325, ptr noundef %10327, ptr noundef %10329, i32 noundef %10330) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10332:                                            ; preds = %10307
  %10333 = load i32, ptr @test_count, align 4, !tbaa !5
  %10334 = add nsw i32 %10333, 1
  store i32 %10334, ptr @test_count, align 4, !tbaa !5
  %10335 = load ptr, ptr %101, align 8, !tbaa !9
  %10336 = icmp eq ptr %10335, null
  br i1 %10336, label %10337, label %10359

10337:                                            ; preds = %10332
  %10338 = load i32, ptr %288, align 4, !tbaa !5
  %10339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10340 = call i32 @s2n_print_stacktrace(ptr noundef %10339) #12
  %10341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10342 = trunc nuw i8 %10341 to i1
  br i1 %10342, label %10343, label %10347

10343:                                            ; preds = %10337
  %10344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10345 = call i32 @fileno(ptr noundef %10344) #12
  %10346 = call i32 @isatty(i32 noundef %10345) #12
  %.not1667 = icmp eq i32 %10346, 0
  br i1 %.not1667, label %10347, label %10348

10347:                                            ; preds = %10343, %10337
  br label %10348

10348:                                            ; preds = %10343, %10347
  %.str.81.sink5121 = phi ptr [ @.str.81, %10347 ], [ @.str.78, %10343 ]
  store i32 %10338, ptr %288, align 4, !tbaa !5
  %10349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10350 = load i32, ptr @test_count, align 4, !tbaa !5
  %10351 = load i32, ptr %234, align 4, !tbaa !5
  %10352 = call ptr @s2n_strerror(i32 noundef %10351, ptr noundef nonnull @.str.80) #12
  %10353 = load i32, ptr %234, align 4, !tbaa !5
  %10354 = call ptr @s2n_strerror_debug(i32 noundef %10353, ptr noundef nonnull @.str.80) #12
  %10355 = load i32, ptr %288, align 4, !tbaa !5
  %10356 = call ptr @strerror(i32 noundef %10355) #12
  %10357 = load i32, ptr %288, align 4, !tbaa !5
  %10358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10349, ptr noundef nonnull %.str.81.sink5121, i32 noundef %10350, ptr noundef nonnull @.str.295, ptr noundef nonnull @.str.77, i32 noundef 892, ptr noundef %10352, ptr noundef %10354, ptr noundef %10356, i32 noundef %10357) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10359:                                            ; preds = %10332
  %10360 = add nsw i32 %10333, 2
  store i32 %10360, ptr @test_count, align 4, !tbaa !5
  %10361 = call i32 @s2n_psk_init(ptr noundef nonnull %10335, i32 noundef 1)
  %10362 = call zeroext i1 @s2n_result_is_ok(i32 %10361)
  br i1 %10362, label %10385, label %10363

10363:                                            ; preds = %10359
  %10364 = load i32, ptr %288, align 4, !tbaa !5
  %10365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10366 = call i32 @s2n_print_stacktrace(ptr noundef %10365) #12
  %10367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10368 = trunc nuw i8 %10367 to i1
  br i1 %10368, label %10369, label %10373

10369:                                            ; preds = %10363
  %10370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10371 = call i32 @fileno(ptr noundef %10370) #12
  %10372 = call i32 @isatty(i32 noundef %10371) #12
  %.not1664 = icmp eq i32 %10372, 0
  br i1 %.not1664, label %10373, label %10374

10373:                                            ; preds = %10369, %10363
  br label %10374

10374:                                            ; preds = %10369, %10373
  %.str.81.sink5130 = phi ptr [ @.str.81, %10373 ], [ @.str.78, %10369 ]
  store i32 %10364, ptr %288, align 4, !tbaa !5
  %10375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10376 = load i32, ptr @test_count, align 4, !tbaa !5
  %10377 = load i32, ptr %234, align 4, !tbaa !5
  %10378 = call ptr @s2n_strerror(i32 noundef %10377, ptr noundef nonnull @.str.80) #12
  %10379 = load i32, ptr %234, align 4, !tbaa !5
  %10380 = call ptr @s2n_strerror_debug(i32 noundef %10379, ptr noundef nonnull @.str.80) #12
  %10381 = load i32, ptr %288, align 4, !tbaa !5
  %10382 = call ptr @strerror(i32 noundef %10381) #12
  %10383 = load i32, ptr %288, align 4, !tbaa !5
  %10384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10375, ptr noundef nonnull %.str.81.sink5130, i32 noundef %10376, ptr noundef nonnull @.str.296, ptr noundef nonnull @.str.77, i32 noundef 894, ptr noundef %10378, ptr noundef %10380, ptr noundef %10382, i32 noundef %10383) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10385:                                            ; preds = %10359
  %10386 = load i32, ptr @test_count, align 4, !tbaa !5
  %10387 = add nsw i32 %10386, 1
  store i32 %10387, ptr @test_count, align 4, !tbaa !5
  %10388 = load ptr, ptr %101, align 8, !tbaa !9
  %10389 = call i32 @s2n_psk_set_identity(ptr noundef %10388, ptr noundef nonnull %88, i16 noundef zeroext 11)
  %10390 = icmp eq i32 %10389, -1
  br i1 %10390, label %10391, label %10413

10391:                                            ; preds = %10385
  %10392 = load i32, ptr %288, align 4, !tbaa !5
  %10393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10394 = call i32 @s2n_print_stacktrace(ptr noundef %10393) #12
  %10395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10396 = trunc nuw i8 %10395 to i1
  br i1 %10396, label %10397, label %10401

10397:                                            ; preds = %10391
  %10398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10399 = call i32 @fileno(ptr noundef %10398) #12
  %10400 = call i32 @isatty(i32 noundef %10399) #12
  %.not1666 = icmp eq i32 %10400, 0
  br i1 %.not1666, label %10401, label %10402

10401:                                            ; preds = %10397, %10391
  br label %10402

10402:                                            ; preds = %10397, %10401
  %.str.81.sink5139 = phi ptr [ @.str.81, %10401 ], [ @.str.78, %10397 ]
  store i32 %10392, ptr %288, align 4, !tbaa !5
  %10403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10404 = load i32, ptr @test_count, align 4, !tbaa !5
  %10405 = load i32, ptr %234, align 4, !tbaa !5
  %10406 = call ptr @s2n_strerror(i32 noundef %10405, ptr noundef nonnull @.str.80) #12
  %10407 = load i32, ptr %234, align 4, !tbaa !5
  %10408 = call ptr @s2n_strerror_debug(i32 noundef %10407, ptr noundef nonnull @.str.80) #12
  %10409 = load i32, ptr %288, align 4, !tbaa !5
  %10410 = call ptr @strerror(i32 noundef %10409) #12
  %10411 = load i32, ptr %288, align 4, !tbaa !5
  %10412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10403, ptr noundef nonnull %.str.81.sink5139, i32 noundef %10404, ptr noundef nonnull @.str.297, ptr noundef nonnull @.str.77, i32 noundef 895, ptr noundef %10406, ptr noundef %10408, ptr noundef %10410, i32 noundef %10411) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10413:                                            ; preds = %10385
  %10414 = load i32, ptr @test_count, align 4, !tbaa !5
  %10415 = add nsw i32 %10414, 1
  store i32 %10415, ptr @test_count, align 4, !tbaa !5
  %10416 = call i32 @s2n_psk_parameters_offered_psks_size(ptr noundef nonnull %10278, ptr noundef nonnull %100)
  %10417 = call zeroext i1 @s2n_result_is_ok(i32 %10416)
  br i1 %10417, label %10302, label %10418, !llvm.loop !83

10418:                                            ; preds = %10413
  %10419 = load i32, ptr %288, align 4, !tbaa !5
  %10420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10421 = call i32 @s2n_print_stacktrace(ptr noundef %10420) #12
  %10422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10423 = trunc nuw i8 %10422 to i1
  br i1 %10423, label %10424, label %10428

10424:                                            ; preds = %10418
  %10425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10426 = call i32 @fileno(ptr noundef %10425) #12
  %10427 = call i32 @isatty(i32 noundef %10426) #12
  %.not1665 = icmp eq i32 %10427, 0
  br i1 %.not1665, label %10428, label %10429

10428:                                            ; preds = %10424, %10418
  br label %10429

10429:                                            ; preds = %10424, %10428
  %.str.81.sink5148 = phi ptr [ @.str.81, %10428 ], [ @.str.78, %10424 ]
  store i32 %10419, ptr %288, align 4, !tbaa !5
  %10430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10431 = load i32, ptr @test_count, align 4, !tbaa !5
  %10432 = load i32, ptr %234, align 4, !tbaa !5
  %10433 = call ptr @s2n_strerror(i32 noundef %10432, ptr noundef nonnull @.str.80) #12
  %10434 = load i32, ptr %234, align 4, !tbaa !5
  %10435 = call ptr @s2n_strerror_debug(i32 noundef %10434, ptr noundef nonnull @.str.80) #12
  %10436 = load i32, ptr %288, align 4, !tbaa !5
  %10437 = call ptr @strerror(i32 noundef %10436) #12
  %10438 = load i32, ptr %288, align 4, !tbaa !5
  %10439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10430, ptr noundef nonnull %.str.81.sink5148, i32 noundef %10431, ptr noundef nonnull @.str.298, ptr noundef nonnull @.str.77, i32 noundef 896, ptr noundef %10433, ptr noundef %10435, ptr noundef %10437, i32 noundef %10438) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10440:                                            ; preds = %10302
  %10441 = load ptr, ptr %101, align 8, !tbaa !9
  %10442 = call i32 @s2n_psk_wipe(ptr noundef %10441)
  %10443 = call zeroext i1 @s2n_result_is_ok(i32 %10442)
  br i1 %10443, label %10466, label %10444

10444:                                            ; preds = %10440
  %10445 = load i32, ptr %288, align 4, !tbaa !5
  %10446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10447 = call i32 @s2n_print_stacktrace(ptr noundef %10446) #12
  %10448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10449 = trunc nuw i8 %10448 to i1
  br i1 %10449, label %10450, label %10454

10450:                                            ; preds = %10444
  %10451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10452 = call i32 @fileno(ptr noundef %10451) #12
  %10453 = call i32 @isatty(i32 noundef %10452) #12
  %.not1527 = icmp eq i32 %10453, 0
  br i1 %.not1527, label %10454, label %10455

10454:                                            ; preds = %10450, %10444
  br label %10455

10455:                                            ; preds = %10450, %10454
  %.str.81.sink5157 = phi ptr [ @.str.81, %10454 ], [ @.str.78, %10450 ]
  store i32 %10445, ptr %288, align 4, !tbaa !5
  %10456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10457 = load i32, ptr @test_count, align 4, !tbaa !5
  %10458 = load i32, ptr %234, align 4, !tbaa !5
  %10459 = call ptr @s2n_strerror(i32 noundef %10458, ptr noundef nonnull @.str.80) #12
  %10460 = load i32, ptr %234, align 4, !tbaa !5
  %10461 = call ptr @s2n_strerror_debug(i32 noundef %10460, ptr noundef nonnull @.str.80) #12
  %10462 = load i32, ptr %288, align 4, !tbaa !5
  %10463 = call ptr @strerror(i32 noundef %10462) #12
  %10464 = load i32, ptr %288, align 4, !tbaa !5
  %10465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10456, ptr noundef nonnull %.str.81.sink5157, i32 noundef %10457, ptr noundef nonnull @.str.299, ptr noundef nonnull @.str.77, i32 noundef 900, ptr noundef %10459, ptr noundef %10461, ptr noundef %10463, i32 noundef %10464) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10466:                                            ; preds = %10440
  %10467 = load i32, ptr @test_count, align 4, !tbaa !5
  %10468 = add nsw i32 %10467, 1
  store i32 %10468, ptr @test_count, align 4, !tbaa !5
  %10469 = getelementptr inbounds i8, ptr %10249, i64 1720
  %10470 = load i32, ptr %10469, align 8, !tbaa !82
  %10471 = add i32 %10470, -1
  %10472 = call i32 @s2n_array_remove(ptr noundef nonnull %10279, i32 noundef %10471) #12
  %10473 = call zeroext i1 @s2n_result_is_ok(i32 %10472)
  br i1 %10473, label %10496, label %10474

10474:                                            ; preds = %10466
  %10475 = load i32, ptr %288, align 4, !tbaa !5
  %10476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10477 = call i32 @s2n_print_stacktrace(ptr noundef %10476) #12
  %10478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10479 = trunc nuw i8 %10478 to i1
  br i1 %10479, label %10480, label %10484

10480:                                            ; preds = %10474
  %10481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10482 = call i32 @fileno(ptr noundef %10481) #12
  %10483 = call i32 @isatty(i32 noundef %10482) #12
  %.not1528 = icmp eq i32 %10483, 0
  br i1 %.not1528, label %10484, label %10485

10484:                                            ; preds = %10480, %10474
  br label %10485

10485:                                            ; preds = %10480, %10484
  %.str.81.sink5166 = phi ptr [ @.str.81, %10484 ], [ @.str.78, %10480 ]
  store i32 %10475, ptr %288, align 4, !tbaa !5
  %10486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10487 = load i32, ptr @test_count, align 4, !tbaa !5
  %10488 = load i32, ptr %234, align 4, !tbaa !5
  %10489 = call ptr @s2n_strerror(i32 noundef %10488, ptr noundef nonnull @.str.80) #12
  %10490 = load i32, ptr %234, align 4, !tbaa !5
  %10491 = call ptr @s2n_strerror_debug(i32 noundef %10490, ptr noundef nonnull @.str.80) #12
  %10492 = load i32, ptr %288, align 4, !tbaa !5
  %10493 = call ptr @strerror(i32 noundef %10492) #12
  %10494 = load i32, ptr %288, align 4, !tbaa !5
  %10495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10486, ptr noundef nonnull %.str.81.sink5166, i32 noundef %10487, ptr noundef nonnull @.str.300, ptr noundef nonnull @.str.77, i32 noundef 901, ptr noundef %10489, ptr noundef %10491, ptr noundef %10493, i32 noundef %10494) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10496:                                            ; preds = %10466
  %10497 = load i32, ptr @test_count, align 4, !tbaa !5
  %10498 = add nsw i32 %10497, 1
  store i32 %10498, ptr @test_count, align 4, !tbaa !5
  %10499 = call i32 @s2n_psk_parameters_offered_psks_size(ptr noundef nonnull %10278, ptr noundef nonnull %100)
  %10500 = call zeroext i1 @s2n_result_is_ok(i32 %10499)
  br i1 %10500, label %10523, label %10501

10501:                                            ; preds = %10496
  %10502 = load i32, ptr %288, align 4, !tbaa !5
  %10503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10504 = call i32 @s2n_print_stacktrace(ptr noundef %10503) #12
  %10505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10506 = trunc nuw i8 %10505 to i1
  br i1 %10506, label %10507, label %10511

10507:                                            ; preds = %10501
  %10508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10509 = call i32 @fileno(ptr noundef %10508) #12
  %10510 = call i32 @isatty(i32 noundef %10509) #12
  %.not1529 = icmp eq i32 %10510, 0
  br i1 %.not1529, label %10511, label %10512

10511:                                            ; preds = %10507, %10501
  br label %10512

10512:                                            ; preds = %10507, %10511
  %.str.81.sink5175 = phi ptr [ @.str.81, %10511 ], [ @.str.78, %10507 ]
  store i32 %10502, ptr %288, align 4, !tbaa !5
  %10513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10514 = load i32, ptr @test_count, align 4, !tbaa !5
  %10515 = load i32, ptr %234, align 4, !tbaa !5
  %10516 = call ptr @s2n_strerror(i32 noundef %10515, ptr noundef nonnull @.str.80) #12
  %10517 = load i32, ptr %234, align 4, !tbaa !5
  %10518 = call ptr @s2n_strerror_debug(i32 noundef %10517, ptr noundef nonnull @.str.80) #12
  %10519 = load i32, ptr %288, align 4, !tbaa !5
  %10520 = call ptr @strerror(i32 noundef %10519) #12
  %10521 = load i32, ptr %288, align 4, !tbaa !5
  %10522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10513, ptr noundef nonnull %.str.81.sink5175, i32 noundef %10514, ptr noundef nonnull @.str.298, ptr noundef nonnull @.str.77, i32 noundef 902, ptr noundef %10516, ptr noundef %10518, ptr noundef %10520, i32 noundef %10521) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10523:                                            ; preds = %10496
  %10524 = load i32, ptr @test_count, align 4, !tbaa !5
  %10525 = add nsw i32 %10524, 1
  store i32 %10525, ptr @test_count, align 4, !tbaa !5
  %10526 = load i32, ptr %100, align 4, !tbaa !5
  %10527 = icmp ult i32 %10526, 65535
  br i1 %10527, label %10550, label %10528

10528:                                            ; preds = %10523
  %10529 = load i32, ptr %288, align 4, !tbaa !5
  %10530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10531 = call i32 @s2n_print_stacktrace(ptr noundef %10530) #12
  %10532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10533 = trunc nuw i8 %10532 to i1
  br i1 %10533, label %10534, label %10538

10534:                                            ; preds = %10528
  %10535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10536 = call i32 @fileno(ptr noundef %10535) #12
  %10537 = call i32 @isatty(i32 noundef %10536) #12
  %.not1530 = icmp eq i32 %10537, 0
  br i1 %.not1530, label %10538, label %10539

10538:                                            ; preds = %10534, %10528
  br label %10539

10539:                                            ; preds = %10534, %10538
  %.str.81.sink5184 = phi ptr [ @.str.81, %10538 ], [ @.str.78, %10534 ]
  store i32 %10529, ptr %288, align 4, !tbaa !5
  %10540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10541 = load i32, ptr @test_count, align 4, !tbaa !5
  %10542 = load i32, ptr %234, align 4, !tbaa !5
  %10543 = call ptr @s2n_strerror(i32 noundef %10542, ptr noundef nonnull @.str.80) #12
  %10544 = load i32, ptr %234, align 4, !tbaa !5
  %10545 = call ptr @s2n_strerror_debug(i32 noundef %10544, ptr noundef nonnull @.str.80) #12
  %10546 = load i32, ptr %288, align 4, !tbaa !5
  %10547 = call ptr @strerror(i32 noundef %10546) #12
  %10548 = load i32, ptr %288, align 4, !tbaa !5
  %10549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10540, ptr noundef nonnull %.str.81.sink5184, i32 noundef %10541, ptr noundef nonnull @.str.301, ptr noundef nonnull @.str.77, i32 noundef 903, ptr noundef %10543, ptr noundef %10545, ptr noundef %10547, i32 noundef %10548) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10550:                                            ; preds = %10523
  %10551 = load i32, ptr %10469, align 8, !tbaa !82
  %10552 = add nsw i32 %10524, 2
  store i32 %10552, ptr @test_count, align 4, !tbaa !5
  %10553 = load ptr, ptr %90, align 8, !tbaa !9
  %10554 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %10249, ptr noundef %10553)
  %10555 = icmp eq i32 %10554, -1
  br i1 %10555, label %10578, label %10556

10556:                                            ; preds = %10550
  %10557 = load i32, ptr %288, align 4, !tbaa !5
  %10558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10559 = call i32 @s2n_print_stacktrace(ptr noundef %10558) #12
  %10560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10561 = trunc nuw i8 %10560 to i1
  br i1 %10561, label %10562, label %10566

10562:                                            ; preds = %10556
  %10563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10564 = call i32 @fileno(ptr noundef %10563) #12
  %10565 = call i32 @isatty(i32 noundef %10564) #12
  %.not1531 = icmp eq i32 %10565, 0
  br i1 %.not1531, label %10566, label %10567

10566:                                            ; preds = %10562, %10556
  br label %10567

10567:                                            ; preds = %10562, %10566
  %.str.81.sink5193 = phi ptr [ @.str.81, %10566 ], [ @.str.78, %10562 ]
  store i32 %10557, ptr %288, align 4, !tbaa !5
  %10568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10569 = load i32, ptr @test_count, align 4, !tbaa !5
  %10570 = load i32, ptr %234, align 4, !tbaa !5
  %10571 = call ptr @s2n_strerror(i32 noundef %10570, ptr noundef nonnull @.str.80) #12
  %10572 = load i32, ptr %234, align 4, !tbaa !5
  %10573 = call ptr @s2n_strerror_debug(i32 noundef %10572, ptr noundef nonnull @.str.80) #12
  %10574 = load i32, ptr %288, align 4, !tbaa !5
  %10575 = call ptr @strerror(i32 noundef %10574) #12
  %10576 = load i32, ptr %288, align 4, !tbaa !5
  %10577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10568, ptr noundef nonnull %.str.81.sink5193, i32 noundef %10569, ptr noundef nonnull @.str.302, ptr noundef nonnull @.str.77, i32 noundef 907, ptr noundef %10571, ptr noundef %10573, ptr noundef %10575, i32 noundef %10576) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10578:                                            ; preds = %10550
  %10579 = load i32, ptr @test_count, align 4, !tbaa !5
  %10580 = add nsw i32 %10579, 1
  store i32 %10580, ptr @test_count, align 4, !tbaa !5
  %10581 = load i32, ptr %234, align 4, !tbaa !5
  %10582 = icmp eq i32 %10581, 469762109
  br i1 %10582, label %10605, label %10583

10583:                                            ; preds = %10578
  %10584 = load i32, ptr %288, align 4, !tbaa !5
  %10585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10586 = call i32 @s2n_print_stacktrace(ptr noundef %10585) #12
  %10587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10588 = trunc nuw i8 %10587 to i1
  br i1 %10588, label %10589, label %10593

10589:                                            ; preds = %10583
  %10590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10591 = call i32 @fileno(ptr noundef %10590) #12
  %10592 = call i32 @isatty(i32 noundef %10591) #12
  %.not1532 = icmp eq i32 %10592, 0
  br i1 %.not1532, label %10593, label %10594

10593:                                            ; preds = %10589, %10583
  br label %10594

10594:                                            ; preds = %10589, %10593
  %.str.81.sink5202 = phi ptr [ @.str.81, %10593 ], [ @.str.78, %10589 ]
  store i32 %10584, ptr %288, align 4, !tbaa !5
  %10595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10596 = load i32, ptr @test_count, align 4, !tbaa !5
  %10597 = load i32, ptr %234, align 4, !tbaa !5
  %10598 = call ptr @s2n_strerror(i32 noundef %10597, ptr noundef nonnull @.str.80) #12
  %10599 = load i32, ptr %234, align 4, !tbaa !5
  %10600 = call ptr @s2n_strerror_debug(i32 noundef %10599, ptr noundef nonnull @.str.80) #12
  %10601 = load i32, ptr %288, align 4, !tbaa !5
  %10602 = call ptr @strerror(i32 noundef %10601) #12
  %10603 = load i32, ptr %288, align 4, !tbaa !5
  %10604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10595, ptr noundef nonnull %.str.81.sink5202, i32 noundef %10596, ptr noundef nonnull @.str.288, ptr noundef nonnull @.str.77, i32 noundef 907, ptr noundef %10598, ptr noundef %10600, ptr noundef %10602, i32 noundef %10603) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10605:                                            ; preds = %10578
  %10606 = add nsw i32 %10579, 2
  store i32 %10606, ptr @test_count, align 4, !tbaa !5
  %10607 = call ptr @s2n_strerror_debug(i32 noundef 469762109, ptr noundef nonnull @.str.80) #12
  %10608 = icmp eq ptr %10607, null
  br i1 %10608, label %10609, label %10631

10609:                                            ; preds = %10605
  %10610 = load i32, ptr %288, align 4, !tbaa !5
  %10611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10612 = call i32 @s2n_print_stacktrace(ptr noundef %10611) #12
  %10613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10614 = trunc nuw i8 %10613 to i1
  br i1 %10614, label %10615, label %10619

10615:                                            ; preds = %10609
  %10616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10617 = call i32 @fileno(ptr noundef %10616) #12
  %10618 = call i32 @isatty(i32 noundef %10617) #12
  %.not1662 = icmp eq i32 %10618, 0
  br i1 %.not1662, label %10619, label %10620

10619:                                            ; preds = %10615, %10609
  br label %10620

10620:                                            ; preds = %10615, %10619
  %.str.81.sink5211 = phi ptr [ @.str.81, %10619 ], [ @.str.78, %10615 ]
  store i32 %10610, ptr %288, align 4, !tbaa !5
  %10621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10622 = load i32, ptr @test_count, align 4, !tbaa !5
  %10623 = load i32, ptr %234, align 4, !tbaa !5
  %10624 = call ptr @s2n_strerror(i32 noundef %10623, ptr noundef nonnull @.str.80) #12
  %10625 = load i32, ptr %234, align 4, !tbaa !5
  %10626 = call ptr @s2n_strerror_debug(i32 noundef %10625, ptr noundef nonnull @.str.80) #12
  %10627 = load i32, ptr %288, align 4, !tbaa !5
  %10628 = call ptr @strerror(i32 noundef %10627) #12
  %10629 = load i32, ptr %288, align 4, !tbaa !5
  %10630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10621, ptr noundef nonnull %.str.81.sink5211, i32 noundef %10622, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 907, ptr noundef %10624, ptr noundef %10626, ptr noundef %10628, i32 noundef %10629) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10631:                                            ; preds = %10605
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %10632 = load i32, ptr @test_count, align 4, !tbaa !5
  %10633 = add nsw i32 %10632, 1
  store i32 %10633, ptr @test_count, align 4, !tbaa !5
  %10634 = load i32, ptr %10469, align 8, !tbaa !82
  %10635 = icmp eq i32 %10634, %10551
  br i1 %10635, label %10658, label %10636

10636:                                            ; preds = %10631
  %10637 = load i32, ptr %288, align 4, !tbaa !5
  %10638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10639 = call i32 @s2n_print_stacktrace(ptr noundef %10638) #12
  %10640 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10641 = trunc nuw i8 %10640 to i1
  br i1 %10641, label %10642, label %10646

10642:                                            ; preds = %10636
  %10643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10644 = call i32 @fileno(ptr noundef %10643) #12
  %10645 = call i32 @isatty(i32 noundef %10644) #12
  %.not1533 = icmp eq i32 %10645, 0
  br i1 %.not1533, label %10646, label %10647

10646:                                            ; preds = %10642, %10636
  br label %10647

10647:                                            ; preds = %10642, %10646
  %.str.81.sink5220 = phi ptr [ @.str.81, %10646 ], [ @.str.78, %10642 ]
  store i32 %10637, ptr %288, align 4, !tbaa !5
  %10648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10649 = load i32, ptr @test_count, align 4, !tbaa !5
  %10650 = load i32, ptr %234, align 4, !tbaa !5
  %10651 = call ptr @s2n_strerror(i32 noundef %10650, ptr noundef nonnull @.str.80) #12
  %10652 = load i32, ptr %234, align 4, !tbaa !5
  %10653 = call ptr @s2n_strerror_debug(i32 noundef %10652, ptr noundef nonnull @.str.80) #12
  %10654 = load i32, ptr %288, align 4, !tbaa !5
  %10655 = call ptr @strerror(i32 noundef %10654) #12
  %10656 = load i32, ptr %288, align 4, !tbaa !5
  %10657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10648, ptr noundef nonnull %.str.81.sink5220, i32 noundef %10649, ptr noundef nonnull @.str.303, ptr noundef nonnull @.str.77, i32 noundef 908, ptr noundef %10651, ptr noundef %10653, ptr noundef %10655, i32 noundef %10656) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10658:                                            ; preds = %10631
  %10659 = getelementptr inbounds i8, ptr %10249, i64 148
  store i32 0, ptr %10659, align 4, !tbaa !84
  %10660 = add nsw i32 %10632, 2
  store i32 %10660, ptr @test_count, align 4, !tbaa !5
  %10661 = load ptr, ptr %90, align 8, !tbaa !9
  %10662 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %10249, ptr noundef %10661)
  %10663 = icmp eq i32 %10662, -1
  br i1 %10663, label %10664, label %10686

10664:                                            ; preds = %10658
  %10665 = load i32, ptr %288, align 4, !tbaa !5
  %10666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10667 = call i32 @s2n_print_stacktrace(ptr noundef %10666) #12
  %10668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10669 = trunc nuw i8 %10668 to i1
  br i1 %10669, label %10670, label %10674

10670:                                            ; preds = %10664
  %10671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10672 = call i32 @fileno(ptr noundef %10671) #12
  %10673 = call i32 @isatty(i32 noundef %10672) #12
  %.not1661 = icmp eq i32 %10673, 0
  br i1 %.not1661, label %10674, label %10675

10674:                                            ; preds = %10670, %10664
  br label %10675

10675:                                            ; preds = %10670, %10674
  %.str.81.sink5229 = phi ptr [ @.str.81, %10674 ], [ @.str.78, %10670 ]
  store i32 %10665, ptr %288, align 4, !tbaa !5
  %10676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10677 = load i32, ptr @test_count, align 4, !tbaa !5
  %10678 = load i32, ptr %234, align 4, !tbaa !5
  %10679 = call ptr @s2n_strerror(i32 noundef %10678, ptr noundef nonnull @.str.80) #12
  %10680 = load i32, ptr %234, align 4, !tbaa !5
  %10681 = call ptr @s2n_strerror_debug(i32 noundef %10680, ptr noundef nonnull @.str.80) #12
  %10682 = load i32, ptr %288, align 4, !tbaa !5
  %10683 = call ptr @strerror(i32 noundef %10682) #12
  %10684 = load i32, ptr %288, align 4, !tbaa !5
  %10685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10676, ptr noundef nonnull %.str.81.sink5229, i32 noundef %10677, ptr noundef nonnull @.str.260, ptr noundef nonnull @.str.77, i32 noundef 912, ptr noundef %10679, ptr noundef %10681, ptr noundef %10683, i32 noundef %10684) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10686:                                            ; preds = %10658
  %10687 = load i32, ptr @test_count, align 4, !tbaa !5
  %10688 = add nsw i32 %10687, 1
  store i32 %10688, ptr @test_count, align 4, !tbaa !5
  %10689 = load i32, ptr %10469, align 8, !tbaa !82
  %10690 = add i32 %10551, 1
  %10691 = icmp eq i32 %10689, %10690
  br i1 %10691, label %10714, label %10692

10692:                                            ; preds = %10686
  %10693 = load i32, ptr %288, align 4, !tbaa !5
  %10694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10695 = call i32 @s2n_print_stacktrace(ptr noundef %10694) #12
  %10696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10697 = trunc nuw i8 %10696 to i1
  br i1 %10697, label %10698, label %10702

10698:                                            ; preds = %10692
  %10699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10700 = call i32 @fileno(ptr noundef %10699) #12
  %10701 = call i32 @isatty(i32 noundef %10700) #12
  %.not1534 = icmp eq i32 %10701, 0
  br i1 %.not1534, label %10702, label %10703

10702:                                            ; preds = %10698, %10692
  br label %10703

10703:                                            ; preds = %10698, %10702
  %.str.81.sink5238 = phi ptr [ @.str.81, %10702 ], [ @.str.78, %10698 ]
  store i32 %10693, ptr %288, align 4, !tbaa !5
  %10704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10705 = load i32, ptr @test_count, align 4, !tbaa !5
  %10706 = load i32, ptr %234, align 4, !tbaa !5
  %10707 = call ptr @s2n_strerror(i32 noundef %10706, ptr noundef nonnull @.str.80) #12
  %10708 = load i32, ptr %234, align 4, !tbaa !5
  %10709 = call ptr @s2n_strerror_debug(i32 noundef %10708, ptr noundef nonnull @.str.80) #12
  %10710 = load i32, ptr %288, align 4, !tbaa !5
  %10711 = call ptr @strerror(i32 noundef %10710) #12
  %10712 = load i32, ptr %288, align 4, !tbaa !5
  %10713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10704, ptr noundef nonnull %.str.81.sink5238, i32 noundef %10705, ptr noundef nonnull @.str.304, ptr noundef nonnull @.str.77, i32 noundef 913, ptr noundef %10707, ptr noundef %10709, ptr noundef %10711, i32 noundef %10712) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10714:                                            ; preds = %10686
  %10715 = add nsw i32 %10687, 2
  store i32 %10715, ptr @test_count, align 4, !tbaa !5
  %10716 = call i32 @s2n_connection_free(ptr noundef nonnull %10249) #12
  %10717 = icmp eq i32 %10716, -1
  br i1 %10717, label %10718, label %10740

10718:                                            ; preds = %10714
  %10719 = load i32, ptr %288, align 4, !tbaa !5
  %10720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10721 = call i32 @s2n_print_stacktrace(ptr noundef %10720) #12
  %10722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10723 = trunc nuw i8 %10722 to i1
  br i1 %10723, label %10724, label %10728

10724:                                            ; preds = %10718
  %10725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10726 = call i32 @fileno(ptr noundef %10725) #12
  %10727 = call i32 @isatty(i32 noundef %10726) #12
  %.not1660 = icmp eq i32 %10727, 0
  br i1 %.not1660, label %10728, label %10729

10728:                                            ; preds = %10724, %10718
  br label %10729

10729:                                            ; preds = %10724, %10728
  %.str.81.sink5247 = phi ptr [ @.str.81, %10728 ], [ @.str.78, %10724 ]
  store i32 %10719, ptr %288, align 4, !tbaa !5
  %10730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10731 = load i32, ptr @test_count, align 4, !tbaa !5
  %10732 = load i32, ptr %234, align 4, !tbaa !5
  %10733 = call ptr @s2n_strerror(i32 noundef %10732, ptr noundef nonnull @.str.80) #12
  %10734 = load i32, ptr %234, align 4, !tbaa !5
  %10735 = call ptr @s2n_strerror_debug(i32 noundef %10734, ptr noundef nonnull @.str.80) #12
  %10736 = load i32, ptr %288, align 4, !tbaa !5
  %10737 = call ptr @strerror(i32 noundef %10736) #12
  %10738 = load i32, ptr %288, align 4, !tbaa !5
  %10739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10730, ptr noundef nonnull %.str.81.sink5247, i32 noundef %10731, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 915, ptr noundef %10733, ptr noundef %10735, ptr noundef %10737, i32 noundef %10738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10740:                                            ; preds = %10714
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %100) #12
  %10741 = load i32, ptr @test_count, align 4, !tbaa !5
  %10742 = add nsw i32 %10741, 1
  store i32 %10742, ptr @test_count, align 4, !tbaa !5
  %10743 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %10744 = icmp eq ptr %10743, null
  br i1 %10744, label %10745, label %10767

10745:                                            ; preds = %10740
  %10746 = load i32, ptr %288, align 4, !tbaa !5
  %10747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10748 = call i32 @s2n_print_stacktrace(ptr noundef %10747) #12
  %10749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10750 = trunc nuw i8 %10749 to i1
  br i1 %10750, label %10751, label %10755

10751:                                            ; preds = %10745
  %10752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10753 = call i32 @fileno(ptr noundef %10752) #12
  %10754 = call i32 @isatty(i32 noundef %10753) #12
  %.not1659 = icmp eq i32 %10754, 0
  br i1 %.not1659, label %10755, label %10756

10755:                                            ; preds = %10751, %10745
  br label %10756

10756:                                            ; preds = %10751, %10755
  %.str.81.sink5256 = phi ptr [ @.str.81, %10755 ], [ @.str.78, %10751 ]
  store i32 %10746, ptr %288, align 4, !tbaa !5
  %10757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10758 = load i32, ptr @test_count, align 4, !tbaa !5
  %10759 = load i32, ptr %234, align 4, !tbaa !5
  %10760 = call ptr @s2n_strerror(i32 noundef %10759, ptr noundef nonnull @.str.80) #12
  %10761 = load i32, ptr %234, align 4, !tbaa !5
  %10762 = call ptr @s2n_strerror_debug(i32 noundef %10761, ptr noundef nonnull @.str.80) #12
  %10763 = load i32, ptr %288, align 4, !tbaa !5
  %10764 = call ptr @strerror(i32 noundef %10763) #12
  %10765 = load i32, ptr %288, align 4, !tbaa !5
  %10766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10757, ptr noundef nonnull %.str.81.sink5256, i32 noundef %10758, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.77, i32 noundef 921, ptr noundef %10760, ptr noundef %10762, ptr noundef %10764, i32 noundef %10765) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10767:                                            ; preds = %10740
  %10768 = load i32, ptr @test_count, align 4, !tbaa !5
  %10769 = add nsw i32 %10768, 1
  store i32 %10769, ptr @test_count, align 4, !tbaa !5
  %10770 = load ptr, ptr %90, align 8, !tbaa !9
  %10771 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %10743, ptr noundef %10770)
  %10772 = icmp eq i32 %10771, -1
  br i1 %10772, label %10773, label %10795

10773:                                            ; preds = %10767
  %10774 = load i32, ptr %288, align 4, !tbaa !5
  %10775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10776 = call i32 @s2n_print_stacktrace(ptr noundef %10775) #12
  %10777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10778 = trunc nuw i8 %10777 to i1
  br i1 %10778, label %10779, label %10783

10779:                                            ; preds = %10773
  %10780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10781 = call i32 @fileno(ptr noundef %10780) #12
  %10782 = call i32 @isatty(i32 noundef %10781) #12
  %.not1658 = icmp eq i32 %10782, 0
  br i1 %.not1658, label %10783, label %10784

10783:                                            ; preds = %10779, %10773
  br label %10784

10784:                                            ; preds = %10779, %10783
  %.str.81.sink5265 = phi ptr [ @.str.81, %10783 ], [ @.str.78, %10779 ]
  store i32 %10774, ptr %288, align 4, !tbaa !5
  %10785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10786 = load i32, ptr @test_count, align 4, !tbaa !5
  %10787 = load i32, ptr %234, align 4, !tbaa !5
  %10788 = call ptr @s2n_strerror(i32 noundef %10787, ptr noundef nonnull @.str.80) #12
  %10789 = load i32, ptr %234, align 4, !tbaa !5
  %10790 = call ptr @s2n_strerror_debug(i32 noundef %10789, ptr noundef nonnull @.str.80) #12
  %10791 = load i32, ptr %288, align 4, !tbaa !5
  %10792 = call ptr @strerror(i32 noundef %10791) #12
  %10793 = load i32, ptr %288, align 4, !tbaa !5
  %10794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10785, ptr noundef nonnull %.str.81.sink5265, i32 noundef %10786, ptr noundef nonnull @.str.260, ptr noundef nonnull @.str.77, i32 noundef 923, ptr noundef %10788, ptr noundef %10790, ptr noundef %10792, i32 noundef %10793) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10795:                                            ; preds = %10767
  %10796 = load i32, ptr @test_count, align 4, !tbaa !5
  %10797 = add nsw i32 %10796, 1
  store i32 %10797, ptr @test_count, align 4, !tbaa !5
  %10798 = load ptr, ptr %90, align 8, !tbaa !9
  %10799 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %10743, ptr noundef %10798)
  %10800 = icmp eq i32 %10799, -1
  br i1 %10800, label %10823, label %10801

10801:                                            ; preds = %10795
  %10802 = load i32, ptr %288, align 4, !tbaa !5
  %10803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10804 = call i32 @s2n_print_stacktrace(ptr noundef %10803) #12
  %10805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10806 = trunc nuw i8 %10805 to i1
  br i1 %10806, label %10807, label %10811

10807:                                            ; preds = %10801
  %10808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10809 = call i32 @fileno(ptr noundef %10808) #12
  %10810 = call i32 @isatty(i32 noundef %10809) #12
  %.not1535 = icmp eq i32 %10810, 0
  br i1 %.not1535, label %10811, label %10812

10811:                                            ; preds = %10807, %10801
  br label %10812

10812:                                            ; preds = %10807, %10811
  %.str.81.sink5274 = phi ptr [ @.str.81, %10811 ], [ @.str.78, %10807 ]
  store i32 %10802, ptr %288, align 4, !tbaa !5
  %10813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10814 = load i32, ptr @test_count, align 4, !tbaa !5
  %10815 = load i32, ptr %234, align 4, !tbaa !5
  %10816 = call ptr @s2n_strerror(i32 noundef %10815, ptr noundef nonnull @.str.80) #12
  %10817 = load i32, ptr %234, align 4, !tbaa !5
  %10818 = call ptr @s2n_strerror_debug(i32 noundef %10817, ptr noundef nonnull @.str.80) #12
  %10819 = load i32, ptr %288, align 4, !tbaa !5
  %10820 = call ptr @strerror(i32 noundef %10819) #12
  %10821 = load i32, ptr %288, align 4, !tbaa !5
  %10822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10813, ptr noundef nonnull %.str.81.sink5274, i32 noundef %10814, ptr noundef nonnull @.str.302, ptr noundef nonnull @.str.77, i32 noundef 925, ptr noundef %10816, ptr noundef %10818, ptr noundef %10820, i32 noundef %10821) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10823:                                            ; preds = %10795
  %10824 = load i32, ptr @test_count, align 4, !tbaa !5
  %10825 = add nsw i32 %10824, 1
  store i32 %10825, ptr @test_count, align 4, !tbaa !5
  %10826 = load i32, ptr %234, align 4, !tbaa !5
  %10827 = icmp eq i32 %10826, 469762108
  br i1 %10827, label %10850, label %10828

10828:                                            ; preds = %10823
  %10829 = load i32, ptr %288, align 4, !tbaa !5
  %10830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10831 = call i32 @s2n_print_stacktrace(ptr noundef %10830) #12
  %10832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10833 = trunc nuw i8 %10832 to i1
  br i1 %10833, label %10834, label %10838

10834:                                            ; preds = %10828
  %10835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10836 = call i32 @fileno(ptr noundef %10835) #12
  %10837 = call i32 @isatty(i32 noundef %10836) #12
  %.not1536 = icmp eq i32 %10837, 0
  br i1 %.not1536, label %10838, label %10839

10838:                                            ; preds = %10834, %10828
  br label %10839

10839:                                            ; preds = %10834, %10838
  %.str.81.sink5283 = phi ptr [ @.str.81, %10838 ], [ @.str.78, %10834 ]
  store i32 %10829, ptr %288, align 4, !tbaa !5
  %10840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10841 = load i32, ptr @test_count, align 4, !tbaa !5
  %10842 = load i32, ptr %234, align 4, !tbaa !5
  %10843 = call ptr @s2n_strerror(i32 noundef %10842, ptr noundef nonnull @.str.80) #12
  %10844 = load i32, ptr %234, align 4, !tbaa !5
  %10845 = call ptr @s2n_strerror_debug(i32 noundef %10844, ptr noundef nonnull @.str.80) #12
  %10846 = load i32, ptr %288, align 4, !tbaa !5
  %10847 = call ptr @strerror(i32 noundef %10846) #12
  %10848 = load i32, ptr %288, align 4, !tbaa !5
  %10849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10840, ptr noundef nonnull %.str.81.sink5283, i32 noundef %10841, ptr noundef nonnull @.str.305, ptr noundef nonnull @.str.77, i32 noundef 925, ptr noundef %10843, ptr noundef %10845, ptr noundef %10847, i32 noundef %10848) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10850:                                            ; preds = %10823
  %10851 = add nsw i32 %10824, 2
  store i32 %10851, ptr @test_count, align 4, !tbaa !5
  %10852 = call ptr @s2n_strerror_debug(i32 noundef 469762108, ptr noundef nonnull @.str.80) #12
  %10853 = icmp eq ptr %10852, null
  br i1 %10853, label %10854, label %10876

10854:                                            ; preds = %10850
  %10855 = load i32, ptr %288, align 4, !tbaa !5
  %10856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10857 = call i32 @s2n_print_stacktrace(ptr noundef %10856) #12
  %10858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10859 = trunc nuw i8 %10858 to i1
  br i1 %10859, label %10860, label %10864

10860:                                            ; preds = %10854
  %10861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10862 = call i32 @fileno(ptr noundef %10861) #12
  %10863 = call i32 @isatty(i32 noundef %10862) #12
  %.not1657 = icmp eq i32 %10863, 0
  br i1 %.not1657, label %10864, label %10865

10864:                                            ; preds = %10860, %10854
  br label %10865

10865:                                            ; preds = %10860, %10864
  %.str.81.sink5292 = phi ptr [ @.str.81, %10864 ], [ @.str.78, %10860 ]
  store i32 %10855, ptr %288, align 4, !tbaa !5
  %10866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10867 = load i32, ptr @test_count, align 4, !tbaa !5
  %10868 = load i32, ptr %234, align 4, !tbaa !5
  %10869 = call ptr @s2n_strerror(i32 noundef %10868, ptr noundef nonnull @.str.80) #12
  %10870 = load i32, ptr %234, align 4, !tbaa !5
  %10871 = call ptr @s2n_strerror_debug(i32 noundef %10870, ptr noundef nonnull @.str.80) #12
  %10872 = load i32, ptr %288, align 4, !tbaa !5
  %10873 = call ptr @strerror(i32 noundef %10872) #12
  %10874 = load i32, ptr %288, align 4, !tbaa !5
  %10875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10866, ptr noundef nonnull %.str.81.sink5292, i32 noundef %10867, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 925, ptr noundef %10869, ptr noundef %10871, ptr noundef %10873, i32 noundef %10874) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10876:                                            ; preds = %10850
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %10877 = load i32, ptr @test_count, align 4, !tbaa !5
  %10878 = add nsw i32 %10877, 1
  store i32 %10878, ptr @test_count, align 4, !tbaa !5
  %10879 = call i32 @s2n_connection_free(ptr noundef nonnull %10743) #12
  %10880 = icmp eq i32 %10879, -1
  br i1 %10880, label %10881, label %10903

10881:                                            ; preds = %10876
  %10882 = load i32, ptr %288, align 4, !tbaa !5
  %10883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10884 = call i32 @s2n_print_stacktrace(ptr noundef %10883) #12
  %10885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10886 = trunc nuw i8 %10885 to i1
  br i1 %10886, label %10887, label %10891

10887:                                            ; preds = %10881
  %10888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10889 = call i32 @fileno(ptr noundef %10888) #12
  %10890 = call i32 @isatty(i32 noundef %10889) #12
  %.not1656 = icmp eq i32 %10890, 0
  br i1 %.not1656, label %10891, label %10892

10891:                                            ; preds = %10887, %10881
  br label %10892

10892:                                            ; preds = %10887, %10891
  %.str.81.sink5301 = phi ptr [ @.str.81, %10891 ], [ @.str.78, %10887 ]
  store i32 %10882, ptr %288, align 4, !tbaa !5
  %10893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10894 = load i32, ptr @test_count, align 4, !tbaa !5
  %10895 = load i32, ptr %234, align 4, !tbaa !5
  %10896 = call ptr @s2n_strerror(i32 noundef %10895, ptr noundef nonnull @.str.80) #12
  %10897 = load i32, ptr %234, align 4, !tbaa !5
  %10898 = call ptr @s2n_strerror_debug(i32 noundef %10897, ptr noundef nonnull @.str.80) #12
  %10899 = load i32, ptr %288, align 4, !tbaa !5
  %10900 = call ptr @strerror(i32 noundef %10899) #12
  %10901 = load i32, ptr %288, align 4, !tbaa !5
  %10902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10893, ptr noundef nonnull %.str.81.sink5301, i32 noundef %10894, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 927, ptr noundef %10896, ptr noundef %10898, ptr noundef %10900, i32 noundef %10901) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10903:                                            ; preds = %10876
  %10904 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %10905 = load i32, ptr @test_count, align 4, !tbaa !5
  %10906 = add nsw i32 %10905, 1
  store i32 %10906, ptr @test_count, align 4, !tbaa !5
  %10907 = icmp eq ptr %10904, null
  br i1 %10907, label %10908, label %10930

10908:                                            ; preds = %10903
  %10909 = load i32, ptr %288, align 4, !tbaa !5
  %10910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10911 = call i32 @s2n_print_stacktrace(ptr noundef %10910) #12
  %10912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10913 = trunc nuw i8 %10912 to i1
  br i1 %10913, label %10914, label %10918

10914:                                            ; preds = %10908
  %10915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10916 = call i32 @fileno(ptr noundef %10915) #12
  %10917 = call i32 @isatty(i32 noundef %10916) #12
  %.not1655 = icmp eq i32 %10917, 0
  br i1 %.not1655, label %10918, label %10919

10918:                                            ; preds = %10914, %10908
  br label %10919

10919:                                            ; preds = %10914, %10918
  %.str.81.sink5310 = phi ptr [ @.str.81, %10918 ], [ @.str.78, %10914 ]
  store i32 %10909, ptr %288, align 4, !tbaa !5
  %10920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10921 = load i32, ptr @test_count, align 4, !tbaa !5
  %10922 = load i32, ptr %234, align 4, !tbaa !5
  %10923 = call ptr @s2n_strerror(i32 noundef %10922, ptr noundef nonnull @.str.80) #12
  %10924 = load i32, ptr %234, align 4, !tbaa !5
  %10925 = call ptr @s2n_strerror_debug(i32 noundef %10924, ptr noundef nonnull @.str.80) #12
  %10926 = load i32, ptr %288, align 4, !tbaa !5
  %10927 = call ptr @strerror(i32 noundef %10926) #12
  %10928 = load i32, ptr %288, align 4, !tbaa !5
  %10929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10920, ptr noundef nonnull %.str.81.sink5310, i32 noundef %10921, ptr noundef nonnull @.str.281, ptr noundef nonnull @.str.77, i32 noundef 933, ptr noundef %10923, ptr noundef %10925, ptr noundef %10927, i32 noundef %10928) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10930:                                            ; preds = %10903
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #12
  %10931 = call ptr @s2n_test_psk_new(ptr noundef nonnull %10904) #12
  store ptr %10931, ptr %102, align 8, !tbaa !9
  store i32 1, ptr %10931, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #12
  %10932 = call ptr @s2n_test_psk_new(ptr noundef nonnull %10904) #12
  store ptr %10932, ptr %103, align 8, !tbaa !9
  store i32 0, ptr %10932, align 8, !tbaa !15
  %10933 = load i32, ptr @test_count, align 4, !tbaa !5
  %10934 = add nsw i32 %10933, 1
  store i32 %10934, ptr @test_count, align 4, !tbaa !5
  %10935 = load ptr, ptr %102, align 8, !tbaa !9
  %10936 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %10904, ptr noundef %10935)
  %10937 = icmp eq i32 %10936, -1
  br i1 %10937, label %10938, label %10960

10938:                                            ; preds = %10930
  %10939 = load i32, ptr %288, align 4, !tbaa !5
  %10940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10941 = call i32 @s2n_print_stacktrace(ptr noundef %10940) #12
  %10942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10943 = trunc nuw i8 %10942 to i1
  br i1 %10943, label %10944, label %10948

10944:                                            ; preds = %10938
  %10945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10946 = call i32 @fileno(ptr noundef %10945) #12
  %10947 = call i32 @isatty(i32 noundef %10946) #12
  %.not1654 = icmp eq i32 %10947, 0
  br i1 %.not1654, label %10948, label %10949

10948:                                            ; preds = %10944, %10938
  br label %10949

10949:                                            ; preds = %10944, %10948
  %.str.81.sink5319 = phi ptr [ @.str.81, %10948 ], [ @.str.78, %10944 ]
  store i32 %10939, ptr %288, align 4, !tbaa !5
  %10950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10951 = load i32, ptr @test_count, align 4, !tbaa !5
  %10952 = load i32, ptr %234, align 4, !tbaa !5
  %10953 = call ptr @s2n_strerror(i32 noundef %10952, ptr noundef nonnull @.str.80) #12
  %10954 = load i32, ptr %234, align 4, !tbaa !5
  %10955 = call ptr @s2n_strerror_debug(i32 noundef %10954, ptr noundef nonnull @.str.80) #12
  %10956 = load i32, ptr %288, align 4, !tbaa !5
  %10957 = call ptr @strerror(i32 noundef %10956) #12
  %10958 = load i32, ptr %288, align 4, !tbaa !5
  %10959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10950, ptr noundef nonnull %.str.81.sink5319, i32 noundef %10951, ptr noundef nonnull @.str.306, ptr noundef nonnull @.str.77, i32 noundef 942, ptr noundef %10953, ptr noundef %10955, ptr noundef %10957, i32 noundef %10958) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10960:                                            ; preds = %10930
  %10961 = load i32, ptr @test_count, align 4, !tbaa !5
  %10962 = add nsw i32 %10961, 1
  store i32 %10962, ptr @test_count, align 4, !tbaa !5
  %10963 = load ptr, ptr %103, align 8, !tbaa !9
  %10964 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %10904, ptr noundef %10963)
  %10965 = icmp eq i32 %10964, -1
  br i1 %10965, label %10988, label %10966

10966:                                            ; preds = %10960
  %10967 = load i32, ptr %288, align 4, !tbaa !5
  %10968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10969 = call i32 @s2n_print_stacktrace(ptr noundef %10968) #12
  %10970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10971 = trunc nuw i8 %10970 to i1
  br i1 %10971, label %10972, label %10976

10972:                                            ; preds = %10966
  %10973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10974 = call i32 @fileno(ptr noundef %10973) #12
  %10975 = call i32 @isatty(i32 noundef %10974) #12
  %.not1537 = icmp eq i32 %10975, 0
  br i1 %.not1537, label %10976, label %10977

10976:                                            ; preds = %10972, %10966
  br label %10977

10977:                                            ; preds = %10972, %10976
  %.str.81.sink5328 = phi ptr [ @.str.81, %10976 ], [ @.str.78, %10972 ]
  store i32 %10967, ptr %288, align 4, !tbaa !5
  %10978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10979 = load i32, ptr @test_count, align 4, !tbaa !5
  %10980 = load i32, ptr %234, align 4, !tbaa !5
  %10981 = call ptr @s2n_strerror(i32 noundef %10980, ptr noundef nonnull @.str.80) #12
  %10982 = load i32, ptr %234, align 4, !tbaa !5
  %10983 = call ptr @s2n_strerror_debug(i32 noundef %10982, ptr noundef nonnull @.str.80) #12
  %10984 = load i32, ptr %288, align 4, !tbaa !5
  %10985 = call ptr @strerror(i32 noundef %10984) #12
  %10986 = load i32, ptr %288, align 4, !tbaa !5
  %10987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10978, ptr noundef nonnull %.str.81.sink5328, i32 noundef %10979, ptr noundef nonnull @.str.307, ptr noundef nonnull @.str.77, i32 noundef 944, ptr noundef %10981, ptr noundef %10983, ptr noundef %10985, i32 noundef %10986) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10988:                                            ; preds = %10960
  %10989 = load i32, ptr @test_count, align 4, !tbaa !5
  %10990 = add nsw i32 %10989, 1
  store i32 %10990, ptr @test_count, align 4, !tbaa !5
  %10991 = load i32, ptr %234, align 4, !tbaa !5
  %10992 = icmp eq i32 %10991, 469762117
  br i1 %10992, label %11015, label %10993

10993:                                            ; preds = %10988
  %10994 = load i32, ptr %288, align 4, !tbaa !5
  %10995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10996 = call i32 @s2n_print_stacktrace(ptr noundef %10995) #12
  %10997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10998 = trunc nuw i8 %10997 to i1
  br i1 %10998, label %10999, label %11003

10999:                                            ; preds = %10993
  %11000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11001 = call i32 @fileno(ptr noundef %11000) #12
  %11002 = call i32 @isatty(i32 noundef %11001) #12
  %.not1538 = icmp eq i32 %11002, 0
  br i1 %.not1538, label %11003, label %11004

11003:                                            ; preds = %10999, %10993
  br label %11004

11004:                                            ; preds = %10999, %11003
  %.str.81.sink5337 = phi ptr [ @.str.81, %11003 ], [ @.str.78, %10999 ]
  store i32 %10994, ptr %288, align 4, !tbaa !5
  %11005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11006 = load i32, ptr @test_count, align 4, !tbaa !5
  %11007 = load i32, ptr %234, align 4, !tbaa !5
  %11008 = call ptr @s2n_strerror(i32 noundef %11007, ptr noundef nonnull @.str.80) #12
  %11009 = load i32, ptr %234, align 4, !tbaa !5
  %11010 = call ptr @s2n_strerror_debug(i32 noundef %11009, ptr noundef nonnull @.str.80) #12
  %11011 = load i32, ptr %288, align 4, !tbaa !5
  %11012 = call ptr @strerror(i32 noundef %11011) #12
  %11013 = load i32, ptr %288, align 4, !tbaa !5
  %11014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11005, ptr noundef nonnull %.str.81.sink5337, i32 noundef %11006, ptr noundef nonnull @.str.308, ptr noundef nonnull @.str.77, i32 noundef 944, ptr noundef %11008, ptr noundef %11010, ptr noundef %11012, i32 noundef %11013) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11015:                                            ; preds = %10988
  %11016 = add nsw i32 %10989, 2
  store i32 %11016, ptr @test_count, align 4, !tbaa !5
  %11017 = call ptr @s2n_strerror_debug(i32 noundef 469762117, ptr noundef nonnull @.str.80) #12
  %11018 = icmp eq ptr %11017, null
  br i1 %11018, label %11019, label %11041

11019:                                            ; preds = %11015
  %11020 = load i32, ptr %288, align 4, !tbaa !5
  %11021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11022 = call i32 @s2n_print_stacktrace(ptr noundef %11021) #12
  %11023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11024 = trunc nuw i8 %11023 to i1
  br i1 %11024, label %11025, label %11029

11025:                                            ; preds = %11019
  %11026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11027 = call i32 @fileno(ptr noundef %11026) #12
  %11028 = call i32 @isatty(i32 noundef %11027) #12
  %.not1653 = icmp eq i32 %11028, 0
  br i1 %.not1653, label %11029, label %11030

11029:                                            ; preds = %11025, %11019
  br label %11030

11030:                                            ; preds = %11025, %11029
  %.str.81.sink5346 = phi ptr [ @.str.81, %11029 ], [ @.str.78, %11025 ]
  store i32 %11020, ptr %288, align 4, !tbaa !5
  %11031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11032 = load i32, ptr @test_count, align 4, !tbaa !5
  %11033 = load i32, ptr %234, align 4, !tbaa !5
  %11034 = call ptr @s2n_strerror(i32 noundef %11033, ptr noundef nonnull @.str.80) #12
  %11035 = load i32, ptr %234, align 4, !tbaa !5
  %11036 = call ptr @s2n_strerror_debug(i32 noundef %11035, ptr noundef nonnull @.str.80) #12
  %11037 = load i32, ptr %288, align 4, !tbaa !5
  %11038 = call ptr @strerror(i32 noundef %11037) #12
  %11039 = load i32, ptr %288, align 4, !tbaa !5
  %11040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11031, ptr noundef nonnull %.str.81.sink5346, i32 noundef %11032, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 944, ptr noundef %11034, ptr noundef %11036, ptr noundef %11038, i32 noundef %11039) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11041:                                            ; preds = %11015
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %11042 = load i32, ptr @test_count, align 4, !tbaa !5
  %11043 = add nsw i32 %11042, 1
  store i32 %11043, ptr @test_count, align 4, !tbaa !5
  %11044 = call i32 @s2n_connection_wipe(ptr noundef nonnull %10904) #12
  %11045 = icmp eq i32 %11044, -1
  br i1 %11045, label %11046, label %11068

11046:                                            ; preds = %11041
  %11047 = load i32, ptr %288, align 4, !tbaa !5
  %11048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11049 = call i32 @s2n_print_stacktrace(ptr noundef %11048) #12
  %11050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11051 = trunc nuw i8 %11050 to i1
  br i1 %11051, label %11052, label %11056

11052:                                            ; preds = %11046
  %11053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11054 = call i32 @fileno(ptr noundef %11053) #12
  %11055 = call i32 @isatty(i32 noundef %11054) #12
  %.not1652 = icmp eq i32 %11055, 0
  br i1 %.not1652, label %11056, label %11057

11056:                                            ; preds = %11052, %11046
  br label %11057

11057:                                            ; preds = %11052, %11056
  %.str.81.sink5355 = phi ptr [ @.str.81, %11056 ], [ @.str.78, %11052 ]
  store i32 %11047, ptr %288, align 4, !tbaa !5
  %11058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11059 = load i32, ptr @test_count, align 4, !tbaa !5
  %11060 = load i32, ptr %234, align 4, !tbaa !5
  %11061 = call ptr @s2n_strerror(i32 noundef %11060, ptr noundef nonnull @.str.80) #12
  %11062 = load i32, ptr %234, align 4, !tbaa !5
  %11063 = call ptr @s2n_strerror_debug(i32 noundef %11062, ptr noundef nonnull @.str.80) #12
  %11064 = load i32, ptr %288, align 4, !tbaa !5
  %11065 = call ptr @strerror(i32 noundef %11064) #12
  %11066 = load i32, ptr %288, align 4, !tbaa !5
  %11067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11058, ptr noundef nonnull %.str.81.sink5355, i32 noundef %11059, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.77, i32 noundef 947, ptr noundef %11061, ptr noundef %11063, ptr noundef %11065, i32 noundef %11066) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11068:                                            ; preds = %11041
  %11069 = load i32, ptr @test_count, align 4, !tbaa !5
  %11070 = add nsw i32 %11069, 1
  store i32 %11070, ptr @test_count, align 4, !tbaa !5
  %11071 = load ptr, ptr %103, align 8, !tbaa !9
  %11072 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %10904, ptr noundef %11071)
  %11073 = icmp eq i32 %11072, -1
  br i1 %11073, label %11074, label %11096

11074:                                            ; preds = %11068
  %11075 = load i32, ptr %288, align 4, !tbaa !5
  %11076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11077 = call i32 @s2n_print_stacktrace(ptr noundef %11076) #12
  %11078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11079 = trunc nuw i8 %11078 to i1
  br i1 %11079, label %11080, label %11084

11080:                                            ; preds = %11074
  %11081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11082 = call i32 @fileno(ptr noundef %11081) #12
  %11083 = call i32 @isatty(i32 noundef %11082) #12
  %.not1651 = icmp eq i32 %11083, 0
  br i1 %.not1651, label %11084, label %11085

11084:                                            ; preds = %11080, %11074
  br label %11085

11085:                                            ; preds = %11080, %11084
  %.str.81.sink5364 = phi ptr [ @.str.81, %11084 ], [ @.str.78, %11080 ]
  store i32 %11075, ptr %288, align 4, !tbaa !5
  %11086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11087 = load i32, ptr @test_count, align 4, !tbaa !5
  %11088 = load i32, ptr %234, align 4, !tbaa !5
  %11089 = call ptr @s2n_strerror(i32 noundef %11088, ptr noundef nonnull @.str.80) #12
  %11090 = load i32, ptr %234, align 4, !tbaa !5
  %11091 = call ptr @s2n_strerror_debug(i32 noundef %11090, ptr noundef nonnull @.str.80) #12
  %11092 = load i32, ptr %288, align 4, !tbaa !5
  %11093 = call ptr @strerror(i32 noundef %11092) #12
  %11094 = load i32, ptr %288, align 4, !tbaa !5
  %11095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11086, ptr noundef nonnull %.str.81.sink5364, i32 noundef %11087, ptr noundef nonnull @.str.309, ptr noundef nonnull @.str.77, i32 noundef 951, ptr noundef %11089, ptr noundef %11091, ptr noundef %11093, i32 noundef %11094) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11096:                                            ; preds = %11068
  %11097 = load i32, ptr @test_count, align 4, !tbaa !5
  %11098 = add nsw i32 %11097, 1
  store i32 %11098, ptr @test_count, align 4, !tbaa !5
  %11099 = load ptr, ptr %102, align 8, !tbaa !9
  %11100 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %10904, ptr noundef %11099)
  %11101 = icmp eq i32 %11100, -1
  br i1 %11101, label %11124, label %11102

11102:                                            ; preds = %11096
  %11103 = load i32, ptr %288, align 4, !tbaa !5
  %11104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11105 = call i32 @s2n_print_stacktrace(ptr noundef %11104) #12
  %11106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11107 = trunc nuw i8 %11106 to i1
  br i1 %11107, label %11108, label %11112

11108:                                            ; preds = %11102
  %11109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11110 = call i32 @fileno(ptr noundef %11109) #12
  %11111 = call i32 @isatty(i32 noundef %11110) #12
  %.not1539 = icmp eq i32 %11111, 0
  br i1 %.not1539, label %11112, label %11113

11112:                                            ; preds = %11108, %11102
  br label %11113

11113:                                            ; preds = %11108, %11112
  %.str.81.sink5373 = phi ptr [ @.str.81, %11112 ], [ @.str.78, %11108 ]
  store i32 %11103, ptr %288, align 4, !tbaa !5
  %11114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11115 = load i32, ptr @test_count, align 4, !tbaa !5
  %11116 = load i32, ptr %234, align 4, !tbaa !5
  %11117 = call ptr @s2n_strerror(i32 noundef %11116, ptr noundef nonnull @.str.80) #12
  %11118 = load i32, ptr %234, align 4, !tbaa !5
  %11119 = call ptr @s2n_strerror_debug(i32 noundef %11118, ptr noundef nonnull @.str.80) #12
  %11120 = load i32, ptr %288, align 4, !tbaa !5
  %11121 = call ptr @strerror(i32 noundef %11120) #12
  %11122 = load i32, ptr %288, align 4, !tbaa !5
  %11123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11114, ptr noundef nonnull %.str.81.sink5373, i32 noundef %11115, ptr noundef nonnull @.str.310, ptr noundef nonnull @.str.77, i32 noundef 953, ptr noundef %11117, ptr noundef %11119, ptr noundef %11121, i32 noundef %11122) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11124:                                            ; preds = %11096
  %11125 = load i32, ptr @test_count, align 4, !tbaa !5
  %11126 = add nsw i32 %11125, 1
  store i32 %11126, ptr @test_count, align 4, !tbaa !5
  %11127 = load i32, ptr %234, align 4, !tbaa !5
  %11128 = icmp eq i32 %11127, 469762117
  br i1 %11128, label %11151, label %11129

11129:                                            ; preds = %11124
  %11130 = load i32, ptr %288, align 4, !tbaa !5
  %11131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11132 = call i32 @s2n_print_stacktrace(ptr noundef %11131) #12
  %11133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11134 = trunc nuw i8 %11133 to i1
  br i1 %11134, label %11135, label %11139

11135:                                            ; preds = %11129
  %11136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11137 = call i32 @fileno(ptr noundef %11136) #12
  %11138 = call i32 @isatty(i32 noundef %11137) #12
  %.not1540 = icmp eq i32 %11138, 0
  br i1 %.not1540, label %11139, label %11140

11139:                                            ; preds = %11135, %11129
  br label %11140

11140:                                            ; preds = %11135, %11139
  %.str.81.sink5382 = phi ptr [ @.str.81, %11139 ], [ @.str.78, %11135 ]
  store i32 %11130, ptr %288, align 4, !tbaa !5
  %11141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11142 = load i32, ptr @test_count, align 4, !tbaa !5
  %11143 = load i32, ptr %234, align 4, !tbaa !5
  %11144 = call ptr @s2n_strerror(i32 noundef %11143, ptr noundef nonnull @.str.80) #12
  %11145 = load i32, ptr %234, align 4, !tbaa !5
  %11146 = call ptr @s2n_strerror_debug(i32 noundef %11145, ptr noundef nonnull @.str.80) #12
  %11147 = load i32, ptr %288, align 4, !tbaa !5
  %11148 = call ptr @strerror(i32 noundef %11147) #12
  %11149 = load i32, ptr %288, align 4, !tbaa !5
  %11150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11141, ptr noundef nonnull %.str.81.sink5382, i32 noundef %11142, ptr noundef nonnull @.str.308, ptr noundef nonnull @.str.77, i32 noundef 953, ptr noundef %11144, ptr noundef %11146, ptr noundef %11148, i32 noundef %11149) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11151:                                            ; preds = %11124
  %11152 = add nsw i32 %11125, 2
  store i32 %11152, ptr @test_count, align 4, !tbaa !5
  %11153 = call ptr @s2n_strerror_debug(i32 noundef 469762117, ptr noundef nonnull @.str.80) #12
  %11154 = icmp eq ptr %11153, null
  br i1 %11154, label %11155, label %11177

11155:                                            ; preds = %11151
  %11156 = load i32, ptr %288, align 4, !tbaa !5
  %11157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11158 = call i32 @s2n_print_stacktrace(ptr noundef %11157) #12
  %11159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11160 = trunc nuw i8 %11159 to i1
  br i1 %11160, label %11161, label %11165

11161:                                            ; preds = %11155
  %11162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11163 = call i32 @fileno(ptr noundef %11162) #12
  %11164 = call i32 @isatty(i32 noundef %11163) #12
  %.not1650 = icmp eq i32 %11164, 0
  br i1 %.not1650, label %11165, label %11166

11165:                                            ; preds = %11161, %11155
  br label %11166

11166:                                            ; preds = %11161, %11165
  %.str.81.sink5391 = phi ptr [ @.str.81, %11165 ], [ @.str.78, %11161 ]
  store i32 %11156, ptr %288, align 4, !tbaa !5
  %11167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11168 = load i32, ptr @test_count, align 4, !tbaa !5
  %11169 = load i32, ptr %234, align 4, !tbaa !5
  %11170 = call ptr @s2n_strerror(i32 noundef %11169, ptr noundef nonnull @.str.80) #12
  %11171 = load i32, ptr %234, align 4, !tbaa !5
  %11172 = call ptr @s2n_strerror_debug(i32 noundef %11171, ptr noundef nonnull @.str.80) #12
  %11173 = load i32, ptr %288, align 4, !tbaa !5
  %11174 = call ptr @strerror(i32 noundef %11173) #12
  %11175 = load i32, ptr %288, align 4, !tbaa !5
  %11176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11167, ptr noundef nonnull %.str.81.sink5391, i32 noundef %11168, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 953, ptr noundef %11170, ptr noundef %11172, ptr noundef %11174, i32 noundef %11175) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11177:                                            ; preds = %11151
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %11178 = load i32, ptr @test_count, align 4, !tbaa !5
  %11179 = add nsw i32 %11178, 1
  store i32 %11179, ptr @test_count, align 4, !tbaa !5
  %11180 = call i32 @s2n_connection_free(ptr noundef nonnull %10904) #12
  %11181 = icmp eq i32 %11180, -1
  br i1 %11181, label %11182, label %11204

11182:                                            ; preds = %11177
  %11183 = load i32, ptr %288, align 4, !tbaa !5
  %11184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11185 = call i32 @s2n_print_stacktrace(ptr noundef %11184) #12
  %11186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11187 = trunc nuw i8 %11186 to i1
  br i1 %11187, label %11188, label %11192

11188:                                            ; preds = %11182
  %11189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11190 = call i32 @fileno(ptr noundef %11189) #12
  %11191 = call i32 @isatty(i32 noundef %11190) #12
  %.not1649 = icmp eq i32 %11191, 0
  br i1 %.not1649, label %11192, label %11193

11192:                                            ; preds = %11188, %11182
  br label %11193

11193:                                            ; preds = %11188, %11192
  %.str.81.sink5400 = phi ptr [ @.str.81, %11192 ], [ @.str.78, %11188 ]
  store i32 %11183, ptr %288, align 4, !tbaa !5
  %11194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11195 = load i32, ptr @test_count, align 4, !tbaa !5
  %11196 = load i32, ptr %234, align 4, !tbaa !5
  %11197 = call ptr @s2n_strerror(i32 noundef %11196, ptr noundef nonnull @.str.80) #12
  %11198 = load i32, ptr %234, align 4, !tbaa !5
  %11199 = call ptr @s2n_strerror_debug(i32 noundef %11198, ptr noundef nonnull @.str.80) #12
  %11200 = load i32, ptr %288, align 4, !tbaa !5
  %11201 = call ptr @strerror(i32 noundef %11200) #12
  %11202 = load i32, ptr %288, align 4, !tbaa !5
  %11203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11194, ptr noundef nonnull %.str.81.sink5400, i32 noundef %11195, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 956, ptr noundef %11197, ptr noundef %11199, ptr noundef %11201, i32 noundef %11202) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11204:                                            ; preds = %11177
  %11205 = call i32 @s2n_psk_free(ptr noundef nonnull %103)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #12
  %11206 = call i32 @s2n_psk_free(ptr noundef nonnull %102)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #12
  %11207 = call i32 @s2n_psk_free(ptr noundef nonnull %90)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #12
  call void @llvm.lifetime.end.p0(i64 65535, ptr nonnull %89) #12
  call void @llvm.lifetime.end.p0(i64 11, ptr nonnull %88) #12
  call void @llvm.lifetime.end.p0(i64 7, ptr nonnull %87) #12
  call void @llvm.lifetime.end.p0(i64 9, ptr nonnull %86) #12
  %11208 = load i32, ptr @test_count, align 4, !tbaa !5
  %11209 = add nsw i32 %11208, 1
  store i32 %11209, ptr @test_count, align 4, !tbaa !5
  %11210 = call i32 @s2n_psk_set_hmac(ptr noundef null, i32 noundef 0)
  %11211 = icmp eq i32 %11210, -1
  br i1 %11211, label %11234, label %11212

11212:                                            ; preds = %11204
  %11213 = load i32, ptr %288, align 4, !tbaa !5
  %11214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11215 = call i32 @s2n_print_stacktrace(ptr noundef %11214) #12
  %11216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11217 = trunc nuw i8 %11216 to i1
  br i1 %11217, label %11218, label %11222

11218:                                            ; preds = %11212
  %11219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11220 = call i32 @fileno(ptr noundef %11219) #12
  %11221 = call i32 @isatty(i32 noundef %11220) #12
  %.not1541 = icmp eq i32 %11221, 0
  br i1 %.not1541, label %11222, label %11223

11222:                                            ; preds = %11218, %11212
  br label %11223

11223:                                            ; preds = %11218, %11222
  %.str.81.sink5409 = phi ptr [ @.str.81, %11222 ], [ @.str.78, %11218 ]
  store i32 %11213, ptr %288, align 4, !tbaa !5
  %11224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11225 = load i32, ptr @test_count, align 4, !tbaa !5
  %11226 = load i32, ptr %234, align 4, !tbaa !5
  %11227 = call ptr @s2n_strerror(i32 noundef %11226, ptr noundef nonnull @.str.80) #12
  %11228 = load i32, ptr %234, align 4, !tbaa !5
  %11229 = call ptr @s2n_strerror_debug(i32 noundef %11228, ptr noundef nonnull @.str.80) #12
  %11230 = load i32, ptr %288, align 4, !tbaa !5
  %11231 = call ptr @strerror(i32 noundef %11230) #12
  %11232 = load i32, ptr %288, align 4, !tbaa !5
  %11233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11224, ptr noundef nonnull %.str.81.sink5409, i32 noundef %11225, ptr noundef nonnull @.str.311, ptr noundef nonnull @.str.77, i32 noundef 962, ptr noundef %11227, ptr noundef %11229, ptr noundef %11231, i32 noundef %11232) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11234:                                            ; preds = %11204
  %11235 = load i32, ptr @test_count, align 4, !tbaa !5
  %11236 = add nsw i32 %11235, 1
  store i32 %11236, ptr @test_count, align 4, !tbaa !5
  %11237 = load i32, ptr %234, align 4, !tbaa !5
  %11238 = icmp eq i32 %11237, 402653193
  br i1 %11238, label %11261, label %11239

11239:                                            ; preds = %11234
  %11240 = load i32, ptr %288, align 4, !tbaa !5
  %11241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11242 = call i32 @s2n_print_stacktrace(ptr noundef %11241) #12
  %11243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11244 = trunc nuw i8 %11243 to i1
  br i1 %11244, label %11245, label %11249

11245:                                            ; preds = %11239
  %11246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11247 = call i32 @fileno(ptr noundef %11246) #12
  %11248 = call i32 @isatty(i32 noundef %11247) #12
  %.not1542 = icmp eq i32 %11248, 0
  br i1 %.not1542, label %11249, label %11250

11249:                                            ; preds = %11245, %11239
  br label %11250

11250:                                            ; preds = %11245, %11249
  %.str.81.sink5418 = phi ptr [ @.str.81, %11249 ], [ @.str.78, %11245 ]
  store i32 %11240, ptr %288, align 4, !tbaa !5
  %11251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11252 = load i32, ptr @test_count, align 4, !tbaa !5
  %11253 = load i32, ptr %234, align 4, !tbaa !5
  %11254 = call ptr @s2n_strerror(i32 noundef %11253, ptr noundef nonnull @.str.80) #12
  %11255 = load i32, ptr %234, align 4, !tbaa !5
  %11256 = call ptr @s2n_strerror_debug(i32 noundef %11255, ptr noundef nonnull @.str.80) #12
  %11257 = load i32, ptr %288, align 4, !tbaa !5
  %11258 = call ptr @strerror(i32 noundef %11257) #12
  %11259 = load i32, ptr %288, align 4, !tbaa !5
  %11260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11251, ptr noundef nonnull %.str.81.sink5418, i32 noundef %11252, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 962, ptr noundef %11254, ptr noundef %11256, ptr noundef %11258, i32 noundef %11259) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11261:                                            ; preds = %11234
  %11262 = add nsw i32 %11235, 2
  store i32 %11262, ptr @test_count, align 4, !tbaa !5
  %11263 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %11264 = icmp eq ptr %11263, null
  br i1 %11264, label %11265, label %11287

11265:                                            ; preds = %11261
  %11266 = load i32, ptr %288, align 4, !tbaa !5
  %11267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11268 = call i32 @s2n_print_stacktrace(ptr noundef %11267) #12
  %11269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11270 = trunc nuw i8 %11269 to i1
  br i1 %11270, label %11271, label %11275

11271:                                            ; preds = %11265
  %11272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11273 = call i32 @fileno(ptr noundef %11272) #12
  %11274 = call i32 @isatty(i32 noundef %11273) #12
  %.not1648 = icmp eq i32 %11274, 0
  br i1 %.not1648, label %11275, label %11276

11275:                                            ; preds = %11271, %11265
  br label %11276

11276:                                            ; preds = %11271, %11275
  %.str.81.sink5427 = phi ptr [ @.str.81, %11275 ], [ @.str.78, %11271 ]
  store i32 %11266, ptr %288, align 4, !tbaa !5
  %11277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11278 = load i32, ptr @test_count, align 4, !tbaa !5
  %11279 = load i32, ptr %234, align 4, !tbaa !5
  %11280 = call ptr @s2n_strerror(i32 noundef %11279, ptr noundef nonnull @.str.80) #12
  %11281 = load i32, ptr %234, align 4, !tbaa !5
  %11282 = call ptr @s2n_strerror_debug(i32 noundef %11281, ptr noundef nonnull @.str.80) #12
  %11283 = load i32, ptr %288, align 4, !tbaa !5
  %11284 = call ptr @strerror(i32 noundef %11283) #12
  %11285 = load i32, ptr %288, align 4, !tbaa !5
  %11286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11277, ptr noundef nonnull %.str.81.sink5427, i32 noundef %11278, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 962, ptr noundef %11280, ptr noundef %11282, ptr noundef %11284, i32 noundef %11285) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11287:                                            ; preds = %11261
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %104) #12
  %11288 = load i32, ptr @test_count, align 4, !tbaa !5
  %11289 = add nsw i32 %11288, 1
  store i32 %11289, ptr @test_count, align 4, !tbaa !5
  %11290 = call i32 @s2n_psk_init(ptr noundef nonnull %104, i32 noundef 1)
  %11291 = call zeroext i1 @s2n_result_is_ok(i32 %11290)
  br i1 %11291, label %11314, label %11292

11292:                                            ; preds = %11287
  %11293 = load i32, ptr %288, align 4, !tbaa !5
  %11294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11295 = call i32 @s2n_print_stacktrace(ptr noundef %11294) #12
  %11296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11297 = trunc nuw i8 %11296 to i1
  br i1 %11297, label %11298, label %11302

11298:                                            ; preds = %11292
  %11299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11300 = call i32 @fileno(ptr noundef %11299) #12
  %11301 = call i32 @isatty(i32 noundef %11300) #12
  %.not1543 = icmp eq i32 %11301, 0
  br i1 %.not1543, label %11302, label %11303

11302:                                            ; preds = %11298, %11292
  br label %11303

11303:                                            ; preds = %11298, %11302
  %.str.81.sink5436 = phi ptr [ @.str.81, %11302 ], [ @.str.78, %11298 ]
  store i32 %11293, ptr %288, align 4, !tbaa !5
  %11304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11305 = load i32, ptr @test_count, align 4, !tbaa !5
  %11306 = load i32, ptr %234, align 4, !tbaa !5
  %11307 = call ptr @s2n_strerror(i32 noundef %11306, ptr noundef nonnull @.str.80) #12
  %11308 = load i32, ptr %234, align 4, !tbaa !5
  %11309 = call ptr @s2n_strerror_debug(i32 noundef %11308, ptr noundef nonnull @.str.80) #12
  %11310 = load i32, ptr %288, align 4, !tbaa !5
  %11311 = call ptr @strerror(i32 noundef %11310) #12
  %11312 = load i32, ptr %288, align 4, !tbaa !5
  %11313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11304, ptr noundef nonnull %.str.81.sink5436, i32 noundef %11305, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.77, i32 noundef 965, ptr noundef %11307, ptr noundef %11309, ptr noundef %11311, i32 noundef %11312) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11314:                                            ; preds = %11287
  %11315 = load i32, ptr @test_count, align 4, !tbaa !5
  %11316 = add nsw i32 %11315, 1
  store i32 %11316, ptr @test_count, align 4, !tbaa !5
  %11317 = getelementptr inbounds i8, ptr %104, i64 56
  %11318 = load i32, ptr %11317, align 8, !tbaa !20
  %11319 = icmp eq i32 %11318, 4
  br i1 %11319, label %11342, label %11320

11320:                                            ; preds = %11314
  %11321 = load i32, ptr %288, align 4, !tbaa !5
  %11322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11323 = call i32 @s2n_print_stacktrace(ptr noundef %11322) #12
  %11324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11325 = trunc nuw i8 %11324 to i1
  br i1 %11325, label %11326, label %11330

11326:                                            ; preds = %11320
  %11327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11328 = call i32 @fileno(ptr noundef %11327) #12
  %11329 = call i32 @isatty(i32 noundef %11328) #12
  %.not1544 = icmp eq i32 %11329, 0
  br i1 %.not1544, label %11330, label %11331

11330:                                            ; preds = %11326, %11320
  br label %11331

11331:                                            ; preds = %11326, %11330
  %.str.81.sink5445 = phi ptr [ @.str.81, %11330 ], [ @.str.78, %11326 ]
  store i32 %11321, ptr %288, align 4, !tbaa !5
  %11332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11333 = load i32, ptr @test_count, align 4, !tbaa !5
  %11334 = load i32, ptr %234, align 4, !tbaa !5
  %11335 = call ptr @s2n_strerror(i32 noundef %11334, ptr noundef nonnull @.str.80) #12
  %11336 = load i32, ptr %234, align 4, !tbaa !5
  %11337 = call ptr @s2n_strerror_debug(i32 noundef %11336, ptr noundef nonnull @.str.80) #12
  %11338 = load i32, ptr %288, align 4, !tbaa !5
  %11339 = call ptr @strerror(i32 noundef %11338) #12
  %11340 = load i32, ptr %288, align 4, !tbaa !5
  %11341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11332, ptr noundef nonnull %.str.81.sink5445, i32 noundef %11333, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.77, i32 noundef 967, ptr noundef %11335, ptr noundef %11337, ptr noundef %11339, i32 noundef %11340) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11342:                                            ; preds = %11314
  %11343 = add nsw i32 %11315, 2
  store i32 %11343, ptr @test_count, align 4, !tbaa !5
  %11344 = call i32 @s2n_psk_set_hmac(ptr noundef nonnull %104, i32 noundef -1)
  %11345 = icmp eq i32 %11344, -1
  br i1 %11345, label %11368, label %11346

11346:                                            ; preds = %11342
  %11347 = load i32, ptr %288, align 4, !tbaa !5
  %11348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11349 = call i32 @s2n_print_stacktrace(ptr noundef %11348) #12
  %11350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11351 = trunc nuw i8 %11350 to i1
  br i1 %11351, label %11352, label %11356

11352:                                            ; preds = %11346
  %11353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11354 = call i32 @fileno(ptr noundef %11353) #12
  %11355 = call i32 @isatty(i32 noundef %11354) #12
  %.not1545 = icmp eq i32 %11355, 0
  br i1 %.not1545, label %11356, label %11357

11356:                                            ; preds = %11352, %11346
  br label %11357

11357:                                            ; preds = %11352, %11356
  %.str.81.sink5454 = phi ptr [ @.str.81, %11356 ], [ @.str.78, %11352 ]
  store i32 %11347, ptr %288, align 4, !tbaa !5
  %11358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11359 = load i32, ptr @test_count, align 4, !tbaa !5
  %11360 = load i32, ptr %234, align 4, !tbaa !5
  %11361 = call ptr @s2n_strerror(i32 noundef %11360, ptr noundef nonnull @.str.80) #12
  %11362 = load i32, ptr %234, align 4, !tbaa !5
  %11363 = call ptr @s2n_strerror_debug(i32 noundef %11362, ptr noundef nonnull @.str.80) #12
  %11364 = load i32, ptr %288, align 4, !tbaa !5
  %11365 = call ptr @strerror(i32 noundef %11364) #12
  %11366 = load i32, ptr %288, align 4, !tbaa !5
  %11367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11358, ptr noundef nonnull %.str.81.sink5454, i32 noundef %11359, ptr noundef nonnull @.str.312, ptr noundef nonnull @.str.77, i32 noundef 968, ptr noundef %11361, ptr noundef %11363, ptr noundef %11365, i32 noundef %11366) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11368:                                            ; preds = %11342
  %11369 = load i32, ptr @test_count, align 4, !tbaa !5
  %11370 = add nsw i32 %11369, 1
  store i32 %11370, ptr @test_count, align 4, !tbaa !5
  %11371 = load i32, ptr %234, align 4, !tbaa !5
  %11372 = icmp eq i32 %11371, 402653214
  br i1 %11372, label %11395, label %11373

11373:                                            ; preds = %11368
  %11374 = load i32, ptr %288, align 4, !tbaa !5
  %11375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11376 = call i32 @s2n_print_stacktrace(ptr noundef %11375) #12
  %11377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11378 = trunc nuw i8 %11377 to i1
  br i1 %11378, label %11379, label %11383

11379:                                            ; preds = %11373
  %11380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11381 = call i32 @fileno(ptr noundef %11380) #12
  %11382 = call i32 @isatty(i32 noundef %11381) #12
  %.not1546 = icmp eq i32 %11382, 0
  br i1 %.not1546, label %11383, label %11384

11383:                                            ; preds = %11379, %11373
  br label %11384

11384:                                            ; preds = %11379, %11383
  %.str.81.sink5463 = phi ptr [ @.str.81, %11383 ], [ @.str.78, %11379 ]
  store i32 %11374, ptr %288, align 4, !tbaa !5
  %11385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11386 = load i32, ptr @test_count, align 4, !tbaa !5
  %11387 = load i32, ptr %234, align 4, !tbaa !5
  %11388 = call ptr @s2n_strerror(i32 noundef %11387, ptr noundef nonnull @.str.80) #12
  %11389 = load i32, ptr %234, align 4, !tbaa !5
  %11390 = call ptr @s2n_strerror_debug(i32 noundef %11389, ptr noundef nonnull @.str.80) #12
  %11391 = load i32, ptr %288, align 4, !tbaa !5
  %11392 = call ptr @strerror(i32 noundef %11391) #12
  %11393 = load i32, ptr %288, align 4, !tbaa !5
  %11394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11385, ptr noundef nonnull %.str.81.sink5463, i32 noundef %11386, ptr noundef nonnull @.str.313, ptr noundef nonnull @.str.77, i32 noundef 968, ptr noundef %11388, ptr noundef %11390, ptr noundef %11392, i32 noundef %11393) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11395:                                            ; preds = %11368
  %11396 = add nsw i32 %11369, 2
  store i32 %11396, ptr @test_count, align 4, !tbaa !5
  %11397 = call ptr @s2n_strerror_debug(i32 noundef 402653214, ptr noundef nonnull @.str.80) #12
  %11398 = icmp eq ptr %11397, null
  br i1 %11398, label %11399, label %11421

11399:                                            ; preds = %11395
  %11400 = load i32, ptr %288, align 4, !tbaa !5
  %11401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11402 = call i32 @s2n_print_stacktrace(ptr noundef %11401) #12
  %11403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11404 = trunc nuw i8 %11403 to i1
  br i1 %11404, label %11405, label %11409

11405:                                            ; preds = %11399
  %11406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11407 = call i32 @fileno(ptr noundef %11406) #12
  %11408 = call i32 @isatty(i32 noundef %11407) #12
  %.not1647 = icmp eq i32 %11408, 0
  br i1 %.not1647, label %11409, label %11410

11409:                                            ; preds = %11405, %11399
  br label %11410

11410:                                            ; preds = %11405, %11409
  %.str.81.sink5472 = phi ptr [ @.str.81, %11409 ], [ @.str.78, %11405 ]
  store i32 %11400, ptr %288, align 4, !tbaa !5
  %11411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11412 = load i32, ptr @test_count, align 4, !tbaa !5
  %11413 = load i32, ptr %234, align 4, !tbaa !5
  %11414 = call ptr @s2n_strerror(i32 noundef %11413, ptr noundef nonnull @.str.80) #12
  %11415 = load i32, ptr %234, align 4, !tbaa !5
  %11416 = call ptr @s2n_strerror_debug(i32 noundef %11415, ptr noundef nonnull @.str.80) #12
  %11417 = load i32, ptr %288, align 4, !tbaa !5
  %11418 = call ptr @strerror(i32 noundef %11417) #12
  %11419 = load i32, ptr %288, align 4, !tbaa !5
  %11420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11411, ptr noundef nonnull %.str.81.sink5472, i32 noundef %11412, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 968, ptr noundef %11414, ptr noundef %11416, ptr noundef %11418, i32 noundef %11419) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11421:                                            ; preds = %11395
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %11422 = load i32, ptr @test_count, align 4, !tbaa !5
  %11423 = add nsw i32 %11422, 1
  store i32 %11423, ptr @test_count, align 4, !tbaa !5
  %11424 = load i32, ptr %11317, align 8, !tbaa !20
  %11425 = icmp eq i32 %11424, 4
  br i1 %11425, label %11448, label %11426

11426:                                            ; preds = %11421
  %11427 = load i32, ptr %288, align 4, !tbaa !5
  %11428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11429 = call i32 @s2n_print_stacktrace(ptr noundef %11428) #12
  %11430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11431 = trunc nuw i8 %11430 to i1
  br i1 %11431, label %11432, label %11436

11432:                                            ; preds = %11426
  %11433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11434 = call i32 @fileno(ptr noundef %11433) #12
  %11435 = call i32 @isatty(i32 noundef %11434) #12
  %.not1547 = icmp eq i32 %11435, 0
  br i1 %.not1547, label %11436, label %11437

11436:                                            ; preds = %11432, %11426
  br label %11437

11437:                                            ; preds = %11432, %11436
  %.str.81.sink5481 = phi ptr [ @.str.81, %11436 ], [ @.str.78, %11432 ]
  store i32 %11427, ptr %288, align 4, !tbaa !5
  %11438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11439 = load i32, ptr @test_count, align 4, !tbaa !5
  %11440 = load i32, ptr %234, align 4, !tbaa !5
  %11441 = call ptr @s2n_strerror(i32 noundef %11440, ptr noundef nonnull @.str.80) #12
  %11442 = load i32, ptr %234, align 4, !tbaa !5
  %11443 = call ptr @s2n_strerror_debug(i32 noundef %11442, ptr noundef nonnull @.str.80) #12
  %11444 = load i32, ptr %288, align 4, !tbaa !5
  %11445 = call ptr @strerror(i32 noundef %11444) #12
  %11446 = load i32, ptr %288, align 4, !tbaa !5
  %11447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11438, ptr noundef nonnull %.str.81.sink5481, i32 noundef %11439, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.77, i32 noundef 969, ptr noundef %11441, ptr noundef %11443, ptr noundef %11445, i32 noundef %11446) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11448:                                            ; preds = %11421
  %11449 = add nsw i32 %11422, 2
  store i32 %11449, ptr @test_count, align 4, !tbaa !5
  %11450 = call i32 @s2n_psk_set_hmac(ptr noundef nonnull %104, i32 noundef 1)
  %11451 = icmp eq i32 %11450, -1
  br i1 %11451, label %11452, label %11474

11452:                                            ; preds = %11448
  %11453 = load i32, ptr %288, align 4, !tbaa !5
  %11454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11455 = call i32 @s2n_print_stacktrace(ptr noundef %11454) #12
  %11456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11457 = trunc nuw i8 %11456 to i1
  br i1 %11457, label %11458, label %11462

11458:                                            ; preds = %11452
  %11459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11460 = call i32 @fileno(ptr noundef %11459) #12
  %11461 = call i32 @isatty(i32 noundef %11460) #12
  %.not1646 = icmp eq i32 %11461, 0
  br i1 %.not1646, label %11462, label %11463

11462:                                            ; preds = %11458, %11452
  br label %11463

11463:                                            ; preds = %11458, %11462
  %.str.81.sink5490 = phi ptr [ @.str.81, %11462 ], [ @.str.78, %11458 ]
  store i32 %11453, ptr %288, align 4, !tbaa !5
  %11464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11465 = load i32, ptr @test_count, align 4, !tbaa !5
  %11466 = load i32, ptr %234, align 4, !tbaa !5
  %11467 = call ptr @s2n_strerror(i32 noundef %11466, ptr noundef nonnull @.str.80) #12
  %11468 = load i32, ptr %234, align 4, !tbaa !5
  %11469 = call ptr @s2n_strerror_debug(i32 noundef %11468, ptr noundef nonnull @.str.80) #12
  %11470 = load i32, ptr %288, align 4, !tbaa !5
  %11471 = call ptr @strerror(i32 noundef %11470) #12
  %11472 = load i32, ptr %288, align 4, !tbaa !5
  %11473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11464, ptr noundef nonnull %.str.81.sink5490, i32 noundef %11465, ptr noundef nonnull @.str.314, ptr noundef nonnull @.str.77, i32 noundef 971, ptr noundef %11467, ptr noundef %11469, ptr noundef %11471, i32 noundef %11472) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11474:                                            ; preds = %11448
  %11475 = load i32, ptr @test_count, align 4, !tbaa !5
  %11476 = add nsw i32 %11475, 1
  store i32 %11476, ptr @test_count, align 4, !tbaa !5
  %11477 = load i32, ptr %11317, align 8, !tbaa !20
  %11478 = icmp eq i32 %11477, 5
  br i1 %11478, label %11501, label %11479

11479:                                            ; preds = %11474
  %11480 = load i32, ptr %288, align 4, !tbaa !5
  %11481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11482 = call i32 @s2n_print_stacktrace(ptr noundef %11481) #12
  %11483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11484 = trunc nuw i8 %11483 to i1
  br i1 %11484, label %11485, label %11489

11485:                                            ; preds = %11479
  %11486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11487 = call i32 @fileno(ptr noundef %11486) #12
  %11488 = call i32 @isatty(i32 noundef %11487) #12
  %.not1548 = icmp eq i32 %11488, 0
  br i1 %.not1548, label %11489, label %11490

11489:                                            ; preds = %11485, %11479
  br label %11490

11490:                                            ; preds = %11485, %11489
  %.str.81.sink5499 = phi ptr [ @.str.81, %11489 ], [ @.str.78, %11485 ]
  store i32 %11480, ptr %288, align 4, !tbaa !5
  %11491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11492 = load i32, ptr @test_count, align 4, !tbaa !5
  %11493 = load i32, ptr %234, align 4, !tbaa !5
  %11494 = call ptr @s2n_strerror(i32 noundef %11493, ptr noundef nonnull @.str.80) #12
  %11495 = load i32, ptr %234, align 4, !tbaa !5
  %11496 = call ptr @s2n_strerror_debug(i32 noundef %11495, ptr noundef nonnull @.str.80) #12
  %11497 = load i32, ptr %288, align 4, !tbaa !5
  %11498 = call ptr @strerror(i32 noundef %11497) #12
  %11499 = load i32, ptr %288, align 4, !tbaa !5
  %11500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11491, ptr noundef nonnull %.str.81.sink5499, i32 noundef %11492, ptr noundef nonnull @.str.315, ptr noundef nonnull @.str.77, i32 noundef 972, ptr noundef %11494, ptr noundef %11496, ptr noundef %11498, i32 noundef %11499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11501:                                            ; preds = %11474
  %11502 = add nsw i32 %11475, 2
  store i32 %11502, ptr @test_count, align 4, !tbaa !5
  %11503 = call i32 @s2n_psk_set_hmac(ptr noundef nonnull %104, i32 noundef 0)
  %11504 = icmp eq i32 %11503, -1
  br i1 %11504, label %11505, label %11527

11505:                                            ; preds = %11501
  %11506 = load i32, ptr %288, align 4, !tbaa !5
  %11507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11508 = call i32 @s2n_print_stacktrace(ptr noundef %11507) #12
  %11509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11510 = trunc nuw i8 %11509 to i1
  br i1 %11510, label %11511, label %11515

11511:                                            ; preds = %11505
  %11512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11513 = call i32 @fileno(ptr noundef %11512) #12
  %11514 = call i32 @isatty(i32 noundef %11513) #12
  %.not1645 = icmp eq i32 %11514, 0
  br i1 %.not1645, label %11515, label %11516

11515:                                            ; preds = %11511, %11505
  br label %11516

11516:                                            ; preds = %11511, %11515
  %.str.81.sink5508 = phi ptr [ @.str.81, %11515 ], [ @.str.78, %11511 ]
  store i32 %11506, ptr %288, align 4, !tbaa !5
  %11517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11518 = load i32, ptr @test_count, align 4, !tbaa !5
  %11519 = load i32, ptr %234, align 4, !tbaa !5
  %11520 = call ptr @s2n_strerror(i32 noundef %11519, ptr noundef nonnull @.str.80) #12
  %11521 = load i32, ptr %234, align 4, !tbaa !5
  %11522 = call ptr @s2n_strerror_debug(i32 noundef %11521, ptr noundef nonnull @.str.80) #12
  %11523 = load i32, ptr %288, align 4, !tbaa !5
  %11524 = call ptr @strerror(i32 noundef %11523) #12
  %11525 = load i32, ptr %288, align 4, !tbaa !5
  %11526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11517, ptr noundef nonnull %.str.81.sink5508, i32 noundef %11518, ptr noundef nonnull @.str.316, ptr noundef nonnull @.str.77, i32 noundef 974, ptr noundef %11520, ptr noundef %11522, ptr noundef %11524, i32 noundef %11525) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11527:                                            ; preds = %11501
  %11528 = load i32, ptr @test_count, align 4, !tbaa !5
  %11529 = add nsw i32 %11528, 1
  store i32 %11529, ptr @test_count, align 4, !tbaa !5
  %11530 = load i32, ptr %11317, align 8, !tbaa !20
  %11531 = icmp eq i32 %11530, 4
  br i1 %11531, label %11554, label %11532

11532:                                            ; preds = %11527
  %11533 = load i32, ptr %288, align 4, !tbaa !5
  %11534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11535 = call i32 @s2n_print_stacktrace(ptr noundef %11534) #12
  %11536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11537 = trunc nuw i8 %11536 to i1
  br i1 %11537, label %11538, label %11542

11538:                                            ; preds = %11532
  %11539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11540 = call i32 @fileno(ptr noundef %11539) #12
  %11541 = call i32 @isatty(i32 noundef %11540) #12
  %.not1549 = icmp eq i32 %11541, 0
  br i1 %.not1549, label %11542, label %11543

11542:                                            ; preds = %11538, %11532
  br label %11543

11543:                                            ; preds = %11538, %11542
  %.str.81.sink5517 = phi ptr [ @.str.81, %11542 ], [ @.str.78, %11538 ]
  store i32 %11533, ptr %288, align 4, !tbaa !5
  %11544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11545 = load i32, ptr @test_count, align 4, !tbaa !5
  %11546 = load i32, ptr %234, align 4, !tbaa !5
  %11547 = call ptr @s2n_strerror(i32 noundef %11546, ptr noundef nonnull @.str.80) #12
  %11548 = load i32, ptr %234, align 4, !tbaa !5
  %11549 = call ptr @s2n_strerror_debug(i32 noundef %11548, ptr noundef nonnull @.str.80) #12
  %11550 = load i32, ptr %288, align 4, !tbaa !5
  %11551 = call ptr @strerror(i32 noundef %11550) #12
  %11552 = load i32, ptr %288, align 4, !tbaa !5
  %11553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11544, ptr noundef nonnull %.str.81.sink5517, i32 noundef %11545, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.77, i32 noundef 975, ptr noundef %11547, ptr noundef %11549, ptr noundef %11551, i32 noundef %11552) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11554:                                            ; preds = %11527
  %11555 = call i32 @s2n_psk_wipe(ptr noundef nonnull %104)
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %104) #12
  %11556 = call ptr @s2n_config_new() #12
  %11557 = load i32, ptr @test_count, align 4, !tbaa !5
  %11558 = add nsw i32 %11557, 1
  store i32 %11558, ptr @test_count, align 4, !tbaa !5
  %11559 = icmp eq ptr %11556, null
  br i1 %11559, label %11560, label %11582

11560:                                            ; preds = %11554
  %11561 = load i32, ptr %288, align 4, !tbaa !5
  %11562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11563 = call i32 @s2n_print_stacktrace(ptr noundef %11562) #12
  %11564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11565 = trunc nuw i8 %11564 to i1
  br i1 %11565, label %11566, label %11570

11566:                                            ; preds = %11560
  %11567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11568 = call i32 @fileno(ptr noundef %11567) #12
  %11569 = call i32 @isatty(i32 noundef %11568) #12
  %.not1644 = icmp eq i32 %11569, 0
  br i1 %.not1644, label %11570, label %11571

11570:                                            ; preds = %11566, %11560
  br label %11571

11571:                                            ; preds = %11566, %11570
  %.str.81.sink5526 = phi ptr [ @.str.81, %11570 ], [ @.str.78, %11566 ]
  store i32 %11561, ptr %288, align 4, !tbaa !5
  %11572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11573 = load i32, ptr @test_count, align 4, !tbaa !5
  %11574 = load i32, ptr %234, align 4, !tbaa !5
  %11575 = call ptr @s2n_strerror(i32 noundef %11574, ptr noundef nonnull @.str.80) #12
  %11576 = load i32, ptr %234, align 4, !tbaa !5
  %11577 = call ptr @s2n_strerror_debug(i32 noundef %11576, ptr noundef nonnull @.str.80) #12
  %11578 = load i32, ptr %288, align 4, !tbaa !5
  %11579 = call ptr @strerror(i32 noundef %11578) #12
  %11580 = load i32, ptr %288, align 4, !tbaa !5
  %11581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11572, ptr noundef nonnull %.str.81.sink5526, i32 noundef %11573, ptr noundef nonnull @.str.317, ptr noundef nonnull @.str.77, i32 noundef 981, ptr noundef %11575, ptr noundef %11577, ptr noundef %11579, i32 noundef %11580) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11582:                                            ; preds = %11554
  %11583 = add nsw i32 %11557, 2
  store i32 %11583, ptr @test_count, align 4, !tbaa !5
  %11584 = getelementptr inbounds i8, ptr %11556, i64 396
  %11585 = load i32, ptr %11584, align 4, !tbaa !85
  %11586 = icmp eq i32 %11585, 0
  br i1 %11586, label %11609, label %11587

11587:                                            ; preds = %11582
  %11588 = load i32, ptr %288, align 4, !tbaa !5
  %11589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11590 = call i32 @s2n_print_stacktrace(ptr noundef %11589) #12
  %11591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11592 = trunc nuw i8 %11591 to i1
  br i1 %11592, label %11593, label %11597

11593:                                            ; preds = %11587
  %11594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11595 = call i32 @fileno(ptr noundef %11594) #12
  %11596 = call i32 @isatty(i32 noundef %11595) #12
  %.not1550 = icmp eq i32 %11596, 0
  br i1 %.not1550, label %11597, label %11598

11597:                                            ; preds = %11593, %11587
  br label %11598

11598:                                            ; preds = %11593, %11597
  %.str.81.sink5535 = phi ptr [ @.str.81, %11597 ], [ @.str.78, %11593 ]
  store i32 %11588, ptr %288, align 4, !tbaa !5
  %11599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11600 = load i32, ptr @test_count, align 4, !tbaa !5
  %11601 = load i32, ptr %234, align 4, !tbaa !5
  %11602 = call ptr @s2n_strerror(i32 noundef %11601, ptr noundef nonnull @.str.80) #12
  %11603 = load i32, ptr %234, align 4, !tbaa !5
  %11604 = call ptr @s2n_strerror_debug(i32 noundef %11603, ptr noundef nonnull @.str.80) #12
  %11605 = load i32, ptr %288, align 4, !tbaa !5
  %11606 = call ptr @strerror(i32 noundef %11605) #12
  %11607 = load i32, ptr %288, align 4, !tbaa !5
  %11608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11599, ptr noundef nonnull %.str.81.sink5535, i32 noundef %11600, ptr noundef nonnull @.str.318, ptr noundef nonnull @.str.77, i32 noundef 982, ptr noundef %11602, ptr noundef %11604, ptr noundef %11606, i32 noundef %11607) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11609:                                            ; preds = %11582
  %11610 = add nsw i32 %11557, 3
  store i32 %11610, ptr @test_count, align 4, !tbaa !5
  %11611 = call i32 @s2n_config_set_psk_mode(ptr noundef null, i32 noundef 1)
  %11612 = icmp eq i32 %11611, -1
  br i1 %11612, label %11635, label %11613

11613:                                            ; preds = %11609
  %11614 = load i32, ptr %288, align 4, !tbaa !5
  %11615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11616 = call i32 @s2n_print_stacktrace(ptr noundef %11615) #12
  %11617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11618 = trunc nuw i8 %11617 to i1
  br i1 %11618, label %11619, label %11623

11619:                                            ; preds = %11613
  %11620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11621 = call i32 @fileno(ptr noundef %11620) #12
  %11622 = call i32 @isatty(i32 noundef %11621) #12
  %.not1551 = icmp eq i32 %11622, 0
  br i1 %.not1551, label %11623, label %11624

11623:                                            ; preds = %11619, %11613
  br label %11624

11624:                                            ; preds = %11619, %11623
  %.str.81.sink5544 = phi ptr [ @.str.81, %11623 ], [ @.str.78, %11619 ]
  store i32 %11614, ptr %288, align 4, !tbaa !5
  %11625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11626 = load i32, ptr @test_count, align 4, !tbaa !5
  %11627 = load i32, ptr %234, align 4, !tbaa !5
  %11628 = call ptr @s2n_strerror(i32 noundef %11627, ptr noundef nonnull @.str.80) #12
  %11629 = load i32, ptr %234, align 4, !tbaa !5
  %11630 = call ptr @s2n_strerror_debug(i32 noundef %11629, ptr noundef nonnull @.str.80) #12
  %11631 = load i32, ptr %288, align 4, !tbaa !5
  %11632 = call ptr @strerror(i32 noundef %11631) #12
  %11633 = load i32, ptr %288, align 4, !tbaa !5
  %11634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11625, ptr noundef nonnull %.str.81.sink5544, i32 noundef %11626, ptr noundef nonnull @.str.319, ptr noundef nonnull @.str.77, i32 noundef 984, ptr noundef %11628, ptr noundef %11630, ptr noundef %11632, i32 noundef %11633) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11635:                                            ; preds = %11609
  %11636 = load i32, ptr @test_count, align 4, !tbaa !5
  %11637 = add nsw i32 %11636, 1
  store i32 %11637, ptr @test_count, align 4, !tbaa !5
  %11638 = load i32, ptr %234, align 4, !tbaa !5
  %11639 = icmp eq i32 %11638, 402653193
  br i1 %11639, label %11662, label %11640

11640:                                            ; preds = %11635
  %11641 = load i32, ptr %288, align 4, !tbaa !5
  %11642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11643 = call i32 @s2n_print_stacktrace(ptr noundef %11642) #12
  %11644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11645 = trunc nuw i8 %11644 to i1
  br i1 %11645, label %11646, label %11650

11646:                                            ; preds = %11640
  %11647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11648 = call i32 @fileno(ptr noundef %11647) #12
  %11649 = call i32 @isatty(i32 noundef %11648) #12
  %.not1552 = icmp eq i32 %11649, 0
  br i1 %.not1552, label %11650, label %11651

11650:                                            ; preds = %11646, %11640
  br label %11651

11651:                                            ; preds = %11646, %11650
  %.str.81.sink5553 = phi ptr [ @.str.81, %11650 ], [ @.str.78, %11646 ]
  store i32 %11641, ptr %288, align 4, !tbaa !5
  %11652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11653 = load i32, ptr @test_count, align 4, !tbaa !5
  %11654 = load i32, ptr %234, align 4, !tbaa !5
  %11655 = call ptr @s2n_strerror(i32 noundef %11654, ptr noundef nonnull @.str.80) #12
  %11656 = load i32, ptr %234, align 4, !tbaa !5
  %11657 = call ptr @s2n_strerror_debug(i32 noundef %11656, ptr noundef nonnull @.str.80) #12
  %11658 = load i32, ptr %288, align 4, !tbaa !5
  %11659 = call ptr @strerror(i32 noundef %11658) #12
  %11660 = load i32, ptr %288, align 4, !tbaa !5
  %11661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11652, ptr noundef nonnull %.str.81.sink5553, i32 noundef %11653, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 984, ptr noundef %11655, ptr noundef %11657, ptr noundef %11659, i32 noundef %11660) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11662:                                            ; preds = %11635
  %11663 = add nsw i32 %11636, 2
  store i32 %11663, ptr @test_count, align 4, !tbaa !5
  %11664 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %11665 = icmp eq ptr %11664, null
  br i1 %11665, label %11666, label %11688

11666:                                            ; preds = %11662
  %11667 = load i32, ptr %288, align 4, !tbaa !5
  %11668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11669 = call i32 @s2n_print_stacktrace(ptr noundef %11668) #12
  %11670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11671 = trunc nuw i8 %11670 to i1
  br i1 %11671, label %11672, label %11676

11672:                                            ; preds = %11666
  %11673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11674 = call i32 @fileno(ptr noundef %11673) #12
  %11675 = call i32 @isatty(i32 noundef %11674) #12
  %.not1643 = icmp eq i32 %11675, 0
  br i1 %.not1643, label %11676, label %11677

11676:                                            ; preds = %11672, %11666
  br label %11677

11677:                                            ; preds = %11672, %11676
  %.str.81.sink5562 = phi ptr [ @.str.81, %11676 ], [ @.str.78, %11672 ]
  store i32 %11667, ptr %288, align 4, !tbaa !5
  %11678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11679 = load i32, ptr @test_count, align 4, !tbaa !5
  %11680 = load i32, ptr %234, align 4, !tbaa !5
  %11681 = call ptr @s2n_strerror(i32 noundef %11680, ptr noundef nonnull @.str.80) #12
  %11682 = load i32, ptr %234, align 4, !tbaa !5
  %11683 = call ptr @s2n_strerror_debug(i32 noundef %11682, ptr noundef nonnull @.str.80) #12
  %11684 = load i32, ptr %288, align 4, !tbaa !5
  %11685 = call ptr @strerror(i32 noundef %11684) #12
  %11686 = load i32, ptr %288, align 4, !tbaa !5
  %11687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11678, ptr noundef nonnull %.str.81.sink5562, i32 noundef %11679, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 984, ptr noundef %11681, ptr noundef %11683, ptr noundef %11685, i32 noundef %11686) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11688:                                            ; preds = %11662
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %11689 = load i32, ptr @test_count, align 4, !tbaa !5
  %11690 = add nsw i32 %11689, 1
  store i32 %11690, ptr @test_count, align 4, !tbaa !5
  %11691 = load i32, ptr %11584, align 4, !tbaa !85
  %11692 = icmp eq i32 %11691, 0
  br i1 %11692, label %11715, label %11693

11693:                                            ; preds = %11688
  %11694 = load i32, ptr %288, align 4, !tbaa !5
  %11695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11696 = call i32 @s2n_print_stacktrace(ptr noundef %11695) #12
  %11697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11698 = trunc nuw i8 %11697 to i1
  br i1 %11698, label %11699, label %11703

11699:                                            ; preds = %11693
  %11700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11701 = call i32 @fileno(ptr noundef %11700) #12
  %11702 = call i32 @isatty(i32 noundef %11701) #12
  %.not1553 = icmp eq i32 %11702, 0
  br i1 %.not1553, label %11703, label %11704

11703:                                            ; preds = %11699, %11693
  br label %11704

11704:                                            ; preds = %11699, %11703
  %.str.81.sink5571 = phi ptr [ @.str.81, %11703 ], [ @.str.78, %11699 ]
  store i32 %11694, ptr %288, align 4, !tbaa !5
  %11705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11706 = load i32, ptr @test_count, align 4, !tbaa !5
  %11707 = load i32, ptr %234, align 4, !tbaa !5
  %11708 = call ptr @s2n_strerror(i32 noundef %11707, ptr noundef nonnull @.str.80) #12
  %11709 = load i32, ptr %234, align 4, !tbaa !5
  %11710 = call ptr @s2n_strerror_debug(i32 noundef %11709, ptr noundef nonnull @.str.80) #12
  %11711 = load i32, ptr %288, align 4, !tbaa !5
  %11712 = call ptr @strerror(i32 noundef %11711) #12
  %11713 = load i32, ptr %288, align 4, !tbaa !5
  %11714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11705, ptr noundef nonnull %.str.81.sink5571, i32 noundef %11706, ptr noundef nonnull @.str.318, ptr noundef nonnull @.str.77, i32 noundef 985, ptr noundef %11708, ptr noundef %11710, ptr noundef %11712, i32 noundef %11713) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11715:                                            ; preds = %11688
  %11716 = add nsw i32 %11689, 2
  store i32 %11716, ptr @test_count, align 4, !tbaa !5
  %11717 = call i32 @s2n_config_set_psk_mode(ptr noundef nonnull %11556, i32 noundef 1)
  %11718 = icmp eq i32 %11717, -1
  br i1 %11718, label %11719, label %11741

11719:                                            ; preds = %11715
  %11720 = load i32, ptr %288, align 4, !tbaa !5
  %11721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11722 = call i32 @s2n_print_stacktrace(ptr noundef %11721) #12
  %11723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11724 = trunc nuw i8 %11723 to i1
  br i1 %11724, label %11725, label %11729

11725:                                            ; preds = %11719
  %11726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11727 = call i32 @fileno(ptr noundef %11726) #12
  %11728 = call i32 @isatty(i32 noundef %11727) #12
  %.not1642 = icmp eq i32 %11728, 0
  br i1 %.not1642, label %11729, label %11730

11729:                                            ; preds = %11725, %11719
  br label %11730

11730:                                            ; preds = %11725, %11729
  %.str.81.sink5580 = phi ptr [ @.str.81, %11729 ], [ @.str.78, %11725 ]
  store i32 %11720, ptr %288, align 4, !tbaa !5
  %11731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11732 = load i32, ptr @test_count, align 4, !tbaa !5
  %11733 = load i32, ptr %234, align 4, !tbaa !5
  %11734 = call ptr @s2n_strerror(i32 noundef %11733, ptr noundef nonnull @.str.80) #12
  %11735 = load i32, ptr %234, align 4, !tbaa !5
  %11736 = call ptr @s2n_strerror_debug(i32 noundef %11735, ptr noundef nonnull @.str.80) #12
  %11737 = load i32, ptr %288, align 4, !tbaa !5
  %11738 = call ptr @strerror(i32 noundef %11737) #12
  %11739 = load i32, ptr %288, align 4, !tbaa !5
  %11740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11731, ptr noundef nonnull %.str.81.sink5580, i32 noundef %11732, ptr noundef nonnull @.str.320, ptr noundef nonnull @.str.77, i32 noundef 987, ptr noundef %11734, ptr noundef %11736, ptr noundef %11738, i32 noundef %11739) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11741:                                            ; preds = %11715
  %11742 = load i32, ptr @test_count, align 4, !tbaa !5
  %11743 = add nsw i32 %11742, 1
  store i32 %11743, ptr @test_count, align 4, !tbaa !5
  %11744 = load i32, ptr %11584, align 4, !tbaa !85
  %11745 = icmp eq i32 %11744, 1
  br i1 %11745, label %11768, label %11746

11746:                                            ; preds = %11741
  %11747 = load i32, ptr %288, align 4, !tbaa !5
  %11748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11749 = call i32 @s2n_print_stacktrace(ptr noundef %11748) #12
  %11750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11751 = trunc nuw i8 %11750 to i1
  br i1 %11751, label %11752, label %11756

11752:                                            ; preds = %11746
  %11753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11754 = call i32 @fileno(ptr noundef %11753) #12
  %11755 = call i32 @isatty(i32 noundef %11754) #12
  %.not1554 = icmp eq i32 %11755, 0
  br i1 %.not1554, label %11756, label %11757

11756:                                            ; preds = %11752, %11746
  br label %11757

11757:                                            ; preds = %11752, %11756
  %.str.81.sink5589 = phi ptr [ @.str.81, %11756 ], [ @.str.78, %11752 ]
  store i32 %11747, ptr %288, align 4, !tbaa !5
  %11758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11759 = load i32, ptr @test_count, align 4, !tbaa !5
  %11760 = load i32, ptr %234, align 4, !tbaa !5
  %11761 = call ptr @s2n_strerror(i32 noundef %11760, ptr noundef nonnull @.str.80) #12
  %11762 = load i32, ptr %234, align 4, !tbaa !5
  %11763 = call ptr @s2n_strerror_debug(i32 noundef %11762, ptr noundef nonnull @.str.80) #12
  %11764 = load i32, ptr %288, align 4, !tbaa !5
  %11765 = call ptr @strerror(i32 noundef %11764) #12
  %11766 = load i32, ptr %288, align 4, !tbaa !5
  %11767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11758, ptr noundef nonnull %.str.81.sink5589, i32 noundef %11759, ptr noundef nonnull @.str.321, ptr noundef nonnull @.str.77, i32 noundef 988, ptr noundef %11761, ptr noundef %11763, ptr noundef %11765, i32 noundef %11766) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11768:                                            ; preds = %11741
  %11769 = add nsw i32 %11742, 2
  store i32 %11769, ptr @test_count, align 4, !tbaa !5
  %11770 = call i32 @s2n_config_set_psk_mode(ptr noundef nonnull %11556, i32 noundef 0)
  %11771 = icmp eq i32 %11770, -1
  br i1 %11771, label %11772, label %11794

11772:                                            ; preds = %11768
  %11773 = load i32, ptr %288, align 4, !tbaa !5
  %11774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11775 = call i32 @s2n_print_stacktrace(ptr noundef %11774) #12
  %11776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11777 = trunc nuw i8 %11776 to i1
  br i1 %11777, label %11778, label %11782

11778:                                            ; preds = %11772
  %11779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11780 = call i32 @fileno(ptr noundef %11779) #12
  %11781 = call i32 @isatty(i32 noundef %11780) #12
  %.not1641 = icmp eq i32 %11781, 0
  br i1 %.not1641, label %11782, label %11783

11782:                                            ; preds = %11778, %11772
  br label %11783

11783:                                            ; preds = %11778, %11782
  %.str.81.sink5598 = phi ptr [ @.str.81, %11782 ], [ @.str.78, %11778 ]
  store i32 %11773, ptr %288, align 4, !tbaa !5
  %11784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11785 = load i32, ptr @test_count, align 4, !tbaa !5
  %11786 = load i32, ptr %234, align 4, !tbaa !5
  %11787 = call ptr @s2n_strerror(i32 noundef %11786, ptr noundef nonnull @.str.80) #12
  %11788 = load i32, ptr %234, align 4, !tbaa !5
  %11789 = call ptr @s2n_strerror_debug(i32 noundef %11788, ptr noundef nonnull @.str.80) #12
  %11790 = load i32, ptr %288, align 4, !tbaa !5
  %11791 = call ptr @strerror(i32 noundef %11790) #12
  %11792 = load i32, ptr %288, align 4, !tbaa !5
  %11793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11784, ptr noundef nonnull %.str.81.sink5598, i32 noundef %11785, ptr noundef nonnull @.str.322, ptr noundef nonnull @.str.77, i32 noundef 990, ptr noundef %11787, ptr noundef %11789, ptr noundef %11791, i32 noundef %11792) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11794:                                            ; preds = %11768
  %11795 = load i32, ptr @test_count, align 4, !tbaa !5
  %11796 = add nsw i32 %11795, 1
  store i32 %11796, ptr @test_count, align 4, !tbaa !5
  %11797 = load i32, ptr %11584, align 4, !tbaa !85
  %11798 = icmp eq i32 %11797, 0
  br i1 %11798, label %11821, label %11799

11799:                                            ; preds = %11794
  %11800 = load i32, ptr %288, align 4, !tbaa !5
  %11801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11802 = call i32 @s2n_print_stacktrace(ptr noundef %11801) #12
  %11803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11804 = trunc nuw i8 %11803 to i1
  br i1 %11804, label %11805, label %11809

11805:                                            ; preds = %11799
  %11806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11807 = call i32 @fileno(ptr noundef %11806) #12
  %11808 = call i32 @isatty(i32 noundef %11807) #12
  %.not1555 = icmp eq i32 %11808, 0
  br i1 %.not1555, label %11809, label %11810

11809:                                            ; preds = %11805, %11799
  br label %11810

11810:                                            ; preds = %11805, %11809
  %.str.81.sink5607 = phi ptr [ @.str.81, %11809 ], [ @.str.78, %11805 ]
  store i32 %11800, ptr %288, align 4, !tbaa !5
  %11811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11812 = load i32, ptr @test_count, align 4, !tbaa !5
  %11813 = load i32, ptr %234, align 4, !tbaa !5
  %11814 = call ptr @s2n_strerror(i32 noundef %11813, ptr noundef nonnull @.str.80) #12
  %11815 = load i32, ptr %234, align 4, !tbaa !5
  %11816 = call ptr @s2n_strerror_debug(i32 noundef %11815, ptr noundef nonnull @.str.80) #12
  %11817 = load i32, ptr %288, align 4, !tbaa !5
  %11818 = call ptr @strerror(i32 noundef %11817) #12
  %11819 = load i32, ptr %288, align 4, !tbaa !5
  %11820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11811, ptr noundef nonnull %.str.81.sink5607, i32 noundef %11812, ptr noundef nonnull @.str.318, ptr noundef nonnull @.str.77, i32 noundef 991, ptr noundef %11814, ptr noundef %11816, ptr noundef %11818, i32 noundef %11819) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11821:                                            ; preds = %11794
  %11822 = add nsw i32 %11795, 2
  store i32 %11822, ptr @test_count, align 4, !tbaa !5
  %11823 = call i32 @s2n_config_free(ptr noundef nonnull %11556) #12
  %11824 = icmp eq i32 %11823, -1
  br i1 %11824, label %11825, label %11847

11825:                                            ; preds = %11821
  %11826 = load i32, ptr %288, align 4, !tbaa !5
  %11827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11828 = call i32 @s2n_print_stacktrace(ptr noundef %11827) #12
  %11829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11830 = trunc nuw i8 %11829 to i1
  br i1 %11830, label %11831, label %11835

11831:                                            ; preds = %11825
  %11832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11833 = call i32 @fileno(ptr noundef %11832) #12
  %11834 = call i32 @isatty(i32 noundef %11833) #12
  %.not1640 = icmp eq i32 %11834, 0
  br i1 %.not1640, label %11835, label %11836

11835:                                            ; preds = %11831, %11825
  br label %11836

11836:                                            ; preds = %11831, %11835
  %.str.81.sink5616 = phi ptr [ @.str.81, %11835 ], [ @.str.78, %11831 ]
  store i32 %11826, ptr %288, align 4, !tbaa !5
  %11837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11838 = load i32, ptr @test_count, align 4, !tbaa !5
  %11839 = load i32, ptr %234, align 4, !tbaa !5
  %11840 = call ptr @s2n_strerror(i32 noundef %11839, ptr noundef nonnull @.str.80) #12
  %11841 = load i32, ptr %234, align 4, !tbaa !5
  %11842 = call ptr @s2n_strerror_debug(i32 noundef %11841, ptr noundef nonnull @.str.80) #12
  %11843 = load i32, ptr %288, align 4, !tbaa !5
  %11844 = call ptr @strerror(i32 noundef %11843) #12
  %11845 = load i32, ptr %288, align 4, !tbaa !5
  %11846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11837, ptr noundef nonnull %.str.81.sink5616, i32 noundef %11838, ptr noundef nonnull @.str.323, ptr noundef nonnull @.str.77, i32 noundef 993, ptr noundef %11840, ptr noundef %11842, ptr noundef %11844, i32 noundef %11845) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11847:                                            ; preds = %11821
  %11848 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %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 = icmp eq ptr %11848, null
  br i1 %11851, label %11852, label %11874

11852:                                            ; preds = %11847
  %11853 = load i32, ptr %288, align 4, !tbaa !5
  %11854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11855 = call i32 @s2n_print_stacktrace(ptr noundef %11854) #12
  %11856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11857 = trunc nuw i8 %11856 to i1
  br i1 %11857, label %11858, label %11862

11858:                                            ; preds = %11852
  %11859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11860 = call i32 @fileno(ptr noundef %11859) #12
  %11861 = call i32 @isatty(i32 noundef %11860) #12
  %.not1639 = icmp eq i32 %11861, 0
  br i1 %.not1639, label %11862, label %11863

11862:                                            ; preds = %11858, %11852
  br label %11863

11863:                                            ; preds = %11858, %11862
  %.str.81.sink5625 = phi ptr [ @.str.81, %11862 ], [ @.str.78, %11858 ]
  store i32 %11853, ptr %288, align 4, !tbaa !5
  %11864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11865 = load i32, ptr @test_count, align 4, !tbaa !5
  %11866 = load i32, ptr %234, align 4, !tbaa !5
  %11867 = call ptr @s2n_strerror(i32 noundef %11866, ptr noundef nonnull @.str.80) #12
  %11868 = load i32, ptr %234, align 4, !tbaa !5
  %11869 = call ptr @s2n_strerror_debug(i32 noundef %11868, ptr noundef nonnull @.str.80) #12
  %11870 = load i32, ptr %288, align 4, !tbaa !5
  %11871 = call ptr @strerror(i32 noundef %11870) #12
  %11872 = load i32, ptr %288, align 4, !tbaa !5
  %11873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11864, ptr noundef nonnull %.str.81.sink5625, i32 noundef %11865, ptr noundef nonnull @.str.281, ptr noundef nonnull @.str.77, i32 noundef 999, ptr noundef %11867, ptr noundef %11869, ptr noundef %11871, i32 noundef %11872) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11874:                                            ; preds = %11847
  %11875 = add nsw i32 %11849, 2
  store i32 %11875, ptr @test_count, align 4, !tbaa !5
  %11876 = getelementptr inbounds i8, ptr %11848, i64 1688
  %11877 = load i32, ptr %11876, align 8, !tbaa !89
  %11878 = icmp eq i32 %11877, 0
  br i1 %11878, label %11901, label %11879

11879:                                            ; preds = %11874
  %11880 = load i32, ptr %288, 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
  %.not1556 = icmp eq i32 %11888, 0
  br i1 %.not1556, label %11889, label %11890

11889:                                            ; preds = %11885, %11879
  br label %11890

11890:                                            ; preds = %11885, %11889
  %.str.81.sink5634 = phi ptr [ @.str.81, %11889 ], [ @.str.78, %11885 ]
  store i32 %11880, ptr %288, 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 %234, align 4, !tbaa !5
  %11894 = call ptr @s2n_strerror(i32 noundef %11893, ptr noundef nonnull @.str.80) #12
  %11895 = load i32, ptr %234, align 4, !tbaa !5
  %11896 = call ptr @s2n_strerror_debug(i32 noundef %11895, ptr noundef nonnull @.str.80) #12
  %11897 = load i32, ptr %288, align 4, !tbaa !5
  %11898 = call ptr @strerror(i32 noundef %11897) #12
  %11899 = load i32, ptr %288, align 4, !tbaa !5
  %11900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11891, ptr noundef nonnull %.str.81.sink5634, i32 noundef %11892, ptr noundef nonnull @.str.324, ptr noundef nonnull @.str.77, i32 noundef 1000, ptr noundef %11894, ptr noundef %11896, ptr noundef %11898, i32 noundef %11899) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11901:                                            ; preds = %11874
  %11902 = add nsw i32 %11849, 3
  store i32 %11902, ptr @test_count, align 4, !tbaa !5
  %11903 = call i32 @s2n_connection_set_psk_mode(ptr noundef null, i32 noundef 1)
  %11904 = icmp eq i32 %11903, -1
  br i1 %11904, label %11927, label %11905

11905:                                            ; preds = %11901
  %11906 = load i32, ptr %288, align 4, !tbaa !5
  %11907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11908 = call i32 @s2n_print_stacktrace(ptr noundef %11907) #12
  %11909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11910 = trunc nuw i8 %11909 to i1
  br i1 %11910, label %11911, label %11915

11911:                                            ; preds = %11905
  %11912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11913 = call i32 @fileno(ptr noundef %11912) #12
  %11914 = call i32 @isatty(i32 noundef %11913) #12
  %.not1557 = icmp eq i32 %11914, 0
  br i1 %.not1557, label %11915, label %11916

11915:                                            ; preds = %11911, %11905
  br label %11916

11916:                                            ; preds = %11911, %11915
  %.str.81.sink5643 = phi ptr [ @.str.81, %11915 ], [ @.str.78, %11911 ]
  store i32 %11906, ptr %288, align 4, !tbaa !5
  %11917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11918 = load i32, ptr @test_count, align 4, !tbaa !5
  %11919 = load i32, ptr %234, align 4, !tbaa !5
  %11920 = call ptr @s2n_strerror(i32 noundef %11919, ptr noundef nonnull @.str.80) #12
  %11921 = load i32, ptr %234, align 4, !tbaa !5
  %11922 = call ptr @s2n_strerror_debug(i32 noundef %11921, ptr noundef nonnull @.str.80) #12
  %11923 = load i32, ptr %288, align 4, !tbaa !5
  %11924 = call ptr @strerror(i32 noundef %11923) #12
  %11925 = load i32, ptr %288, align 4, !tbaa !5
  %11926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11917, ptr noundef nonnull %.str.81.sink5643, i32 noundef %11918, ptr noundef nonnull @.str.325, ptr noundef nonnull @.str.77, i32 noundef 1002, ptr noundef %11920, ptr noundef %11922, ptr noundef %11924, i32 noundef %11925) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11927:                                            ; preds = %11901
  %11928 = load i32, ptr @test_count, align 4, !tbaa !5
  %11929 = add nsw i32 %11928, 1
  store i32 %11929, ptr @test_count, align 4, !tbaa !5
  %11930 = load i32, ptr %234, align 4, !tbaa !5
  %11931 = icmp eq i32 %11930, 402653193
  br i1 %11931, label %11954, label %11932

11932:                                            ; preds = %11927
  %11933 = load i32, ptr %288, 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
  %.not1558 = icmp eq i32 %11941, 0
  br i1 %.not1558, label %11942, label %11943

11942:                                            ; preds = %11938, %11932
  br label %11943

11943:                                            ; preds = %11938, %11942
  %.str.81.sink5652 = phi ptr [ @.str.81, %11942 ], [ @.str.78, %11938 ]
  store i32 %11933, ptr %288, 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 %234, align 4, !tbaa !5
  %11947 = call ptr @s2n_strerror(i32 noundef %11946, ptr noundef nonnull @.str.80) #12
  %11948 = load i32, ptr %234, align 4, !tbaa !5
  %11949 = call ptr @s2n_strerror_debug(i32 noundef %11948, ptr noundef nonnull @.str.80) #12
  %11950 = load i32, ptr %288, align 4, !tbaa !5
  %11951 = call ptr @strerror(i32 noundef %11950) #12
  %11952 = load i32, ptr %288, align 4, !tbaa !5
  %11953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11944, ptr noundef nonnull %.str.81.sink5652, i32 noundef %11945, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 1002, ptr noundef %11947, ptr noundef %11949, ptr noundef %11951, i32 noundef %11952) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11954:                                            ; preds = %11927
  %11955 = add nsw i32 %11928, 2
  store i32 %11955, ptr @test_count, align 4, !tbaa !5
  %11956 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %11957 = icmp eq ptr %11956, null
  br i1 %11957, label %11958, label %11980

11958:                                            ; preds = %11954
  %11959 = load i32, ptr %288, align 4, !tbaa !5
  %11960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11961 = call i32 @s2n_print_stacktrace(ptr noundef %11960) #12
  %11962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11963 = trunc nuw i8 %11962 to i1
  br i1 %11963, label %11964, label %11968

11964:                                            ; preds = %11958
  %11965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11966 = call i32 @fileno(ptr noundef %11965) #12
  %11967 = call i32 @isatty(i32 noundef %11966) #12
  %.not1638 = icmp eq i32 %11967, 0
  br i1 %.not1638, label %11968, label %11969

11968:                                            ; preds = %11964, %11958
  br label %11969

11969:                                            ; preds = %11964, %11968
  %.str.81.sink5661 = phi ptr [ @.str.81, %11968 ], [ @.str.78, %11964 ]
  store i32 %11959, ptr %288, align 4, !tbaa !5
  %11970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11971 = load i32, ptr @test_count, align 4, !tbaa !5
  %11972 = load i32, ptr %234, align 4, !tbaa !5
  %11973 = call ptr @s2n_strerror(i32 noundef %11972, ptr noundef nonnull @.str.80) #12
  %11974 = load i32, ptr %234, align 4, !tbaa !5
  %11975 = call ptr @s2n_strerror_debug(i32 noundef %11974, ptr noundef nonnull @.str.80) #12
  %11976 = load i32, ptr %288, align 4, !tbaa !5
  %11977 = call ptr @strerror(i32 noundef %11976) #12
  %11978 = load i32, ptr %288, align 4, !tbaa !5
  %11979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11970, ptr noundef nonnull %.str.81.sink5661, i32 noundef %11971, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 1002, ptr noundef %11973, ptr noundef %11975, ptr noundef %11977, i32 noundef %11978) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11980:                                            ; preds = %11954
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %11981 = load i32, ptr @test_count, align 4, !tbaa !5
  %11982 = add nsw i32 %11981, 1
  store i32 %11982, ptr @test_count, align 4, !tbaa !5
  %11983 = load i32, ptr %11876, align 8, !tbaa !89
  %11984 = icmp eq i32 %11983, 0
  br i1 %11984, label %12007, label %11985

11985:                                            ; preds = %11980
  %11986 = load i32, ptr %288, 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
  %.not1559 = icmp eq i32 %11994, 0
  br i1 %.not1559, label %11995, label %11996

11995:                                            ; preds = %11991, %11985
  br label %11996

11996:                                            ; preds = %11991, %11995
  %.str.81.sink5670 = phi ptr [ @.str.81, %11995 ], [ @.str.78, %11991 ]
  store i32 %11986, ptr %288, 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 %234, align 4, !tbaa !5
  %12000 = call ptr @s2n_strerror(i32 noundef %11999, ptr noundef nonnull @.str.80) #12
  %12001 = load i32, ptr %234, align 4, !tbaa !5
  %12002 = call ptr @s2n_strerror_debug(i32 noundef %12001, ptr noundef nonnull @.str.80) #12
  %12003 = load i32, ptr %288, align 4, !tbaa !5
  %12004 = call ptr @strerror(i32 noundef %12003) #12
  %12005 = load i32, ptr %288, align 4, !tbaa !5
  %12006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11997, ptr noundef nonnull %.str.81.sink5670, i32 noundef %11998, ptr noundef nonnull @.str.324, ptr noundef nonnull @.str.77, i32 noundef 1003, ptr noundef %12000, ptr noundef %12002, ptr noundef %12004, i32 noundef %12005) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12007:                                            ; preds = %11980
  %12008 = add nsw i32 %11981, 2
  store i32 %12008, ptr @test_count, align 4, !tbaa !5
  %12009 = load i32, ptr %11848, align 8
  %12010 = and i32 %12009, 4096
  %.not1560 = icmp eq i32 %12010, 0
  br i1 %.not1560, label %12033, label %12011

12011:                                            ; preds = %12007
  %12012 = load i32, ptr %288, align 4, !tbaa !5
  %12013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12014 = call i32 @s2n_print_stacktrace(ptr noundef %12013) #12
  %12015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12016 = trunc nuw i8 %12015 to i1
  br i1 %12016, label %12017, label %12021

12017:                                            ; preds = %12011
  %12018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12019 = call i32 @fileno(ptr noundef %12018) #12
  %12020 = call i32 @isatty(i32 noundef %12019) #12
  %.not1637 = icmp eq i32 %12020, 0
  br i1 %.not1637, label %12021, label %12022

12021:                                            ; preds = %12017, %12011
  br label %12022

12022:                                            ; preds = %12017, %12021
  %.str.81.sink5679 = phi ptr [ @.str.81, %12021 ], [ @.str.78, %12017 ]
  store i32 %12012, ptr %288, align 4, !tbaa !5
  %12023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12024 = load i32, ptr @test_count, align 4, !tbaa !5
  %12025 = load i32, ptr %234, align 4, !tbaa !5
  %12026 = call ptr @s2n_strerror(i32 noundef %12025, ptr noundef nonnull @.str.80) #12
  %12027 = load i32, ptr %234, align 4, !tbaa !5
  %12028 = call ptr @s2n_strerror_debug(i32 noundef %12027, ptr noundef nonnull @.str.80) #12
  %12029 = load i32, ptr %288, align 4, !tbaa !5
  %12030 = call ptr @strerror(i32 noundef %12029) #12
  %12031 = load i32, ptr %288, align 4, !tbaa !5
  %12032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12023, ptr noundef nonnull %.str.81.sink5679, i32 noundef %12024, ptr noundef nonnull @.str.326, ptr noundef nonnull @.str.77, i32 noundef 1004, ptr noundef %12026, ptr noundef %12028, ptr noundef %12030, i32 noundef %12031) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12033:                                            ; preds = %12007
  %12034 = add nsw i32 %11981, 3
  store i32 %12034, ptr @test_count, align 4, !tbaa !5
  %12035 = call i32 @s2n_connection_set_psk_mode(ptr noundef nonnull %11848, i32 noundef 0)
  %12036 = icmp eq i32 %12035, -1
  br i1 %12036, label %12037, label %12059

12037:                                            ; preds = %12033
  %12038 = load i32, ptr %288, align 4, !tbaa !5
  %12039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12040 = call i32 @s2n_print_stacktrace(ptr noundef %12039) #12
  %12041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12042 = trunc nuw i8 %12041 to i1
  br i1 %12042, label %12043, label %12047

12043:                                            ; preds = %12037
  %12044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12045 = call i32 @fileno(ptr noundef %12044) #12
  %12046 = call i32 @isatty(i32 noundef %12045) #12
  %.not1636 = icmp eq i32 %12046, 0
  br i1 %.not1636, label %12047, label %12048

12047:                                            ; preds = %12043, %12037
  br label %12048

12048:                                            ; preds = %12043, %12047
  %.str.81.sink5688 = phi ptr [ @.str.81, %12047 ], [ @.str.78, %12043 ]
  store i32 %12038, ptr %288, align 4, !tbaa !5
  %12049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12050 = load i32, ptr @test_count, align 4, !tbaa !5
  %12051 = load i32, ptr %234, align 4, !tbaa !5
  %12052 = call ptr @s2n_strerror(i32 noundef %12051, ptr noundef nonnull @.str.80) #12
  %12053 = load i32, ptr %234, align 4, !tbaa !5
  %12054 = call ptr @s2n_strerror_debug(i32 noundef %12053, ptr noundef nonnull @.str.80) #12
  %12055 = load i32, ptr %288, align 4, !tbaa !5
  %12056 = call ptr @strerror(i32 noundef %12055) #12
  %12057 = load i32, ptr %288, align 4, !tbaa !5
  %12058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12049, ptr noundef nonnull %.str.81.sink5688, i32 noundef %12050, ptr noundef nonnull @.str.327, ptr noundef nonnull @.str.77, i32 noundef 1006, ptr noundef %12052, ptr noundef %12054, ptr noundef %12056, i32 noundef %12057) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12059:                                            ; preds = %12033
  %12060 = load i32, ptr @test_count, align 4, !tbaa !5
  %12061 = add nsw i32 %12060, 1
  store i32 %12061, ptr @test_count, align 4, !tbaa !5
  %12062 = load i32, ptr %11876, align 8, !tbaa !89
  %12063 = icmp eq i32 %12062, 0
  br i1 %12063, label %12086, label %12064

12064:                                            ; preds = %12059
  %12065 = load i32, ptr %288, align 4, !tbaa !5
  %12066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12067 = call i32 @s2n_print_stacktrace(ptr noundef %12066) #12
  %12068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12069 = trunc nuw i8 %12068 to i1
  br i1 %12069, label %12070, label %12074

12070:                                            ; preds = %12064
  %12071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12072 = call i32 @fileno(ptr noundef %12071) #12
  %12073 = call i32 @isatty(i32 noundef %12072) #12
  %.not1561 = icmp eq i32 %12073, 0
  br i1 %.not1561, label %12074, label %12075

12074:                                            ; preds = %12070, %12064
  br label %12075

12075:                                            ; preds = %12070, %12074
  %.str.81.sink5697 = phi ptr [ @.str.81, %12074 ], [ @.str.78, %12070 ]
  store i32 %12065, ptr %288, align 4, !tbaa !5
  %12076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12077 = load i32, ptr @test_count, align 4, !tbaa !5
  %12078 = load i32, ptr %234, align 4, !tbaa !5
  %12079 = call ptr @s2n_strerror(i32 noundef %12078, ptr noundef nonnull @.str.80) #12
  %12080 = load i32, ptr %234, align 4, !tbaa !5
  %12081 = call ptr @s2n_strerror_debug(i32 noundef %12080, ptr noundef nonnull @.str.80) #12
  %12082 = load i32, ptr %288, align 4, !tbaa !5
  %12083 = call ptr @strerror(i32 noundef %12082) #12
  %12084 = load i32, ptr %288, align 4, !tbaa !5
  %12085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12076, ptr noundef nonnull %.str.81.sink5697, i32 noundef %12077, ptr noundef nonnull @.str.324, ptr noundef nonnull @.str.77, i32 noundef 1007, ptr noundef %12079, ptr noundef %12081, ptr noundef %12083, i32 noundef %12084) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12086:                                            ; preds = %12059
  %12087 = add nsw i32 %12060, 2
  store i32 %12087, ptr @test_count, align 4, !tbaa !5
  %12088 = load i32, ptr %11848, align 8
  %12089 = and i32 %12088, 4096
  %.not1562 = icmp eq i32 %12089, 0
  br i1 %.not1562, label %12090, label %12112

12090:                                            ; preds = %12086
  %12091 = load i32, ptr %288, align 4, !tbaa !5
  %12092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12093 = call i32 @s2n_print_stacktrace(ptr noundef %12092) #12
  %12094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12095 = trunc nuw i8 %12094 to i1
  br i1 %12095, label %12096, label %12100

12096:                                            ; preds = %12090
  %12097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12098 = call i32 @fileno(ptr noundef %12097) #12
  %12099 = call i32 @isatty(i32 noundef %12098) #12
  %.not1563 = icmp eq i32 %12099, 0
  br i1 %.not1563, label %12100, label %12101

12100:                                            ; preds = %12096, %12090
  br label %12101

12101:                                            ; preds = %12096, %12100
  %.str.81.sink5706 = phi ptr [ @.str.81, %12100 ], [ @.str.78, %12096 ]
  store i32 %12091, ptr %288, align 4, !tbaa !5
  %12102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12103 = load i32, ptr @test_count, align 4, !tbaa !5
  %12104 = load i32, ptr %234, align 4, !tbaa !5
  %12105 = call ptr @s2n_strerror(i32 noundef %12104, ptr noundef nonnull @.str.80) #12
  %12106 = load i32, ptr %234, align 4, !tbaa !5
  %12107 = call ptr @s2n_strerror_debug(i32 noundef %12106, ptr noundef nonnull @.str.80) #12
  %12108 = load i32, ptr %288, align 4, !tbaa !5
  %12109 = call ptr @strerror(i32 noundef %12108) #12
  %12110 = load i32, ptr %288, align 4, !tbaa !5
  %12111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12102, ptr noundef nonnull %.str.81.sink5706, i32 noundef %12103, ptr noundef nonnull @.str.328, ptr noundef nonnull @.str.77, i32 noundef 1008, ptr noundef %12105, ptr noundef %12107, ptr noundef %12109, i32 noundef %12110) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12112:                                            ; preds = %12086
  %12113 = add nsw i32 %12060, 3
  store i32 %12113, ptr @test_count, align 4, !tbaa !5
  %12114 = call i32 @s2n_connection_set_psk_mode(ptr noundef nonnull %11848, i32 noundef 1)
  %12115 = icmp eq i32 %12114, -1
  br i1 %12115, label %12116, label %12138

12116:                                            ; preds = %12112
  %12117 = load i32, ptr %288, align 4, !tbaa !5
  %12118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12119 = call i32 @s2n_print_stacktrace(ptr noundef %12118) #12
  %12120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12121 = trunc nuw i8 %12120 to i1
  br i1 %12121, label %12122, label %12126

12122:                                            ; preds = %12116
  %12123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12124 = call i32 @fileno(ptr noundef %12123) #12
  %12125 = call i32 @isatty(i32 noundef %12124) #12
  %.not1635 = icmp eq i32 %12125, 0
  br i1 %.not1635, label %12126, label %12127

12126:                                            ; preds = %12122, %12116
  br label %12127

12127:                                            ; preds = %12122, %12126
  %.str.81.sink5715 = phi ptr [ @.str.81, %12126 ], [ @.str.78, %12122 ]
  store i32 %12117, ptr %288, align 4, !tbaa !5
  %12128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12129 = load i32, ptr @test_count, align 4, !tbaa !5
  %12130 = load i32, ptr %234, align 4, !tbaa !5
  %12131 = call ptr @s2n_strerror(i32 noundef %12130, ptr noundef nonnull @.str.80) #12
  %12132 = load i32, ptr %234, align 4, !tbaa !5
  %12133 = call ptr @s2n_strerror_debug(i32 noundef %12132, ptr noundef nonnull @.str.80) #12
  %12134 = load i32, ptr %288, align 4, !tbaa !5
  %12135 = call ptr @strerror(i32 noundef %12134) #12
  %12136 = load i32, ptr %288, align 4, !tbaa !5
  %12137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12128, ptr noundef nonnull %.str.81.sink5715, i32 noundef %12129, ptr noundef nonnull @.str.293, ptr noundef nonnull @.str.77, i32 noundef 1010, ptr noundef %12131, ptr noundef %12133, ptr noundef %12135, i32 noundef %12136) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12138:                                            ; preds = %12112
  %12139 = load i32, ptr @test_count, align 4, !tbaa !5
  %12140 = add nsw i32 %12139, 1
  store i32 %12140, ptr @test_count, align 4, !tbaa !5
  %12141 = load i32, ptr %11876, align 8, !tbaa !89
  %12142 = icmp eq i32 %12141, 1
  br i1 %12142, label %12165, label %12143

12143:                                            ; preds = %12138
  %12144 = load i32, ptr %288, align 4, !tbaa !5
  %12145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12146 = call i32 @s2n_print_stacktrace(ptr noundef %12145) #12
  %12147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12148 = trunc nuw i8 %12147 to i1
  br i1 %12148, label %12149, label %12153

12149:                                            ; preds = %12143
  %12150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12151 = call i32 @fileno(ptr noundef %12150) #12
  %12152 = call i32 @isatty(i32 noundef %12151) #12
  %.not1564 = icmp eq i32 %12152, 0
  br i1 %.not1564, label %12153, label %12154

12153:                                            ; preds = %12149, %12143
  br label %12154

12154:                                            ; preds = %12149, %12153
  %.str.81.sink5724 = phi ptr [ @.str.81, %12153 ], [ @.str.78, %12149 ]
  store i32 %12144, ptr %288, align 4, !tbaa !5
  %12155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12156 = load i32, ptr @test_count, align 4, !tbaa !5
  %12157 = load i32, ptr %234, align 4, !tbaa !5
  %12158 = call ptr @s2n_strerror(i32 noundef %12157, ptr noundef nonnull @.str.80) #12
  %12159 = load i32, ptr %234, align 4, !tbaa !5
  %12160 = call ptr @s2n_strerror_debug(i32 noundef %12159, ptr noundef nonnull @.str.80) #12
  %12161 = load i32, ptr %288, align 4, !tbaa !5
  %12162 = call ptr @strerror(i32 noundef %12161) #12
  %12163 = load i32, ptr %288, align 4, !tbaa !5
  %12164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12155, ptr noundef nonnull %.str.81.sink5724, i32 noundef %12156, ptr noundef nonnull @.str.329, ptr noundef nonnull @.str.77, i32 noundef 1011, ptr noundef %12158, ptr noundef %12160, ptr noundef %12162, i32 noundef %12163) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12165:                                            ; preds = %12138
  %12166 = add nsw i32 %12139, 2
  store i32 %12166, ptr @test_count, align 4, !tbaa !5
  %12167 = load i32, ptr %11848, align 8
  %12168 = and i32 %12167, 4096
  %.not1565 = icmp eq i32 %12168, 0
  br i1 %.not1565, label %12169, label %12191

12169:                                            ; preds = %12165
  %12170 = load i32, ptr %288, align 4, !tbaa !5
  %12171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12172 = call i32 @s2n_print_stacktrace(ptr noundef %12171) #12
  %12173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12174 = trunc nuw i8 %12173 to i1
  br i1 %12174, label %12175, label %12179

12175:                                            ; preds = %12169
  %12176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12177 = call i32 @fileno(ptr noundef %12176) #12
  %12178 = call i32 @isatty(i32 noundef %12177) #12
  %.not1566 = icmp eq i32 %12178, 0
  br i1 %.not1566, label %12179, label %12180

12179:                                            ; preds = %12175, %12169
  br label %12180

12180:                                            ; preds = %12175, %12179
  %.str.81.sink5733 = phi ptr [ @.str.81, %12179 ], [ @.str.78, %12175 ]
  store i32 %12170, ptr %288, align 4, !tbaa !5
  %12181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12182 = load i32, ptr @test_count, align 4, !tbaa !5
  %12183 = load i32, ptr %234, align 4, !tbaa !5
  %12184 = call ptr @s2n_strerror(i32 noundef %12183, ptr noundef nonnull @.str.80) #12
  %12185 = load i32, ptr %234, align 4, !tbaa !5
  %12186 = call ptr @s2n_strerror_debug(i32 noundef %12185, ptr noundef nonnull @.str.80) #12
  %12187 = load i32, ptr %288, align 4, !tbaa !5
  %12188 = call ptr @strerror(i32 noundef %12187) #12
  %12189 = load i32, ptr %288, align 4, !tbaa !5
  %12190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12181, ptr noundef nonnull %.str.81.sink5733, i32 noundef %12182, ptr noundef nonnull @.str.328, ptr noundef nonnull @.str.77, i32 noundef 1012, ptr noundef %12184, ptr noundef %12186, ptr noundef %12188, i32 noundef %12189) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12191:                                            ; preds = %12165
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %105) #12
  %12192 = call ptr @s2n_test_psk_new(ptr noundef nonnull %11848) #12
  store ptr %12192, ptr %105, align 8, !tbaa !9
  %12193 = load i32, ptr @test_count, align 4, !tbaa !5
  %12194 = add nsw i32 %12193, 1
  store i32 %12194, ptr @test_count, align 4, !tbaa !5
  %12195 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %11848, ptr noundef %12192)
  %12196 = icmp eq i32 %12195, -1
  br i1 %12196, label %12197, label %12219

12197:                                            ; preds = %12191
  %12198 = load i32, ptr %288, 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
  %.not1634 = icmp eq i32 %12206, 0
  br i1 %.not1634, label %12207, label %12208

12207:                                            ; preds = %12203, %12197
  br label %12208

12208:                                            ; preds = %12203, %12207
  %.str.81.sink5742 = phi ptr [ @.str.81, %12207 ], [ @.str.78, %12203 ]
  store i32 %12198, ptr %288, 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 %234, align 4, !tbaa !5
  %12212 = call ptr @s2n_strerror(i32 noundef %12211, ptr noundef nonnull @.str.80) #12
  %12213 = load i32, ptr %234, align 4, !tbaa !5
  %12214 = call ptr @s2n_strerror_debug(i32 noundef %12213, ptr noundef nonnull @.str.80) #12
  %12215 = load i32, ptr %288, align 4, !tbaa !5
  %12216 = call ptr @strerror(i32 noundef %12215) #12
  %12217 = load i32, ptr %288, align 4, !tbaa !5
  %12218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12209, ptr noundef nonnull %.str.81.sink5742, i32 noundef %12210, ptr noundef nonnull @.str.306, ptr noundef nonnull @.str.77, i32 noundef 1015, ptr noundef %12212, ptr noundef %12214, ptr noundef %12216, i32 noundef %12217) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12219:                                            ; preds = %12191
  %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 = call i32 @s2n_connection_set_psk_mode(ptr noundef nonnull %11848, i32 noundef 0)
  %12223 = icmp eq i32 %12222, -1
  br i1 %12223, label %12246, label %12224

12224:                                            ; preds = %12219
  %12225 = load i32, ptr %288, 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
  %.not1567 = icmp eq i32 %12233, 0
  br i1 %.not1567, label %12234, label %12235

12234:                                            ; preds = %12230, %12224
  br label %12235

12235:                                            ; preds = %12230, %12234
  %.str.81.sink5751 = phi ptr [ @.str.81, %12234 ], [ @.str.78, %12230 ]
  store i32 %12225, ptr %288, 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 %234, align 4, !tbaa !5
  %12239 = call ptr @s2n_strerror(i32 noundef %12238, ptr noundef nonnull @.str.80) #12
  %12240 = load i32, ptr %234, align 4, !tbaa !5
  %12241 = call ptr @s2n_strerror_debug(i32 noundef %12240, ptr noundef nonnull @.str.80) #12
  %12242 = load i32, ptr %288, align 4, !tbaa !5
  %12243 = call ptr @strerror(i32 noundef %12242) #12
  %12244 = load i32, ptr %288, align 4, !tbaa !5
  %12245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12236, ptr noundef nonnull %.str.81.sink5751, i32 noundef %12237, ptr noundef nonnull @.str.330, ptr noundef nonnull @.str.77, i32 noundef 1016, 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 = 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 i32, ptr %234, align 4, !tbaa !5
  %12250 = icmp eq i32 %12249, 469762117
  br i1 %12250, label %12273, label %12251

12251:                                            ; preds = %12246
  %12252 = load i32, ptr %288, align 4, !tbaa !5
  %12253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12254 = call i32 @s2n_print_stacktrace(ptr noundef %12253) #12
  %12255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12256 = trunc nuw i8 %12255 to i1
  br i1 %12256, label %12257, label %12261

12257:                                            ; preds = %12251
  %12258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12259 = call i32 @fileno(ptr noundef %12258) #12
  %12260 = call i32 @isatty(i32 noundef %12259) #12
  %.not1568 = icmp eq i32 %12260, 0
  br i1 %.not1568, label %12261, label %12262

12261:                                            ; preds = %12257, %12251
  br label %12262

12262:                                            ; preds = %12257, %12261
  %.str.81.sink5760 = phi ptr [ @.str.81, %12261 ], [ @.str.78, %12257 ]
  store i32 %12252, ptr %288, align 4, !tbaa !5
  %12263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12264 = load i32, ptr @test_count, align 4, !tbaa !5
  %12265 = load i32, ptr %234, align 4, !tbaa !5
  %12266 = call ptr @s2n_strerror(i32 noundef %12265, ptr noundef nonnull @.str.80) #12
  %12267 = load i32, ptr %234, align 4, !tbaa !5
  %12268 = call ptr @s2n_strerror_debug(i32 noundef %12267, ptr noundef nonnull @.str.80) #12
  %12269 = load i32, ptr %288, align 4, !tbaa !5
  %12270 = call ptr @strerror(i32 noundef %12269) #12
  %12271 = load i32, ptr %288, align 4, !tbaa !5
  %12272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12263, ptr noundef nonnull %.str.81.sink5760, i32 noundef %12264, ptr noundef nonnull @.str.308, ptr noundef nonnull @.str.77, i32 noundef 1016, ptr noundef %12266, ptr noundef %12268, ptr noundef %12270, i32 noundef %12271) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12273:                                            ; preds = %12246
  %12274 = add nsw i32 %12247, 2
  store i32 %12274, ptr @test_count, align 4, !tbaa !5
  %12275 = call ptr @s2n_strerror_debug(i32 noundef 469762117, ptr noundef nonnull @.str.80) #12
  %12276 = icmp eq ptr %12275, null
  br i1 %12276, label %12277, label %12299

12277:                                            ; preds = %12273
  %12278 = load i32, ptr %288, 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
  %.not1633 = icmp eq i32 %12286, 0
  br i1 %.not1633, label %12287, label %12288

12287:                                            ; preds = %12283, %12277
  br label %12288

12288:                                            ; preds = %12283, %12287
  %.str.81.sink5769 = phi ptr [ @.str.81, %12287 ], [ @.str.78, %12283 ]
  store i32 %12278, ptr %288, 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 %234, align 4, !tbaa !5
  %12292 = call ptr @s2n_strerror(i32 noundef %12291, ptr noundef nonnull @.str.80) #12
  %12293 = load i32, ptr %234, align 4, !tbaa !5
  %12294 = call ptr @s2n_strerror_debug(i32 noundef %12293, ptr noundef nonnull @.str.80) #12
  %12295 = load i32, ptr %288, align 4, !tbaa !5
  %12296 = call ptr @strerror(i32 noundef %12295) #12
  %12297 = load i32, ptr %288, align 4, !tbaa !5
  %12298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12289, ptr noundef nonnull %.str.81.sink5769, i32 noundef %12290, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 1016, ptr noundef %12292, ptr noundef %12294, ptr noundef %12296, i32 noundef %12297) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12299:                                            ; preds = %12273
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %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 %11876, align 8, !tbaa !89
  %12303 = icmp eq i32 %12302, 1
  br i1 %12303, label %12326, label %12304

12304:                                            ; preds = %12299
  %12305 = load i32, ptr %288, 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
  %.not1569 = icmp eq i32 %12313, 0
  br i1 %.not1569, label %12314, label %12315

12314:                                            ; preds = %12310, %12304
  br label %12315

12315:                                            ; preds = %12310, %12314
  %.str.81.sink5778 = phi ptr [ @.str.81, %12314 ], [ @.str.78, %12310 ]
  store i32 %12305, ptr %288, 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 %234, align 4, !tbaa !5
  %12319 = call ptr @s2n_strerror(i32 noundef %12318, ptr noundef nonnull @.str.80) #12
  %12320 = load i32, ptr %234, align 4, !tbaa !5
  %12321 = call ptr @s2n_strerror_debug(i32 noundef %12320, ptr noundef nonnull @.str.80) #12
  %12322 = load i32, ptr %288, align 4, !tbaa !5
  %12323 = call ptr @strerror(i32 noundef %12322) #12
  %12324 = load i32, ptr %288, align 4, !tbaa !5
  %12325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12316, ptr noundef nonnull %.str.81.sink5778, i32 noundef %12317, ptr noundef nonnull @.str.329, ptr noundef nonnull @.str.77, i32 noundef 1017, 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 i32 @s2n_connection_free(ptr noundef nonnull %11848) #12
  %12329 = icmp eq i32 %12328, -1
  br i1 %12329, label %12330, label %12352

12330:                                            ; preds = %12326
  %12331 = load i32, ptr %288, 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
  %.not1632 = icmp eq i32 %12339, 0
  br i1 %.not1632, label %12340, label %12341

12340:                                            ; preds = %12336, %12330
  br label %12341

12341:                                            ; preds = %12336, %12340
  %.str.81.sink5787 = phi ptr [ @.str.81, %12340 ], [ @.str.78, %12336 ]
  store i32 %12331, ptr %288, 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 %234, align 4, !tbaa !5
  %12345 = call ptr @s2n_strerror(i32 noundef %12344, ptr noundef nonnull @.str.80) #12
  %12346 = load i32, ptr %234, align 4, !tbaa !5
  %12347 = call ptr @s2n_strerror_debug(i32 noundef %12346, ptr noundef nonnull @.str.80) #12
  %12348 = load i32, ptr %288, align 4, !tbaa !5
  %12349 = call ptr @strerror(i32 noundef %12348) #12
  %12350 = load i32, ptr %288, align 4, !tbaa !5
  %12351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12342, ptr noundef nonnull %.str.81.sink5787, i32 noundef %12343, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 1019, ptr noundef %12345, ptr noundef %12347, ptr noundef %12349, i32 noundef %12350) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12352:                                            ; preds = %12326
  %12353 = call i32 @s2n_psk_free(ptr noundef nonnull %105)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %105) #12
  call void @llvm.lifetime.start.p0(i64 9, ptr nonnull %106) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %106, ptr noundef nonnull align 1 dereferenceable(9) @__const.main.psk_identity, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %107) #12
  store i16 0, ptr %107, align 2, !tbaa !65
  %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 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %12357 = icmp eq ptr %12356, null
  br i1 %12357, label %12358, label %12380

12358:                                            ; preds = %12352
  %12359 = load i32, ptr %288, align 4, !tbaa !5
  %12360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12361 = call i32 @s2n_print_stacktrace(ptr noundef %12360) #12
  %12362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12363 = trunc nuw i8 %12362 to i1
  br i1 %12363, label %12364, label %12368

12364:                                            ; preds = %12358
  %12365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12366 = call i32 @fileno(ptr noundef %12365) #12
  %12367 = call i32 @isatty(i32 noundef %12366) #12
  %.not1631 = icmp eq i32 %12367, 0
  br i1 %.not1631, label %12368, label %12369

12368:                                            ; preds = %12364, %12358
  br label %12369

12369:                                            ; preds = %12364, %12368
  %.str.81.sink5796 = phi ptr [ @.str.81, %12368 ], [ @.str.78, %12364 ]
  store i32 %12359, ptr %288, align 4, !tbaa !5
  %12370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12371 = load i32, ptr @test_count, align 4, !tbaa !5
  %12372 = load i32, ptr %234, align 4, !tbaa !5
  %12373 = call ptr @s2n_strerror(i32 noundef %12372, ptr noundef nonnull @.str.80) #12
  %12374 = load i32, ptr %234, align 4, !tbaa !5
  %12375 = call ptr @s2n_strerror_debug(i32 noundef %12374, ptr noundef nonnull @.str.80) #12
  %12376 = load i32, ptr %288, align 4, !tbaa !5
  %12377 = call ptr @strerror(i32 noundef %12376) #12
  %12378 = load i32, ptr %288, align 4, !tbaa !5
  %12379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12370, ptr noundef nonnull %.str.81.sink5796, i32 noundef %12371, ptr noundef nonnull @.str.290, ptr noundef nonnull @.str.77, i32 noundef 1028, ptr noundef %12373, ptr noundef %12375, ptr noundef %12377, i32 noundef %12378) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12380:                                            ; preds = %12352
  %12381 = load i32, ptr @test_count, align 4, !tbaa !5
  %12382 = add nsw i32 %12381, 1
  store i32 %12382, ptr @test_count, align 4, !tbaa !5
  %12383 = call i32 @s2n_connection_get_negotiated_psk_identity_length(ptr noundef null, ptr noundef nonnull %107)
  %12384 = icmp eq i32 %12383, -1
  br i1 %12384, label %12407, label %12385

12385:                                            ; preds = %12380
  %12386 = load i32, ptr %288, align 4, !tbaa !5
  %12387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12388 = call i32 @s2n_print_stacktrace(ptr noundef %12387) #12
  %12389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12390 = trunc nuw i8 %12389 to i1
  br i1 %12390, label %12391, label %12395

12391:                                            ; preds = %12385
  %12392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12393 = call i32 @fileno(ptr noundef %12392) #12
  %12394 = call i32 @isatty(i32 noundef %12393) #12
  %.not1570 = icmp eq i32 %12394, 0
  br i1 %.not1570, label %12395, label %12396

12395:                                            ; preds = %12391, %12385
  br label %12396

12396:                                            ; preds = %12391, %12395
  %.str.81.sink5805 = phi ptr [ @.str.81, %12395 ], [ @.str.78, %12391 ]
  store i32 %12386, ptr %288, align 4, !tbaa !5
  %12397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12398 = load i32, ptr @test_count, align 4, !tbaa !5
  %12399 = load i32, ptr %234, align 4, !tbaa !5
  %12400 = call ptr @s2n_strerror(i32 noundef %12399, ptr noundef nonnull @.str.80) #12
  %12401 = load i32, ptr %234, align 4, !tbaa !5
  %12402 = call ptr @s2n_strerror_debug(i32 noundef %12401, ptr noundef nonnull @.str.80) #12
  %12403 = load i32, ptr %288, align 4, !tbaa !5
  %12404 = call ptr @strerror(i32 noundef %12403) #12
  %12405 = load i32, ptr %288, align 4, !tbaa !5
  %12406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12397, ptr noundef nonnull %.str.81.sink5805, i32 noundef %12398, ptr noundef nonnull @.str.331, ptr noundef nonnull @.str.77, i32 noundef 1030, ptr noundef %12400, ptr noundef %12402, ptr noundef %12404, i32 noundef %12405) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12407:                                            ; preds = %12380
  %12408 = load i32, ptr @test_count, align 4, !tbaa !5
  %12409 = add nsw i32 %12408, 1
  store i32 %12409, ptr @test_count, align 4, !tbaa !5
  %12410 = load i32, ptr %234, align 4, !tbaa !5
  %12411 = icmp eq i32 %12410, 402653193
  br i1 %12411, label %12434, label %12412

12412:                                            ; preds = %12407
  %12413 = load i32, ptr %288, align 4, !tbaa !5
  %12414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12415 = call i32 @s2n_print_stacktrace(ptr noundef %12414) #12
  %12416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12417 = trunc nuw i8 %12416 to i1
  br i1 %12417, label %12418, label %12422

12418:                                            ; preds = %12412
  %12419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12420 = call i32 @fileno(ptr noundef %12419) #12
  %12421 = call i32 @isatty(i32 noundef %12420) #12
  %.not1571 = icmp eq i32 %12421, 0
  br i1 %.not1571, label %12422, label %12423

12422:                                            ; preds = %12418, %12412
  br label %12423

12423:                                            ; preds = %12418, %12422
  %.str.81.sink5814 = phi ptr [ @.str.81, %12422 ], [ @.str.78, %12418 ]
  store i32 %12413, ptr %288, align 4, !tbaa !5
  %12424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12425 = load i32, ptr @test_count, align 4, !tbaa !5
  %12426 = load i32, ptr %234, align 4, !tbaa !5
  %12427 = call ptr @s2n_strerror(i32 noundef %12426, ptr noundef nonnull @.str.80) #12
  %12428 = load i32, ptr %234, align 4, !tbaa !5
  %12429 = call ptr @s2n_strerror_debug(i32 noundef %12428, ptr noundef nonnull @.str.80) #12
  %12430 = load i32, ptr %288, align 4, !tbaa !5
  %12431 = call ptr @strerror(i32 noundef %12430) #12
  %12432 = load i32, ptr %288, align 4, !tbaa !5
  %12433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12424, ptr noundef nonnull %.str.81.sink5814, i32 noundef %12425, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 1030, ptr noundef %12427, ptr noundef %12429, ptr noundef %12431, i32 noundef %12432) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12434:                                            ; preds = %12407
  %12435 = add nsw i32 %12408, 2
  store i32 %12435, ptr @test_count, align 4, !tbaa !5
  %12436 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %12437 = icmp eq ptr %12436, null
  br i1 %12437, label %12438, label %12460

12438:                                            ; preds = %12434
  %12439 = load i32, ptr %288, align 4, !tbaa !5
  %12440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12441 = call i32 @s2n_print_stacktrace(ptr noundef %12440) #12
  %12442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12443 = trunc nuw i8 %12442 to i1
  br i1 %12443, label %12444, label %12448

12444:                                            ; preds = %12438
  %12445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12446 = call i32 @fileno(ptr noundef %12445) #12
  %12447 = call i32 @isatty(i32 noundef %12446) #12
  %.not1630 = icmp eq i32 %12447, 0
  br i1 %.not1630, label %12448, label %12449

12448:                                            ; preds = %12444, %12438
  br label %12449

12449:                                            ; preds = %12444, %12448
  %.str.81.sink5823 = phi ptr [ @.str.81, %12448 ], [ @.str.78, %12444 ]
  store i32 %12439, ptr %288, align 4, !tbaa !5
  %12450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12451 = load i32, ptr @test_count, align 4, !tbaa !5
  %12452 = load i32, ptr %234, align 4, !tbaa !5
  %12453 = call ptr @s2n_strerror(i32 noundef %12452, ptr noundef nonnull @.str.80) #12
  %12454 = load i32, ptr %234, align 4, !tbaa !5
  %12455 = call ptr @s2n_strerror_debug(i32 noundef %12454, ptr noundef nonnull @.str.80) #12
  %12456 = load i32, ptr %288, align 4, !tbaa !5
  %12457 = call ptr @strerror(i32 noundef %12456) #12
  %12458 = load i32, ptr %288, align 4, !tbaa !5
  %12459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12450, ptr noundef nonnull %.str.81.sink5823, i32 noundef %12451, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 1030, ptr noundef %12453, ptr noundef %12455, ptr noundef %12457, i32 noundef %12458) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12460:                                            ; preds = %12434
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %12461 = load i32, ptr @test_count, align 4, !tbaa !5
  %12462 = add nsw i32 %12461, 1
  store i32 %12462, ptr @test_count, align 4, !tbaa !5
  %12463 = call i32 @s2n_connection_get_negotiated_psk_identity_length(ptr noundef nonnull %12356, ptr noundef null)
  %12464 = icmp eq i32 %12463, -1
  br i1 %12464, label %12487, label %12465

12465:                                            ; preds = %12460
  %12466 = load i32, ptr %288, align 4, !tbaa !5
  %12467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12468 = call i32 @s2n_print_stacktrace(ptr noundef %12467) #12
  %12469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12470 = trunc nuw i8 %12469 to i1
  br i1 %12470, label %12471, label %12475

12471:                                            ; preds = %12465
  %12472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12473 = call i32 @fileno(ptr noundef %12472) #12
  %12474 = call i32 @isatty(i32 noundef %12473) #12
  %.not1572 = icmp eq i32 %12474, 0
  br i1 %.not1572, label %12475, label %12476

12475:                                            ; preds = %12471, %12465
  br label %12476

12476:                                            ; preds = %12471, %12475
  %.str.81.sink5832 = phi ptr [ @.str.81, %12475 ], [ @.str.78, %12471 ]
  store i32 %12466, ptr %288, align 4, !tbaa !5
  %12477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12478 = load i32, ptr @test_count, align 4, !tbaa !5
  %12479 = load i32, ptr %234, align 4, !tbaa !5
  %12480 = call ptr @s2n_strerror(i32 noundef %12479, ptr noundef nonnull @.str.80) #12
  %12481 = load i32, ptr %234, align 4, !tbaa !5
  %12482 = call ptr @s2n_strerror_debug(i32 noundef %12481, ptr noundef nonnull @.str.80) #12
  %12483 = load i32, ptr %288, align 4, !tbaa !5
  %12484 = call ptr @strerror(i32 noundef %12483) #12
  %12485 = load i32, ptr %288, align 4, !tbaa !5
  %12486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12477, ptr noundef nonnull %.str.81.sink5832, i32 noundef %12478, ptr noundef nonnull @.str.332, ptr noundef nonnull @.str.77, i32 noundef 1031, ptr noundef %12480, ptr noundef %12482, ptr noundef %12484, i32 noundef %12485) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12487:                                            ; preds = %12460
  %12488 = load i32, ptr @test_count, align 4, !tbaa !5
  %12489 = add nsw i32 %12488, 1
  store i32 %12489, ptr @test_count, align 4, !tbaa !5
  %12490 = load i32, ptr %234, align 4, !tbaa !5
  %12491 = icmp eq i32 %12490, 402653193
  br i1 %12491, label %12514, label %12492

12492:                                            ; preds = %12487
  %12493 = load i32, ptr %288, align 4, !tbaa !5
  %12494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12495 = call i32 @s2n_print_stacktrace(ptr noundef %12494) #12
  %12496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12497 = trunc nuw i8 %12496 to i1
  br i1 %12497, label %12498, label %12502

12498:                                            ; preds = %12492
  %12499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12500 = call i32 @fileno(ptr noundef %12499) #12
  %12501 = call i32 @isatty(i32 noundef %12500) #12
  %.not1573 = icmp eq i32 %12501, 0
  br i1 %.not1573, label %12502, label %12503

12502:                                            ; preds = %12498, %12492
  br label %12503

12503:                                            ; preds = %12498, %12502
  %.str.81.sink5841 = phi ptr [ @.str.81, %12502 ], [ @.str.78, %12498 ]
  store i32 %12493, ptr %288, align 4, !tbaa !5
  %12504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12505 = load i32, ptr @test_count, align 4, !tbaa !5
  %12506 = load i32, ptr %234, align 4, !tbaa !5
  %12507 = call ptr @s2n_strerror(i32 noundef %12506, ptr noundef nonnull @.str.80) #12
  %12508 = load i32, ptr %234, align 4, !tbaa !5
  %12509 = call ptr @s2n_strerror_debug(i32 noundef %12508, ptr noundef nonnull @.str.80) #12
  %12510 = load i32, ptr %288, align 4, !tbaa !5
  %12511 = call ptr @strerror(i32 noundef %12510) #12
  %12512 = load i32, ptr %288, align 4, !tbaa !5
  %12513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12504, ptr noundef nonnull %.str.81.sink5841, i32 noundef %12505, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 1031, ptr noundef %12507, ptr noundef %12509, ptr noundef %12511, i32 noundef %12512) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12514:                                            ; preds = %12487
  %12515 = add nsw i32 %12488, 2
  store i32 %12515, ptr @test_count, align 4, !tbaa !5
  %12516 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %12517 = icmp eq ptr %12516, null
  br i1 %12517, label %12518, label %12540

12518:                                            ; preds = %12514
  %12519 = load i32, ptr %288, align 4, !tbaa !5
  %12520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12521 = call i32 @s2n_print_stacktrace(ptr noundef %12520) #12
  %12522 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12523 = trunc nuw i8 %12522 to i1
  br i1 %12523, label %12524, label %12528

12524:                                            ; preds = %12518
  %12525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12526 = call i32 @fileno(ptr noundef %12525) #12
  %12527 = call i32 @isatty(i32 noundef %12526) #12
  %.not1629 = icmp eq i32 %12527, 0
  br i1 %.not1629, label %12528, label %12529

12528:                                            ; preds = %12524, %12518
  br label %12529

12529:                                            ; preds = %12524, %12528
  %.str.81.sink5850 = phi ptr [ @.str.81, %12528 ], [ @.str.78, %12524 ]
  store i32 %12519, ptr %288, align 4, !tbaa !5
  %12530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12531 = load i32, ptr @test_count, align 4, !tbaa !5
  %12532 = load i32, ptr %234, align 4, !tbaa !5
  %12533 = call ptr @s2n_strerror(i32 noundef %12532, ptr noundef nonnull @.str.80) #12
  %12534 = load i32, ptr %234, align 4, !tbaa !5
  %12535 = call ptr @s2n_strerror_debug(i32 noundef %12534, ptr noundef nonnull @.str.80) #12
  %12536 = load i32, ptr %288, align 4, !tbaa !5
  %12537 = call ptr @strerror(i32 noundef %12536) #12
  %12538 = load i32, ptr %288, align 4, !tbaa !5
  %12539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12530, ptr noundef nonnull %.str.81.sink5850, i32 noundef %12531, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 1031, ptr noundef %12533, ptr noundef %12535, ptr noundef %12537, i32 noundef %12538) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12540:                                            ; preds = %12514
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %12541 = load i32, ptr @test_count, align 4, !tbaa !5
  %12542 = add nsw i32 %12541, 1
  store i32 %12542, ptr @test_count, align 4, !tbaa !5
  %12543 = getelementptr inbounds i8, ptr %12356, i64 1736
  %12544 = load ptr, ptr %12543, align 8, !tbaa !64
  %12545 = icmp eq ptr %12544, null
  br i1 %12545, label %12568, label %12546

12546:                                            ; preds = %12540
  %12547 = load i32, ptr %288, align 4, !tbaa !5
  %12548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12549 = call i32 @s2n_print_stacktrace(ptr noundef %12548) #12
  %12550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12551 = trunc nuw i8 %12550 to i1
  br i1 %12551, label %12552, label %12556

12552:                                            ; preds = %12546
  %12553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12554 = call i32 @fileno(ptr noundef %12553) #12
  %12555 = call i32 @isatty(i32 noundef %12554) #12
  %.not1574 = icmp eq i32 %12555, 0
  br i1 %.not1574, label %12556, label %12557

12556:                                            ; preds = %12552, %12546
  br label %12557

12557:                                            ; preds = %12552, %12556
  %.str.81.sink5859 = phi ptr [ @.str.81, %12556 ], [ @.str.78, %12552 ]
  store i32 %12547, ptr %288, align 4, !tbaa !5
  %12558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12559 = load i32, ptr @test_count, align 4, !tbaa !5
  %12560 = load i32, ptr %234, align 4, !tbaa !5
  %12561 = call ptr @s2n_strerror(i32 noundef %12560, ptr noundef nonnull @.str.80) #12
  %12562 = load i32, ptr %234, align 4, !tbaa !5
  %12563 = call ptr @s2n_strerror_debug(i32 noundef %12562, ptr noundef nonnull @.str.80) #12
  %12564 = load i32, ptr %288, align 4, !tbaa !5
  %12565 = call ptr @strerror(i32 noundef %12564) #12
  %12566 = load i32, ptr %288, align 4, !tbaa !5
  %12567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12558, ptr noundef nonnull %.str.81.sink5859, i32 noundef %12559, ptr noundef nonnull @.str.333, ptr noundef nonnull @.str.77, i32 noundef 1033, ptr noundef %12561, ptr noundef %12563, ptr noundef %12565, i32 noundef %12566) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12568:                                            ; preds = %12540
  %12569 = add nsw i32 %12541, 2
  store i32 %12569, ptr @test_count, align 4, !tbaa !5
  %12570 = call i32 @s2n_connection_get_negotiated_psk_identity_length(ptr noundef nonnull %12356, ptr noundef nonnull %107)
  %12571 = icmp eq i32 %12570, -1
  br i1 %12571, label %12572, label %12594

12572:                                            ; preds = %12568
  %12573 = load i32, ptr %288, align 4, !tbaa !5
  %12574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12575 = call i32 @s2n_print_stacktrace(ptr noundef %12574) #12
  %12576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12577 = trunc nuw i8 %12576 to i1
  br i1 %12577, label %12578, label %12582

12578:                                            ; preds = %12572
  %12579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12580 = call i32 @fileno(ptr noundef %12579) #12
  %12581 = call i32 @isatty(i32 noundef %12580) #12
  %.not1628 = icmp eq i32 %12581, 0
  br i1 %.not1628, label %12582, label %12583

12582:                                            ; preds = %12578, %12572
  br label %12583

12583:                                            ; preds = %12578, %12582
  %.str.81.sink5868 = phi ptr [ @.str.81, %12582 ], [ @.str.78, %12578 ]
  store i32 %12573, ptr %288, align 4, !tbaa !5
  %12584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12585 = load i32, ptr @test_count, align 4, !tbaa !5
  %12586 = load i32, ptr %234, align 4, !tbaa !5
  %12587 = call ptr @s2n_strerror(i32 noundef %12586, ptr noundef nonnull @.str.80) #12
  %12588 = load i32, ptr %234, align 4, !tbaa !5
  %12589 = call ptr @s2n_strerror_debug(i32 noundef %12588, ptr noundef nonnull @.str.80) #12
  %12590 = load i32, ptr %288, align 4, !tbaa !5
  %12591 = call ptr @strerror(i32 noundef %12590) #12
  %12592 = load i32, ptr %288, align 4, !tbaa !5
  %12593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12584, ptr noundef nonnull %.str.81.sink5868, i32 noundef %12585, ptr noundef nonnull @.str.334, ptr noundef nonnull @.str.77, i32 noundef 1034, ptr noundef %12587, ptr noundef %12589, ptr noundef %12591, i32 noundef %12592) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12594:                                            ; preds = %12568
  %12595 = load i32, ptr @test_count, align 4, !tbaa !5
  %12596 = add nsw i32 %12595, 1
  store i32 %12596, ptr @test_count, align 4, !tbaa !5
  %12597 = load i16, ptr %107, align 2, !tbaa !65
  %12598 = icmp eq i16 %12597, 0
  br i1 %12598, label %12621, label %12599

12599:                                            ; preds = %12594
  %12600 = load i32, ptr %288, align 4, !tbaa !5
  %12601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12602 = call i32 @s2n_print_stacktrace(ptr noundef %12601) #12
  %12603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12604 = trunc nuw i8 %12603 to i1
  br i1 %12604, label %12605, label %12609

12605:                                            ; preds = %12599
  %12606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12607 = call i32 @fileno(ptr noundef %12606) #12
  %12608 = call i32 @isatty(i32 noundef %12607) #12
  %.not1575 = icmp eq i32 %12608, 0
  br i1 %.not1575, label %12609, label %12610

12609:                                            ; preds = %12605, %12599
  br label %12610

12610:                                            ; preds = %12605, %12609
  %.str.81.sink5877 = phi ptr [ @.str.81, %12609 ], [ @.str.78, %12605 ]
  store i32 %12600, ptr %288, align 4, !tbaa !5
  %12611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12612 = load i32, ptr @test_count, align 4, !tbaa !5
  %12613 = load i32, ptr %234, align 4, !tbaa !5
  %12614 = call ptr @s2n_strerror(i32 noundef %12613, ptr noundef nonnull @.str.80) #12
  %12615 = load i32, ptr %234, align 4, !tbaa !5
  %12616 = call ptr @s2n_strerror_debug(i32 noundef %12615, ptr noundef nonnull @.str.80) #12
  %12617 = load i32, ptr %288, align 4, !tbaa !5
  %12618 = call ptr @strerror(i32 noundef %12617) #12
  %12619 = load i32, ptr %288, align 4, !tbaa !5
  %12620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12611, ptr noundef nonnull %.str.81.sink5877, i32 noundef %12612, ptr noundef nonnull @.str.335, ptr noundef nonnull @.str.77, i32 noundef 1035, ptr noundef %12614, ptr noundef %12616, ptr noundef %12618, i32 noundef %12619) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12621:                                            ; preds = %12594
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %108) #12
  %12622 = call ptr @s2n_external_psk_new()
  store ptr %12622, ptr %108, align 8, !tbaa !9
  %12623 = load i32, ptr @test_count, align 4, !tbaa !5
  %12624 = add nsw i32 %12623, 1
  store i32 %12624, ptr @test_count, align 4, !tbaa !5
  %12625 = call i32 @s2n_psk_set_identity(ptr noundef %12622, ptr noundef nonnull %106, i16 noundef zeroext 9)
  %12626 = icmp eq i32 %12625, -1
  br i1 %12626, label %12627, label %12649

12627:                                            ; preds = %12621
  %12628 = load i32, ptr %288, align 4, !tbaa !5
  %12629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12630 = call i32 @s2n_print_stacktrace(ptr noundef %12629) #12
  %12631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12632 = trunc nuw i8 %12631 to i1
  br i1 %12632, label %12633, label %12637

12633:                                            ; preds = %12627
  %12634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12635 = call i32 @fileno(ptr noundef %12634) #12
  %12636 = call i32 @isatty(i32 noundef %12635) #12
  %.not1627 = icmp eq i32 %12636, 0
  br i1 %.not1627, label %12637, label %12638

12637:                                            ; preds = %12633, %12627
  br label %12638

12638:                                            ; preds = %12633, %12637
  %.str.81.sink5886 = phi ptr [ @.str.81, %12637 ], [ @.str.78, %12633 ]
  store i32 %12628, ptr %288, align 4, !tbaa !5
  %12639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12640 = load i32, ptr @test_count, align 4, !tbaa !5
  %12641 = load i32, ptr %234, align 4, !tbaa !5
  %12642 = call ptr @s2n_strerror(i32 noundef %12641, ptr noundef nonnull @.str.80) #12
  %12643 = load i32, ptr %234, align 4, !tbaa !5
  %12644 = call ptr @s2n_strerror_debug(i32 noundef %12643, ptr noundef nonnull @.str.80) #12
  %12645 = load i32, ptr %288, align 4, !tbaa !5
  %12646 = call ptr @strerror(i32 noundef %12645) #12
  %12647 = load i32, ptr %288, align 4, !tbaa !5
  %12648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12639, ptr noundef nonnull %.str.81.sink5886, i32 noundef %12640, ptr noundef nonnull @.str.336, ptr noundef nonnull @.str.77, i32 noundef 1038, ptr noundef %12642, ptr noundef %12644, ptr noundef %12646, i32 noundef %12647) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12649:                                            ; preds = %12621
  %12650 = load ptr, ptr %108, align 8, !tbaa !9
  store ptr %12650, ptr %12543, align 8, !tbaa !64
  %12651 = load i32, ptr @test_count, align 4, !tbaa !5
  %12652 = add nsw i32 %12651, 1
  store i32 %12652, ptr @test_count, align 4, !tbaa !5
  %12653 = call i32 @s2n_connection_get_negotiated_psk_identity_length(ptr noundef nonnull %12356, ptr noundef nonnull %107)
  %12654 = icmp eq i32 %12653, -1
  br i1 %12654, label %12655, label %12677

12655:                                            ; preds = %12649
  %12656 = load i32, ptr %288, align 4, !tbaa !5
  %12657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12658 = call i32 @s2n_print_stacktrace(ptr noundef %12657) #12
  %12659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12660 = trunc nuw i8 %12659 to i1
  br i1 %12660, label %12661, label %12665

12661:                                            ; preds = %12655
  %12662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12663 = call i32 @fileno(ptr noundef %12662) #12
  %12664 = call i32 @isatty(i32 noundef %12663) #12
  %.not1626 = icmp eq i32 %12664, 0
  br i1 %.not1626, label %12665, label %12666

12665:                                            ; preds = %12661, %12655
  br label %12666

12666:                                            ; preds = %12661, %12665
  %.str.81.sink5895 = phi ptr [ @.str.81, %12665 ], [ @.str.78, %12661 ]
  store i32 %12656, ptr %288, align 4, !tbaa !5
  %12667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12668 = load i32, ptr @test_count, align 4, !tbaa !5
  %12669 = load i32, ptr %234, align 4, !tbaa !5
  %12670 = call ptr @s2n_strerror(i32 noundef %12669, ptr noundef nonnull @.str.80) #12
  %12671 = load i32, ptr %234, align 4, !tbaa !5
  %12672 = call ptr @s2n_strerror_debug(i32 noundef %12671, ptr noundef nonnull @.str.80) #12
  %12673 = load i32, ptr %288, align 4, !tbaa !5
  %12674 = call ptr @strerror(i32 noundef %12673) #12
  %12675 = load i32, ptr %288, align 4, !tbaa !5
  %12676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12667, ptr noundef nonnull %.str.81.sink5895, i32 noundef %12668, ptr noundef nonnull @.str.334, ptr noundef nonnull @.str.77, i32 noundef 1040, ptr noundef %12670, ptr noundef %12672, ptr noundef %12674, i32 noundef %12675) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12677:                                            ; preds = %12649
  %12678 = load i32, ptr @test_count, align 4, !tbaa !5
  %12679 = add nsw i32 %12678, 1
  store i32 %12679, ptr @test_count, align 4, !tbaa !5
  %12680 = load i16, ptr %107, align 2, !tbaa !65
  %12681 = icmp eq i16 %12680, 9
  br i1 %12681, label %12704, label %12682

12682:                                            ; preds = %12677
  %12683 = load i32, ptr %288, align 4, !tbaa !5
  %12684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12685 = call i32 @s2n_print_stacktrace(ptr noundef %12684) #12
  %12686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12687 = trunc nuw i8 %12686 to i1
  br i1 %12687, label %12688, label %12692

12688:                                            ; preds = %12682
  %12689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12690 = call i32 @fileno(ptr noundef %12689) #12
  %12691 = call i32 @isatty(i32 noundef %12690) #12
  %.not1576 = icmp eq i32 %12691, 0
  br i1 %.not1576, label %12692, label %12693

12692:                                            ; preds = %12688, %12682
  br label %12693

12693:                                            ; preds = %12688, %12692
  %.str.81.sink5904 = phi ptr [ @.str.81, %12692 ], [ @.str.78, %12688 ]
  store i32 %12683, ptr %288, align 4, !tbaa !5
  %12694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12695 = load i32, ptr @test_count, align 4, !tbaa !5
  %12696 = load i32, ptr %234, align 4, !tbaa !5
  %12697 = call ptr @s2n_strerror(i32 noundef %12696, ptr noundef nonnull @.str.80) #12
  %12698 = load i32, ptr %234, align 4, !tbaa !5
  %12699 = call ptr @s2n_strerror_debug(i32 noundef %12698, ptr noundef nonnull @.str.80) #12
  %12700 = load i32, ptr %288, align 4, !tbaa !5
  %12701 = call ptr @strerror(i32 noundef %12700) #12
  %12702 = load i32, ptr %288, align 4, !tbaa !5
  %12703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12694, ptr noundef nonnull %.str.81.sink5904, i32 noundef %12695, ptr noundef nonnull @.str.337, ptr noundef nonnull @.str.77, i32 noundef 1041, ptr noundef %12697, ptr noundef %12699, ptr noundef %12701, i32 noundef %12702) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12704:                                            ; preds = %12677
  %12705 = add nsw i32 %12678, 2
  store i32 %12705, ptr @test_count, align 4, !tbaa !5
  %12706 = call i32 @s2n_connection_free(ptr noundef nonnull %12356) #12
  %12707 = icmp eq i32 %12706, -1
  br i1 %12707, label %12708, label %12730

12708:                                            ; preds = %12704
  %12709 = load i32, ptr %288, align 4, !tbaa !5
  %12710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12711 = call i32 @s2n_print_stacktrace(ptr noundef %12710) #12
  %12712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12713 = trunc nuw i8 %12712 to i1
  br i1 %12713, label %12714, label %12718

12714:                                            ; preds = %12708
  %12715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12716 = call i32 @fileno(ptr noundef %12715) #12
  %12717 = call i32 @isatty(i32 noundef %12716) #12
  %.not1625 = icmp eq i32 %12717, 0
  br i1 %.not1625, label %12718, label %12719

12718:                                            ; preds = %12714, %12708
  br label %12719

12719:                                            ; preds = %12714, %12718
  %.str.81.sink5913 = phi ptr [ @.str.81, %12718 ], [ @.str.78, %12714 ]
  store i32 %12709, ptr %288, align 4, !tbaa !5
  %12720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12721 = load i32, ptr @test_count, align 4, !tbaa !5
  %12722 = load i32, ptr %234, align 4, !tbaa !5
  %12723 = call ptr @s2n_strerror(i32 noundef %12722, ptr noundef nonnull @.str.80) #12
  %12724 = load i32, ptr %234, align 4, !tbaa !5
  %12725 = call ptr @s2n_strerror_debug(i32 noundef %12724, ptr noundef nonnull @.str.80) #12
  %12726 = load i32, ptr %288, align 4, !tbaa !5
  %12727 = call ptr @strerror(i32 noundef %12726) #12
  %12728 = load i32, ptr %288, align 4, !tbaa !5
  %12729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12720, ptr noundef nonnull %.str.81.sink5913, i32 noundef %12721, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 1043, ptr noundef %12723, ptr noundef %12725, ptr noundef %12727, i32 noundef %12728) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12730:                                            ; preds = %12704
  %12731 = call i32 @s2n_psk_free(ptr noundef nonnull %108)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %108) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %107) #12
  call void @llvm.lifetime.end.p0(i64 9, ptr nonnull %106) #12
  call void @llvm.lifetime.start.p0(i64 9, ptr nonnull %109) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %109, ptr noundef nonnull align 1 dereferenceable(9) @__const.main.psk_identity.338, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 9, ptr nonnull %110) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %110, i8 0, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 9, ptr nonnull %111) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %111, i8 0, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %112) #12
  store i16 0, ptr %112, align 2, !tbaa !65
  %12732 = load i32, ptr @test_count, align 4, !tbaa !5
  %12733 = add nsw i32 %12732, 1
  store i32 %12733, ptr @test_count, align 4, !tbaa !5
  %12734 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %12735 = icmp eq ptr %12734, null
  br i1 %12735, label %12736, label %12758

12736:                                            ; preds = %12730
  %12737 = load i32, ptr %288, align 4, !tbaa !5
  %12738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12739 = call i32 @s2n_print_stacktrace(ptr noundef %12738) #12
  %12740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12741 = trunc nuw i8 %12740 to i1
  br i1 %12741, label %12742, label %12746

12742:                                            ; preds = %12736
  %12743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12744 = call i32 @fileno(ptr noundef %12743) #12
  %12745 = call i32 @isatty(i32 noundef %12744) #12
  %.not1624 = icmp eq i32 %12745, 0
  br i1 %.not1624, label %12746, label %12747

12746:                                            ; preds = %12742, %12736
  br label %12747

12747:                                            ; preds = %12742, %12746
  %.str.81.sink5922 = phi ptr [ @.str.81, %12746 ], [ @.str.78, %12742 ]
  store i32 %12737, ptr %288, align 4, !tbaa !5
  %12748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12749 = load i32, ptr @test_count, align 4, !tbaa !5
  %12750 = load i32, ptr %234, align 4, !tbaa !5
  %12751 = call ptr @s2n_strerror(i32 noundef %12750, ptr noundef nonnull @.str.80) #12
  %12752 = load i32, ptr %234, align 4, !tbaa !5
  %12753 = call ptr @s2n_strerror_debug(i32 noundef %12752, ptr noundef nonnull @.str.80) #12
  %12754 = load i32, ptr %288, align 4, !tbaa !5
  %12755 = call ptr @strerror(i32 noundef %12754) #12
  %12756 = load i32, ptr %288, align 4, !tbaa !5
  %12757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12748, ptr noundef nonnull %.str.81.sink5922, i32 noundef %12749, ptr noundef nonnull @.str.290, ptr noundef nonnull @.str.77, i32 noundef 1054, ptr noundef %12751, ptr noundef %12753, ptr noundef %12755, i32 noundef %12756) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12758:                                            ; preds = %12730
  %12759 = load i32, ptr @test_count, align 4, !tbaa !5
  %12760 = add nsw i32 %12759, 1
  store i32 %12760, ptr @test_count, align 4, !tbaa !5
  %12761 = load i16, ptr %112, align 2, !tbaa !65
  %12762 = call i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef null, ptr noundef nonnull %111, i16 noundef zeroext %12761)
  %12763 = icmp eq i32 %12762, -1
  br i1 %12763, label %12786, label %12764

12764:                                            ; preds = %12758
  %12765 = load i32, ptr %288, align 4, !tbaa !5
  %12766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12767 = call i32 @s2n_print_stacktrace(ptr noundef %12766) #12
  %12768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12769 = trunc nuw i8 %12768 to i1
  br i1 %12769, label %12770, label %12774

12770:                                            ; preds = %12764
  %12771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12772 = call i32 @fileno(ptr noundef %12771) #12
  %12773 = call i32 @isatty(i32 noundef %12772) #12
  %.not1577 = icmp eq i32 %12773, 0
  br i1 %.not1577, label %12774, label %12775

12774:                                            ; preds = %12770, %12764
  br label %12775

12775:                                            ; preds = %12770, %12774
  %.str.81.sink5931 = phi ptr [ @.str.81, %12774 ], [ @.str.78, %12770 ]
  store i32 %12765, ptr %288, align 4, !tbaa !5
  %12776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12777 = load i32, ptr @test_count, align 4, !tbaa !5
  %12778 = load i32, ptr %234, align 4, !tbaa !5
  %12779 = call ptr @s2n_strerror(i32 noundef %12778, ptr noundef nonnull @.str.80) #12
  %12780 = load i32, ptr %234, align 4, !tbaa !5
  %12781 = call ptr @s2n_strerror_debug(i32 noundef %12780, ptr noundef nonnull @.str.80) #12
  %12782 = load i32, ptr %288, align 4, !tbaa !5
  %12783 = call ptr @strerror(i32 noundef %12782) #12
  %12784 = load i32, ptr %288, align 4, !tbaa !5
  %12785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12776, ptr noundef nonnull %.str.81.sink5931, i32 noundef %12777, ptr noundef nonnull @.str.339, ptr noundef nonnull @.str.77, i32 noundef 1056, ptr noundef %12779, ptr noundef %12781, ptr noundef %12783, i32 noundef %12784) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12786:                                            ; preds = %12758
  %12787 = load i32, ptr @test_count, align 4, !tbaa !5
  %12788 = add nsw i32 %12787, 1
  store i32 %12788, ptr @test_count, align 4, !tbaa !5
  %12789 = load i32, ptr %234, align 4, !tbaa !5
  %12790 = icmp eq i32 %12789, 402653193
  br i1 %12790, label %12813, label %12791

12791:                                            ; preds = %12786
  %12792 = load i32, ptr %288, align 4, !tbaa !5
  %12793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12794 = call i32 @s2n_print_stacktrace(ptr noundef %12793) #12
  %12795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12796 = trunc nuw i8 %12795 to i1
  br i1 %12796, label %12797, label %12801

12797:                                            ; preds = %12791
  %12798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12799 = call i32 @fileno(ptr noundef %12798) #12
  %12800 = call i32 @isatty(i32 noundef %12799) #12
  %.not1578 = icmp eq i32 %12800, 0
  br i1 %.not1578, label %12801, label %12802

12801:                                            ; preds = %12797, %12791
  br label %12802

12802:                                            ; preds = %12797, %12801
  %.str.81.sink5940 = phi ptr [ @.str.81, %12801 ], [ @.str.78, %12797 ]
  store i32 %12792, ptr %288, align 4, !tbaa !5
  %12803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12804 = load i32, ptr @test_count, align 4, !tbaa !5
  %12805 = load i32, ptr %234, align 4, !tbaa !5
  %12806 = call ptr @s2n_strerror(i32 noundef %12805, ptr noundef nonnull @.str.80) #12
  %12807 = load i32, ptr %234, align 4, !tbaa !5
  %12808 = call ptr @s2n_strerror_debug(i32 noundef %12807, ptr noundef nonnull @.str.80) #12
  %12809 = load i32, ptr %288, align 4, !tbaa !5
  %12810 = call ptr @strerror(i32 noundef %12809) #12
  %12811 = load i32, ptr %288, align 4, !tbaa !5
  %12812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12803, ptr noundef nonnull %.str.81.sink5940, i32 noundef %12804, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 1056, ptr noundef %12806, ptr noundef %12808, ptr noundef %12810, i32 noundef %12811) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12813:                                            ; preds = %12786
  %12814 = add nsw i32 %12787, 2
  store i32 %12814, ptr @test_count, align 4, !tbaa !5
  %12815 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %12816 = icmp eq ptr %12815, null
  br i1 %12816, label %12817, label %12839

12817:                                            ; preds = %12813
  %12818 = load i32, ptr %288, align 4, !tbaa !5
  %12819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12820 = call i32 @s2n_print_stacktrace(ptr noundef %12819) #12
  %12821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12822 = trunc nuw i8 %12821 to i1
  br i1 %12822, label %12823, label %12827

12823:                                            ; preds = %12817
  %12824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12825 = call i32 @fileno(ptr noundef %12824) #12
  %12826 = call i32 @isatty(i32 noundef %12825) #12
  %.not1623 = icmp eq i32 %12826, 0
  br i1 %.not1623, label %12827, label %12828

12827:                                            ; preds = %12823, %12817
  br label %12828

12828:                                            ; preds = %12823, %12827
  %.str.81.sink5949 = phi ptr [ @.str.81, %12827 ], [ @.str.78, %12823 ]
  store i32 %12818, ptr %288, align 4, !tbaa !5
  %12829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12830 = load i32, ptr @test_count, align 4, !tbaa !5
  %12831 = load i32, ptr %234, align 4, !tbaa !5
  %12832 = call ptr @s2n_strerror(i32 noundef %12831, ptr noundef nonnull @.str.80) #12
  %12833 = load i32, ptr %234, align 4, !tbaa !5
  %12834 = call ptr @s2n_strerror_debug(i32 noundef %12833, ptr noundef nonnull @.str.80) #12
  %12835 = load i32, ptr %288, align 4, !tbaa !5
  %12836 = call ptr @strerror(i32 noundef %12835) #12
  %12837 = load i32, ptr %288, align 4, !tbaa !5
  %12838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12829, ptr noundef nonnull %.str.81.sink5949, i32 noundef %12830, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 1056, ptr noundef %12832, ptr noundef %12834, ptr noundef %12836, i32 noundef %12837) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12839:                                            ; preds = %12813
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %12840 = load i32, ptr @test_count, align 4, !tbaa !5
  %12841 = add nsw i32 %12840, 1
  store i32 %12841, ptr @test_count, align 4, !tbaa !5
  %12842 = load i16, ptr %112, align 2, !tbaa !65
  %12843 = call i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef nonnull %12734, ptr noundef null, i16 noundef zeroext %12842)
  %12844 = icmp eq i32 %12843, -1
  br i1 %12844, label %12867, label %12845

12845:                                            ; preds = %12839
  %12846 = load i32, ptr %288, align 4, !tbaa !5
  %12847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12848 = call i32 @s2n_print_stacktrace(ptr noundef %12847) #12
  %12849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12850 = trunc nuw i8 %12849 to i1
  br i1 %12850, label %12851, label %12855

12851:                                            ; preds = %12845
  %12852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12853 = call i32 @fileno(ptr noundef %12852) #12
  %12854 = call i32 @isatty(i32 noundef %12853) #12
  %.not1579 = icmp eq i32 %12854, 0
  br i1 %.not1579, label %12855, label %12856

12855:                                            ; preds = %12851, %12845
  br label %12856

12856:                                            ; preds = %12851, %12855
  %.str.81.sink5958 = phi ptr [ @.str.81, %12855 ], [ @.str.78, %12851 ]
  store i32 %12846, ptr %288, align 4, !tbaa !5
  %12857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12858 = load i32, ptr @test_count, align 4, !tbaa !5
  %12859 = load i32, ptr %234, align 4, !tbaa !5
  %12860 = call ptr @s2n_strerror(i32 noundef %12859, ptr noundef nonnull @.str.80) #12
  %12861 = load i32, ptr %234, align 4, !tbaa !5
  %12862 = call ptr @s2n_strerror_debug(i32 noundef %12861, ptr noundef nonnull @.str.80) #12
  %12863 = load i32, ptr %288, align 4, !tbaa !5
  %12864 = call ptr @strerror(i32 noundef %12863) #12
  %12865 = load i32, ptr %288, align 4, !tbaa !5
  %12866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12857, ptr noundef nonnull %.str.81.sink5958, i32 noundef %12858, ptr noundef nonnull @.str.340, ptr noundef nonnull @.str.77, i32 noundef 1057, ptr noundef %12860, ptr noundef %12862, ptr noundef %12864, i32 noundef %12865) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12867:                                            ; preds = %12839
  %12868 = load i32, ptr @test_count, align 4, !tbaa !5
  %12869 = add nsw i32 %12868, 1
  store i32 %12869, ptr @test_count, align 4, !tbaa !5
  %12870 = load i32, ptr %234, align 4, !tbaa !5
  %12871 = icmp eq i32 %12870, 402653193
  br i1 %12871, label %12894, label %12872

12872:                                            ; preds = %12867
  %12873 = load i32, ptr %288, align 4, !tbaa !5
  %12874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12875 = call i32 @s2n_print_stacktrace(ptr noundef %12874) #12
  %12876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12877 = trunc nuw i8 %12876 to i1
  br i1 %12877, label %12878, label %12882

12878:                                            ; preds = %12872
  %12879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12880 = call i32 @fileno(ptr noundef %12879) #12
  %12881 = call i32 @isatty(i32 noundef %12880) #12
  %.not1580 = icmp eq i32 %12881, 0
  br i1 %.not1580, label %12882, label %12883

12882:                                            ; preds = %12878, %12872
  br label %12883

12883:                                            ; preds = %12878, %12882
  %.str.81.sink5967 = phi ptr [ @.str.81, %12882 ], [ @.str.78, %12878 ]
  store i32 %12873, ptr %288, align 4, !tbaa !5
  %12884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12885 = load i32, ptr @test_count, align 4, !tbaa !5
  %12886 = load i32, ptr %234, align 4, !tbaa !5
  %12887 = call ptr @s2n_strerror(i32 noundef %12886, ptr noundef nonnull @.str.80) #12
  %12888 = load i32, ptr %234, align 4, !tbaa !5
  %12889 = call ptr @s2n_strerror_debug(i32 noundef %12888, ptr noundef nonnull @.str.80) #12
  %12890 = load i32, ptr %288, align 4, !tbaa !5
  %12891 = call ptr @strerror(i32 noundef %12890) #12
  %12892 = load i32, ptr %288, align 4, !tbaa !5
  %12893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12884, ptr noundef nonnull %.str.81.sink5967, i32 noundef %12885, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 1057, ptr noundef %12887, ptr noundef %12889, ptr noundef %12891, i32 noundef %12892) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12894:                                            ; preds = %12867
  %12895 = add nsw i32 %12868, 2
  store i32 %12895, ptr @test_count, align 4, !tbaa !5
  %12896 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %12897 = icmp eq ptr %12896, null
  br i1 %12897, label %12898, label %12920

12898:                                            ; preds = %12894
  %12899 = load i32, ptr %288, align 4, !tbaa !5
  %12900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12901 = call i32 @s2n_print_stacktrace(ptr noundef %12900) #12
  %12902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12903 = trunc nuw i8 %12902 to i1
  br i1 %12903, label %12904, label %12908

12904:                                            ; preds = %12898
  %12905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12906 = call i32 @fileno(ptr noundef %12905) #12
  %12907 = call i32 @isatty(i32 noundef %12906) #12
  %.not1622 = icmp eq i32 %12907, 0
  br i1 %.not1622, label %12908, label %12909

12908:                                            ; preds = %12904, %12898
  br label %12909

12909:                                            ; preds = %12904, %12908
  %.str.81.sink5976 = phi ptr [ @.str.81, %12908 ], [ @.str.78, %12904 ]
  store i32 %12899, ptr %288, align 4, !tbaa !5
  %12910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12911 = load i32, ptr @test_count, align 4, !tbaa !5
  %12912 = load i32, ptr %234, align 4, !tbaa !5
  %12913 = call ptr @s2n_strerror(i32 noundef %12912, ptr noundef nonnull @.str.80) #12
  %12914 = load i32, ptr %234, align 4, !tbaa !5
  %12915 = call ptr @s2n_strerror_debug(i32 noundef %12914, ptr noundef nonnull @.str.80) #12
  %12916 = load i32, ptr %288, align 4, !tbaa !5
  %12917 = call ptr @strerror(i32 noundef %12916) #12
  %12918 = load i32, ptr %288, align 4, !tbaa !5
  %12919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12910, ptr noundef nonnull %.str.81.sink5976, i32 noundef %12911, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 1057, ptr noundef %12913, ptr noundef %12915, ptr noundef %12917, i32 noundef %12918) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12920:                                            ; preds = %12894
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %12921 = load i32, ptr @test_count, align 4, !tbaa !5
  %12922 = add nsw i32 %12921, 1
  store i32 %12922, ptr @test_count, align 4, !tbaa !5
  %12923 = getelementptr inbounds i8, ptr %12734, i64 1736
  %12924 = load ptr, ptr %12923, align 8, !tbaa !64
  %12925 = icmp eq ptr %12924, null
  br i1 %12925, label %12948, label %12926

12926:                                            ; preds = %12920
  %12927 = load i32, ptr %288, align 4, !tbaa !5
  %12928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12929 = call i32 @s2n_print_stacktrace(ptr noundef %12928) #12
  %12930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12931 = trunc nuw i8 %12930 to i1
  br i1 %12931, label %12932, label %12936

12932:                                            ; preds = %12926
  %12933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12934 = call i32 @fileno(ptr noundef %12933) #12
  %12935 = call i32 @isatty(i32 noundef %12934) #12
  %.not1581 = icmp eq i32 %12935, 0
  br i1 %.not1581, label %12936, label %12937

12936:                                            ; preds = %12932, %12926
  br label %12937

12937:                                            ; preds = %12932, %12936
  %.str.81.sink5985 = phi ptr [ @.str.81, %12936 ], [ @.str.78, %12932 ]
  store i32 %12927, ptr %288, align 4, !tbaa !5
  %12938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12939 = load i32, ptr @test_count, align 4, !tbaa !5
  %12940 = load i32, ptr %234, align 4, !tbaa !5
  %12941 = call ptr @s2n_strerror(i32 noundef %12940, ptr noundef nonnull @.str.80) #12
  %12942 = load i32, ptr %234, align 4, !tbaa !5
  %12943 = call ptr @s2n_strerror_debug(i32 noundef %12942, ptr noundef nonnull @.str.80) #12
  %12944 = load i32, ptr %288, align 4, !tbaa !5
  %12945 = call ptr @strerror(i32 noundef %12944) #12
  %12946 = load i32, ptr %288, align 4, !tbaa !5
  %12947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12938, ptr noundef nonnull %.str.81.sink5985, i32 noundef %12939, ptr noundef nonnull @.str.333, ptr noundef nonnull @.str.77, i32 noundef 1059, ptr noundef %12941, ptr noundef %12943, ptr noundef %12945, i32 noundef %12946) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12948:                                            ; preds = %12920
  %12949 = add nsw i32 %12921, 2
  store i32 %12949, ptr @test_count, align 4, !tbaa !5
  %12950 = load i16, ptr %112, align 2, !tbaa !65
  %12951 = call i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef nonnull %12734, ptr noundef nonnull %111, i16 noundef zeroext %12950)
  %12952 = icmp eq i32 %12951, -1
  br i1 %12952, label %12953, label %12975

12953:                                            ; preds = %12948
  %12954 = load i32, ptr %288, align 4, !tbaa !5
  %12955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12956 = call i32 @s2n_print_stacktrace(ptr noundef %12955) #12
  %12957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12958 = trunc nuw i8 %12957 to i1
  br i1 %12958, label %12959, label %12963

12959:                                            ; preds = %12953
  %12960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12961 = call i32 @fileno(ptr noundef %12960) #12
  %12962 = call i32 @isatty(i32 noundef %12961) #12
  %.not1621 = icmp eq i32 %12962, 0
  br i1 %.not1621, label %12963, label %12964

12963:                                            ; preds = %12959, %12953
  br label %12964

12964:                                            ; preds = %12959, %12963
  %.str.81.sink5994 = phi ptr [ @.str.81, %12963 ], [ @.str.78, %12959 ]
  store i32 %12954, ptr %288, align 4, !tbaa !5
  %12965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12966 = load i32, ptr @test_count, align 4, !tbaa !5
  %12967 = load i32, ptr %234, align 4, !tbaa !5
  %12968 = call ptr @s2n_strerror(i32 noundef %12967, ptr noundef nonnull @.str.80) #12
  %12969 = load i32, ptr %234, align 4, !tbaa !5
  %12970 = call ptr @s2n_strerror_debug(i32 noundef %12969, ptr noundef nonnull @.str.80) #12
  %12971 = load i32, ptr %288, align 4, !tbaa !5
  %12972 = call ptr @strerror(i32 noundef %12971) #12
  %12973 = load i32, ptr %288, align 4, !tbaa !5
  %12974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12965, ptr noundef nonnull %.str.81.sink5994, i32 noundef %12966, ptr noundef nonnull @.str.341, ptr noundef nonnull @.str.77, i32 noundef 1060, ptr noundef %12968, ptr noundef %12970, ptr noundef %12972, i32 noundef %12973) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12975:                                            ; preds = %12948
  %12976 = load i32, ptr @test_count, align 4, !tbaa !5
  %12977 = add nsw i32 %12976, 1
  store i32 %12977, ptr @test_count, align 4, !tbaa !5
  %12978 = load i16, ptr %112, align 2, !tbaa !65
  %12979 = icmp eq i16 %12978, 0
  br i1 %12979, label %13002, label %12980

12980:                                            ; preds = %12975
  %12981 = load i32, ptr %288, align 4, !tbaa !5
  %12982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12983 = call i32 @s2n_print_stacktrace(ptr noundef %12982) #12
  %12984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12985 = trunc nuw i8 %12984 to i1
  br i1 %12985, label %12986, label %12990

12986:                                            ; preds = %12980
  %12987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12988 = call i32 @fileno(ptr noundef %12987) #12
  %12989 = call i32 @isatty(i32 noundef %12988) #12
  %.not1582 = icmp eq i32 %12989, 0
  br i1 %.not1582, label %12990, label %12991

12990:                                            ; preds = %12986, %12980
  br label %12991

12991:                                            ; preds = %12986, %12990
  %.str.81.sink6003 = phi ptr [ @.str.81, %12990 ], [ @.str.78, %12986 ]
  store i32 %12981, ptr %288, align 4, !tbaa !5
  %12992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12993 = load i32, ptr @test_count, align 4, !tbaa !5
  %12994 = load i32, ptr %234, align 4, !tbaa !5
  %12995 = call ptr @s2n_strerror(i32 noundef %12994, ptr noundef nonnull @.str.80) #12
  %12996 = load i32, ptr %234, align 4, !tbaa !5
  %12997 = call ptr @s2n_strerror_debug(i32 noundef %12996, ptr noundef nonnull @.str.80) #12
  %12998 = load i32, ptr %288, align 4, !tbaa !5
  %12999 = call ptr @strerror(i32 noundef %12998) #12
  %13000 = load i32, ptr %288, align 4, !tbaa !5
  %13001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12992, ptr noundef nonnull %.str.81.sink6003, i32 noundef %12993, ptr noundef nonnull @.str.342, ptr noundef nonnull @.str.77, i32 noundef 1061, ptr noundef %12995, ptr noundef %12997, ptr noundef %12999, i32 noundef %13000) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13002:                                            ; preds = %12975
  %13003 = add nsw i32 %12976, 2
  store i32 %13003, ptr @test_count, align 4, !tbaa !5
  %bcmp1583 = call i32 @bcmp(ptr noundef nonnull dereferenceable(9) %111, ptr noundef nonnull dereferenceable(9) %110, i64 9)
  %13004 = icmp eq i32 %bcmp1583, 0
  br i1 %13004, label %13027, label %13005

13005:                                            ; preds = %13002
  %13006 = load i32, ptr %288, align 4, !tbaa !5
  %13007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13008 = call i32 @s2n_print_stacktrace(ptr noundef %13007) #12
  %13009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13010 = trunc nuw i8 %13009 to i1
  br i1 %13010, label %13011, label %13015

13011:                                            ; preds = %13005
  %13012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13013 = call i32 @fileno(ptr noundef %13012) #12
  %13014 = call i32 @isatty(i32 noundef %13013) #12
  %.not1584 = icmp eq i32 %13014, 0
  br i1 %.not1584, label %13015, label %13016

13015:                                            ; preds = %13011, %13005
  br label %13016

13016:                                            ; preds = %13011, %13015
  %.str.81.sink6012 = phi ptr [ @.str.81, %13015 ], [ @.str.78, %13011 ]
  store i32 %13006, ptr %288, align 4, !tbaa !5
  %13017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13018 = load i32, ptr @test_count, align 4, !tbaa !5
  %13019 = load i32, ptr %234, align 4, !tbaa !5
  %13020 = call ptr @s2n_strerror(i32 noundef %13019, ptr noundef nonnull @.str.80) #12
  %13021 = load i32, ptr %234, align 4, !tbaa !5
  %13022 = call ptr @s2n_strerror_debug(i32 noundef %13021, ptr noundef nonnull @.str.80) #12
  %13023 = load i32, ptr %288, align 4, !tbaa !5
  %13024 = call ptr @strerror(i32 noundef %13023) #12
  %13025 = load i32, ptr %288, align 4, !tbaa !5
  %13026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13017, ptr noundef nonnull %.str.81.sink6012, i32 noundef %13018, ptr noundef nonnull @.str.343, ptr noundef nonnull @.str.77, i32 noundef 1062, ptr noundef %13020, ptr noundef %13022, ptr noundef %13024, i32 noundef %13025) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13027:                                            ; preds = %13002
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %113) #12
  %13028 = call ptr @s2n_external_psk_new()
  store ptr %13028, ptr %113, align 8, !tbaa !9
  %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 = call i32 @s2n_psk_set_identity(ptr noundef %13028, ptr noundef nonnull %109, i16 noundef zeroext 9)
  %13032 = icmp eq i32 %13031, -1
  br i1 %13032, label %13033, label %13055

13033:                                            ; preds = %13027
  %13034 = load i32, ptr %288, align 4, !tbaa !5
  %13035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13036 = call i32 @s2n_print_stacktrace(ptr noundef %13035) #12
  %13037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13038 = trunc nuw i8 %13037 to i1
  br i1 %13038, label %13039, label %13043

13039:                                            ; preds = %13033
  %13040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13041 = call i32 @fileno(ptr noundef %13040) #12
  %13042 = call i32 @isatty(i32 noundef %13041) #12
  %.not1620 = icmp eq i32 %13042, 0
  br i1 %.not1620, label %13043, label %13044

13043:                                            ; preds = %13039, %13033
  br label %13044

13044:                                            ; preds = %13039, %13043
  %.str.81.sink6021 = phi ptr [ @.str.81, %13043 ], [ @.str.78, %13039 ]
  store i32 %13034, ptr %288, align 4, !tbaa !5
  %13045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13046 = load i32, ptr @test_count, align 4, !tbaa !5
  %13047 = load i32, ptr %234, align 4, !tbaa !5
  %13048 = call ptr @s2n_strerror(i32 noundef %13047, ptr noundef nonnull @.str.80) #12
  %13049 = load i32, ptr %234, align 4, !tbaa !5
  %13050 = call ptr @s2n_strerror_debug(i32 noundef %13049, ptr noundef nonnull @.str.80) #12
  %13051 = load i32, ptr %288, align 4, !tbaa !5
  %13052 = call ptr @strerror(i32 noundef %13051) #12
  %13053 = load i32, ptr %288, align 4, !tbaa !5
  %13054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13045, ptr noundef nonnull %.str.81.sink6021, i32 noundef %13046, ptr noundef nonnull @.str.336, ptr noundef nonnull @.str.77, i32 noundef 1065, ptr noundef %13048, ptr noundef %13050, ptr noundef %13052, i32 noundef %13053) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13055:                                            ; preds = %13027
  %13056 = load ptr, ptr %113, align 8, !tbaa !9
  store ptr %13056, ptr %12923, align 8, !tbaa !64
  %13057 = load i32, ptr @test_count, align 4, !tbaa !5
  %13058 = add nsw i32 %13057, 1
  store i32 %13058, ptr @test_count, align 4, !tbaa !5
  %13059 = call i32 @s2n_connection_get_negotiated_psk_identity_length(ptr noundef nonnull %12734, ptr noundef nonnull %112)
  %13060 = icmp eq i32 %13059, -1
  br i1 %13060, label %13061, label %13083

13061:                                            ; preds = %13055
  %13062 = load i32, ptr %288, align 4, !tbaa !5
  %13063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13064 = call i32 @s2n_print_stacktrace(ptr noundef %13063) #12
  %13065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13066 = trunc nuw i8 %13065 to i1
  br i1 %13066, label %13067, label %13071

13067:                                            ; preds = %13061
  %13068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13069 = call i32 @fileno(ptr noundef %13068) #12
  %13070 = call i32 @isatty(i32 noundef %13069) #12
  %.not1619 = icmp eq i32 %13070, 0
  br i1 %.not1619, label %13071, label %13072

13071:                                            ; preds = %13067, %13061
  br label %13072

13072:                                            ; preds = %13067, %13071
  %.str.81.sink6030 = phi ptr [ @.str.81, %13071 ], [ @.str.78, %13067 ]
  store i32 %13062, ptr %288, align 4, !tbaa !5
  %13073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13074 = load i32, ptr @test_count, align 4, !tbaa !5
  %13075 = load i32, ptr %234, align 4, !tbaa !5
  %13076 = call ptr @s2n_strerror(i32 noundef %13075, ptr noundef nonnull @.str.80) #12
  %13077 = load i32, ptr %234, align 4, !tbaa !5
  %13078 = call ptr @s2n_strerror_debug(i32 noundef %13077, ptr noundef nonnull @.str.80) #12
  %13079 = load i32, ptr %288, align 4, !tbaa !5
  %13080 = call ptr @strerror(i32 noundef %13079) #12
  %13081 = load i32, ptr %288, align 4, !tbaa !5
  %13082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13073, ptr noundef nonnull %.str.81.sink6030, i32 noundef %13074, ptr noundef nonnull @.str.344, ptr noundef nonnull @.str.77, i32 noundef 1067, ptr noundef %13076, ptr noundef %13078, ptr noundef %13080, i32 noundef %13081) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13083:                                            ; preds = %13055
  %13084 = load i32, ptr @test_count, align 4, !tbaa !5
  %13085 = add nsw i32 %13084, 1
  store i32 %13085, ptr @test_count, align 4, !tbaa !5
  %13086 = load i16, ptr %112, align 2, !tbaa !65
  %13087 = call i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef nonnull %12734, ptr noundef nonnull %111, i16 noundef zeroext %13086)
  %13088 = icmp eq i32 %13087, -1
  br i1 %13088, label %13089, label %13111

13089:                                            ; preds = %13083
  %13090 = load i32, ptr %288, align 4, !tbaa !5
  %13091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13092 = call i32 @s2n_print_stacktrace(ptr noundef %13091) #12
  %13093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13094 = trunc nuw i8 %13093 to i1
  br i1 %13094, label %13095, label %13099

13095:                                            ; preds = %13089
  %13096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13097 = call i32 @fileno(ptr noundef %13096) #12
  %13098 = call i32 @isatty(i32 noundef %13097) #12
  %.not1618 = icmp eq i32 %13098, 0
  br i1 %.not1618, label %13099, label %13100

13099:                                            ; preds = %13095, %13089
  br label %13100

13100:                                            ; preds = %13095, %13099
  %.str.81.sink6039 = phi ptr [ @.str.81, %13099 ], [ @.str.78, %13095 ]
  store i32 %13090, ptr %288, align 4, !tbaa !5
  %13101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13102 = load i32, ptr @test_count, align 4, !tbaa !5
  %13103 = load i32, ptr %234, align 4, !tbaa !5
  %13104 = call ptr @s2n_strerror(i32 noundef %13103, ptr noundef nonnull @.str.80) #12
  %13105 = load i32, ptr %234, align 4, !tbaa !5
  %13106 = call ptr @s2n_strerror_debug(i32 noundef %13105, ptr noundef nonnull @.str.80) #12
  %13107 = load i32, ptr %288, align 4, !tbaa !5
  %13108 = call ptr @strerror(i32 noundef %13107) #12
  %13109 = load i32, ptr %288, align 4, !tbaa !5
  %13110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13101, ptr noundef nonnull %.str.81.sink6039, i32 noundef %13102, ptr noundef nonnull @.str.341, ptr noundef nonnull @.str.77, i32 noundef 1068, ptr noundef %13104, ptr noundef %13106, ptr noundef %13108, i32 noundef %13109) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13111:                                            ; preds = %13083
  %13112 = load i32, ptr @test_count, align 4, !tbaa !5
  %13113 = add nsw i32 %13112, 1
  store i32 %13113, ptr @test_count, align 4, !tbaa !5
  %bcmp1585 = call i32 @bcmp(ptr noundef nonnull dereferenceable(9) %111, ptr noundef nonnull dereferenceable(9) %109, i64 9)
  %13114 = icmp eq i32 %bcmp1585, 0
  br i1 %13114, label %13137, label %13115

13115:                                            ; preds = %13111
  %13116 = load i32, ptr %288, align 4, !tbaa !5
  %13117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13118 = call i32 @s2n_print_stacktrace(ptr noundef %13117) #12
  %13119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13120 = trunc nuw i8 %13119 to i1
  br i1 %13120, label %13121, label %13125

13121:                                            ; preds = %13115
  %13122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13123 = call i32 @fileno(ptr noundef %13122) #12
  %13124 = call i32 @isatty(i32 noundef %13123) #12
  %.not1586 = icmp eq i32 %13124, 0
  br i1 %.not1586, label %13125, label %13126

13125:                                            ; preds = %13121, %13115
  br label %13126

13126:                                            ; preds = %13121, %13125
  %.str.81.sink6048 = phi ptr [ @.str.81, %13125 ], [ @.str.78, %13121 ]
  store i32 %13116, ptr %288, align 4, !tbaa !5
  %13127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13128 = load i32, ptr @test_count, align 4, !tbaa !5
  %13129 = load i32, ptr %234, align 4, !tbaa !5
  %13130 = call ptr @s2n_strerror(i32 noundef %13129, ptr noundef nonnull @.str.80) #12
  %13131 = load i32, ptr %234, align 4, !tbaa !5
  %13132 = call ptr @s2n_strerror_debug(i32 noundef %13131, ptr noundef nonnull @.str.80) #12
  %13133 = load i32, ptr %288, align 4, !tbaa !5
  %13134 = call ptr @strerror(i32 noundef %13133) #12
  %13135 = load i32, ptr %288, align 4, !tbaa !5
  %13136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13127, ptr noundef nonnull %.str.81.sink6048, i32 noundef %13128, ptr noundef nonnull @.str.345, ptr noundef nonnull @.str.77, i32 noundef 1069, ptr noundef %13130, ptr noundef %13132, ptr noundef %13134, i32 noundef %13135) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13137:                                            ; preds = %13111
  %13138 = add nsw i32 %13112, 2
  store i32 %13138, ptr @test_count, align 4, !tbaa !5
  %13139 = call i32 @s2n_connection_get_negotiated_psk_identity(ptr noundef nonnull %12734, ptr noundef nonnull %111, i16 noundef zeroext 0)
  %13140 = icmp eq i32 %13139, -1
  br i1 %13140, label %13163, label %13141

13141:                                            ; preds = %13137
  %13142 = load i32, ptr %288, align 4, !tbaa !5
  %13143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13144 = call i32 @s2n_print_stacktrace(ptr noundef %13143) #12
  %13145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13146 = trunc nuw i8 %13145 to i1
  br i1 %13146, label %13147, label %13151

13147:                                            ; preds = %13141
  %13148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13149 = call i32 @fileno(ptr noundef %13148) #12
  %13150 = call i32 @isatty(i32 noundef %13149) #12
  %.not1587 = icmp eq i32 %13150, 0
  br i1 %.not1587, label %13151, label %13152

13151:                                            ; preds = %13147, %13141
  br label %13152

13152:                                            ; preds = %13147, %13151
  %.str.81.sink6057 = phi ptr [ @.str.81, %13151 ], [ @.str.78, %13147 ]
  store i32 %13142, ptr %288, align 4, !tbaa !5
  %13153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13154 = load i32, ptr @test_count, align 4, !tbaa !5
  %13155 = load i32, ptr %234, align 4, !tbaa !5
  %13156 = call ptr @s2n_strerror(i32 noundef %13155, ptr noundef nonnull @.str.80) #12
  %13157 = load i32, ptr %234, align 4, !tbaa !5
  %13158 = call ptr @s2n_strerror_debug(i32 noundef %13157, ptr noundef nonnull @.str.80) #12
  %13159 = load i32, ptr %288, align 4, !tbaa !5
  %13160 = call ptr @strerror(i32 noundef %13159) #12
  %13161 = load i32, ptr %288, align 4, !tbaa !5
  %13162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13153, ptr noundef nonnull %.str.81.sink6057, i32 noundef %13154, ptr noundef nonnull @.str.346, ptr noundef nonnull @.str.77, i32 noundef 1071, ptr noundef %13156, ptr noundef %13158, ptr noundef %13160, i32 noundef %13161) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13163:                                            ; preds = %13137
  %13164 = load i32, ptr @test_count, align 4, !tbaa !5
  %13165 = add nsw i32 %13164, 1
  store i32 %13165, ptr @test_count, align 4, !tbaa !5
  %13166 = load i32, ptr %234, align 4, !tbaa !5
  %13167 = icmp eq i32 %13166, 469762120
  br i1 %13167, label %13190, label %13168

13168:                                            ; preds = %13163
  %13169 = load i32, ptr %288, align 4, !tbaa !5
  %13170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13171 = call i32 @s2n_print_stacktrace(ptr noundef %13170) #12
  %13172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13173 = trunc nuw i8 %13172 to i1
  br i1 %13173, label %13174, label %13178

13174:                                            ; preds = %13168
  %13175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13176 = call i32 @fileno(ptr noundef %13175) #12
  %13177 = call i32 @isatty(i32 noundef %13176) #12
  %.not1588 = icmp eq i32 %13177, 0
  br i1 %.not1588, label %13178, label %13179

13178:                                            ; preds = %13174, %13168
  br label %13179

13179:                                            ; preds = %13174, %13178
  %.str.81.sink6066 = phi ptr [ @.str.81, %13178 ], [ @.str.78, %13174 ]
  store i32 %13169, ptr %288, align 4, !tbaa !5
  %13180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13181 = load i32, ptr @test_count, align 4, !tbaa !5
  %13182 = load i32, ptr %234, align 4, !tbaa !5
  %13183 = call ptr @s2n_strerror(i32 noundef %13182, ptr noundef nonnull @.str.80) #12
  %13184 = load i32, ptr %234, align 4, !tbaa !5
  %13185 = call ptr @s2n_strerror_debug(i32 noundef %13184, ptr noundef nonnull @.str.80) #12
  %13186 = load i32, ptr %288, align 4, !tbaa !5
  %13187 = call ptr @strerror(i32 noundef %13186) #12
  %13188 = load i32, ptr %288, align 4, !tbaa !5
  %13189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13180, ptr noundef nonnull %.str.81.sink6066, i32 noundef %13181, ptr noundef nonnull @.str.347, ptr noundef nonnull @.str.77, i32 noundef 1071, ptr noundef %13183, ptr noundef %13185, ptr noundef %13187, i32 noundef %13188) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13190:                                            ; preds = %13163
  %13191 = add nsw i32 %13164, 2
  store i32 %13191, ptr @test_count, align 4, !tbaa !5
  %13192 = call ptr @s2n_strerror_debug(i32 noundef 469762120, ptr noundef nonnull @.str.80) #12
  %13193 = icmp eq ptr %13192, null
  br i1 %13193, label %13194, label %13216

13194:                                            ; preds = %13190
  %13195 = load i32, ptr %288, align 4, !tbaa !5
  %13196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13197 = call i32 @s2n_print_stacktrace(ptr noundef %13196) #12
  %13198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13199 = trunc nuw i8 %13198 to i1
  br i1 %13199, label %13200, label %13204

13200:                                            ; preds = %13194
  %13201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13202 = call i32 @fileno(ptr noundef %13201) #12
  %13203 = call i32 @isatty(i32 noundef %13202) #12
  %.not1617 = icmp eq i32 %13203, 0
  br i1 %.not1617, label %13204, label %13205

13204:                                            ; preds = %13200, %13194
  br label %13205

13205:                                            ; preds = %13200, %13204
  %.str.81.sink6075 = phi ptr [ @.str.81, %13204 ], [ @.str.78, %13200 ]
  store i32 %13195, ptr %288, align 4, !tbaa !5
  %13206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13207 = load i32, ptr @test_count, align 4, !tbaa !5
  %13208 = load i32, ptr %234, align 4, !tbaa !5
  %13209 = call ptr @s2n_strerror(i32 noundef %13208, ptr noundef nonnull @.str.80) #12
  %13210 = load i32, ptr %234, align 4, !tbaa !5
  %13211 = call ptr @s2n_strerror_debug(i32 noundef %13210, ptr noundef nonnull @.str.80) #12
  %13212 = load i32, ptr %288, align 4, !tbaa !5
  %13213 = call ptr @strerror(i32 noundef %13212) #12
  %13214 = load i32, ptr %288, align 4, !tbaa !5
  %13215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13206, ptr noundef nonnull %.str.81.sink6075, i32 noundef %13207, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 1071, ptr noundef %13209, ptr noundef %13211, ptr noundef %13213, i32 noundef %13214) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13216:                                            ; preds = %13190
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %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 = call i32 @s2n_connection_free(ptr noundef nonnull %12734) #12
  %13220 = icmp eq i32 %13219, -1
  br i1 %13220, label %13221, label %13243

13221:                                            ; preds = %13216
  %13222 = load i32, ptr %288, align 4, !tbaa !5
  %13223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13224 = call i32 @s2n_print_stacktrace(ptr noundef %13223) #12
  %13225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13226 = trunc nuw i8 %13225 to i1
  br i1 %13226, label %13227, label %13231

13227:                                            ; preds = %13221
  %13228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13229 = call i32 @fileno(ptr noundef %13228) #12
  %13230 = call i32 @isatty(i32 noundef %13229) #12
  %.not1616 = icmp eq i32 %13230, 0
  br i1 %.not1616, label %13231, label %13232

13231:                                            ; preds = %13227, %13221
  br label %13232

13232:                                            ; preds = %13227, %13231
  %.str.81.sink6084 = phi ptr [ @.str.81, %13231 ], [ @.str.78, %13227 ]
  store i32 %13222, ptr %288, align 4, !tbaa !5
  %13233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13234 = load i32, ptr @test_count, align 4, !tbaa !5
  %13235 = load i32, ptr %234, align 4, !tbaa !5
  %13236 = call ptr @s2n_strerror(i32 noundef %13235, ptr noundef nonnull @.str.80) #12
  %13237 = load i32, ptr %234, align 4, !tbaa !5
  %13238 = call ptr @s2n_strerror_debug(i32 noundef %13237, ptr noundef nonnull @.str.80) #12
  %13239 = load i32, ptr %288, align 4, !tbaa !5
  %13240 = call ptr @strerror(i32 noundef %13239) #12
  %13241 = load i32, ptr %288, align 4, !tbaa !5
  %13242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13233, ptr noundef nonnull %.str.81.sink6084, i32 noundef %13234, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 1072, ptr noundef %13236, ptr noundef %13238, ptr noundef %13240, i32 noundef %13241) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13243:                                            ; preds = %13216
  %13244 = call i32 @s2n_psk_free(ptr noundef nonnull %113)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %113) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %112) #12
  call void @llvm.lifetime.end.p0(i64 9, ptr nonnull %111) #12
  call void @llvm.lifetime.end.p0(i64 9, ptr nonnull %110) #12
  call void @llvm.lifetime.end.p0(i64 9, ptr nonnull %109) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %114) #12
  store i64 100, ptr %114, align 8, !tbaa !90
  %13245 = load i32, ptr @test_count, align 4, !tbaa !5
  %13246 = add nsw i32 %13245, 1
  store i32 %13246, ptr @test_count, align 4, !tbaa !5
  %13247 = call i32 @s2n_psk_validate_keying_material(ptr noundef null)
  %13248 = call zeroext i1 @s2n_result_is_error(i32 %13247)
  br i1 %13248, label %13271, label %13249

13249:                                            ; preds = %13243
  %13250 = load i32, ptr %288, align 4, !tbaa !5
  %13251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13252 = call i32 @s2n_print_stacktrace(ptr noundef %13251) #12
  %13253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13254 = trunc nuw i8 %13253 to i1
  br i1 %13254, label %13255, label %13259

13255:                                            ; preds = %13249
  %13256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13257 = call i32 @fileno(ptr noundef %13256) #12
  %13258 = call i32 @isatty(i32 noundef %13257) #12
  %.not1589 = icmp eq i32 %13258, 0
  br i1 %.not1589, label %13259, label %13260

13259:                                            ; preds = %13255, %13249
  br label %13260

13260:                                            ; preds = %13255, %13259
  %.str.81.sink6093 = phi ptr [ @.str.81, %13259 ], [ @.str.78, %13255 ]
  store i32 %13250, ptr %288, align 4, !tbaa !5
  %13261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13262 = load i32, ptr @test_count, align 4, !tbaa !5
  %13263 = load i32, ptr %234, align 4, !tbaa !5
  %13264 = call ptr @s2n_strerror(i32 noundef %13263, ptr noundef nonnull @.str.80) #12
  %13265 = load i32, ptr %234, align 4, !tbaa !5
  %13266 = call ptr @s2n_strerror_debug(i32 noundef %13265, ptr noundef nonnull @.str.80) #12
  %13267 = load i32, ptr %288, align 4, !tbaa !5
  %13268 = call ptr @strerror(i32 noundef %13267) #12
  %13269 = load i32, ptr %288, align 4, !tbaa !5
  %13270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13261, ptr noundef nonnull %.str.81.sink6093, i32 noundef %13262, ptr noundef nonnull @.str.348, ptr noundef nonnull @.str.77, i32 noundef 1080, ptr noundef %13264, ptr noundef %13266, ptr noundef %13268, i32 noundef %13269) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13271:                                            ; preds = %13243
  %13272 = load i32, ptr @test_count, align 4, !tbaa !5
  %13273 = add nsw i32 %13272, 1
  store i32 %13273, ptr @test_count, align 4, !tbaa !5
  %13274 = load i32, ptr %234, align 4, !tbaa !5
  %13275 = icmp eq i32 %13274, 402653193
  br i1 %13275, label %13298, label %13276

13276:                                            ; preds = %13271
  %13277 = load i32, ptr %288, align 4, !tbaa !5
  %13278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13279 = call i32 @s2n_print_stacktrace(ptr noundef %13278) #12
  %13280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13281 = trunc nuw i8 %13280 to i1
  br i1 %13281, label %13282, label %13286

13282:                                            ; preds = %13276
  %13283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13284 = call i32 @fileno(ptr noundef %13283) #12
  %13285 = call i32 @isatty(i32 noundef %13284) #12
  %.not1590 = icmp eq i32 %13285, 0
  br i1 %.not1590, label %13286, label %13287

13286:                                            ; preds = %13282, %13276
  br label %13287

13287:                                            ; preds = %13282, %13286
  %.str.81.sink6102 = phi ptr [ @.str.81, %13286 ], [ @.str.78, %13282 ]
  store i32 %13277, ptr %288, align 4, !tbaa !5
  %13288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13289 = load i32, ptr @test_count, align 4, !tbaa !5
  %13290 = load i32, ptr %234, align 4, !tbaa !5
  %13291 = call ptr @s2n_strerror(i32 noundef %13290, ptr noundef nonnull @.str.80) #12
  %13292 = load i32, ptr %234, align 4, !tbaa !5
  %13293 = call ptr @s2n_strerror_debug(i32 noundef %13292, ptr noundef nonnull @.str.80) #12
  %13294 = load i32, ptr %288, align 4, !tbaa !5
  %13295 = call ptr @strerror(i32 noundef %13294) #12
  %13296 = load i32, ptr %288, align 4, !tbaa !5
  %13297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13288, ptr noundef nonnull %.str.81.sink6102, i32 noundef %13289, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.77, i32 noundef 1080, ptr noundef %13291, ptr noundef %13293, ptr noundef %13295, i32 noundef %13296) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13298:                                            ; preds = %13271
  %13299 = add nsw i32 %13272, 2
  store i32 %13299, ptr @test_count, align 4, !tbaa !5
  %13300 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.80) #12
  %13301 = icmp eq ptr %13300, null
  br i1 %13301, label %13302, label %13324

13302:                                            ; preds = %13298
  %13303 = load i32, ptr %288, align 4, !tbaa !5
  %13304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13305 = call i32 @s2n_print_stacktrace(ptr noundef %13304) #12
  %13306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13307 = trunc nuw i8 %13306 to i1
  br i1 %13307, label %13308, label %13312

13308:                                            ; preds = %13302
  %13309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13310 = call i32 @fileno(ptr noundef %13309) #12
  %13311 = call i32 @isatty(i32 noundef %13310) #12
  %.not1615 = icmp eq i32 %13311, 0
  br i1 %.not1615, label %13312, label %13313

13312:                                            ; preds = %13308, %13302
  br label %13313

13313:                                            ; preds = %13308, %13312
  %.str.81.sink6111 = phi ptr [ @.str.81, %13312 ], [ @.str.78, %13308 ]
  store i32 %13303, ptr %288, align 4, !tbaa !5
  %13314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13315 = load i32, ptr @test_count, align 4, !tbaa !5
  %13316 = load i32, ptr %234, align 4, !tbaa !5
  %13317 = call ptr @s2n_strerror(i32 noundef %13316, ptr noundef nonnull @.str.80) #12
  %13318 = load i32, ptr %234, align 4, !tbaa !5
  %13319 = call ptr @s2n_strerror_debug(i32 noundef %13318, ptr noundef nonnull @.str.80) #12
  %13320 = load i32, ptr %288, align 4, !tbaa !5
  %13321 = call ptr @strerror(i32 noundef %13320) #12
  %13322 = load i32, ptr %288, align 4, !tbaa !5
  %13323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13314, ptr noundef nonnull %.str.81.sink6111, i32 noundef %13315, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 1080, ptr noundef %13317, ptr noundef %13319, ptr noundef %13321, i32 noundef %13322) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13324:                                            ; preds = %13298
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %13325 = call ptr @s2n_config_new() #12
  %13326 = load i32, ptr @test_count, align 4, !tbaa !5
  %13327 = add nsw i32 %13326, 1
  store i32 %13327, ptr @test_count, align 4, !tbaa !5
  %13328 = icmp eq ptr %13325, null
  br i1 %13328, label %13329, label %13351

13329:                                            ; preds = %13324
  %13330 = load i32, ptr %288, align 4, !tbaa !5
  %13331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13332 = call i32 @s2n_print_stacktrace(ptr noundef %13331) #12
  %13333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13334 = trunc nuw i8 %13333 to i1
  br i1 %13334, label %13335, label %13339

13335:                                            ; preds = %13329
  %13336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13337 = call i32 @fileno(ptr noundef %13336) #12
  %13338 = call i32 @isatty(i32 noundef %13337) #12
  %.not1614 = icmp eq i32 %13338, 0
  br i1 %.not1614, label %13339, label %13340

13339:                                            ; preds = %13335, %13329
  br label %13340

13340:                                            ; preds = %13335, %13339
  %.str.81.sink6120 = phi ptr [ @.str.81, %13339 ], [ @.str.78, %13335 ]
  store i32 %13330, ptr %288, align 4, !tbaa !5
  %13341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13342 = load i32, ptr @test_count, align 4, !tbaa !5
  %13343 = load i32, ptr %234, align 4, !tbaa !5
  %13344 = call ptr @s2n_strerror(i32 noundef %13343, ptr noundef nonnull @.str.80) #12
  %13345 = load i32, ptr %234, align 4, !tbaa !5
  %13346 = call ptr @s2n_strerror_debug(i32 noundef %13345, ptr noundef nonnull @.str.80) #12
  %13347 = load i32, ptr %288, align 4, !tbaa !5
  %13348 = call ptr @strerror(i32 noundef %13347) #12
  %13349 = load i32, ptr %288, align 4, !tbaa !5
  %13350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13341, ptr noundef nonnull %.str.81.sink6120, i32 noundef %13342, ptr noundef nonnull @.str.317, ptr noundef nonnull @.str.77, i32 noundef 1083, ptr noundef %13344, ptr noundef %13346, ptr noundef %13348, i32 noundef %13349) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13351:                                            ; preds = %13324
  %13352 = add nsw i32 %13326, 2
  store i32 %13352, ptr @test_count, align 4, !tbaa !5
  %13353 = call i32 @s2n_config_mock_wall_clock(ptr noundef nonnull %13325, ptr noundef nonnull %114) #12
  %13354 = call zeroext i1 @s2n_result_is_ok(i32 %13353)
  br i1 %13354, label %13377, label %13355

13355:                                            ; preds = %13351
  %13356 = load i32, ptr %288, align 4, !tbaa !5
  %13357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13358 = call i32 @s2n_print_stacktrace(ptr noundef %13357) #12
  %13359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13360 = trunc nuw i8 %13359 to i1
  br i1 %13360, label %13361, label %13365

13361:                                            ; preds = %13355
  %13362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13363 = call i32 @fileno(ptr noundef %13362) #12
  %13364 = call i32 @isatty(i32 noundef %13363) #12
  %.not1591 = icmp eq i32 %13364, 0
  br i1 %.not1591, label %13365, label %13366

13365:                                            ; preds = %13361, %13355
  br label %13366

13366:                                            ; preds = %13361, %13365
  %.str.81.sink6129 = phi ptr [ @.str.81, %13365 ], [ @.str.78, %13361 ]
  store i32 %13356, ptr %288, align 4, !tbaa !5
  %13367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13368 = load i32, ptr @test_count, align 4, !tbaa !5
  %13369 = load i32, ptr %234, align 4, !tbaa !5
  %13370 = call ptr @s2n_strerror(i32 noundef %13369, ptr noundef nonnull @.str.80) #12
  %13371 = load i32, ptr %234, align 4, !tbaa !5
  %13372 = call ptr @s2n_strerror_debug(i32 noundef %13371, ptr noundef nonnull @.str.80) #12
  %13373 = load i32, ptr %288, align 4, !tbaa !5
  %13374 = call ptr @strerror(i32 noundef %13373) #12
  %13375 = load i32, ptr %288, align 4, !tbaa !5
  %13376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13367, ptr noundef nonnull %.str.81.sink6129, i32 noundef %13368, ptr noundef nonnull @.str.349, ptr noundef nonnull @.str.77, i32 noundef 1084, ptr noundef %13370, ptr noundef %13372, ptr noundef %13374, i32 noundef %13375) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13377:                                            ; preds = %13351
  %13378 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %13379 = load i32, ptr @test_count, align 4, !tbaa !5
  %13380 = add nsw i32 %13379, 1
  store i32 %13380, ptr @test_count, align 4, !tbaa !5
  %13381 = icmp eq ptr %13378, null
  br i1 %13381, label %13382, label %13404

13382:                                            ; preds = %13377
  %13383 = load i32, ptr %288, align 4, !tbaa !5
  %13384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13385 = call i32 @s2n_print_stacktrace(ptr noundef %13384) #12
  %13386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13387 = trunc nuw i8 %13386 to i1
  br i1 %13387, label %13388, label %13392

13388:                                            ; preds = %13382
  %13389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13390 = call i32 @fileno(ptr noundef %13389) #12
  %13391 = call i32 @isatty(i32 noundef %13390) #12
  %.not1613 = icmp eq i32 %13391, 0
  br i1 %.not1613, label %13392, label %13393

13392:                                            ; preds = %13388, %13382
  br label %13393

13393:                                            ; preds = %13388, %13392
  %.str.81.sink6138 = phi ptr [ @.str.81, %13392 ], [ @.str.78, %13388 ]
  store i32 %13383, ptr %288, align 4, !tbaa !5
  %13394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13395 = load i32, ptr @test_count, align 4, !tbaa !5
  %13396 = load i32, ptr %234, align 4, !tbaa !5
  %13397 = call ptr @s2n_strerror(i32 noundef %13396, ptr noundef nonnull @.str.80) #12
  %13398 = load i32, ptr %234, align 4, !tbaa !5
  %13399 = call ptr @s2n_strerror_debug(i32 noundef %13398, ptr noundef nonnull @.str.80) #12
  %13400 = load i32, ptr %288, align 4, !tbaa !5
  %13401 = call ptr @strerror(i32 noundef %13400) #12
  %13402 = load i32, ptr %288, align 4, !tbaa !5
  %13403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13394, ptr noundef nonnull %.str.81.sink6138, i32 noundef %13395, ptr noundef nonnull @.str.281, ptr noundef nonnull @.str.77, i32 noundef 1087, ptr noundef %13397, ptr noundef %13399, ptr noundef %13401, i32 noundef %13402) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13404:                                            ; preds = %13377
  %13405 = add nsw i32 %13379, 2
  store i32 %13405, ptr @test_count, align 4, !tbaa !5
  %13406 = call i32 @s2n_connection_set_config(ptr noundef nonnull %13378, ptr noundef nonnull %13325) #12
  %13407 = icmp eq i32 %13406, -1
  br i1 %13407, label %13408, label %13430

13408:                                            ; preds = %13404
  %13409 = load i32, ptr %288, align 4, !tbaa !5
  %13410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13411 = call i32 @s2n_print_stacktrace(ptr noundef %13410) #12
  %13412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13413 = trunc nuw i8 %13412 to i1
  br i1 %13413, label %13414, label %13418

13414:                                            ; preds = %13408
  %13415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13416 = call i32 @fileno(ptr noundef %13415) #12
  %13417 = call i32 @isatty(i32 noundef %13416) #12
  %.not1612 = icmp eq i32 %13417, 0
  br i1 %.not1612, label %13418, label %13419

13418:                                            ; preds = %13414, %13408
  br label %13419

13419:                                            ; preds = %13414, %13418
  %.str.81.sink6147 = phi ptr [ @.str.81, %13418 ], [ @.str.78, %13414 ]
  store i32 %13409, ptr %288, align 4, !tbaa !5
  %13420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13421 = load i32, ptr @test_count, align 4, !tbaa !5
  %13422 = load i32, ptr %234, align 4, !tbaa !5
  %13423 = call ptr @s2n_strerror(i32 noundef %13422, ptr noundef nonnull @.str.80) #12
  %13424 = load i32, ptr %234, align 4, !tbaa !5
  %13425 = call ptr @s2n_strerror_debug(i32 noundef %13424, ptr noundef nonnull @.str.80) #12
  %13426 = load i32, ptr %288, align 4, !tbaa !5
  %13427 = call ptr @strerror(i32 noundef %13426) #12
  %13428 = load i32, ptr %288, align 4, !tbaa !5
  %13429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13420, ptr noundef nonnull %.str.81.sink6147, i32 noundef %13421, ptr noundef nonnull @.str.350, ptr noundef nonnull @.str.77, i32 noundef 1088, ptr noundef %13423, ptr noundef %13425, ptr noundef %13427, i32 noundef %13428) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13430:                                            ; preds = %13404
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %115) #12
  %13431 = call ptr @s2n_test_psk_new(ptr noundef nonnull %13378) #12
  store ptr %13431, ptr %115, align 8, !tbaa !9
  %13432 = load i32, ptr @test_count, align 4, !tbaa !5
  %13433 = add nsw i32 %13432, 1
  store i32 %13433, ptr @test_count, align 4, !tbaa !5
  %13434 = call i32 @s2n_psk_validate_keying_material(ptr noundef nonnull %13378)
  %13435 = call zeroext i1 @s2n_result_is_ok(i32 %13434)
  br i1 %13435, label %13458, label %13436

13436:                                            ; preds = %13430
  %13437 = load i32, ptr %288, align 4, !tbaa !5
  %13438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13439 = call i32 @s2n_print_stacktrace(ptr noundef %13438) #12
  %13440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13441 = trunc nuw i8 %13440 to i1
  br i1 %13441, label %13442, label %13446

13442:                                            ; preds = %13436
  %13443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13444 = call i32 @fileno(ptr noundef %13443) #12
  %13445 = call i32 @isatty(i32 noundef %13444) #12
  %.not1592 = icmp eq i32 %13445, 0
  br i1 %.not1592, label %13446, label %13447

13446:                                            ; preds = %13442, %13436
  br label %13447

13447:                                            ; preds = %13442, %13446
  %.str.81.sink6156 = phi ptr [ @.str.81, %13446 ], [ @.str.78, %13442 ]
  store i32 %13437, ptr %288, align 4, !tbaa !5
  %13448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13449 = load i32, ptr @test_count, align 4, !tbaa !5
  %13450 = load i32, ptr %234, align 4, !tbaa !5
  %13451 = call ptr @s2n_strerror(i32 noundef %13450, ptr noundef nonnull @.str.80) #12
  %13452 = load i32, ptr %234, align 4, !tbaa !5
  %13453 = call ptr @s2n_strerror_debug(i32 noundef %13452, ptr noundef nonnull @.str.80) #12
  %13454 = load i32, ptr %288, align 4, !tbaa !5
  %13455 = call ptr @strerror(i32 noundef %13454) #12
  %13456 = load i32, ptr %288, align 4, !tbaa !5
  %13457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13448, ptr noundef nonnull %.str.81.sink6156, i32 noundef %13449, ptr noundef nonnull @.str.351, ptr noundef nonnull @.str.77, i32 noundef 1092, ptr noundef %13451, ptr noundef %13453, ptr noundef %13455, i32 noundef %13456) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13458:                                            ; preds = %13430
  %13459 = getelementptr inbounds i8, ptr %13378, i64 1736
  store ptr %13431, ptr %13459, align 8, !tbaa !64
  store i32 1, ptr %13431, align 8, !tbaa !15
  %13460 = load i32, ptr @test_count, align 4, !tbaa !5
  %13461 = add nsw i32 %13460, 1
  store i32 %13461, ptr @test_count, align 4, !tbaa !5
  %13462 = call i32 @s2n_psk_validate_keying_material(ptr noundef nonnull %13378)
  %13463 = call zeroext i1 @s2n_result_is_ok(i32 %13462)
  br i1 %13463, label %13486, label %13464

13464:                                            ; preds = %13458
  %13465 = load i32, ptr %288, align 4, !tbaa !5
  %13466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13467 = call i32 @s2n_print_stacktrace(ptr noundef %13466) #12
  %13468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13469 = trunc nuw i8 %13468 to i1
  br i1 %13469, label %13470, label %13474

13470:                                            ; preds = %13464
  %13471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13472 = call i32 @fileno(ptr noundef %13471) #12
  %13473 = call i32 @isatty(i32 noundef %13472) #12
  %.not1593 = icmp eq i32 %13473, 0
  br i1 %.not1593, label %13474, label %13475

13474:                                            ; preds = %13470, %13464
  br label %13475

13475:                                            ; preds = %13470, %13474
  %.str.81.sink6165 = phi ptr [ @.str.81, %13474 ], [ @.str.78, %13470 ]
  store i32 %13465, ptr %288, align 4, !tbaa !5
  %13476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13477 = load i32, ptr @test_count, align 4, !tbaa !5
  %13478 = load i32, ptr %234, align 4, !tbaa !5
  %13479 = call ptr @s2n_strerror(i32 noundef %13478, ptr noundef nonnull @.str.80) #12
  %13480 = load i32, ptr %234, align 4, !tbaa !5
  %13481 = call ptr @s2n_strerror_debug(i32 noundef %13480, ptr noundef nonnull @.str.80) #12
  %13482 = load i32, ptr %288, align 4, !tbaa !5
  %13483 = call ptr @strerror(i32 noundef %13482) #12
  %13484 = load i32, ptr %288, align 4, !tbaa !5
  %13485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13476, ptr noundef nonnull %.str.81.sink6165, i32 noundef %13477, ptr noundef nonnull @.str.351, ptr noundef nonnull @.str.77, i32 noundef 1098, ptr noundef %13479, ptr noundef %13481, ptr noundef %13483, i32 noundef %13484) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13486:                                            ; preds = %13458
  store i32 0, ptr %13431, align 8, !tbaa !15
  %13487 = getelementptr inbounds i8, ptr %13431, i64 160
  store i64 -1, ptr %13487, align 8, !tbaa !91
  %13488 = load i32, ptr @test_count, align 4, !tbaa !5
  %13489 = add nsw i32 %13488, 1
  store i32 %13489, ptr @test_count, align 4, !tbaa !5
  %13490 = call i32 @s2n_psk_validate_keying_material(ptr noundef nonnull %13378)
  %13491 = call zeroext i1 @s2n_result_is_ok(i32 %13490)
  br i1 %13491, label %13514, label %13492

13492:                                            ; preds = %13486
  %13493 = load i32, ptr %288, align 4, !tbaa !5
  %13494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13495 = call i32 @s2n_print_stacktrace(ptr noundef %13494) #12
  %13496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13497 = trunc nuw i8 %13496 to i1
  br i1 %13497, label %13498, label %13502

13498:                                            ; preds = %13492
  %13499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13500 = call i32 @fileno(ptr noundef %13499) #12
  %13501 = call i32 @isatty(i32 noundef %13500) #12
  %.not1594 = icmp eq i32 %13501, 0
  br i1 %.not1594, label %13502, label %13503

13502:                                            ; preds = %13498, %13492
  br label %13503

13503:                                            ; preds = %13498, %13502
  %.str.81.sink6174 = phi ptr [ @.str.81, %13502 ], [ @.str.78, %13498 ]
  store i32 %13493, ptr %288, align 4, !tbaa !5
  %13504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13505 = load i32, ptr @test_count, align 4, !tbaa !5
  %13506 = load i32, ptr %234, align 4, !tbaa !5
  %13507 = call ptr @s2n_strerror(i32 noundef %13506, ptr noundef nonnull @.str.80) #12
  %13508 = load i32, ptr %234, align 4, !tbaa !5
  %13509 = call ptr @s2n_strerror_debug(i32 noundef %13508, ptr noundef nonnull @.str.80) #12
  %13510 = load i32, ptr %288, align 4, !tbaa !5
  %13511 = call ptr @strerror(i32 noundef %13510) #12
  %13512 = load i32, ptr %288, align 4, !tbaa !5
  %13513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13504, ptr noundef nonnull %.str.81.sink6174, i32 noundef %13505, ptr noundef nonnull @.str.351, ptr noundef nonnull @.str.77, i32 noundef 1104, ptr noundef %13507, ptr noundef %13509, ptr noundef %13511, i32 noundef %13512) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13514:                                            ; preds = %13486
  store i64 0, ptr %13487, align 8, !tbaa !91
  %13515 = load i32, ptr @test_count, align 4, !tbaa !5
  %13516 = add nsw i32 %13515, 1
  store i32 %13516, ptr @test_count, align 4, !tbaa !5
  %13517 = call i32 @s2n_psk_validate_keying_material(ptr noundef nonnull %13378)
  %13518 = call zeroext i1 @s2n_result_is_error(i32 %13517)
  br i1 %13518, label %13541, label %13519

13519:                                            ; preds = %13514
  %13520 = load i32, ptr %288, align 4, !tbaa !5
  %13521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13522 = call i32 @s2n_print_stacktrace(ptr noundef %13521) #12
  %13523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13524 = trunc nuw i8 %13523 to i1
  br i1 %13524, label %13525, label %13529

13525:                                            ; preds = %13519
  %13526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13527 = call i32 @fileno(ptr noundef %13526) #12
  %13528 = call i32 @isatty(i32 noundef %13527) #12
  %.not1595 = icmp eq i32 %13528, 0
  br i1 %.not1595, label %13529, label %13530

13529:                                            ; preds = %13525, %13519
  br label %13530

13530:                                            ; preds = %13525, %13529
  %.str.81.sink6183 = phi ptr [ @.str.81, %13529 ], [ @.str.78, %13525 ]
  store i32 %13520, ptr %288, align 4, !tbaa !5
  %13531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13532 = load i32, ptr @test_count, align 4, !tbaa !5
  %13533 = load i32, ptr %234, align 4, !tbaa !5
  %13534 = call ptr @s2n_strerror(i32 noundef %13533, ptr noundef nonnull @.str.80) #12
  %13535 = load i32, ptr %234, align 4, !tbaa !5
  %13536 = call ptr @s2n_strerror_debug(i32 noundef %13535, ptr noundef nonnull @.str.80) #12
  %13537 = load i32, ptr %288, align 4, !tbaa !5
  %13538 = call ptr @strerror(i32 noundef %13537) #12
  %13539 = load i32, ptr %288, align 4, !tbaa !5
  %13540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13531, ptr noundef nonnull %.str.81.sink6183, i32 noundef %13532, ptr noundef nonnull @.str.352, ptr noundef nonnull @.str.77, i32 noundef 1108, ptr noundef %13534, ptr noundef %13536, ptr noundef %13538, i32 noundef %13539) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13541:                                            ; preds = %13514
  %13542 = load i32, ptr @test_count, align 4, !tbaa !5
  %13543 = add nsw i32 %13542, 1
  store i32 %13543, ptr @test_count, align 4, !tbaa !5
  %13544 = load i32, ptr %234, align 4, !tbaa !5
  %13545 = icmp eq i32 %13544, 469762121
  br i1 %13545, label %13568, label %13546

13546:                                            ; preds = %13541
  %13547 = load i32, ptr %288, align 4, !tbaa !5
  %13548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13549 = call i32 @s2n_print_stacktrace(ptr noundef %13548) #12
  %13550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13551 = trunc nuw i8 %13550 to i1
  br i1 %13551, label %13552, label %13556

13552:                                            ; preds = %13546
  %13553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13554 = call i32 @fileno(ptr noundef %13553) #12
  %13555 = call i32 @isatty(i32 noundef %13554) #12
  %.not1596 = icmp eq i32 %13555, 0
  br i1 %.not1596, label %13556, label %13557

13556:                                            ; preds = %13552, %13546
  br label %13557

13557:                                            ; preds = %13552, %13556
  %.str.81.sink6192 = phi ptr [ @.str.81, %13556 ], [ @.str.78, %13552 ]
  store i32 %13547, ptr %288, align 4, !tbaa !5
  %13558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13559 = load i32, ptr @test_count, align 4, !tbaa !5
  %13560 = load i32, ptr %234, align 4, !tbaa !5
  %13561 = call ptr @s2n_strerror(i32 noundef %13560, ptr noundef nonnull @.str.80) #12
  %13562 = load i32, ptr %234, align 4, !tbaa !5
  %13563 = call ptr @s2n_strerror_debug(i32 noundef %13562, ptr noundef nonnull @.str.80) #12
  %13564 = load i32, ptr %288, align 4, !tbaa !5
  %13565 = call ptr @strerror(i32 noundef %13564) #12
  %13566 = load i32, ptr %288, align 4, !tbaa !5
  %13567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13558, ptr noundef nonnull %.str.81.sink6192, i32 noundef %13559, ptr noundef nonnull @.str.353, ptr noundef nonnull @.str.77, i32 noundef 1108, ptr noundef %13561, ptr noundef %13563, ptr noundef %13565, i32 noundef %13566) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13568:                                            ; preds = %13541
  %13569 = add nsw i32 %13542, 2
  store i32 %13569, ptr @test_count, align 4, !tbaa !5
  %13570 = call ptr @s2n_strerror_debug(i32 noundef 469762121, ptr noundef nonnull @.str.80) #12
  %13571 = icmp eq ptr %13570, null
  br i1 %13571, label %13572, label %13594

13572:                                            ; preds = %13568
  %13573 = load i32, ptr %288, align 4, !tbaa !5
  %13574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13575 = call i32 @s2n_print_stacktrace(ptr noundef %13574) #12
  %13576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13577 = trunc nuw i8 %13576 to i1
  br i1 %13577, label %13578, label %13582

13578:                                            ; preds = %13572
  %13579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13580 = call i32 @fileno(ptr noundef %13579) #12
  %13581 = call i32 @isatty(i32 noundef %13580) #12
  %.not1611 = icmp eq i32 %13581, 0
  br i1 %.not1611, label %13582, label %13583

13582:                                            ; preds = %13578, %13572
  br label %13583

13583:                                            ; preds = %13578, %13582
  %.str.81.sink6201 = phi ptr [ @.str.81, %13582 ], [ @.str.78, %13578 ]
  store i32 %13573, ptr %288, align 4, !tbaa !5
  %13584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13585 = load i32, ptr @test_count, align 4, !tbaa !5
  %13586 = load i32, ptr %234, align 4, !tbaa !5
  %13587 = call ptr @s2n_strerror(i32 noundef %13586, ptr noundef nonnull @.str.80) #12
  %13588 = load i32, ptr %234, align 4, !tbaa !5
  %13589 = call ptr @s2n_strerror_debug(i32 noundef %13588, ptr noundef nonnull @.str.80) #12
  %13590 = load i32, ptr %288, align 4, !tbaa !5
  %13591 = call ptr @strerror(i32 noundef %13590) #12
  %13592 = load i32, ptr %288, align 4, !tbaa !5
  %13593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13584, ptr noundef nonnull %.str.81.sink6201, i32 noundef %13585, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 1108, ptr noundef %13587, ptr noundef %13589, ptr noundef %13591, i32 noundef %13592) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13594:                                            ; preds = %13568
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %13595 = load i64, ptr %114, align 8, !tbaa !90
  store i64 %13595, ptr %13487, align 8, !tbaa !91
  %13596 = load i32, ptr @test_count, align 4, !tbaa !5
  %13597 = add nsw i32 %13596, 1
  store i32 %13597, ptr @test_count, align 4, !tbaa !5
  %13598 = call i32 @s2n_psk_validate_keying_material(ptr noundef nonnull %13378)
  %13599 = call zeroext i1 @s2n_result_is_error(i32 %13598)
  br i1 %13599, label %13622, label %13600

13600:                                            ; preds = %13594
  %13601 = load i32, ptr %288, align 4, !tbaa !5
  %13602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13603 = call i32 @s2n_print_stacktrace(ptr noundef %13602) #12
  %13604 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13605 = trunc nuw i8 %13604 to i1
  br i1 %13605, label %13606, label %13610

13606:                                            ; preds = %13600
  %13607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13608 = call i32 @fileno(ptr noundef %13607) #12
  %13609 = call i32 @isatty(i32 noundef %13608) #12
  %.not1597 = icmp eq i32 %13609, 0
  br i1 %.not1597, label %13610, label %13611

13610:                                            ; preds = %13606, %13600
  br label %13611

13611:                                            ; preds = %13606, %13610
  %.str.81.sink6210 = phi ptr [ @.str.81, %13610 ], [ @.str.78, %13606 ]
  store i32 %13601, ptr %288, align 4, !tbaa !5
  %13612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13613 = load i32, ptr @test_count, align 4, !tbaa !5
  %13614 = load i32, ptr %234, align 4, !tbaa !5
  %13615 = call ptr @s2n_strerror(i32 noundef %13614, ptr noundef nonnull @.str.80) #12
  %13616 = load i32, ptr %234, align 4, !tbaa !5
  %13617 = call ptr @s2n_strerror_debug(i32 noundef %13616, ptr noundef nonnull @.str.80) #12
  %13618 = load i32, ptr %288, align 4, !tbaa !5
  %13619 = call ptr @strerror(i32 noundef %13618) #12
  %13620 = load i32, ptr %288, align 4, !tbaa !5
  %13621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13612, ptr noundef nonnull %.str.81.sink6210, i32 noundef %13613, ptr noundef nonnull @.str.352, ptr noundef nonnull @.str.77, i32 noundef 1112, ptr noundef %13615, ptr noundef %13617, ptr noundef %13619, i32 noundef %13620) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13622:                                            ; preds = %13594
  %13623 = load i32, ptr @test_count, align 4, !tbaa !5
  %13624 = add nsw i32 %13623, 1
  store i32 %13624, ptr @test_count, align 4, !tbaa !5
  %13625 = load i32, ptr %234, align 4, !tbaa !5
  %13626 = icmp eq i32 %13625, 469762121
  br i1 %13626, label %13649, label %13627

13627:                                            ; preds = %13622
  %13628 = load i32, ptr %288, align 4, !tbaa !5
  %13629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13630 = call i32 @s2n_print_stacktrace(ptr noundef %13629) #12
  %13631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13632 = trunc nuw i8 %13631 to i1
  br i1 %13632, label %13633, label %13637

13633:                                            ; preds = %13627
  %13634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13635 = call i32 @fileno(ptr noundef %13634) #12
  %13636 = call i32 @isatty(i32 noundef %13635) #12
  %.not1598 = icmp eq i32 %13636, 0
  br i1 %.not1598, label %13637, label %13638

13637:                                            ; preds = %13633, %13627
  br label %13638

13638:                                            ; preds = %13633, %13637
  %.str.81.sink6219 = phi ptr [ @.str.81, %13637 ], [ @.str.78, %13633 ]
  store i32 %13628, ptr %288, align 4, !tbaa !5
  %13639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13640 = load i32, ptr @test_count, align 4, !tbaa !5
  %13641 = load i32, ptr %234, align 4, !tbaa !5
  %13642 = call ptr @s2n_strerror(i32 noundef %13641, ptr noundef nonnull @.str.80) #12
  %13643 = load i32, ptr %234, align 4, !tbaa !5
  %13644 = call ptr @s2n_strerror_debug(i32 noundef %13643, ptr noundef nonnull @.str.80) #12
  %13645 = load i32, ptr %288, align 4, !tbaa !5
  %13646 = call ptr @strerror(i32 noundef %13645) #12
  %13647 = load i32, ptr %288, align 4, !tbaa !5
  %13648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13639, ptr noundef nonnull %.str.81.sink6219, i32 noundef %13640, ptr noundef nonnull @.str.353, ptr noundef nonnull @.str.77, i32 noundef 1112, ptr noundef %13642, ptr noundef %13644, ptr noundef %13646, i32 noundef %13647) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13649:                                            ; preds = %13622
  %13650 = add nsw i32 %13623, 2
  store i32 %13650, ptr @test_count, align 4, !tbaa !5
  %13651 = call ptr @s2n_strerror_debug(i32 noundef 469762121, ptr noundef nonnull @.str.80) #12
  %13652 = icmp eq ptr %13651, null
  br i1 %13652, label %13653, label %13675

13653:                                            ; preds = %13649
  %13654 = load i32, ptr %288, align 4, !tbaa !5
  %13655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13656 = call i32 @s2n_print_stacktrace(ptr noundef %13655) #12
  %13657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13658 = trunc nuw i8 %13657 to i1
  br i1 %13658, label %13659, label %13663

13659:                                            ; preds = %13653
  %13660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13661 = call i32 @fileno(ptr noundef %13660) #12
  %13662 = call i32 @isatty(i32 noundef %13661) #12
  %.not1610 = icmp eq i32 %13662, 0
  br i1 %.not1610, label %13663, label %13664

13663:                                            ; preds = %13659, %13653
  br label %13664

13664:                                            ; preds = %13659, %13663
  %.str.81.sink6228 = phi ptr [ @.str.81, %13663 ], [ @.str.78, %13659 ]
  store i32 %13654, ptr %288, align 4, !tbaa !5
  %13665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13666 = load i32, ptr @test_count, align 4, !tbaa !5
  %13667 = load i32, ptr %234, align 4, !tbaa !5
  %13668 = call ptr @s2n_strerror(i32 noundef %13667, ptr noundef nonnull @.str.80) #12
  %13669 = load i32, ptr %234, align 4, !tbaa !5
  %13670 = call ptr @s2n_strerror_debug(i32 noundef %13669, ptr noundef nonnull @.str.80) #12
  %13671 = load i32, ptr %288, align 4, !tbaa !5
  %13672 = call ptr @strerror(i32 noundef %13671) #12
  %13673 = load i32, ptr %288, align 4, !tbaa !5
  %13674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13665, ptr noundef nonnull %.str.81.sink6228, i32 noundef %13666, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 1112, ptr noundef %13668, ptr noundef %13670, ptr noundef %13672, i32 noundef %13673) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13675:                                            ; preds = %13649
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %13676 = load i64, ptr %114, align 8, !tbaa !90
  %13677 = add i64 %13676, 1
  store i64 %13677, ptr %13487, align 8, !tbaa !91
  %13678 = load i32, ptr @test_count, align 4, !tbaa !5
  %13679 = add nsw i32 %13678, 1
  store i32 %13679, ptr @test_count, align 4, !tbaa !5
  %13680 = call i32 @s2n_psk_validate_keying_material(ptr noundef nonnull %13378)
  %13681 = call zeroext i1 @s2n_result_is_error(i32 %13680)
  br i1 %13681, label %13704, label %13682

13682:                                            ; preds = %13675
  %13683 = load i32, ptr %288, align 4, !tbaa !5
  %13684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13685 = call i32 @s2n_print_stacktrace(ptr noundef %13684) #12
  %13686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13687 = trunc nuw i8 %13686 to i1
  br i1 %13687, label %13688, label %13692

13688:                                            ; preds = %13682
  %13689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13690 = call i32 @fileno(ptr noundef %13689) #12
  %13691 = call i32 @isatty(i32 noundef %13690) #12
  %.not1599 = icmp eq i32 %13691, 0
  br i1 %.not1599, label %13692, label %13693

13692:                                            ; preds = %13688, %13682
  br label %13693

13693:                                            ; preds = %13688, %13692
  %.str.81.sink6237 = phi ptr [ @.str.81, %13692 ], [ @.str.78, %13688 ]
  store i32 %13683, ptr %288, align 4, !tbaa !5
  %13694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13695 = load i32, ptr @test_count, align 4, !tbaa !5
  %13696 = load i32, ptr %234, align 4, !tbaa !5
  %13697 = call ptr @s2n_strerror(i32 noundef %13696, ptr noundef nonnull @.str.80) #12
  %13698 = load i32, ptr %234, align 4, !tbaa !5
  %13699 = call ptr @s2n_strerror_debug(i32 noundef %13698, ptr noundef nonnull @.str.80) #12
  %13700 = load i32, ptr %288, align 4, !tbaa !5
  %13701 = call ptr @strerror(i32 noundef %13700) #12
  %13702 = load i32, ptr %288, align 4, !tbaa !5
  %13703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13694, ptr noundef nonnull %.str.81.sink6237, i32 noundef %13695, ptr noundef nonnull @.str.352, ptr noundef nonnull @.str.77, i32 noundef 1116, ptr noundef %13697, ptr noundef %13699, ptr noundef %13701, i32 noundef %13702) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13704:                                            ; preds = %13675
  %13705 = load i32, ptr @test_count, align 4, !tbaa !5
  %13706 = add nsw i32 %13705, 1
  store i32 %13706, ptr @test_count, align 4, !tbaa !5
  %13707 = load i32, ptr %234, align 4, !tbaa !5
  %13708 = icmp eq i32 %13707, 469762121
  br i1 %13708, label %13731, label %13709

13709:                                            ; preds = %13704
  %13710 = load i32, ptr %288, align 4, !tbaa !5
  %13711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13712 = call i32 @s2n_print_stacktrace(ptr noundef %13711) #12
  %13713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13714 = trunc nuw i8 %13713 to i1
  br i1 %13714, label %13715, label %13719

13715:                                            ; preds = %13709
  %13716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13717 = call i32 @fileno(ptr noundef %13716) #12
  %13718 = call i32 @isatty(i32 noundef %13717) #12
  %.not1600 = icmp eq i32 %13718, 0
  br i1 %.not1600, label %13719, label %13720

13719:                                            ; preds = %13715, %13709
  br label %13720

13720:                                            ; preds = %13715, %13719
  %.str.81.sink6246 = phi ptr [ @.str.81, %13719 ], [ @.str.78, %13715 ]
  store i32 %13710, ptr %288, align 4, !tbaa !5
  %13721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13722 = load i32, ptr @test_count, align 4, !tbaa !5
  %13723 = load i32, ptr %234, align 4, !tbaa !5
  %13724 = call ptr @s2n_strerror(i32 noundef %13723, ptr noundef nonnull @.str.80) #12
  %13725 = load i32, ptr %234, align 4, !tbaa !5
  %13726 = call ptr @s2n_strerror_debug(i32 noundef %13725, ptr noundef nonnull @.str.80) #12
  %13727 = load i32, ptr %288, align 4, !tbaa !5
  %13728 = call ptr @strerror(i32 noundef %13727) #12
  %13729 = load i32, ptr %288, align 4, !tbaa !5
  %13730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13721, ptr noundef nonnull %.str.81.sink6246, i32 noundef %13722, ptr noundef nonnull @.str.353, ptr noundef nonnull @.str.77, i32 noundef 1116, ptr noundef %13724, ptr noundef %13726, ptr noundef %13728, i32 noundef %13729) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13731:                                            ; preds = %13704
  %13732 = add nsw i32 %13705, 2
  store i32 %13732, ptr @test_count, align 4, !tbaa !5
  %13733 = call ptr @s2n_strerror_debug(i32 noundef 469762121, ptr noundef nonnull @.str.80) #12
  %13734 = icmp eq ptr %13733, null
  br i1 %13734, label %13735, label %13757

13735:                                            ; preds = %13731
  %13736 = load i32, ptr %288, align 4, !tbaa !5
  %13737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13738 = call i32 @s2n_print_stacktrace(ptr noundef %13737) #12
  %13739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13740 = trunc nuw i8 %13739 to i1
  br i1 %13740, label %13741, label %13745

13741:                                            ; preds = %13735
  %13742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13743 = call i32 @fileno(ptr noundef %13742) #12
  %13744 = call i32 @isatty(i32 noundef %13743) #12
  %.not1609 = icmp eq i32 %13744, 0
  br i1 %.not1609, label %13745, label %13746

13745:                                            ; preds = %13741, %13735
  br label %13746

13746:                                            ; preds = %13741, %13745
  %.str.81.sink6255 = phi ptr [ @.str.81, %13745 ], [ @.str.78, %13741 ]
  store i32 %13736, ptr %288, align 4, !tbaa !5
  %13747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13748 = load i32, ptr @test_count, align 4, !tbaa !5
  %13749 = load i32, ptr %234, align 4, !tbaa !5
  %13750 = call ptr @s2n_strerror(i32 noundef %13749, ptr noundef nonnull @.str.80) #12
  %13751 = load i32, ptr %234, align 4, !tbaa !5
  %13752 = call ptr @s2n_strerror_debug(i32 noundef %13751, ptr noundef nonnull @.str.80) #12
  %13753 = load i32, ptr %288, align 4, !tbaa !5
  %13754 = call ptr @strerror(i32 noundef %13753) #12
  %13755 = load i32, ptr %288, align 4, !tbaa !5
  %13756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13747, ptr noundef nonnull %.str.81.sink6255, i32 noundef %13748, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.77, i32 noundef 1116, ptr noundef %13750, ptr noundef %13752, ptr noundef %13754, i32 noundef %13755) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13757:                                            ; preds = %13731
  store i32 0, ptr %234, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %288, align 4, !tbaa !5
  %13758 = load i64, ptr %114, align 8, !tbaa !90
  %13759 = add i64 %13758, 1000000001
  store i64 %13759, ptr %13487, align 8, !tbaa !91
  %13760 = load i32, ptr @test_count, align 4, !tbaa !5
  %13761 = add nsw i32 %13760, 1
  store i32 %13761, ptr @test_count, align 4, !tbaa !5
  %13762 = call i32 @s2n_psk_validate_keying_material(ptr noundef nonnull %13378)
  %13763 = call zeroext i1 @s2n_result_is_ok(i32 %13762)
  br i1 %13763, label %13786, label %13764

13764:                                            ; preds = %13757
  %13765 = load i32, ptr %288, align 4, !tbaa !5
  %13766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13767 = call i32 @s2n_print_stacktrace(ptr noundef %13766) #12
  %13768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13769 = trunc nuw i8 %13768 to i1
  br i1 %13769, label %13770, label %13774

13770:                                            ; preds = %13764
  %13771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13772 = call i32 @fileno(ptr noundef %13771) #12
  %13773 = call i32 @isatty(i32 noundef %13772) #12
  %.not1601 = icmp eq i32 %13773, 0
  br i1 %.not1601, label %13774, label %13775

13774:                                            ; preds = %13770, %13764
  br label %13775

13775:                                            ; preds = %13770, %13774
  %.str.81.sink6264 = phi ptr [ @.str.81, %13774 ], [ @.str.78, %13770 ]
  store i32 %13765, ptr %288, align 4, !tbaa !5
  %13776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13777 = load i32, ptr @test_count, align 4, !tbaa !5
  %13778 = load i32, ptr %234, align 4, !tbaa !5
  %13779 = call ptr @s2n_strerror(i32 noundef %13778, ptr noundef nonnull @.str.80) #12
  %13780 = load i32, ptr %234, align 4, !tbaa !5
  %13781 = call ptr @s2n_strerror_debug(i32 noundef %13780, ptr noundef nonnull @.str.80) #12
  %13782 = load i32, ptr %288, align 4, !tbaa !5
  %13783 = call ptr @strerror(i32 noundef %13782) #12
  %13784 = load i32, ptr %288, align 4, !tbaa !5
  %13785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13776, ptr noundef nonnull %.str.81.sink6264, i32 noundef %13777, ptr noundef nonnull @.str.351, ptr noundef nonnull @.str.77, i32 noundef 1120, ptr noundef %13779, ptr noundef %13781, ptr noundef %13783, i32 noundef %13784) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13786:                                            ; preds = %13757
  %13787 = load i32, ptr @test_count, align 4, !tbaa !5
  %13788 = add nsw i32 %13787, 1
  store i32 %13788, ptr @test_count, align 4, !tbaa !5
  %13789 = call i32 @s2n_connection_free(ptr noundef nonnull %13378) #12
  %13790 = icmp eq i32 %13789, -1
  br i1 %13790, label %13791, label %13813

13791:                                            ; preds = %13786
  %13792 = load i32, ptr %288, align 4, !tbaa !5
  %13793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13794 = call i32 @s2n_print_stacktrace(ptr noundef %13793) #12
  %13795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13796 = trunc nuw i8 %13795 to i1
  br i1 %13796, label %13797, label %13801

13797:                                            ; preds = %13791
  %13798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13799 = call i32 @fileno(ptr noundef %13798) #12
  %13800 = call i32 @isatty(i32 noundef %13799) #12
  %.not1608 = icmp eq i32 %13800, 0
  br i1 %.not1608, label %13801, label %13802

13801:                                            ; preds = %13797, %13791
  br label %13802

13802:                                            ; preds = %13797, %13801
  %.str.81.sink6273 = phi ptr [ @.str.81, %13801 ], [ @.str.78, %13797 ]
  store i32 %13792, ptr %288, align 4, !tbaa !5
  %13803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13804 = load i32, ptr @test_count, align 4, !tbaa !5
  %13805 = load i32, ptr %234, align 4, !tbaa !5
  %13806 = call ptr @s2n_strerror(i32 noundef %13805, ptr noundef nonnull @.str.80) #12
  %13807 = load i32, ptr %234, align 4, !tbaa !5
  %13808 = call ptr @s2n_strerror_debug(i32 noundef %13807, ptr noundef nonnull @.str.80) #12
  %13809 = load i32, ptr %288, align 4, !tbaa !5
  %13810 = call ptr @strerror(i32 noundef %13809) #12
  %13811 = load i32, ptr %288, align 4, !tbaa !5
  %13812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13803, ptr noundef nonnull %.str.81.sink6273, i32 noundef %13804, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.77, i32 noundef 1122, ptr noundef %13806, ptr noundef %13808, ptr noundef %13810, i32 noundef %13811) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13813:                                            ; preds = %13786
  %13814 = load i32, ptr @test_count, align 4, !tbaa !5
  %13815 = add nsw i32 %13814, 1
  store i32 %13815, ptr @test_count, align 4, !tbaa !5
  %13816 = call i32 @s2n_config_free(ptr noundef nonnull %13325) #12
  %13817 = icmp eq i32 %13816, -1
  br i1 %13817, label %13818, label %13840

13818:                                            ; preds = %13813
  %13819 = load i32, ptr %288, align 4, !tbaa !5
  %13820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13821 = call i32 @s2n_print_stacktrace(ptr noundef %13820) #12
  %13822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13823 = trunc nuw i8 %13822 to i1
  br i1 %13823, label %13824, label %13828

13824:                                            ; preds = %13818
  %13825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13826 = call i32 @fileno(ptr noundef %13825) #12
  %13827 = call i32 @isatty(i32 noundef %13826) #12
  %.not1607 = icmp eq i32 %13827, 0
  br i1 %.not1607, label %13828, label %13829

13828:                                            ; preds = %13824, %13818
  br label %13829

13829:                                            ; preds = %13824, %13828
  %.str.81.sink6282 = phi ptr [ @.str.81, %13828 ], [ @.str.78, %13824 ]
  store i32 %13819, ptr %288, align 4, !tbaa !5
  %13830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13831 = load i32, ptr @test_count, align 4, !tbaa !5
  %13832 = load i32, ptr %234, align 4, !tbaa !5
  %13833 = call ptr @s2n_strerror(i32 noundef %13832, ptr noundef nonnull @.str.80) #12
  %13834 = load i32, ptr %234, align 4, !tbaa !5
  %13835 = call ptr @s2n_strerror_debug(i32 noundef %13834, ptr noundef nonnull @.str.80) #12
  %13836 = load i32, ptr %288, align 4, !tbaa !5
  %13837 = call ptr @strerror(i32 noundef %13836) #12
  %13838 = load i32, ptr %288, align 4, !tbaa !5
  %13839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13830, ptr noundef nonnull %.str.81.sink6282, i32 noundef %13831, ptr noundef nonnull @.str.323, ptr noundef nonnull @.str.77, i32 noundef 1123, ptr noundef %13833, ptr noundef %13835, ptr noundef %13837, i32 noundef %13838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13840:                                            ; preds = %13813
  %13841 = call i32 @s2n_psk_free(ptr noundef nonnull %115)
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %115) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %114) #12
  %13842 = call i32 @s2n_cleanup() #12
  %13843 = icmp eq i32 %13842, -1
  br i1 %13843, label %13844, label %13866

13844:                                            ; preds = %13840
  %13845 = load i32, ptr %288, align 4, !tbaa !5
  %13846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13847 = call i32 @s2n_print_stacktrace(ptr noundef %13846) #12
  %13848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13849 = trunc nuw i8 %13848 to i1
  br i1 %13849, label %13850, label %13854

13850:                                            ; preds = %13844
  %13851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13852 = call i32 @fileno(ptr noundef %13851) #12
  %13853 = call i32 @isatty(i32 noundef %13852) #12
  %.not1606 = icmp eq i32 %13853, 0
  br i1 %.not1606, label %13854, label %13855

13854:                                            ; preds = %13850, %13844
  br label %13855

13855:                                            ; preds = %13850, %13854
  %.str.81.sink6291 = phi ptr [ @.str.81, %13854 ], [ @.str.78, %13850 ]
  store i32 %13845, ptr %288, align 4, !tbaa !5
  %13856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13857 = load i32, ptr @test_count, align 4, !tbaa !5
  %13858 = load i32, ptr %234, align 4, !tbaa !5
  %13859 = call ptr @s2n_strerror(i32 noundef %13858, ptr noundef nonnull @.str.80) #12
  %13860 = load i32, ptr %234, align 4, !tbaa !5
  %13861 = call ptr @s2n_strerror_debug(i32 noundef %13860, ptr noundef nonnull @.str.80) #12
  %13862 = load i32, ptr %288, align 4, !tbaa !5
  %13863 = call ptr @strerror(i32 noundef %13862) #12
  %13864 = load i32, ptr %288, align 4, !tbaa !5
  %13865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13856, ptr noundef nonnull %.str.81.sink6291, i32 noundef %13857, ptr noundef nonnull @.str.354, ptr noundef nonnull @.str.77, i32 noundef 1126, ptr noundef %13859, ptr noundef %13861, ptr noundef %13863, i32 noundef %13864) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13866:                                            ; preds = %13840
  %13867 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %13868 = icmp eq i32 %13867, -1
  br i1 %13868, label %13869, label %13891

13869:                                            ; preds = %13866
  %13870 = load i32, ptr %288, align 4, !tbaa !5
  %13871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13872 = call i32 @s2n_print_stacktrace(ptr noundef %13871) #12
  %13873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13874 = trunc nuw i8 %13873 to i1
  br i1 %13874, label %13875, label %13879

13875:                                            ; preds = %13869
  %13876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13877 = call i32 @fileno(ptr noundef %13876) #12
  %13878 = call i32 @isatty(i32 noundef %13877) #12
  %.not1605 = icmp eq i32 %13878, 0
  br i1 %.not1605, label %13879, label %13880

13879:                                            ; preds = %13875, %13869
  br label %13880

13880:                                            ; preds = %13875, %13879
  %.str.81.sink6300 = phi ptr [ @.str.81, %13879 ], [ @.str.78, %13875 ]
  store i32 %13870, ptr %288, align 4, !tbaa !5
  %13881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13882 = load i32, ptr @test_count, align 4, !tbaa !5
  %13883 = load i32, ptr %234, align 4, !tbaa !5
  %13884 = call ptr @s2n_strerror(i32 noundef %13883, ptr noundef nonnull @.str.80) #12
  %13885 = load i32, ptr %234, align 4, !tbaa !5
  %13886 = call ptr @s2n_strerror_debug(i32 noundef %13885, ptr noundef nonnull @.str.80) #12
  %13887 = load i32, ptr %288, align 4, !tbaa !5
  %13888 = call ptr @strerror(i32 noundef %13887) #12
  %13889 = load i32, ptr %288, align 4, !tbaa !5
  %13890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13881, ptr noundef nonnull %.str.81.sink6300, i32 noundef %13882, ptr noundef nonnull @.str.355, ptr noundef nonnull @.str.77, i32 noundef 1126, ptr noundef %13884, ptr noundef %13886, ptr noundef %13888, i32 noundef %13889) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13891:                                            ; preds = %13866
  %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 %13905

13894:                                            ; preds = %13891
  %13895 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13896 = call i32 @fileno(ptr noundef %13895) #12
  %13897 = call i32 @isatty(i32 noundef %13896) #12
  %.not1602 = icmp eq i32 %13897, 0
  br i1 %.not1602, label %13905, label %13898

13898:                                            ; preds = %13894
  %13899 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1604 = icmp eq i32 %13899, 0
  %13900 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1604, label %13903, label %13901

13901:                                            ; preds = %13898
  %13902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13900, ptr noundef nonnull @.str.356, i32 noundef %13899) #12
  br label %13912

13903:                                            ; preds = %13898
  %13904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13900, ptr noundef nonnull @.str.357) #12
  br label %13912

13905:                                            ; preds = %13894, %13891
  %13906 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1603 = icmp eq i32 %13906, 0
  %13907 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1603, label %13910, label %13908

13908:                                            ; preds = %13905
  %13909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13907, ptr noundef nonnull @.str.358, i32 noundef %13906) #12
  br label %13912

13910:                                            ; preds = %13905
  %13911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13907, ptr noundef nonnull @.str.359) #12
  br label %13912

13912:                                            ; preds = %.thread1865, %13903, %13901, %13910, %13908, %8354
  %.10 = phi i32 [ %.8, %8354 ], [ 0, %13908 ], [ 0, %13910 ], [ 0, %13901 ], [ 0, %13903 ], [ -1, %.thread1865 ]
  ret i32 %.10
}

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

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

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #4

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #4

declare i32 @s2n_init() local_unnamed_addr #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) local_unnamed_addr #5

declare void @s2n_debug_info_reset() local_unnamed_addr #4

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

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #4

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #4

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

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

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #4

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

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_psk_write_binder(ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #0

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

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

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #4

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

declare ptr @s2n_test_psk_new(ptr noundef) local_unnamed_addr #4

declare ptr @s2n_config_new() local_unnamed_addr #4

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #4

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

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

declare i32 @s2n_cleanup() local_unnamed_addr #4

; 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 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 #6 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #7 = { 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 #8 = { 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 #9 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { 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 #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 0}
!16 = !{!"s2n_psk", !6, i64 0, !17, i64 8, !17, i64 32, !6, i64 56, !6, i64 60, !18, i64 64, !17, i64 72, !19, i64 96, !18, i64 160}
!17 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_early_data_config", !6, i64 0, !7, i64 4, !10, i64 8, !17, i64 16, !17, i64 40}
!20 = !{!16, !6, i64 56}
!21 = !{!16, !6, i64 60}
!22 = !{!16, !18, i64 64}
!23 = !{!16, !6, i64 96}
!24 = !{!16, !6, i64 16}
!25 = !{!16, !10, i64 8}
!26 = !{!7, !7, i64 0}
!27 = !{!16, !6, i64 40}
!28 = !{!16, !10, i64 32}
!29 = !{!16, !6, i64 80}
!30 = !{!16, !10, i64 72}
!31 = !{!32, !6, i64 36}
!32 = !{!"s2n_psk_parameters", !6, i64 0, !33, i64 8, !34, i64 40, !34, i64 42, !10, i64 48, !6, i64 56}
!33 = !{!"s2n_array", !17, i64 0, !6, i64 24, !6, i64 28}
!34 = !{!"short", !7, i64 0}
!35 = !{!32, !34, i64 40}
!36 = !{!32, !34, i64 42}
!37 = !{!32, !10, i64 48}
!38 = !{!32, !6, i64 32}
!39 = distinct !{!39, !40}
!40 = !{!"llvm.loop.mustprogress"}
!41 = !{!42, !34, i64 1728}
!42 = !{!"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, !43, 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, !44, i64 240, !10, i64 632, !10, i64 640, !45, i64 648, !50, i64 1144, !32, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !53, i64 1776, !53, i64 1816, !53, i64 1856, !53, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !53, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !54, i64 2004, !54, i64 2008, !55, i64 2016, !34, i64 2208, !6, i64 2212, !34, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !54, i64 2264, !54, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !17, i64 2792, !6, i64 2816, !17, i64 2824, !17, i64 2848, !17, i64 2872, !57, i64 2896, !59, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !17, i64 3784, !6, i64 3808, !61, i64 3816, !7, i64 3848, !53, i64 3992, !17, i64 4032, !17, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !34, i64 4084, !34, i64 4086, !6, i64 4088, !6, i64 4092, !17, i64 4096, !6, i64 4120, !62, i64 4128, !54, i64 4176, !7, i64 4180, !7, i64 4181}
!43 = !{!"s2n_timer", !18, i64 0}
!44 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!45 = !{!"s2n_kex_parameters", !46, i64 0, !47, i64 8, !7, i64 24, !47, i64 56, !48, i64 72, !48, i64 184, !7, i64 296, !49, i64 360, !17, i64 448, !17, i64 472}
!46 = !{!"s2n_dh_params", !10, i64 0}
!47 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!48 = !{!"s2n_kem_group_params", !10, i64 0, !49, i64 8, !47, i64 96}
!49 = !{!"s2n_kem_params", !10, i64 0, !17, i64 8, !17, i64 32, !17, i64 56, !12, i64 80}
!50 = !{!"s2n_handshake_parameters", !51, i64 0, !51, i64 48, !17, i64 96, !6, i64 120, !52, 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}
!51 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!52 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!53 = !{!"s2n_stuffer", !17, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!54 = !{!"", !6, i64 0}
!55 = !{!"s2n_handshake", !53, 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, !56, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!56 = !{!"s2n_offered_early_data", !10, i64 0}
!57 = !{!"s2n_client_hello", !17, i64 0, !58, i64 24, !17, i64 728, !17, i64 752, !17, 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}
!58 = !{!"", !7, i64 0, !17, i64 672, !34, i64 696}
!59 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !34, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !60, i64 48, !12, i64 52}
!60 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!61 = !{!"s2n_ticket_fields", !17, i64 0, !6, i64 24}
!62 = !{!"s2n_post_handshake", !53, i64 0, !7, i64 40}
!63 = !{!42, !34, i64 1730}
!64 = !{!42, !10, i64 1736}
!65 = !{!34, !34, i64 0}
!66 = !{!53, !6, i64 28}
!67 = !{!53, !6, i64 24}
!68 = !{!42, !6, i64 2172}
!69 = !{!42, !10, i64 232}
!70 = !{!71, !10, i64 0}
!71 = !{!"s2n_crypto_parameters", !10, i64 0, !72, i64 8, !72, i64 16, !73, i64 24, !73, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!72 = !{!"s2n_session_key", !10, i64 0}
!73 = !{!"s2n_hmac_state", !6, i64 0, !34, i64 4, !6, i64 8, !34, i64 12, !7, i64 14, !74, i64 16, !74, i64 72, !74, i64 128, !74, i64 184, !7, i64 240, !7, i64 368}
!74 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!75 = !{!76, !6, i64 96}
!76 = !{!"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}
!77 = !{!17, !6, i64 8}
!78 = !{!17, !10, i64 0}
!79 = !{!42, !6, i64 2044}
!80 = !{!42, !6, i64 2040}
!81 = !{!42, !10, i64 2016}
!82 = !{!42, !6, i64 1720}
!83 = distinct !{!83, !40}
!84 = !{!42, !6, i64 148}
!85 = !{!86, !6, i64 396}
!86 = !{!"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, !87, i64 24, !17, 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, !88, i64 304, !34, 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, !17, i64 448}
!87 = !{!"certs_by_type", !7, i64 0}
!88 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!89 = !{!42, !6, i64 1688}
!90 = !{!18, !18, i64 0}
!91 = !{!16, !18, i64 160}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass