; LLVM IR from aws/s2n-tls :: tests/unit (s2n_config_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_debug_info = type { ptr, ptr }
%struct.s2n_security_policy_selection = type { ptr, ptr, i8 }
%struct.s2n_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_security_policy = type { i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, [2 x i8] }
%struct.s2n_result = type { i32 }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_test_io_stuffer_pair = type { %struct.s2n_stuffer, %struct.s2n_stuffer }
%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 }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_cert_chain_and_key = type { ptr, ptr, %struct.s2n_blob, %struct.s2n_blob, ptr, ptr, ptr }
%struct.s2n_ecc_preferences = type { i8, ptr }
%struct.s2n_certificate_key_preferences = type { i8, ptr }
%struct.s2n_signature_preferences = type { i8, ptr }

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [74 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@__const.main.modes = external hidden unnamed_addr constant [2 x i32], align 4
@.str.9 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [61 x i8], align 1
@__const.main.extension_data = external hidden unnamed_addr constant [15 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [192 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [194 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [194 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [151 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [131 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [99 x i8], align 1
@_s2n_debug_info = external thread_local global %struct.s2n_debug_info, align 8
@.str.154 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [139 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [158 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [45 x i8], align 1
@__const.main.policies = external hidden unnamed_addr constant [2 x ptr], align 16
@.str.210 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [63 x i8], align 1
@security_policy_selection = external global [0 x %struct.s2n_security_policy_selection], align 8
@.str.216 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [169 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [78 x i8], align 1
@s2n_client_supported_groups_extension = external constant %struct.s2n_extension_type, align 8
@.str.221 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [118 x i8], align 1
@security_policy_rfc9151 = external constant %struct.s2n_security_policy, align 8
@.str.232 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.249 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.254 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.255 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.256 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.257 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.258 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.259 = external hidden unnamed_addr constant [69 x i8], align 1
@__const.main.sslv2_client_hello = external hidden unnamed_addr constant [176 x i8], align 16
@.str.260 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.261 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.262 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.263 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.264 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.265 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.266 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.267 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.268 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca [2 x i32], align 4
  %11 = alloca ptr, align 8
  %12 = alloca ptr, align 8
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca [12000 x i8], align 16
  %18 = alloca i32, align 4
  %19 = alloca [12000 x i8], align 16
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca ptr, align 8
  %42 = alloca ptr, align 8
  %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 ptr, align 8
  %50 = alloca ptr, align 8
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca ptr, align 8
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca ptr, align 8
  %67 = alloca i32, align 4
  %68 = alloca i8, align 1
  %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 i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca ptr, align 8
  %82 = alloca i32, align 4
  %83 = alloca ptr, align 8
  %84 = alloca i8, align 1
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca ptr, align 8
  %92 = alloca i32, align 4
  %93 = alloca ptr, align 8
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca ptr, align 8
  %103 = alloca i32, 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 i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca ptr, align 8
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i8, align 1
  %129 = alloca i8, align 1
  %130 = alloca ptr, align 8
  %131 = alloca ptr, align 8
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca [15 x i8], align 1
  %142 = alloca ptr, align 8
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca %struct.s2n_result, align 4
  %148 = alloca ptr, align 8
  %149 = alloca i32, align 4
  %150 = alloca ptr, align 8
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca %struct.s2n_result, align 4
  %159 = alloca %struct.s2n_result, align 4
  %160 = alloca ptr, align 8
  %161 = alloca i32, align 4
  %162 = alloca ptr, align 8
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca %struct.s2n_result, align 4
  %173 = alloca %struct.s2n_result, align 4
  %174 = alloca ptr, align 8
  %175 = alloca i32, align 4
  %176 = alloca ptr, align 8
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca %struct.s2n_result, align 4
  %188 = alloca ptr, align 8
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca %struct.s2n_result, align 4
  %199 = alloca ptr, align 8
  %200 = alloca i32, align 4
  %201 = alloca ptr, align 8
  %202 = alloca i32, align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i32, align 4
  %211 = alloca %struct.s2n_result, align 4
  %212 = alloca %struct.s2n_result, align 4
  %213 = alloca ptr, align 8
  %214 = alloca i32, align 4
  %215 = alloca ptr, align 8
  %216 = alloca i32, align 4
  %217 = alloca ptr, align 8
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca i32, align 4
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca %struct.s2n_result, align 4
  %226 = alloca %struct.s2n_result, align 4
  %227 = alloca %struct.s2n_result, align 4
  %228 = alloca ptr, align 8
  %229 = alloca i32, align 4
  %230 = alloca ptr, align 8
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca %struct.s2n_result, align 4
  %239 = alloca %struct.s2n_result, align 4
  %240 = alloca ptr, align 8
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca i32, align 4
  %244 = alloca i32, align 4
  %245 = alloca i32, align 4
  %246 = alloca i32, align 4
  %247 = alloca i32, align 4
  %248 = alloca i32, align 4
  %249 = alloca i32, align 4
  %250 = alloca %struct.s2n_result, align 4
  %251 = alloca ptr, align 8
  %252 = alloca i32, align 4
  %253 = alloca ptr, align 8
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca %struct.s2n_result, align 4
  %259 = alloca %struct.s2n_result, align 4
  %260 = alloca ptr, align 8
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca ptr, align 8
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca %struct.s2n_result, align 4
  %269 = alloca %struct.s2n_result, align 4
  %270 = alloca ptr, align 8
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca i32, align 4
  %275 = alloca i32, align 4
  %276 = alloca i32, align 4
  %277 = alloca i32, align 4
  %278 = alloca i32, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca i32, align 4
  %282 = alloca i32, align 4
  %283 = alloca i32, align 4
  %284 = alloca i32, align 4
  %285 = alloca i32, align 4
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca %struct.s2n_result, align 4
  %289 = alloca i8, align 1
  %290 = alloca ptr, align 8
  %291 = alloca i32, align 4
  %292 = alloca i32, align 4
  %293 = alloca i32, align 4
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca i32, align 4
  %298 = alloca i32, align 4
  %299 = alloca i32, align 4
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca i32, align 4
  %303 = alloca i32, align 4
  %304 = alloca i32, align 4
  %305 = alloca %struct.s2n_result, align 4
  %306 = alloca ptr, align 8
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca i32, align 4
  %312 = alloca i32, align 4
  %313 = alloca i32, align 4
  %314 = alloca i32, align 4
  %315 = alloca i32, align 4
  %316 = alloca %struct.s2n_result, align 4
  %317 = alloca i8, align 1
  %318 = alloca ptr, align 8
  %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 i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca i32, align 4
  %333 = alloca %struct.s2n_result, align 4
  %334 = alloca i8, align 1
  %335 = alloca ptr, align 8
  %336 = alloca i32, align 4
  %337 = alloca i32, align 4
  %338 = alloca i32, align 4
  %339 = alloca i32, align 4
  %340 = alloca i32, align 4
  %341 = alloca i32, align 4
  %342 = alloca i32, align 4
  %343 = alloca i32, align 4
  %344 = alloca i32, align 4
  %345 = alloca i32, align 4
  %346 = alloca i32, align 4
  %347 = alloca i32, align 4
  %348 = alloca i32, align 4
  %349 = alloca i32, align 4
  %350 = alloca %struct.s2n_result, align 4
  %351 = alloca i64, align 8
  %352 = alloca i32, align 4
  %353 = alloca i32, align 4
  %354 = alloca ptr, align 8
  %355 = alloca i32, align 4
  %356 = alloca i32, align 4
  %357 = alloca i32, align 4
  %358 = alloca ptr, align 8
  %359 = alloca i32, align 4
  %360 = alloca i32, align 4
  %361 = alloca i32, align 4
  %362 = alloca %struct.s2n_result, align 4
  %363 = alloca %struct.s2n_result, align 4
  %364 = alloca ptr, align 8
  %365 = alloca i32, align 4
  %366 = alloca i32, align 4
  %367 = alloca i32, align 4
  %368 = alloca i32, align 4
  %369 = alloca ptr, align 8
  %370 = alloca i32, align 4
  %371 = alloca i32, align 4
  %372 = alloca i32, align 4
  %373 = alloca %struct.s2n_result, align 4
  %374 = alloca %struct.s2n_result, align 4
  %375 = alloca i32, align 4
  %376 = alloca ptr, align 8
  %377 = alloca i32, align 4
  %378 = alloca i32, align 4
  %379 = alloca i32, align 4
  %380 = alloca i32, align 4
  %381 = alloca i32, align 4
  %382 = alloca i32, align 4
  %383 = alloca i32, align 4
  %384 = alloca ptr, align 8
  %385 = alloca i32, align 4
  %386 = alloca i32, align 4
  %387 = alloca i32, align 4
  %388 = alloca i32, align 4
  %389 = alloca %struct.s2n_result, align 4
  %390 = alloca %struct.s2n_result, align 4
  %391 = alloca ptr, align 8
  %392 = alloca i32, align 4
  %393 = alloca i32, align 4
  %394 = alloca i32, align 4
  %395 = alloca ptr, align 8
  %396 = alloca i32, align 4
  %397 = alloca i32, align 4
  %398 = alloca i32, align 4
  %399 = alloca %struct.s2n_result, align 4
  %400 = alloca %struct.s2n_result, align 4
  %401 = alloca ptr, align 8
  %402 = alloca i32, align 4
  %403 = alloca i32, align 4
  %404 = alloca i32, align 4
  %405 = alloca ptr, align 8
  %406 = alloca i32, align 4
  %407 = alloca i32, align 4
  %408 = alloca i32, align 4
  %409 = alloca %struct.s2n_result, align 4
  %410 = alloca %struct.s2n_result, align 4
  %411 = alloca i32, align 4
  %412 = alloca [12000 x i8], align 16
  %413 = alloca i32, align 4
  %414 = alloca ptr, align 8
  %415 = alloca i32, align 4
  %416 = alloca i32, align 4
  %417 = alloca i32, align 4
  %418 = alloca ptr, align 8
  %419 = alloca i32, align 4
  %420 = alloca i32, align 4
  %421 = alloca i32, align 4
  %422 = alloca ptr, align 8
  %423 = alloca i32, align 4
  %424 = alloca i32, align 4
  %425 = alloca i32, align 4
  %426 = alloca i32, align 4
  %427 = alloca i32, align 4
  %428 = alloca %struct.s2n_result, align 4
  %429 = alloca %struct.s2n_result, align 4
  %430 = alloca i32, align 4
  %431 = alloca i32, align 4
  %432 = alloca i32, align 4
  %433 = alloca ptr, align 8
  %434 = alloca i32, align 4
  %435 = alloca i32, align 4
  %436 = alloca i32, align 4
  %437 = alloca i32, align 4
  %438 = alloca i32, align 4
  %439 = alloca i32, align 4
  %440 = alloca i32, align 4
  %441 = alloca i32, align 4
  %442 = alloca i32, align 4
  %443 = alloca i32, align 4
  %444 = alloca i32, align 4
  %445 = alloca %struct.s2n_result, align 4
  %446 = alloca ptr, align 8
  %447 = alloca i32, align 4
  %448 = alloca i32, align 4
  %449 = alloca i32, align 4
  %450 = alloca i32, align 4
  %451 = alloca i32, align 4
  %452 = alloca i32, align 4
  %453 = alloca i32, align 4
  %454 = alloca i32, align 4
  %455 = alloca %struct.s2n_result, align 4
  %456 = alloca ptr, align 8
  %457 = alloca i32, align 4
  %458 = alloca i32, align 4
  %459 = alloca ptr, align 8
  %460 = alloca i32, align 4
  %461 = alloca i32, align 4
  %462 = alloca i32, align 4
  %463 = alloca i32, align 4
  %464 = alloca i32, align 4
  %465 = alloca i32, align 4
  %466 = alloca i32, align 4
  %467 = alloca i32, align 4
  %468 = alloca i32, align 4
  %469 = alloca i32, align 4
  %470 = alloca i32, align 4
  %471 = alloca %struct.s2n_result, align 4
  %472 = alloca ptr, align 8
  %473 = alloca i32, align 4
  %474 = alloca i32, align 4
  %475 = alloca i32, align 4
  %476 = alloca i32, align 4
  %477 = alloca i32, align 4
  %478 = alloca i32, align 4
  %479 = alloca ptr, align 8
  %480 = alloca i32, align 4
  %481 = alloca i32, align 4
  %482 = alloca i32, align 4
  %483 = alloca i32, align 4
  %484 = alloca i32, align 4
  %485 = alloca i32, align 4
  %486 = alloca i32, align 4
  %487 = alloca i32, align 4
  %488 = alloca i32, align 4
  %489 = alloca i32, align 4
  %490 = alloca i32, align 4
  %491 = alloca i32, align 4
  %492 = alloca i32, align 4
  %493 = alloca i32, align 4
  %494 = alloca i32, align 4
  %495 = alloca i32, align 4
  %496 = alloca %struct.s2n_result, align 4
  %497 = alloca ptr, align 8
  %498 = alloca i32, align 4
  %499 = alloca ptr, align 8
  %500 = alloca i32, align 4
  %501 = alloca i32, align 4
  %502 = alloca i32, align 4
  %503 = alloca ptr, align 8
  %504 = alloca i32, align 4
  %505 = alloca i32, align 4
  %506 = alloca ptr, align 8
  %507 = alloca i32, align 4
  %508 = alloca i32, align 4
  %509 = alloca i32, align 4
  %510 = alloca ptr, align 8
  %511 = alloca i32, align 4
  %512 = alloca i32, align 4
  %513 = alloca i32, align 4
  %514 = alloca %struct.s2n_test_io_pair, align 4
  %515 = alloca i32, align 4
  %516 = alloca i32, align 4
  %517 = alloca i32, align 4
  %518 = alloca i32, align 4
  %519 = alloca i32, align 4
  %520 = alloca i32, align 4
  %521 = alloca i32, align 4
  %522 = alloca %struct.s2n_result, align 4
  %523 = alloca %struct.s2n_result, align 4
  %524 = alloca %struct.s2n_result, align 4
  %525 = alloca %struct.s2n_result, align 4
  %526 = alloca ptr, align 8
  %527 = alloca i32, align 4
  %528 = alloca i32, align 4
  %529 = alloca i32, align 4
  %530 = alloca ptr, align 8
  %531 = alloca i32, align 4
  %532 = alloca i32, align 4
  %533 = alloca ptr, align 8
  %534 = alloca i32, align 4
  %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 %struct.s2n_test_io_pair, align 4
  %541 = alloca i32, align 4
  %542 = alloca i32, align 4
  %543 = alloca i32, align 4
  %544 = alloca i32, align 4
  %545 = alloca i32, align 4
  %546 = alloca i32, align 4
  %547 = alloca i32, align 4
  %548 = alloca i32, align 4
  %549 = alloca i32, align 4
  %550 = alloca %struct.s2n_result, align 4
  %551 = alloca %struct.s2n_result, align 4
  %552 = alloca %struct.s2n_result, align 4
  %553 = alloca %struct.s2n_result, align 4
  %554 = alloca %struct.s2n_result, align 4
  %555 = alloca i32, align 4
  %556 = alloca i32, align 4
  %557 = alloca i32, align 4
  %558 = alloca ptr, align 8
  %559 = alloca i32, align 4
  %560 = alloca i32, align 4
  %561 = alloca i32, align 4
  %562 = alloca i32, align 4
  %563 = alloca %struct.s2n_result, align 4
  %564 = alloca ptr, align 8
  %565 = alloca i32, align 4
  %566 = alloca [30 x i16], align 16
  %567 = alloca i16, align 2
  %568 = alloca i32, align 4
  %569 = alloca i32, align 4
  %570 = alloca i32, align 4
  %571 = alloca i32, align 4
  %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 i32, align 4
  %578 = alloca i32, align 4
  %579 = alloca i32, align 4
  %580 = alloca i32, align 4
  %581 = alloca %struct.s2n_result, align 4
  %582 = alloca [2 x ptr], align 16
  %583 = alloca i64, align 8
  %584 = alloca ptr, align 8
  %585 = alloca i32, 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 i32, align 4
  %591 = alloca [30 x i16], align 16
  %592 = alloca i16, align 2
  %593 = alloca i64, align 8
  %594 = alloca i32, align 4
  %595 = alloca i32, align 4
  %596 = alloca i32, align 4
  %597 = alloca i32, align 4
  %598 = alloca i32, align 4
  %599 = alloca i32, align 4
  %600 = alloca i32, align 4
  %601 = alloca %struct.s2n_result, align 4
  %602 = alloca i64, align 8
  %603 = alloca ptr, align 8
  %604 = alloca i32, align 4
  %605 = alloca i32, align 4
  %606 = alloca %struct.s2n_result, align 4
  %607 = alloca i32, align 4
  %608 = alloca ptr, align 8
  %609 = alloca i32, align 4
  %610 = alloca [30 x i16], align 16
  %611 = alloca i16, align 2
  %612 = alloca i32, align 4
  %613 = alloca i32, align 4
  %614 = alloca ptr, align 8
  %615 = alloca i32, align 4
  %616 = alloca i32, align 4
  %617 = alloca %struct.s2n_stuffer, align 8
  %618 = alloca i32, align 4
  %619 = alloca i32, align 4
  %620 = alloca i16, align 2
  %621 = alloca %struct.s2n_result, align 4
  %622 = alloca i32, align 4
  %623 = alloca i32, align 4
  %624 = alloca i64, align 8
  %625 = alloca i16, align 2
  %626 = alloca i32, align 4
  %627 = alloca %struct.s2n_result, align 4
  %628 = alloca %struct.s2n_result, align 4
  %629 = alloca ptr, align 8
  %630 = alloca ptr, align 8
  %631 = alloca i32, align 4
  %632 = alloca i32, align 4
  %633 = alloca %struct.s2n_security_policy, align 8
  %634 = alloca ptr, align 8
  %635 = alloca i32, align 4
  %636 = alloca %struct.s2n_result, align 4
  %637 = alloca i32, align 4
  %638 = alloca %struct.s2n_result, align 4
  %639 = alloca %struct.s2n_security_policy, align 8
  %640 = alloca ptr, align 8
  %641 = alloca i32, align 4
  %642 = alloca %struct.s2n_result, align 4
  %643 = alloca i32, align 4
  %644 = alloca %struct.s2n_result, align 4
  %645 = alloca ptr, align 8
  %646 = alloca i32, align 4
  %647 = alloca i32, align 4
  %648 = alloca %struct.s2n_result, align 4
  %649 = alloca i32, align 4
  %650 = alloca i32, align 4
  %651 = alloca %struct.s2n_result, align 4
  %652 = alloca i32, align 4
  %653 = alloca i32, align 4
  %654 = alloca i32, align 4
  %655 = alloca %struct.s2n_result, align 4
  %656 = alloca ptr, align 8
  %657 = alloca i32, align 4
  %658 = alloca i32, align 4
  %659 = alloca %struct.s2n_result, align 4
  %660 = alloca i32, align 4
  %661 = alloca i32, align 4
  %662 = alloca i32, align 4
  %663 = alloca %struct.s2n_result, align 4
  %664 = alloca %struct.s2n_security_policy, align 8
  %665 = alloca i32, align 4
  %666 = alloca i32, align 4
  %667 = alloca i32, align 4
  %668 = alloca i32, align 4
  %669 = alloca ptr, align 8
  %670 = alloca i32, align 4
  %671 = alloca i32, align 4
  %672 = alloca %struct.s2n_result, align 4
  %673 = alloca i32, align 4
  %674 = alloca %struct.s2n_result, align 4
  %675 = alloca i32, align 4
  %676 = alloca i32, align 4
  %677 = alloca i32, align 4
  %678 = alloca %struct.s2n_result, align 4
  %679 = alloca i32, align 4
  %680 = alloca %struct.s2n_result, align 4
  %681 = alloca %struct.s2n_result, align 4
  %682 = alloca %struct.s2n_result, align 4
  %683 = alloca ptr, align 8
  %684 = alloca i32, align 4
  %685 = alloca i32, align 4
  %686 = alloca ptr, align 8
  %687 = alloca i32, align 4
  %688 = alloca i32, align 4
  %689 = alloca [2 x ptr], align 16
  %690 = alloca i64, align 8
  %691 = alloca ptr, align 8
  %692 = alloca i32, align 4
  %693 = alloca ptr, align 8
  %694 = alloca i32, align 4
  %695 = alloca i32, align 4
  %696 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %697 = alloca %struct.s2n_result, align 4
  %698 = alloca i32, align 4
  %699 = alloca %struct.s2n_result, align 4
  %700 = alloca i32, align 4
  %701 = alloca i32, align 4
  %702 = alloca i32, align 4
  %703 = alloca i32, align 4
  %704 = alloca %struct.s2n_result, align 4
  %705 = alloca %struct.s2n_result, align 4
  %706 = alloca %struct.s2n_result, align 4
  %707 = alloca %struct.s2n_result, align 4
  %708 = alloca %struct.s2n_result, align 4
  %709 = alloca [176 x i8], align 16
  %710 = alloca %struct.s2n_blob, align 8
  %711 = alloca i32, align 4
  %712 = alloca ptr, align 8
  %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 %struct.s2n_result, align 4
  %719 = alloca i32, align 4
  %720 = 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 %721

721:                                              ; preds = %2
  br label %722

722:                                              ; preds = %721
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %723 = load ptr, ptr @stdout, align 8, !tbaa !9
  %724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %723, ptr noundef @.str, ptr noundef @.str.1) #11
  %725 = load ptr, ptr @stdout, align 8, !tbaa !9
  %726 = call i32 @fflush(ptr noundef %725)
  br label %727

727:                                              ; preds = %722
  %728 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %729 = icmp eq i32 %728, -1
  br i1 %729, label %730, label %781

730:                                              ; preds = %727
  br label %731

731:                                              ; preds = %730
  br label %732

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

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

744:                                              ; preds = %739
  %745 = load i32, ptr %6, align 4, !tbaa !5
  %746 = call ptr @__errno_location() #12
  store i32 %745, ptr %746, align 4, !tbaa !5
  %747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %748 = load i32, ptr @test_count, align 4, !tbaa !5
  %749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %750 = load i32, ptr %749, align 4, !tbaa !5
  %751 = call ptr @s2n_strerror(i32 noundef %750, ptr noundef @.str.4)
  %752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %753 = load i32, ptr %752, align 4, !tbaa !5
  %754 = call ptr @s2n_strerror_debug(i32 noundef %753, ptr noundef @.str.4)
  %755 = call ptr @__errno_location() #12
  %756 = load i32, ptr %755, align 4, !tbaa !5
  %757 = call ptr @strerror(i32 noundef %756) #11
  %758 = call ptr @__errno_location() #12
  %759 = load i32, ptr %758, align 4, !tbaa !5
  %760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %747, ptr noundef @.str.2, i32 noundef %748, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 71, ptr noundef %751, ptr noundef %754, ptr noundef %757, i32 noundef %759) #11
  br label %778

761:                                              ; preds = %739, %732
  %762 = load i32, ptr %6, align 4, !tbaa !5
  %763 = call ptr @__errno_location() #12
  store i32 %762, ptr %763, align 4, !tbaa !5
  %764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %765 = load i32, ptr @test_count, align 4, !tbaa !5
  %766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %767 = load i32, ptr %766, align 4, !tbaa !5
  %768 = call ptr @s2n_strerror(i32 noundef %767, ptr noundef @.str.4)
  %769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %770 = load i32, ptr %769, align 4, !tbaa !5
  %771 = call ptr @s2n_strerror_debug(i32 noundef %770, ptr noundef @.str.4)
  %772 = call ptr @__errno_location() #12
  %773 = load i32, ptr %772, align 4, !tbaa !5
  %774 = call ptr @strerror(i32 noundef %773) #11
  %775 = call ptr @__errno_location() #12
  %776 = load i32, ptr %775, align 4, !tbaa !5
  %777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %764, ptr noundef @.str.5, i32 noundef %765, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 71, ptr noundef %768, ptr noundef %771, ptr noundef %774, i32 noundef %776) #11
  br label %778

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

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

780:                                              ; No predecessors!
  br label %781

781:                                              ; preds = %780, %727
  br label %782

782:                                              ; preds = %781
  br label %783

783:                                              ; preds = %782
  %784 = load i32, ptr @test_count, align 4, !tbaa !5
  %785 = add nsw i32 %784, 1
  store i32 %785, ptr @test_count, align 4, !tbaa !5
  %786 = call i32 @s2n_enable_atexit()
  %787 = icmp eq i32 %786, -1
  br i1 %787, label %788, label %839

788:                                              ; preds = %783
  br label %789

789:                                              ; preds = %788
  br label %790

790:                                              ; preds = %789
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %791 = call ptr @__errno_location() #12
  %792 = load i32, ptr %791, align 4, !tbaa !5
  store i32 %792, ptr %7, align 4, !tbaa !5
  %793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %794 = call i32 @s2n_print_stacktrace(ptr noundef %793)
  %795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %796 = trunc i8 %795 to i1
  br i1 %796, label %797, label %819

797:                                              ; preds = %790
  %798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %799 = call i32 @fileno(ptr noundef %798) #11
  %800 = call i32 @isatty(i32 noundef %799) #11
  %801 = icmp ne i32 %800, 0
  br i1 %801, label %802, label %819

802:                                              ; preds = %797
  %803 = load i32, ptr %7, align 4, !tbaa !5
  %804 = call ptr @__errno_location() #12
  store i32 %803, ptr %804, align 4, !tbaa !5
  %805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %806 = load i32, ptr @test_count, align 4, !tbaa !5
  %807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %808 = load i32, ptr %807, align 4, !tbaa !5
  %809 = call ptr @s2n_strerror(i32 noundef %808, ptr noundef @.str.4)
  %810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %811 = load i32, ptr %810, align 4, !tbaa !5
  %812 = call ptr @s2n_strerror_debug(i32 noundef %811, ptr noundef @.str.4)
  %813 = call ptr @__errno_location() #12
  %814 = load i32, ptr %813, align 4, !tbaa !5
  %815 = call ptr @strerror(i32 noundef %814) #11
  %816 = call ptr @__errno_location() #12
  %817 = load i32, ptr %816, align 4, !tbaa !5
  %818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %805, ptr noundef @.str.2, i32 noundef %806, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 71, ptr noundef %809, ptr noundef %812, ptr noundef %815, i32 noundef %817) #11
  br label %836

819:                                              ; preds = %797, %790
  %820 = load i32, ptr %7, align 4, !tbaa !5
  %821 = call ptr @__errno_location() #12
  store i32 %820, ptr %821, align 4, !tbaa !5
  %822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %823 = load i32, ptr @test_count, align 4, !tbaa !5
  %824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %825 = load i32, ptr %824, align 4, !tbaa !5
  %826 = call ptr @s2n_strerror(i32 noundef %825, ptr noundef @.str.4)
  %827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %828 = load i32, ptr %827, align 4, !tbaa !5
  %829 = call ptr @s2n_strerror_debug(i32 noundef %828, ptr noundef @.str.4)
  %830 = call ptr @__errno_location() #12
  %831 = load i32, ptr %830, align 4, !tbaa !5
  %832 = call ptr @strerror(i32 noundef %831) #11
  %833 = call ptr @__errno_location() #12
  %834 = load i32, ptr %833, align 4, !tbaa !5
  %835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %822, ptr noundef @.str.5, i32 noundef %823, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 71, ptr noundef %826, ptr noundef %829, ptr noundef %832, i32 noundef %834) #11
  br label %836

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

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

838:                                              ; No predecessors!
  br label %839

839:                                              ; preds = %838, %783
  br label %840

840:                                              ; preds = %839
  br label %841

841:                                              ; preds = %840
  br label %842

842:                                              ; preds = %841
  %843 = call i32 @s2n_init()
  %844 = icmp eq i32 %843, -1
  br i1 %844, label %845, label %896

845:                                              ; preds = %842
  br label %846

846:                                              ; preds = %845
  br label %847

847:                                              ; preds = %846
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %848 = call ptr @__errno_location() #12
  %849 = load i32, ptr %848, align 4, !tbaa !5
  store i32 %849, ptr %8, align 4, !tbaa !5
  %850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %851 = call i32 @s2n_print_stacktrace(ptr noundef %850)
  %852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %853 = trunc i8 %852 to i1
  br i1 %853, label %854, label %876

854:                                              ; preds = %847
  %855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %856 = call i32 @fileno(ptr noundef %855) #11
  %857 = call i32 @isatty(i32 noundef %856) #11
  %858 = icmp ne i32 %857, 0
  br i1 %858, label %859, label %876

859:                                              ; preds = %854
  %860 = load i32, ptr %8, align 4, !tbaa !5
  %861 = call ptr @__errno_location() #12
  store i32 %860, ptr %861, align 4, !tbaa !5
  %862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %863 = load i32, ptr @test_count, align 4, !tbaa !5
  %864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %865 = load i32, ptr %864, align 4, !tbaa !5
  %866 = call ptr @s2n_strerror(i32 noundef %865, ptr noundef @.str.4)
  %867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %868 = load i32, ptr %867, align 4, !tbaa !5
  %869 = call ptr @s2n_strerror_debug(i32 noundef %868, ptr noundef @.str.4)
  %870 = call ptr @__errno_location() #12
  %871 = load i32, ptr %870, align 4, !tbaa !5
  %872 = call ptr @strerror(i32 noundef %871) #11
  %873 = call ptr @__errno_location() #12
  %874 = load i32, ptr %873, align 4, !tbaa !5
  %875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %862, ptr noundef @.str.2, i32 noundef %863, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 71, ptr noundef %866, ptr noundef %869, ptr noundef %872, i32 noundef %874) #11
  br label %893

876:                                              ; preds = %854, %847
  %877 = load i32, ptr %8, align 4, !tbaa !5
  %878 = call ptr @__errno_location() #12
  store i32 %877, ptr %878, align 4, !tbaa !5
  %879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %880 = load i32, ptr @test_count, align 4, !tbaa !5
  %881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %882 = load i32, ptr %881, align 4, !tbaa !5
  %883 = call ptr @s2n_strerror(i32 noundef %882, ptr noundef @.str.4)
  %884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %885 = load i32, ptr %884, align 4, !tbaa !5
  %886 = call ptr @s2n_strerror_debug(i32 noundef %885, ptr noundef @.str.4)
  %887 = call ptr @__errno_location() #12
  %888 = load i32, ptr %887, align 4, !tbaa !5
  %889 = call ptr @strerror(i32 noundef %888) #11
  %890 = call ptr @__errno_location() #12
  %891 = load i32, ptr %890, align 4, !tbaa !5
  %892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %879, ptr noundef @.str.5, i32 noundef %880, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 71, ptr noundef %883, ptr noundef %886, ptr noundef %889, i32 noundef %891) #11
  br label %893

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

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

895:                                              ; No predecessors!
  br label %896

896:                                              ; preds = %895, %842
  br label %897

897:                                              ; preds = %896
  br label %898

898:                                              ; preds = %897
  br label %899

899:                                              ; preds = %898
  %900 = load i32, ptr @test_count, align 4, !tbaa !5
  %901 = add nsw i32 %900, 1
  store i32 %901, ptr @test_count, align 4, !tbaa !5
  %902 = call i32 (...) @s2n_disable_tls13_in_test()
  %903 = icmp eq i32 %902, -1
  br i1 %903, label %904, label %955

904:                                              ; preds = %899
  br label %905

905:                                              ; preds = %904
  br label %906

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

913:                                              ; preds = %906
  %914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %915 = call i32 @fileno(ptr noundef %914) #11
  %916 = call i32 @isatty(i32 noundef %915) #11
  %917 = icmp ne i32 %916, 0
  br i1 %917, label %918, label %935

918:                                              ; preds = %913
  %919 = load i32, ptr %9, align 4, !tbaa !5
  %920 = call ptr @__errno_location() #12
  store i32 %919, ptr %920, align 4, !tbaa !5
  %921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %922 = load i32, ptr @test_count, align 4, !tbaa !5
  %923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %924 = load i32, ptr %923, align 4, !tbaa !5
  %925 = call ptr @s2n_strerror(i32 noundef %924, ptr noundef @.str.4)
  %926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %927 = load i32, ptr %926, align 4, !tbaa !5
  %928 = call ptr @s2n_strerror_debug(i32 noundef %927, ptr noundef @.str.4)
  %929 = call ptr @__errno_location() #12
  %930 = load i32, ptr %929, align 4, !tbaa !5
  %931 = call ptr @strerror(i32 noundef %930) #11
  %932 = call ptr @__errno_location() #12
  %933 = load i32, ptr %932, align 4, !tbaa !5
  %934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %921, ptr noundef @.str.2, i32 noundef %922, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 72, ptr noundef %925, ptr noundef %928, ptr noundef %931, i32 noundef %933) #11
  br label %952

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

952:                                              ; preds = %935, %918
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #11
  br label %953

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

954:                                              ; No predecessors!
  br label %955

955:                                              ; preds = %954, %899
  br label %956

956:                                              ; preds = %955
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 4 %10, ptr align 4 @__const.main.modes, i64 8, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %11) #11
  store ptr null, ptr %11, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #11
  store ptr null, ptr %12, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #11
  store ptr null, ptr %13, align 8, !tbaa !9
  br label %957

957:                                              ; preds = %956
  %958 = load i32, ptr @test_count, align 4, !tbaa !5
  %959 = add nsw i32 %958, 1
  store i32 %959, ptr @test_count, align 4, !tbaa !5
  %960 = call i32 @s2n_find_security_policy_from_version(ptr noundef @.str.9, ptr noundef %12)
  %961 = icmp eq i32 %960, -1
  br i1 %961, label %962, label %1015

962:                                              ; preds = %957
  br label %963

963:                                              ; preds = %962
  br label %964

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

971:                                              ; preds = %964
  %972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %973 = call i32 @fileno(ptr noundef %972) #11
  %974 = call i32 @isatty(i32 noundef %973) #11
  %975 = icmp ne i32 %974, 0
  br i1 %975, label %976, label %993

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

993:                                              ; preds = %971, %964
  %994 = load i32, ptr %14, align 4, !tbaa !5
  %995 = call ptr @__errno_location() #12
  store i32 %994, ptr %995, align 4, !tbaa !5
  %996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %997 = load i32, ptr @test_count, align 4, !tbaa !5
  %998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %999 = load i32, ptr %998, align 4, !tbaa !5
  %1000 = call ptr @s2n_strerror(i32 noundef %999, ptr noundef @.str.4)
  %1001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = call ptr @s2n_strerror_debug(i32 noundef %1002, ptr noundef @.str.4)
  %1004 = call ptr @__errno_location() #12
  %1005 = load i32, ptr %1004, align 4, !tbaa !5
  %1006 = call ptr @strerror(i32 noundef %1005) #11
  %1007 = call ptr @__errno_location() #12
  %1008 = load i32, ptr %1007, align 4, !tbaa !5
  %1009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %996, ptr noundef @.str.5, i32 noundef %997, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 77, ptr noundef %1000, ptr noundef %1003, ptr noundef %1006, i32 noundef %1008) #11
  br label %1010

1010:                                             ; preds = %993, %976
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  br label %1011

1011:                                             ; preds = %1010
  br label %1012

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

1013:                                             ; No predecessors!
  br label %1014

1014:                                             ; preds = %1013
  br label %1015

1015:                                             ; preds = %1014, %957
  br label %1016

1016:                                             ; preds = %1015
  br label %1017

1017:                                             ; preds = %1016
  br label %1018

1018:                                             ; preds = %1017
  %1019 = load i32, ptr @test_count, align 4, !tbaa !5
  %1020 = add nsw i32 %1019, 1
  store i32 %1020, ptr @test_count, align 4, !tbaa !5
  %1021 = call i32 @s2n_find_security_policy_from_version(ptr noundef @.str.11, ptr noundef %13)
  %1022 = icmp eq i32 %1021, -1
  br i1 %1022, label %1023, label %1076

1023:                                             ; preds = %1018
  br label %1024

1024:                                             ; preds = %1023
  br label %1025

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

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

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

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

1071:                                             ; preds = %1054, %1037
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %1072

1072:                                             ; preds = %1071
  br label %1073

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

1074:                                             ; No predecessors!
  br label %1075

1075:                                             ; preds = %1074
  br label %1076

1076:                                             ; preds = %1075, %1018
  br label %1077

1077:                                             ; preds = %1076
  br label %1078

1078:                                             ; preds = %1077
  br label %1079

1079:                                             ; preds = %1078
  %1080 = load i32, ptr @test_count, align 4, !tbaa !5
  %1081 = add nsw i32 %1080, 1
  store i32 %1081, ptr @test_count, align 4, !tbaa !5
  %1082 = call i32 @s2n_find_security_policy_from_version(ptr noundef @.str.13, ptr noundef %11)
  %1083 = icmp eq i32 %1082, -1
  br i1 %1083, label %1084, label %1137

1084:                                             ; preds = %1079
  br label %1085

1085:                                             ; preds = %1084
  br label %1086

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

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

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

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

1132:                                             ; preds = %1115, %1098
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  br label %1133

1133:                                             ; preds = %1132
  br label %1134

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

1135:                                             ; No predecessors!
  br label %1136

1136:                                             ; preds = %1135
  br label %1137

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

1138:                                             ; preds = %1137
  br label %1139

1139:                                             ; preds = %1138
  call void @llvm.lifetime.start.p0(i64 12000, ptr %17) #11
  call void @llvm.memset.p0.i64(ptr align 16 %17, i8 0, i64 12000, i1 false)
  br label %1140

1140:                                             ; preds = %1139
  %1141 = load i32, ptr @test_count, align 4, !tbaa !5
  %1142 = add nsw i32 %1141, 1
  store i32 %1142, ptr @test_count, align 4, !tbaa !5
  %1143 = getelementptr inbounds [12000 x i8], ptr %17, i64 0, i64 0
  %1144 = call i32 @s2n_read_test_pem(ptr noundef @.str.15, ptr noundef %1143, i64 noundef 12000)
  %1145 = icmp eq i32 %1144, -1
  br i1 %1145, label %1146, label %1199

1146:                                             ; preds = %1140
  br label %1147

1147:                                             ; preds = %1146
  br label %1148

1148:                                             ; preds = %1147
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %1149 = call ptr @__errno_location() #12
  %1150 = load i32, ptr %1149, align 4, !tbaa !5
  store i32 %1150, ptr %18, align 4, !tbaa !5
  %1151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1152 = call i32 @s2n_print_stacktrace(ptr noundef %1151)
  %1153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1154 = trunc i8 %1153 to i1
  br i1 %1154, label %1155, label %1177

1155:                                             ; preds = %1148
  %1156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1157 = call i32 @fileno(ptr noundef %1156) #11
  %1158 = call i32 @isatty(i32 noundef %1157) #11
  %1159 = icmp ne i32 %1158, 0
  br i1 %1159, label %1160, label %1177

1160:                                             ; preds = %1155
  %1161 = load i32, ptr %18, 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.4)
  %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.4)
  %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.2, i32 noundef %1164, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1167, ptr noundef %1170, ptr noundef %1173, i32 noundef %1175) #11
  br label %1194

1177:                                             ; preds = %1155, %1148
  %1178 = load i32, ptr %18, align 4, !tbaa !5
  %1179 = call ptr @__errno_location() #12
  store i32 %1178, ptr %1179, align 4, !tbaa !5
  %1180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1181 = load i32, ptr @test_count, align 4, !tbaa !5
  %1182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1183 = load i32, ptr %1182, align 4, !tbaa !5
  %1184 = call ptr @s2n_strerror(i32 noundef %1183, ptr noundef @.str.4)
  %1185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1186 = load i32, ptr %1185, align 4, !tbaa !5
  %1187 = call ptr @s2n_strerror_debug(i32 noundef %1186, ptr noundef @.str.4)
  %1188 = call ptr @__errno_location() #12
  %1189 = load i32, ptr %1188, align 4, !tbaa !5
  %1190 = call ptr @strerror(i32 noundef %1189) #11
  %1191 = call ptr @__errno_location() #12
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1180, ptr noundef @.str.5, i32 noundef %1181, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1184, ptr noundef %1187, ptr noundef %1190, i32 noundef %1192) #11
  br label %1194

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

1195:                                             ; preds = %1194
  br label %1196

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

1197:                                             ; No predecessors!
  br label %1198

1198:                                             ; preds = %1197
  br label %1199

1199:                                             ; preds = %1198, %1140
  br label %1200

1200:                                             ; preds = %1199
  br label %1201

1201:                                             ; preds = %1200
  call void @llvm.lifetime.start.p0(i64 12000, ptr %19) #11
  call void @llvm.memset.p0.i64(ptr align 16 %19, i8 0, i64 12000, i1 false)
  br label %1202

1202:                                             ; preds = %1201
  %1203 = load i32, ptr @test_count, align 4, !tbaa !5
  %1204 = add nsw i32 %1203, 1
  store i32 %1204, ptr @test_count, align 4, !tbaa !5
  %1205 = getelementptr inbounds [12000 x i8], ptr %19, i64 0, i64 0
  %1206 = call i32 @s2n_read_test_pem(ptr noundef @.str.17, ptr noundef %1205, i64 noundef 12000)
  %1207 = icmp eq i32 %1206, -1
  br i1 %1207, label %1208, label %1261

1208:                                             ; preds = %1202
  br label %1209

1209:                                             ; preds = %1208
  br label %1210

1210:                                             ; preds = %1209
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %1211 = call ptr @__errno_location() #12
  %1212 = load i32, ptr %1211, align 4, !tbaa !5
  store i32 %1212, ptr %20, align 4, !tbaa !5
  %1213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1214 = call i32 @s2n_print_stacktrace(ptr noundef %1213)
  %1215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1216 = trunc i8 %1215 to i1
  br i1 %1216, label %1217, label %1239

1217:                                             ; preds = %1210
  %1218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1219 = call i32 @fileno(ptr noundef %1218) #11
  %1220 = call i32 @isatty(i32 noundef %1219) #11
  %1221 = icmp ne i32 %1220, 0
  br i1 %1221, label %1222, label %1239

1222:                                             ; preds = %1217
  %1223 = load i32, ptr %20, 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.4)
  %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.4)
  %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.2, i32 noundef %1226, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1229, ptr noundef %1232, ptr noundef %1235, i32 noundef %1237) #11
  br label %1256

1239:                                             ; preds = %1217, %1210
  %1240 = load i32, ptr %20, align 4, !tbaa !5
  %1241 = call ptr @__errno_location() #12
  store i32 %1240, ptr %1241, align 4, !tbaa !5
  %1242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1243 = load i32, ptr @test_count, align 4, !tbaa !5
  %1244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1245 = load i32, ptr %1244, align 4, !tbaa !5
  %1246 = call ptr @s2n_strerror(i32 noundef %1245, ptr noundef @.str.4)
  %1247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1248 = load i32, ptr %1247, align 4, !tbaa !5
  %1249 = call ptr @s2n_strerror_debug(i32 noundef %1248, ptr noundef @.str.4)
  %1250 = call ptr @__errno_location() #12
  %1251 = load i32, ptr %1250, align 4, !tbaa !5
  %1252 = call ptr @strerror(i32 noundef %1251) #11
  %1253 = call ptr @__errno_location() #12
  %1254 = load i32, ptr %1253, align 4, !tbaa !5
  %1255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1242, ptr noundef @.str.5, i32 noundef %1243, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1246, ptr noundef %1249, ptr noundef %1252, i32 noundef %1254) #11
  br label %1256

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

1257:                                             ; preds = %1256
  br label %1258

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

1259:                                             ; No predecessors!
  br label %1260

1260:                                             ; preds = %1259
  br label %1261

1261:                                             ; preds = %1260, %1202
  br label %1262

1262:                                             ; preds = %1261
  br label %1263

1263:                                             ; preds = %1262
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #11
  store ptr null, ptr %21, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #11
  store ptr null, ptr %22, align 8, !tbaa !9
  br label %1264

1264:                                             ; preds = %1263
  %1265 = load i32, ptr @test_count, align 4, !tbaa !5
  %1266 = add nsw i32 %1265, 1
  store i32 %1266, ptr @test_count, align 4, !tbaa !5
  %1267 = call ptr @s2n_config_new()
  store ptr %1267, ptr %21, align 8, !tbaa !9
  %1268 = icmp eq ptr %1267, null
  br i1 %1268, label %1269, label %1322

1269:                                             ; preds = %1264
  br label %1270

1270:                                             ; preds = %1269
  br label %1271

1271:                                             ; preds = %1270
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  %1272 = call ptr @__errno_location() #12
  %1273 = load i32, ptr %1272, align 4, !tbaa !5
  store i32 %1273, ptr %23, align 4, !tbaa !5
  %1274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1275 = call i32 @s2n_print_stacktrace(ptr noundef %1274)
  %1276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1277 = trunc i8 %1276 to i1
  br i1 %1277, label %1278, label %1300

1278:                                             ; preds = %1271
  %1279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1280 = call i32 @fileno(ptr noundef %1279) #11
  %1281 = call i32 @isatty(i32 noundef %1280) #11
  %1282 = icmp ne i32 %1281, 0
  br i1 %1282, label %1283, label %1300

1283:                                             ; preds = %1278
  %1284 = load i32, ptr %23, align 4, !tbaa !5
  %1285 = call ptr @__errno_location() #12
  store i32 %1284, ptr %1285, align 4, !tbaa !5
  %1286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1287 = load i32, ptr @test_count, align 4, !tbaa !5
  %1288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1289 = load i32, ptr %1288, align 4, !tbaa !5
  %1290 = call ptr @s2n_strerror(i32 noundef %1289, ptr noundef @.str.4)
  %1291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1292 = load i32, ptr %1291, align 4, !tbaa !5
  %1293 = call ptr @s2n_strerror_debug(i32 noundef %1292, ptr noundef @.str.4)
  %1294 = call ptr @__errno_location() #12
  %1295 = load i32, ptr %1294, align 4, !tbaa !5
  %1296 = call ptr @strerror(i32 noundef %1295) #11
  %1297 = call ptr @__errno_location() #12
  %1298 = load i32, ptr %1297, align 4, !tbaa !5
  %1299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1286, ptr noundef @.str.2, i32 noundef %1287, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 90, ptr noundef %1290, ptr noundef %1293, ptr noundef %1296, i32 noundef %1298) #11
  br label %1317

1300:                                             ; preds = %1278, %1271
  %1301 = load i32, ptr %23, align 4, !tbaa !5
  %1302 = call ptr @__errno_location() #12
  store i32 %1301, ptr %1302, align 4, !tbaa !5
  %1303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1304 = load i32, ptr @test_count, align 4, !tbaa !5
  %1305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1306 = load i32, ptr %1305, align 4, !tbaa !5
  %1307 = call ptr @s2n_strerror(i32 noundef %1306, ptr noundef @.str.4)
  %1308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1309 = load i32, ptr %1308, align 4, !tbaa !5
  %1310 = call ptr @s2n_strerror_debug(i32 noundef %1309, ptr noundef @.str.4)
  %1311 = call ptr @__errno_location() #12
  %1312 = load i32, ptr %1311, align 4, !tbaa !5
  %1313 = call ptr @strerror(i32 noundef %1312) #11
  %1314 = call ptr @__errno_location() #12
  %1315 = load i32, ptr %1314, align 4, !tbaa !5
  %1316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1303, ptr noundef @.str.5, i32 noundef %1304, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 90, ptr noundef %1307, ptr noundef %1310, ptr noundef %1313, i32 noundef %1315) #11
  br label %1317

1317:                                             ; preds = %1300, %1283
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  br label %1318

1318:                                             ; preds = %1317
  br label %1319

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

1320:                                             ; No predecessors!
  br label %1321

1321:                                             ; preds = %1320
  br label %1322

1322:                                             ; preds = %1321, %1264
  br label %1323

1323:                                             ; preds = %1322
  br label %1324

1324:                                             ; preds = %1323
  br label %1325

1325:                                             ; preds = %1324
  %1326 = load i32, ptr @test_count, align 4, !tbaa !5
  %1327 = add nsw i32 %1326, 1
  store i32 %1327, ptr @test_count, align 4, !tbaa !5
  %1328 = call ptr @s2n_fetch_default_config()
  store ptr %1328, ptr %22, align 8, !tbaa !9
  %1329 = icmp eq ptr %1328, null
  br i1 %1329, label %1330, label %1383

1330:                                             ; preds = %1325
  br label %1331

1331:                                             ; preds = %1330
  br label %1332

1332:                                             ; preds = %1331
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #11
  %1333 = call ptr @__errno_location() #12
  %1334 = load i32, ptr %1333, align 4, !tbaa !5
  store i32 %1334, ptr %24, align 4, !tbaa !5
  %1335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1336 = call i32 @s2n_print_stacktrace(ptr noundef %1335)
  %1337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1338 = trunc i8 %1337 to i1
  br i1 %1338, label %1339, label %1361

1339:                                             ; preds = %1332
  %1340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1341 = call i32 @fileno(ptr noundef %1340) #11
  %1342 = call i32 @isatty(i32 noundef %1341) #11
  %1343 = icmp ne i32 %1342, 0
  br i1 %1343, label %1344, label %1361

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

1361:                                             ; preds = %1339, %1332
  %1362 = load i32, ptr %24, align 4, !tbaa !5
  %1363 = call ptr @__errno_location() #12
  store i32 %1362, ptr %1363, align 4, !tbaa !5
  %1364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1365 = load i32, ptr @test_count, align 4, !tbaa !5
  %1366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1367 = load i32, ptr %1366, align 4, !tbaa !5
  %1368 = call ptr @s2n_strerror(i32 noundef %1367, ptr noundef @.str.4)
  %1369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1370 = load i32, ptr %1369, align 4, !tbaa !5
  %1371 = call ptr @s2n_strerror_debug(i32 noundef %1370, ptr noundef @.str.4)
  %1372 = call ptr @__errno_location() #12
  %1373 = load i32, ptr %1372, align 4, !tbaa !5
  %1374 = call ptr @strerror(i32 noundef %1373) #11
  %1375 = call ptr @__errno_location() #12
  %1376 = load i32, ptr %1375, align 4, !tbaa !5
  %1377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1364, ptr noundef @.str.5, i32 noundef %1365, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 91, ptr noundef %1368, ptr noundef %1371, ptr noundef %1374, i32 noundef %1376) #11
  br label %1378

1378:                                             ; preds = %1361, %1344
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %1379

1379:                                             ; preds = %1378
  br label %1380

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

1381:                                             ; No predecessors!
  br label %1382

1382:                                             ; preds = %1381
  br label %1383

1383:                                             ; preds = %1382, %1325
  br label %1384

1384:                                             ; preds = %1383
  br label %1385

1385:                                             ; preds = %1384
  br label %1386

1386:                                             ; preds = %1385
  %1387 = load i32, ptr @test_count, align 4, !tbaa !5
  %1388 = add nsw i32 %1387, 1
  store i32 %1388, ptr @test_count, align 4, !tbaa !5
  %1389 = load ptr, ptr %22, align 8, !tbaa !9
  %1390 = getelementptr inbounds %struct.s2n_config, ptr %1389, i32 0, i32 7
  %1391 = load ptr, ptr %1390, align 8, !tbaa !15
  %1392 = load ptr, ptr %21, align 8, !tbaa !9
  %1393 = getelementptr inbounds %struct.s2n_config, ptr %1392, i32 0, i32 7
  %1394 = load ptr, ptr %1393, align 8, !tbaa !15
  %1395 = icmp eq ptr %1391, %1394
  br i1 %1395, label %1449, label %1396

1396:                                             ; preds = %1386
  br label %1397

1397:                                             ; preds = %1396
  br label %1398

1398:                                             ; preds = %1397
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #11
  %1399 = call ptr @__errno_location() #12
  %1400 = load i32, ptr %1399, align 4, !tbaa !5
  store i32 %1400, ptr %25, align 4, !tbaa !5
  %1401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1402 = call i32 @s2n_print_stacktrace(ptr noundef %1401)
  %1403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1404 = trunc i8 %1403 to i1
  br i1 %1404, label %1405, label %1427

1405:                                             ; preds = %1398
  %1406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1407 = call i32 @fileno(ptr noundef %1406) #11
  %1408 = call i32 @isatty(i32 noundef %1407) #11
  %1409 = icmp ne i32 %1408, 0
  br i1 %1409, label %1410, label %1427

1410:                                             ; preds = %1405
  %1411 = load i32, ptr %25, align 4, !tbaa !5
  %1412 = call ptr @__errno_location() #12
  store i32 %1411, ptr %1412, align 4, !tbaa !5
  %1413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1414 = load i32, ptr @test_count, align 4, !tbaa !5
  %1415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1416 = load i32, ptr %1415, align 4, !tbaa !5
  %1417 = call ptr @s2n_strerror(i32 noundef %1416, ptr noundef @.str.4)
  %1418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1419 = load i32, ptr %1418, align 4, !tbaa !5
  %1420 = call ptr @s2n_strerror_debug(i32 noundef %1419, ptr noundef @.str.4)
  %1421 = call ptr @__errno_location() #12
  %1422 = load i32, ptr %1421, align 4, !tbaa !5
  %1423 = call ptr @strerror(i32 noundef %1422) #11
  %1424 = call ptr @__errno_location() #12
  %1425 = load i32, ptr %1424, align 4, !tbaa !5
  %1426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1413, ptr noundef @.str.2, i32 noundef %1414, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 94, ptr noundef %1417, ptr noundef %1420, ptr noundef %1423, i32 noundef %1425) #11
  br label %1444

1427:                                             ; preds = %1405, %1398
  %1428 = load i32, ptr %25, align 4, !tbaa !5
  %1429 = call ptr @__errno_location() #12
  store i32 %1428, ptr %1429, align 4, !tbaa !5
  %1430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1431 = load i32, ptr @test_count, align 4, !tbaa !5
  %1432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1433 = load i32, ptr %1432, align 4, !tbaa !5
  %1434 = call ptr @s2n_strerror(i32 noundef %1433, ptr noundef @.str.4)
  %1435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1436 = load i32, ptr %1435, align 4, !tbaa !5
  %1437 = call ptr @s2n_strerror_debug(i32 noundef %1436, ptr noundef @.str.4)
  %1438 = call ptr @__errno_location() #12
  %1439 = load i32, ptr %1438, align 4, !tbaa !5
  %1440 = call ptr @strerror(i32 noundef %1439) #11
  %1441 = call ptr @__errno_location() #12
  %1442 = load i32, ptr %1441, align 4, !tbaa !5
  %1443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1430, ptr noundef @.str.5, i32 noundef %1431, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 94, ptr noundef %1434, ptr noundef %1437, ptr noundef %1440, i32 noundef %1442) #11
  br label %1444

1444:                                             ; preds = %1427, %1410
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #11
  br label %1445

1445:                                             ; preds = %1444
  br label %1446

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

1447:                                             ; No predecessors!
  br label %1448

1448:                                             ; preds = %1447
  br label %1449

1449:                                             ; preds = %1448, %1386
  br label %1450

1450:                                             ; preds = %1449
  br label %1451

1451:                                             ; preds = %1450
  br label %1452

1452:                                             ; preds = %1451
  %1453 = load i32, ptr @test_count, align 4, !tbaa !5
  %1454 = add nsw i32 %1453, 1
  store i32 %1454, ptr @test_count, align 4, !tbaa !5
  %1455 = load ptr, ptr %22, align 8, !tbaa !9
  %1456 = getelementptr inbounds %struct.s2n_config, ptr %1455, i32 0, i32 7
  %1457 = load ptr, ptr %1456, align 8, !tbaa !15
  %1458 = getelementptr inbounds %struct.s2n_security_policy, ptr %1457, i32 0, i32 3
  %1459 = load ptr, ptr %1458, align 8, !tbaa !22
  %1460 = load ptr, ptr %21, align 8, !tbaa !9
  %1461 = getelementptr inbounds %struct.s2n_config, ptr %1460, i32 0, i32 7
  %1462 = load ptr, ptr %1461, align 8, !tbaa !15
  %1463 = getelementptr inbounds %struct.s2n_security_policy, ptr %1462, i32 0, i32 3
  %1464 = load ptr, ptr %1463, align 8, !tbaa !22
  %1465 = icmp eq ptr %1459, %1464
  br i1 %1465, label %1519, label %1466

1466:                                             ; preds = %1452
  br label %1467

1467:                                             ; preds = %1466
  br label %1468

1468:                                             ; preds = %1467
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #11
  %1469 = call ptr @__errno_location() #12
  %1470 = load i32, ptr %1469, align 4, !tbaa !5
  store i32 %1470, ptr %26, align 4, !tbaa !5
  %1471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1472 = call i32 @s2n_print_stacktrace(ptr noundef %1471)
  %1473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1474 = trunc i8 %1473 to i1
  br i1 %1474, label %1475, label %1497

1475:                                             ; preds = %1468
  %1476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1477 = call i32 @fileno(ptr noundef %1476) #11
  %1478 = call i32 @isatty(i32 noundef %1477) #11
  %1479 = icmp ne i32 %1478, 0
  br i1 %1479, label %1480, label %1497

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

1497:                                             ; preds = %1475, %1468
  %1498 = load i32, ptr %26, align 4, !tbaa !5
  %1499 = call ptr @__errno_location() #12
  store i32 %1498, ptr %1499, align 4, !tbaa !5
  %1500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1501 = load i32, ptr @test_count, align 4, !tbaa !5
  %1502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1503 = load i32, ptr %1502, align 4, !tbaa !5
  %1504 = call ptr @s2n_strerror(i32 noundef %1503, ptr noundef @.str.4)
  %1505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1506 = load i32, ptr %1505, align 4, !tbaa !5
  %1507 = call ptr @s2n_strerror_debug(i32 noundef %1506, ptr noundef @.str.4)
  %1508 = call ptr @__errno_location() #12
  %1509 = load i32, ptr %1508, align 4, !tbaa !5
  %1510 = call ptr @strerror(i32 noundef %1509) #11
  %1511 = call ptr @__errno_location() #12
  %1512 = load i32, ptr %1511, align 4, !tbaa !5
  %1513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1500, ptr noundef @.str.5, i32 noundef %1501, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1504, ptr noundef %1507, ptr noundef %1510, i32 noundef %1512) #11
  br label %1514

1514:                                             ; preds = %1497, %1480
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  br label %1515

1515:                                             ; preds = %1514
  br label %1516

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

1517:                                             ; No predecessors!
  br label %1518

1518:                                             ; preds = %1517
  br label %1519

1519:                                             ; preds = %1518, %1452
  br label %1520

1520:                                             ; preds = %1519
  br label %1521

1521:                                             ; preds = %1520
  br label %1522

1522:                                             ; preds = %1521
  %1523 = load i32, ptr @test_count, align 4, !tbaa !5
  %1524 = add nsw i32 %1523, 1
  store i32 %1524, ptr @test_count, align 4, !tbaa !5
  %1525 = load ptr, ptr %22, align 8, !tbaa !9
  %1526 = getelementptr inbounds %struct.s2n_config, ptr %1525, i32 0, i32 26
  %1527 = load i32, ptr %1526, align 8, !tbaa !24
  %1528 = load ptr, ptr %21, align 8, !tbaa !9
  %1529 = getelementptr inbounds %struct.s2n_config, ptr %1528, i32 0, i32 26
  %1530 = load i32, ptr %1529, align 8, !tbaa !24
  %1531 = icmp eq i32 %1527, %1530
  br i1 %1531, label %1585, label %1532

1532:                                             ; preds = %1522
  br label %1533

1533:                                             ; preds = %1532
  br label %1534

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

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

1546:                                             ; preds = %1541
  %1547 = load i32, ptr %27, align 4, !tbaa !5
  %1548 = call ptr @__errno_location() #12
  store i32 %1547, ptr %1548, align 4, !tbaa !5
  %1549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1550 = load i32, ptr @test_count, align 4, !tbaa !5
  %1551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1552 = load i32, ptr %1551, align 4, !tbaa !5
  %1553 = call ptr @s2n_strerror(i32 noundef %1552, ptr noundef @.str.4)
  %1554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1555 = load i32, ptr %1554, align 4, !tbaa !5
  %1556 = call ptr @s2n_strerror_debug(i32 noundef %1555, ptr noundef @.str.4)
  %1557 = call ptr @__errno_location() #12
  %1558 = load i32, ptr %1557, align 4, !tbaa !5
  %1559 = call ptr @strerror(i32 noundef %1558) #11
  %1560 = call ptr @__errno_location() #12
  %1561 = load i32, ptr %1560, align 4, !tbaa !5
  %1562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1549, ptr noundef @.str.2, i32 noundef %1550, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 96, ptr noundef %1553, ptr noundef %1556, ptr noundef %1559, i32 noundef %1561) #11
  br label %1580

1563:                                             ; preds = %1541, %1534
  %1564 = load i32, ptr %27, align 4, !tbaa !5
  %1565 = call ptr @__errno_location() #12
  store i32 %1564, ptr %1565, align 4, !tbaa !5
  %1566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1567 = load i32, ptr @test_count, align 4, !tbaa !5
  %1568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1569 = load i32, ptr %1568, align 4, !tbaa !5
  %1570 = call ptr @s2n_strerror(i32 noundef %1569, ptr noundef @.str.4)
  %1571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1572 = load i32, ptr %1571, align 4, !tbaa !5
  %1573 = call ptr @s2n_strerror_debug(i32 noundef %1572, ptr noundef @.str.4)
  %1574 = call ptr @__errno_location() #12
  %1575 = load i32, ptr %1574, align 4, !tbaa !5
  %1576 = call ptr @strerror(i32 noundef %1575) #11
  %1577 = call ptr @__errno_location() #12
  %1578 = load i32, ptr %1577, align 4, !tbaa !5
  %1579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1566, ptr noundef @.str.5, i32 noundef %1567, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 96, ptr noundef %1570, ptr noundef %1573, ptr noundef %1576, i32 noundef %1578) #11
  br label %1580

1580:                                             ; preds = %1563, %1546
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %1581

1581:                                             ; preds = %1580
  br label %1582

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

1583:                                             ; No predecessors!
  br label %1584

1584:                                             ; preds = %1583
  br label %1585

1585:                                             ; preds = %1584, %1522
  br label %1586

1586:                                             ; preds = %1585
  br label %1587

1587:                                             ; preds = %1586
  br label %1588

1588:                                             ; preds = %1587
  %1589 = load i32, ptr @test_count, align 4, !tbaa !5
  %1590 = add nsw i32 %1589, 1
  store i32 %1590, ptr @test_count, align 4, !tbaa !5
  %1591 = load ptr, ptr %22, align 8, !tbaa !9
  %1592 = call ptr @s2n_fetch_default_config()
  %1593 = icmp eq ptr %1591, %1592
  br i1 %1593, label %1647, label %1594

1594:                                             ; preds = %1588
  br label %1595

1595:                                             ; preds = %1594
  br label %1596

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

1603:                                             ; preds = %1596
  %1604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1605 = call i32 @fileno(ptr noundef %1604) #11
  %1606 = call i32 @isatty(i32 noundef %1605) #11
  %1607 = icmp ne i32 %1606, 0
  br i1 %1607, label %1608, label %1625

1608:                                             ; preds = %1603
  %1609 = load i32, ptr %28, align 4, !tbaa !5
  %1610 = call ptr @__errno_location() #12
  store i32 %1609, ptr %1610, align 4, !tbaa !5
  %1611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1612 = load i32, ptr @test_count, align 4, !tbaa !5
  %1613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1614 = load i32, ptr %1613, align 4, !tbaa !5
  %1615 = call ptr @s2n_strerror(i32 noundef %1614, ptr noundef @.str.4)
  %1616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1617 = load i32, ptr %1616, align 4, !tbaa !5
  %1618 = call ptr @s2n_strerror_debug(i32 noundef %1617, ptr noundef @.str.4)
  %1619 = call ptr @__errno_location() #12
  %1620 = load i32, ptr %1619, align 4, !tbaa !5
  %1621 = call ptr @strerror(i32 noundef %1620) #11
  %1622 = call ptr @__errno_location() #12
  %1623 = load i32, ptr %1622, align 4, !tbaa !5
  %1624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1611, ptr noundef @.str.2, i32 noundef %1612, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 99, ptr noundef %1615, ptr noundef %1618, ptr noundef %1621, i32 noundef %1623) #11
  br label %1642

1625:                                             ; preds = %1603, %1596
  %1626 = load i32, ptr %28, align 4, !tbaa !5
  %1627 = call ptr @__errno_location() #12
  store i32 %1626, ptr %1627, align 4, !tbaa !5
  %1628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1629 = load i32, ptr @test_count, align 4, !tbaa !5
  %1630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1631 = load i32, ptr %1630, align 4, !tbaa !5
  %1632 = call ptr @s2n_strerror(i32 noundef %1631, ptr noundef @.str.4)
  %1633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1634 = load i32, ptr %1633, align 4, !tbaa !5
  %1635 = call ptr @s2n_strerror_debug(i32 noundef %1634, ptr noundef @.str.4)
  %1636 = call ptr @__errno_location() #12
  %1637 = load i32, ptr %1636, align 4, !tbaa !5
  %1638 = call ptr @strerror(i32 noundef %1637) #11
  %1639 = call ptr @__errno_location() #12
  %1640 = load i32, ptr %1639, align 4, !tbaa !5
  %1641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1628, ptr noundef @.str.5, i32 noundef %1629, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 99, ptr noundef %1632, ptr noundef %1635, ptr noundef %1638, i32 noundef %1640) #11
  br label %1642

1642:                                             ; preds = %1625, %1608
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1643

1643:                                             ; preds = %1642
  br label %1644

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

1645:                                             ; No predecessors!
  br label %1646

1646:                                             ; preds = %1645
  br label %1647

1647:                                             ; preds = %1646, %1588
  br label %1648

1648:                                             ; preds = %1647
  br label %1649

1649:                                             ; preds = %1648
  br label %1650

1650:                                             ; preds = %1649
  %1651 = load i32, ptr @test_count, align 4, !tbaa !5
  %1652 = add nsw i32 %1651, 1
  store i32 %1652, ptr @test_count, align 4, !tbaa !5
  %1653 = call i32 (...) @s2n_enable_tls13_in_test()
  %1654 = icmp eq i32 %1653, -1
  br i1 %1654, label %1655, label %1708

1655:                                             ; preds = %1650
  br label %1656

1656:                                             ; preds = %1655
  br label %1657

1657:                                             ; preds = %1656
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #11
  %1658 = call ptr @__errno_location() #12
  %1659 = load i32, ptr %1658, align 4, !tbaa !5
  store i32 %1659, ptr %29, align 4, !tbaa !5
  %1660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1661 = call i32 @s2n_print_stacktrace(ptr noundef %1660)
  %1662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1663 = trunc i8 %1662 to i1
  br i1 %1663, label %1664, label %1686

1664:                                             ; preds = %1657
  %1665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1666 = call i32 @fileno(ptr noundef %1665) #11
  %1667 = call i32 @isatty(i32 noundef %1666) #11
  %1668 = icmp ne i32 %1667, 0
  br i1 %1668, label %1669, label %1686

1669:                                             ; preds = %1664
  %1670 = load i32, ptr %29, align 4, !tbaa !5
  %1671 = call ptr @__errno_location() #12
  store i32 %1670, ptr %1671, align 4, !tbaa !5
  %1672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1673 = load i32, ptr @test_count, align 4, !tbaa !5
  %1674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1675 = load i32, ptr %1674, align 4, !tbaa !5
  %1676 = call ptr @s2n_strerror(i32 noundef %1675, ptr noundef @.str.4)
  %1677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1678 = load i32, ptr %1677, align 4, !tbaa !5
  %1679 = call ptr @s2n_strerror_debug(i32 noundef %1678, ptr noundef @.str.4)
  %1680 = call ptr @__errno_location() #12
  %1681 = load i32, ptr %1680, align 4, !tbaa !5
  %1682 = call ptr @strerror(i32 noundef %1681) #11
  %1683 = call ptr @__errno_location() #12
  %1684 = load i32, ptr %1683, align 4, !tbaa !5
  %1685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1672, ptr noundef @.str.2, i32 noundef %1673, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 102, ptr noundef %1676, ptr noundef %1679, ptr noundef %1682, i32 noundef %1684) #11
  br label %1703

1686:                                             ; preds = %1664, %1657
  %1687 = load i32, ptr %29, align 4, !tbaa !5
  %1688 = call ptr @__errno_location() #12
  store i32 %1687, ptr %1688, align 4, !tbaa !5
  %1689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1690 = load i32, ptr @test_count, align 4, !tbaa !5
  %1691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1692 = load i32, ptr %1691, align 4, !tbaa !5
  %1693 = call ptr @s2n_strerror(i32 noundef %1692, ptr noundef @.str.4)
  %1694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1695 = load i32, ptr %1694, align 4, !tbaa !5
  %1696 = call ptr @s2n_strerror_debug(i32 noundef %1695, ptr noundef @.str.4)
  %1697 = call ptr @__errno_location() #12
  %1698 = load i32, ptr %1697, align 4, !tbaa !5
  %1699 = call ptr @strerror(i32 noundef %1698) #11
  %1700 = call ptr @__errno_location() #12
  %1701 = load i32, ptr %1700, align 4, !tbaa !5
  %1702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1689, ptr noundef @.str.5, i32 noundef %1690, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 102, ptr noundef %1693, ptr noundef %1696, ptr noundef %1699, i32 noundef %1701) #11
  br label %1703

1703:                                             ; preds = %1686, %1669
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1704

1704:                                             ; preds = %1703
  br label %1705

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

1706:                                             ; No predecessors!
  br label %1707

1707:                                             ; preds = %1706
  br label %1708

1708:                                             ; preds = %1707, %1650
  br label %1709

1709:                                             ; preds = %1708
  br label %1710

1710:                                             ; preds = %1709
  br label %1711

1711:                                             ; preds = %1710
  %1712 = load i32, ptr @test_count, align 4, !tbaa !5
  %1713 = add nsw i32 %1712, 1
  store i32 %1713, ptr @test_count, align 4, !tbaa !5
  %1714 = load ptr, ptr %22, align 8, !tbaa !9
  %1715 = call ptr @s2n_fetch_default_config()
  %1716 = icmp eq ptr %1714, %1715
  br i1 %1716, label %1717, label %1770

1717:                                             ; preds = %1711
  br label %1718

1718:                                             ; preds = %1717
  br label %1719

1719:                                             ; preds = %1718
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #11
  %1720 = call ptr @__errno_location() #12
  %1721 = load i32, ptr %1720, align 4, !tbaa !5
  store i32 %1721, ptr %30, align 4, !tbaa !5
  %1722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1723 = call i32 @s2n_print_stacktrace(ptr noundef %1722)
  %1724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1725 = trunc i8 %1724 to i1
  br i1 %1725, label %1726, label %1748

1726:                                             ; preds = %1719
  %1727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1728 = call i32 @fileno(ptr noundef %1727) #11
  %1729 = call i32 @isatty(i32 noundef %1728) #11
  %1730 = icmp ne i32 %1729, 0
  br i1 %1730, label %1731, label %1748

1731:                                             ; preds = %1726
  %1732 = load i32, ptr %30, align 4, !tbaa !5
  %1733 = call ptr @__errno_location() #12
  store i32 %1732, ptr %1733, align 4, !tbaa !5
  %1734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1735 = load i32, ptr @test_count, align 4, !tbaa !5
  %1736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1737 = load i32, ptr %1736, align 4, !tbaa !5
  %1738 = call ptr @s2n_strerror(i32 noundef %1737, ptr noundef @.str.4)
  %1739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1740 = load i32, ptr %1739, align 4, !tbaa !5
  %1741 = call ptr @s2n_strerror_debug(i32 noundef %1740, ptr noundef @.str.4)
  %1742 = call ptr @__errno_location() #12
  %1743 = load i32, ptr %1742, align 4, !tbaa !5
  %1744 = call ptr @strerror(i32 noundef %1743) #11
  %1745 = call ptr @__errno_location() #12
  %1746 = load i32, ptr %1745, align 4, !tbaa !5
  %1747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1734, ptr noundef @.str.2, i32 noundef %1735, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 103, ptr noundef %1738, ptr noundef %1741, ptr noundef %1744, i32 noundef %1746) #11
  br label %1765

1748:                                             ; preds = %1726, %1719
  %1749 = load i32, ptr %30, align 4, !tbaa !5
  %1750 = call ptr @__errno_location() #12
  store i32 %1749, ptr %1750, align 4, !tbaa !5
  %1751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1752 = load i32, ptr @test_count, align 4, !tbaa !5
  %1753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1754 = load i32, ptr %1753, align 4, !tbaa !5
  %1755 = call ptr @s2n_strerror(i32 noundef %1754, ptr noundef @.str.4)
  %1756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1757 = load i32, ptr %1756, align 4, !tbaa !5
  %1758 = call ptr @s2n_strerror_debug(i32 noundef %1757, ptr noundef @.str.4)
  %1759 = call ptr @__errno_location() #12
  %1760 = load i32, ptr %1759, align 4, !tbaa !5
  %1761 = call ptr @strerror(i32 noundef %1760) #11
  %1762 = call ptr @__errno_location() #12
  %1763 = load i32, ptr %1762, align 4, !tbaa !5
  %1764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1751, ptr noundef @.str.5, i32 noundef %1752, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 103, ptr noundef %1755, ptr noundef %1758, ptr noundef %1761, i32 noundef %1763) #11
  br label %1765

1765:                                             ; preds = %1748, %1731
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #11
  br label %1766

1766:                                             ; preds = %1765
  br label %1767

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

1768:                                             ; No predecessors!
  br label %1769

1769:                                             ; preds = %1768
  br label %1770

1770:                                             ; preds = %1769, %1711
  br label %1771

1771:                                             ; preds = %1770
  br label %1772

1772:                                             ; preds = %1771
  br label %1773

1773:                                             ; preds = %1772
  %1774 = load i32, ptr @test_count, align 4, !tbaa !5
  %1775 = add nsw i32 %1774, 1
  store i32 %1775, ptr @test_count, align 4, !tbaa !5
  %1776 = call i32 (...) @s2n_disable_tls13_in_test()
  %1777 = icmp eq i32 %1776, -1
  br i1 %1777, label %1778, label %1831

1778:                                             ; preds = %1773
  br label %1779

1779:                                             ; preds = %1778
  br label %1780

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

1787:                                             ; preds = %1780
  %1788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1789 = call i32 @fileno(ptr noundef %1788) #11
  %1790 = call i32 @isatty(i32 noundef %1789) #11
  %1791 = icmp ne i32 %1790, 0
  br i1 %1791, label %1792, label %1809

1792:                                             ; preds = %1787
  %1793 = load i32, ptr %31, align 4, !tbaa !5
  %1794 = call ptr @__errno_location() #12
  store i32 %1793, ptr %1794, align 4, !tbaa !5
  %1795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1796 = load i32, ptr @test_count, align 4, !tbaa !5
  %1797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1798 = load i32, ptr %1797, align 4, !tbaa !5
  %1799 = call ptr @s2n_strerror(i32 noundef %1798, ptr noundef @.str.4)
  %1800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1801 = load i32, ptr %1800, align 4, !tbaa !5
  %1802 = call ptr @s2n_strerror_debug(i32 noundef %1801, ptr noundef @.str.4)
  %1803 = call ptr @__errno_location() #12
  %1804 = load i32, ptr %1803, align 4, !tbaa !5
  %1805 = call ptr @strerror(i32 noundef %1804) #11
  %1806 = call ptr @__errno_location() #12
  %1807 = load i32, ptr %1806, align 4, !tbaa !5
  %1808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1795, ptr noundef @.str.2, i32 noundef %1796, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1799, ptr noundef %1802, ptr noundef %1805, i32 noundef %1807) #11
  br label %1826

1809:                                             ; preds = %1787, %1780
  %1810 = load i32, ptr %31, align 4, !tbaa !5
  %1811 = call ptr @__errno_location() #12
  store i32 %1810, ptr %1811, align 4, !tbaa !5
  %1812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1813 = load i32, ptr @test_count, align 4, !tbaa !5
  %1814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1815 = load i32, ptr %1814, align 4, !tbaa !5
  %1816 = call ptr @s2n_strerror(i32 noundef %1815, ptr noundef @.str.4)
  %1817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1818 = load i32, ptr %1817, align 4, !tbaa !5
  %1819 = call ptr @s2n_strerror_debug(i32 noundef %1818, ptr noundef @.str.4)
  %1820 = call ptr @__errno_location() #12
  %1821 = load i32, ptr %1820, align 4, !tbaa !5
  %1822 = call ptr @strerror(i32 noundef %1821) #11
  %1823 = call ptr @__errno_location() #12
  %1824 = load i32, ptr %1823, align 4, !tbaa !5
  %1825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1812, ptr noundef @.str.5, i32 noundef %1813, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1816, ptr noundef %1819, ptr noundef %1822, i32 noundef %1824) #11
  br label %1826

1826:                                             ; preds = %1809, %1792
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1827

1827:                                             ; preds = %1826
  br label %1828

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

1829:                                             ; No predecessors!
  br label %1830

1830:                                             ; preds = %1829
  br label %1831

1831:                                             ; preds = %1830, %1773
  br label %1832

1832:                                             ; preds = %1831
  br label %1833

1833:                                             ; preds = %1832
  br label %1834

1834:                                             ; preds = %1833
  %1835 = load i32, ptr @test_count, align 4, !tbaa !5
  %1836 = add nsw i32 %1835, 1
  store i32 %1836, ptr @test_count, align 4, !tbaa !5
  %1837 = load ptr, ptr %21, align 8, !tbaa !9
  %1838 = call i32 @s2n_config_free(ptr noundef %1837)
  %1839 = icmp eq i32 %1838, -1
  br i1 %1839, label %1840, label %1893

1840:                                             ; preds = %1834
  br label %1841

1841:                                             ; preds = %1840
  br label %1842

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

1849:                                             ; preds = %1842
  %1850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1851 = call i32 @fileno(ptr noundef %1850) #11
  %1852 = call i32 @isatty(i32 noundef %1851) #11
  %1853 = icmp ne i32 %1852, 0
  br i1 %1853, label %1854, label %1871

1854:                                             ; preds = %1849
  %1855 = load i32, ptr %32, align 4, !tbaa !5
  %1856 = call ptr @__errno_location() #12
  store i32 %1855, ptr %1856, align 4, !tbaa !5
  %1857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1858 = load i32, ptr @test_count, align 4, !tbaa !5
  %1859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1860 = load i32, ptr %1859, align 4, !tbaa !5
  %1861 = call ptr @s2n_strerror(i32 noundef %1860, ptr noundef @.str.4)
  %1862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1863 = load i32, ptr %1862, align 4, !tbaa !5
  %1864 = call ptr @s2n_strerror_debug(i32 noundef %1863, ptr noundef @.str.4)
  %1865 = call ptr @__errno_location() #12
  %1866 = load i32, ptr %1865, align 4, !tbaa !5
  %1867 = call ptr @strerror(i32 noundef %1866) #11
  %1868 = call ptr @__errno_location() #12
  %1869 = load i32, ptr %1868, align 4, !tbaa !5
  %1870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1857, ptr noundef @.str.2, i32 noundef %1858, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1861, ptr noundef %1864, ptr noundef %1867, i32 noundef %1869) #11
  br label %1888

1871:                                             ; preds = %1849, %1842
  %1872 = load i32, ptr %32, align 4, !tbaa !5
  %1873 = call ptr @__errno_location() #12
  store i32 %1872, ptr %1873, align 4, !tbaa !5
  %1874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1875 = load i32, ptr @test_count, align 4, !tbaa !5
  %1876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1877 = load i32, ptr %1876, align 4, !tbaa !5
  %1878 = call ptr @s2n_strerror(i32 noundef %1877, ptr noundef @.str.4)
  %1879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1880 = load i32, ptr %1879, align 4, !tbaa !5
  %1881 = call ptr @s2n_strerror_debug(i32 noundef %1880, ptr noundef @.str.4)
  %1882 = call ptr @__errno_location() #12
  %1883 = load i32, ptr %1882, align 4, !tbaa !5
  %1884 = call ptr @strerror(i32 noundef %1883) #11
  %1885 = call ptr @__errno_location() #12
  %1886 = load i32, ptr %1885, align 4, !tbaa !5
  %1887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1874, ptr noundef @.str.5, i32 noundef %1875, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1878, ptr noundef %1881, ptr noundef %1884, i32 noundef %1886) #11
  br label %1888

1888:                                             ; preds = %1871, %1854
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1889

1889:                                             ; preds = %1888
  br label %1890

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

1891:                                             ; No predecessors!
  br label %1892

1892:                                             ; preds = %1891
  br label %1893

1893:                                             ; preds = %1892, %1834
  br label %1894

1894:                                             ; preds = %1893
  br label %1895

1895:                                             ; preds = %1894
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #11
  %1896 = call zeroext i1 @s2n_is_in_fips_mode()
  br i1 %1896, label %2209, label %1897

1897:                                             ; preds = %1895
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #11
  store ptr null, ptr %33, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %34) #11
  store ptr null, ptr %34, align 8, !tbaa !9
  br label %1898

1898:                                             ; preds = %1897
  %1899 = load i32, ptr @test_count, align 4, !tbaa !5
  %1900 = add nsw i32 %1899, 1
  store i32 %1900, ptr @test_count, align 4, !tbaa !5
  %1901 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %1901, ptr %33, align 8, !tbaa !9
  %1902 = icmp eq ptr %1901, null
  br i1 %1902, label %1903, label %1956

1903:                                             ; preds = %1898
  br label %1904

1904:                                             ; preds = %1903
  br label %1905

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

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

1917:                                             ; preds = %1912
  %1918 = load i32, ptr %35, align 4, !tbaa !5
  %1919 = call ptr @__errno_location() #12
  store i32 %1918, ptr %1919, align 4, !tbaa !5
  %1920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1921 = load i32, ptr @test_count, align 4, !tbaa !5
  %1922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1923 = load i32, ptr %1922, align 4, !tbaa !5
  %1924 = call ptr @s2n_strerror(i32 noundef %1923, ptr noundef @.str.4)
  %1925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1926 = load i32, ptr %1925, align 4, !tbaa !5
  %1927 = call ptr @s2n_strerror_debug(i32 noundef %1926, ptr noundef @.str.4)
  %1928 = call ptr @__errno_location() #12
  %1929 = load i32, ptr %1928, align 4, !tbaa !5
  %1930 = call ptr @strerror(i32 noundef %1929) #11
  %1931 = call ptr @__errno_location() #12
  %1932 = load i32, ptr %1931, align 4, !tbaa !5
  %1933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1920, ptr noundef @.str.2, i32 noundef %1921, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 115, ptr noundef %1924, ptr noundef %1927, ptr noundef %1930, i32 noundef %1932) #11
  br label %1951

1934:                                             ; preds = %1912, %1905
  %1935 = load i32, ptr %35, align 4, !tbaa !5
  %1936 = call ptr @__errno_location() #12
  store i32 %1935, ptr %1936, align 4, !tbaa !5
  %1937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1938 = load i32, ptr @test_count, align 4, !tbaa !5
  %1939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1940 = load i32, ptr %1939, align 4, !tbaa !5
  %1941 = call ptr @s2n_strerror(i32 noundef %1940, ptr noundef @.str.4)
  %1942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1943 = load i32, ptr %1942, align 4, !tbaa !5
  %1944 = call ptr @s2n_strerror_debug(i32 noundef %1943, ptr noundef @.str.4)
  %1945 = call ptr @__errno_location() #12
  %1946 = load i32, ptr %1945, align 4, !tbaa !5
  %1947 = call ptr @strerror(i32 noundef %1946) #11
  %1948 = call ptr @__errno_location() #12
  %1949 = load i32, ptr %1948, align 4, !tbaa !5
  %1950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1937, ptr noundef @.str.5, i32 noundef %1938, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 115, ptr noundef %1941, ptr noundef %1944, ptr noundef %1947, i32 noundef %1949) #11
  br label %1951

1951:                                             ; preds = %1934, %1917
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1952

1952:                                             ; preds = %1951
  br label %1953

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

1954:                                             ; No predecessors!
  br label %1955

1955:                                             ; preds = %1954
  br label %1956

1956:                                             ; preds = %1955, %1898
  br label %1957

1957:                                             ; preds = %1956
  br label %1958

1958:                                             ; preds = %1957
  br label %1959

1959:                                             ; preds = %1958
  %1960 = load i32, ptr @test_count, align 4, !tbaa !5
  %1961 = add nsw i32 %1960, 1
  store i32 %1961, ptr @test_count, align 4, !tbaa !5
  %1962 = load ptr, ptr %33, align 8, !tbaa !9
  %1963 = getelementptr inbounds %struct.s2n_connection, ptr %1962, i32 0, i32 1
  %1964 = load ptr, ptr %1963, align 8, !tbaa !25
  %1965 = call ptr @s2n_fetch_default_config()
  %1966 = icmp eq ptr %1964, %1965
  br i1 %1966, label %2020, label %1967

1967:                                             ; preds = %1959
  br label %1968

1968:                                             ; preds = %1967
  br label %1969

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

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

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

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

2015:                                             ; preds = %1998, %1981
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %2016

2016:                                             ; preds = %2015
  br label %2017

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

2018:                                             ; No predecessors!
  br label %2019

2019:                                             ; preds = %2018
  br label %2020

2020:                                             ; preds = %2019, %1959
  br label %2021

2021:                                             ; preds = %2020
  br label %2022

2022:                                             ; preds = %2021
  br label %2023

2023:                                             ; preds = %2022
  %2024 = load i32, ptr @test_count, align 4, !tbaa !5
  %2025 = add nsw i32 %2024, 1
  store i32 %2025, ptr @test_count, align 4, !tbaa !5
  %2026 = load ptr, ptr %33, align 8, !tbaa !9
  %2027 = call i32 @s2n_connection_get_security_policy(ptr noundef %2026, ptr noundef %34)
  %2028 = icmp eq i32 %2027, -1
  br i1 %2028, label %2029, label %2082

2029:                                             ; preds = %2023
  br label %2030

2030:                                             ; preds = %2029
  br label %2031

2031:                                             ; preds = %2030
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %2032 = call ptr @__errno_location() #12
  %2033 = load i32, ptr %2032, align 4, !tbaa !5
  store i32 %2033, ptr %37, align 4, !tbaa !5
  %2034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2035 = call i32 @s2n_print_stacktrace(ptr noundef %2034)
  %2036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2037 = trunc i8 %2036 to i1
  br i1 %2037, label %2038, label %2060

2038:                                             ; preds = %2031
  %2039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2040 = call i32 @fileno(ptr noundef %2039) #11
  %2041 = call i32 @isatty(i32 noundef %2040) #11
  %2042 = icmp ne i32 %2041, 0
  br i1 %2042, label %2043, label %2060

2043:                                             ; preds = %2038
  %2044 = load i32, ptr %37, align 4, !tbaa !5
  %2045 = call ptr @__errno_location() #12
  store i32 %2044, ptr %2045, align 4, !tbaa !5
  %2046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2047 = load i32, ptr @test_count, align 4, !tbaa !5
  %2048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2049 = load i32, ptr %2048, align 4, !tbaa !5
  %2050 = call ptr @s2n_strerror(i32 noundef %2049, ptr noundef @.str.4)
  %2051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2052 = load i32, ptr %2051, align 4, !tbaa !5
  %2053 = call ptr @s2n_strerror_debug(i32 noundef %2052, ptr noundef @.str.4)
  %2054 = call ptr @__errno_location() #12
  %2055 = load i32, ptr %2054, align 4, !tbaa !5
  %2056 = call ptr @strerror(i32 noundef %2055) #11
  %2057 = call ptr @__errno_location() #12
  %2058 = load i32, ptr %2057, align 4, !tbaa !5
  %2059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2046, ptr noundef @.str.2, i32 noundef %2047, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2050, ptr noundef %2053, ptr noundef %2056, i32 noundef %2058) #11
  br label %2077

2060:                                             ; preds = %2038, %2031
  %2061 = load i32, ptr %37, align 4, !tbaa !5
  %2062 = call ptr @__errno_location() #12
  store i32 %2061, ptr %2062, align 4, !tbaa !5
  %2063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2064 = load i32, ptr @test_count, align 4, !tbaa !5
  %2065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2066 = load i32, ptr %2065, align 4, !tbaa !5
  %2067 = call ptr @s2n_strerror(i32 noundef %2066, ptr noundef @.str.4)
  %2068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2069 = load i32, ptr %2068, align 4, !tbaa !5
  %2070 = call ptr @s2n_strerror_debug(i32 noundef %2069, ptr noundef @.str.4)
  %2071 = call ptr @__errno_location() #12
  %2072 = load i32, ptr %2071, align 4, !tbaa !5
  %2073 = call ptr @strerror(i32 noundef %2072) #11
  %2074 = call ptr @__errno_location() #12
  %2075 = load i32, ptr %2074, align 4, !tbaa !5
  %2076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2063, ptr noundef @.str.5, i32 noundef %2064, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2067, ptr noundef %2070, ptr noundef %2073, i32 noundef %2075) #11
  br label %2077

2077:                                             ; preds = %2060, %2043
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %2078

2078:                                             ; preds = %2077
  br label %2079

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

2080:                                             ; No predecessors!
  br label %2081

2081:                                             ; preds = %2080
  br label %2082

2082:                                             ; preds = %2081, %2023
  br label %2083

2083:                                             ; preds = %2082
  br label %2084

2084:                                             ; preds = %2083
  br label %2085

2085:                                             ; preds = %2084
  %2086 = load i32, ptr @test_count, align 4, !tbaa !5
  %2087 = add nsw i32 %2086, 1
  store i32 %2087, ptr @test_count, align 4, !tbaa !5
  %2088 = load ptr, ptr %34, align 8, !tbaa !9
  %2089 = load ptr, ptr %11, align 8, !tbaa !9
  %2090 = icmp eq ptr %2088, %2089
  br i1 %2090, label %2144, label %2091

2091:                                             ; preds = %2085
  br label %2092

2092:                                             ; preds = %2091
  br label %2093

2093:                                             ; preds = %2092
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #11
  %2094 = call ptr @__errno_location() #12
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  store i32 %2095, ptr %38, align 4, !tbaa !5
  %2096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2097 = call i32 @s2n_print_stacktrace(ptr noundef %2096)
  %2098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2099 = trunc i8 %2098 to i1
  br i1 %2099, label %2100, label %2122

2100:                                             ; preds = %2093
  %2101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2102 = call i32 @fileno(ptr noundef %2101) #11
  %2103 = call i32 @isatty(i32 noundef %2102) #11
  %2104 = icmp ne i32 %2103, 0
  br i1 %2104, label %2105, label %2122

2105:                                             ; preds = %2100
  %2106 = load i32, ptr %38, align 4, !tbaa !5
  %2107 = call ptr @__errno_location() #12
  store i32 %2106, ptr %2107, align 4, !tbaa !5
  %2108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2109 = load i32, ptr @test_count, align 4, !tbaa !5
  %2110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2111 = load i32, ptr %2110, align 4, !tbaa !5
  %2112 = call ptr @s2n_strerror(i32 noundef %2111, ptr noundef @.str.4)
  %2113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2114 = load i32, ptr %2113, align 4, !tbaa !5
  %2115 = call ptr @s2n_strerror_debug(i32 noundef %2114, ptr noundef @.str.4)
  %2116 = call ptr @__errno_location() #12
  %2117 = load i32, ptr %2116, align 4, !tbaa !5
  %2118 = call ptr @strerror(i32 noundef %2117) #11
  %2119 = call ptr @__errno_location() #12
  %2120 = load i32, ptr %2119, align 4, !tbaa !5
  %2121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2108, ptr noundef @.str.2, i32 noundef %2109, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2112, ptr noundef %2115, ptr noundef %2118, i32 noundef %2120) #11
  br label %2139

2122:                                             ; preds = %2100, %2093
  %2123 = load i32, ptr %38, align 4, !tbaa !5
  %2124 = call ptr @__errno_location() #12
  store i32 %2123, ptr %2124, align 4, !tbaa !5
  %2125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2126 = load i32, ptr @test_count, align 4, !tbaa !5
  %2127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2128 = load i32, ptr %2127, align 4, !tbaa !5
  %2129 = call ptr @s2n_strerror(i32 noundef %2128, ptr noundef @.str.4)
  %2130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2131 = load i32, ptr %2130, align 4, !tbaa !5
  %2132 = call ptr @s2n_strerror_debug(i32 noundef %2131, ptr noundef @.str.4)
  %2133 = call ptr @__errno_location() #12
  %2134 = load i32, ptr %2133, align 4, !tbaa !5
  %2135 = call ptr @strerror(i32 noundef %2134) #11
  %2136 = call ptr @__errno_location() #12
  %2137 = load i32, ptr %2136, align 4, !tbaa !5
  %2138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2125, ptr noundef @.str.5, i32 noundef %2126, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2129, ptr noundef %2132, ptr noundef %2135, i32 noundef %2137) #11
  br label %2139

2139:                                             ; preds = %2122, %2105
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %2140

2140:                                             ; preds = %2139
  br label %2141

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

2142:                                             ; No predecessors!
  br label %2143

2143:                                             ; preds = %2142
  br label %2144

2144:                                             ; preds = %2143, %2085
  br label %2145

2145:                                             ; preds = %2144
  br label %2146

2146:                                             ; preds = %2145
  br label %2147

2147:                                             ; preds = %2146
  %2148 = load i32, ptr @test_count, align 4, !tbaa !5
  %2149 = add nsw i32 %2148, 1
  store i32 %2149, ptr @test_count, align 4, !tbaa !5
  %2150 = load ptr, ptr %33, align 8, !tbaa !9
  %2151 = call i32 @s2n_connection_free(ptr noundef %2150)
  %2152 = icmp eq i32 %2151, -1
  br i1 %2152, label %2153, label %2206

2153:                                             ; preds = %2147
  br label %2154

2154:                                             ; preds = %2153
  br label %2155

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

2162:                                             ; preds = %2155
  %2163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2164 = call i32 @fileno(ptr noundef %2163) #11
  %2165 = call i32 @isatty(i32 noundef %2164) #11
  %2166 = icmp ne i32 %2165, 0
  br i1 %2166, label %2167, label %2184

2167:                                             ; preds = %2162
  %2168 = load i32, ptr %39, align 4, !tbaa !5
  %2169 = call ptr @__errno_location() #12
  store i32 %2168, ptr %2169, align 4, !tbaa !5
  %2170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2171 = load i32, ptr @test_count, align 4, !tbaa !5
  %2172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2173 = load i32, ptr %2172, align 4, !tbaa !5
  %2174 = call ptr @s2n_strerror(i32 noundef %2173, ptr noundef @.str.4)
  %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_debug(i32 noundef %2176, ptr noundef @.str.4)
  %2178 = call ptr @__errno_location() #12
  %2179 = load i32, ptr %2178, align 4, !tbaa !5
  %2180 = call ptr @strerror(i32 noundef %2179) #11
  %2181 = call ptr @__errno_location() #12
  %2182 = load i32, ptr %2181, align 4, !tbaa !5
  %2183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2170, ptr noundef @.str.2, i32 noundef %2171, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 122, ptr noundef %2174, ptr noundef %2177, ptr noundef %2180, i32 noundef %2182) #11
  br label %2201

2184:                                             ; preds = %2162, %2155
  %2185 = load i32, ptr %39, align 4, !tbaa !5
  %2186 = call ptr @__errno_location() #12
  store i32 %2185, ptr %2186, align 4, !tbaa !5
  %2187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2188 = load i32, ptr @test_count, align 4, !tbaa !5
  %2189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2190 = load i32, ptr %2189, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror(i32 noundef %2190, ptr noundef @.str.4)
  %2192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2193 = load i32, ptr %2192, align 4, !tbaa !5
  %2194 = call ptr @s2n_strerror_debug(i32 noundef %2193, ptr noundef @.str.4)
  %2195 = call ptr @__errno_location() #12
  %2196 = load i32, ptr %2195, align 4, !tbaa !5
  %2197 = call ptr @strerror(i32 noundef %2196) #11
  %2198 = call ptr @__errno_location() #12
  %2199 = load i32, ptr %2198, align 4, !tbaa !5
  %2200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2187, ptr noundef @.str.5, i32 noundef %2188, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 122, ptr noundef %2191, ptr noundef %2194, ptr noundef %2197, i32 noundef %2199) #11
  br label %2201

2201:                                             ; preds = %2184, %2167
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %2202

2202:                                             ; preds = %2201
  br label %2203

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

2204:                                             ; No predecessors!
  br label %2205

2205:                                             ; preds = %2204
  br label %2206

2206:                                             ; preds = %2205, %2147
  br label %2207

2207:                                             ; preds = %2206
  br label %2208

2208:                                             ; preds = %2207
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #11
  br label %2209

2209:                                             ; preds = %2208, %1895
  br label %2210

2210:                                             ; preds = %2209
  %2211 = load i32, ptr @test_count, align 4, !tbaa !5
  %2212 = add nsw i32 %2211, 1
  store i32 %2212, ptr @test_count, align 4, !tbaa !5
  %2213 = call i32 (...) @s2n_enable_tls13_in_test()
  %2214 = icmp eq i32 %2213, -1
  br i1 %2214, label %2215, label %2268

2215:                                             ; preds = %2210
  br label %2216

2216:                                             ; preds = %2215
  br label %2217

2217:                                             ; preds = %2216
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  %2218 = call ptr @__errno_location() #12
  %2219 = load i32, ptr %2218, align 4, !tbaa !5
  store i32 %2219, ptr %40, align 4, !tbaa !5
  %2220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2221 = call i32 @s2n_print_stacktrace(ptr noundef %2220)
  %2222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2223 = trunc i8 %2222 to i1
  br i1 %2223, label %2224, label %2246

2224:                                             ; preds = %2217
  %2225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2226 = call i32 @fileno(ptr noundef %2225) #11
  %2227 = call i32 @isatty(i32 noundef %2226) #11
  %2228 = icmp ne i32 %2227, 0
  br i1 %2228, label %2229, label %2246

2229:                                             ; preds = %2224
  %2230 = load i32, ptr %40, align 4, !tbaa !5
  %2231 = call ptr @__errno_location() #12
  store i32 %2230, ptr %2231, align 4, !tbaa !5
  %2232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2233 = load i32, ptr @test_count, align 4, !tbaa !5
  %2234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2235 = load i32, ptr %2234, align 4, !tbaa !5
  %2236 = call ptr @s2n_strerror(i32 noundef %2235, ptr noundef @.str.4)
  %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_debug(i32 noundef %2238, ptr noundef @.str.4)
  %2240 = call ptr @__errno_location() #12
  %2241 = load i32, ptr %2240, align 4, !tbaa !5
  %2242 = call ptr @strerror(i32 noundef %2241) #11
  %2243 = call ptr @__errno_location() #12
  %2244 = load i32, ptr %2243, align 4, !tbaa !5
  %2245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2232, ptr noundef @.str.2, i32 noundef %2233, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 127, ptr noundef %2236, ptr noundef %2239, ptr noundef %2242, i32 noundef %2244) #11
  br label %2263

2246:                                             ; preds = %2224, %2217
  %2247 = load i32, ptr %40, align 4, !tbaa !5
  %2248 = call ptr @__errno_location() #12
  store i32 %2247, ptr %2248, align 4, !tbaa !5
  %2249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2250 = load i32, ptr @test_count, align 4, !tbaa !5
  %2251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2252 = load i32, ptr %2251, align 4, !tbaa !5
  %2253 = call ptr @s2n_strerror(i32 noundef %2252, ptr noundef @.str.4)
  %2254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2255 = load i32, ptr %2254, align 4, !tbaa !5
  %2256 = call ptr @s2n_strerror_debug(i32 noundef %2255, ptr noundef @.str.4)
  %2257 = call ptr @__errno_location() #12
  %2258 = load i32, ptr %2257, align 4, !tbaa !5
  %2259 = call ptr @strerror(i32 noundef %2258) #11
  %2260 = call ptr @__errno_location() #12
  %2261 = load i32, ptr %2260, align 4, !tbaa !5
  %2262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2249, ptr noundef @.str.5, i32 noundef %2250, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 127, ptr noundef %2253, ptr noundef %2256, ptr noundef %2259, i32 noundef %2261) #11
  br label %2263

2263:                                             ; preds = %2246, %2229
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %2264

2264:                                             ; preds = %2263
  br label %2265

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

2266:                                             ; No predecessors!
  br label %2267

2267:                                             ; preds = %2266
  br label %2268

2268:                                             ; preds = %2267, %2210
  br label %2269

2269:                                             ; preds = %2268
  br label %2270

2270:                                             ; preds = %2269
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #11
  store ptr null, ptr %41, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %42) #11
  store ptr null, ptr %42, align 8, !tbaa !9
  br label %2271

2271:                                             ; preds = %2270
  %2272 = load i32, ptr @test_count, align 4, !tbaa !5
  %2273 = add nsw i32 %2272, 1
  store i32 %2273, ptr @test_count, align 4, !tbaa !5
  %2274 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2274, ptr %41, align 8, !tbaa !9
  %2275 = icmp eq ptr %2274, null
  br i1 %2275, label %2276, label %2329

2276:                                             ; preds = %2271
  br label %2277

2277:                                             ; preds = %2276
  br label %2278

2278:                                             ; preds = %2277
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #11
  %2279 = call ptr @__errno_location() #12
  %2280 = load i32, ptr %2279, align 4, !tbaa !5
  store i32 %2280, ptr %43, align 4, !tbaa !5
  %2281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2282 = call i32 @s2n_print_stacktrace(ptr noundef %2281)
  %2283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2284 = trunc i8 %2283 to i1
  br i1 %2284, label %2285, label %2307

2285:                                             ; preds = %2278
  %2286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2287 = call i32 @fileno(ptr noundef %2286) #11
  %2288 = call i32 @isatty(i32 noundef %2287) #11
  %2289 = icmp ne i32 %2288, 0
  br i1 %2289, label %2290, label %2307

2290:                                             ; preds = %2285
  %2291 = load i32, ptr %43, align 4, !tbaa !5
  %2292 = call ptr @__errno_location() #12
  store i32 %2291, ptr %2292, align 4, !tbaa !5
  %2293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2294 = load i32, ptr @test_count, align 4, !tbaa !5
  %2295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2296 = load i32, ptr %2295, align 4, !tbaa !5
  %2297 = call ptr @s2n_strerror(i32 noundef %2296, ptr noundef @.str.4)
  %2298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2299 = load i32, ptr %2298, align 4, !tbaa !5
  %2300 = call ptr @s2n_strerror_debug(i32 noundef %2299, ptr noundef @.str.4)
  %2301 = call ptr @__errno_location() #12
  %2302 = load i32, ptr %2301, align 4, !tbaa !5
  %2303 = call ptr @strerror(i32 noundef %2302) #11
  %2304 = call ptr @__errno_location() #12
  %2305 = load i32, ptr %2304, align 4, !tbaa !5
  %2306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2293, ptr noundef @.str.2, i32 noundef %2294, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 130, ptr noundef %2297, ptr noundef %2300, ptr noundef %2303, i32 noundef %2305) #11
  br label %2324

2307:                                             ; preds = %2285, %2278
  %2308 = load i32, ptr %43, align 4, !tbaa !5
  %2309 = call ptr @__errno_location() #12
  store i32 %2308, ptr %2309, align 4, !tbaa !5
  %2310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2311 = load i32, ptr @test_count, align 4, !tbaa !5
  %2312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2313 = load i32, ptr %2312, align 4, !tbaa !5
  %2314 = call ptr @s2n_strerror(i32 noundef %2313, ptr noundef @.str.4)
  %2315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2316 = load i32, ptr %2315, align 4, !tbaa !5
  %2317 = call ptr @s2n_strerror_debug(i32 noundef %2316, ptr noundef @.str.4)
  %2318 = call ptr @__errno_location() #12
  %2319 = load i32, ptr %2318, align 4, !tbaa !5
  %2320 = call ptr @strerror(i32 noundef %2319) #11
  %2321 = call ptr @__errno_location() #12
  %2322 = load i32, ptr %2321, align 4, !tbaa !5
  %2323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2310, ptr noundef @.str.5, i32 noundef %2311, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 130, ptr noundef %2314, ptr noundef %2317, ptr noundef %2320, i32 noundef %2322) #11
  br label %2324

2324:                                             ; preds = %2307, %2290
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #11
  br label %2325

2325:                                             ; preds = %2324
  br label %2326

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

2327:                                             ; No predecessors!
  br label %2328

2328:                                             ; preds = %2327
  br label %2329

2329:                                             ; preds = %2328, %2271
  br label %2330

2330:                                             ; preds = %2329
  br label %2331

2331:                                             ; preds = %2330
  br label %2332

2332:                                             ; preds = %2331
  %2333 = load i32, ptr @test_count, align 4, !tbaa !5
  %2334 = add nsw i32 %2333, 1
  store i32 %2334, ptr @test_count, align 4, !tbaa !5
  %2335 = load ptr, ptr %41, align 8, !tbaa !9
  %2336 = getelementptr inbounds %struct.s2n_connection, ptr %2335, i32 0, i32 1
  %2337 = load ptr, ptr %2336, align 8, !tbaa !25
  %2338 = call ptr @s2n_fetch_default_config()
  %2339 = icmp eq ptr %2337, %2338
  br i1 %2339, label %2393, label %2340

2340:                                             ; preds = %2332
  br label %2341

2341:                                             ; preds = %2340
  br label %2342

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

2349:                                             ; preds = %2342
  %2350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2351 = call i32 @fileno(ptr noundef %2350) #11
  %2352 = call i32 @isatty(i32 noundef %2351) #11
  %2353 = icmp ne i32 %2352, 0
  br i1 %2353, label %2354, label %2371

2354:                                             ; preds = %2349
  %2355 = load i32, ptr %44, align 4, !tbaa !5
  %2356 = call ptr @__errno_location() #12
  store i32 %2355, ptr %2356, align 4, !tbaa !5
  %2357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2358 = load i32, ptr @test_count, align 4, !tbaa !5
  %2359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2360 = load i32, ptr %2359, align 4, !tbaa !5
  %2361 = call ptr @s2n_strerror(i32 noundef %2360, ptr noundef @.str.4)
  %2362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2363 = load i32, ptr %2362, align 4, !tbaa !5
  %2364 = call ptr @s2n_strerror_debug(i32 noundef %2363, ptr noundef @.str.4)
  %2365 = call ptr @__errno_location() #12
  %2366 = load i32, ptr %2365, align 4, !tbaa !5
  %2367 = call ptr @strerror(i32 noundef %2366) #11
  %2368 = call ptr @__errno_location() #12
  %2369 = load i32, ptr %2368, align 4, !tbaa !5
  %2370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2357, ptr noundef @.str.2, i32 noundef %2358, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 132, ptr noundef %2361, ptr noundef %2364, ptr noundef %2367, i32 noundef %2369) #11
  br label %2388

2371:                                             ; preds = %2349, %2342
  %2372 = load i32, ptr %44, align 4, !tbaa !5
  %2373 = call ptr @__errno_location() #12
  store i32 %2372, ptr %2373, align 4, !tbaa !5
  %2374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2375 = load i32, ptr @test_count, align 4, !tbaa !5
  %2376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2377 = load i32, ptr %2376, align 4, !tbaa !5
  %2378 = call ptr @s2n_strerror(i32 noundef %2377, ptr noundef @.str.4)
  %2379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2380 = load i32, ptr %2379, align 4, !tbaa !5
  %2381 = call ptr @s2n_strerror_debug(i32 noundef %2380, ptr noundef @.str.4)
  %2382 = call ptr @__errno_location() #12
  %2383 = load i32, ptr %2382, align 4, !tbaa !5
  %2384 = call ptr @strerror(i32 noundef %2383) #11
  %2385 = call ptr @__errno_location() #12
  %2386 = load i32, ptr %2385, align 4, !tbaa !5
  %2387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2374, ptr noundef @.str.5, i32 noundef %2375, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 132, ptr noundef %2378, ptr noundef %2381, ptr noundef %2384, i32 noundef %2386) #11
  br label %2388

2388:                                             ; preds = %2371, %2354
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #11
  br label %2389

2389:                                             ; preds = %2388
  br label %2390

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

2391:                                             ; No predecessors!
  br label %2392

2392:                                             ; preds = %2391
  br label %2393

2393:                                             ; preds = %2392, %2332
  br label %2394

2394:                                             ; preds = %2393
  br label %2395

2395:                                             ; preds = %2394
  br label %2396

2396:                                             ; preds = %2395
  %2397 = load i32, ptr @test_count, align 4, !tbaa !5
  %2398 = add nsw i32 %2397, 1
  store i32 %2398, ptr @test_count, align 4, !tbaa !5
  %2399 = load ptr, ptr %41, align 8, !tbaa !9
  %2400 = call i32 @s2n_connection_get_security_policy(ptr noundef %2399, ptr noundef %42)
  %2401 = icmp eq i32 %2400, -1
  br i1 %2401, label %2402, label %2455

2402:                                             ; preds = %2396
  br label %2403

2403:                                             ; preds = %2402
  br label %2404

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

2411:                                             ; preds = %2404
  %2412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2413 = call i32 @fileno(ptr noundef %2412) #11
  %2414 = call i32 @isatty(i32 noundef %2413) #11
  %2415 = icmp ne i32 %2414, 0
  br i1 %2415, label %2416, label %2433

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

2433:                                             ; preds = %2411, %2404
  %2434 = load i32, ptr %45, align 4, !tbaa !5
  %2435 = call ptr @__errno_location() #12
  store i32 %2434, ptr %2435, align 4, !tbaa !5
  %2436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2437 = load i32, ptr @test_count, align 4, !tbaa !5
  %2438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2439 = load i32, ptr %2438, align 4, !tbaa !5
  %2440 = call ptr @s2n_strerror(i32 noundef %2439, ptr noundef @.str.4)
  %2441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2442 = load i32, ptr %2441, align 4, !tbaa !5
  %2443 = call ptr @s2n_strerror_debug(i32 noundef %2442, ptr noundef @.str.4)
  %2444 = call ptr @__errno_location() #12
  %2445 = load i32, ptr %2444, align 4, !tbaa !5
  %2446 = call ptr @strerror(i32 noundef %2445) #11
  %2447 = call ptr @__errno_location() #12
  %2448 = load i32, ptr %2447, align 4, !tbaa !5
  %2449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2436, ptr noundef @.str.5, i32 noundef %2437, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 134, ptr noundef %2440, ptr noundef %2443, ptr noundef %2446, i32 noundef %2448) #11
  br label %2450

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

2451:                                             ; preds = %2450
  br label %2452

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

2453:                                             ; No predecessors!
  br label %2454

2454:                                             ; preds = %2453
  br label %2455

2455:                                             ; preds = %2454, %2396
  br label %2456

2456:                                             ; preds = %2455
  br label %2457

2457:                                             ; preds = %2456
  br label %2458

2458:                                             ; preds = %2457
  %2459 = load i32, ptr @test_count, align 4, !tbaa !5
  %2460 = add nsw i32 %2459, 1
  store i32 %2460, ptr @test_count, align 4, !tbaa !5
  %2461 = load ptr, ptr %42, align 8, !tbaa !9
  %2462 = load ptr, ptr %12, align 8, !tbaa !9
  %2463 = icmp eq ptr %2461, %2462
  br i1 %2463, label %2517, label %2464

2464:                                             ; preds = %2458
  br label %2465

2465:                                             ; preds = %2464
  br label %2466

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

2473:                                             ; preds = %2466
  %2474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2475 = call i32 @fileno(ptr noundef %2474) #11
  %2476 = call i32 @isatty(i32 noundef %2475) #11
  %2477 = icmp ne i32 %2476, 0
  br i1 %2477, label %2478, label %2495

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

2495:                                             ; preds = %2473, %2466
  %2496 = load i32, ptr %46, align 4, !tbaa !5
  %2497 = call ptr @__errno_location() #12
  store i32 %2496, ptr %2497, align 4, !tbaa !5
  %2498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2499 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2501, ptr noundef @.str.4)
  %2503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2504 = load i32, ptr %2503, align 4, !tbaa !5
  %2505 = call ptr @s2n_strerror_debug(i32 noundef %2504, ptr noundef @.str.4)
  %2506 = call ptr @__errno_location() #12
  %2507 = load i32, ptr %2506, align 4, !tbaa !5
  %2508 = call ptr @strerror(i32 noundef %2507) #11
  %2509 = call ptr @__errno_location() #12
  %2510 = load i32, ptr %2509, align 4, !tbaa !5
  %2511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2498, ptr noundef @.str.5, i32 noundef %2499, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2502, ptr noundef %2505, ptr noundef %2508, i32 noundef %2510) #11
  br label %2512

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

2513:                                             ; preds = %2512
  br label %2514

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

2515:                                             ; No predecessors!
  br label %2516

2516:                                             ; preds = %2515
  br label %2517

2517:                                             ; preds = %2516, %2458
  br label %2518

2518:                                             ; preds = %2517
  br label %2519

2519:                                             ; preds = %2518
  br label %2520

2520:                                             ; preds = %2519
  %2521 = load i32, ptr @test_count, align 4, !tbaa !5
  %2522 = add nsw i32 %2521, 1
  store i32 %2522, ptr @test_count, align 4, !tbaa !5
  %2523 = load ptr, ptr %41, align 8, !tbaa !9
  %2524 = call i32 @s2n_connection_free(ptr noundef %2523)
  %2525 = icmp eq i32 %2524, -1
  br i1 %2525, label %2526, label %2579

2526:                                             ; preds = %2520
  br label %2527

2527:                                             ; preds = %2526
  br label %2528

2528:                                             ; preds = %2527
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #11
  %2529 = call ptr @__errno_location() #12
  %2530 = load i32, ptr %2529, align 4, !tbaa !5
  store i32 %2530, ptr %47, align 4, !tbaa !5
  %2531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2532 = call i32 @s2n_print_stacktrace(ptr noundef %2531)
  %2533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2534 = trunc i8 %2533 to i1
  br i1 %2534, label %2535, label %2557

2535:                                             ; preds = %2528
  %2536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2537 = call i32 @fileno(ptr noundef %2536) #11
  %2538 = call i32 @isatty(i32 noundef %2537) #11
  %2539 = icmp ne i32 %2538, 0
  br i1 %2539, label %2540, label %2557

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

2557:                                             ; preds = %2535, %2528
  %2558 = load i32, ptr %47, align 4, !tbaa !5
  %2559 = call ptr @__errno_location() #12
  store i32 %2558, ptr %2559, align 4, !tbaa !5
  %2560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2561 = load i32, ptr @test_count, align 4, !tbaa !5
  %2562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2563 = load i32, ptr %2562, align 4, !tbaa !5
  %2564 = call ptr @s2n_strerror(i32 noundef %2563, ptr noundef @.str.4)
  %2565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2566 = load i32, ptr %2565, align 4, !tbaa !5
  %2567 = call ptr @s2n_strerror_debug(i32 noundef %2566, ptr noundef @.str.4)
  %2568 = call ptr @__errno_location() #12
  %2569 = load i32, ptr %2568, align 4, !tbaa !5
  %2570 = call ptr @strerror(i32 noundef %2569) #11
  %2571 = call ptr @__errno_location() #12
  %2572 = load i32, ptr %2571, align 4, !tbaa !5
  %2573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2560, ptr noundef @.str.5, i32 noundef %2561, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 137, ptr noundef %2564, ptr noundef %2567, ptr noundef %2570, i32 noundef %2572) #11
  br label %2574

2574:                                             ; preds = %2557, %2540
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %2575

2575:                                             ; preds = %2574
  br label %2576

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

2577:                                             ; No predecessors!
  br label %2578

2578:                                             ; preds = %2577
  br label %2579

2579:                                             ; preds = %2578, %2520
  br label %2580

2580:                                             ; preds = %2579
  br label %2581

2581:                                             ; preds = %2580
  br label %2582

2582:                                             ; preds = %2581
  %2583 = load i32, ptr @test_count, align 4, !tbaa !5
  %2584 = add nsw i32 %2583, 1
  store i32 %2584, ptr @test_count, align 4, !tbaa !5
  %2585 = call i32 (...) @s2n_disable_tls13_in_test()
  %2586 = icmp eq i32 %2585, -1
  br i1 %2586, label %2587, label %2640

2587:                                             ; preds = %2582
  br label %2588

2588:                                             ; preds = %2587
  br label %2589

2589:                                             ; preds = %2588
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #11
  %2590 = call ptr @__errno_location() #12
  %2591 = load i32, ptr %2590, align 4, !tbaa !5
  store i32 %2591, ptr %48, align 4, !tbaa !5
  %2592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2593 = call i32 @s2n_print_stacktrace(ptr noundef %2592)
  %2594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2595 = trunc i8 %2594 to i1
  br i1 %2595, label %2596, label %2618

2596:                                             ; preds = %2589
  %2597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2598 = call i32 @fileno(ptr noundef %2597) #11
  %2599 = call i32 @isatty(i32 noundef %2598) #11
  %2600 = icmp ne i32 %2599, 0
  br i1 %2600, label %2601, label %2618

2601:                                             ; preds = %2596
  %2602 = load i32, ptr %48, align 4, !tbaa !5
  %2603 = call ptr @__errno_location() #12
  store i32 %2602, ptr %2603, align 4, !tbaa !5
  %2604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2605 = load i32, ptr @test_count, align 4, !tbaa !5
  %2606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2607 = load i32, ptr %2606, align 4, !tbaa !5
  %2608 = call ptr @s2n_strerror(i32 noundef %2607, ptr noundef @.str.4)
  %2609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2610 = load i32, ptr %2609, align 4, !tbaa !5
  %2611 = call ptr @s2n_strerror_debug(i32 noundef %2610, ptr noundef @.str.4)
  %2612 = call ptr @__errno_location() #12
  %2613 = load i32, ptr %2612, align 4, !tbaa !5
  %2614 = call ptr @strerror(i32 noundef %2613) #11
  %2615 = call ptr @__errno_location() #12
  %2616 = load i32, ptr %2615, align 4, !tbaa !5
  %2617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2604, ptr noundef @.str.2, i32 noundef %2605, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 138, ptr noundef %2608, ptr noundef %2611, ptr noundef %2614, i32 noundef %2616) #11
  br label %2635

2618:                                             ; preds = %2596, %2589
  %2619 = load i32, ptr %48, align 4, !tbaa !5
  %2620 = call ptr @__errno_location() #12
  store i32 %2619, ptr %2620, align 4, !tbaa !5
  %2621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2622 = load i32, ptr @test_count, align 4, !tbaa !5
  %2623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2624 = load i32, ptr %2623, align 4, !tbaa !5
  %2625 = call ptr @s2n_strerror(i32 noundef %2624, ptr noundef @.str.4)
  %2626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2627 = load i32, ptr %2626, align 4, !tbaa !5
  %2628 = call ptr @s2n_strerror_debug(i32 noundef %2627, ptr noundef @.str.4)
  %2629 = call ptr @__errno_location() #12
  %2630 = load i32, ptr %2629, align 4, !tbaa !5
  %2631 = call ptr @strerror(i32 noundef %2630) #11
  %2632 = call ptr @__errno_location() #12
  %2633 = load i32, ptr %2632, align 4, !tbaa !5
  %2634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2621, ptr noundef @.str.5, i32 noundef %2622, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 138, ptr noundef %2625, ptr noundef %2628, ptr noundef %2631, i32 noundef %2633) #11
  br label %2635

2635:                                             ; preds = %2618, %2601
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  br label %2636

2636:                                             ; preds = %2635
  br label %2637

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

2638:                                             ; No predecessors!
  br label %2639

2639:                                             ; preds = %2638
  br label %2640

2640:                                             ; preds = %2639, %2582
  br label %2641

2641:                                             ; preds = %2640
  br label %2642

2642:                                             ; preds = %2641
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #11
  %2643 = call zeroext i1 @s2n_is_in_fips_mode()
  br i1 %2643, label %2644, label %3017

2644:                                             ; preds = %2642
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #11
  store ptr null, ptr %49, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #11
  store ptr null, ptr %50, align 8, !tbaa !9
  br label %2645

2645:                                             ; preds = %2644
  %2646 = load i32, ptr @test_count, align 4, !tbaa !5
  %2647 = add nsw i32 %2646, 1
  store i32 %2647, ptr @test_count, align 4, !tbaa !5
  %2648 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2648, ptr %49, align 8, !tbaa !9
  %2649 = icmp eq ptr %2648, null
  br i1 %2649, label %2650, label %2703

2650:                                             ; preds = %2645
  br label %2651

2651:                                             ; preds = %2650
  br label %2652

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

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

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

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

2698:                                             ; preds = %2681, %2664
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %2699

2699:                                             ; preds = %2698
  br label %2700

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

2701:                                             ; No predecessors!
  br label %2702

2702:                                             ; preds = %2701
  br label %2703

2703:                                             ; preds = %2702, %2645
  br label %2704

2704:                                             ; preds = %2703
  br label %2705

2705:                                             ; preds = %2704
  br label %2706

2706:                                             ; preds = %2705
  %2707 = load i32, ptr @test_count, align 4, !tbaa !5
  %2708 = add nsw i32 %2707, 1
  store i32 %2708, ptr @test_count, align 4, !tbaa !5
  %2709 = load ptr, ptr %49, align 8, !tbaa !9
  %2710 = getelementptr inbounds %struct.s2n_connection, ptr %2709, i32 0, i32 1
  %2711 = load ptr, ptr %2710, align 8, !tbaa !25
  %2712 = call ptr @s2n_fetch_default_config()
  %2713 = icmp eq ptr %2711, %2712
  br i1 %2713, label %2767, label %2714

2714:                                             ; preds = %2706
  br label %2715

2715:                                             ; preds = %2714
  br label %2716

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

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

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

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

2762:                                             ; preds = %2745, %2728
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #11
  br label %2763

2763:                                             ; preds = %2762
  br label %2764

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

2765:                                             ; No predecessors!
  br label %2766

2766:                                             ; preds = %2765
  br label %2767

2767:                                             ; preds = %2766, %2706
  br label %2768

2768:                                             ; preds = %2767
  br label %2769

2769:                                             ; preds = %2768
  br label %2770

2770:                                             ; preds = %2769
  %2771 = load i32, ptr @test_count, align 4, !tbaa !5
  %2772 = add nsw i32 %2771, 1
  store i32 %2772, ptr @test_count, align 4, !tbaa !5
  %2773 = load ptr, ptr %49, align 8, !tbaa !9
  %2774 = call i32 @s2n_connection_get_security_policy(ptr noundef %2773, ptr noundef %50)
  %2775 = icmp eq i32 %2774, -1
  br i1 %2775, label %2776, label %2829

2776:                                             ; preds = %2770
  br label %2777

2777:                                             ; preds = %2776
  br label %2778

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

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

2790:                                             ; preds = %2785
  %2791 = load i32, ptr %53, align 4, !tbaa !5
  %2792 = call ptr @__errno_location() #12
  store i32 %2791, ptr %2792, align 4, !tbaa !5
  %2793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2794 = load i32, ptr @test_count, align 4, !tbaa !5
  %2795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2796 = load i32, ptr %2795, align 4, !tbaa !5
  %2797 = call ptr @s2n_strerror(i32 noundef %2796, ptr noundef @.str.4)
  %2798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2799 = load i32, ptr %2798, align 4, !tbaa !5
  %2800 = call ptr @s2n_strerror_debug(i32 noundef %2799, ptr noundef @.str.4)
  %2801 = call ptr @__errno_location() #12
  %2802 = load i32, ptr %2801, align 4, !tbaa !5
  %2803 = call ptr @strerror(i32 noundef %2802) #11
  %2804 = call ptr @__errno_location() #12
  %2805 = load i32, ptr %2804, align 4, !tbaa !5
  %2806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2793, ptr noundef @.str.2, i32 noundef %2794, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 149, ptr noundef %2797, ptr noundef %2800, ptr noundef %2803, i32 noundef %2805) #11
  br label %2824

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

2824:                                             ; preds = %2807, %2790
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2825

2825:                                             ; preds = %2824
  br label %2826

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

2827:                                             ; No predecessors!
  br label %2828

2828:                                             ; preds = %2827
  br label %2829

2829:                                             ; preds = %2828, %2770
  br label %2830

2830:                                             ; preds = %2829
  br label %2831

2831:                                             ; preds = %2830
  br label %2832

2832:                                             ; preds = %2831
  %2833 = load i32, ptr @test_count, align 4, !tbaa !5
  %2834 = add nsw i32 %2833, 1
  store i32 %2834, ptr @test_count, align 4, !tbaa !5
  %2835 = load ptr, ptr %50, align 8, !tbaa !9
  %2836 = load ptr, ptr %13, align 8, !tbaa !9
  %2837 = icmp eq ptr %2835, %2836
  br i1 %2837, label %2891, label %2838

2838:                                             ; preds = %2832
  br label %2839

2839:                                             ; preds = %2838
  br label %2840

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

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

2852:                                             ; preds = %2847
  %2853 = load i32, ptr %54, align 4, !tbaa !5
  %2854 = call ptr @__errno_location() #12
  store i32 %2853, ptr %2854, align 4, !tbaa !5
  %2855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2856 = load i32, ptr @test_count, align 4, !tbaa !5
  %2857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2858 = load i32, ptr %2857, align 4, !tbaa !5
  %2859 = call ptr @s2n_strerror(i32 noundef %2858, ptr noundef @.str.4)
  %2860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2861 = load i32, ptr %2860, align 4, !tbaa !5
  %2862 = call ptr @s2n_strerror_debug(i32 noundef %2861, ptr noundef @.str.4)
  %2863 = call ptr @__errno_location() #12
  %2864 = load i32, ptr %2863, align 4, !tbaa !5
  %2865 = call ptr @strerror(i32 noundef %2864) #11
  %2866 = call ptr @__errno_location() #12
  %2867 = load i32, ptr %2866, align 4, !tbaa !5
  %2868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2855, ptr noundef @.str.2, i32 noundef %2856, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 150, ptr noundef %2859, ptr noundef %2862, ptr noundef %2865, i32 noundef %2867) #11
  br label %2886

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

2886:                                             ; preds = %2869, %2852
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2887

2887:                                             ; preds = %2886
  br label %2888

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

2889:                                             ; No predecessors!
  br label %2890

2890:                                             ; preds = %2889
  br label %2891

2891:                                             ; preds = %2890, %2832
  br label %2892

2892:                                             ; preds = %2891
  br label %2893

2893:                                             ; preds = %2892
  br label %2894

2894:                                             ; preds = %2893
  %2895 = load i32, ptr @test_count, align 4, !tbaa !5
  %2896 = add nsw i32 %2895, 1
  store i32 %2896, ptr @test_count, align 4, !tbaa !5
  %2897 = load ptr, ptr %49, align 8, !tbaa !9
  %2898 = call i32 @s2n_connection_free(ptr noundef %2897)
  %2899 = icmp eq i32 %2898, -1
  br i1 %2899, label %2900, label %2953

2900:                                             ; preds = %2894
  br label %2901

2901:                                             ; preds = %2900
  br label %2902

2902:                                             ; preds = %2901
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #11
  %2903 = call ptr @__errno_location() #12
  %2904 = load i32, ptr %2903, align 4, !tbaa !5
  store i32 %2904, ptr %55, align 4, !tbaa !5
  %2905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2906 = call i32 @s2n_print_stacktrace(ptr noundef %2905)
  %2907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2908 = trunc i8 %2907 to i1
  br i1 %2908, label %2909, label %2931

2909:                                             ; preds = %2902
  %2910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2911 = call i32 @fileno(ptr noundef %2910) #11
  %2912 = call i32 @isatty(i32 noundef %2911) #11
  %2913 = icmp ne i32 %2912, 0
  br i1 %2913, label %2914, label %2931

2914:                                             ; preds = %2909
  %2915 = load i32, ptr %55, align 4, !tbaa !5
  %2916 = call ptr @__errno_location() #12
  store i32 %2915, ptr %2916, align 4, !tbaa !5
  %2917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2918 = load i32, ptr @test_count, align 4, !tbaa !5
  %2919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2920 = load i32, ptr %2919, align 4, !tbaa !5
  %2921 = call ptr @s2n_strerror(i32 noundef %2920, ptr noundef @.str.4)
  %2922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2923 = load i32, ptr %2922, align 4, !tbaa !5
  %2924 = call ptr @s2n_strerror_debug(i32 noundef %2923, ptr noundef @.str.4)
  %2925 = call ptr @__errno_location() #12
  %2926 = load i32, ptr %2925, align 4, !tbaa !5
  %2927 = call ptr @strerror(i32 noundef %2926) #11
  %2928 = call ptr @__errno_location() #12
  %2929 = load i32, ptr %2928, align 4, !tbaa !5
  %2930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2917, ptr noundef @.str.2, i32 noundef %2918, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 152, ptr noundef %2921, ptr noundef %2924, ptr noundef %2927, i32 noundef %2929) #11
  br label %2948

2931:                                             ; preds = %2909, %2902
  %2932 = load i32, ptr %55, align 4, !tbaa !5
  %2933 = call ptr @__errno_location() #12
  store i32 %2932, ptr %2933, align 4, !tbaa !5
  %2934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2935 = load i32, ptr @test_count, align 4, !tbaa !5
  %2936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2937 = load i32, ptr %2936, align 4, !tbaa !5
  %2938 = call ptr @s2n_strerror(i32 noundef %2937, ptr noundef @.str.4)
  %2939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2940 = load i32, ptr %2939, align 4, !tbaa !5
  %2941 = call ptr @s2n_strerror_debug(i32 noundef %2940, ptr noundef @.str.4)
  %2942 = call ptr @__errno_location() #12
  %2943 = load i32, ptr %2942, align 4, !tbaa !5
  %2944 = call ptr @strerror(i32 noundef %2943) #11
  %2945 = call ptr @__errno_location() #12
  %2946 = load i32, ptr %2945, align 4, !tbaa !5
  %2947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2934, ptr noundef @.str.5, i32 noundef %2935, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 152, ptr noundef %2938, ptr noundef %2941, ptr noundef %2944, i32 noundef %2946) #11
  br label %2948

2948:                                             ; preds = %2931, %2914
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2949

2949:                                             ; preds = %2948
  br label %2950

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

2951:                                             ; No predecessors!
  br label %2952

2952:                                             ; preds = %2951
  br label %2953

2953:                                             ; preds = %2952, %2894
  br label %2954

2954:                                             ; preds = %2953
  br label %2955

2955:                                             ; preds = %2954
  br label %2956

2956:                                             ; preds = %2955
  %2957 = load i32, ptr @test_count, align 4, !tbaa !5
  %2958 = add nsw i32 %2957, 1
  store i32 %2958, ptr @test_count, align 4, !tbaa !5
  %2959 = call i32 (...) @s2n_disable_tls13_in_test()
  %2960 = icmp eq i32 %2959, -1
  br i1 %2960, label %2961, label %3014

2961:                                             ; preds = %2956
  br label %2962

2962:                                             ; preds = %2961
  br label %2963

2963:                                             ; preds = %2962
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #11
  %2964 = call ptr @__errno_location() #12
  %2965 = load i32, ptr %2964, align 4, !tbaa !5
  store i32 %2965, ptr %56, align 4, !tbaa !5
  %2966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2967 = call i32 @s2n_print_stacktrace(ptr noundef %2966)
  %2968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2969 = trunc i8 %2968 to i1
  br i1 %2969, label %2970, label %2992

2970:                                             ; preds = %2963
  %2971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2972 = call i32 @fileno(ptr noundef %2971) #11
  %2973 = call i32 @isatty(i32 noundef %2972) #11
  %2974 = icmp ne i32 %2973, 0
  br i1 %2974, label %2975, label %2992

2975:                                             ; preds = %2970
  %2976 = load i32, ptr %56, align 4, !tbaa !5
  %2977 = call ptr @__errno_location() #12
  store i32 %2976, ptr %2977, align 4, !tbaa !5
  %2978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2979 = load i32, ptr @test_count, align 4, !tbaa !5
  %2980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2981 = load i32, ptr %2980, align 4, !tbaa !5
  %2982 = call ptr @s2n_strerror(i32 noundef %2981, ptr noundef @.str.4)
  %2983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2984 = load i32, ptr %2983, align 4, !tbaa !5
  %2985 = call ptr @s2n_strerror_debug(i32 noundef %2984, ptr noundef @.str.4)
  %2986 = call ptr @__errno_location() #12
  %2987 = load i32, ptr %2986, align 4, !tbaa !5
  %2988 = call ptr @strerror(i32 noundef %2987) #11
  %2989 = call ptr @__errno_location() #12
  %2990 = load i32, ptr %2989, align 4, !tbaa !5
  %2991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2978, ptr noundef @.str.2, i32 noundef %2979, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 153, ptr noundef %2982, ptr noundef %2985, ptr noundef %2988, i32 noundef %2990) #11
  br label %3009

2992:                                             ; preds = %2970, %2963
  %2993 = load i32, ptr %56, align 4, !tbaa !5
  %2994 = call ptr @__errno_location() #12
  store i32 %2993, ptr %2994, align 4, !tbaa !5
  %2995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2996 = load i32, ptr @test_count, align 4, !tbaa !5
  %2997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2998 = load i32, ptr %2997, align 4, !tbaa !5
  %2999 = call ptr @s2n_strerror(i32 noundef %2998, ptr noundef @.str.4)
  %3000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3001 = load i32, ptr %3000, align 4, !tbaa !5
  %3002 = call ptr @s2n_strerror_debug(i32 noundef %3001, ptr noundef @.str.4)
  %3003 = call ptr @__errno_location() #12
  %3004 = load i32, ptr %3003, align 4, !tbaa !5
  %3005 = call ptr @strerror(i32 noundef %3004) #11
  %3006 = call ptr @__errno_location() #12
  %3007 = load i32, ptr %3006, align 4, !tbaa !5
  %3008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2995, ptr noundef @.str.5, i32 noundef %2996, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 153, ptr noundef %2999, ptr noundef %3002, ptr noundef %3005, i32 noundef %3007) #11
  br label %3009

3009:                                             ; preds = %2992, %2975
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #11
  br label %3010

3010:                                             ; preds = %3009
  br label %3011

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

3012:                                             ; No predecessors!
  br label %3013

3013:                                             ; preds = %3012
  br label %3014

3014:                                             ; preds = %3013, %2956
  br label %3015

3015:                                             ; preds = %3014
  br label %3016

3016:                                             ; preds = %3015
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #11
  br label %3017

3017:                                             ; preds = %3016, %2642
  %3018 = call zeroext i1 @s2n_is_in_fips_mode()
  br i1 %3018, label %3516, label %3019

3019:                                             ; preds = %3017
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #11
  store ptr null, ptr %57, align 8, !tbaa !9
  br label %3020

3020:                                             ; preds = %3019
  %3021 = load i32, ptr @test_count, align 4, !tbaa !5
  %3022 = add nsw i32 %3021, 1
  store i32 %3022, ptr @test_count, align 4, !tbaa !5
  %3023 = call ptr @s2n_config_new()
  store ptr %3023, ptr %57, align 8, !tbaa !9
  %3024 = icmp eq ptr %3023, null
  br i1 %3024, label %3025, label %3078

3025:                                             ; preds = %3020
  br label %3026

3026:                                             ; preds = %3025
  br label %3027

3027:                                             ; preds = %3026
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #11
  %3028 = call ptr @__errno_location() #12
  %3029 = load i32, ptr %3028, align 4, !tbaa !5
  store i32 %3029, ptr %58, align 4, !tbaa !5
  %3030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3031 = call i32 @s2n_print_stacktrace(ptr noundef %3030)
  %3032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3033 = trunc i8 %3032 to i1
  br i1 %3033, label %3034, label %3056

3034:                                             ; preds = %3027
  %3035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3036 = call i32 @fileno(ptr noundef %3035) #11
  %3037 = call i32 @isatty(i32 noundef %3036) #11
  %3038 = icmp ne i32 %3037, 0
  br i1 %3038, label %3039, label %3056

3039:                                             ; preds = %3034
  %3040 = load i32, ptr %58, align 4, !tbaa !5
  %3041 = call ptr @__errno_location() #12
  store i32 %3040, ptr %3041, align 4, !tbaa !5
  %3042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3043 = load i32, ptr @test_count, align 4, !tbaa !5
  %3044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3045 = load i32, ptr %3044, align 4, !tbaa !5
  %3046 = call ptr @s2n_strerror(i32 noundef %3045, ptr noundef @.str.4)
  %3047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3048 = load i32, ptr %3047, align 4, !tbaa !5
  %3049 = call ptr @s2n_strerror_debug(i32 noundef %3048, ptr noundef @.str.4)
  %3050 = call ptr @__errno_location() #12
  %3051 = load i32, ptr %3050, align 4, !tbaa !5
  %3052 = call ptr @strerror(i32 noundef %3051) #11
  %3053 = call ptr @__errno_location() #12
  %3054 = load i32, ptr %3053, align 4, !tbaa !5
  %3055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3042, ptr noundef @.str.2, i32 noundef %3043, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 161, ptr noundef %3046, ptr noundef %3049, ptr noundef %3052, i32 noundef %3054) #11
  br label %3073

3056:                                             ; preds = %3034, %3027
  %3057 = load i32, ptr %58, align 4, !tbaa !5
  %3058 = call ptr @__errno_location() #12
  store i32 %3057, ptr %3058, align 4, !tbaa !5
  %3059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3060 = load i32, ptr @test_count, align 4, !tbaa !5
  %3061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3062 = load i32, ptr %3061, align 4, !tbaa !5
  %3063 = call ptr @s2n_strerror(i32 noundef %3062, ptr noundef @.str.4)
  %3064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3065 = load i32, ptr %3064, align 4, !tbaa !5
  %3066 = call ptr @s2n_strerror_debug(i32 noundef %3065, ptr noundef @.str.4)
  %3067 = call ptr @__errno_location() #12
  %3068 = load i32, ptr %3067, align 4, !tbaa !5
  %3069 = call ptr @strerror(i32 noundef %3068) #11
  %3070 = call ptr @__errno_location() #12
  %3071 = load i32, ptr %3070, align 4, !tbaa !5
  %3072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3059, ptr noundef @.str.5, i32 noundef %3060, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 161, ptr noundef %3063, ptr noundef %3066, ptr noundef %3069, i32 noundef %3071) #11
  br label %3073

3073:                                             ; preds = %3056, %3039
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %3074

3074:                                             ; preds = %3073
  br label %3075

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

3076:                                             ; No predecessors!
  br label %3077

3077:                                             ; preds = %3076
  br label %3078

3078:                                             ; preds = %3077, %3020
  br label %3079

3079:                                             ; preds = %3078
  br label %3080

3080:                                             ; preds = %3079
  br label %3081

3081:                                             ; preds = %3080
  %3082 = load i32, ptr @test_count, align 4, !tbaa !5
  %3083 = add nsw i32 %3082, 1
  store i32 %3083, ptr @test_count, align 4, !tbaa !5
  %3084 = load ptr, ptr %57, align 8, !tbaa !9
  %3085 = getelementptr inbounds %struct.s2n_config, ptr %3084, i32 0, i32 7
  %3086 = load ptr, ptr %3085, align 8, !tbaa !15
  %3087 = load ptr, ptr %11, align 8, !tbaa !9
  %3088 = icmp eq ptr %3086, %3087
  br i1 %3088, label %3142, label %3089

3089:                                             ; preds = %3081
  br label %3090

3090:                                             ; preds = %3089
  br label %3091

3091:                                             ; preds = %3090
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #11
  %3092 = call ptr @__errno_location() #12
  %3093 = load i32, ptr %3092, align 4, !tbaa !5
  store i32 %3093, ptr %59, align 4, !tbaa !5
  %3094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3095 = call i32 @s2n_print_stacktrace(ptr noundef %3094)
  %3096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3097 = trunc i8 %3096 to i1
  br i1 %3097, label %3098, label %3120

3098:                                             ; preds = %3091
  %3099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3100 = call i32 @fileno(ptr noundef %3099) #11
  %3101 = call i32 @isatty(i32 noundef %3100) #11
  %3102 = icmp ne i32 %3101, 0
  br i1 %3102, label %3103, label %3120

3103:                                             ; preds = %3098
  %3104 = load i32, ptr %59, align 4, !tbaa !5
  %3105 = call ptr @__errno_location() #12
  store i32 %3104, ptr %3105, align 4, !tbaa !5
  %3106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3107 = load i32, ptr @test_count, align 4, !tbaa !5
  %3108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3109 = load i32, ptr %3108, align 4, !tbaa !5
  %3110 = call ptr @s2n_strerror(i32 noundef %3109, ptr noundef @.str.4)
  %3111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3112 = load i32, ptr %3111, align 4, !tbaa !5
  %3113 = call ptr @s2n_strerror_debug(i32 noundef %3112, ptr noundef @.str.4)
  %3114 = call ptr @__errno_location() #12
  %3115 = load i32, ptr %3114, align 4, !tbaa !5
  %3116 = call ptr @strerror(i32 noundef %3115) #11
  %3117 = call ptr @__errno_location() #12
  %3118 = load i32, ptr %3117, align 4, !tbaa !5
  %3119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3106, ptr noundef @.str.2, i32 noundef %3107, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 162, ptr noundef %3110, ptr noundef %3113, ptr noundef %3116, i32 noundef %3118) #11
  br label %3137

3120:                                             ; preds = %3098, %3091
  %3121 = load i32, ptr %59, align 4, !tbaa !5
  %3122 = call ptr @__errno_location() #12
  store i32 %3121, ptr %3122, align 4, !tbaa !5
  %3123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3124 = load i32, ptr @test_count, align 4, !tbaa !5
  %3125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3126 = load i32, ptr %3125, align 4, !tbaa !5
  %3127 = call ptr @s2n_strerror(i32 noundef %3126, ptr noundef @.str.4)
  %3128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3129 = load i32, ptr %3128, align 4, !tbaa !5
  %3130 = call ptr @s2n_strerror_debug(i32 noundef %3129, ptr noundef @.str.4)
  %3131 = call ptr @__errno_location() #12
  %3132 = load i32, ptr %3131, align 4, !tbaa !5
  %3133 = call ptr @strerror(i32 noundef %3132) #11
  %3134 = call ptr @__errno_location() #12
  %3135 = load i32, ptr %3134, align 4, !tbaa !5
  %3136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3123, ptr noundef @.str.5, i32 noundef %3124, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 162, ptr noundef %3127, ptr noundef %3130, ptr noundef %3133, i32 noundef %3135) #11
  br label %3137

3137:                                             ; preds = %3120, %3103
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %3138

3138:                                             ; preds = %3137
  br label %3139

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

3140:                                             ; No predecessors!
  br label %3141

3141:                                             ; preds = %3140
  br label %3142

3142:                                             ; preds = %3141, %3081
  br label %3143

3143:                                             ; preds = %3142
  br label %3144

3144:                                             ; preds = %3143
  br label %3145

3145:                                             ; preds = %3144
  %3146 = load i32, ptr @test_count, align 4, !tbaa !5
  %3147 = add nsw i32 %3146, 1
  store i32 %3147, ptr @test_count, align 4, !tbaa !5
  %3148 = load ptr, ptr %57, align 8, !tbaa !9
  %3149 = call i32 @s2n_config_free(ptr noundef %3148)
  %3150 = icmp eq i32 %3149, -1
  br i1 %3150, label %3151, label %3204

3151:                                             ; preds = %3145
  br label %3152

3152:                                             ; preds = %3151
  br label %3153

3153:                                             ; preds = %3152
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  %3154 = call ptr @__errno_location() #12
  %3155 = load i32, ptr %3154, align 4, !tbaa !5
  store i32 %3155, ptr %60, align 4, !tbaa !5
  %3156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3157 = call i32 @s2n_print_stacktrace(ptr noundef %3156)
  %3158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3159 = trunc i8 %3158 to i1
  br i1 %3159, label %3160, label %3182

3160:                                             ; preds = %3153
  %3161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3162 = call i32 @fileno(ptr noundef %3161) #11
  %3163 = call i32 @isatty(i32 noundef %3162) #11
  %3164 = icmp ne i32 %3163, 0
  br i1 %3164, label %3165, label %3182

3165:                                             ; preds = %3160
  %3166 = load i32, ptr %60, align 4, !tbaa !5
  %3167 = call ptr @__errno_location() #12
  store i32 %3166, ptr %3167, align 4, !tbaa !5
  %3168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3169 = load i32, ptr @test_count, align 4, !tbaa !5
  %3170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3171 = load i32, ptr %3170, align 4, !tbaa !5
  %3172 = call ptr @s2n_strerror(i32 noundef %3171, ptr noundef @.str.4)
  %3173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3174 = load i32, ptr %3173, align 4, !tbaa !5
  %3175 = call ptr @s2n_strerror_debug(i32 noundef %3174, ptr noundef @.str.4)
  %3176 = call ptr @__errno_location() #12
  %3177 = load i32, ptr %3176, align 4, !tbaa !5
  %3178 = call ptr @strerror(i32 noundef %3177) #11
  %3179 = call ptr @__errno_location() #12
  %3180 = load i32, ptr %3179, align 4, !tbaa !5
  %3181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3168, ptr noundef @.str.2, i32 noundef %3169, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3172, ptr noundef %3175, ptr noundef %3178, i32 noundef %3180) #11
  br label %3199

3182:                                             ; preds = %3160, %3153
  %3183 = load i32, ptr %60, align 4, !tbaa !5
  %3184 = call ptr @__errno_location() #12
  store i32 %3183, ptr %3184, align 4, !tbaa !5
  %3185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3186 = load i32, ptr @test_count, align 4, !tbaa !5
  %3187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3188 = load i32, ptr %3187, align 4, !tbaa !5
  %3189 = call ptr @s2n_strerror(i32 noundef %3188, ptr noundef @.str.4)
  %3190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3191 = load i32, ptr %3190, align 4, !tbaa !5
  %3192 = call ptr @s2n_strerror_debug(i32 noundef %3191, ptr noundef @.str.4)
  %3193 = call ptr @__errno_location() #12
  %3194 = load i32, ptr %3193, align 4, !tbaa !5
  %3195 = call ptr @strerror(i32 noundef %3194) #11
  %3196 = call ptr @__errno_location() #12
  %3197 = load i32, ptr %3196, align 4, !tbaa !5
  %3198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3185, ptr noundef @.str.5, i32 noundef %3186, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3189, ptr noundef %3192, ptr noundef %3195, i32 noundef %3197) #11
  br label %3199

3199:                                             ; preds = %3182, %3165
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %3200

3200:                                             ; preds = %3199
  br label %3201

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

3202:                                             ; No predecessors!
  br label %3203

3203:                                             ; preds = %3202
  br label %3204

3204:                                             ; preds = %3203, %3145
  br label %3205

3205:                                             ; preds = %3204
  br label %3206

3206:                                             ; preds = %3205
  br label %3207

3207:                                             ; preds = %3206
  %3208 = load i32, ptr @test_count, align 4, !tbaa !5
  %3209 = add nsw i32 %3208, 1
  store i32 %3209, ptr @test_count, align 4, !tbaa !5
  %3210 = call i32 (...) @s2n_enable_tls13_in_test()
  %3211 = icmp eq i32 %3210, -1
  br i1 %3211, label %3212, label %3265

3212:                                             ; preds = %3207
  br label %3213

3213:                                             ; preds = %3212
  br label %3214

3214:                                             ; preds = %3213
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #11
  %3215 = call ptr @__errno_location() #12
  %3216 = load i32, ptr %3215, align 4, !tbaa !5
  store i32 %3216, ptr %61, align 4, !tbaa !5
  %3217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3218 = call i32 @s2n_print_stacktrace(ptr noundef %3217)
  %3219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3220 = trunc i8 %3219 to i1
  br i1 %3220, label %3221, label %3243

3221:                                             ; preds = %3214
  %3222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3223 = call i32 @fileno(ptr noundef %3222) #11
  %3224 = call i32 @isatty(i32 noundef %3223) #11
  %3225 = icmp ne i32 %3224, 0
  br i1 %3225, label %3226, label %3243

3226:                                             ; preds = %3221
  %3227 = load i32, ptr %61, align 4, !tbaa !5
  %3228 = call ptr @__errno_location() #12
  store i32 %3227, ptr %3228, align 4, !tbaa !5
  %3229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3230 = load i32, ptr @test_count, align 4, !tbaa !5
  %3231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3232 = load i32, ptr %3231, align 4, !tbaa !5
  %3233 = call ptr @s2n_strerror(i32 noundef %3232, ptr noundef @.str.4)
  %3234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3235 = load i32, ptr %3234, align 4, !tbaa !5
  %3236 = call ptr @s2n_strerror_debug(i32 noundef %3235, ptr noundef @.str.4)
  %3237 = call ptr @__errno_location() #12
  %3238 = load i32, ptr %3237, align 4, !tbaa !5
  %3239 = call ptr @strerror(i32 noundef %3238) #11
  %3240 = call ptr @__errno_location() #12
  %3241 = load i32, ptr %3240, align 4, !tbaa !5
  %3242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3229, ptr noundef @.str.2, i32 noundef %3230, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3233, ptr noundef %3236, ptr noundef %3239, i32 noundef %3241) #11
  br label %3260

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

3260:                                             ; preds = %3243, %3226
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %3261

3261:                                             ; preds = %3260
  br label %3262

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

3263:                                             ; No predecessors!
  br label %3264

3264:                                             ; preds = %3263
  br label %3265

3265:                                             ; preds = %3264, %3207
  br label %3266

3266:                                             ; preds = %3265
  br label %3267

3267:                                             ; preds = %3266
  br label %3268

3268:                                             ; preds = %3267
  %3269 = load i32, ptr @test_count, align 4, !tbaa !5
  %3270 = add nsw i32 %3269, 1
  store i32 %3270, ptr @test_count, align 4, !tbaa !5
  %3271 = call ptr @s2n_config_new()
  store ptr %3271, ptr %57, align 8, !tbaa !9
  %3272 = icmp eq ptr %3271, null
  br i1 %3272, label %3273, label %3326

3273:                                             ; preds = %3268
  br label %3274

3274:                                             ; preds = %3273
  br label %3275

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

3282:                                             ; preds = %3275
  %3283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3284 = call i32 @fileno(ptr noundef %3283) #11
  %3285 = call i32 @isatty(i32 noundef %3284) #11
  %3286 = icmp ne i32 %3285, 0
  br i1 %3286, label %3287, label %3304

3287:                                             ; preds = %3282
  %3288 = load i32, ptr %62, align 4, !tbaa !5
  %3289 = call ptr @__errno_location() #12
  store i32 %3288, ptr %3289, align 4, !tbaa !5
  %3290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3291 = load i32, ptr @test_count, align 4, !tbaa !5
  %3292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3293 = load i32, ptr %3292, align 4, !tbaa !5
  %3294 = call ptr @s2n_strerror(i32 noundef %3293, ptr noundef @.str.4)
  %3295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3296 = load i32, ptr %3295, align 4, !tbaa !5
  %3297 = call ptr @s2n_strerror_debug(i32 noundef %3296, ptr noundef @.str.4)
  %3298 = call ptr @__errno_location() #12
  %3299 = load i32, ptr %3298, align 4, !tbaa !5
  %3300 = call ptr @strerror(i32 noundef %3299) #11
  %3301 = call ptr @__errno_location() #12
  %3302 = load i32, ptr %3301, align 4, !tbaa !5
  %3303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3290, ptr noundef @.str.2, i32 noundef %3291, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3294, ptr noundef %3297, ptr noundef %3300, i32 noundef %3302) #11
  br label %3321

3304:                                             ; preds = %3282, %3275
  %3305 = load i32, ptr %62, align 4, !tbaa !5
  %3306 = call ptr @__errno_location() #12
  store i32 %3305, ptr %3306, align 4, !tbaa !5
  %3307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3308 = load i32, ptr @test_count, align 4, !tbaa !5
  %3309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3310 = load i32, ptr %3309, align 4, !tbaa !5
  %3311 = call ptr @s2n_strerror(i32 noundef %3310, ptr noundef @.str.4)
  %3312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3313 = load i32, ptr %3312, align 4, !tbaa !5
  %3314 = call ptr @s2n_strerror_debug(i32 noundef %3313, ptr noundef @.str.4)
  %3315 = call ptr @__errno_location() #12
  %3316 = load i32, ptr %3315, align 4, !tbaa !5
  %3317 = call ptr @strerror(i32 noundef %3316) #11
  %3318 = call ptr @__errno_location() #12
  %3319 = load i32, ptr %3318, align 4, !tbaa !5
  %3320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3307, ptr noundef @.str.5, i32 noundef %3308, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3311, ptr noundef %3314, ptr noundef %3317, i32 noundef %3319) #11
  br label %3321

3321:                                             ; preds = %3304, %3287
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %3322

3322:                                             ; preds = %3321
  br label %3323

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

3324:                                             ; No predecessors!
  br label %3325

3325:                                             ; preds = %3324
  br label %3326

3326:                                             ; preds = %3325, %3268
  br label %3327

3327:                                             ; preds = %3326
  br label %3328

3328:                                             ; preds = %3327
  br label %3329

3329:                                             ; preds = %3328
  %3330 = load i32, ptr @test_count, align 4, !tbaa !5
  %3331 = add nsw i32 %3330, 1
  store i32 %3331, ptr @test_count, align 4, !tbaa !5
  %3332 = load ptr, ptr %57, align 8, !tbaa !9
  %3333 = getelementptr inbounds %struct.s2n_config, ptr %3332, i32 0, i32 7
  %3334 = load ptr, ptr %3333, align 8, !tbaa !15
  %3335 = load ptr, ptr %12, align 8, !tbaa !9
  %3336 = icmp eq ptr %3334, %3335
  br i1 %3336, label %3390, label %3337

3337:                                             ; preds = %3329
  br label %3338

3338:                                             ; preds = %3337
  br label %3339

3339:                                             ; preds = %3338
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #11
  %3340 = call ptr @__errno_location() #12
  %3341 = load i32, ptr %3340, align 4, !tbaa !5
  store i32 %3341, ptr %63, align 4, !tbaa !5
  %3342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3343 = call i32 @s2n_print_stacktrace(ptr noundef %3342)
  %3344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3345 = trunc i8 %3344 to i1
  br i1 %3345, label %3346, label %3368

3346:                                             ; preds = %3339
  %3347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3348 = call i32 @fileno(ptr noundef %3347) #11
  %3349 = call i32 @isatty(i32 noundef %3348) #11
  %3350 = icmp ne i32 %3349, 0
  br i1 %3350, label %3351, label %3368

3351:                                             ; preds = %3346
  %3352 = load i32, ptr %63, align 4, !tbaa !5
  %3353 = call ptr @__errno_location() #12
  store i32 %3352, ptr %3353, align 4, !tbaa !5
  %3354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3355 = load i32, ptr @test_count, align 4, !tbaa !5
  %3356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3357 = load i32, ptr %3356, align 4, !tbaa !5
  %3358 = call ptr @s2n_strerror(i32 noundef %3357, ptr noundef @.str.4)
  %3359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3360 = load i32, ptr %3359, align 4, !tbaa !5
  %3361 = call ptr @s2n_strerror_debug(i32 noundef %3360, ptr noundef @.str.4)
  %3362 = call ptr @__errno_location() #12
  %3363 = load i32, ptr %3362, align 4, !tbaa !5
  %3364 = call ptr @strerror(i32 noundef %3363) #11
  %3365 = call ptr @__errno_location() #12
  %3366 = load i32, ptr %3365, align 4, !tbaa !5
  %3367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3354, ptr noundef @.str.2, i32 noundef %3355, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 167, ptr noundef %3358, ptr noundef %3361, ptr noundef %3364, i32 noundef %3366) #11
  br label %3385

3368:                                             ; preds = %3346, %3339
  %3369 = load i32, ptr %63, align 4, !tbaa !5
  %3370 = call ptr @__errno_location() #12
  store i32 %3369, ptr %3370, align 4, !tbaa !5
  %3371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3372 = load i32, 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(i32 noundef %3374, ptr noundef @.str.4)
  %3376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3377 = load i32, ptr %3376, align 4, !tbaa !5
  %3378 = call ptr @s2n_strerror_debug(i32 noundef %3377, ptr noundef @.str.4)
  %3379 = call ptr @__errno_location() #12
  %3380 = load i32, ptr %3379, align 4, !tbaa !5
  %3381 = call ptr @strerror(i32 noundef %3380) #11
  %3382 = call ptr @__errno_location() #12
  %3383 = load i32, ptr %3382, align 4, !tbaa !5
  %3384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3371, ptr noundef @.str.5, i32 noundef %3372, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 167, ptr noundef %3375, ptr noundef %3378, ptr noundef %3381, i32 noundef %3383) #11
  br label %3385

3385:                                             ; preds = %3368, %3351
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %3386

3386:                                             ; preds = %3385
  br label %3387

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

3388:                                             ; No predecessors!
  br label %3389

3389:                                             ; preds = %3388
  br label %3390

3390:                                             ; preds = %3389, %3329
  br label %3391

3391:                                             ; preds = %3390
  br label %3392

3392:                                             ; preds = %3391
  br label %3393

3393:                                             ; preds = %3392
  %3394 = load i32, ptr @test_count, align 4, !tbaa !5
  %3395 = add nsw i32 %3394, 1
  store i32 %3395, ptr @test_count, align 4, !tbaa !5
  %3396 = load ptr, ptr %57, align 8, !tbaa !9
  %3397 = call i32 @s2n_config_free(ptr noundef %3396)
  %3398 = icmp eq i32 %3397, -1
  br i1 %3398, label %3399, label %3452

3399:                                             ; preds = %3393
  br label %3400

3400:                                             ; preds = %3399
  br label %3401

3401:                                             ; preds = %3400
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %3402 = call ptr @__errno_location() #12
  %3403 = load i32, ptr %3402, align 4, !tbaa !5
  store i32 %3403, ptr %64, align 4, !tbaa !5
  %3404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3405 = call i32 @s2n_print_stacktrace(ptr noundef %3404)
  %3406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3407 = trunc i8 %3406 to i1
  br i1 %3407, label %3408, label %3430

3408:                                             ; preds = %3401
  %3409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3410 = call i32 @fileno(ptr noundef %3409) #11
  %3411 = call i32 @isatty(i32 noundef %3410) #11
  %3412 = icmp ne i32 %3411, 0
  br i1 %3412, label %3413, label %3430

3413:                                             ; preds = %3408
  %3414 = load i32, ptr %64, align 4, !tbaa !5
  %3415 = call ptr @__errno_location() #12
  store i32 %3414, ptr %3415, align 4, !tbaa !5
  %3416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3417 = load i32, ptr @test_count, align 4, !tbaa !5
  %3418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3419 = load i32, ptr %3418, align 4, !tbaa !5
  %3420 = call ptr @s2n_strerror(i32 noundef %3419, ptr noundef @.str.4)
  %3421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3422 = load i32, ptr %3421, align 4, !tbaa !5
  %3423 = call ptr @s2n_strerror_debug(i32 noundef %3422, ptr noundef @.str.4)
  %3424 = call ptr @__errno_location() #12
  %3425 = load i32, ptr %3424, align 4, !tbaa !5
  %3426 = call ptr @strerror(i32 noundef %3425) #11
  %3427 = call ptr @__errno_location() #12
  %3428 = load i32, ptr %3427, align 4, !tbaa !5
  %3429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3416, ptr noundef @.str.2, i32 noundef %3417, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 168, ptr noundef %3420, ptr noundef %3423, ptr noundef %3426, i32 noundef %3428) #11
  br label %3447

3430:                                             ; preds = %3408, %3401
  %3431 = load i32, ptr %64, align 4, !tbaa !5
  %3432 = call ptr @__errno_location() #12
  store i32 %3431, ptr %3432, align 4, !tbaa !5
  %3433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3434 = load i32, ptr @test_count, align 4, !tbaa !5
  %3435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3436 = load i32, ptr %3435, align 4, !tbaa !5
  %3437 = call ptr @s2n_strerror(i32 noundef %3436, ptr noundef @.str.4)
  %3438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3439 = load i32, ptr %3438, align 4, !tbaa !5
  %3440 = call ptr @s2n_strerror_debug(i32 noundef %3439, ptr noundef @.str.4)
  %3441 = call ptr @__errno_location() #12
  %3442 = load i32, ptr %3441, align 4, !tbaa !5
  %3443 = call ptr @strerror(i32 noundef %3442) #11
  %3444 = call ptr @__errno_location() #12
  %3445 = load i32, ptr %3444, align 4, !tbaa !5
  %3446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3433, ptr noundef @.str.5, i32 noundef %3434, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 168, ptr noundef %3437, ptr noundef %3440, ptr noundef %3443, i32 noundef %3445) #11
  br label %3447

3447:                                             ; preds = %3430, %3413
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %3448

3448:                                             ; preds = %3447
  br label %3449

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

3450:                                             ; No predecessors!
  br label %3451

3451:                                             ; preds = %3450
  br label %3452

3452:                                             ; preds = %3451, %3393
  br label %3453

3453:                                             ; preds = %3452
  br label %3454

3454:                                             ; preds = %3453
  br label %3455

3455:                                             ; preds = %3454
  %3456 = load i32, ptr @test_count, align 4, !tbaa !5
  %3457 = add nsw i32 %3456, 1
  store i32 %3457, ptr @test_count, align 4, !tbaa !5
  %3458 = call i32 (...) @s2n_disable_tls13_in_test()
  %3459 = icmp eq i32 %3458, -1
  br i1 %3459, label %3460, label %3513

3460:                                             ; preds = %3455
  br label %3461

3461:                                             ; preds = %3460
  br label %3462

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

3469:                                             ; preds = %3462
  %3470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3471 = call i32 @fileno(ptr noundef %3470) #11
  %3472 = call i32 @isatty(i32 noundef %3471) #11
  %3473 = icmp ne i32 %3472, 0
  br i1 %3473, label %3474, label %3491

3474:                                             ; preds = %3469
  %3475 = load i32, ptr %65, align 4, !tbaa !5
  %3476 = call ptr @__errno_location() #12
  store i32 %3475, ptr %3476, align 4, !tbaa !5
  %3477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3478 = load i32, ptr @test_count, align 4, !tbaa !5
  %3479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3480 = load i32, ptr %3479, align 4, !tbaa !5
  %3481 = call ptr @s2n_strerror(i32 noundef %3480, ptr noundef @.str.4)
  %3482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3483 = load i32, ptr %3482, align 4, !tbaa !5
  %3484 = call ptr @s2n_strerror_debug(i32 noundef %3483, ptr noundef @.str.4)
  %3485 = call ptr @__errno_location() #12
  %3486 = load i32, ptr %3485, align 4, !tbaa !5
  %3487 = call ptr @strerror(i32 noundef %3486) #11
  %3488 = call ptr @__errno_location() #12
  %3489 = load i32, ptr %3488, align 4, !tbaa !5
  %3490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3477, ptr noundef @.str.2, i32 noundef %3478, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3481, ptr noundef %3484, ptr noundef %3487, i32 noundef %3489) #11
  br label %3508

3491:                                             ; preds = %3469, %3462
  %3492 = load i32, ptr %65, align 4, !tbaa !5
  %3493 = call ptr @__errno_location() #12
  store i32 %3492, ptr %3493, align 4, !tbaa !5
  %3494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3495 = load i32, ptr @test_count, align 4, !tbaa !5
  %3496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3497 = load i32, ptr %3496, align 4, !tbaa !5
  %3498 = call ptr @s2n_strerror(i32 noundef %3497, ptr noundef @.str.4)
  %3499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3500 = load i32, ptr %3499, align 4, !tbaa !5
  %3501 = call ptr @s2n_strerror_debug(i32 noundef %3500, ptr noundef @.str.4)
  %3502 = call ptr @__errno_location() #12
  %3503 = load i32, ptr %3502, align 4, !tbaa !5
  %3504 = call ptr @strerror(i32 noundef %3503) #11
  %3505 = call ptr @__errno_location() #12
  %3506 = load i32, ptr %3505, align 4, !tbaa !5
  %3507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3494, ptr noundef @.str.5, i32 noundef %3495, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3498, ptr noundef %3501, ptr noundef %3504, i32 noundef %3506) #11
  br label %3508

3508:                                             ; preds = %3491, %3474
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  br label %3509

3509:                                             ; preds = %3508
  br label %3510

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

3511:                                             ; No predecessors!
  br label %3512

3512:                                             ; preds = %3511
  br label %3513

3513:                                             ; preds = %3512, %3455
  br label %3514

3514:                                             ; preds = %3513
  br label %3515

3515:                                             ; preds = %3514
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #11
  br label %3516

3516:                                             ; preds = %3515, %3017
  call void @llvm.lifetime.start.p0(i64 8, ptr %66) #11
  store ptr null, ptr %66, align 8, !tbaa !9
  br label %3517

3517:                                             ; preds = %3516
  %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 = call ptr @s2n_config_new()
  store ptr %3520, ptr %66, align 8, !tbaa !9
  %3521 = icmp eq ptr %3520, null
  br i1 %3521, label %3522, label %3575

3522:                                             ; preds = %3517
  br label %3523

3523:                                             ; preds = %3522
  br label %3524

3524:                                             ; preds = %3523
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %3525 = call ptr @__errno_location() #12
  %3526 = load i32, ptr %3525, align 4, !tbaa !5
  store i32 %3526, ptr %67, align 4, !tbaa !5
  %3527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3528 = call i32 @s2n_print_stacktrace(ptr noundef %3527)
  %3529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3530 = trunc i8 %3529 to i1
  br i1 %3530, label %3531, label %3553

3531:                                             ; preds = %3524
  %3532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3533 = call i32 @fileno(ptr noundef %3532) #11
  %3534 = call i32 @isatty(i32 noundef %3533) #11
  %3535 = icmp ne i32 %3534, 0
  br i1 %3535, label %3536, label %3553

3536:                                             ; preds = %3531
  %3537 = load i32, ptr %67, align 4, !tbaa !5
  %3538 = call ptr @__errno_location() #12
  store i32 %3537, ptr %3538, align 4, !tbaa !5
  %3539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3540 = load i32, ptr @test_count, align 4, !tbaa !5
  %3541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3542 = load i32, ptr %3541, align 4, !tbaa !5
  %3543 = call ptr @s2n_strerror(i32 noundef %3542, ptr noundef @.str.4)
  %3544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3545 = load i32, ptr %3544, align 4, !tbaa !5
  %3546 = call ptr @s2n_strerror_debug(i32 noundef %3545, ptr noundef @.str.4)
  %3547 = call ptr @__errno_location() #12
  %3548 = load i32, ptr %3547, align 4, !tbaa !5
  %3549 = call ptr @strerror(i32 noundef %3548) #11
  %3550 = call ptr @__errno_location() #12
  %3551 = load i32, ptr %3550, align 4, !tbaa !5
  %3552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3539, ptr noundef @.str.2, i32 noundef %3540, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 176, ptr noundef %3543, ptr noundef %3546, ptr noundef %3549, i32 noundef %3551) #11
  br label %3570

3553:                                             ; preds = %3531, %3524
  %3554 = load i32, ptr %67, align 4, !tbaa !5
  %3555 = call ptr @__errno_location() #12
  store i32 %3554, ptr %3555, align 4, !tbaa !5
  %3556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3557 = load i32, ptr @test_count, align 4, !tbaa !5
  %3558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3559 = load i32, ptr %3558, align 4, !tbaa !5
  %3560 = call ptr @s2n_strerror(i32 noundef %3559, ptr noundef @.str.4)
  %3561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3562 = load i32, ptr %3561, align 4, !tbaa !5
  %3563 = call ptr @s2n_strerror_debug(i32 noundef %3562, ptr noundef @.str.4)
  %3564 = call ptr @__errno_location() #12
  %3565 = load i32, ptr %3564, align 4, !tbaa !5
  %3566 = call ptr @strerror(i32 noundef %3565) #11
  %3567 = call ptr @__errno_location() #12
  %3568 = load i32, ptr %3567, align 4, !tbaa !5
  %3569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3556, ptr noundef @.str.5, i32 noundef %3557, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 176, ptr noundef %3560, ptr noundef %3563, ptr noundef %3566, i32 noundef %3568) #11
  br label %3570

3570:                                             ; preds = %3553, %3536
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3571

3571:                                             ; preds = %3570
  br label %3572

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

3573:                                             ; No predecessors!
  br label %3574

3574:                                             ; preds = %3573
  br label %3575

3575:                                             ; preds = %3574, %3517
  br label %3576

3576:                                             ; preds = %3575
  br label %3577

3577:                                             ; preds = %3576
  call void @llvm.lifetime.start.p0(i64 1, ptr %68) #11
  store i8 13, ptr %68, align 1, !tbaa !49
  br label %3578

3578:                                             ; preds = %3577
  br label %3579

3579:                                             ; preds = %3578
  br label %3580

3580:                                             ; preds = %3579
  %3581 = load i32, ptr @test_count, align 4, !tbaa !5
  %3582 = add nsw i32 %3581, 1
  store i32 %3582, ptr @test_count, align 4, !tbaa !5
  %3583 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef null, ptr noundef @s2n_test_select_psk_identity_callback, ptr noundef %68)
  %3584 = icmp eq i32 %3583, -1
  br i1 %3584, label %3638, label %3585

3585:                                             ; preds = %3580
  br label %3586

3586:                                             ; preds = %3585
  br label %3587

3587:                                             ; preds = %3586
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  %3588 = call ptr @__errno_location() #12
  %3589 = load i32, ptr %3588, align 4, !tbaa !5
  store i32 %3589, ptr %69, align 4, !tbaa !5
  %3590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3591 = call i32 @s2n_print_stacktrace(ptr noundef %3590)
  %3592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3593 = trunc i8 %3592 to i1
  br i1 %3593, label %3594, label %3616

3594:                                             ; preds = %3587
  %3595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3596 = call i32 @fileno(ptr noundef %3595) #11
  %3597 = call i32 @isatty(i32 noundef %3596) #11
  %3598 = icmp ne i32 %3597, 0
  br i1 %3598, label %3599, label %3616

3599:                                             ; preds = %3594
  %3600 = load i32, ptr %69, align 4, !tbaa !5
  %3601 = call ptr @__errno_location() #12
  store i32 %3600, ptr %3601, align 4, !tbaa !5
  %3602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3603 = load i32, ptr @test_count, align 4, !tbaa !5
  %3604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3605 = load i32, ptr %3604, align 4, !tbaa !5
  %3606 = call ptr @s2n_strerror(i32 noundef %3605, ptr noundef @.str.4)
  %3607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3608 = load i32, ptr %3607, align 4, !tbaa !5
  %3609 = call ptr @s2n_strerror_debug(i32 noundef %3608, ptr noundef @.str.4)
  %3610 = call ptr @__errno_location() #12
  %3611 = load i32, ptr %3610, align 4, !tbaa !5
  %3612 = call ptr @strerror(i32 noundef %3611) #11
  %3613 = call ptr @__errno_location() #12
  %3614 = load i32, ptr %3613, align 4, !tbaa !5
  %3615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3602, ptr noundef @.str.2, i32 noundef %3603, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 182, ptr noundef %3606, ptr noundef %3609, ptr noundef %3612, i32 noundef %3614) #11
  br label %3633

3616:                                             ; preds = %3594, %3587
  %3617 = load i32, ptr %69, align 4, !tbaa !5
  %3618 = call ptr @__errno_location() #12
  store i32 %3617, ptr %3618, align 4, !tbaa !5
  %3619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3620 = load i32, ptr @test_count, align 4, !tbaa !5
  %3621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3622 = load i32, ptr %3621, align 4, !tbaa !5
  %3623 = call ptr @s2n_strerror(i32 noundef %3622, ptr noundef @.str.4)
  %3624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3625 = load i32, ptr %3624, align 4, !tbaa !5
  %3626 = call ptr @s2n_strerror_debug(i32 noundef %3625, ptr noundef @.str.4)
  %3627 = call ptr @__errno_location() #12
  %3628 = load i32, ptr %3627, align 4, !tbaa !5
  %3629 = call ptr @strerror(i32 noundef %3628) #11
  %3630 = call ptr @__errno_location() #12
  %3631 = load i32, ptr %3630, align 4, !tbaa !5
  %3632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3619, ptr noundef @.str.5, i32 noundef %3620, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 182, ptr noundef %3623, ptr noundef %3626, ptr noundef %3629, i32 noundef %3631) #11
  br label %3633

3633:                                             ; preds = %3616, %3599
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %3634

3634:                                             ; preds = %3633
  br label %3635

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

3636:                                             ; No predecessors!
  br label %3637

3637:                                             ; preds = %3636
  br label %3638

3638:                                             ; preds = %3637, %3580
  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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3645 = load i32, ptr %3644, align 4, !tbaa !5
  %3646 = icmp eq i32 %3645, 402653193
  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 %70) #11
  %3650 = call ptr @__errno_location() #12
  %3651 = load i32, ptr %3650, align 4, !tbaa !5
  store i32 %3651, ptr %70, 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 %70, 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.4)
  %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.4)
  %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.2, i32 noundef %3665, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 182, ptr noundef %3668, ptr noundef %3671, ptr noundef %3674, i32 noundef %3676) #11
  br label %3695

3678:                                             ; preds = %3656, %3649
  %3679 = load i32, ptr %70, 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.4)
  %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.4)
  %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.5, i32 noundef %3682, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 182, 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 %70) #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 = call ptr @s2n_strerror_debug(i32 noundef %3707, ptr noundef @.str.4)
  %3709 = icmp eq ptr %3708, null
  br i1 %3709, label %3710, label %3763

3710:                                             ; preds = %3703
  br label %3711

3711:                                             ; preds = %3710
  br label %3712

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

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

3724:                                             ; preds = %3719
  %3725 = load i32, ptr %71, align 4, !tbaa !5
  %3726 = call ptr @__errno_location() #12
  store i32 %3725, ptr %3726, align 4, !tbaa !5
  %3727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3728 = load i32, ptr @test_count, align 4, !tbaa !5
  %3729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3730 = load i32, ptr %3729, align 4, !tbaa !5
  %3731 = call ptr @s2n_strerror(i32 noundef %3730, ptr noundef @.str.4)
  %3732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3733 = load i32, ptr %3732, align 4, !tbaa !5
  %3734 = call ptr @s2n_strerror_debug(i32 noundef %3733, ptr noundef @.str.4)
  %3735 = call ptr @__errno_location() #12
  %3736 = load i32, ptr %3735, align 4, !tbaa !5
  %3737 = call ptr @strerror(i32 noundef %3736) #11
  %3738 = call ptr @__errno_location() #12
  %3739 = load i32, ptr %3738, align 4, !tbaa !5
  %3740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3727, ptr noundef @.str.2, i32 noundef %3728, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 182, ptr noundef %3731, ptr noundef %3734, ptr noundef %3737, i32 noundef %3739) #11
  br label %3758

3741:                                             ; preds = %3719, %3712
  %3742 = load i32, ptr %71, align 4, !tbaa !5
  %3743 = call ptr @__errno_location() #12
  store i32 %3742, ptr %3743, align 4, !tbaa !5
  %3744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3745 = load i32, ptr @test_count, align 4, !tbaa !5
  %3746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3747 = load i32, ptr %3746, align 4, !tbaa !5
  %3748 = call ptr @s2n_strerror(i32 noundef %3747, ptr noundef @.str.4)
  %3749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3750 = load i32, ptr %3749, align 4, !tbaa !5
  %3751 = call ptr @s2n_strerror_debug(i32 noundef %3750, ptr noundef @.str.4)
  %3752 = call ptr @__errno_location() #12
  %3753 = load i32, ptr %3752, align 4, !tbaa !5
  %3754 = call ptr @strerror(i32 noundef %3753) #11
  %3755 = call ptr @__errno_location() #12
  %3756 = load i32, ptr %3755, align 4, !tbaa !5
  %3757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3744, ptr noundef @.str.5, i32 noundef %3745, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 182, ptr noundef %3748, ptr noundef %3751, ptr noundef %3754, i32 noundef %3756) #11
  br label %3758

3758:                                             ; preds = %3741, %3724
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %3759

3759:                                             ; preds = %3758
  br label %3760

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

3761:                                             ; No predecessors!
  br label %3762

3762:                                             ; preds = %3761
  br label %3763

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

3764:                                             ; preds = %3763
  br label %3765

3765:                                             ; preds = %3764
  br label %3766

3766:                                             ; preds = %3765
  br label %3767

3767:                                             ; preds = %3766
  br label %3768

3768:                                             ; preds = %3767
  %3769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3769, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3770 = call ptr @__errno_location() #12
  store i32 0, ptr %3770, align 4, !tbaa !5
  br label %3771

3771:                                             ; preds = %3768
  br label %3772

3772:                                             ; preds = %3771
  br label %3773

3773:                                             ; preds = %3772
  br label %3774

3774:                                             ; preds = %3773
  br label %3775

3775:                                             ; preds = %3774
  %3776 = load i32, ptr @test_count, align 4, !tbaa !5
  %3777 = add nsw i32 %3776, 1
  store i32 %3777, ptr @test_count, align 4, !tbaa !5
  %3778 = load ptr, ptr %66, align 8, !tbaa !9
  %3779 = getelementptr inbounds %struct.s2n_config, ptr %3778, i32 0, i32 40
  %3780 = load ptr, ptr %3779, align 8, !tbaa !50
  %3781 = icmp eq ptr %3780, null
  br i1 %3781, label %3835, label %3782

3782:                                             ; preds = %3775
  br label %3783

3783:                                             ; preds = %3782
  br label %3784

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

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

3796:                                             ; preds = %3791
  %3797 = load i32, ptr %72, align 4, !tbaa !5
  %3798 = call ptr @__errno_location() #12
  store i32 %3797, ptr %3798, align 4, !tbaa !5
  %3799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3800 = load i32, ptr @test_count, align 4, !tbaa !5
  %3801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3802 = load i32, ptr %3801, align 4, !tbaa !5
  %3803 = call ptr @s2n_strerror(i32 noundef %3802, ptr noundef @.str.4)
  %3804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3805 = load i32, ptr %3804, align 4, !tbaa !5
  %3806 = call ptr @s2n_strerror_debug(i32 noundef %3805, ptr noundef @.str.4)
  %3807 = call ptr @__errno_location() #12
  %3808 = load i32, ptr %3807, align 4, !tbaa !5
  %3809 = call ptr @strerror(i32 noundef %3808) #11
  %3810 = call ptr @__errno_location() #12
  %3811 = load i32, ptr %3810, align 4, !tbaa !5
  %3812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3799, ptr noundef @.str.2, i32 noundef %3800, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 183, ptr noundef %3803, ptr noundef %3806, ptr noundef %3809, i32 noundef %3811) #11
  br label %3830

3813:                                             ; preds = %3791, %3784
  %3814 = load i32, ptr %72, align 4, !tbaa !5
  %3815 = call ptr @__errno_location() #12
  store i32 %3814, ptr %3815, align 4, !tbaa !5
  %3816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3817 = load i32, ptr @test_count, align 4, !tbaa !5
  %3818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3819 = load i32, ptr %3818, align 4, !tbaa !5
  %3820 = call ptr @s2n_strerror(i32 noundef %3819, ptr noundef @.str.4)
  %3821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3822 = load i32, ptr %3821, align 4, !tbaa !5
  %3823 = call ptr @s2n_strerror_debug(i32 noundef %3822, ptr noundef @.str.4)
  %3824 = call ptr @__errno_location() #12
  %3825 = load i32, ptr %3824, align 4, !tbaa !5
  %3826 = call ptr @strerror(i32 noundef %3825) #11
  %3827 = call ptr @__errno_location() #12
  %3828 = load i32, ptr %3827, align 4, !tbaa !5
  %3829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3816, ptr noundef @.str.5, i32 noundef %3817, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 183, ptr noundef %3820, ptr noundef %3823, ptr noundef %3826, i32 noundef %3828) #11
  br label %3830

3830:                                             ; preds = %3813, %3796
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #11
  br label %3831

3831:                                             ; preds = %3830
  br label %3832

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

3833:                                             ; No predecessors!
  br label %3834

3834:                                             ; preds = %3833
  br label %3835

3835:                                             ; preds = %3834, %3775
  br label %3836

3836:                                             ; preds = %3835
  br label %3837

3837:                                             ; preds = %3836
  br label %3838

3838:                                             ; preds = %3837
  %3839 = load i32, ptr @test_count, align 4, !tbaa !5
  %3840 = add nsw i32 %3839, 1
  store i32 %3840, ptr @test_count, align 4, !tbaa !5
  %3841 = load ptr, ptr %66, align 8, !tbaa !9
  %3842 = getelementptr inbounds %struct.s2n_config, ptr %3841, i32 0, i32 41
  %3843 = load ptr, ptr %3842, align 8, !tbaa !51
  %3844 = icmp eq ptr %3843, null
  br i1 %3844, label %3898, label %3845

3845:                                             ; preds = %3838
  br label %3846

3846:                                             ; preds = %3845
  br label %3847

3847:                                             ; preds = %3846
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #11
  %3848 = call ptr @__errno_location() #12
  %3849 = load i32, ptr %3848, align 4, !tbaa !5
  store i32 %3849, ptr %73, 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 %73, 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.4)
  %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.4)
  %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.2, i32 noundef %3863, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 184, ptr noundef %3866, ptr noundef %3869, ptr noundef %3872, i32 noundef %3874) #11
  br label %3893

3876:                                             ; preds = %3854, %3847
  %3877 = load i32, ptr %73, 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.4)
  %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.4)
  %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.5, i32 noundef %3880, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 184, 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 %73) #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, %3838
  br label %3899

3899:                                             ; preds = %3898
  br label %3900

3900:                                             ; preds = %3899
  br label %3901

3901:                                             ; preds = %3900
  %3902 = load i32, ptr @test_count, align 4, !tbaa !5
  %3903 = add nsw i32 %3902, 1
  store i32 %3903, ptr @test_count, align 4, !tbaa !5
  %3904 = load ptr, ptr %66, align 8, !tbaa !9
  %3905 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef %3904, ptr noundef @s2n_test_select_psk_identity_callback, ptr noundef %68)
  %3906 = icmp eq i32 %3905, -1
  br i1 %3906, label %3907, label %3960

3907:                                             ; preds = %3901
  br label %3908

3908:                                             ; preds = %3907
  br label %3909

3909:                                             ; preds = %3908
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #11
  %3910 = call ptr @__errno_location() #12
  %3911 = load i32, ptr %3910, align 4, !tbaa !5
  store i32 %3911, ptr %74, 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 %74, 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.4)
  %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.4)
  %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.2, i32 noundef %3925, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 186, ptr noundef %3928, ptr noundef %3931, ptr noundef %3934, i32 noundef %3936) #11
  br label %3955

3938:                                             ; preds = %3916, %3909
  %3939 = load i32, ptr %74, 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.4)
  %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.4)
  %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.5, i32 noundef %3942, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 186, 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 %74) #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 = load ptr, ptr %66, align 8, !tbaa !9
  %3967 = getelementptr inbounds %struct.s2n_config, ptr %3966, i32 0, i32 40
  %3968 = load ptr, ptr %3967, align 8, !tbaa !50
  %3969 = icmp eq ptr %3968, @s2n_test_select_psk_identity_callback
  br i1 %3969, label %4023, label %3970

3970:                                             ; preds = %3963
  br label %3971

3971:                                             ; preds = %3970
  br label %3972

3972:                                             ; preds = %3971
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #11
  %3973 = call ptr @__errno_location() #12
  %3974 = load i32, ptr %3973, align 4, !tbaa !5
  store i32 %3974, ptr %75, 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 %75, 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.4)
  %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.4)
  %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.2, i32 noundef %3988, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 187, ptr noundef %3991, ptr noundef %3994, ptr noundef %3997, i32 noundef %3999) #11
  br label %4018

4001:                                             ; preds = %3979, %3972
  %4002 = load i32, ptr %75, 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.4)
  %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.4)
  %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.5, i32 noundef %4005, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 187, 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 %75) #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
  %4027 = load i32, ptr @test_count, align 4, !tbaa !5
  %4028 = add nsw i32 %4027, 1
  store i32 %4028, ptr @test_count, align 4, !tbaa !5
  %4029 = load ptr, ptr %66, align 8, !tbaa !9
  %4030 = getelementptr inbounds %struct.s2n_config, ptr %4029, i32 0, i32 41
  %4031 = load ptr, ptr %4030, align 8, !tbaa !51
  %4032 = icmp eq ptr %4031, %68
  br i1 %4032, label %4086, label %4033

4033:                                             ; preds = %4026
  br label %4034

4034:                                             ; preds = %4033
  br label %4035

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

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

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

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

4081:                                             ; preds = %4064, %4047
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %4082

4082:                                             ; preds = %4081
  br label %4083

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

4084:                                             ; No predecessors!
  br label %4085

4085:                                             ; preds = %4084
  br label %4086

4086:                                             ; preds = %4085, %4026
  br label %4087

4087:                                             ; preds = %4086
  br label %4088

4088:                                             ; preds = %4087
  br label %4089

4089:                                             ; preds = %4088
  %4090 = load i32, ptr @test_count, align 4, !tbaa !5
  %4091 = add nsw i32 %4090, 1
  store i32 %4091, ptr @test_count, align 4, !tbaa !5
  %4092 = load ptr, ptr %66, align 8, !tbaa !9
  %4093 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef %4092, ptr noundef null, ptr noundef null)
  %4094 = icmp eq i32 %4093, -1
  br i1 %4094, label %4095, label %4148

4095:                                             ; preds = %4089
  br label %4096

4096:                                             ; preds = %4095
  br label %4097

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

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

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

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

4143:                                             ; preds = %4126, %4109
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %4144

4144:                                             ; preds = %4143
  br label %4145

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

4146:                                             ; No predecessors!
  br label %4147

4147:                                             ; preds = %4146
  br label %4148

4148:                                             ; preds = %4147, %4089
  br label %4149

4149:                                             ; preds = %4148
  br label %4150

4150:                                             ; preds = %4149
  br label %4151

4151:                                             ; preds = %4150
  %4152 = load i32, ptr @test_count, align 4, !tbaa !5
  %4153 = add nsw i32 %4152, 1
  store i32 %4153, ptr @test_count, align 4, !tbaa !5
  %4154 = load ptr, ptr %66, align 8, !tbaa !9
  %4155 = getelementptr inbounds %struct.s2n_config, ptr %4154, i32 0, i32 40
  %4156 = load ptr, ptr %4155, align 8, !tbaa !50
  %4157 = icmp eq ptr %4156, null
  br i1 %4157, label %4211, label %4158

4158:                                             ; preds = %4151
  br label %4159

4159:                                             ; preds = %4158
  br label %4160

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

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

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

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

4206:                                             ; preds = %4189, %4172
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %4207

4207:                                             ; preds = %4206
  br label %4208

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

4209:                                             ; No predecessors!
  br label %4210

4210:                                             ; preds = %4209
  br label %4211

4211:                                             ; preds = %4210, %4151
  br label %4212

4212:                                             ; preds = %4211
  br label %4213

4213:                                             ; preds = %4212
  br label %4214

4214:                                             ; preds = %4213
  %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 = load ptr, ptr %66, align 8, !tbaa !9
  %4218 = getelementptr inbounds %struct.s2n_config, ptr %4217, i32 0, i32 41
  %4219 = load ptr, ptr %4218, align 8, !tbaa !51
  %4220 = icmp eq ptr %4219, null
  br i1 %4220, label %4274, label %4221

4221:                                             ; preds = %4214
  br label %4222

4222:                                             ; preds = %4221
  br label %4223

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

4230:                                             ; preds = %4223
  %4231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4232 = call i32 @fileno(ptr noundef %4231) #11
  %4233 = call i32 @isatty(i32 noundef %4232) #11
  %4234 = icmp ne i32 %4233, 0
  br i1 %4234, label %4235, label %4252

4235:                                             ; preds = %4230
  %4236 = load i32, ptr %79, align 4, !tbaa !5
  %4237 = call ptr @__errno_location() #12
  store i32 %4236, ptr %4237, align 4, !tbaa !5
  %4238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4239 = load i32, ptr @test_count, align 4, !tbaa !5
  %4240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4241 = load i32, ptr %4240, align 4, !tbaa !5
  %4242 = call ptr @s2n_strerror(i32 noundef %4241, ptr noundef @.str.4)
  %4243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4244 = load i32, ptr %4243, align 4, !tbaa !5
  %4245 = call ptr @s2n_strerror_debug(i32 noundef %4244, ptr noundef @.str.4)
  %4246 = call ptr @__errno_location() #12
  %4247 = load i32, ptr %4246, align 4, !tbaa !5
  %4248 = call ptr @strerror(i32 noundef %4247) #11
  %4249 = call ptr @__errno_location() #12
  %4250 = load i32, ptr %4249, align 4, !tbaa !5
  %4251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4238, ptr noundef @.str.2, i32 noundef %4239, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 192, ptr noundef %4242, ptr noundef %4245, ptr noundef %4248, i32 noundef %4250) #11
  br label %4269

4252:                                             ; preds = %4230, %4223
  %4253 = load i32, ptr %79, 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.4)
  %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.4)
  %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.5, i32 noundef %4256, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 192, ptr noundef %4259, ptr noundef %4262, ptr noundef %4265, i32 noundef %4267) #11
  br label %4269

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

4270:                                             ; preds = %4269
  br label %4271

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

4272:                                             ; No predecessors!
  br label %4273

4273:                                             ; preds = %4272
  br label %4274

4274:                                             ; preds = %4273, %4214
  br label %4275

4275:                                             ; preds = %4274
  br label %4276

4276:                                             ; preds = %4275
  br label %4277

4277:                                             ; preds = %4276
  %4278 = load i32, ptr @test_count, align 4, !tbaa !5
  %4279 = add nsw i32 %4278, 1
  store i32 %4279, ptr @test_count, align 4, !tbaa !5
  %4280 = load ptr, ptr %66, align 8, !tbaa !9
  %4281 = call i32 @s2n_config_free(ptr noundef %4280)
  %4282 = icmp eq i32 %4281, -1
  br i1 %4282, label %4283, label %4336

4283:                                             ; preds = %4277
  br label %4284

4284:                                             ; preds = %4283
  br label %4285

4285:                                             ; preds = %4284
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #11
  %4286 = call ptr @__errno_location() #12
  %4287 = load i32, ptr %4286, align 4, !tbaa !5
  store i32 %4287, ptr %80, align 4, !tbaa !5
  %4288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4289 = call i32 @s2n_print_stacktrace(ptr noundef %4288)
  %4290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4291 = trunc i8 %4290 to i1
  br i1 %4291, label %4292, label %4314

4292:                                             ; preds = %4285
  %4293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4294 = call i32 @fileno(ptr noundef %4293) #11
  %4295 = call i32 @isatty(i32 noundef %4294) #11
  %4296 = icmp ne i32 %4295, 0
  br i1 %4296, label %4297, label %4314

4297:                                             ; preds = %4292
  %4298 = load i32, ptr %80, align 4, !tbaa !5
  %4299 = call ptr @__errno_location() #12
  store i32 %4298, ptr %4299, align 4, !tbaa !5
  %4300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4301 = load i32, ptr @test_count, align 4, !tbaa !5
  %4302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4303 = load i32, ptr %4302, align 4, !tbaa !5
  %4304 = call ptr @s2n_strerror(i32 noundef %4303, ptr noundef @.str.4)
  %4305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4306 = load i32, ptr %4305, align 4, !tbaa !5
  %4307 = call ptr @s2n_strerror_debug(i32 noundef %4306, ptr noundef @.str.4)
  %4308 = call ptr @__errno_location() #12
  %4309 = load i32, ptr %4308, align 4, !tbaa !5
  %4310 = call ptr @strerror(i32 noundef %4309) #11
  %4311 = call ptr @__errno_location() #12
  %4312 = load i32, ptr %4311, align 4, !tbaa !5
  %4313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4300, ptr noundef @.str.2, i32 noundef %4301, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 194, ptr noundef %4304, ptr noundef %4307, ptr noundef %4310, i32 noundef %4312) #11
  br label %4331

4314:                                             ; preds = %4292, %4285
  %4315 = load i32, ptr %80, align 4, !tbaa !5
  %4316 = call ptr @__errno_location() #12
  store i32 %4315, ptr %4316, align 4, !tbaa !5
  %4317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4318 = load i32, ptr @test_count, align 4, !tbaa !5
  %4319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4320 = load i32, ptr %4319, align 4, !tbaa !5
  %4321 = call ptr @s2n_strerror(i32 noundef %4320, ptr noundef @.str.4)
  %4322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4323 = load i32, ptr %4322, align 4, !tbaa !5
  %4324 = call ptr @s2n_strerror_debug(i32 noundef %4323, ptr noundef @.str.4)
  %4325 = call ptr @__errno_location() #12
  %4326 = load i32, ptr %4325, align 4, !tbaa !5
  %4327 = call ptr @strerror(i32 noundef %4326) #11
  %4328 = call ptr @__errno_location() #12
  %4329 = load i32, ptr %4328, align 4, !tbaa !5
  %4330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4317, ptr noundef @.str.5, i32 noundef %4318, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 194, ptr noundef %4321, ptr noundef %4324, ptr noundef %4327, i32 noundef %4329) #11
  br label %4331

4331:                                             ; preds = %4314, %4297
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %4332

4332:                                             ; preds = %4331
  br label %4333

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

4334:                                             ; No predecessors!
  br label %4335

4335:                                             ; preds = %4334
  br label %4336

4336:                                             ; preds = %4335, %4277
  br label %4337

4337:                                             ; preds = %4336
  br label %4338

4338:                                             ; preds = %4337
  call void @llvm.lifetime.end.p0(i64 1, ptr %68) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #11
  store ptr null, ptr %81, align 8, !tbaa !9
  br label %4339

4339:                                             ; preds = %4338
  %4340 = load i32, ptr @test_count, align 4, !tbaa !5
  %4341 = add nsw i32 %4340, 1
  store i32 %4341, ptr @test_count, align 4, !tbaa !5
  %4342 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4342, ptr %81, align 8, !tbaa !9
  %4343 = icmp eq ptr %4342, null
  br i1 %4343, label %4344, label %4397

4344:                                             ; preds = %4339
  br label %4345

4345:                                             ; preds = %4344
  br label %4346

4346:                                             ; preds = %4345
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #11
  %4347 = call ptr @__errno_location() #12
  %4348 = load i32, ptr %4347, align 4, !tbaa !5
  store i32 %4348, ptr %82, align 4, !tbaa !5
  %4349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4350 = call i32 @s2n_print_stacktrace(ptr noundef %4349)
  %4351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4352 = trunc i8 %4351 to i1
  br i1 %4352, label %4353, label %4375

4353:                                             ; preds = %4346
  %4354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4355 = call i32 @fileno(ptr noundef %4354) #11
  %4356 = call i32 @isatty(i32 noundef %4355) #11
  %4357 = icmp ne i32 %4356, 0
  br i1 %4357, label %4358, label %4375

4358:                                             ; preds = %4353
  %4359 = load i32, ptr %82, align 4, !tbaa !5
  %4360 = call ptr @__errno_location() #12
  store i32 %4359, ptr %4360, align 4, !tbaa !5
  %4361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4362 = load i32, ptr @test_count, align 4, !tbaa !5
  %4363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4364 = load i32, ptr %4363, align 4, !tbaa !5
  %4365 = call ptr @s2n_strerror(i32 noundef %4364, ptr noundef @.str.4)
  %4366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4367 = load i32, ptr %4366, align 4, !tbaa !5
  %4368 = call ptr @s2n_strerror_debug(i32 noundef %4367, ptr noundef @.str.4)
  %4369 = call ptr @__errno_location() #12
  %4370 = load i32, ptr %4369, align 4, !tbaa !5
  %4371 = call ptr @strerror(i32 noundef %4370) #11
  %4372 = call ptr @__errno_location() #12
  %4373 = load i32, ptr %4372, align 4, !tbaa !5
  %4374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4361, ptr noundef @.str.2, i32 noundef %4362, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 202, ptr noundef %4365, ptr noundef %4368, ptr noundef %4371, i32 noundef %4373) #11
  br label %4392

4375:                                             ; preds = %4353, %4346
  %4376 = load i32, ptr %82, align 4, !tbaa !5
  %4377 = call ptr @__errno_location() #12
  store i32 %4376, ptr %4377, align 4, !tbaa !5
  %4378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4379 = load i32, ptr @test_count, align 4, !tbaa !5
  %4380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4381 = load i32, ptr %4380, align 4, !tbaa !5
  %4382 = call ptr @s2n_strerror(i32 noundef %4381, ptr noundef @.str.4)
  %4383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4384 = load i32, ptr %4383, align 4, !tbaa !5
  %4385 = call ptr @s2n_strerror_debug(i32 noundef %4384, ptr noundef @.str.4)
  %4386 = call ptr @__errno_location() #12
  %4387 = load i32, ptr %4386, align 4, !tbaa !5
  %4388 = call ptr @strerror(i32 noundef %4387) #11
  %4389 = call ptr @__errno_location() #12
  %4390 = load i32, ptr %4389, align 4, !tbaa !5
  %4391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4378, ptr noundef @.str.5, i32 noundef %4379, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 202, ptr noundef %4382, ptr noundef %4385, ptr noundef %4388, i32 noundef %4390) #11
  br label %4392

4392:                                             ; preds = %4375, %4358
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %4393

4393:                                             ; preds = %4392
  br label %4394

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

4395:                                             ; No predecessors!
  br label %4396

4396:                                             ; preds = %4395
  br label %4397

4397:                                             ; preds = %4396, %4339
  br label %4398

4398:                                             ; preds = %4397
  br label %4399

4399:                                             ; preds = %4398
  call void @llvm.lifetime.start.p0(i64 8, ptr %83) #11
  store ptr null, ptr %83, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %84) #11
  store i8 1, ptr %84, align 1, !tbaa !49
  br label %4400

4400:                                             ; preds = %4399
  %4401 = load i32, ptr @test_count, align 4, !tbaa !5
  %4402 = add nsw i32 %4401, 1
  store i32 %4402, ptr @test_count, align 4, !tbaa !5
  %4403 = call ptr @s2n_config_new()
  store ptr %4403, ptr %83, align 8, !tbaa !9
  %4404 = icmp eq ptr %4403, null
  br i1 %4404, label %4405, label %4458

4405:                                             ; preds = %4400
  br label %4406

4406:                                             ; preds = %4405
  br label %4407

4407:                                             ; preds = %4406
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %4408 = call ptr @__errno_location() #12
  %4409 = load i32, ptr %4408, align 4, !tbaa !5
  store i32 %4409, ptr %85, align 4, !tbaa !5
  %4410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4411 = call i32 @s2n_print_stacktrace(ptr noundef %4410)
  %4412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4413 = trunc i8 %4412 to i1
  br i1 %4413, label %4414, label %4436

4414:                                             ; preds = %4407
  %4415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4416 = call i32 @fileno(ptr noundef %4415) #11
  %4417 = call i32 @isatty(i32 noundef %4416) #11
  %4418 = icmp ne i32 %4417, 0
  br i1 %4418, label %4419, label %4436

4419:                                             ; preds = %4414
  %4420 = load i32, ptr %85, align 4, !tbaa !5
  %4421 = call ptr @__errno_location() #12
  store i32 %4420, ptr %4421, align 4, !tbaa !5
  %4422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4423 = load i32, ptr @test_count, align 4, !tbaa !5
  %4424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4425 = load i32, ptr %4424, align 4, !tbaa !5
  %4426 = call ptr @s2n_strerror(i32 noundef %4425, ptr noundef @.str.4)
  %4427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4428 = load i32, ptr %4427, align 4, !tbaa !5
  %4429 = call ptr @s2n_strerror_debug(i32 noundef %4428, ptr noundef @.str.4)
  %4430 = call ptr @__errno_location() #12
  %4431 = load i32, ptr %4430, align 4, !tbaa !5
  %4432 = call ptr @strerror(i32 noundef %4431) #11
  %4433 = call ptr @__errno_location() #12
  %4434 = load i32, ptr %4433, align 4, !tbaa !5
  %4435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4422, ptr noundef @.str.2, i32 noundef %4423, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4426, ptr noundef %4429, ptr noundef %4432, i32 noundef %4434) #11
  br label %4453

4436:                                             ; preds = %4414, %4407
  %4437 = load i32, ptr %85, align 4, !tbaa !5
  %4438 = call ptr @__errno_location() #12
  store i32 %4437, ptr %4438, align 4, !tbaa !5
  %4439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4440 = load i32, ptr @test_count, align 4, !tbaa !5
  %4441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4442 = load i32, ptr %4441, align 4, !tbaa !5
  %4443 = call ptr @s2n_strerror(i32 noundef %4442, ptr noundef @.str.4)
  %4444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4445 = load i32, ptr %4444, align 4, !tbaa !5
  %4446 = call ptr @s2n_strerror_debug(i32 noundef %4445, ptr noundef @.str.4)
  %4447 = call ptr @__errno_location() #12
  %4448 = load i32, ptr %4447, align 4, !tbaa !5
  %4449 = call ptr @strerror(i32 noundef %4448) #11
  %4450 = call ptr @__errno_location() #12
  %4451 = load i32, ptr %4450, align 4, !tbaa !5
  %4452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4439, ptr noundef @.str.5, i32 noundef %4440, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4443, ptr noundef %4446, ptr noundef %4449, i32 noundef %4451) #11
  br label %4453

4453:                                             ; preds = %4436, %4419
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %4454

4454:                                             ; preds = %4453
  br label %4455

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

4456:                                             ; No predecessors!
  br label %4457

4457:                                             ; preds = %4456
  br label %4458

4458:                                             ; preds = %4457, %4400
  br label %4459

4459:                                             ; preds = %4458
  br label %4460

4460:                                             ; preds = %4459
  %4461 = load i8, ptr %84, align 1, !tbaa !49
  %4462 = load ptr, ptr %83, align 8, !tbaa !9
  %4463 = getelementptr inbounds %struct.s2n_config, ptr %4462, i32 0, i32 36
  store i8 %4461, ptr %4463, align 1, !tbaa !52
  br label %4464

4464:                                             ; preds = %4460
  %4465 = load i32, ptr @test_count, align 4, !tbaa !5
  %4466 = add nsw i32 %4465, 1
  store i32 %4466, ptr @test_count, align 4, !tbaa !5
  %4467 = load ptr, ptr %81, align 8, !tbaa !9
  %4468 = getelementptr inbounds %struct.s2n_connection, ptr %4467, i32 0, i32 87
  %4469 = load i16, ptr %4468, align 4, !tbaa !53
  %4470 = zext i16 %4469 to i32
  %4471 = icmp eq i32 %4470, 0
  br i1 %4471, label %4525, label %4472

4472:                                             ; preds = %4464
  br label %4473

4473:                                             ; preds = %4472
  br label %4474

4474:                                             ; preds = %4473
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  %4475 = call ptr @__errno_location() #12
  %4476 = load i32, ptr %4475, align 4, !tbaa !5
  store i32 %4476, ptr %86, align 4, !tbaa !5
  %4477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4478 = call i32 @s2n_print_stacktrace(ptr noundef %4477)
  %4479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4480 = trunc i8 %4479 to i1
  br i1 %4480, label %4481, label %4503

4481:                                             ; preds = %4474
  %4482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4483 = call i32 @fileno(ptr noundef %4482) #11
  %4484 = call i32 @isatty(i32 noundef %4483) #11
  %4485 = icmp ne i32 %4484, 0
  br i1 %4485, label %4486, label %4503

4486:                                             ; preds = %4481
  %4487 = load i32, ptr %86, align 4, !tbaa !5
  %4488 = call ptr @__errno_location() #12
  store i32 %4487, ptr %4488, align 4, !tbaa !5
  %4489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4490 = load i32, ptr @test_count, align 4, !tbaa !5
  %4491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4492 = load i32, ptr %4491, align 4, !tbaa !5
  %4493 = call ptr @s2n_strerror(i32 noundef %4492, ptr noundef @.str.4)
  %4494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4495 = load i32, ptr %4494, align 4, !tbaa !5
  %4496 = call ptr @s2n_strerror_debug(i32 noundef %4495, ptr noundef @.str.4)
  %4497 = call ptr @__errno_location() #12
  %4498 = load i32, ptr %4497, align 4, !tbaa !5
  %4499 = call ptr @strerror(i32 noundef %4498) #11
  %4500 = call ptr @__errno_location() #12
  %4501 = load i32, ptr %4500, align 4, !tbaa !5
  %4502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4489, ptr noundef @.str.2, i32 noundef %4490, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 211, ptr noundef %4493, ptr noundef %4496, ptr noundef %4499, i32 noundef %4501) #11
  br label %4520

4503:                                             ; preds = %4481, %4474
  %4504 = load i32, ptr %86, align 4, !tbaa !5
  %4505 = call ptr @__errno_location() #12
  store i32 %4504, ptr %4505, align 4, !tbaa !5
  %4506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4507 = load i32, ptr @test_count, align 4, !tbaa !5
  %4508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4509 = load i32, ptr %4508, align 4, !tbaa !5
  %4510 = call ptr @s2n_strerror(i32 noundef %4509, ptr noundef @.str.4)
  %4511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4512 = load i32, ptr %4511, align 4, !tbaa !5
  %4513 = call ptr @s2n_strerror_debug(i32 noundef %4512, ptr noundef @.str.4)
  %4514 = call ptr @__errno_location() #12
  %4515 = load i32, ptr %4514, align 4, !tbaa !5
  %4516 = call ptr @strerror(i32 noundef %4515) #11
  %4517 = call ptr @__errno_location() #12
  %4518 = load i32, ptr %4517, align 4, !tbaa !5
  %4519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4506, ptr noundef @.str.5, i32 noundef %4507, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 211, ptr noundef %4510, ptr noundef %4513, ptr noundef %4516, i32 noundef %4518) #11
  br label %4520

4520:                                             ; preds = %4503, %4486
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %4521

4521:                                             ; preds = %4520
  br label %4522

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

4523:                                             ; No predecessors!
  br label %4524

4524:                                             ; preds = %4523
  br label %4525

4525:                                             ; preds = %4524, %4464
  br label %4526

4526:                                             ; preds = %4525
  br label %4527

4527:                                             ; preds = %4526
  br label %4528

4528:                                             ; preds = %4527
  %4529 = load i32, ptr @test_count, align 4, !tbaa !5
  %4530 = add nsw i32 %4529, 1
  store i32 %4530, ptr @test_count, align 4, !tbaa !5
  %4531 = load ptr, ptr %81, align 8, !tbaa !9
  %4532 = load ptr, ptr %83, align 8, !tbaa !9
  %4533 = call i32 @s2n_connection_set_config(ptr noundef %4531, ptr noundef %4532)
  %4534 = icmp eq i32 %4533, -1
  br i1 %4534, label %4535, label %4588

4535:                                             ; preds = %4528
  br label %4536

4536:                                             ; preds = %4535
  br label %4537

4537:                                             ; preds = %4536
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #11
  %4538 = call ptr @__errno_location() #12
  %4539 = load i32, ptr %4538, align 4, !tbaa !5
  store i32 %4539, ptr %87, align 4, !tbaa !5
  %4540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4541 = call i32 @s2n_print_stacktrace(ptr noundef %4540)
  %4542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4543 = trunc i8 %4542 to i1
  br i1 %4543, label %4544, label %4566

4544:                                             ; preds = %4537
  %4545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4546 = call i32 @fileno(ptr noundef %4545) #11
  %4547 = call i32 @isatty(i32 noundef %4546) #11
  %4548 = icmp ne i32 %4547, 0
  br i1 %4548, label %4549, label %4566

4549:                                             ; preds = %4544
  %4550 = load i32, ptr %87, align 4, !tbaa !5
  %4551 = call ptr @__errno_location() #12
  store i32 %4550, ptr %4551, align 4, !tbaa !5
  %4552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4553 = load i32, ptr @test_count, align 4, !tbaa !5
  %4554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4555 = load i32, ptr %4554, align 4, !tbaa !5
  %4556 = call ptr @s2n_strerror(i32 noundef %4555, ptr noundef @.str.4)
  %4557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4558 = load i32, ptr %4557, align 4, !tbaa !5
  %4559 = call ptr @s2n_strerror_debug(i32 noundef %4558, ptr noundef @.str.4)
  %4560 = call ptr @__errno_location() #12
  %4561 = load i32, ptr %4560, align 4, !tbaa !5
  %4562 = call ptr @strerror(i32 noundef %4561) #11
  %4563 = call ptr @__errno_location() #12
  %4564 = load i32, ptr %4563, align 4, !tbaa !5
  %4565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4552, ptr noundef @.str.2, i32 noundef %4553, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4556, ptr noundef %4559, ptr noundef %4562, i32 noundef %4564) #11
  br label %4583

4566:                                             ; preds = %4544, %4537
  %4567 = load i32, ptr %87, align 4, !tbaa !5
  %4568 = call ptr @__errno_location() #12
  store i32 %4567, ptr %4568, align 4, !tbaa !5
  %4569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4570 = load i32, ptr @test_count, align 4, !tbaa !5
  %4571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4572 = load i32, ptr %4571, align 4, !tbaa !5
  %4573 = call ptr @s2n_strerror(i32 noundef %4572, ptr noundef @.str.4)
  %4574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4575 = load i32, ptr %4574, align 4, !tbaa !5
  %4576 = call ptr @s2n_strerror_debug(i32 noundef %4575, ptr noundef @.str.4)
  %4577 = call ptr @__errno_location() #12
  %4578 = load i32, ptr %4577, align 4, !tbaa !5
  %4579 = call ptr @strerror(i32 noundef %4578) #11
  %4580 = call ptr @__errno_location() #12
  %4581 = load i32, ptr %4580, align 4, !tbaa !5
  %4582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4569, ptr noundef @.str.5, i32 noundef %4570, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4573, ptr noundef %4576, ptr noundef %4579, i32 noundef %4581) #11
  br label %4583

4583:                                             ; preds = %4566, %4549
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #11
  br label %4584

4584:                                             ; preds = %4583
  br label %4585

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

4586:                                             ; No predecessors!
  br label %4587

4587:                                             ; preds = %4586
  br label %4588

4588:                                             ; preds = %4587, %4528
  br label %4589

4589:                                             ; preds = %4588
  br label %4590

4590:                                             ; preds = %4589
  br label %4591

4591:                                             ; preds = %4590
  %4592 = load i32, ptr @test_count, align 4, !tbaa !5
  %4593 = add nsw i32 %4592, 1
  store i32 %4593, ptr @test_count, align 4, !tbaa !5
  %4594 = load ptr, ptr %81, align 8, !tbaa !9
  %4595 = getelementptr inbounds %struct.s2n_connection, ptr %4594, i32 0, i32 87
  %4596 = load i16, ptr %4595, align 4, !tbaa !53
  %4597 = zext i16 %4596 to i32
  %4598 = load i8, ptr %84, align 1, !tbaa !49
  %4599 = zext i8 %4598 to i32
  %4600 = icmp eq i32 %4597, %4599
  br i1 %4600, label %4654, label %4601

4601:                                             ; preds = %4591
  br label %4602

4602:                                             ; preds = %4601
  br label %4603

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

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

4615:                                             ; preds = %4610
  %4616 = load i32, ptr %88, align 4, !tbaa !5
  %4617 = call ptr @__errno_location() #12
  store i32 %4616, ptr %4617, align 4, !tbaa !5
  %4618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4619 = load i32, ptr @test_count, align 4, !tbaa !5
  %4620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4621 = load i32, ptr %4620, align 4, !tbaa !5
  %4622 = call ptr @s2n_strerror(i32 noundef %4621, ptr noundef @.str.4)
  %4623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4624 = load i32, ptr %4623, align 4, !tbaa !5
  %4625 = call ptr @s2n_strerror_debug(i32 noundef %4624, ptr noundef @.str.4)
  %4626 = call ptr @__errno_location() #12
  %4627 = load i32, ptr %4626, align 4, !tbaa !5
  %4628 = call ptr @strerror(i32 noundef %4627) #11
  %4629 = call ptr @__errno_location() #12
  %4630 = load i32, ptr %4629, align 4, !tbaa !5
  %4631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4618, ptr noundef @.str.2, i32 noundef %4619, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 213, ptr noundef %4622, ptr noundef %4625, ptr noundef %4628, i32 noundef %4630) #11
  br label %4649

4632:                                             ; preds = %4610, %4603
  %4633 = load i32, ptr %88, align 4, !tbaa !5
  %4634 = call ptr @__errno_location() #12
  store i32 %4633, ptr %4634, align 4, !tbaa !5
  %4635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4636 = load i32, ptr @test_count, align 4, !tbaa !5
  %4637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4638 = load i32, ptr %4637, align 4, !tbaa !5
  %4639 = call ptr @s2n_strerror(i32 noundef %4638, ptr noundef @.str.4)
  %4640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4641 = load i32, ptr %4640, align 4, !tbaa !5
  %4642 = call ptr @s2n_strerror_debug(i32 noundef %4641, ptr noundef @.str.4)
  %4643 = call ptr @__errno_location() #12
  %4644 = load i32, ptr %4643, align 4, !tbaa !5
  %4645 = call ptr @strerror(i32 noundef %4644) #11
  %4646 = call ptr @__errno_location() #12
  %4647 = load i32, ptr %4646, align 4, !tbaa !5
  %4648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4635, ptr noundef @.str.5, i32 noundef %4636, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 213, ptr noundef %4639, ptr noundef %4642, ptr noundef %4645, i32 noundef %4647) #11
  br label %4649

4649:                                             ; preds = %4632, %4615
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  br label %4650

4650:                                             ; preds = %4649
  br label %4651

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

4652:                                             ; No predecessors!
  br label %4653

4653:                                             ; preds = %4652
  br label %4654

4654:                                             ; preds = %4653, %4591
  br label %4655

4655:                                             ; preds = %4654
  br label %4656

4656:                                             ; preds = %4655
  br label %4657

4657:                                             ; preds = %4656
  %4658 = load i32, ptr @test_count, align 4, !tbaa !5
  %4659 = add nsw i32 %4658, 1
  store i32 %4659, ptr @test_count, align 4, !tbaa !5
  %4660 = load ptr, ptr %83, align 8, !tbaa !9
  %4661 = call i32 @s2n_config_free(ptr noundef %4660)
  %4662 = icmp eq i32 %4661, -1
  br i1 %4662, label %4663, label %4716

4663:                                             ; preds = %4657
  br label %4664

4664:                                             ; preds = %4663
  br label %4665

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

4672:                                             ; preds = %4665
  %4673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4674 = call i32 @fileno(ptr noundef %4673) #11
  %4675 = call i32 @isatty(i32 noundef %4674) #11
  %4676 = icmp ne i32 %4675, 0
  br i1 %4676, label %4677, label %4694

4677:                                             ; preds = %4672
  %4678 = load i32, ptr %89, align 4, !tbaa !5
  %4679 = call ptr @__errno_location() #12
  store i32 %4678, ptr %4679, align 4, !tbaa !5
  %4680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4681 = load i32, ptr @test_count, align 4, !tbaa !5
  %4682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4683 = load i32, ptr %4682, align 4, !tbaa !5
  %4684 = call ptr @s2n_strerror(i32 noundef %4683, ptr noundef @.str.4)
  %4685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4686 = load i32, ptr %4685, align 4, !tbaa !5
  %4687 = call ptr @s2n_strerror_debug(i32 noundef %4686, ptr noundef @.str.4)
  %4688 = call ptr @__errno_location() #12
  %4689 = load i32, ptr %4688, align 4, !tbaa !5
  %4690 = call ptr @strerror(i32 noundef %4689) #11
  %4691 = call ptr @__errno_location() #12
  %4692 = load i32, ptr %4691, align 4, !tbaa !5
  %4693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4680, ptr noundef @.str.2, i32 noundef %4681, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 215, ptr noundef %4684, ptr noundef %4687, ptr noundef %4690, i32 noundef %4692) #11
  br label %4711

4694:                                             ; preds = %4672, %4665
  %4695 = load i32, ptr %89, align 4, !tbaa !5
  %4696 = call ptr @__errno_location() #12
  store i32 %4695, ptr %4696, align 4, !tbaa !5
  %4697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4698 = load i32, ptr @test_count, align 4, !tbaa !5
  %4699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4700 = load i32, ptr %4699, align 4, !tbaa !5
  %4701 = call ptr @s2n_strerror(i32 noundef %4700, ptr noundef @.str.4)
  %4702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4703 = load i32, ptr %4702, align 4, !tbaa !5
  %4704 = call ptr @s2n_strerror_debug(i32 noundef %4703, ptr noundef @.str.4)
  %4705 = call ptr @__errno_location() #12
  %4706 = load i32, ptr %4705, align 4, !tbaa !5
  %4707 = call ptr @strerror(i32 noundef %4706) #11
  %4708 = call ptr @__errno_location() #12
  %4709 = load i32, ptr %4708, align 4, !tbaa !5
  %4710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4697, ptr noundef @.str.5, i32 noundef %4698, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 215, ptr noundef %4701, ptr noundef %4704, ptr noundef %4707, i32 noundef %4709) #11
  br label %4711

4711:                                             ; preds = %4694, %4677
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %4712

4712:                                             ; preds = %4711
  br label %4713

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

4714:                                             ; No predecessors!
  br label %4715

4715:                                             ; preds = %4714
  br label %4716

4716:                                             ; preds = %4715, %4657
  br label %4717

4717:                                             ; preds = %4716
  br label %4718

4718:                                             ; preds = %4717
  br label %4719

4719:                                             ; preds = %4718
  %4720 = load i32, ptr @test_count, align 4, !tbaa !5
  %4721 = add nsw i32 %4720, 1
  store i32 %4721, ptr @test_count, align 4, !tbaa !5
  %4722 = load ptr, ptr %81, align 8, !tbaa !9
  %4723 = call i32 @s2n_connection_free(ptr noundef %4722)
  %4724 = icmp eq i32 %4723, -1
  br i1 %4724, label %4725, label %4778

4725:                                             ; preds = %4719
  br label %4726

4726:                                             ; preds = %4725
  br label %4727

4727:                                             ; preds = %4726
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #11
  %4728 = call ptr @__errno_location() #12
  %4729 = load i32, ptr %4728, align 4, !tbaa !5
  store i32 %4729, ptr %90, align 4, !tbaa !5
  %4730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4731 = call i32 @s2n_print_stacktrace(ptr noundef %4730)
  %4732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4733 = trunc i8 %4732 to i1
  br i1 %4733, label %4734, label %4756

4734:                                             ; preds = %4727
  %4735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4736 = call i32 @fileno(ptr noundef %4735) #11
  %4737 = call i32 @isatty(i32 noundef %4736) #11
  %4738 = icmp ne i32 %4737, 0
  br i1 %4738, label %4739, label %4756

4739:                                             ; preds = %4734
  %4740 = load i32, ptr %90, align 4, !tbaa !5
  %4741 = call ptr @__errno_location() #12
  store i32 %4740, ptr %4741, align 4, !tbaa !5
  %4742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4743 = load i32, ptr @test_count, align 4, !tbaa !5
  %4744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4745 = load i32, ptr %4744, align 4, !tbaa !5
  %4746 = call ptr @s2n_strerror(i32 noundef %4745, ptr noundef @.str.4)
  %4747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4748 = load i32, ptr %4747, align 4, !tbaa !5
  %4749 = call ptr @s2n_strerror_debug(i32 noundef %4748, ptr noundef @.str.4)
  %4750 = call ptr @__errno_location() #12
  %4751 = load i32, ptr %4750, align 4, !tbaa !5
  %4752 = call ptr @strerror(i32 noundef %4751) #11
  %4753 = call ptr @__errno_location() #12
  %4754 = load i32, ptr %4753, align 4, !tbaa !5
  %4755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4742, ptr noundef @.str.2, i32 noundef %4743, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4746, ptr noundef %4749, ptr noundef %4752, i32 noundef %4754) #11
  br label %4773

4756:                                             ; preds = %4734, %4727
  %4757 = load i32, ptr %90, align 4, !tbaa !5
  %4758 = call ptr @__errno_location() #12
  store i32 %4757, ptr %4758, align 4, !tbaa !5
  %4759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4760 = load i32, ptr @test_count, align 4, !tbaa !5
  %4761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4762 = load i32, ptr %4761, align 4, !tbaa !5
  %4763 = call ptr @s2n_strerror(i32 noundef %4762, ptr noundef @.str.4)
  %4764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4765 = load i32, ptr %4764, align 4, !tbaa !5
  %4766 = call ptr @s2n_strerror_debug(i32 noundef %4765, ptr noundef @.str.4)
  %4767 = call ptr @__errno_location() #12
  %4768 = load i32, ptr %4767, align 4, !tbaa !5
  %4769 = call ptr @strerror(i32 noundef %4768) #11
  %4770 = call ptr @__errno_location() #12
  %4771 = load i32, ptr %4770, align 4, !tbaa !5
  %4772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4759, ptr noundef @.str.5, i32 noundef %4760, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4763, ptr noundef %4766, ptr noundef %4769, i32 noundef %4771) #11
  br label %4773

4773:                                             ; preds = %4756, %4739
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %4774

4774:                                             ; preds = %4773
  br label %4775

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

4776:                                             ; No predecessors!
  br label %4777

4777:                                             ; preds = %4776
  br label %4778

4778:                                             ; preds = %4777, %4719
  br label %4779

4779:                                             ; preds = %4778
  br label %4780

4780:                                             ; preds = %4779
  call void @llvm.lifetime.end.p0(i64 1, ptr %84) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %91) #11
  %4781 = call ptr @s2n_config_new()
  store ptr %4781, ptr %91, align 8, !tbaa !9
  br label %4782

4782:                                             ; preds = %4780
  %4783 = load i32, ptr @test_count, align 4, !tbaa !5
  %4784 = add nsw i32 %4783, 1
  store i32 %4784, ptr @test_count, align 4, !tbaa !5
  %4785 = load ptr, ptr %91, align 8, !tbaa !9
  %4786 = icmp eq ptr %4785, null
  br i1 %4786, label %4787, label %4840

4787:                                             ; preds = %4782
  br label %4788

4788:                                             ; preds = %4787
  br label %4789

4789:                                             ; preds = %4788
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %4790 = call ptr @__errno_location() #12
  %4791 = load i32, ptr %4790, align 4, !tbaa !5
  store i32 %4791, ptr %92, align 4, !tbaa !5
  %4792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4793 = call i32 @s2n_print_stacktrace(ptr noundef %4792)
  %4794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4795 = trunc i8 %4794 to i1
  br i1 %4795, label %4796, label %4818

4796:                                             ; preds = %4789
  %4797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4798 = call i32 @fileno(ptr noundef %4797) #11
  %4799 = call i32 @isatty(i32 noundef %4798) #11
  %4800 = icmp ne i32 %4799, 0
  br i1 %4800, label %4801, label %4818

4801:                                             ; preds = %4796
  %4802 = load i32, ptr %92, align 4, !tbaa !5
  %4803 = call ptr @__errno_location() #12
  store i32 %4802, ptr %4803, align 4, !tbaa !5
  %4804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4805 = load i32, ptr @test_count, align 4, !tbaa !5
  %4806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4807 = load i32, ptr %4806, align 4, !tbaa !5
  %4808 = call ptr @s2n_strerror(i32 noundef %4807, ptr noundef @.str.4)
  %4809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4810 = load i32, ptr %4809, align 4, !tbaa !5
  %4811 = call ptr @s2n_strerror_debug(i32 noundef %4810, ptr noundef @.str.4)
  %4812 = call ptr @__errno_location() #12
  %4813 = load i32, ptr %4812, align 4, !tbaa !5
  %4814 = call ptr @strerror(i32 noundef %4813) #11
  %4815 = call ptr @__errno_location() #12
  %4816 = load i32, ptr %4815, align 4, !tbaa !5
  %4817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4804, ptr noundef @.str.2, i32 noundef %4805, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 222, ptr noundef %4808, ptr noundef %4811, ptr noundef %4814, i32 noundef %4816) #11
  br label %4835

4818:                                             ; preds = %4796, %4789
  %4819 = load i32, ptr %92, align 4, !tbaa !5
  %4820 = call ptr @__errno_location() #12
  store i32 %4819, ptr %4820, align 4, !tbaa !5
  %4821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4822 = load i32, ptr @test_count, align 4, !tbaa !5
  %4823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4824 = load i32, ptr %4823, align 4, !tbaa !5
  %4825 = call ptr @s2n_strerror(i32 noundef %4824, ptr noundef @.str.4)
  %4826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4827 = load i32, ptr %4826, align 4, !tbaa !5
  %4828 = call ptr @s2n_strerror_debug(i32 noundef %4827, ptr noundef @.str.4)
  %4829 = call ptr @__errno_location() #12
  %4830 = load i32, ptr %4829, align 4, !tbaa !5
  %4831 = call ptr @strerror(i32 noundef %4830) #11
  %4832 = call ptr @__errno_location() #12
  %4833 = load i32, ptr %4832, align 4, !tbaa !5
  %4834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4821, ptr noundef @.str.5, i32 noundef %4822, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 222, ptr noundef %4825, ptr noundef %4828, ptr noundef %4831, i32 noundef %4833) #11
  br label %4835

4835:                                             ; preds = %4818, %4801
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4836

4836:                                             ; preds = %4835
  br label %4837

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

4838:                                             ; No predecessors!
  br label %4839

4839:                                             ; preds = %4838
  br label %4840

4840:                                             ; preds = %4839, %4782
  br label %4841

4841:                                             ; preds = %4840
  br label %4842

4842:                                             ; preds = %4841
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #11
  %4843 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4843, ptr %93, align 8, !tbaa !9
  br label %4844

4844:                                             ; preds = %4842
  %4845 = load i32, ptr @test_count, align 4, !tbaa !5
  %4846 = add nsw i32 %4845, 1
  store i32 %4846, ptr @test_count, align 4, !tbaa !5
  %4847 = load ptr, ptr %93, align 8, !tbaa !9
  %4848 = icmp eq ptr %4847, null
  br i1 %4848, label %4849, label %4902

4849:                                             ; preds = %4844
  br label %4850

4850:                                             ; preds = %4849
  br label %4851

4851:                                             ; preds = %4850
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #11
  %4852 = call ptr @__errno_location() #12
  %4853 = load i32, ptr %4852, align 4, !tbaa !5
  store i32 %4853, ptr %94, align 4, !tbaa !5
  %4854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4855 = call i32 @s2n_print_stacktrace(ptr noundef %4854)
  %4856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4857 = trunc i8 %4856 to i1
  br i1 %4857, label %4858, label %4880

4858:                                             ; preds = %4851
  %4859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4860 = call i32 @fileno(ptr noundef %4859) #11
  %4861 = call i32 @isatty(i32 noundef %4860) #11
  %4862 = icmp ne i32 %4861, 0
  br i1 %4862, label %4863, label %4880

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

4880:                                             ; preds = %4858, %4851
  %4881 = load i32, ptr %94, align 4, !tbaa !5
  %4882 = call ptr @__errno_location() #12
  store i32 %4881, ptr %4882, align 4, !tbaa !5
  %4883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4884 = load i32, ptr @test_count, align 4, !tbaa !5
  %4885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4886 = load i32, ptr %4885, align 4, !tbaa !5
  %4887 = call ptr @s2n_strerror(i32 noundef %4886, ptr noundef @.str.4)
  %4888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4889 = load i32, ptr %4888, align 4, !tbaa !5
  %4890 = call ptr @s2n_strerror_debug(i32 noundef %4889, ptr noundef @.str.4)
  %4891 = call ptr @__errno_location() #12
  %4892 = load i32, ptr %4891, align 4, !tbaa !5
  %4893 = call ptr @strerror(i32 noundef %4892) #11
  %4894 = call ptr @__errno_location() #12
  %4895 = load i32, ptr %4894, align 4, !tbaa !5
  %4896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4883, ptr noundef @.str.5, i32 noundef %4884, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 225, ptr noundef %4887, ptr noundef %4890, ptr noundef %4893, i32 noundef %4895) #11
  br label %4897

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

4898:                                             ; preds = %4897
  br label %4899

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

4900:                                             ; No predecessors!
  br label %4901

4901:                                             ; preds = %4900
  br label %4902

4902:                                             ; preds = %4901, %4844
  br label %4903

4903:                                             ; preds = %4902
  br label %4904

4904:                                             ; preds = %4903
  br label %4905

4905:                                             ; preds = %4904
  %4906 = load i32, ptr @test_count, align 4, !tbaa !5
  %4907 = add nsw i32 %4906, 1
  store i32 %4907, ptr @test_count, align 4, !tbaa !5
  %4908 = load ptr, ptr %91, align 8, !tbaa !9
  %4909 = getelementptr inbounds %struct.s2n_config, ptr %4908, i32 0, i32 48
  %4910 = load i32, ptr %4909, align 4, !tbaa !54
  %4911 = icmp eq i32 %4910, 0
  br i1 %4911, label %4965, label %4912

4912:                                             ; preds = %4905
  br label %4913

4913:                                             ; preds = %4912
  br label %4914

4914:                                             ; preds = %4913
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #11
  %4915 = call ptr @__errno_location() #12
  %4916 = load i32, ptr %4915, align 4, !tbaa !5
  store i32 %4916, ptr %95, align 4, !tbaa !5
  %4917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4918 = call i32 @s2n_print_stacktrace(ptr noundef %4917)
  %4919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4920 = trunc i8 %4919 to i1
  br i1 %4920, label %4921, label %4943

4921:                                             ; preds = %4914
  %4922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4923 = call i32 @fileno(ptr noundef %4922) #11
  %4924 = call i32 @isatty(i32 noundef %4923) #11
  %4925 = icmp ne i32 %4924, 0
  br i1 %4925, label %4926, label %4943

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

4943:                                             ; preds = %4921, %4914
  %4944 = load i32, ptr %95, align 4, !tbaa !5
  %4945 = call ptr @__errno_location() #12
  store i32 %4944, ptr %4945, align 4, !tbaa !5
  %4946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4947 = load i32, ptr @test_count, align 4, !tbaa !5
  %4948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4949 = load i32, ptr %4948, align 4, !tbaa !5
  %4950 = call ptr @s2n_strerror(i32 noundef %4949, ptr noundef @.str.4)
  %4951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4952 = load i32, ptr %4951, align 4, !tbaa !5
  %4953 = call ptr @s2n_strerror_debug(i32 noundef %4952, ptr noundef @.str.4)
  %4954 = call ptr @__errno_location() #12
  %4955 = load i32, ptr %4954, align 4, !tbaa !5
  %4956 = call ptr @strerror(i32 noundef %4955) #11
  %4957 = call ptr @__errno_location() #12
  %4958 = load i32, ptr %4957, align 4, !tbaa !5
  %4959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4946, ptr noundef @.str.5, i32 noundef %4947, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 226, ptr noundef %4950, ptr noundef %4953, ptr noundef %4956, i32 noundef %4958) #11
  br label %4960

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

4961:                                             ; preds = %4960
  br label %4962

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

4963:                                             ; No predecessors!
  br label %4964

4964:                                             ; preds = %4963
  br label %4965

4965:                                             ; preds = %4964, %4905
  br label %4966

4966:                                             ; preds = %4965
  br label %4967

4967:                                             ; preds = %4966
  %4968 = load ptr, ptr %93, align 8, !tbaa !9
  %4969 = getelementptr inbounds %struct.s2n_connection, ptr %4968, i32 0, i32 1
  store ptr null, ptr %4969, align 8, !tbaa !25
  %4970 = load ptr, ptr %93, align 8, !tbaa !9
  %4971 = getelementptr inbounds %struct.s2n_connection, ptr %4970, i32 0, i32 33
  %4972 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %4971, i32 0, i32 0
  store i32 1, ptr %4972, align 8, !tbaa !55
  br label %4973

4973:                                             ; preds = %4967
  %4974 = load i32, ptr @test_count, align 4, !tbaa !5
  %4975 = add nsw i32 %4974, 1
  store i32 %4975, ptr @test_count, align 4, !tbaa !5
  %4976 = load ptr, ptr %93, align 8, !tbaa !9
  %4977 = load ptr, ptr %91, align 8, !tbaa !9
  %4978 = call i32 @s2n_connection_set_config(ptr noundef %4976, ptr noundef %4977)
  %4979 = icmp eq i32 %4978, -1
  br i1 %4979, label %4980, label %5033

4980:                                             ; preds = %4973
  br label %4981

4981:                                             ; preds = %4980
  br label %4982

4982:                                             ; preds = %4981
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #11
  %4983 = call ptr @__errno_location() #12
  %4984 = load i32, ptr %4983, align 4, !tbaa !5
  store i32 %4984, ptr %96, align 4, !tbaa !5
  %4985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4986 = call i32 @s2n_print_stacktrace(ptr noundef %4985)
  %4987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4988 = trunc i8 %4987 to i1
  br i1 %4988, label %4989, label %5011

4989:                                             ; preds = %4982
  %4990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4991 = call i32 @fileno(ptr noundef %4990) #11
  %4992 = call i32 @isatty(i32 noundef %4991) #11
  %4993 = icmp ne i32 %4992, 0
  br i1 %4993, label %4994, label %5011

4994:                                             ; preds = %4989
  %4995 = load i32, ptr %96, align 4, !tbaa !5
  %4996 = call ptr @__errno_location() #12
  store i32 %4995, ptr %4996, align 4, !tbaa !5
  %4997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4998 = load i32, ptr @test_count, align 4, !tbaa !5
  %4999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5000 = load i32, ptr %4999, align 4, !tbaa !5
  %5001 = call ptr @s2n_strerror(i32 noundef %5000, ptr noundef @.str.4)
  %5002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5003 = load i32, ptr %5002, align 4, !tbaa !5
  %5004 = call ptr @s2n_strerror_debug(i32 noundef %5003, ptr noundef @.str.4)
  %5005 = call ptr @__errno_location() #12
  %5006 = load i32, ptr %5005, align 4, !tbaa !5
  %5007 = call ptr @strerror(i32 noundef %5006) #11
  %5008 = call ptr @__errno_location() #12
  %5009 = load i32, ptr %5008, align 4, !tbaa !5
  %5010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4997, ptr noundef @.str.2, i32 noundef %4998, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 232, ptr noundef %5001, ptr noundef %5004, ptr noundef %5007, i32 noundef %5009) #11
  br label %5028

5011:                                             ; preds = %4989, %4982
  %5012 = load i32, ptr %96, align 4, !tbaa !5
  %5013 = call ptr @__errno_location() #12
  store i32 %5012, ptr %5013, align 4, !tbaa !5
  %5014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5015 = load i32, ptr @test_count, align 4, !tbaa !5
  %5016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5017 = load i32, ptr %5016, align 4, !tbaa !5
  %5018 = call ptr @s2n_strerror(i32 noundef %5017, ptr noundef @.str.4)
  %5019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5020 = load i32, ptr %5019, align 4, !tbaa !5
  %5021 = call ptr @s2n_strerror_debug(i32 noundef %5020, ptr noundef @.str.4)
  %5022 = call ptr @__errno_location() #12
  %5023 = load i32, ptr %5022, align 4, !tbaa !5
  %5024 = call ptr @strerror(i32 noundef %5023) #11
  %5025 = call ptr @__errno_location() #12
  %5026 = load i32, ptr %5025, align 4, !tbaa !5
  %5027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5014, ptr noundef @.str.5, i32 noundef %5015, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 232, ptr noundef %5018, ptr noundef %5021, ptr noundef %5024, i32 noundef %5026) #11
  br label %5028

5028:                                             ; preds = %5011, %4994
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %5029

5029:                                             ; preds = %5028
  br label %5030

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

5031:                                             ; No predecessors!
  br label %5032

5032:                                             ; preds = %5031
  br label %5033

5033:                                             ; preds = %5032, %4973
  br label %5034

5034:                                             ; preds = %5033
  br label %5035

5035:                                             ; preds = %5034
  br label %5036

5036:                                             ; preds = %5035
  %5037 = load i32, ptr @test_count, align 4, !tbaa !5
  %5038 = add nsw i32 %5037, 1
  store i32 %5038, ptr @test_count, align 4, !tbaa !5
  %5039 = load ptr, ptr %93, align 8, !tbaa !9
  %5040 = getelementptr inbounds %struct.s2n_connection, ptr %5039, i32 0, i32 33
  %5041 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %5040, i32 0, i32 0
  %5042 = load i32, ptr %5041, align 8, !tbaa !55
  %5043 = icmp eq i32 %5042, 0
  br i1 %5043, label %5097, label %5044

5044:                                             ; preds = %5036
  br label %5045

5045:                                             ; preds = %5044
  br label %5046

5046:                                             ; preds = %5045
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #11
  %5047 = call ptr @__errno_location() #12
  %5048 = load i32, ptr %5047, align 4, !tbaa !5
  store i32 %5048, ptr %97, align 4, !tbaa !5
  %5049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5050 = call i32 @s2n_print_stacktrace(ptr noundef %5049)
  %5051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5052 = trunc i8 %5051 to i1
  br i1 %5052, label %5053, label %5075

5053:                                             ; preds = %5046
  %5054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5055 = call i32 @fileno(ptr noundef %5054) #11
  %5056 = call i32 @isatty(i32 noundef %5055) #11
  %5057 = icmp ne i32 %5056, 0
  br i1 %5057, label %5058, label %5075

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

5075:                                             ; preds = %5053, %5046
  %5076 = load i32, ptr %97, align 4, !tbaa !5
  %5077 = call ptr @__errno_location() #12
  store i32 %5076, ptr %5077, align 4, !tbaa !5
  %5078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5079 = load i32, ptr @test_count, align 4, !tbaa !5
  %5080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5081 = load i32, ptr %5080, align 4, !tbaa !5
  %5082 = call ptr @s2n_strerror(i32 noundef %5081, ptr noundef @.str.4)
  %5083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5084 = load i32, ptr %5083, align 4, !tbaa !5
  %5085 = call ptr @s2n_strerror_debug(i32 noundef %5084, ptr noundef @.str.4)
  %5086 = call ptr @__errno_location() #12
  %5087 = load i32, ptr %5086, align 4, !tbaa !5
  %5088 = call ptr @strerror(i32 noundef %5087) #11
  %5089 = call ptr @__errno_location() #12
  %5090 = load i32, ptr %5089, align 4, !tbaa !5
  %5091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5078, ptr noundef @.str.5, i32 noundef %5079, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 233, ptr noundef %5082, ptr noundef %5085, ptr noundef %5088, i32 noundef %5090) #11
  br label %5092

5092:                                             ; preds = %5075, %5058
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %5093

5093:                                             ; preds = %5092
  br label %5094

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

5095:                                             ; No predecessors!
  br label %5096

5096:                                             ; preds = %5095
  br label %5097

5097:                                             ; preds = %5096, %5036
  br label %5098

5098:                                             ; preds = %5097
  br label %5099

5099:                                             ; preds = %5098
  br label %5100

5100:                                             ; preds = %5099
  %5101 = load i32, ptr @test_count, align 4, !tbaa !5
  %5102 = add nsw i32 %5101, 1
  store i32 %5102, ptr @test_count, align 4, !tbaa !5
  %5103 = load ptr, ptr %93, align 8, !tbaa !9
  %5104 = load i32, ptr %5103, align 8
  %5105 = lshr i32 %5104, 12
  %5106 = and i32 %5105, 1
  %5107 = icmp ne i32 %5106, 0
  br i1 %5107, label %5108, label %5161

5108:                                             ; preds = %5100
  br label %5109

5109:                                             ; preds = %5108
  br label %5110

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

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

5122:                                             ; preds = %5117
  %5123 = load i32, ptr %98, align 4, !tbaa !5
  %5124 = call ptr @__errno_location() #12
  store i32 %5123, ptr %5124, align 4, !tbaa !5
  %5125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5126 = load i32, ptr @test_count, align 4, !tbaa !5
  %5127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5128 = load i32, ptr %5127, align 4, !tbaa !5
  %5129 = call ptr @s2n_strerror(i32 noundef %5128, ptr noundef @.str.4)
  %5130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5131 = load i32, ptr %5130, align 4, !tbaa !5
  %5132 = call ptr @s2n_strerror_debug(i32 noundef %5131, ptr noundef @.str.4)
  %5133 = call ptr @__errno_location() #12
  %5134 = load i32, ptr %5133, align 4, !tbaa !5
  %5135 = call ptr @strerror(i32 noundef %5134) #11
  %5136 = call ptr @__errno_location() #12
  %5137 = load i32, ptr %5136, align 4, !tbaa !5
  %5138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5125, ptr noundef @.str.2, i32 noundef %5126, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5129, ptr noundef %5132, ptr noundef %5135, i32 noundef %5137) #11
  br label %5156

5139:                                             ; preds = %5117, %5110
  %5140 = load i32, ptr %98, align 4, !tbaa !5
  %5141 = call ptr @__errno_location() #12
  store i32 %5140, ptr %5141, align 4, !tbaa !5
  %5142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5143 = load i32, ptr @test_count, align 4, !tbaa !5
  %5144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5145 = load i32, ptr %5144, align 4, !tbaa !5
  %5146 = call ptr @s2n_strerror(i32 noundef %5145, ptr noundef @.str.4)
  %5147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5148 = load i32, ptr %5147, align 4, !tbaa !5
  %5149 = call ptr @s2n_strerror_debug(i32 noundef %5148, ptr noundef @.str.4)
  %5150 = call ptr @__errno_location() #12
  %5151 = load i32, ptr %5150, align 4, !tbaa !5
  %5152 = call ptr @strerror(i32 noundef %5151) #11
  %5153 = call ptr @__errno_location() #12
  %5154 = load i32, ptr %5153, align 4, !tbaa !5
  %5155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5142, ptr noundef @.str.5, i32 noundef %5143, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5146, ptr noundef %5149, ptr noundef %5152, i32 noundef %5154) #11
  br label %5156

5156:                                             ; preds = %5139, %5122
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %5157

5157:                                             ; preds = %5156
  br label %5158

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

5159:                                             ; No predecessors!
  br label %5160

5160:                                             ; preds = %5159
  br label %5161

5161:                                             ; preds = %5160, %5100
  br label %5162

5162:                                             ; preds = %5161
  br label %5163

5163:                                             ; preds = %5162
  %5164 = load ptr, ptr %93, align 8, !tbaa !9
  %5165 = getelementptr inbounds %struct.s2n_connection, ptr %5164, i32 0, i32 1
  store ptr null, ptr %5165, align 8, !tbaa !25
  %5166 = load ptr, ptr %93, align 8, !tbaa !9
  %5167 = getelementptr inbounds %struct.s2n_connection, ptr %5166, i32 0, i32 33
  %5168 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %5167, i32 0, i32 0
  store i32 1, ptr %5168, align 8, !tbaa !55
  %5169 = load ptr, ptr %93, align 8, !tbaa !9
  %5170 = load i32, ptr %5169, align 8
  %5171 = and i32 %5170, -4097
  %5172 = or i32 %5171, 4096
  store i32 %5172, ptr %5169, align 8
  br label %5173

5173:                                             ; preds = %5163
  %5174 = load i32, ptr @test_count, align 4, !tbaa !5
  %5175 = add nsw i32 %5174, 1
  store i32 %5175, ptr @test_count, align 4, !tbaa !5
  %5176 = load ptr, ptr %93, align 8, !tbaa !9
  %5177 = load ptr, ptr %91, align 8, !tbaa !9
  %5178 = call i32 @s2n_connection_set_config(ptr noundef %5176, ptr noundef %5177)
  %5179 = icmp eq i32 %5178, -1
  br i1 %5179, label %5180, label %5233

5180:                                             ; preds = %5173
  br label %5181

5181:                                             ; preds = %5180
  br label %5182

5182:                                             ; preds = %5181
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #11
  %5183 = call ptr @__errno_location() #12
  %5184 = load i32, ptr %5183, align 4, !tbaa !5
  store i32 %5184, ptr %99, align 4, !tbaa !5
  %5185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5186 = call i32 @s2n_print_stacktrace(ptr noundef %5185)
  %5187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5188 = trunc i8 %5187 to i1
  br i1 %5188, label %5189, label %5211

5189:                                             ; preds = %5182
  %5190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5191 = call i32 @fileno(ptr noundef %5190) #11
  %5192 = call i32 @isatty(i32 noundef %5191) #11
  %5193 = icmp ne i32 %5192, 0
  br i1 %5193, label %5194, label %5211

5194:                                             ; preds = %5189
  %5195 = load i32, ptr %99, align 4, !tbaa !5
  %5196 = call ptr @__errno_location() #12
  store i32 %5195, ptr %5196, align 4, !tbaa !5
  %5197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5198 = load i32, ptr @test_count, align 4, !tbaa !5
  %5199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5200 = load i32, ptr %5199, align 4, !tbaa !5
  %5201 = call ptr @s2n_strerror(i32 noundef %5200, ptr noundef @.str.4)
  %5202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5203 = load i32, ptr %5202, align 4, !tbaa !5
  %5204 = call ptr @s2n_strerror_debug(i32 noundef %5203, ptr noundef @.str.4)
  %5205 = call ptr @__errno_location() #12
  %5206 = load i32, ptr %5205, align 4, !tbaa !5
  %5207 = call ptr @strerror(i32 noundef %5206) #11
  %5208 = call ptr @__errno_location() #12
  %5209 = load i32, ptr %5208, align 4, !tbaa !5
  %5210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5197, ptr noundef @.str.2, i32 noundef %5198, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 242, ptr noundef %5201, ptr noundef %5204, ptr noundef %5207, i32 noundef %5209) #11
  br label %5228

5211:                                             ; preds = %5189, %5182
  %5212 = load i32, ptr %99, align 4, !tbaa !5
  %5213 = call ptr @__errno_location() #12
  store i32 %5212, ptr %5213, align 4, !tbaa !5
  %5214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5215 = load i32, ptr @test_count, align 4, !tbaa !5
  %5216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5217 = load i32, ptr %5216, align 4, !tbaa !5
  %5218 = call ptr @s2n_strerror(i32 noundef %5217, ptr noundef @.str.4)
  %5219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5220 = load i32, ptr %5219, align 4, !tbaa !5
  %5221 = call ptr @s2n_strerror_debug(i32 noundef %5220, ptr noundef @.str.4)
  %5222 = call ptr @__errno_location() #12
  %5223 = load i32, ptr %5222, align 4, !tbaa !5
  %5224 = call ptr @strerror(i32 noundef %5223) #11
  %5225 = call ptr @__errno_location() #12
  %5226 = load i32, ptr %5225, align 4, !tbaa !5
  %5227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5214, ptr noundef @.str.5, i32 noundef %5215, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 242, ptr noundef %5218, ptr noundef %5221, ptr noundef %5224, i32 noundef %5226) #11
  br label %5228

5228:                                             ; preds = %5211, %5194
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #11
  br label %5229

5229:                                             ; preds = %5228
  br label %5230

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

5231:                                             ; No predecessors!
  br label %5232

5232:                                             ; preds = %5231
  br label %5233

5233:                                             ; preds = %5232, %5173
  br label %5234

5234:                                             ; preds = %5233
  br label %5235

5235:                                             ; preds = %5234
  br label %5236

5236:                                             ; preds = %5235
  %5237 = load i32, ptr @test_count, align 4, !tbaa !5
  %5238 = add nsw i32 %5237, 1
  store i32 %5238, ptr @test_count, align 4, !tbaa !5
  %5239 = load ptr, ptr %93, align 8, !tbaa !9
  %5240 = getelementptr inbounds %struct.s2n_connection, ptr %5239, i32 0, i32 33
  %5241 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %5240, i32 0, i32 0
  %5242 = load i32, ptr %5241, align 8, !tbaa !55
  %5243 = icmp eq i32 %5242, 1
  br i1 %5243, label %5297, label %5244

5244:                                             ; preds = %5236
  br label %5245

5245:                                             ; preds = %5244
  br label %5246

5246:                                             ; preds = %5245
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #11
  %5247 = call ptr @__errno_location() #12
  %5248 = load i32, ptr %5247, align 4, !tbaa !5
  store i32 %5248, ptr %100, align 4, !tbaa !5
  %5249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5250 = call i32 @s2n_print_stacktrace(ptr noundef %5249)
  %5251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5252 = trunc i8 %5251 to i1
  br i1 %5252, label %5253, label %5275

5253:                                             ; preds = %5246
  %5254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5255 = call i32 @fileno(ptr noundef %5254) #11
  %5256 = call i32 @isatty(i32 noundef %5255) #11
  %5257 = icmp ne i32 %5256, 0
  br i1 %5257, label %5258, label %5275

5258:                                             ; preds = %5253
  %5259 = load i32, ptr %100, align 4, !tbaa !5
  %5260 = call ptr @__errno_location() #12
  store i32 %5259, ptr %5260, align 4, !tbaa !5
  %5261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5262 = load i32, ptr @test_count, align 4, !tbaa !5
  %5263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5264 = load i32, ptr %5263, align 4, !tbaa !5
  %5265 = call ptr @s2n_strerror(i32 noundef %5264, ptr noundef @.str.4)
  %5266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5267 = load i32, ptr %5266, align 4, !tbaa !5
  %5268 = call ptr @s2n_strerror_debug(i32 noundef %5267, ptr noundef @.str.4)
  %5269 = call ptr @__errno_location() #12
  %5270 = load i32, ptr %5269, align 4, !tbaa !5
  %5271 = call ptr @strerror(i32 noundef %5270) #11
  %5272 = call ptr @__errno_location() #12
  %5273 = load i32, ptr %5272, align 4, !tbaa !5
  %5274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5261, ptr noundef @.str.2, i32 noundef %5262, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5265, ptr noundef %5268, ptr noundef %5271, i32 noundef %5273) #11
  br label %5292

5275:                                             ; preds = %5253, %5246
  %5276 = load i32, ptr %100, align 4, !tbaa !5
  %5277 = call ptr @__errno_location() #12
  store i32 %5276, ptr %5277, align 4, !tbaa !5
  %5278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5279 = load i32, ptr @test_count, align 4, !tbaa !5
  %5280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5281 = load i32, ptr %5280, align 4, !tbaa !5
  %5282 = call ptr @s2n_strerror(i32 noundef %5281, ptr noundef @.str.4)
  %5283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5284 = load i32, ptr %5283, align 4, !tbaa !5
  %5285 = call ptr @s2n_strerror_debug(i32 noundef %5284, ptr noundef @.str.4)
  %5286 = call ptr @__errno_location() #12
  %5287 = load i32, ptr %5286, align 4, !tbaa !5
  %5288 = call ptr @strerror(i32 noundef %5287) #11
  %5289 = call ptr @__errno_location() #12
  %5290 = load i32, ptr %5289, align 4, !tbaa !5
  %5291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5278, ptr noundef @.str.5, i32 noundef %5279, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5282, ptr noundef %5285, ptr noundef %5288, i32 noundef %5290) #11
  br label %5292

5292:                                             ; preds = %5275, %5258
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #11
  br label %5293

5293:                                             ; preds = %5292
  br label %5294

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

5295:                                             ; No predecessors!
  br label %5296

5296:                                             ; preds = %5295
  br label %5297

5297:                                             ; preds = %5296, %5236
  br label %5298

5298:                                             ; preds = %5297
  br label %5299

5299:                                             ; preds = %5298
  br label %5300

5300:                                             ; preds = %5299
  %5301 = load i32, ptr @test_count, align 4, !tbaa !5
  %5302 = add nsw i32 %5301, 1
  store i32 %5302, ptr @test_count, align 4, !tbaa !5
  %5303 = load ptr, ptr %93, align 8, !tbaa !9
  %5304 = load i32, ptr %5303, align 8
  %5305 = lshr i32 %5304, 12
  %5306 = and i32 %5305, 1
  %5307 = icmp ne i32 %5306, 0
  br i1 %5307, label %5361, label %5308

5308:                                             ; preds = %5300
  br label %5309

5309:                                             ; preds = %5308
  br label %5310

5310:                                             ; preds = %5309
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %5311 = call ptr @__errno_location() #12
  %5312 = load i32, ptr %5311, align 4, !tbaa !5
  store i32 %5312, ptr %101, align 4, !tbaa !5
  %5313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5314 = call i32 @s2n_print_stacktrace(ptr noundef %5313)
  %5315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5316 = trunc i8 %5315 to i1
  br i1 %5316, label %5317, label %5339

5317:                                             ; preds = %5310
  %5318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5319 = call i32 @fileno(ptr noundef %5318) #11
  %5320 = call i32 @isatty(i32 noundef %5319) #11
  %5321 = icmp ne i32 %5320, 0
  br i1 %5321, label %5322, label %5339

5322:                                             ; preds = %5317
  %5323 = load i32, ptr %101, align 4, !tbaa !5
  %5324 = call ptr @__errno_location() #12
  store i32 %5323, ptr %5324, align 4, !tbaa !5
  %5325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5326 = load i32, ptr @test_count, align 4, !tbaa !5
  %5327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5328 = load i32, ptr %5327, align 4, !tbaa !5
  %5329 = call ptr @s2n_strerror(i32 noundef %5328, ptr noundef @.str.4)
  %5330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5331 = load i32, ptr %5330, align 4, !tbaa !5
  %5332 = call ptr @s2n_strerror_debug(i32 noundef %5331, ptr noundef @.str.4)
  %5333 = call ptr @__errno_location() #12
  %5334 = load i32, ptr %5333, align 4, !tbaa !5
  %5335 = call ptr @strerror(i32 noundef %5334) #11
  %5336 = call ptr @__errno_location() #12
  %5337 = load i32, ptr %5336, align 4, !tbaa !5
  %5338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5325, ptr noundef @.str.2, i32 noundef %5326, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 244, ptr noundef %5329, ptr noundef %5332, ptr noundef %5335, i32 noundef %5337) #11
  br label %5356

5339:                                             ; preds = %5317, %5310
  %5340 = load i32, ptr %101, align 4, !tbaa !5
  %5341 = call ptr @__errno_location() #12
  store i32 %5340, ptr %5341, align 4, !tbaa !5
  %5342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5343 = load i32, ptr @test_count, align 4, !tbaa !5
  %5344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5345 = load i32, ptr %5344, align 4, !tbaa !5
  %5346 = call ptr @s2n_strerror(i32 noundef %5345, ptr noundef @.str.4)
  %5347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5348 = load i32, ptr %5347, align 4, !tbaa !5
  %5349 = call ptr @s2n_strerror_debug(i32 noundef %5348, ptr noundef @.str.4)
  %5350 = call ptr @__errno_location() #12
  %5351 = load i32, ptr %5350, align 4, !tbaa !5
  %5352 = call ptr @strerror(i32 noundef %5351) #11
  %5353 = call ptr @__errno_location() #12
  %5354 = load i32, ptr %5353, align 4, !tbaa !5
  %5355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5342, ptr noundef @.str.5, i32 noundef %5343, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 244, ptr noundef %5346, ptr noundef %5349, ptr noundef %5352, i32 noundef %5354) #11
  br label %5356

5356:                                             ; preds = %5339, %5322
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %5357

5357:                                             ; preds = %5356
  br label %5358

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

5359:                                             ; No predecessors!
  br label %5360

5360:                                             ; preds = %5359
  br label %5361

5361:                                             ; preds = %5360, %5300
  br label %5362

5362:                                             ; preds = %5361
  br label %5363

5363:                                             ; preds = %5362
  %5364 = load ptr, ptr %93, align 8, !tbaa !9
  %5365 = load i32, ptr %5364, align 8
  %5366 = and i32 %5365, -4097
  %5367 = or i32 %5366, 0
  store i32 %5367, ptr %5364, align 8
  %5368 = load ptr, ptr %93, align 8, !tbaa !9
  %5369 = getelementptr inbounds %struct.s2n_connection, ptr %5368, i32 0, i32 1
  store ptr null, ptr %5369, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr %102) #11
  %5370 = load ptr, ptr %93, align 8, !tbaa !9
  %5371 = call ptr @s2n_test_psk_new(ptr noundef %5370)
  store ptr %5371, ptr %102, align 8, !tbaa !9
  br label %5372

5372:                                             ; preds = %5363
  %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 %93, align 8, !tbaa !9
  %5376 = load ptr, ptr %102, align 8, !tbaa !9
  %5377 = call i32 @s2n_connection_append_psk(ptr noundef %5375, ptr noundef %5376)
  %5378 = icmp eq i32 %5377, -1
  br i1 %5378, label %5379, label %5432

5379:                                             ; preds = %5372
  br label %5380

5380:                                             ; preds = %5379
  br label %5381

5381:                                             ; preds = %5380
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %5382 = call ptr @__errno_location() #12
  %5383 = load i32, ptr %5382, align 4, !tbaa !5
  store i32 %5383, ptr %103, align 4, !tbaa !5
  %5384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5385 = call i32 @s2n_print_stacktrace(ptr noundef %5384)
  %5386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5387 = trunc i8 %5386 to i1
  br i1 %5387, label %5388, label %5410

5388:                                             ; preds = %5381
  %5389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5390 = call i32 @fileno(ptr noundef %5389) #11
  %5391 = call i32 @isatty(i32 noundef %5390) #11
  %5392 = icmp ne i32 %5391, 0
  br i1 %5392, label %5393, label %5410

5393:                                             ; preds = %5388
  %5394 = load i32, ptr %103, align 4, !tbaa !5
  %5395 = call ptr @__errno_location() #12
  store i32 %5394, ptr %5395, align 4, !tbaa !5
  %5396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5397 = load i32, ptr @test_count, align 4, !tbaa !5
  %5398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5399 = load i32, ptr %5398, align 4, !tbaa !5
  %5400 = call ptr @s2n_strerror(i32 noundef %5399, ptr noundef @.str.4)
  %5401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5402 = load i32, ptr %5401, align 4, !tbaa !5
  %5403 = call ptr @s2n_strerror_debug(i32 noundef %5402, ptr noundef @.str.4)
  %5404 = call ptr @__errno_location() #12
  %5405 = load i32, ptr %5404, align 4, !tbaa !5
  %5406 = call ptr @strerror(i32 noundef %5405) #11
  %5407 = call ptr @__errno_location() #12
  %5408 = load i32, ptr %5407, align 4, !tbaa !5
  %5409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5396, ptr noundef @.str.2, i32 noundef %5397, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 252, ptr noundef %5400, ptr noundef %5403, ptr noundef %5406, i32 noundef %5408) #11
  br label %5427

5410:                                             ; preds = %5388, %5381
  %5411 = load i32, ptr %103, align 4, !tbaa !5
  %5412 = call ptr @__errno_location() #12
  store i32 %5411, ptr %5412, align 4, !tbaa !5
  %5413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5414 = load i32, ptr @test_count, align 4, !tbaa !5
  %5415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5416 = load i32, ptr %5415, align 4, !tbaa !5
  %5417 = call ptr @s2n_strerror(i32 noundef %5416, ptr noundef @.str.4)
  %5418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5419 = load i32, ptr %5418, align 4, !tbaa !5
  %5420 = call ptr @s2n_strerror_debug(i32 noundef %5419, ptr noundef @.str.4)
  %5421 = call ptr @__errno_location() #12
  %5422 = load i32, ptr %5421, align 4, !tbaa !5
  %5423 = call ptr @strerror(i32 noundef %5422) #11
  %5424 = call ptr @__errno_location() #12
  %5425 = load i32, ptr %5424, align 4, !tbaa !5
  %5426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5413, ptr noundef @.str.5, i32 noundef %5414, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 252, ptr noundef %5417, ptr noundef %5420, ptr noundef %5423, i32 noundef %5425) #11
  br label %5427

5427:                                             ; preds = %5410, %5393
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %5428

5428:                                             ; preds = %5427
  br label %5429

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

5430:                                             ; No predecessors!
  br label %5431

5431:                                             ; preds = %5430
  br label %5432

5432:                                             ; preds = %5431, %5372
  br label %5433

5433:                                             ; preds = %5432
  br label %5434

5434:                                             ; preds = %5433
  br label %5435

5435:                                             ; preds = %5434
  %5436 = load i32, ptr @test_count, align 4, !tbaa !5
  %5437 = add nsw i32 %5436, 1
  store i32 %5437, ptr @test_count, align 4, !tbaa !5
  %5438 = load ptr, ptr %93, align 8, !tbaa !9
  %5439 = getelementptr inbounds %struct.s2n_connection, ptr %5438, i32 0, i32 33
  %5440 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %5439, i32 0, i32 0
  %5441 = load i32, ptr %5440, align 8, !tbaa !55
  %5442 = icmp eq i32 %5441, 1
  br i1 %5442, label %5496, label %5443

5443:                                             ; preds = %5435
  br label %5444

5444:                                             ; preds = %5443
  br label %5445

5445:                                             ; preds = %5444
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #11
  %5446 = call ptr @__errno_location() #12
  %5447 = load i32, ptr %5446, align 4, !tbaa !5
  store i32 %5447, ptr %104, align 4, !tbaa !5
  %5448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5449 = call i32 @s2n_print_stacktrace(ptr noundef %5448)
  %5450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5451 = trunc i8 %5450 to i1
  br i1 %5451, label %5452, label %5474

5452:                                             ; preds = %5445
  %5453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5454 = call i32 @fileno(ptr noundef %5453) #11
  %5455 = call i32 @isatty(i32 noundef %5454) #11
  %5456 = icmp ne i32 %5455, 0
  br i1 %5456, label %5457, label %5474

5457:                                             ; preds = %5452
  %5458 = load i32, ptr %104, align 4, !tbaa !5
  %5459 = call ptr @__errno_location() #12
  store i32 %5458, ptr %5459, align 4, !tbaa !5
  %5460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5461 = load i32, ptr @test_count, align 4, !tbaa !5
  %5462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5463 = load i32, ptr %5462, align 4, !tbaa !5
  %5464 = call ptr @s2n_strerror(i32 noundef %5463, ptr noundef @.str.4)
  %5465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5466 = load i32, ptr %5465, align 4, !tbaa !5
  %5467 = call ptr @s2n_strerror_debug(i32 noundef %5466, ptr noundef @.str.4)
  %5468 = call ptr @__errno_location() #12
  %5469 = load i32, ptr %5468, align 4, !tbaa !5
  %5470 = call ptr @strerror(i32 noundef %5469) #11
  %5471 = call ptr @__errno_location() #12
  %5472 = load i32, ptr %5471, align 4, !tbaa !5
  %5473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5460, ptr noundef @.str.2, i32 noundef %5461, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 253, ptr noundef %5464, ptr noundef %5467, ptr noundef %5470, i32 noundef %5472) #11
  br label %5491

5474:                                             ; preds = %5452, %5445
  %5475 = load i32, ptr %104, align 4, !tbaa !5
  %5476 = call ptr @__errno_location() #12
  store i32 %5475, ptr %5476, align 4, !tbaa !5
  %5477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5478 = load i32, ptr @test_count, align 4, !tbaa !5
  %5479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5480 = load i32, ptr %5479, align 4, !tbaa !5
  %5481 = call ptr @s2n_strerror(i32 noundef %5480, ptr noundef @.str.4)
  %5482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5483 = load i32, ptr %5482, align 4, !tbaa !5
  %5484 = call ptr @s2n_strerror_debug(i32 noundef %5483, ptr noundef @.str.4)
  %5485 = call ptr @__errno_location() #12
  %5486 = load i32, ptr %5485, align 4, !tbaa !5
  %5487 = call ptr @strerror(i32 noundef %5486) #11
  %5488 = call ptr @__errno_location() #12
  %5489 = load i32, ptr %5488, align 4, !tbaa !5
  %5490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5477, ptr noundef @.str.5, i32 noundef %5478, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 253, ptr noundef %5481, ptr noundef %5484, ptr noundef %5487, i32 noundef %5489) #11
  br label %5491

5491:                                             ; preds = %5474, %5457
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %5492

5492:                                             ; preds = %5491
  br label %5493

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

5494:                                             ; No predecessors!
  br label %5495

5495:                                             ; preds = %5494
  br label %5496

5496:                                             ; preds = %5495, %5435
  br label %5497

5497:                                             ; preds = %5496
  br label %5498

5498:                                             ; preds = %5497
  br label %5499

5499:                                             ; preds = %5498
  %5500 = load i32, ptr @test_count, align 4, !tbaa !5
  %5501 = add nsw i32 %5500, 1
  store i32 %5501, ptr @test_count, align 4, !tbaa !5
  %5502 = load ptr, ptr %93, align 8, !tbaa !9
  %5503 = load ptr, ptr %91, align 8, !tbaa !9
  %5504 = call i32 @s2n_connection_set_config(ptr noundef %5502, ptr noundef %5503)
  %5505 = icmp eq i32 %5504, -1
  br i1 %5505, label %5506, label %5559

5506:                                             ; preds = %5499
  br label %5507

5507:                                             ; preds = %5506
  br label %5508

5508:                                             ; preds = %5507
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #11
  %5509 = call ptr @__errno_location() #12
  %5510 = load i32, ptr %5509, align 4, !tbaa !5
  store i32 %5510, ptr %105, align 4, !tbaa !5
  %5511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5512 = call i32 @s2n_print_stacktrace(ptr noundef %5511)
  %5513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5514 = trunc i8 %5513 to i1
  br i1 %5514, label %5515, label %5537

5515:                                             ; preds = %5508
  %5516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5517 = call i32 @fileno(ptr noundef %5516) #11
  %5518 = call i32 @isatty(i32 noundef %5517) #11
  %5519 = icmp ne i32 %5518, 0
  br i1 %5519, label %5520, label %5537

5520:                                             ; preds = %5515
  %5521 = load i32, ptr %105, align 4, !tbaa !5
  %5522 = call ptr @__errno_location() #12
  store i32 %5521, ptr %5522, align 4, !tbaa !5
  %5523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5524 = load i32, ptr @test_count, align 4, !tbaa !5
  %5525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5526 = load i32, ptr %5525, align 4, !tbaa !5
  %5527 = call ptr @s2n_strerror(i32 noundef %5526, ptr noundef @.str.4)
  %5528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5529 = load i32, ptr %5528, align 4, !tbaa !5
  %5530 = call ptr @s2n_strerror_debug(i32 noundef %5529, ptr noundef @.str.4)
  %5531 = call ptr @__errno_location() #12
  %5532 = load i32, ptr %5531, align 4, !tbaa !5
  %5533 = call ptr @strerror(i32 noundef %5532) #11
  %5534 = call ptr @__errno_location() #12
  %5535 = load i32, ptr %5534, align 4, !tbaa !5
  %5536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5523, ptr noundef @.str.2, i32 noundef %5524, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 254, ptr noundef %5527, ptr noundef %5530, ptr noundef %5533, i32 noundef %5535) #11
  br label %5554

5537:                                             ; preds = %5515, %5508
  %5538 = load i32, ptr %105, align 4, !tbaa !5
  %5539 = call ptr @__errno_location() #12
  store i32 %5538, ptr %5539, align 4, !tbaa !5
  %5540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5541 = load i32, ptr @test_count, align 4, !tbaa !5
  %5542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5543 = load i32, ptr %5542, align 4, !tbaa !5
  %5544 = call ptr @s2n_strerror(i32 noundef %5543, ptr noundef @.str.4)
  %5545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5546 = load i32, ptr %5545, align 4, !tbaa !5
  %5547 = call ptr @s2n_strerror_debug(i32 noundef %5546, ptr noundef @.str.4)
  %5548 = call ptr @__errno_location() #12
  %5549 = load i32, ptr %5548, align 4, !tbaa !5
  %5550 = call ptr @strerror(i32 noundef %5549) #11
  %5551 = call ptr @__errno_location() #12
  %5552 = load i32, ptr %5551, align 4, !tbaa !5
  %5553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5540, ptr noundef @.str.5, i32 noundef %5541, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 254, ptr noundef %5544, ptr noundef %5547, ptr noundef %5550, i32 noundef %5552) #11
  br label %5554

5554:                                             ; preds = %5537, %5520
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  br label %5555

5555:                                             ; preds = %5554
  br label %5556

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

5557:                                             ; No predecessors!
  br label %5558

5558:                                             ; preds = %5557
  br label %5559

5559:                                             ; preds = %5558, %5499
  br label %5560

5560:                                             ; preds = %5559
  br label %5561

5561:                                             ; preds = %5560
  br label %5562

5562:                                             ; preds = %5561
  %5563 = load i32, ptr @test_count, align 4, !tbaa !5
  %5564 = add nsw i32 %5563, 1
  store i32 %5564, ptr @test_count, align 4, !tbaa !5
  %5565 = load ptr, ptr %93, align 8, !tbaa !9
  %5566 = getelementptr inbounds %struct.s2n_connection, ptr %5565, i32 0, i32 33
  %5567 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %5566, i32 0, i32 0
  %5568 = load i32, ptr %5567, align 8, !tbaa !55
  %5569 = icmp eq i32 %5568, 1
  br i1 %5569, label %5623, label %5570

5570:                                             ; preds = %5562
  br label %5571

5571:                                             ; preds = %5570
  br label %5572

5572:                                             ; preds = %5571
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #11
  %5573 = call ptr @__errno_location() #12
  %5574 = load i32, ptr %5573, align 4, !tbaa !5
  store i32 %5574, ptr %106, align 4, !tbaa !5
  %5575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5576 = call i32 @s2n_print_stacktrace(ptr noundef %5575)
  %5577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5578 = trunc i8 %5577 to i1
  br i1 %5578, label %5579, label %5601

5579:                                             ; preds = %5572
  %5580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5581 = call i32 @fileno(ptr noundef %5580) #11
  %5582 = call i32 @isatty(i32 noundef %5581) #11
  %5583 = icmp ne i32 %5582, 0
  br i1 %5583, label %5584, label %5601

5584:                                             ; preds = %5579
  %5585 = load i32, ptr %106, align 4, !tbaa !5
  %5586 = call ptr @__errno_location() #12
  store i32 %5585, ptr %5586, align 4, !tbaa !5
  %5587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5588 = load i32, ptr @test_count, align 4, !tbaa !5
  %5589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5590 = load i32, ptr %5589, align 4, !tbaa !5
  %5591 = call ptr @s2n_strerror(i32 noundef %5590, ptr noundef @.str.4)
  %5592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5593 = load i32, ptr %5592, align 4, !tbaa !5
  %5594 = call ptr @s2n_strerror_debug(i32 noundef %5593, ptr noundef @.str.4)
  %5595 = call ptr @__errno_location() #12
  %5596 = load i32, ptr %5595, align 4, !tbaa !5
  %5597 = call ptr @strerror(i32 noundef %5596) #11
  %5598 = call ptr @__errno_location() #12
  %5599 = load i32, ptr %5598, align 4, !tbaa !5
  %5600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5587, ptr noundef @.str.2, i32 noundef %5588, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 255, ptr noundef %5591, ptr noundef %5594, ptr noundef %5597, i32 noundef %5599) #11
  br label %5618

5601:                                             ; preds = %5579, %5572
  %5602 = load i32, ptr %106, align 4, !tbaa !5
  %5603 = call ptr @__errno_location() #12
  store i32 %5602, ptr %5603, align 4, !tbaa !5
  %5604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5605 = load i32, ptr @test_count, align 4, !tbaa !5
  %5606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5607 = load i32, ptr %5606, align 4, !tbaa !5
  %5608 = call ptr @s2n_strerror(i32 noundef %5607, ptr noundef @.str.4)
  %5609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5610 = load i32, ptr %5609, align 4, !tbaa !5
  %5611 = call ptr @s2n_strerror_debug(i32 noundef %5610, ptr noundef @.str.4)
  %5612 = call ptr @__errno_location() #12
  %5613 = load i32, ptr %5612, align 4, !tbaa !5
  %5614 = call ptr @strerror(i32 noundef %5613) #11
  %5615 = call ptr @__errno_location() #12
  %5616 = load i32, ptr %5615, align 4, !tbaa !5
  %5617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5604, ptr noundef @.str.5, i32 noundef %5605, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 255, ptr noundef %5608, ptr noundef %5611, ptr noundef %5614, i32 noundef %5616) #11
  br label %5618

5618:                                             ; preds = %5601, %5584
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %5619

5619:                                             ; preds = %5618
  br label %5620

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

5621:                                             ; No predecessors!
  br label %5622

5622:                                             ; preds = %5621
  br label %5623

5623:                                             ; preds = %5622, %5562
  br label %5624

5624:                                             ; preds = %5623
  br label %5625

5625:                                             ; preds = %5624
  br label %5626

5626:                                             ; preds = %5625
  %5627 = load i32, ptr @test_count, align 4, !tbaa !5
  %5628 = add nsw i32 %5627, 1
  store i32 %5628, ptr @test_count, align 4, !tbaa !5
  %5629 = load ptr, ptr %93, align 8, !tbaa !9
  %5630 = load i32, ptr %5629, align 8
  %5631 = lshr i32 %5630, 12
  %5632 = and i32 %5631, 1
  %5633 = icmp ne i32 %5632, 0
  br i1 %5633, label %5634, label %5687

5634:                                             ; preds = %5626
  br label %5635

5635:                                             ; preds = %5634
  br label %5636

5636:                                             ; preds = %5635
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #11
  %5637 = call ptr @__errno_location() #12
  %5638 = load i32, ptr %5637, align 4, !tbaa !5
  store i32 %5638, ptr %107, align 4, !tbaa !5
  %5639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5640 = call i32 @s2n_print_stacktrace(ptr noundef %5639)
  %5641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5642 = trunc i8 %5641 to i1
  br i1 %5642, label %5643, label %5665

5643:                                             ; preds = %5636
  %5644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5645 = call i32 @fileno(ptr noundef %5644) #11
  %5646 = call i32 @isatty(i32 noundef %5645) #11
  %5647 = icmp ne i32 %5646, 0
  br i1 %5647, label %5648, label %5665

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

5665:                                             ; preds = %5643, %5636
  %5666 = load i32, ptr %107, align 4, !tbaa !5
  %5667 = call ptr @__errno_location() #12
  store i32 %5666, ptr %5667, align 4, !tbaa !5
  %5668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5669 = load i32, ptr @test_count, align 4, !tbaa !5
  %5670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5671 = load i32, ptr %5670, align 4, !tbaa !5
  %5672 = call ptr @s2n_strerror(i32 noundef %5671, ptr noundef @.str.4)
  %5673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5674 = load i32, ptr %5673, align 4, !tbaa !5
  %5675 = call ptr @s2n_strerror_debug(i32 noundef %5674, ptr noundef @.str.4)
  %5676 = call ptr @__errno_location() #12
  %5677 = load i32, ptr %5676, align 4, !tbaa !5
  %5678 = call ptr @strerror(i32 noundef %5677) #11
  %5679 = call ptr @__errno_location() #12
  %5680 = load i32, ptr %5679, align 4, !tbaa !5
  %5681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5668, ptr noundef @.str.5, i32 noundef %5669, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 256, ptr noundef %5672, ptr noundef %5675, ptr noundef %5678, i32 noundef %5680) #11
  br label %5682

5682:                                             ; preds = %5665, %5648
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %5683

5683:                                             ; preds = %5682
  br label %5684

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

5685:                                             ; No predecessors!
  br label %5686

5686:                                             ; preds = %5685
  br label %5687

5687:                                             ; preds = %5686, %5626
  br label %5688

5688:                                             ; preds = %5687
  br label %5689

5689:                                             ; preds = %5688
  %5690 = call i32 @s2n_psk_free(ptr noundef %102)
  call void @llvm.lifetime.end.p0(i64 8, ptr %102) #11
  br label %5691

5691:                                             ; preds = %5689
  %5692 = load i32, ptr @test_count, align 4, !tbaa !5
  %5693 = add nsw i32 %5692, 1
  store i32 %5693, ptr @test_count, align 4, !tbaa !5
  %5694 = load ptr, ptr %93, align 8, !tbaa !9
  %5695 = call i32 @s2n_connection_free(ptr noundef %5694)
  %5696 = icmp eq i32 %5695, -1
  br i1 %5696, label %5697, label %5750

5697:                                             ; preds = %5691
  br label %5698

5698:                                             ; preds = %5697
  br label %5699

5699:                                             ; preds = %5698
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #11
  %5700 = call ptr @__errno_location() #12
  %5701 = load i32, ptr %5700, align 4, !tbaa !5
  store i32 %5701, ptr %108, align 4, !tbaa !5
  %5702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5703 = call i32 @s2n_print_stacktrace(ptr noundef %5702)
  %5704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5705 = trunc i8 %5704 to i1
  br i1 %5705, label %5706, label %5728

5706:                                             ; preds = %5699
  %5707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5708 = call i32 @fileno(ptr noundef %5707) #11
  %5709 = call i32 @isatty(i32 noundef %5708) #11
  %5710 = icmp ne i32 %5709, 0
  br i1 %5710, label %5711, label %5728

5711:                                             ; preds = %5706
  %5712 = load i32, ptr %108, 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.4)
  %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.4)
  %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.2, i32 noundef %5715, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 259, ptr noundef %5718, ptr noundef %5721, ptr noundef %5724, i32 noundef %5726) #11
  br label %5745

5728:                                             ; preds = %5706, %5699
  %5729 = load i32, ptr %108, align 4, !tbaa !5
  %5730 = call ptr @__errno_location() #12
  store i32 %5729, ptr %5730, align 4, !tbaa !5
  %5731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5732 = load i32, ptr @test_count, align 4, !tbaa !5
  %5733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5734 = load i32, ptr %5733, align 4, !tbaa !5
  %5735 = call ptr @s2n_strerror(i32 noundef %5734, ptr noundef @.str.4)
  %5736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5737 = load i32, ptr %5736, align 4, !tbaa !5
  %5738 = call ptr @s2n_strerror_debug(i32 noundef %5737, ptr noundef @.str.4)
  %5739 = call ptr @__errno_location() #12
  %5740 = load i32, ptr %5739, align 4, !tbaa !5
  %5741 = call ptr @strerror(i32 noundef %5740) #11
  %5742 = call ptr @__errno_location() #12
  %5743 = load i32, ptr %5742, align 4, !tbaa !5
  %5744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5731, ptr noundef @.str.5, i32 noundef %5732, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 259, ptr noundef %5735, ptr noundef %5738, ptr noundef %5741, i32 noundef %5743) #11
  br label %5745

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

5746:                                             ; preds = %5745
  br label %5747

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

5748:                                             ; No predecessors!
  br label %5749

5749:                                             ; preds = %5748
  br label %5750

5750:                                             ; preds = %5749, %5691
  br label %5751

5751:                                             ; preds = %5750
  br label %5752

5752:                                             ; preds = %5751
  br label %5753

5753:                                             ; preds = %5752
  %5754 = load i32, ptr @test_count, align 4, !tbaa !5
  %5755 = add nsw i32 %5754, 1
  store i32 %5755, ptr @test_count, align 4, !tbaa !5
  %5756 = load ptr, ptr %91, align 8, !tbaa !9
  %5757 = call i32 @s2n_config_free(ptr noundef %5756)
  %5758 = icmp eq i32 %5757, -1
  br i1 %5758, label %5759, label %5812

5759:                                             ; preds = %5753
  br label %5760

5760:                                             ; preds = %5759
  br label %5761

5761:                                             ; preds = %5760
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  %5762 = call ptr @__errno_location() #12
  %5763 = load i32, ptr %5762, align 4, !tbaa !5
  store i32 %5763, ptr %109, align 4, !tbaa !5
  %5764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5765 = call i32 @s2n_print_stacktrace(ptr noundef %5764)
  %5766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5767 = trunc i8 %5766 to i1
  br i1 %5767, label %5768, label %5790

5768:                                             ; preds = %5761
  %5769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5770 = call i32 @fileno(ptr noundef %5769) #11
  %5771 = call i32 @isatty(i32 noundef %5770) #11
  %5772 = icmp ne i32 %5771, 0
  br i1 %5772, label %5773, label %5790

5773:                                             ; preds = %5768
  %5774 = load i32, ptr %109, align 4, !tbaa !5
  %5775 = call ptr @__errno_location() #12
  store i32 %5774, ptr %5775, align 4, !tbaa !5
  %5776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5777 = load i32, ptr @test_count, align 4, !tbaa !5
  %5778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5779 = load i32, ptr %5778, align 4, !tbaa !5
  %5780 = call ptr @s2n_strerror(i32 noundef %5779, ptr noundef @.str.4)
  %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_debug(i32 noundef %5782, ptr noundef @.str.4)
  %5784 = call ptr @__errno_location() #12
  %5785 = load i32, ptr %5784, align 4, !tbaa !5
  %5786 = call ptr @strerror(i32 noundef %5785) #11
  %5787 = call ptr @__errno_location() #12
  %5788 = load i32, ptr %5787, align 4, !tbaa !5
  %5789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5776, ptr noundef @.str.2, i32 noundef %5777, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 260, ptr noundef %5780, ptr noundef %5783, ptr noundef %5786, i32 noundef %5788) #11
  br label %5807

5790:                                             ; preds = %5768, %5761
  %5791 = load i32, ptr %109, align 4, !tbaa !5
  %5792 = call ptr @__errno_location() #12
  store i32 %5791, ptr %5792, align 4, !tbaa !5
  %5793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5794 = load i32, ptr @test_count, align 4, !tbaa !5
  %5795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5796 = load i32, ptr %5795, align 4, !tbaa !5
  %5797 = call ptr @s2n_strerror(i32 noundef %5796, ptr noundef @.str.4)
  %5798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5799 = load i32, ptr %5798, align 4, !tbaa !5
  %5800 = call ptr @s2n_strerror_debug(i32 noundef %5799, ptr noundef @.str.4)
  %5801 = call ptr @__errno_location() #12
  %5802 = load i32, ptr %5801, align 4, !tbaa !5
  %5803 = call ptr @strerror(i32 noundef %5802) #11
  %5804 = call ptr @__errno_location() #12
  %5805 = load i32, ptr %5804, align 4, !tbaa !5
  %5806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5793, ptr noundef @.str.5, i32 noundef %5794, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 260, ptr noundef %5797, ptr noundef %5800, ptr noundef %5803, i32 noundef %5805) #11
  br label %5807

5807:                                             ; preds = %5790, %5773
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %5808

5808:                                             ; preds = %5807
  br label %5809

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

5810:                                             ; No predecessors!
  br label %5811

5811:                                             ; preds = %5810
  br label %5812

5812:                                             ; preds = %5811, %5753
  br label %5813

5813:                                             ; preds = %5812
  br label %5814

5814:                                             ; preds = %5813
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %91) #11
  br label %5815

5815:                                             ; preds = %5814
  br label %5816

5816:                                             ; preds = %5815
  br label %5817

5817:                                             ; preds = %5816
  %5818 = load i32, ptr @test_count, align 4, !tbaa !5
  %5819 = add nsw i32 %5818, 1
  store i32 %5819, ptr @test_count, align 4, !tbaa !5
  %5820 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef null, i8 noundef zeroext 1)
  %5821 = icmp eq i32 %5820, -1
  br i1 %5821, label %5875, label %5822

5822:                                             ; preds = %5817
  br label %5823

5823:                                             ; preds = %5822
  br label %5824

5824:                                             ; preds = %5823
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  %5825 = call ptr @__errno_location() #12
  %5826 = load i32, ptr %5825, align 4, !tbaa !5
  store i32 %5826, ptr %110, align 4, !tbaa !5
  %5827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5828 = call i32 @s2n_print_stacktrace(ptr noundef %5827)
  %5829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5830 = trunc i8 %5829 to i1
  br i1 %5830, label %5831, label %5853

5831:                                             ; preds = %5824
  %5832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5833 = call i32 @fileno(ptr noundef %5832) #11
  %5834 = call i32 @isatty(i32 noundef %5833) #11
  %5835 = icmp ne i32 %5834, 0
  br i1 %5835, label %5836, label %5853

5836:                                             ; preds = %5831
  %5837 = load i32, ptr %110, align 4, !tbaa !5
  %5838 = call ptr @__errno_location() #12
  store i32 %5837, ptr %5838, align 4, !tbaa !5
  %5839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5840 = load i32, ptr @test_count, align 4, !tbaa !5
  %5841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5842 = load i32, ptr %5841, align 4, !tbaa !5
  %5843 = call ptr @s2n_strerror(i32 noundef %5842, ptr noundef @.str.4)
  %5844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5845 = load i32, ptr %5844, align 4, !tbaa !5
  %5846 = call ptr @s2n_strerror_debug(i32 noundef %5845, ptr noundef @.str.4)
  %5847 = call ptr @__errno_location() #12
  %5848 = load i32, ptr %5847, align 4, !tbaa !5
  %5849 = call ptr @strerror(i32 noundef %5848) #11
  %5850 = call ptr @__errno_location() #12
  %5851 = load i32, ptr %5850, align 4, !tbaa !5
  %5852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5839, ptr noundef @.str.2, i32 noundef %5840, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 267, ptr noundef %5843, ptr noundef %5846, ptr noundef %5849, i32 noundef %5851) #11
  br label %5870

5853:                                             ; preds = %5831, %5824
  %5854 = load i32, ptr %110, align 4, !tbaa !5
  %5855 = call ptr @__errno_location() #12
  store i32 %5854, ptr %5855, align 4, !tbaa !5
  %5856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5857 = load i32, ptr @test_count, align 4, !tbaa !5
  %5858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5859 = load i32, ptr %5858, align 4, !tbaa !5
  %5860 = call ptr @s2n_strerror(i32 noundef %5859, ptr noundef @.str.4)
  %5861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5862 = load i32, ptr %5861, align 4, !tbaa !5
  %5863 = call ptr @s2n_strerror_debug(i32 noundef %5862, ptr noundef @.str.4)
  %5864 = call ptr @__errno_location() #12
  %5865 = load i32, ptr %5864, align 4, !tbaa !5
  %5866 = call ptr @strerror(i32 noundef %5865) #11
  %5867 = call ptr @__errno_location() #12
  %5868 = load i32, ptr %5867, align 4, !tbaa !5
  %5869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5856, ptr noundef @.str.5, i32 noundef %5857, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 267, ptr noundef %5860, ptr noundef %5863, ptr noundef %5866, i32 noundef %5868) #11
  br label %5870

5870:                                             ; preds = %5853, %5836
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %5871

5871:                                             ; preds = %5870
  br label %5872

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

5873:                                             ; No predecessors!
  br label %5874

5874:                                             ; preds = %5873
  br label %5875

5875:                                             ; preds = %5874, %5817
  br label %5876

5876:                                             ; preds = %5875
  br label %5877

5877:                                             ; preds = %5876
  br label %5878

5878:                                             ; preds = %5877
  %5879 = load i32, ptr @test_count, align 4, !tbaa !5
  %5880 = add nsw i32 %5879, 1
  store i32 %5880, ptr @test_count, align 4, !tbaa !5
  %5881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5882 = load i32, ptr %5881, align 4, !tbaa !5
  %5883 = icmp eq i32 %5882, 402653193
  br i1 %5883, label %5937, label %5884

5884:                                             ; preds = %5878
  br label %5885

5885:                                             ; preds = %5884
  br label %5886

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

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

5898:                                             ; preds = %5893
  %5899 = load i32, ptr %111, align 4, !tbaa !5
  %5900 = call ptr @__errno_location() #12
  store i32 %5899, ptr %5900, align 4, !tbaa !5
  %5901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5902 = load i32, ptr @test_count, align 4, !tbaa !5
  %5903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5904 = load i32, ptr %5903, align 4, !tbaa !5
  %5905 = call ptr @s2n_strerror(i32 noundef %5904, ptr noundef @.str.4)
  %5906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5907 = load i32, ptr %5906, align 4, !tbaa !5
  %5908 = call ptr @s2n_strerror_debug(i32 noundef %5907, ptr noundef @.str.4)
  %5909 = call ptr @__errno_location() #12
  %5910 = load i32, ptr %5909, align 4, !tbaa !5
  %5911 = call ptr @strerror(i32 noundef %5910) #11
  %5912 = call ptr @__errno_location() #12
  %5913 = load i32, ptr %5912, align 4, !tbaa !5
  %5914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5901, ptr noundef @.str.2, i32 noundef %5902, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 267, ptr noundef %5905, ptr noundef %5908, ptr noundef %5911, i32 noundef %5913) #11
  br label %5932

5915:                                             ; preds = %5893, %5886
  %5916 = load i32, ptr %111, align 4, !tbaa !5
  %5917 = call ptr @__errno_location() #12
  store i32 %5916, ptr %5917, align 4, !tbaa !5
  %5918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5919 = load i32, ptr @test_count, align 4, !tbaa !5
  %5920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5921 = load i32, ptr %5920, align 4, !tbaa !5
  %5922 = call ptr @s2n_strerror(i32 noundef %5921, ptr noundef @.str.4)
  %5923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5924 = load i32, ptr %5923, align 4, !tbaa !5
  %5925 = call ptr @s2n_strerror_debug(i32 noundef %5924, ptr noundef @.str.4)
  %5926 = call ptr @__errno_location() #12
  %5927 = load i32, ptr %5926, align 4, !tbaa !5
  %5928 = call ptr @strerror(i32 noundef %5927) #11
  %5929 = call ptr @__errno_location() #12
  %5930 = load i32, ptr %5929, align 4, !tbaa !5
  %5931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5918, ptr noundef @.str.5, i32 noundef %5919, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 267, ptr noundef %5922, ptr noundef %5925, ptr noundef %5928, i32 noundef %5930) #11
  br label %5932

5932:                                             ; preds = %5915, %5898
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %5933

5933:                                             ; preds = %5932
  br label %5934

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

5935:                                             ; No predecessors!
  br label %5936

5936:                                             ; preds = %5935
  br label %5937

5937:                                             ; preds = %5936, %5878
  br label %5938

5938:                                             ; preds = %5937
  br label %5939

5939:                                             ; preds = %5938
  br label %5940

5940:                                             ; preds = %5939
  %5941 = load i32, ptr @test_count, align 4, !tbaa !5
  %5942 = add nsw i32 %5941, 1
  store i32 %5942, ptr @test_count, align 4, !tbaa !5
  %5943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5944 = load i32, ptr %5943, align 4, !tbaa !5
  %5945 = call ptr @s2n_strerror_debug(i32 noundef %5944, ptr noundef @.str.4)
  %5946 = icmp eq ptr %5945, null
  br i1 %5946, label %5947, label %6000

5947:                                             ; preds = %5940
  br label %5948

5948:                                             ; preds = %5947
  br label %5949

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

5956:                                             ; preds = %5949
  %5957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5958 = call i32 @fileno(ptr noundef %5957) #11
  %5959 = call i32 @isatty(i32 noundef %5958) #11
  %5960 = icmp ne i32 %5959, 0
  br i1 %5960, label %5961, label %5978

5961:                                             ; preds = %5956
  %5962 = load i32, ptr %112, align 4, !tbaa !5
  %5963 = call ptr @__errno_location() #12
  store i32 %5962, ptr %5963, align 4, !tbaa !5
  %5964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5965 = load i32, ptr @test_count, align 4, !tbaa !5
  %5966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5967 = load i32, ptr %5966, align 4, !tbaa !5
  %5968 = call ptr @s2n_strerror(i32 noundef %5967, ptr noundef @.str.4)
  %5969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5970 = load i32, ptr %5969, align 4, !tbaa !5
  %5971 = call ptr @s2n_strerror_debug(i32 noundef %5970, ptr noundef @.str.4)
  %5972 = call ptr @__errno_location() #12
  %5973 = load i32, ptr %5972, align 4, !tbaa !5
  %5974 = call ptr @strerror(i32 noundef %5973) #11
  %5975 = call ptr @__errno_location() #12
  %5976 = load i32, ptr %5975, align 4, !tbaa !5
  %5977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5964, ptr noundef @.str.2, i32 noundef %5965, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 267, ptr noundef %5968, ptr noundef %5971, ptr noundef %5974, i32 noundef %5976) #11
  br label %5995

5978:                                             ; preds = %5956, %5949
  %5979 = load i32, ptr %112, align 4, !tbaa !5
  %5980 = call ptr @__errno_location() #12
  store i32 %5979, ptr %5980, align 4, !tbaa !5
  %5981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5982 = load i32, ptr @test_count, align 4, !tbaa !5
  %5983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5984 = load i32, ptr %5983, align 4, !tbaa !5
  %5985 = call ptr @s2n_strerror(i32 noundef %5984, ptr noundef @.str.4)
  %5986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5987 = load i32, ptr %5986, align 4, !tbaa !5
  %5988 = call ptr @s2n_strerror_debug(i32 noundef %5987, ptr noundef @.str.4)
  %5989 = call ptr @__errno_location() #12
  %5990 = load i32, ptr %5989, align 4, !tbaa !5
  %5991 = call ptr @strerror(i32 noundef %5990) #11
  %5992 = call ptr @__errno_location() #12
  %5993 = load i32, ptr %5992, align 4, !tbaa !5
  %5994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5981, ptr noundef @.str.5, i32 noundef %5982, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 267, ptr noundef %5985, ptr noundef %5988, ptr noundef %5991, i32 noundef %5993) #11
  br label %5995

5995:                                             ; preds = %5978, %5961
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %5996

5996:                                             ; preds = %5995
  br label %5997

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

5998:                                             ; No predecessors!
  br label %5999

5999:                                             ; preds = %5998
  br label %6000

6000:                                             ; preds = %5999, %5940
  br label %6001

6001:                                             ; preds = %6000
  br label %6002

6002:                                             ; preds = %6001
  br label %6003

6003:                                             ; preds = %6002
  br label %6004

6004:                                             ; preds = %6003
  br label %6005

6005:                                             ; preds = %6004
  %6006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6006, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6007 = call ptr @__errno_location() #12
  store i32 0, ptr %6007, align 4, !tbaa !5
  br label %6008

6008:                                             ; preds = %6005
  br label %6009

6009:                                             ; preds = %6008
  br label %6010

6010:                                             ; preds = %6009
  br label %6011

6011:                                             ; preds = %6010
  br label %6012

6012:                                             ; preds = %6011
  br label %6013

6013:                                             ; preds = %6012
  br label %6014

6014:                                             ; preds = %6013
  %6015 = load i32, ptr @test_count, align 4, !tbaa !5
  %6016 = add nsw i32 %6015, 1
  store i32 %6016, ptr @test_count, align 4, !tbaa !5
  %6017 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef null, i8 noundef zeroext 0)
  %6018 = icmp eq i32 %6017, -1
  br i1 %6018, label %6072, label %6019

6019:                                             ; preds = %6014
  br label %6020

6020:                                             ; preds = %6019
  br label %6021

6021:                                             ; preds = %6020
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #11
  %6022 = call ptr @__errno_location() #12
  %6023 = load i32, ptr %6022, align 4, !tbaa !5
  store i32 %6023, ptr %113, align 4, !tbaa !5
  %6024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6025 = call i32 @s2n_print_stacktrace(ptr noundef %6024)
  %6026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6027 = trunc i8 %6026 to i1
  br i1 %6027, label %6028, label %6050

6028:                                             ; preds = %6021
  %6029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6030 = call i32 @fileno(ptr noundef %6029) #11
  %6031 = call i32 @isatty(i32 noundef %6030) #11
  %6032 = icmp ne i32 %6031, 0
  br i1 %6032, label %6033, label %6050

6033:                                             ; preds = %6028
  %6034 = load i32, ptr %113, align 4, !tbaa !5
  %6035 = call ptr @__errno_location() #12
  store i32 %6034, ptr %6035, align 4, !tbaa !5
  %6036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6037 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6039, ptr noundef @.str.4)
  %6041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6042 = load i32, ptr %6041, align 4, !tbaa !5
  %6043 = call ptr @s2n_strerror_debug(i32 noundef %6042, ptr noundef @.str.4)
  %6044 = call ptr @__errno_location() #12
  %6045 = load i32, ptr %6044, align 4, !tbaa !5
  %6046 = call ptr @strerror(i32 noundef %6045) #11
  %6047 = call ptr @__errno_location() #12
  %6048 = load i32, ptr %6047, align 4, !tbaa !5
  %6049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6036, ptr noundef @.str.2, i32 noundef %6037, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6040, ptr noundef %6043, ptr noundef %6046, i32 noundef %6048) #11
  br label %6067

6050:                                             ; preds = %6028, %6021
  %6051 = load i32, ptr %113, align 4, !tbaa !5
  %6052 = call ptr @__errno_location() #12
  store i32 %6051, ptr %6052, align 4, !tbaa !5
  %6053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6054 = load i32, ptr @test_count, align 4, !tbaa !5
  %6055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6056 = load i32, ptr %6055, align 4, !tbaa !5
  %6057 = call ptr @s2n_strerror(i32 noundef %6056, ptr noundef @.str.4)
  %6058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6059 = load i32, ptr %6058, align 4, !tbaa !5
  %6060 = call ptr @s2n_strerror_debug(i32 noundef %6059, ptr noundef @.str.4)
  %6061 = call ptr @__errno_location() #12
  %6062 = load i32, ptr %6061, align 4, !tbaa !5
  %6063 = call ptr @strerror(i32 noundef %6062) #11
  %6064 = call ptr @__errno_location() #12
  %6065 = load i32, ptr %6064, align 4, !tbaa !5
  %6066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6053, ptr noundef @.str.5, i32 noundef %6054, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6057, ptr noundef %6060, ptr noundef %6063, i32 noundef %6065) #11
  br label %6067

6067:                                             ; preds = %6050, %6033
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %6068

6068:                                             ; preds = %6067
  br label %6069

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

6070:                                             ; No predecessors!
  br label %6071

6071:                                             ; preds = %6070
  br label %6072

6072:                                             ; preds = %6071, %6014
  br label %6073

6073:                                             ; preds = %6072
  br label %6074

6074:                                             ; preds = %6073
  br label %6075

6075:                                             ; preds = %6074
  %6076 = load i32, ptr @test_count, align 4, !tbaa !5
  %6077 = add nsw i32 %6076, 1
  store i32 %6077, ptr @test_count, align 4, !tbaa !5
  %6078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6079 = load i32, ptr %6078, align 4, !tbaa !5
  %6080 = icmp eq i32 %6079, 402653193
  br i1 %6080, label %6134, label %6081

6081:                                             ; preds = %6075
  br label %6082

6082:                                             ; preds = %6081
  br label %6083

6083:                                             ; preds = %6082
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #11
  %6084 = call ptr @__errno_location() #12
  %6085 = load i32, ptr %6084, align 4, !tbaa !5
  store i32 %6085, ptr %114, align 4, !tbaa !5
  %6086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6087 = call i32 @s2n_print_stacktrace(ptr noundef %6086)
  %6088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6089 = trunc i8 %6088 to i1
  br i1 %6089, label %6090, label %6112

6090:                                             ; preds = %6083
  %6091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6092 = call i32 @fileno(ptr noundef %6091) #11
  %6093 = call i32 @isatty(i32 noundef %6092) #11
  %6094 = icmp ne i32 %6093, 0
  br i1 %6094, label %6095, label %6112

6095:                                             ; preds = %6090
  %6096 = load i32, ptr %114, align 4, !tbaa !5
  %6097 = call ptr @__errno_location() #12
  store i32 %6096, ptr %6097, align 4, !tbaa !5
  %6098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6099 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6101, ptr noundef @.str.4)
  %6103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6104 = load i32, ptr %6103, align 4, !tbaa !5
  %6105 = call ptr @s2n_strerror_debug(i32 noundef %6104, ptr noundef @.str.4)
  %6106 = call ptr @__errno_location() #12
  %6107 = load i32, ptr %6106, align 4, !tbaa !5
  %6108 = call ptr @strerror(i32 noundef %6107) #11
  %6109 = call ptr @__errno_location() #12
  %6110 = load i32, ptr %6109, align 4, !tbaa !5
  %6111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6098, ptr noundef @.str.2, i32 noundef %6099, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6102, ptr noundef %6105, ptr noundef %6108, i32 noundef %6110) #11
  br label %6129

6112:                                             ; preds = %6090, %6083
  %6113 = load i32, ptr %114, align 4, !tbaa !5
  %6114 = call ptr @__errno_location() #12
  store i32 %6113, ptr %6114, align 4, !tbaa !5
  %6115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6116 = load i32, ptr @test_count, align 4, !tbaa !5
  %6117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6118 = load i32, ptr %6117, align 4, !tbaa !5
  %6119 = call ptr @s2n_strerror(i32 noundef %6118, ptr noundef @.str.4)
  %6120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6121 = load i32, ptr %6120, align 4, !tbaa !5
  %6122 = call ptr @s2n_strerror_debug(i32 noundef %6121, ptr noundef @.str.4)
  %6123 = call ptr @__errno_location() #12
  %6124 = load i32, ptr %6123, align 4, !tbaa !5
  %6125 = call ptr @strerror(i32 noundef %6124) #11
  %6126 = call ptr @__errno_location() #12
  %6127 = load i32, ptr %6126, align 4, !tbaa !5
  %6128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6115, ptr noundef @.str.5, i32 noundef %6116, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6119, ptr noundef %6122, ptr noundef %6125, i32 noundef %6127) #11
  br label %6129

6129:                                             ; preds = %6112, %6095
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %6130

6130:                                             ; preds = %6129
  br label %6131

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

6132:                                             ; No predecessors!
  br label %6133

6133:                                             ; preds = %6132
  br label %6134

6134:                                             ; preds = %6133, %6075
  br label %6135

6135:                                             ; preds = %6134
  br label %6136

6136:                                             ; preds = %6135
  br label %6137

6137:                                             ; preds = %6136
  %6138 = load i32, ptr @test_count, align 4, !tbaa !5
  %6139 = add nsw i32 %6138, 1
  store i32 %6139, ptr @test_count, align 4, !tbaa !5
  %6140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6141 = load i32, ptr %6140, align 4, !tbaa !5
  %6142 = call ptr @s2n_strerror_debug(i32 noundef %6141, ptr noundef @.str.4)
  %6143 = icmp eq ptr %6142, null
  br i1 %6143, label %6144, label %6197

6144:                                             ; preds = %6137
  br label %6145

6145:                                             ; preds = %6144
  br label %6146

6146:                                             ; preds = %6145
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #11
  %6147 = call ptr @__errno_location() #12
  %6148 = load i32, ptr %6147, align 4, !tbaa !5
  store i32 %6148, ptr %115, align 4, !tbaa !5
  %6149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6150 = call i32 @s2n_print_stacktrace(ptr noundef %6149)
  %6151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6152 = trunc i8 %6151 to i1
  br i1 %6152, label %6153, label %6175

6153:                                             ; preds = %6146
  %6154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6155 = call i32 @fileno(ptr noundef %6154) #11
  %6156 = call i32 @isatty(i32 noundef %6155) #11
  %6157 = icmp ne i32 %6156, 0
  br i1 %6157, label %6158, label %6175

6158:                                             ; preds = %6153
  %6159 = load i32, ptr %115, align 4, !tbaa !5
  %6160 = call ptr @__errno_location() #12
  store i32 %6159, ptr %6160, align 4, !tbaa !5
  %6161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6162 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6164, ptr noundef @.str.4)
  %6166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6167 = load i32, ptr %6166, align 4, !tbaa !5
  %6168 = call ptr @s2n_strerror_debug(i32 noundef %6167, ptr noundef @.str.4)
  %6169 = call ptr @__errno_location() #12
  %6170 = load i32, ptr %6169, align 4, !tbaa !5
  %6171 = call ptr @strerror(i32 noundef %6170) #11
  %6172 = call ptr @__errno_location() #12
  %6173 = load i32, ptr %6172, align 4, !tbaa !5
  %6174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6161, ptr noundef @.str.2, i32 noundef %6162, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6165, ptr noundef %6168, ptr noundef %6171, i32 noundef %6173) #11
  br label %6192

6175:                                             ; preds = %6153, %6146
  %6176 = load i32, ptr %115, align 4, !tbaa !5
  %6177 = call ptr @__errno_location() #12
  store i32 %6176, ptr %6177, align 4, !tbaa !5
  %6178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6179 = load i32, ptr @test_count, align 4, !tbaa !5
  %6180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6181 = load i32, ptr %6180, align 4, !tbaa !5
  %6182 = call ptr @s2n_strerror(i32 noundef %6181, ptr noundef @.str.4)
  %6183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6184 = load i32, ptr %6183, align 4, !tbaa !5
  %6185 = call ptr @s2n_strerror_debug(i32 noundef %6184, ptr noundef @.str.4)
  %6186 = call ptr @__errno_location() #12
  %6187 = load i32, ptr %6186, align 4, !tbaa !5
  %6188 = call ptr @strerror(i32 noundef %6187) #11
  %6189 = call ptr @__errno_location() #12
  %6190 = load i32, ptr %6189, align 4, !tbaa !5
  %6191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6178, ptr noundef @.str.5, i32 noundef %6179, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6182, ptr noundef %6185, ptr noundef %6188, i32 noundef %6190) #11
  br label %6192

6192:                                             ; preds = %6175, %6158
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %6193

6193:                                             ; preds = %6192
  br label %6194

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

6195:                                             ; No predecessors!
  br label %6196

6196:                                             ; preds = %6195
  br label %6197

6197:                                             ; preds = %6196, %6137
  br label %6198

6198:                                             ; preds = %6197
  br label %6199

6199:                                             ; preds = %6198
  br label %6200

6200:                                             ; preds = %6199
  br label %6201

6201:                                             ; preds = %6200
  br label %6202

6202:                                             ; preds = %6201
  %6203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6203, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6204 = call ptr @__errno_location() #12
  store i32 0, ptr %6204, align 4, !tbaa !5
  br label %6205

6205:                                             ; preds = %6202
  br label %6206

6206:                                             ; preds = %6205
  br label %6207

6207:                                             ; preds = %6206
  br label %6208

6208:                                             ; preds = %6207
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #11
  %6209 = call ptr @s2n_config_new()
  store ptr %6209, ptr %116, align 8, !tbaa !9
  br label %6210

6210:                                             ; preds = %6208
  %6211 = load i32, ptr @test_count, align 4, !tbaa !5
  %6212 = add nsw i32 %6211, 1
  store i32 %6212, ptr @test_count, align 4, !tbaa !5
  %6213 = load ptr, ptr %116, align 8, !tbaa !9
  %6214 = icmp eq ptr %6213, null
  br i1 %6214, label %6215, label %6268

6215:                                             ; preds = %6210
  br label %6216

6216:                                             ; preds = %6215
  br label %6217

6217:                                             ; preds = %6216
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #11
  %6218 = call ptr @__errno_location() #12
  %6219 = load i32, ptr %6218, align 4, !tbaa !5
  store i32 %6219, ptr %117, align 4, !tbaa !5
  %6220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6221 = call i32 @s2n_print_stacktrace(ptr noundef %6220)
  %6222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6223 = trunc i8 %6222 to i1
  br i1 %6223, label %6224, label %6246

6224:                                             ; preds = %6217
  %6225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6226 = call i32 @fileno(ptr noundef %6225) #11
  %6227 = call i32 @isatty(i32 noundef %6226) #11
  %6228 = icmp ne i32 %6227, 0
  br i1 %6228, label %6229, label %6246

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

6246:                                             ; preds = %6224, %6217
  %6247 = load i32, ptr %117, align 4, !tbaa !5
  %6248 = call ptr @__errno_location() #12
  store i32 %6247, ptr %6248, align 4, !tbaa !5
  %6249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6250 = load i32, ptr @test_count, align 4, !tbaa !5
  %6251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6252 = load i32, ptr %6251, align 4, !tbaa !5
  %6253 = call ptr @s2n_strerror(i32 noundef %6252, ptr noundef @.str.4)
  %6254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6255 = load i32, ptr %6254, align 4, !tbaa !5
  %6256 = call ptr @s2n_strerror_debug(i32 noundef %6255, ptr noundef @.str.4)
  %6257 = call ptr @__errno_location() #12
  %6258 = load i32, ptr %6257, align 4, !tbaa !5
  %6259 = call ptr @strerror(i32 noundef %6258) #11
  %6260 = call ptr @__errno_location() #12
  %6261 = load i32, ptr %6260, align 4, !tbaa !5
  %6262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6249, ptr noundef @.str.5, i32 noundef %6250, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 271, ptr noundef %6253, ptr noundef %6256, ptr noundef %6259, i32 noundef %6261) #11
  br label %6263

6263:                                             ; preds = %6246, %6229
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %6264

6264:                                             ; preds = %6263
  br label %6265

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

6266:                                             ; No predecessors!
  br label %6267

6267:                                             ; preds = %6266
  br label %6268

6268:                                             ; preds = %6267, %6210
  br label %6269

6269:                                             ; preds = %6268
  br label %6270

6270:                                             ; preds = %6269
  br label %6271

6271:                                             ; preds = %6270
  %6272 = load i32, ptr @test_count, align 4, !tbaa !5
  %6273 = add nsw i32 %6272, 1
  store i32 %6273, ptr @test_count, align 4, !tbaa !5
  %6274 = load ptr, ptr %116, align 8, !tbaa !9
  %6275 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %6274, i8 noundef zeroext 1)
  %6276 = icmp eq i32 %6275, -1
  br i1 %6276, label %6277, label %6330

6277:                                             ; preds = %6271
  br label %6278

6278:                                             ; preds = %6277
  br label %6279

6279:                                             ; preds = %6278
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  %6280 = call ptr @__errno_location() #12
  %6281 = load i32, ptr %6280, align 4, !tbaa !5
  store i32 %6281, ptr %118, align 4, !tbaa !5
  %6282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6283 = call i32 @s2n_print_stacktrace(ptr noundef %6282)
  %6284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6285 = trunc i8 %6284 to i1
  br i1 %6285, label %6286, label %6308

6286:                                             ; preds = %6279
  %6287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6288 = call i32 @fileno(ptr noundef %6287) #11
  %6289 = call i32 @isatty(i32 noundef %6288) #11
  %6290 = icmp ne i32 %6289, 0
  br i1 %6290, label %6291, label %6308

6291:                                             ; preds = %6286
  %6292 = load i32, ptr %118, align 4, !tbaa !5
  %6293 = call ptr @__errno_location() #12
  store i32 %6292, ptr %6293, align 4, !tbaa !5
  %6294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6295 = load i32, ptr @test_count, align 4, !tbaa !5
  %6296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6297 = load i32, ptr %6296, align 4, !tbaa !5
  %6298 = call ptr @s2n_strerror(i32 noundef %6297, ptr noundef @.str.4)
  %6299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6300 = load i32, ptr %6299, align 4, !tbaa !5
  %6301 = call ptr @s2n_strerror_debug(i32 noundef %6300, ptr noundef @.str.4)
  %6302 = call ptr @__errno_location() #12
  %6303 = load i32, ptr %6302, align 4, !tbaa !5
  %6304 = call ptr @strerror(i32 noundef %6303) #11
  %6305 = call ptr @__errno_location() #12
  %6306 = load i32, ptr %6305, align 4, !tbaa !5
  %6307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6294, ptr noundef @.str.2, i32 noundef %6295, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 273, ptr noundef %6298, ptr noundef %6301, ptr noundef %6304, i32 noundef %6306) #11
  br label %6325

6308:                                             ; preds = %6286, %6279
  %6309 = load i32, ptr %118, align 4, !tbaa !5
  %6310 = call ptr @__errno_location() #12
  store i32 %6309, ptr %6310, align 4, !tbaa !5
  %6311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6312 = load i32, ptr @test_count, align 4, !tbaa !5
  %6313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6314 = load i32, ptr %6313, align 4, !tbaa !5
  %6315 = call ptr @s2n_strerror(i32 noundef %6314, ptr noundef @.str.4)
  %6316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6317 = load i32, ptr %6316, align 4, !tbaa !5
  %6318 = call ptr @s2n_strerror_debug(i32 noundef %6317, ptr noundef @.str.4)
  %6319 = call ptr @__errno_location() #12
  %6320 = load i32, ptr %6319, align 4, !tbaa !5
  %6321 = call ptr @strerror(i32 noundef %6320) #11
  %6322 = call ptr @__errno_location() #12
  %6323 = load i32, ptr %6322, align 4, !tbaa !5
  %6324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6311, ptr noundef @.str.5, i32 noundef %6312, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 273, ptr noundef %6315, ptr noundef %6318, ptr noundef %6321, i32 noundef %6323) #11
  br label %6325

6325:                                             ; preds = %6308, %6291
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %6326

6326:                                             ; preds = %6325
  br label %6327

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

6328:                                             ; No predecessors!
  br label %6329

6329:                                             ; preds = %6328
  br label %6330

6330:                                             ; preds = %6329, %6271
  br label %6331

6331:                                             ; preds = %6330
  br label %6332

6332:                                             ; preds = %6331
  br label %6333

6333:                                             ; preds = %6332
  %6334 = load i32, ptr @test_count, align 4, !tbaa !5
  %6335 = add nsw i32 %6334, 1
  store i32 %6335, ptr @test_count, align 4, !tbaa !5
  %6336 = load ptr, ptr %116, align 8, !tbaa !9
  %6337 = load i32, ptr %6336, align 8
  %6338 = and i32 %6337, 1
  %6339 = icmp ne i32 %6338, 0
  br i1 %6339, label %6393, label %6340

6340:                                             ; preds = %6333
  br label %6341

6341:                                             ; preds = %6340
  br label %6342

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

6349:                                             ; preds = %6342
  %6350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6351 = call i32 @fileno(ptr noundef %6350) #11
  %6352 = call i32 @isatty(i32 noundef %6351) #11
  %6353 = icmp ne i32 %6352, 0
  br i1 %6353, label %6354, label %6371

6354:                                             ; preds = %6349
  %6355 = load i32, ptr %119, align 4, !tbaa !5
  %6356 = call ptr @__errno_location() #12
  store i32 %6355, ptr %6356, align 4, !tbaa !5
  %6357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6358 = load i32, ptr @test_count, align 4, !tbaa !5
  %6359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6360 = load i32, ptr %6359, align 4, !tbaa !5
  %6361 = call ptr @s2n_strerror(i32 noundef %6360, ptr noundef @.str.4)
  %6362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6363 = load i32, ptr %6362, align 4, !tbaa !5
  %6364 = call ptr @s2n_strerror_debug(i32 noundef %6363, ptr noundef @.str.4)
  %6365 = call ptr @__errno_location() #12
  %6366 = load i32, ptr %6365, align 4, !tbaa !5
  %6367 = call ptr @strerror(i32 noundef %6366) #11
  %6368 = call ptr @__errno_location() #12
  %6369 = load i32, ptr %6368, align 4, !tbaa !5
  %6370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6357, ptr noundef @.str.2, i32 noundef %6358, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 274, ptr noundef %6361, ptr noundef %6364, ptr noundef %6367, i32 noundef %6369) #11
  br label %6388

6371:                                             ; preds = %6349, %6342
  %6372 = load i32, ptr %119, align 4, !tbaa !5
  %6373 = call ptr @__errno_location() #12
  store i32 %6372, ptr %6373, align 4, !tbaa !5
  %6374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6375 = load i32, ptr @test_count, align 4, !tbaa !5
  %6376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6377 = load i32, ptr %6376, align 4, !tbaa !5
  %6378 = call ptr @s2n_strerror(i32 noundef %6377, ptr noundef @.str.4)
  %6379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6380 = load i32, ptr %6379, align 4, !tbaa !5
  %6381 = call ptr @s2n_strerror_debug(i32 noundef %6380, ptr noundef @.str.4)
  %6382 = call ptr @__errno_location() #12
  %6383 = load i32, ptr %6382, align 4, !tbaa !5
  %6384 = call ptr @strerror(i32 noundef %6383) #11
  %6385 = call ptr @__errno_location() #12
  %6386 = load i32, ptr %6385, align 4, !tbaa !5
  %6387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6374, ptr noundef @.str.5, i32 noundef %6375, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 274, ptr noundef %6378, ptr noundef %6381, ptr noundef %6384, i32 noundef %6386) #11
  br label %6388

6388:                                             ; preds = %6371, %6354
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %6389

6389:                                             ; preds = %6388
  br label %6390

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

6391:                                             ; No predecessors!
  br label %6392

6392:                                             ; preds = %6391
  br label %6393

6393:                                             ; preds = %6392, %6333
  br label %6394

6394:                                             ; preds = %6393
  br label %6395

6395:                                             ; preds = %6394
  br label %6396

6396:                                             ; preds = %6395
  %6397 = load i32, ptr @test_count, align 4, !tbaa !5
  %6398 = add nsw i32 %6397, 1
  store i32 %6398, ptr @test_count, align 4, !tbaa !5
  %6399 = load ptr, ptr %116, align 8, !tbaa !9
  %6400 = getelementptr inbounds %struct.s2n_config, ptr %6399, i32 0, i32 36
  %6401 = load i8, ptr %6400, align 1, !tbaa !52
  %6402 = zext i8 %6401 to i32
  %6403 = icmp eq i32 %6402, 1
  br i1 %6403, label %6457, label %6404

6404:                                             ; preds = %6396
  br label %6405

6405:                                             ; preds = %6404
  br label %6406

6406:                                             ; preds = %6405
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #11
  %6407 = call ptr @__errno_location() #12
  %6408 = load i32, ptr %6407, align 4, !tbaa !5
  store i32 %6408, ptr %120, align 4, !tbaa !5
  %6409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6410 = call i32 @s2n_print_stacktrace(ptr noundef %6409)
  %6411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6412 = trunc i8 %6411 to i1
  br i1 %6412, label %6413, label %6435

6413:                                             ; preds = %6406
  %6414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6415 = call i32 @fileno(ptr noundef %6414) #11
  %6416 = call i32 @isatty(i32 noundef %6415) #11
  %6417 = icmp ne i32 %6416, 0
  br i1 %6417, label %6418, label %6435

6418:                                             ; preds = %6413
  %6419 = load i32, ptr %120, align 4, !tbaa !5
  %6420 = call ptr @__errno_location() #12
  store i32 %6419, ptr %6420, align 4, !tbaa !5
  %6421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6422 = load i32, ptr @test_count, align 4, !tbaa !5
  %6423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6424 = load i32, ptr %6423, align 4, !tbaa !5
  %6425 = call ptr @s2n_strerror(i32 noundef %6424, ptr noundef @.str.4)
  %6426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6427 = load i32, ptr %6426, align 4, !tbaa !5
  %6428 = call ptr @s2n_strerror_debug(i32 noundef %6427, ptr noundef @.str.4)
  %6429 = call ptr @__errno_location() #12
  %6430 = load i32, ptr %6429, align 4, !tbaa !5
  %6431 = call ptr @strerror(i32 noundef %6430) #11
  %6432 = call ptr @__errno_location() #12
  %6433 = load i32, ptr %6432, align 4, !tbaa !5
  %6434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6421, ptr noundef @.str.2, i32 noundef %6422, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 275, ptr noundef %6425, ptr noundef %6428, ptr noundef %6431, i32 noundef %6433) #11
  br label %6452

6435:                                             ; preds = %6413, %6406
  %6436 = load i32, ptr %120, align 4, !tbaa !5
  %6437 = call ptr @__errno_location() #12
  store i32 %6436, ptr %6437, align 4, !tbaa !5
  %6438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6439 = load i32, ptr @test_count, align 4, !tbaa !5
  %6440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6441 = load i32, ptr %6440, align 4, !tbaa !5
  %6442 = call ptr @s2n_strerror(i32 noundef %6441, ptr noundef @.str.4)
  %6443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6444 = load i32, ptr %6443, align 4, !tbaa !5
  %6445 = call ptr @s2n_strerror_debug(i32 noundef %6444, ptr noundef @.str.4)
  %6446 = call ptr @__errno_location() #12
  %6447 = load i32, ptr %6446, align 4, !tbaa !5
  %6448 = call ptr @strerror(i32 noundef %6447) #11
  %6449 = call ptr @__errno_location() #12
  %6450 = load i32, ptr %6449, align 4, !tbaa !5
  %6451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6438, ptr noundef @.str.5, i32 noundef %6439, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 275, ptr noundef %6442, ptr noundef %6445, ptr noundef %6448, i32 noundef %6450) #11
  br label %6452

6452:                                             ; preds = %6435, %6418
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  br label %6453

6453:                                             ; preds = %6452
  br label %6454

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

6455:                                             ; No predecessors!
  br label %6456

6456:                                             ; preds = %6455
  br label %6457

6457:                                             ; preds = %6456, %6396
  br label %6458

6458:                                             ; preds = %6457
  br label %6459

6459:                                             ; preds = %6458
  br label %6460

6460:                                             ; preds = %6459
  %6461 = load i32, ptr @test_count, align 4, !tbaa !5
  %6462 = add nsw i32 %6461, 1
  store i32 %6462, ptr @test_count, align 4, !tbaa !5
  %6463 = load ptr, ptr %116, align 8, !tbaa !9
  %6464 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %6463, i8 noundef zeroext 0)
  %6465 = icmp eq i32 %6464, -1
  br i1 %6465, label %6466, label %6519

6466:                                             ; preds = %6460
  br label %6467

6467:                                             ; preds = %6466
  br label %6468

6468:                                             ; preds = %6467
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #11
  %6469 = call ptr @__errno_location() #12
  %6470 = load i32, ptr %6469, align 4, !tbaa !5
  store i32 %6470, ptr %121, align 4, !tbaa !5
  %6471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6472 = call i32 @s2n_print_stacktrace(ptr noundef %6471)
  %6473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6474 = trunc i8 %6473 to i1
  br i1 %6474, label %6475, label %6497

6475:                                             ; preds = %6468
  %6476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6477 = call i32 @fileno(ptr noundef %6476) #11
  %6478 = call i32 @isatty(i32 noundef %6477) #11
  %6479 = icmp ne i32 %6478, 0
  br i1 %6479, label %6480, label %6497

6480:                                             ; preds = %6475
  %6481 = load i32, ptr %121, align 4, !tbaa !5
  %6482 = call ptr @__errno_location() #12
  store i32 %6481, ptr %6482, align 4, !tbaa !5
  %6483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6484 = load i32, ptr @test_count, align 4, !tbaa !5
  %6485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6486 = load i32, ptr %6485, align 4, !tbaa !5
  %6487 = call ptr @s2n_strerror(i32 noundef %6486, ptr noundef @.str.4)
  %6488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6489 = load i32, ptr %6488, align 4, !tbaa !5
  %6490 = call ptr @s2n_strerror_debug(i32 noundef %6489, ptr noundef @.str.4)
  %6491 = call ptr @__errno_location() #12
  %6492 = load i32, ptr %6491, align 4, !tbaa !5
  %6493 = call ptr @strerror(i32 noundef %6492) #11
  %6494 = call ptr @__errno_location() #12
  %6495 = load i32, ptr %6494, align 4, !tbaa !5
  %6496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6483, ptr noundef @.str.2, i32 noundef %6484, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 277, ptr noundef %6487, ptr noundef %6490, ptr noundef %6493, i32 noundef %6495) #11
  br label %6514

6497:                                             ; preds = %6475, %6468
  %6498 = load i32, ptr %121, align 4, !tbaa !5
  %6499 = call ptr @__errno_location() #12
  store i32 %6498, ptr %6499, align 4, !tbaa !5
  %6500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6501 = load i32, ptr @test_count, align 4, !tbaa !5
  %6502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6503 = load i32, ptr %6502, align 4, !tbaa !5
  %6504 = call ptr @s2n_strerror(i32 noundef %6503, ptr noundef @.str.4)
  %6505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6506 = load i32, ptr %6505, align 4, !tbaa !5
  %6507 = call ptr @s2n_strerror_debug(i32 noundef %6506, ptr noundef @.str.4)
  %6508 = call ptr @__errno_location() #12
  %6509 = load i32, ptr %6508, align 4, !tbaa !5
  %6510 = call ptr @strerror(i32 noundef %6509) #11
  %6511 = call ptr @__errno_location() #12
  %6512 = load i32, ptr %6511, align 4, !tbaa !5
  %6513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6500, ptr noundef @.str.5, i32 noundef %6501, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 277, ptr noundef %6504, ptr noundef %6507, ptr noundef %6510, i32 noundef %6512) #11
  br label %6514

6514:                                             ; preds = %6497, %6480
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %6515

6515:                                             ; preds = %6514
  br label %6516

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

6517:                                             ; No predecessors!
  br label %6518

6518:                                             ; preds = %6517
  br label %6519

6519:                                             ; preds = %6518, %6460
  br label %6520

6520:                                             ; preds = %6519
  br label %6521

6521:                                             ; preds = %6520
  br label %6522

6522:                                             ; preds = %6521
  %6523 = load i32, ptr @test_count, align 4, !tbaa !5
  %6524 = add nsw i32 %6523, 1
  store i32 %6524, ptr @test_count, align 4, !tbaa !5
  %6525 = load ptr, ptr %116, align 8, !tbaa !9
  %6526 = load i32, ptr %6525, align 8
  %6527 = and i32 %6526, 1
  %6528 = icmp ne i32 %6527, 0
  br i1 %6528, label %6529, label %6582

6529:                                             ; preds = %6522
  br label %6530

6530:                                             ; preds = %6529
  br label %6531

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

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

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

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

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

6578:                                             ; preds = %6577
  br label %6579

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

6580:                                             ; No predecessors!
  br label %6581

6581:                                             ; preds = %6580
  br label %6582

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

6583:                                             ; preds = %6582
  br label %6584

6584:                                             ; preds = %6583
  br label %6585

6585:                                             ; preds = %6584
  %6586 = load i32, ptr @test_count, align 4, !tbaa !5
  %6587 = add nsw i32 %6586, 1
  store i32 %6587, ptr @test_count, align 4, !tbaa !5
  %6588 = load ptr, ptr %116, align 8, !tbaa !9
  %6589 = getelementptr inbounds %struct.s2n_config, ptr %6588, i32 0, i32 36
  %6590 = load i8, ptr %6589, align 1, !tbaa !52
  %6591 = zext i8 %6590 to i32
  %6592 = icmp eq i32 %6591, 1
  br i1 %6592, label %6646, label %6593

6593:                                             ; preds = %6585
  br label %6594

6594:                                             ; preds = %6593
  br label %6595

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

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

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

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

6641:                                             ; preds = %6624, %6607
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %6642

6642:                                             ; preds = %6641
  br label %6643

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

6644:                                             ; No predecessors!
  br label %6645

6645:                                             ; preds = %6644
  br label %6646

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

6647:                                             ; preds = %6646
  br label %6648

6648:                                             ; preds = %6647
  %6649 = load ptr, ptr %116, align 8, !tbaa !9
  %6650 = getelementptr inbounds %struct.s2n_config, ptr %6649, i32 0, i32 36
  store i8 10, ptr %6650, align 1, !tbaa !52
  br label %6651

6651:                                             ; preds = %6648
  %6652 = load i32, ptr @test_count, align 4, !tbaa !5
  %6653 = add nsw i32 %6652, 1
  store i32 %6653, ptr @test_count, align 4, !tbaa !5
  %6654 = load ptr, ptr %116, align 8, !tbaa !9
  %6655 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %6654, i8 noundef zeroext 1)
  %6656 = icmp eq i32 %6655, -1
  br i1 %6656, label %6657, label %6710

6657:                                             ; preds = %6651
  br label %6658

6658:                                             ; preds = %6657
  br label %6659

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

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

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

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

6705:                                             ; preds = %6688, %6671
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %6706

6706:                                             ; preds = %6705
  br label %6707

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

6708:                                             ; No predecessors!
  br label %6709

6709:                                             ; preds = %6708
  br label %6710

6710:                                             ; preds = %6709, %6651
  br label %6711

6711:                                             ; preds = %6710
  br label %6712

6712:                                             ; preds = %6711
  br label %6713

6713:                                             ; preds = %6712
  %6714 = load i32, ptr @test_count, align 4, !tbaa !5
  %6715 = add nsw i32 %6714, 1
  store i32 %6715, ptr @test_count, align 4, !tbaa !5
  %6716 = load ptr, ptr %116, align 8, !tbaa !9
  %6717 = load i32, ptr %6716, align 8
  %6718 = and i32 %6717, 1
  %6719 = icmp ne i32 %6718, 0
  br i1 %6719, label %6773, label %6720

6720:                                             ; preds = %6713
  br label %6721

6721:                                             ; preds = %6720
  br label %6722

6722:                                             ; preds = %6721
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #11
  %6723 = call ptr @__errno_location() #12
  %6724 = load i32, ptr %6723, align 4, !tbaa !5
  store i32 %6724, ptr %125, align 4, !tbaa !5
  %6725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6726 = call i32 @s2n_print_stacktrace(ptr noundef %6725)
  %6727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6728 = trunc i8 %6727 to i1
  br i1 %6728, label %6729, label %6751

6729:                                             ; preds = %6722
  %6730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6731 = call i32 @fileno(ptr noundef %6730) #11
  %6732 = call i32 @isatty(i32 noundef %6731) #11
  %6733 = icmp ne i32 %6732, 0
  br i1 %6733, label %6734, label %6751

6734:                                             ; preds = %6729
  %6735 = load i32, ptr %125, align 4, !tbaa !5
  %6736 = call ptr @__errno_location() #12
  store i32 %6735, ptr %6736, align 4, !tbaa !5
  %6737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6738 = load i32, ptr @test_count, align 4, !tbaa !5
  %6739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6740 = load i32, ptr %6739, align 4, !tbaa !5
  %6741 = call ptr @s2n_strerror(i32 noundef %6740, ptr noundef @.str.4)
  %6742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6743 = load i32, ptr %6742, align 4, !tbaa !5
  %6744 = call ptr @s2n_strerror_debug(i32 noundef %6743, ptr noundef @.str.4)
  %6745 = call ptr @__errno_location() #12
  %6746 = load i32, ptr %6745, align 4, !tbaa !5
  %6747 = call ptr @strerror(i32 noundef %6746) #11
  %6748 = call ptr @__errno_location() #12
  %6749 = load i32, ptr %6748, align 4, !tbaa !5
  %6750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6737, ptr noundef @.str.2, i32 noundef %6738, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 283, ptr noundef %6741, ptr noundef %6744, ptr noundef %6747, i32 noundef %6749) #11
  br label %6768

6751:                                             ; preds = %6729, %6722
  %6752 = load i32, ptr %125, align 4, !tbaa !5
  %6753 = call ptr @__errno_location() #12
  store i32 %6752, ptr %6753, align 4, !tbaa !5
  %6754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6755 = load i32, ptr @test_count, align 4, !tbaa !5
  %6756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6757 = load i32, ptr %6756, align 4, !tbaa !5
  %6758 = call ptr @s2n_strerror(i32 noundef %6757, ptr noundef @.str.4)
  %6759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6760 = load i32, ptr %6759, align 4, !tbaa !5
  %6761 = call ptr @s2n_strerror_debug(i32 noundef %6760, ptr noundef @.str.4)
  %6762 = call ptr @__errno_location() #12
  %6763 = load i32, ptr %6762, align 4, !tbaa !5
  %6764 = call ptr @strerror(i32 noundef %6763) #11
  %6765 = call ptr @__errno_location() #12
  %6766 = load i32, ptr %6765, align 4, !tbaa !5
  %6767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6754, ptr noundef @.str.5, i32 noundef %6755, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 283, ptr noundef %6758, ptr noundef %6761, ptr noundef %6764, i32 noundef %6766) #11
  br label %6768

6768:                                             ; preds = %6751, %6734
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %6769

6769:                                             ; preds = %6768
  br label %6770

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

6771:                                             ; No predecessors!
  br label %6772

6772:                                             ; preds = %6771
  br label %6773

6773:                                             ; preds = %6772, %6713
  br label %6774

6774:                                             ; preds = %6773
  br label %6775

6775:                                             ; preds = %6774
  br label %6776

6776:                                             ; preds = %6775
  %6777 = load i32, ptr @test_count, align 4, !tbaa !5
  %6778 = add nsw i32 %6777, 1
  store i32 %6778, ptr @test_count, align 4, !tbaa !5
  %6779 = load ptr, ptr %116, align 8, !tbaa !9
  %6780 = getelementptr inbounds %struct.s2n_config, ptr %6779, i32 0, i32 36
  %6781 = load i8, ptr %6780, align 1, !tbaa !52
  %6782 = zext i8 %6781 to i32
  %6783 = icmp eq i32 %6782, 10
  br i1 %6783, label %6837, label %6784

6784:                                             ; preds = %6776
  br label %6785

6785:                                             ; preds = %6784
  br label %6786

6786:                                             ; preds = %6785
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  %6787 = call ptr @__errno_location() #12
  %6788 = load i32, ptr %6787, align 4, !tbaa !5
  store i32 %6788, ptr %126, align 4, !tbaa !5
  %6789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6790 = call i32 @s2n_print_stacktrace(ptr noundef %6789)
  %6791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6792 = trunc i8 %6791 to i1
  br i1 %6792, label %6793, label %6815

6793:                                             ; preds = %6786
  %6794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6795 = call i32 @fileno(ptr noundef %6794) #11
  %6796 = call i32 @isatty(i32 noundef %6795) #11
  %6797 = icmp ne i32 %6796, 0
  br i1 %6797, label %6798, label %6815

6798:                                             ; preds = %6793
  %6799 = load i32, ptr %126, align 4, !tbaa !5
  %6800 = call ptr @__errno_location() #12
  store i32 %6799, ptr %6800, align 4, !tbaa !5
  %6801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6802 = load i32, ptr @test_count, align 4, !tbaa !5
  %6803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6804 = load i32, ptr %6803, align 4, !tbaa !5
  %6805 = call ptr @s2n_strerror(i32 noundef %6804, ptr noundef @.str.4)
  %6806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6807 = load i32, ptr %6806, align 4, !tbaa !5
  %6808 = call ptr @s2n_strerror_debug(i32 noundef %6807, ptr noundef @.str.4)
  %6809 = call ptr @__errno_location() #12
  %6810 = load i32, ptr %6809, align 4, !tbaa !5
  %6811 = call ptr @strerror(i32 noundef %6810) #11
  %6812 = call ptr @__errno_location() #12
  %6813 = load i32, ptr %6812, align 4, !tbaa !5
  %6814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6801, ptr noundef @.str.2, i32 noundef %6802, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 284, ptr noundef %6805, ptr noundef %6808, ptr noundef %6811, i32 noundef %6813) #11
  br label %6832

6815:                                             ; preds = %6793, %6786
  %6816 = load i32, ptr %126, align 4, !tbaa !5
  %6817 = call ptr @__errno_location() #12
  store i32 %6816, ptr %6817, align 4, !tbaa !5
  %6818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6819 = load i32, ptr @test_count, align 4, !tbaa !5
  %6820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6821 = load i32, ptr %6820, align 4, !tbaa !5
  %6822 = call ptr @s2n_strerror(i32 noundef %6821, ptr noundef @.str.4)
  %6823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6824 = load i32, ptr %6823, align 4, !tbaa !5
  %6825 = call ptr @s2n_strerror_debug(i32 noundef %6824, ptr noundef @.str.4)
  %6826 = call ptr @__errno_location() #12
  %6827 = load i32, ptr %6826, align 4, !tbaa !5
  %6828 = call ptr @strerror(i32 noundef %6827) #11
  %6829 = call ptr @__errno_location() #12
  %6830 = load i32, ptr %6829, align 4, !tbaa !5
  %6831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6818, ptr noundef @.str.5, i32 noundef %6819, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 284, ptr noundef %6822, ptr noundef %6825, ptr noundef %6828, i32 noundef %6830) #11
  br label %6832

6832:                                             ; preds = %6815, %6798
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %6833

6833:                                             ; preds = %6832
  br label %6834

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

6835:                                             ; No predecessors!
  br label %6836

6836:                                             ; preds = %6835
  br label %6837

6837:                                             ; preds = %6836, %6776
  br label %6838

6838:                                             ; preds = %6837
  br label %6839

6839:                                             ; preds = %6838
  br label %6840

6840:                                             ; preds = %6839
  %6841 = load i32, ptr @test_count, align 4, !tbaa !5
  %6842 = add nsw i32 %6841, 1
  store i32 %6842, ptr @test_count, align 4, !tbaa !5
  %6843 = load ptr, ptr %116, align 8, !tbaa !9
  %6844 = call i32 @s2n_config_free(ptr noundef %6843)
  %6845 = icmp eq i32 %6844, -1
  br i1 %6845, label %6846, label %6899

6846:                                             ; preds = %6840
  br label %6847

6847:                                             ; preds = %6846
  br label %6848

6848:                                             ; preds = %6847
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #11
  %6849 = call ptr @__errno_location() #12
  %6850 = load i32, ptr %6849, align 4, !tbaa !5
  store i32 %6850, ptr %127, align 4, !tbaa !5
  %6851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6852 = call i32 @s2n_print_stacktrace(ptr noundef %6851)
  %6853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6854 = trunc i8 %6853 to i1
  br i1 %6854, label %6855, label %6877

6855:                                             ; preds = %6848
  %6856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6857 = call i32 @fileno(ptr noundef %6856) #11
  %6858 = call i32 @isatty(i32 noundef %6857) #11
  %6859 = icmp ne i32 %6858, 0
  br i1 %6859, label %6860, label %6877

6860:                                             ; preds = %6855
  %6861 = load i32, ptr %127, align 4, !tbaa !5
  %6862 = call ptr @__errno_location() #12
  store i32 %6861, ptr %6862, align 4, !tbaa !5
  %6863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6864 = load i32, ptr @test_count, align 4, !tbaa !5
  %6865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6866 = load i32, ptr %6865, align 4, !tbaa !5
  %6867 = call ptr @s2n_strerror(i32 noundef %6866, ptr noundef @.str.4)
  %6868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6869 = load i32, ptr %6868, align 4, !tbaa !5
  %6870 = call ptr @s2n_strerror_debug(i32 noundef %6869, ptr noundef @.str.4)
  %6871 = call ptr @__errno_location() #12
  %6872 = load i32, ptr %6871, align 4, !tbaa !5
  %6873 = call ptr @strerror(i32 noundef %6872) #11
  %6874 = call ptr @__errno_location() #12
  %6875 = load i32, ptr %6874, align 4, !tbaa !5
  %6876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6863, ptr noundef @.str.2, i32 noundef %6864, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 286, ptr noundef %6867, ptr noundef %6870, ptr noundef %6873, i32 noundef %6875) #11
  br label %6894

6877:                                             ; preds = %6855, %6848
  %6878 = load i32, ptr %127, align 4, !tbaa !5
  %6879 = call ptr @__errno_location() #12
  store i32 %6878, ptr %6879, align 4, !tbaa !5
  %6880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6881 = load i32, ptr @test_count, align 4, !tbaa !5
  %6882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6883 = load i32, ptr %6882, align 4, !tbaa !5
  %6884 = call ptr @s2n_strerror(i32 noundef %6883, ptr noundef @.str.4)
  %6885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6886 = load i32, ptr %6885, align 4, !tbaa !5
  %6887 = call ptr @s2n_strerror_debug(i32 noundef %6886, ptr noundef @.str.4)
  %6888 = call ptr @__errno_location() #12
  %6889 = load i32, ptr %6888, align 4, !tbaa !5
  %6890 = call ptr @strerror(i32 noundef %6889) #11
  %6891 = call ptr @__errno_location() #12
  %6892 = load i32, ptr %6891, align 4, !tbaa !5
  %6893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6880, ptr noundef @.str.5, i32 noundef %6881, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 286, ptr noundef %6884, ptr noundef %6887, ptr noundef %6890, i32 noundef %6892) #11
  br label %6894

6894:                                             ; preds = %6877, %6860
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  br label %6895

6895:                                             ; preds = %6894
  br label %6896

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

6897:                                             ; No predecessors!
  br label %6898

6898:                                             ; preds = %6897
  br label %6899

6899:                                             ; preds = %6898, %6840
  br label %6900

6900:                                             ; preds = %6899
  br label %6901

6901:                                             ; preds = %6900
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %128) #11
  store i8 42, ptr %128, align 1, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 1, ptr %129) #11
  store i8 123, ptr %129, align 1, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #11
  store ptr null, ptr %130, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %131) #11
  %6902 = call ptr @s2n_config_new()
  store ptr %6902, ptr %131, align 8, !tbaa !9
  br label %6903

6903:                                             ; preds = %6901
  %6904 = load i32, ptr @test_count, align 4, !tbaa !5
  %6905 = add nsw i32 %6904, 1
  store i32 %6905, ptr @test_count, align 4, !tbaa !5
  %6906 = load ptr, ptr %131, align 8, !tbaa !9
  %6907 = icmp eq ptr %6906, null
  br i1 %6907, label %6908, label %6961

6908:                                             ; preds = %6903
  br label %6909

6909:                                             ; preds = %6908
  br label %6910

6910:                                             ; preds = %6909
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %6911 = call ptr @__errno_location() #12
  %6912 = load i32, ptr %6911, align 4, !tbaa !5
  store i32 %6912, ptr %132, align 4, !tbaa !5
  %6913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6914 = call i32 @s2n_print_stacktrace(ptr noundef %6913)
  %6915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6916 = trunc i8 %6915 to i1
  br i1 %6916, label %6917, label %6939

6917:                                             ; preds = %6910
  %6918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6919 = call i32 @fileno(ptr noundef %6918) #11
  %6920 = call i32 @isatty(i32 noundef %6919) #11
  %6921 = icmp ne i32 %6920, 0
  br i1 %6921, label %6922, label %6939

6922:                                             ; preds = %6917
  %6923 = load i32, ptr %132, align 4, !tbaa !5
  %6924 = call ptr @__errno_location() #12
  store i32 %6923, ptr %6924, align 4, !tbaa !5
  %6925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6926 = load i32, ptr @test_count, align 4, !tbaa !5
  %6927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6928 = load i32, ptr %6927, align 4, !tbaa !5
  %6929 = call ptr @s2n_strerror(i32 noundef %6928, ptr noundef @.str.4)
  %6930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6931 = load i32, ptr %6930, align 4, !tbaa !5
  %6932 = call ptr @s2n_strerror_debug(i32 noundef %6931, ptr noundef @.str.4)
  %6933 = call ptr @__errno_location() #12
  %6934 = load i32, ptr %6933, align 4, !tbaa !5
  %6935 = call ptr @strerror(i32 noundef %6934) #11
  %6936 = call ptr @__errno_location() #12
  %6937 = load i32, ptr %6936, align 4, !tbaa !5
  %6938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6925, ptr noundef @.str.2, i32 noundef %6926, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 297, ptr noundef %6929, ptr noundef %6932, ptr noundef %6935, i32 noundef %6937) #11
  br label %6956

6939:                                             ; preds = %6917, %6910
  %6940 = load i32, ptr %132, align 4, !tbaa !5
  %6941 = call ptr @__errno_location() #12
  store i32 %6940, ptr %6941, align 4, !tbaa !5
  %6942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6943 = load i32, ptr @test_count, align 4, !tbaa !5
  %6944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6945 = load i32, ptr %6944, align 4, !tbaa !5
  %6946 = call ptr @s2n_strerror(i32 noundef %6945, ptr noundef @.str.4)
  %6947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6948 = load i32, ptr %6947, align 4, !tbaa !5
  %6949 = call ptr @s2n_strerror_debug(i32 noundef %6948, ptr noundef @.str.4)
  %6950 = call ptr @__errno_location() #12
  %6951 = load i32, ptr %6950, align 4, !tbaa !5
  %6952 = call ptr @strerror(i32 noundef %6951) #11
  %6953 = call ptr @__errno_location() #12
  %6954 = load i32, ptr %6953, align 4, !tbaa !5
  %6955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6942, ptr noundef @.str.5, i32 noundef %6943, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 297, ptr noundef %6946, ptr noundef %6949, ptr noundef %6952, i32 noundef %6954) #11
  br label %6956

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

6957:                                             ; preds = %6956
  br label %6958

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

6959:                                             ; No predecessors!
  br label %6960

6960:                                             ; preds = %6959
  br label %6961

6961:                                             ; preds = %6960, %6903
  br label %6962

6962:                                             ; preds = %6961
  br label %6963

6963:                                             ; preds = %6962
  br label %6964

6964:                                             ; preds = %6963
  %6965 = load i32, ptr @test_count, align 4, !tbaa !5
  %6966 = add nsw i32 %6965, 1
  store i32 %6966, ptr @test_count, align 4, !tbaa !5
  %6967 = load ptr, ptr %131, align 8, !tbaa !9
  %6968 = call i32 @s2n_config_get_ctx(ptr noundef %6967, ptr noundef %130)
  %6969 = icmp eq i32 %6968, -1
  br i1 %6969, label %6970, label %7023

6970:                                             ; preds = %6964
  br label %6971

6971:                                             ; preds = %6970
  br label %6972

6972:                                             ; preds = %6971
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %6973 = call ptr @__errno_location() #12
  %6974 = load i32, ptr %6973, align 4, !tbaa !5
  store i32 %6974, ptr %133, align 4, !tbaa !5
  %6975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6976 = call i32 @s2n_print_stacktrace(ptr noundef %6975)
  %6977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6978 = trunc i8 %6977 to i1
  br i1 %6978, label %6979, label %7001

6979:                                             ; preds = %6972
  %6980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6981 = call i32 @fileno(ptr noundef %6980) #11
  %6982 = call i32 @isatty(i32 noundef %6981) #11
  %6983 = icmp ne i32 %6982, 0
  br i1 %6983, label %6984, label %7001

6984:                                             ; preds = %6979
  %6985 = load i32, ptr %133, align 4, !tbaa !5
  %6986 = call ptr @__errno_location() #12
  store i32 %6985, ptr %6986, align 4, !tbaa !5
  %6987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6988 = load i32, ptr @test_count, align 4, !tbaa !5
  %6989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6990 = load i32, ptr %6989, align 4, !tbaa !5
  %6991 = call ptr @s2n_strerror(i32 noundef %6990, ptr noundef @.str.4)
  %6992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6993 = load i32, ptr %6992, align 4, !tbaa !5
  %6994 = call ptr @s2n_strerror_debug(i32 noundef %6993, ptr noundef @.str.4)
  %6995 = call ptr @__errno_location() #12
  %6996 = load i32, ptr %6995, align 4, !tbaa !5
  %6997 = call ptr @strerror(i32 noundef %6996) #11
  %6998 = call ptr @__errno_location() #12
  %6999 = load i32, ptr %6998, align 4, !tbaa !5
  %7000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6987, ptr noundef @.str.2, i32 noundef %6988, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 299, ptr noundef %6991, ptr noundef %6994, ptr noundef %6997, i32 noundef %6999) #11
  br label %7018

7001:                                             ; preds = %6979, %6972
  %7002 = load i32, ptr %133, align 4, !tbaa !5
  %7003 = call ptr @__errno_location() #12
  store i32 %7002, ptr %7003, align 4, !tbaa !5
  %7004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7005 = load i32, ptr @test_count, align 4, !tbaa !5
  %7006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7007 = load i32, ptr %7006, align 4, !tbaa !5
  %7008 = call ptr @s2n_strerror(i32 noundef %7007, ptr noundef @.str.4)
  %7009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7010 = load i32, ptr %7009, align 4, !tbaa !5
  %7011 = call ptr @s2n_strerror_debug(i32 noundef %7010, ptr noundef @.str.4)
  %7012 = call ptr @__errno_location() #12
  %7013 = load i32, ptr %7012, align 4, !tbaa !5
  %7014 = call ptr @strerror(i32 noundef %7013) #11
  %7015 = call ptr @__errno_location() #12
  %7016 = load i32, ptr %7015, align 4, !tbaa !5
  %7017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7004, ptr noundef @.str.5, i32 noundef %7005, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7008, ptr noundef %7011, ptr noundef %7014, i32 noundef %7016) #11
  br label %7018

7018:                                             ; preds = %7001, %6984
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %7019

7019:                                             ; preds = %7018
  br label %7020

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

7021:                                             ; No predecessors!
  br label %7022

7022:                                             ; preds = %7021
  br label %7023

7023:                                             ; preds = %7022, %6964
  br label %7024

7024:                                             ; preds = %7023
  br label %7025

7025:                                             ; preds = %7024
  br label %7026

7026:                                             ; preds = %7025
  %7027 = load i32, ptr @test_count, align 4, !tbaa !5
  %7028 = add nsw i32 %7027, 1
  store i32 %7028, ptr @test_count, align 4, !tbaa !5
  %7029 = load ptr, ptr %130, align 8, !tbaa !9
  %7030 = icmp eq ptr %7029, null
  br i1 %7030, label %7084, label %7031

7031:                                             ; preds = %7026
  br label %7032

7032:                                             ; preds = %7031
  br label %7033

7033:                                             ; preds = %7032
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #11
  %7034 = call ptr @__errno_location() #12
  %7035 = load i32, ptr %7034, align 4, !tbaa !5
  store i32 %7035, ptr %134, align 4, !tbaa !5
  %7036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7037 = call i32 @s2n_print_stacktrace(ptr noundef %7036)
  %7038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7039 = trunc i8 %7038 to i1
  br i1 %7039, label %7040, label %7062

7040:                                             ; preds = %7033
  %7041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7042 = call i32 @fileno(ptr noundef %7041) #11
  %7043 = call i32 @isatty(i32 noundef %7042) #11
  %7044 = icmp ne i32 %7043, 0
  br i1 %7044, label %7045, label %7062

7045:                                             ; preds = %7040
  %7046 = load i32, ptr %134, align 4, !tbaa !5
  %7047 = call ptr @__errno_location() #12
  store i32 %7046, ptr %7047, align 4, !tbaa !5
  %7048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7049 = load i32, ptr @test_count, align 4, !tbaa !5
  %7050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7051 = load i32, ptr %7050, align 4, !tbaa !5
  %7052 = call ptr @s2n_strerror(i32 noundef %7051, ptr noundef @.str.4)
  %7053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7054 = load i32, ptr %7053, align 4, !tbaa !5
  %7055 = call ptr @s2n_strerror_debug(i32 noundef %7054, ptr noundef @.str.4)
  %7056 = call ptr @__errno_location() #12
  %7057 = load i32, ptr %7056, align 4, !tbaa !5
  %7058 = call ptr @strerror(i32 noundef %7057) #11
  %7059 = call ptr @__errno_location() #12
  %7060 = load i32, ptr %7059, align 4, !tbaa !5
  %7061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7048, ptr noundef @.str.2, i32 noundef %7049, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 300, ptr noundef %7052, ptr noundef %7055, ptr noundef %7058, i32 noundef %7060) #11
  br label %7079

7062:                                             ; preds = %7040, %7033
  %7063 = load i32, ptr %134, align 4, !tbaa !5
  %7064 = call ptr @__errno_location() #12
  store i32 %7063, ptr %7064, align 4, !tbaa !5
  %7065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7066 = load i32, ptr @test_count, align 4, !tbaa !5
  %7067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7068 = load i32, ptr %7067, align 4, !tbaa !5
  %7069 = call ptr @s2n_strerror(i32 noundef %7068, ptr noundef @.str.4)
  %7070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7071 = load i32, ptr %7070, align 4, !tbaa !5
  %7072 = call ptr @s2n_strerror_debug(i32 noundef %7071, ptr noundef @.str.4)
  %7073 = call ptr @__errno_location() #12
  %7074 = load i32, ptr %7073, align 4, !tbaa !5
  %7075 = call ptr @strerror(i32 noundef %7074) #11
  %7076 = call ptr @__errno_location() #12
  %7077 = load i32, ptr %7076, align 4, !tbaa !5
  %7078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7065, ptr noundef @.str.5, i32 noundef %7066, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 300, ptr noundef %7069, ptr noundef %7072, ptr noundef %7075, i32 noundef %7077) #11
  br label %7079

7079:                                             ; preds = %7062, %7045
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %7080

7080:                                             ; preds = %7079
  br label %7081

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

7082:                                             ; No predecessors!
  br label %7083

7083:                                             ; preds = %7082
  br label %7084

7084:                                             ; preds = %7083, %7026
  br label %7085

7085:                                             ; preds = %7084
  br label %7086

7086:                                             ; preds = %7085
  br label %7087

7087:                                             ; preds = %7086
  %7088 = load i32, ptr @test_count, align 4, !tbaa !5
  %7089 = add nsw i32 %7088, 1
  store i32 %7089, ptr @test_count, align 4, !tbaa !5
  %7090 = load ptr, ptr %131, align 8, !tbaa !9
  %7091 = call i32 @s2n_config_set_ctx(ptr noundef %7090, ptr noundef %128)
  %7092 = icmp eq i32 %7091, -1
  br i1 %7092, label %7093, label %7146

7093:                                             ; preds = %7087
  br label %7094

7094:                                             ; preds = %7093
  br label %7095

7095:                                             ; preds = %7094
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %7096 = call ptr @__errno_location() #12
  %7097 = load i32, ptr %7096, align 4, !tbaa !5
  store i32 %7097, ptr %135, align 4, !tbaa !5
  %7098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7099 = call i32 @s2n_print_stacktrace(ptr noundef %7098)
  %7100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7101 = trunc i8 %7100 to i1
  br i1 %7101, label %7102, label %7124

7102:                                             ; preds = %7095
  %7103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7104 = call i32 @fileno(ptr noundef %7103) #11
  %7105 = call i32 @isatty(i32 noundef %7104) #11
  %7106 = icmp ne i32 %7105, 0
  br i1 %7106, label %7107, label %7124

7107:                                             ; preds = %7102
  %7108 = load i32, ptr %135, align 4, !tbaa !5
  %7109 = call ptr @__errno_location() #12
  store i32 %7108, ptr %7109, align 4, !tbaa !5
  %7110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7111 = load i32, ptr @test_count, align 4, !tbaa !5
  %7112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7113 = load i32, ptr %7112, align 4, !tbaa !5
  %7114 = call ptr @s2n_strerror(i32 noundef %7113, ptr noundef @.str.4)
  %7115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7116 = load i32, ptr %7115, align 4, !tbaa !5
  %7117 = call ptr @s2n_strerror_debug(i32 noundef %7116, ptr noundef @.str.4)
  %7118 = call ptr @__errno_location() #12
  %7119 = load i32, ptr %7118, align 4, !tbaa !5
  %7120 = call ptr @strerror(i32 noundef %7119) #11
  %7121 = call ptr @__errno_location() #12
  %7122 = load i32, ptr %7121, align 4, !tbaa !5
  %7123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7110, ptr noundef @.str.2, i32 noundef %7111, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 302, ptr noundef %7114, ptr noundef %7117, ptr noundef %7120, i32 noundef %7122) #11
  br label %7141

7124:                                             ; preds = %7102, %7095
  %7125 = load i32, ptr %135, align 4, !tbaa !5
  %7126 = call ptr @__errno_location() #12
  store i32 %7125, ptr %7126, align 4, !tbaa !5
  %7127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7128 = load i32, ptr @test_count, align 4, !tbaa !5
  %7129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7130 = load i32, ptr %7129, align 4, !tbaa !5
  %7131 = call ptr @s2n_strerror(i32 noundef %7130, ptr noundef @.str.4)
  %7132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7133 = load i32, ptr %7132, align 4, !tbaa !5
  %7134 = call ptr @s2n_strerror_debug(i32 noundef %7133, ptr noundef @.str.4)
  %7135 = call ptr @__errno_location() #12
  %7136 = load i32, ptr %7135, align 4, !tbaa !5
  %7137 = call ptr @strerror(i32 noundef %7136) #11
  %7138 = call ptr @__errno_location() #12
  %7139 = load i32, ptr %7138, align 4, !tbaa !5
  %7140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7127, ptr noundef @.str.5, i32 noundef %7128, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 302, ptr noundef %7131, ptr noundef %7134, ptr noundef %7137, i32 noundef %7139) #11
  br label %7141

7141:                                             ; preds = %7124, %7107
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %7142

7142:                                             ; preds = %7141
  br label %7143

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

7144:                                             ; No predecessors!
  br label %7145

7145:                                             ; preds = %7144
  br label %7146

7146:                                             ; preds = %7145, %7087
  br label %7147

7147:                                             ; preds = %7146
  br label %7148

7148:                                             ; preds = %7147
  br label %7149

7149:                                             ; preds = %7148
  %7150 = load i32, ptr @test_count, align 4, !tbaa !5
  %7151 = add nsw i32 %7150, 1
  store i32 %7151, ptr @test_count, align 4, !tbaa !5
  %7152 = load ptr, ptr %131, align 8, !tbaa !9
  %7153 = call i32 @s2n_config_get_ctx(ptr noundef %7152, ptr noundef %130)
  %7154 = icmp eq i32 %7153, -1
  br i1 %7154, label %7155, label %7208

7155:                                             ; preds = %7149
  br label %7156

7156:                                             ; preds = %7155
  br label %7157

7157:                                             ; preds = %7156
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %7158 = call ptr @__errno_location() #12
  %7159 = load i32, ptr %7158, align 4, !tbaa !5
  store i32 %7159, ptr %136, align 4, !tbaa !5
  %7160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7161 = call i32 @s2n_print_stacktrace(ptr noundef %7160)
  %7162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7163 = trunc i8 %7162 to i1
  br i1 %7163, label %7164, label %7186

7164:                                             ; preds = %7157
  %7165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7166 = call i32 @fileno(ptr noundef %7165) #11
  %7167 = call i32 @isatty(i32 noundef %7166) #11
  %7168 = icmp ne i32 %7167, 0
  br i1 %7168, label %7169, label %7186

7169:                                             ; preds = %7164
  %7170 = load i32, ptr %136, align 4, !tbaa !5
  %7171 = call ptr @__errno_location() #12
  store i32 %7170, ptr %7171, align 4, !tbaa !5
  %7172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7173 = load i32, ptr @test_count, align 4, !tbaa !5
  %7174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7175 = load i32, ptr %7174, align 4, !tbaa !5
  %7176 = call ptr @s2n_strerror(i32 noundef %7175, ptr noundef @.str.4)
  %7177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7178 = load i32, ptr %7177, align 4, !tbaa !5
  %7179 = call ptr @s2n_strerror_debug(i32 noundef %7178, ptr noundef @.str.4)
  %7180 = call ptr @__errno_location() #12
  %7181 = load i32, ptr %7180, align 4, !tbaa !5
  %7182 = call ptr @strerror(i32 noundef %7181) #11
  %7183 = call ptr @__errno_location() #12
  %7184 = load i32, ptr %7183, align 4, !tbaa !5
  %7185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7172, ptr noundef @.str.2, i32 noundef %7173, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 303, ptr noundef %7176, ptr noundef %7179, ptr noundef %7182, i32 noundef %7184) #11
  br label %7203

7186:                                             ; preds = %7164, %7157
  %7187 = load i32, ptr %136, align 4, !tbaa !5
  %7188 = call ptr @__errno_location() #12
  store i32 %7187, ptr %7188, align 4, !tbaa !5
  %7189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7190 = load i32, ptr @test_count, align 4, !tbaa !5
  %7191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7192 = load i32, ptr %7191, align 4, !tbaa !5
  %7193 = call ptr @s2n_strerror(i32 noundef %7192, ptr noundef @.str.4)
  %7194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7195 = load i32, ptr %7194, align 4, !tbaa !5
  %7196 = call ptr @s2n_strerror_debug(i32 noundef %7195, ptr noundef @.str.4)
  %7197 = call ptr @__errno_location() #12
  %7198 = load i32, ptr %7197, align 4, !tbaa !5
  %7199 = call ptr @strerror(i32 noundef %7198) #11
  %7200 = call ptr @__errno_location() #12
  %7201 = load i32, ptr %7200, align 4, !tbaa !5
  %7202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7189, ptr noundef @.str.5, i32 noundef %7190, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 303, ptr noundef %7193, ptr noundef %7196, ptr noundef %7199, i32 noundef %7201) #11
  br label %7203

7203:                                             ; preds = %7186, %7169
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %7204

7204:                                             ; preds = %7203
  br label %7205

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

7206:                                             ; No predecessors!
  br label %7207

7207:                                             ; preds = %7206
  br label %7208

7208:                                             ; preds = %7207, %7149
  br label %7209

7209:                                             ; preds = %7208
  br label %7210

7210:                                             ; preds = %7209
  br label %7211

7211:                                             ; preds = %7210
  %7212 = load i32, ptr @test_count, align 4, !tbaa !5
  %7213 = add nsw i32 %7212, 1
  store i32 %7213, ptr @test_count, align 4, !tbaa !5
  %7214 = load ptr, ptr %130, align 8, !tbaa !9
  %7215 = icmp eq ptr %7214, null
  br i1 %7215, label %7216, label %7269

7216:                                             ; preds = %7211
  br label %7217

7217:                                             ; preds = %7216
  br label %7218

7218:                                             ; preds = %7217
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #11
  %7219 = call ptr @__errno_location() #12
  %7220 = load i32, ptr %7219, align 4, !tbaa !5
  store i32 %7220, ptr %137, align 4, !tbaa !5
  %7221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7222 = call i32 @s2n_print_stacktrace(ptr noundef %7221)
  %7223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7224 = trunc i8 %7223 to i1
  br i1 %7224, label %7225, label %7247

7225:                                             ; preds = %7218
  %7226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7227 = call i32 @fileno(ptr noundef %7226) #11
  %7228 = call i32 @isatty(i32 noundef %7227) #11
  %7229 = icmp ne i32 %7228, 0
  br i1 %7229, label %7230, label %7247

7230:                                             ; preds = %7225
  %7231 = load i32, ptr %137, align 4, !tbaa !5
  %7232 = call ptr @__errno_location() #12
  store i32 %7231, ptr %7232, align 4, !tbaa !5
  %7233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7234 = load i32, ptr @test_count, align 4, !tbaa !5
  %7235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7236 = load i32, ptr %7235, align 4, !tbaa !5
  %7237 = call ptr @s2n_strerror(i32 noundef %7236, ptr noundef @.str.4)
  %7238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7239 = load i32, ptr %7238, align 4, !tbaa !5
  %7240 = call ptr @s2n_strerror_debug(i32 noundef %7239, ptr noundef @.str.4)
  %7241 = call ptr @__errno_location() #12
  %7242 = load i32, ptr %7241, align 4, !tbaa !5
  %7243 = call ptr @strerror(i32 noundef %7242) #11
  %7244 = call ptr @__errno_location() #12
  %7245 = load i32, ptr %7244, align 4, !tbaa !5
  %7246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7233, ptr noundef @.str.2, i32 noundef %7234, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7237, ptr noundef %7240, ptr noundef %7243, i32 noundef %7245) #11
  br label %7264

7247:                                             ; preds = %7225, %7218
  %7248 = load i32, ptr %137, align 4, !tbaa !5
  %7249 = call ptr @__errno_location() #12
  store i32 %7248, ptr %7249, align 4, !tbaa !5
  %7250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7251 = load i32, ptr @test_count, align 4, !tbaa !5
  %7252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7253 = load i32, ptr %7252, align 4, !tbaa !5
  %7254 = call ptr @s2n_strerror(i32 noundef %7253, ptr noundef @.str.4)
  %7255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7256 = load i32, ptr %7255, align 4, !tbaa !5
  %7257 = call ptr @s2n_strerror_debug(i32 noundef %7256, ptr noundef @.str.4)
  %7258 = call ptr @__errno_location() #12
  %7259 = load i32, ptr %7258, align 4, !tbaa !5
  %7260 = call ptr @strerror(i32 noundef %7259) #11
  %7261 = call ptr @__errno_location() #12
  %7262 = load i32, ptr %7261, align 4, !tbaa !5
  %7263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7250, ptr noundef @.str.5, i32 noundef %7251, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7254, ptr noundef %7257, ptr noundef %7260, i32 noundef %7262) #11
  br label %7264

7264:                                             ; preds = %7247, %7230
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #11
  br label %7265

7265:                                             ; preds = %7264
  br label %7266

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

7267:                                             ; No predecessors!
  br label %7268

7268:                                             ; preds = %7267
  br label %7269

7269:                                             ; preds = %7268, %7211
  br label %7270

7270:                                             ; preds = %7269
  br label %7271

7271:                                             ; preds = %7270
  br label %7272

7272:                                             ; preds = %7271
  %7273 = load i32, ptr @test_count, align 4, !tbaa !5
  %7274 = add nsw i32 %7273, 1
  store i32 %7274, ptr @test_count, align 4, !tbaa !5
  %7275 = load ptr, ptr %130, align 8, !tbaa !9
  %7276 = load i8, ptr %7275, align 1, !tbaa !49
  %7277 = zext i8 %7276 to i32
  %7278 = load i8, ptr %128, align 1, !tbaa !49
  %7279 = zext i8 %7278 to i32
  %7280 = icmp eq i32 %7277, %7279
  br i1 %7280, label %7334, label %7281

7281:                                             ; preds = %7272
  br label %7282

7282:                                             ; preds = %7281
  br label %7283

7283:                                             ; preds = %7282
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #11
  %7284 = call ptr @__errno_location() #12
  %7285 = load i32, ptr %7284, align 4, !tbaa !5
  store i32 %7285, ptr %138, align 4, !tbaa !5
  %7286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7287 = call i32 @s2n_print_stacktrace(ptr noundef %7286)
  %7288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7289 = trunc i8 %7288 to i1
  br i1 %7289, label %7290, label %7312

7290:                                             ; preds = %7283
  %7291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7292 = call i32 @fileno(ptr noundef %7291) #11
  %7293 = call i32 @isatty(i32 noundef %7292) #11
  %7294 = icmp ne i32 %7293, 0
  br i1 %7294, label %7295, label %7312

7295:                                             ; preds = %7290
  %7296 = load i32, ptr %138, align 4, !tbaa !5
  %7297 = call ptr @__errno_location() #12
  store i32 %7296, ptr %7297, align 4, !tbaa !5
  %7298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7299 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7301, ptr noundef @.str.4)
  %7303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7304 = load i32, ptr %7303, align 4, !tbaa !5
  %7305 = call ptr @s2n_strerror_debug(i32 noundef %7304, ptr noundef @.str.4)
  %7306 = call ptr @__errno_location() #12
  %7307 = load i32, ptr %7306, align 4, !tbaa !5
  %7308 = call ptr @strerror(i32 noundef %7307) #11
  %7309 = call ptr @__errno_location() #12
  %7310 = load i32, ptr %7309, align 4, !tbaa !5
  %7311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7298, ptr noundef @.str.2, i32 noundef %7299, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 306, ptr noundef %7302, ptr noundef %7305, ptr noundef %7308, i32 noundef %7310) #11
  br label %7329

7312:                                             ; preds = %7290, %7283
  %7313 = load i32, ptr %138, align 4, !tbaa !5
  %7314 = call ptr @__errno_location() #12
  store i32 %7313, ptr %7314, align 4, !tbaa !5
  %7315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7316 = load i32, ptr @test_count, align 4, !tbaa !5
  %7317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7318 = load i32, ptr %7317, align 4, !tbaa !5
  %7319 = call ptr @s2n_strerror(i32 noundef %7318, ptr noundef @.str.4)
  %7320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7321 = load i32, ptr %7320, align 4, !tbaa !5
  %7322 = call ptr @s2n_strerror_debug(i32 noundef %7321, ptr noundef @.str.4)
  %7323 = call ptr @__errno_location() #12
  %7324 = load i32, ptr %7323, align 4, !tbaa !5
  %7325 = call ptr @strerror(i32 noundef %7324) #11
  %7326 = call ptr @__errno_location() #12
  %7327 = load i32, ptr %7326, align 4, !tbaa !5
  %7328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7315, ptr noundef @.str.5, i32 noundef %7316, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 306, ptr noundef %7319, ptr noundef %7322, ptr noundef %7325, i32 noundef %7327) #11
  br label %7329

7329:                                             ; preds = %7312, %7295
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %7330

7330:                                             ; preds = %7329
  br label %7331

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

7332:                                             ; No predecessors!
  br label %7333

7333:                                             ; preds = %7332
  br label %7334

7334:                                             ; preds = %7333, %7272
  br label %7335

7335:                                             ; preds = %7334
  br label %7336

7336:                                             ; preds = %7335
  br label %7337

7337:                                             ; preds = %7336
  %7338 = load i32, ptr @test_count, align 4, !tbaa !5
  %7339 = add nsw i32 %7338, 1
  store i32 %7339, ptr @test_count, align 4, !tbaa !5
  %7340 = load ptr, ptr %130, align 8, !tbaa !9
  %7341 = load i8, ptr %7340, align 1, !tbaa !49
  %7342 = zext i8 %7341 to i32
  %7343 = load i8, ptr %129, align 1, !tbaa !49
  %7344 = zext i8 %7343 to i32
  %7345 = icmp eq i32 %7342, %7344
  br i1 %7345, label %7346, label %7399

7346:                                             ; preds = %7337
  br label %7347

7347:                                             ; preds = %7346
  br label %7348

7348:                                             ; preds = %7347
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #11
  %7349 = call ptr @__errno_location() #12
  %7350 = load i32, ptr %7349, align 4, !tbaa !5
  store i32 %7350, ptr %139, align 4, !tbaa !5
  %7351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7352 = call i32 @s2n_print_stacktrace(ptr noundef %7351)
  %7353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7354 = trunc i8 %7353 to i1
  br i1 %7354, label %7355, label %7377

7355:                                             ; preds = %7348
  %7356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7357 = call i32 @fileno(ptr noundef %7356) #11
  %7358 = call i32 @isatty(i32 noundef %7357) #11
  %7359 = icmp ne i32 %7358, 0
  br i1 %7359, label %7360, label %7377

7360:                                             ; preds = %7355
  %7361 = load i32, ptr %139, align 4, !tbaa !5
  %7362 = call ptr @__errno_location() #12
  store i32 %7361, ptr %7362, align 4, !tbaa !5
  %7363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7364 = load i32, ptr @test_count, align 4, !tbaa !5
  %7365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7366 = load i32, ptr %7365, align 4, !tbaa !5
  %7367 = call ptr @s2n_strerror(i32 noundef %7366, ptr noundef @.str.4)
  %7368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7369 = load i32, ptr %7368, align 4, !tbaa !5
  %7370 = call ptr @s2n_strerror_debug(i32 noundef %7369, ptr noundef @.str.4)
  %7371 = call ptr @__errno_location() #12
  %7372 = load i32, ptr %7371, align 4, !tbaa !5
  %7373 = call ptr @strerror(i32 noundef %7372) #11
  %7374 = call ptr @__errno_location() #12
  %7375 = load i32, ptr %7374, align 4, !tbaa !5
  %7376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7363, ptr noundef @.str.2, i32 noundef %7364, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 307, ptr noundef %7367, ptr noundef %7370, ptr noundef %7373, i32 noundef %7375) #11
  br label %7394

7377:                                             ; preds = %7355, %7348
  %7378 = load i32, ptr %139, align 4, !tbaa !5
  %7379 = call ptr @__errno_location() #12
  store i32 %7378, ptr %7379, align 4, !tbaa !5
  %7380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7381 = load i32, ptr @test_count, align 4, !tbaa !5
  %7382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7383 = load i32, ptr %7382, align 4, !tbaa !5
  %7384 = call ptr @s2n_strerror(i32 noundef %7383, ptr noundef @.str.4)
  %7385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7386 = load i32, ptr %7385, align 4, !tbaa !5
  %7387 = call ptr @s2n_strerror_debug(i32 noundef %7386, ptr noundef @.str.4)
  %7388 = call ptr @__errno_location() #12
  %7389 = load i32, ptr %7388, align 4, !tbaa !5
  %7390 = call ptr @strerror(i32 noundef %7389) #11
  %7391 = call ptr @__errno_location() #12
  %7392 = load i32, ptr %7391, align 4, !tbaa !5
  %7393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7380, ptr noundef @.str.5, i32 noundef %7381, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 307, ptr noundef %7384, ptr noundef %7387, ptr noundef %7390, i32 noundef %7392) #11
  br label %7394

7394:                                             ; preds = %7377, %7360
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #11
  br label %7395

7395:                                             ; preds = %7394
  br label %7396

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

7397:                                             ; No predecessors!
  br label %7398

7398:                                             ; preds = %7397
  br label %7399

7399:                                             ; preds = %7398, %7337
  br label %7400

7400:                                             ; preds = %7399
  br label %7401

7401:                                             ; preds = %7400
  br label %7402

7402:                                             ; preds = %7401
  %7403 = load i32, ptr @test_count, align 4, !tbaa !5
  %7404 = add nsw i32 %7403, 1
  store i32 %7404, ptr @test_count, align 4, !tbaa !5
  %7405 = load ptr, ptr %131, align 8, !tbaa !9
  %7406 = call i32 @s2n_config_free(ptr noundef %7405)
  %7407 = icmp eq i32 %7406, -1
  br i1 %7407, label %7408, label %7461

7408:                                             ; preds = %7402
  br label %7409

7409:                                             ; preds = %7408
  br label %7410

7410:                                             ; preds = %7409
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #11
  %7411 = call ptr @__errno_location() #12
  %7412 = load i32, ptr %7411, align 4, !tbaa !5
  store i32 %7412, ptr %140, align 4, !tbaa !5
  %7413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7414 = call i32 @s2n_print_stacktrace(ptr noundef %7413)
  %7415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7416 = trunc i8 %7415 to i1
  br i1 %7416, label %7417, label %7439

7417:                                             ; preds = %7410
  %7418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7419 = call i32 @fileno(ptr noundef %7418) #11
  %7420 = call i32 @isatty(i32 noundef %7419) #11
  %7421 = icmp ne i32 %7420, 0
  br i1 %7421, label %7422, label %7439

7422:                                             ; preds = %7417
  %7423 = load i32, ptr %140, align 4, !tbaa !5
  %7424 = call ptr @__errno_location() #12
  store i32 %7423, ptr %7424, align 4, !tbaa !5
  %7425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7426 = load i32, ptr @test_count, align 4, !tbaa !5
  %7427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7428 = load i32, ptr %7427, align 4, !tbaa !5
  %7429 = call ptr @s2n_strerror(i32 noundef %7428, ptr noundef @.str.4)
  %7430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7431 = load i32, ptr %7430, align 4, !tbaa !5
  %7432 = call ptr @s2n_strerror_debug(i32 noundef %7431, ptr noundef @.str.4)
  %7433 = call ptr @__errno_location() #12
  %7434 = load i32, ptr %7433, align 4, !tbaa !5
  %7435 = call ptr @strerror(i32 noundef %7434) #11
  %7436 = call ptr @__errno_location() #12
  %7437 = load i32, ptr %7436, align 4, !tbaa !5
  %7438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7425, ptr noundef @.str.2, i32 noundef %7426, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 309, ptr noundef %7429, ptr noundef %7432, ptr noundef %7435, i32 noundef %7437) #11
  br label %7456

7439:                                             ; preds = %7417, %7410
  %7440 = load i32, ptr %140, align 4, !tbaa !5
  %7441 = call ptr @__errno_location() #12
  store i32 %7440, ptr %7441, align 4, !tbaa !5
  %7442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7443 = load i32, ptr @test_count, align 4, !tbaa !5
  %7444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7445 = load i32, ptr %7444, align 4, !tbaa !5
  %7446 = call ptr @s2n_strerror(i32 noundef %7445, ptr noundef @.str.4)
  %7447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7448 = load i32, ptr %7447, align 4, !tbaa !5
  %7449 = call ptr @s2n_strerror_debug(i32 noundef %7448, ptr noundef @.str.4)
  %7450 = call ptr @__errno_location() #12
  %7451 = load i32, ptr %7450, align 4, !tbaa !5
  %7452 = call ptr @strerror(i32 noundef %7451) #11
  %7453 = call ptr @__errno_location() #12
  %7454 = load i32, ptr %7453, align 4, !tbaa !5
  %7455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7442, ptr noundef @.str.5, i32 noundef %7443, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 309, ptr noundef %7446, ptr noundef %7449, ptr noundef %7452, i32 noundef %7454) #11
  br label %7456

7456:                                             ; preds = %7439, %7422
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %7457

7457:                                             ; preds = %7456
  br label %7458

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

7459:                                             ; No predecessors!
  br label %7460

7460:                                             ; preds = %7459
  br label %7461

7461:                                             ; preds = %7460, %7402
  br label %7462

7462:                                             ; preds = %7461
  br label %7463

7463:                                             ; preds = %7462
  call void @llvm.lifetime.end.p0(i64 8, ptr %131) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %129) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #11
  call void @llvm.lifetime.start.p0(i64 15, ptr %141) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %141, ptr align 1 @__const.main.extension_data, i64 15, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %142) #11
  %7464 = call ptr @s2n_config_new()
  store ptr %7464, ptr %142, align 8, !tbaa !9
  br label %7465

7465:                                             ; preds = %7463
  %7466 = load i32, ptr @test_count, align 4, !tbaa !5
  %7467 = add nsw i32 %7466, 1
  store i32 %7467, ptr @test_count, align 4, !tbaa !5
  %7468 = load ptr, ptr %142, align 8, !tbaa !9
  %7469 = getelementptr inbounds [12000 x i8], ptr %17, i64 0, i64 0
  %7470 = getelementptr inbounds [12000 x i8], ptr %19, i64 0, i64 0
  %7471 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef %7468, ptr noundef %7469, ptr noundef %7470)
  %7472 = icmp eq i32 %7471, -1
  br i1 %7472, label %7473, label %7526

7473:                                             ; preds = %7465
  br label %7474

7474:                                             ; preds = %7473
  br label %7475

7475:                                             ; preds = %7474
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %7476 = call ptr @__errno_location() #12
  %7477 = load i32, ptr %7476, align 4, !tbaa !5
  store i32 %7477, ptr %143, align 4, !tbaa !5
  %7478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7479 = call i32 @s2n_print_stacktrace(ptr noundef %7478)
  %7480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7481 = trunc i8 %7480 to i1
  br i1 %7481, label %7482, label %7504

7482:                                             ; preds = %7475
  %7483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7484 = call i32 @fileno(ptr noundef %7483) #11
  %7485 = call i32 @isatty(i32 noundef %7484) #11
  %7486 = icmp ne i32 %7485, 0
  br i1 %7486, label %7487, label %7504

7487:                                             ; preds = %7482
  %7488 = load i32, ptr %143, align 4, !tbaa !5
  %7489 = call ptr @__errno_location() #12
  store i32 %7488, ptr %7489, align 4, !tbaa !5
  %7490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7491 = load i32, ptr @test_count, align 4, !tbaa !5
  %7492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7493 = load i32, ptr %7492, align 4, !tbaa !5
  %7494 = call ptr @s2n_strerror(i32 noundef %7493, ptr noundef @.str.4)
  %7495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7496 = load i32, ptr %7495, align 4, !tbaa !5
  %7497 = call ptr @s2n_strerror_debug(i32 noundef %7496, ptr noundef @.str.4)
  %7498 = call ptr @__errno_location() #12
  %7499 = load i32, ptr %7498, align 4, !tbaa !5
  %7500 = call ptr @strerror(i32 noundef %7499) #11
  %7501 = call ptr @__errno_location() #12
  %7502 = load i32, ptr %7501, align 4, !tbaa !5
  %7503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7490, ptr noundef @.str.2, i32 noundef %7491, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 319, ptr noundef %7494, ptr noundef %7497, ptr noundef %7500, i32 noundef %7502) #11
  br label %7521

7504:                                             ; preds = %7482, %7475
  %7505 = load i32, ptr %143, align 4, !tbaa !5
  %7506 = call ptr @__errno_location() #12
  store i32 %7505, ptr %7506, align 4, !tbaa !5
  %7507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7508 = load i32, ptr @test_count, align 4, !tbaa !5
  %7509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7510 = load i32, ptr %7509, align 4, !tbaa !5
  %7511 = call ptr @s2n_strerror(i32 noundef %7510, ptr noundef @.str.4)
  %7512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7513 = load i32, ptr %7512, align 4, !tbaa !5
  %7514 = call ptr @s2n_strerror_debug(i32 noundef %7513, ptr noundef @.str.4)
  %7515 = call ptr @__errno_location() #12
  %7516 = load i32, ptr %7515, align 4, !tbaa !5
  %7517 = call ptr @strerror(i32 noundef %7516) #11
  %7518 = call ptr @__errno_location() #12
  %7519 = load i32, ptr %7518, align 4, !tbaa !5
  %7520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7507, ptr noundef @.str.5, i32 noundef %7508, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 319, ptr noundef %7511, ptr noundef %7514, ptr noundef %7517, i32 noundef %7519) #11
  br label %7521

7521:                                             ; preds = %7504, %7487
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %7522

7522:                                             ; preds = %7521
  br label %7523

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

7524:                                             ; No predecessors!
  br label %7525

7525:                                             ; preds = %7524
  br label %7526

7526:                                             ; preds = %7525, %7465
  br label %7527

7527:                                             ; preds = %7526
  br label %7528

7528:                                             ; preds = %7527
  br label %7529

7529:                                             ; preds = %7528
  %7530 = load i32, ptr @test_count, align 4, !tbaa !5
  %7531 = add nsw i32 %7530, 1
  store i32 %7531, ptr @test_count, align 4, !tbaa !5
  %7532 = load ptr, ptr %142, align 8, !tbaa !9
  %7533 = call ptr @s2n_config_get_single_default_cert(ptr noundef %7532)
  %7534 = icmp eq ptr %7533, null
  br i1 %7534, label %7535, label %7588

7535:                                             ; preds = %7529
  br label %7536

7536:                                             ; preds = %7535
  br label %7537

7537:                                             ; preds = %7536
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %7538 = call ptr @__errno_location() #12
  %7539 = load i32, ptr %7538, align 4, !tbaa !5
  store i32 %7539, ptr %144, align 4, !tbaa !5
  %7540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7541 = call i32 @s2n_print_stacktrace(ptr noundef %7540)
  %7542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7543 = trunc i8 %7542 to i1
  br i1 %7543, label %7544, label %7566

7544:                                             ; preds = %7537
  %7545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7546 = call i32 @fileno(ptr noundef %7545) #11
  %7547 = call i32 @isatty(i32 noundef %7546) #11
  %7548 = icmp ne i32 %7547, 0
  br i1 %7548, label %7549, label %7566

7549:                                             ; preds = %7544
  %7550 = load i32, ptr %144, align 4, !tbaa !5
  %7551 = call ptr @__errno_location() #12
  store i32 %7550, ptr %7551, align 4, !tbaa !5
  %7552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7553 = load i32, ptr @test_count, align 4, !tbaa !5
  %7554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7555 = load i32, ptr %7554, align 4, !tbaa !5
  %7556 = call ptr @s2n_strerror(i32 noundef %7555, ptr noundef @.str.4)
  %7557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7558 = load i32, ptr %7557, align 4, !tbaa !5
  %7559 = call ptr @s2n_strerror_debug(i32 noundef %7558, ptr noundef @.str.4)
  %7560 = call ptr @__errno_location() #12
  %7561 = load i32, ptr %7560, align 4, !tbaa !5
  %7562 = call ptr @strerror(i32 noundef %7561) #11
  %7563 = call ptr @__errno_location() #12
  %7564 = load i32, ptr %7563, align 4, !tbaa !5
  %7565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7552, ptr noundef @.str.2, i32 noundef %7553, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 320, ptr noundef %7556, ptr noundef %7559, ptr noundef %7562, i32 noundef %7564) #11
  br label %7583

7566:                                             ; preds = %7544, %7537
  %7567 = load i32, ptr %144, align 4, !tbaa !5
  %7568 = call ptr @__errno_location() #12
  store i32 %7567, ptr %7568, align 4, !tbaa !5
  %7569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7570 = load i32, ptr @test_count, align 4, !tbaa !5
  %7571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7572 = load i32, ptr %7571, align 4, !tbaa !5
  %7573 = call ptr @s2n_strerror(i32 noundef %7572, ptr noundef @.str.4)
  %7574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7575 = load i32, ptr %7574, align 4, !tbaa !5
  %7576 = call ptr @s2n_strerror_debug(i32 noundef %7575, ptr noundef @.str.4)
  %7577 = call ptr @__errno_location() #12
  %7578 = load i32, ptr %7577, align 4, !tbaa !5
  %7579 = call ptr @strerror(i32 noundef %7578) #11
  %7580 = call ptr @__errno_location() #12
  %7581 = load i32, ptr %7580, align 4, !tbaa !5
  %7582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7569, ptr noundef @.str.5, i32 noundef %7570, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 320, ptr noundef %7573, ptr noundef %7576, ptr noundef %7579, i32 noundef %7581) #11
  br label %7583

7583:                                             ; preds = %7566, %7549
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %7584

7584:                                             ; preds = %7583
  br label %7585

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

7586:                                             ; No predecessors!
  br label %7587

7587:                                             ; preds = %7586
  br label %7588

7588:                                             ; preds = %7587, %7529
  br label %7589

7589:                                             ; preds = %7588
  br label %7590

7590:                                             ; preds = %7589
  br label %7591

7591:                                             ; preds = %7590
  %7592 = load i32, ptr @test_count, align 4, !tbaa !5
  %7593 = add nsw i32 %7592, 1
  store i32 %7593, ptr @test_count, align 4, !tbaa !5
  %7594 = load ptr, ptr %142, align 8, !tbaa !9
  %7595 = getelementptr inbounds [15 x i8], ptr %141, i64 0, i64 0
  %7596 = call i32 @s2n_config_set_extension_data(ptr noundef %7594, i32 noundef 5, ptr noundef %7595, i32 noundef 15)
  %7597 = icmp eq i32 %7596, -1
  br i1 %7597, label %7598, label %7651

7598:                                             ; preds = %7591
  br label %7599

7599:                                             ; preds = %7598
  br label %7600

7600:                                             ; preds = %7599
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  %7601 = call ptr @__errno_location() #12
  %7602 = load i32, ptr %7601, align 4, !tbaa !5
  store i32 %7602, ptr %145, align 4, !tbaa !5
  %7603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7604 = call i32 @s2n_print_stacktrace(ptr noundef %7603)
  %7605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7606 = trunc i8 %7605 to i1
  br i1 %7606, label %7607, label %7629

7607:                                             ; preds = %7600
  %7608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7609 = call i32 @fileno(ptr noundef %7608) #11
  %7610 = call i32 @isatty(i32 noundef %7609) #11
  %7611 = icmp ne i32 %7610, 0
  br i1 %7611, label %7612, label %7629

7612:                                             ; preds = %7607
  %7613 = load i32, ptr %145, align 4, !tbaa !5
  %7614 = call ptr @__errno_location() #12
  store i32 %7613, ptr %7614, align 4, !tbaa !5
  %7615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7616 = load i32, ptr @test_count, align 4, !tbaa !5
  %7617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7618 = load i32, ptr %7617, align 4, !tbaa !5
  %7619 = call ptr @s2n_strerror(i32 noundef %7618, ptr noundef @.str.4)
  %7620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7621 = load i32, ptr %7620, align 4, !tbaa !5
  %7622 = call ptr @s2n_strerror_debug(i32 noundef %7621, ptr noundef @.str.4)
  %7623 = call ptr @__errno_location() #12
  %7624 = load i32, ptr %7623, align 4, !tbaa !5
  %7625 = call ptr @strerror(i32 noundef %7624) #11
  %7626 = call ptr @__errno_location() #12
  %7627 = load i32, ptr %7626, align 4, !tbaa !5
  %7628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7615, ptr noundef @.str.2, i32 noundef %7616, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 323, ptr noundef %7619, ptr noundef %7622, ptr noundef %7625, i32 noundef %7627) #11
  br label %7646

7629:                                             ; preds = %7607, %7600
  %7630 = load i32, ptr %145, align 4, !tbaa !5
  %7631 = call ptr @__errno_location() #12
  store i32 %7630, ptr %7631, align 4, !tbaa !5
  %7632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7633 = load i32, ptr @test_count, align 4, !tbaa !5
  %7634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7635 = load i32, ptr %7634, align 4, !tbaa !5
  %7636 = call ptr @s2n_strerror(i32 noundef %7635, ptr noundef @.str.4)
  %7637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7638 = load i32, ptr %7637, align 4, !tbaa !5
  %7639 = call ptr @s2n_strerror_debug(i32 noundef %7638, ptr noundef @.str.4)
  %7640 = call ptr @__errno_location() #12
  %7641 = load i32, ptr %7640, align 4, !tbaa !5
  %7642 = call ptr @strerror(i32 noundef %7641) #11
  %7643 = call ptr @__errno_location() #12
  %7644 = load i32, ptr %7643, align 4, !tbaa !5
  %7645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7632, ptr noundef @.str.5, i32 noundef %7633, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 323, ptr noundef %7636, ptr noundef %7639, ptr noundef %7642, i32 noundef %7644) #11
  br label %7646

7646:                                             ; preds = %7629, %7612
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #11
  br label %7647

7647:                                             ; preds = %7646
  br label %7648

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

7649:                                             ; No predecessors!
  br label %7650

7650:                                             ; preds = %7649
  br label %7651

7651:                                             ; preds = %7650, %7591
  br label %7652

7652:                                             ; preds = %7651
  br label %7653

7653:                                             ; preds = %7652
  br label %7654

7654:                                             ; preds = %7653
  %7655 = load i32, ptr @test_count, align 4, !tbaa !5
  %7656 = add nsw i32 %7655, 1
  store i32 %7656, ptr @test_count, align 4, !tbaa !5
  %7657 = load ptr, ptr %142, align 8, !tbaa !9
  %7658 = call ptr @s2n_config_get_single_default_cert(ptr noundef %7657)
  %7659 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %7658, i32 0, i32 2
  %7660 = getelementptr inbounds %struct.s2n_blob, ptr %7659, i32 0, i32 1
  %7661 = load i32, ptr %7660, align 8, !tbaa !56
  %7662 = zext i32 %7661 to i64
  %7663 = icmp eq i64 %7662, 15
  br i1 %7663, label %7717, label %7664

7664:                                             ; preds = %7654
  br label %7665

7665:                                             ; preds = %7664
  br label %7666

7666:                                             ; preds = %7665
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %7667 = call ptr @__errno_location() #12
  %7668 = load i32, ptr %7667, align 4, !tbaa !5
  store i32 %7668, ptr %146, align 4, !tbaa !5
  %7669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7670 = call i32 @s2n_print_stacktrace(ptr noundef %7669)
  %7671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7672 = trunc i8 %7671 to i1
  br i1 %7672, label %7673, label %7695

7673:                                             ; preds = %7666
  %7674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7675 = call i32 @fileno(ptr noundef %7674) #11
  %7676 = call i32 @isatty(i32 noundef %7675) #11
  %7677 = icmp ne i32 %7676, 0
  br i1 %7677, label %7678, label %7695

7678:                                             ; preds = %7673
  %7679 = load i32, ptr %146, align 4, !tbaa !5
  %7680 = call ptr @__errno_location() #12
  store i32 %7679, ptr %7680, align 4, !tbaa !5
  %7681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7682 = load i32, ptr @test_count, align 4, !tbaa !5
  %7683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7684 = load i32, ptr %7683, align 4, !tbaa !5
  %7685 = call ptr @s2n_strerror(i32 noundef %7684, ptr noundef @.str.4)
  %7686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7687 = load i32, ptr %7686, align 4, !tbaa !5
  %7688 = call ptr @s2n_strerror_debug(i32 noundef %7687, ptr noundef @.str.4)
  %7689 = call ptr @__errno_location() #12
  %7690 = load i32, ptr %7689, align 4, !tbaa !5
  %7691 = call ptr @strerror(i32 noundef %7690) #11
  %7692 = call ptr @__errno_location() #12
  %7693 = load i32, ptr %7692, align 4, !tbaa !5
  %7694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7681, ptr noundef @.str.2, i32 noundef %7682, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 324, ptr noundef %7685, ptr noundef %7688, ptr noundef %7691, i32 noundef %7693) #11
  br label %7712

7695:                                             ; preds = %7673, %7666
  %7696 = load i32, ptr %146, align 4, !tbaa !5
  %7697 = call ptr @__errno_location() #12
  store i32 %7696, ptr %7697, align 4, !tbaa !5
  %7698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7699 = load i32, ptr @test_count, align 4, !tbaa !5
  %7700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7701 = load i32, ptr %7700, align 4, !tbaa !5
  %7702 = call ptr @s2n_strerror(i32 noundef %7701, ptr noundef @.str.4)
  %7703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7704 = load i32, ptr %7703, align 4, !tbaa !5
  %7705 = call ptr @s2n_strerror_debug(i32 noundef %7704, ptr noundef @.str.4)
  %7706 = call ptr @__errno_location() #12
  %7707 = load i32, ptr %7706, align 4, !tbaa !5
  %7708 = call ptr @strerror(i32 noundef %7707) #11
  %7709 = call ptr @__errno_location() #12
  %7710 = load i32, ptr %7709, align 4, !tbaa !5
  %7711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7698, ptr noundef @.str.5, i32 noundef %7699, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 324, ptr noundef %7702, ptr noundef %7705, ptr noundef %7708, i32 noundef %7710) #11
  br label %7712

7712:                                             ; preds = %7695, %7678
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %7713

7713:                                             ; preds = %7712
  br label %7714

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

7715:                                             ; No predecessors!
  br label %7716

7716:                                             ; preds = %7715
  br label %7717

7717:                                             ; preds = %7716, %7654
  br label %7718

7718:                                             ; preds = %7717
  br label %7719

7719:                                             ; preds = %7718
  %7720 = call i32 @s2n_config_ptr_free(ptr noundef %142)
  %7721 = getelementptr inbounds %struct.s2n_result, ptr %147, i32 0, i32 0
  store i32 %7720, ptr %7721, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %142) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %148) #11
  store ptr null, ptr %148, align 8, !tbaa !9
  br label %7722

7722:                                             ; preds = %7719
  %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_test_cert_chain_and_key_new(ptr noundef %148, ptr noundef @.str.15, ptr noundef @.str.17)
  %7726 = icmp eq i32 %7725, -1
  br i1 %7726, label %7727, label %7780

7727:                                             ; preds = %7722
  br label %7728

7728:                                             ; preds = %7727
  br label %7729

7729:                                             ; preds = %7728
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %7730 = call ptr @__errno_location() #12
  %7731 = load i32, ptr %7730, align 4, !tbaa !5
  store i32 %7731, ptr %149, align 4, !tbaa !5
  %7732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7733 = call i32 @s2n_print_stacktrace(ptr noundef %7732)
  %7734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7735 = trunc i8 %7734 to i1
  br i1 %7735, label %7736, label %7758

7736:                                             ; preds = %7729
  %7737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7738 = call i32 @fileno(ptr noundef %7737) #11
  %7739 = call i32 @isatty(i32 noundef %7738) #11
  %7740 = icmp ne i32 %7739, 0
  br i1 %7740, label %7741, label %7758

7741:                                             ; preds = %7736
  %7742 = load i32, ptr %149, align 4, !tbaa !5
  %7743 = call ptr @__errno_location() #12
  store i32 %7742, ptr %7743, align 4, !tbaa !5
  %7744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7745 = load i32, ptr @test_count, align 4, !tbaa !5
  %7746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7747 = load i32, ptr %7746, align 4, !tbaa !5
  %7748 = call ptr @s2n_strerror(i32 noundef %7747, ptr noundef @.str.4)
  %7749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7750 = load i32, ptr %7749, align 4, !tbaa !5
  %7751 = call ptr @s2n_strerror_debug(i32 noundef %7750, ptr noundef @.str.4)
  %7752 = call ptr @__errno_location() #12
  %7753 = load i32, ptr %7752, align 4, !tbaa !5
  %7754 = call ptr @strerror(i32 noundef %7753) #11
  %7755 = call ptr @__errno_location() #12
  %7756 = load i32, ptr %7755, align 4, !tbaa !5
  %7757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7744, ptr noundef @.str.2, i32 noundef %7745, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 332, ptr noundef %7748, ptr noundef %7751, ptr noundef %7754, i32 noundef %7756) #11
  br label %7775

7758:                                             ; preds = %7736, %7729
  %7759 = load i32, ptr %149, align 4, !tbaa !5
  %7760 = call ptr @__errno_location() #12
  store i32 %7759, ptr %7760, align 4, !tbaa !5
  %7761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7762 = load i32, ptr @test_count, align 4, !tbaa !5
  %7763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7764 = load i32, ptr %7763, align 4, !tbaa !5
  %7765 = call ptr @s2n_strerror(i32 noundef %7764, ptr noundef @.str.4)
  %7766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7767 = load i32, ptr %7766, align 4, !tbaa !5
  %7768 = call ptr @s2n_strerror_debug(i32 noundef %7767, ptr noundef @.str.4)
  %7769 = call ptr @__errno_location() #12
  %7770 = load i32, ptr %7769, align 4, !tbaa !5
  %7771 = call ptr @strerror(i32 noundef %7770) #11
  %7772 = call ptr @__errno_location() #12
  %7773 = load i32, ptr %7772, align 4, !tbaa !5
  %7774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7761, ptr noundef @.str.5, i32 noundef %7762, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 332, ptr noundef %7765, ptr noundef %7768, ptr noundef %7771, i32 noundef %7773) #11
  br label %7775

7775:                                             ; preds = %7758, %7741
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %7776

7776:                                             ; preds = %7775
  br label %7777

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

7778:                                             ; No predecessors!
  br label %7779

7779:                                             ; preds = %7778
  br label %7780

7780:                                             ; preds = %7779, %7722
  br label %7781

7781:                                             ; preds = %7780
  br label %7782

7782:                                             ; preds = %7781
  call void @llvm.lifetime.start.p0(i64 8, ptr %150) #11
  %7783 = call ptr @s2n_config_new()
  store ptr %7783, ptr %150, align 8, !tbaa !9
  br label %7784

7784:                                             ; preds = %7782
  %7785 = load i32, ptr @test_count, align 4, !tbaa !5
  %7786 = add nsw i32 %7785, 1
  store i32 %7786, ptr @test_count, align 4, !tbaa !5
  %7787 = load ptr, ptr %150, align 8, !tbaa !9
  %7788 = load ptr, ptr %148, align 8, !tbaa !9
  %7789 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %7787, ptr noundef %7788)
  %7790 = icmp eq i32 %7789, -1
  br i1 %7790, label %7791, label %7844

7791:                                             ; preds = %7784
  br label %7792

7792:                                             ; preds = %7791
  br label %7793

7793:                                             ; preds = %7792
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %7794 = call ptr @__errno_location() #12
  %7795 = load i32, ptr %7794, align 4, !tbaa !5
  store i32 %7795, ptr %151, align 4, !tbaa !5
  %7796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7797 = call i32 @s2n_print_stacktrace(ptr noundef %7796)
  %7798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7799 = trunc i8 %7798 to i1
  br i1 %7799, label %7800, label %7822

7800:                                             ; preds = %7793
  %7801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7802 = call i32 @fileno(ptr noundef %7801) #11
  %7803 = call i32 @isatty(i32 noundef %7802) #11
  %7804 = icmp ne i32 %7803, 0
  br i1 %7804, label %7805, label %7822

7805:                                             ; preds = %7800
  %7806 = load i32, ptr %151, align 4, !tbaa !5
  %7807 = call ptr @__errno_location() #12
  store i32 %7806, ptr %7807, align 4, !tbaa !5
  %7808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7809 = load i32, ptr @test_count, align 4, !tbaa !5
  %7810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7811 = load i32, ptr %7810, align 4, !tbaa !5
  %7812 = call ptr @s2n_strerror(i32 noundef %7811, ptr noundef @.str.4)
  %7813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7814 = load i32, ptr %7813, align 4, !tbaa !5
  %7815 = call ptr @s2n_strerror_debug(i32 noundef %7814, ptr noundef @.str.4)
  %7816 = call ptr @__errno_location() #12
  %7817 = load i32, ptr %7816, align 4, !tbaa !5
  %7818 = call ptr @strerror(i32 noundef %7817) #11
  %7819 = call ptr @__errno_location() #12
  %7820 = load i32, ptr %7819, align 4, !tbaa !5
  %7821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7808, ptr noundef @.str.2, i32 noundef %7809, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 335, ptr noundef %7812, ptr noundef %7815, ptr noundef %7818, i32 noundef %7820) #11
  br label %7839

7822:                                             ; preds = %7800, %7793
  %7823 = load i32, ptr %151, align 4, !tbaa !5
  %7824 = call ptr @__errno_location() #12
  store i32 %7823, ptr %7824, align 4, !tbaa !5
  %7825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7826 = load i32, ptr @test_count, align 4, !tbaa !5
  %7827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7828 = load i32, ptr %7827, align 4, !tbaa !5
  %7829 = call ptr @s2n_strerror(i32 noundef %7828, ptr noundef @.str.4)
  %7830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7831 = load i32, ptr %7830, align 4, !tbaa !5
  %7832 = call ptr @s2n_strerror_debug(i32 noundef %7831, ptr noundef @.str.4)
  %7833 = call ptr @__errno_location() #12
  %7834 = load i32, ptr %7833, align 4, !tbaa !5
  %7835 = call ptr @strerror(i32 noundef %7834) #11
  %7836 = call ptr @__errno_location() #12
  %7837 = load i32, ptr %7836, align 4, !tbaa !5
  %7838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7825, ptr noundef @.str.5, i32 noundef %7826, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 335, ptr noundef %7829, ptr noundef %7832, ptr noundef %7835, i32 noundef %7837) #11
  br label %7839

7839:                                             ; preds = %7822, %7805
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %7840

7840:                                             ; preds = %7839
  br label %7841

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

7842:                                             ; No predecessors!
  br label %7843

7843:                                             ; preds = %7842
  br label %7844

7844:                                             ; preds = %7843, %7784
  br label %7845

7845:                                             ; preds = %7844
  br label %7846

7846:                                             ; preds = %7845
  br label %7847

7847:                                             ; preds = %7846
  %7848 = load i32, ptr @test_count, align 4, !tbaa !5
  %7849 = add nsw i32 %7848, 1
  store i32 %7849, ptr @test_count, align 4, !tbaa !5
  %7850 = load ptr, ptr %150, align 8, !tbaa !9
  %7851 = call ptr @s2n_config_get_single_default_cert(ptr noundef %7850)
  %7852 = icmp eq ptr %7851, null
  br i1 %7852, label %7853, label %7906

7853:                                             ; preds = %7847
  br label %7854

7854:                                             ; preds = %7853
  br label %7855

7855:                                             ; preds = %7854
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #11
  %7856 = call ptr @__errno_location() #12
  %7857 = load i32, ptr %7856, align 4, !tbaa !5
  store i32 %7857, ptr %152, align 4, !tbaa !5
  %7858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7859 = call i32 @s2n_print_stacktrace(ptr noundef %7858)
  %7860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7861 = trunc i8 %7860 to i1
  br i1 %7861, label %7862, label %7884

7862:                                             ; preds = %7855
  %7863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7864 = call i32 @fileno(ptr noundef %7863) #11
  %7865 = call i32 @isatty(i32 noundef %7864) #11
  %7866 = icmp ne i32 %7865, 0
  br i1 %7866, label %7867, label %7884

7867:                                             ; preds = %7862
  %7868 = load i32, ptr %152, align 4, !tbaa !5
  %7869 = call ptr @__errno_location() #12
  store i32 %7868, ptr %7869, align 4, !tbaa !5
  %7870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7871 = load i32, ptr @test_count, align 4, !tbaa !5
  %7872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7873 = load i32, ptr %7872, align 4, !tbaa !5
  %7874 = call ptr @s2n_strerror(i32 noundef %7873, ptr noundef @.str.4)
  %7875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7876 = load i32, ptr %7875, align 4, !tbaa !5
  %7877 = call ptr @s2n_strerror_debug(i32 noundef %7876, ptr noundef @.str.4)
  %7878 = call ptr @__errno_location() #12
  %7879 = load i32, ptr %7878, align 4, !tbaa !5
  %7880 = call ptr @strerror(i32 noundef %7879) #11
  %7881 = call ptr @__errno_location() #12
  %7882 = load i32, ptr %7881, align 4, !tbaa !5
  %7883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7870, ptr noundef @.str.2, i32 noundef %7871, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 336, ptr noundef %7874, ptr noundef %7877, ptr noundef %7880, i32 noundef %7882) #11
  br label %7901

7884:                                             ; preds = %7862, %7855
  %7885 = load i32, ptr %152, align 4, !tbaa !5
  %7886 = call ptr @__errno_location() #12
  store i32 %7885, ptr %7886, align 4, !tbaa !5
  %7887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7888 = load i32, ptr @test_count, align 4, !tbaa !5
  %7889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7890 = load i32, ptr %7889, align 4, !tbaa !5
  %7891 = call ptr @s2n_strerror(i32 noundef %7890, ptr noundef @.str.4)
  %7892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7893 = load i32, ptr %7892, align 4, !tbaa !5
  %7894 = call ptr @s2n_strerror_debug(i32 noundef %7893, ptr noundef @.str.4)
  %7895 = call ptr @__errno_location() #12
  %7896 = load i32, ptr %7895, align 4, !tbaa !5
  %7897 = call ptr @strerror(i32 noundef %7896) #11
  %7898 = call ptr @__errno_location() #12
  %7899 = load i32, ptr %7898, align 4, !tbaa !5
  %7900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7887, ptr noundef @.str.5, i32 noundef %7888, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 336, ptr noundef %7891, ptr noundef %7894, ptr noundef %7897, i32 noundef %7899) #11
  br label %7901

7901:                                             ; preds = %7884, %7867
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %7902

7902:                                             ; preds = %7901
  br label %7903

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

7904:                                             ; No predecessors!
  br label %7905

7905:                                             ; preds = %7904
  br label %7906

7906:                                             ; preds = %7905, %7847
  br label %7907

7907:                                             ; preds = %7906
  br label %7908

7908:                                             ; preds = %7907
  br label %7909

7909:                                             ; preds = %7908
  br label %7910

7910:                                             ; preds = %7909
  br label %7911

7911:                                             ; preds = %7910
  %7912 = load i32, ptr @test_count, align 4, !tbaa !5
  %7913 = add nsw i32 %7912, 1
  store i32 %7913, ptr @test_count, align 4, !tbaa !5
  %7914 = load ptr, ptr %150, align 8, !tbaa !9
  %7915 = getelementptr inbounds [15 x i8], ptr %141, i64 0, i64 0
  %7916 = call i32 @s2n_config_set_extension_data(ptr noundef %7914, i32 noundef 5, ptr noundef %7915, i32 noundef 15)
  %7917 = icmp eq i32 %7916, -1
  br i1 %7917, label %7971, label %7918

7918:                                             ; preds = %7911
  br label %7919

7919:                                             ; preds = %7918
  br label %7920

7920:                                             ; preds = %7919
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %7921 = call ptr @__errno_location() #12
  %7922 = load i32, ptr %7921, align 4, !tbaa !5
  store i32 %7922, ptr %153, align 4, !tbaa !5
  %7923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7924 = call i32 @s2n_print_stacktrace(ptr noundef %7923)
  %7925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7926 = trunc i8 %7925 to i1
  br i1 %7926, label %7927, label %7949

7927:                                             ; preds = %7920
  %7928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7929 = call i32 @fileno(ptr noundef %7928) #11
  %7930 = call i32 @isatty(i32 noundef %7929) #11
  %7931 = icmp ne i32 %7930, 0
  br i1 %7931, label %7932, label %7949

7932:                                             ; preds = %7927
  %7933 = load i32, ptr %153, align 4, !tbaa !5
  %7934 = call ptr @__errno_location() #12
  store i32 %7933, ptr %7934, align 4, !tbaa !5
  %7935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7936 = load i32, ptr @test_count, align 4, !tbaa !5
  %7937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7938 = load i32, ptr %7937, align 4, !tbaa !5
  %7939 = call ptr @s2n_strerror(i32 noundef %7938, ptr noundef @.str.4)
  %7940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7941 = load i32, ptr %7940, align 4, !tbaa !5
  %7942 = call ptr @s2n_strerror_debug(i32 noundef %7941, ptr noundef @.str.4)
  %7943 = call ptr @__errno_location() #12
  %7944 = load i32, ptr %7943, align 4, !tbaa !5
  %7945 = call ptr @strerror(i32 noundef %7944) #11
  %7946 = call ptr @__errno_location() #12
  %7947 = load i32, ptr %7946, align 4, !tbaa !5
  %7948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7935, ptr noundef @.str.2, i32 noundef %7936, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 340, ptr noundef %7939, ptr noundef %7942, ptr noundef %7945, i32 noundef %7947) #11
  br label %7966

7949:                                             ; preds = %7927, %7920
  %7950 = load i32, ptr %153, align 4, !tbaa !5
  %7951 = call ptr @__errno_location() #12
  store i32 %7950, ptr %7951, align 4, !tbaa !5
  %7952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7953 = load i32, ptr @test_count, align 4, !tbaa !5
  %7954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7955 = load i32, ptr %7954, align 4, !tbaa !5
  %7956 = call ptr @s2n_strerror(i32 noundef %7955, ptr noundef @.str.4)
  %7957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7958 = load i32, ptr %7957, align 4, !tbaa !5
  %7959 = call ptr @s2n_strerror_debug(i32 noundef %7958, ptr noundef @.str.4)
  %7960 = call ptr @__errno_location() #12
  %7961 = load i32, ptr %7960, align 4, !tbaa !5
  %7962 = call ptr @strerror(i32 noundef %7961) #11
  %7963 = call ptr @__errno_location() #12
  %7964 = load i32, ptr %7963, align 4, !tbaa !5
  %7965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7952, ptr noundef @.str.5, i32 noundef %7953, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 340, ptr noundef %7956, ptr noundef %7959, ptr noundef %7962, i32 noundef %7964) #11
  br label %7966

7966:                                             ; preds = %7949, %7932
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %7967

7967:                                             ; preds = %7966
  br label %7968

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

7969:                                             ; No predecessors!
  br label %7970

7970:                                             ; preds = %7969
  br label %7971

7971:                                             ; preds = %7970, %7911
  br label %7972

7972:                                             ; preds = %7971
  br label %7973

7973:                                             ; preds = %7972
  br label %7974

7974:                                             ; preds = %7973
  %7975 = load i32, ptr @test_count, align 4, !tbaa !5
  %7976 = add nsw i32 %7975, 1
  store i32 %7976, ptr @test_count, align 4, !tbaa !5
  %7977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7978 = load i32, ptr %7977, align 4, !tbaa !5
  %7979 = icmp eq i32 %7978, 469762123
  br i1 %7979, label %8033, label %7980

7980:                                             ; preds = %7974
  br label %7981

7981:                                             ; preds = %7980
  br label %7982

7982:                                             ; preds = %7981
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %7983 = call ptr @__errno_location() #12
  %7984 = load i32, ptr %7983, align 4, !tbaa !5
  store i32 %7984, ptr %154, align 4, !tbaa !5
  %7985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7986 = call i32 @s2n_print_stacktrace(ptr noundef %7985)
  %7987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7988 = trunc i8 %7987 to i1
  br i1 %7988, label %7989, label %8011

7989:                                             ; preds = %7982
  %7990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7991 = call i32 @fileno(ptr noundef %7990) #11
  %7992 = call i32 @isatty(i32 noundef %7991) #11
  %7993 = icmp ne i32 %7992, 0
  br i1 %7993, label %7994, label %8011

7994:                                             ; preds = %7989
  %7995 = load i32, ptr %154, align 4, !tbaa !5
  %7996 = call ptr @__errno_location() #12
  store i32 %7995, ptr %7996, align 4, !tbaa !5
  %7997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7998 = load i32, ptr @test_count, align 4, !tbaa !5
  %7999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8000 = load i32, ptr %7999, align 4, !tbaa !5
  %8001 = call ptr @s2n_strerror(i32 noundef %8000, ptr noundef @.str.4)
  %8002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8003 = load i32, ptr %8002, align 4, !tbaa !5
  %8004 = call ptr @s2n_strerror_debug(i32 noundef %8003, ptr noundef @.str.4)
  %8005 = call ptr @__errno_location() #12
  %8006 = load i32, ptr %8005, align 4, !tbaa !5
  %8007 = call ptr @strerror(i32 noundef %8006) #11
  %8008 = call ptr @__errno_location() #12
  %8009 = load i32, ptr %8008, align 4, !tbaa !5
  %8010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7997, ptr noundef @.str.2, i32 noundef %7998, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 340, ptr noundef %8001, ptr noundef %8004, ptr noundef %8007, i32 noundef %8009) #11
  br label %8028

8011:                                             ; preds = %7989, %7982
  %8012 = load i32, ptr %154, align 4, !tbaa !5
  %8013 = call ptr @__errno_location() #12
  store i32 %8012, ptr %8013, align 4, !tbaa !5
  %8014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8015 = load i32, ptr @test_count, align 4, !tbaa !5
  %8016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8017 = load i32, ptr %8016, align 4, !tbaa !5
  %8018 = call ptr @s2n_strerror(i32 noundef %8017, ptr noundef @.str.4)
  %8019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8020 = load i32, ptr %8019, align 4, !tbaa !5
  %8021 = call ptr @s2n_strerror_debug(i32 noundef %8020, ptr noundef @.str.4)
  %8022 = call ptr @__errno_location() #12
  %8023 = load i32, ptr %8022, align 4, !tbaa !5
  %8024 = call ptr @strerror(i32 noundef %8023) #11
  %8025 = call ptr @__errno_location() #12
  %8026 = load i32, ptr %8025, align 4, !tbaa !5
  %8027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8014, ptr noundef @.str.5, i32 noundef %8015, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 340, ptr noundef %8018, ptr noundef %8021, ptr noundef %8024, i32 noundef %8026) #11
  br label %8028

8028:                                             ; preds = %8011, %7994
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %8029

8029:                                             ; preds = %8028
  br label %8030

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

8031:                                             ; No predecessors!
  br label %8032

8032:                                             ; preds = %8031
  br label %8033

8033:                                             ; preds = %8032, %7974
  br label %8034

8034:                                             ; preds = %8033
  br label %8035

8035:                                             ; preds = %8034
  br label %8036

8036:                                             ; preds = %8035
  %8037 = load i32, ptr @test_count, align 4, !tbaa !5
  %8038 = add nsw i32 %8037, 1
  store i32 %8038, ptr @test_count, align 4, !tbaa !5
  %8039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8040 = load i32, ptr %8039, align 4, !tbaa !5
  %8041 = call ptr @s2n_strerror_debug(i32 noundef %8040, ptr noundef @.str.4)
  %8042 = icmp eq ptr %8041, null
  br i1 %8042, label %8043, label %8096

8043:                                             ; preds = %8036
  br label %8044

8044:                                             ; preds = %8043
  br label %8045

8045:                                             ; preds = %8044
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %8046 = call ptr @__errno_location() #12
  %8047 = load i32, ptr %8046, align 4, !tbaa !5
  store i32 %8047, ptr %155, align 4, !tbaa !5
  %8048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8049 = call i32 @s2n_print_stacktrace(ptr noundef %8048)
  %8050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8051 = trunc i8 %8050 to i1
  br i1 %8051, label %8052, label %8074

8052:                                             ; preds = %8045
  %8053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8054 = call i32 @fileno(ptr noundef %8053) #11
  %8055 = call i32 @isatty(i32 noundef %8054) #11
  %8056 = icmp ne i32 %8055, 0
  br i1 %8056, label %8057, label %8074

8057:                                             ; preds = %8052
  %8058 = load i32, ptr %155, align 4, !tbaa !5
  %8059 = call ptr @__errno_location() #12
  store i32 %8058, ptr %8059, align 4, !tbaa !5
  %8060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8061 = load i32, ptr @test_count, align 4, !tbaa !5
  %8062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8063 = load i32, ptr %8062, align 4, !tbaa !5
  %8064 = call ptr @s2n_strerror(i32 noundef %8063, ptr noundef @.str.4)
  %8065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8066 = load i32, ptr %8065, align 4, !tbaa !5
  %8067 = call ptr @s2n_strerror_debug(i32 noundef %8066, ptr noundef @.str.4)
  %8068 = call ptr @__errno_location() #12
  %8069 = load i32, ptr %8068, align 4, !tbaa !5
  %8070 = call ptr @strerror(i32 noundef %8069) #11
  %8071 = call ptr @__errno_location() #12
  %8072 = load i32, ptr %8071, align 4, !tbaa !5
  %8073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8060, ptr noundef @.str.2, i32 noundef %8061, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 340, ptr noundef %8064, ptr noundef %8067, ptr noundef %8070, i32 noundef %8072) #11
  br label %8091

8074:                                             ; preds = %8052, %8045
  %8075 = load i32, ptr %155, align 4, !tbaa !5
  %8076 = call ptr @__errno_location() #12
  store i32 %8075, ptr %8076, align 4, !tbaa !5
  %8077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8078 = load i32, ptr @test_count, align 4, !tbaa !5
  %8079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8080 = load i32, ptr %8079, align 4, !tbaa !5
  %8081 = call ptr @s2n_strerror(i32 noundef %8080, ptr noundef @.str.4)
  %8082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8083 = load i32, ptr %8082, align 4, !tbaa !5
  %8084 = call ptr @s2n_strerror_debug(i32 noundef %8083, ptr noundef @.str.4)
  %8085 = call ptr @__errno_location() #12
  %8086 = load i32, ptr %8085, align 4, !tbaa !5
  %8087 = call ptr @strerror(i32 noundef %8086) #11
  %8088 = call ptr @__errno_location() #12
  %8089 = load i32, ptr %8088, align 4, !tbaa !5
  %8090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8077, ptr noundef @.str.5, i32 noundef %8078, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 340, ptr noundef %8081, ptr noundef %8084, ptr noundef %8087, i32 noundef %8089) #11
  br label %8091

8091:                                             ; preds = %8074, %8057
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %8092

8092:                                             ; preds = %8091
  br label %8093

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

8094:                                             ; No predecessors!
  br label %8095

8095:                                             ; preds = %8094
  br label %8096

8096:                                             ; preds = %8095, %8036
  br label %8097

8097:                                             ; preds = %8096
  br label %8098

8098:                                             ; preds = %8097
  br label %8099

8099:                                             ; preds = %8098
  br label %8100

8100:                                             ; preds = %8099
  br label %8101

8101:                                             ; preds = %8100
  %8102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8102, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8103 = call ptr @__errno_location() #12
  store i32 0, ptr %8103, align 4, !tbaa !5
  br label %8104

8104:                                             ; preds = %8101
  br label %8105

8105:                                             ; preds = %8104
  br label %8106

8106:                                             ; preds = %8105
  br label %8107

8107:                                             ; preds = %8106
  br label %8108

8108:                                             ; preds = %8107
  %8109 = load i32, ptr @test_count, align 4, !tbaa !5
  %8110 = add nsw i32 %8109, 1
  store i32 %8110, ptr @test_count, align 4, !tbaa !5
  %8111 = load ptr, ptr %150, align 8, !tbaa !9
  %8112 = call ptr @s2n_config_get_single_default_cert(ptr noundef %8111)
  %8113 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %8112, i32 0, i32 2
  %8114 = getelementptr inbounds %struct.s2n_blob, ptr %8113, i32 0, i32 1
  %8115 = load i32, ptr %8114, align 8, !tbaa !56
  %8116 = icmp eq i32 %8115, 0
  br i1 %8116, label %8170, label %8117

8117:                                             ; preds = %8108
  br label %8118

8118:                                             ; preds = %8117
  br label %8119

8119:                                             ; preds = %8118
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  %8120 = call ptr @__errno_location() #12
  %8121 = load i32, ptr %8120, align 4, !tbaa !5
  store i32 %8121, ptr %156, align 4, !tbaa !5
  %8122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8123 = call i32 @s2n_print_stacktrace(ptr noundef %8122)
  %8124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8125 = trunc i8 %8124 to i1
  br i1 %8125, label %8126, label %8148

8126:                                             ; preds = %8119
  %8127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8128 = call i32 @fileno(ptr noundef %8127) #11
  %8129 = call i32 @isatty(i32 noundef %8128) #11
  %8130 = icmp ne i32 %8129, 0
  br i1 %8130, label %8131, label %8148

8131:                                             ; preds = %8126
  %8132 = load i32, ptr %156, align 4, !tbaa !5
  %8133 = call ptr @__errno_location() #12
  store i32 %8132, ptr %8133, align 4, !tbaa !5
  %8134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8135 = load i32, ptr @test_count, align 4, !tbaa !5
  %8136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8137 = load i32, ptr %8136, align 4, !tbaa !5
  %8138 = call ptr @s2n_strerror(i32 noundef %8137, ptr noundef @.str.4)
  %8139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8140 = load i32, ptr %8139, align 4, !tbaa !5
  %8141 = call ptr @s2n_strerror_debug(i32 noundef %8140, ptr noundef @.str.4)
  %8142 = call ptr @__errno_location() #12
  %8143 = load i32, ptr %8142, align 4, !tbaa !5
  %8144 = call ptr @strerror(i32 noundef %8143) #11
  %8145 = call ptr @__errno_location() #12
  %8146 = load i32, ptr %8145, align 4, !tbaa !5
  %8147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8134, ptr noundef @.str.2, i32 noundef %8135, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 341, ptr noundef %8138, ptr noundef %8141, ptr noundef %8144, i32 noundef %8146) #11
  br label %8165

8148:                                             ; preds = %8126, %8119
  %8149 = load i32, ptr %156, align 4, !tbaa !5
  %8150 = call ptr @__errno_location() #12
  store i32 %8149, ptr %8150, align 4, !tbaa !5
  %8151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8152 = load i32, ptr @test_count, align 4, !tbaa !5
  %8153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8154 = load i32, ptr %8153, align 4, !tbaa !5
  %8155 = call ptr @s2n_strerror(i32 noundef %8154, ptr noundef @.str.4)
  %8156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8157 = load i32, ptr %8156, align 4, !tbaa !5
  %8158 = call ptr @s2n_strerror_debug(i32 noundef %8157, ptr noundef @.str.4)
  %8159 = call ptr @__errno_location() #12
  %8160 = load i32, ptr %8159, align 4, !tbaa !5
  %8161 = call ptr @strerror(i32 noundef %8160) #11
  %8162 = call ptr @__errno_location() #12
  %8163 = load i32, ptr %8162, align 4, !tbaa !5
  %8164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8151, ptr noundef @.str.5, i32 noundef %8152, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 341, ptr noundef %8155, ptr noundef %8158, ptr noundef %8161, i32 noundef %8163) #11
  br label %8165

8165:                                             ; preds = %8148, %8131
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  br label %8166

8166:                                             ; preds = %8165
  br label %8167

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

8168:                                             ; No predecessors!
  br label %8169

8169:                                             ; preds = %8168
  br label %8170

8170:                                             ; preds = %8169, %8108
  br label %8171

8171:                                             ; preds = %8170
  br label %8172

8172:                                             ; preds = %8171
  br label %8173

8173:                                             ; preds = %8172
  %8174 = load i32, ptr @test_count, align 4, !tbaa !5
  %8175 = add nsw i32 %8174, 1
  store i32 %8175, ptr @test_count, align 4, !tbaa !5
  %8176 = load ptr, ptr %148, align 8, !tbaa !9
  %8177 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %8176, i32 0, i32 2
  %8178 = getelementptr inbounds %struct.s2n_blob, ptr %8177, i32 0, i32 1
  %8179 = load i32, ptr %8178, align 8, !tbaa !56
  %8180 = icmp eq i32 %8179, 0
  br i1 %8180, label %8234, label %8181

8181:                                             ; preds = %8173
  br label %8182

8182:                                             ; preds = %8181
  br label %8183

8183:                                             ; preds = %8182
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %8184 = call ptr @__errno_location() #12
  %8185 = load i32, ptr %8184, align 4, !tbaa !5
  store i32 %8185, ptr %157, align 4, !tbaa !5
  %8186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8187 = call i32 @s2n_print_stacktrace(ptr noundef %8186)
  %8188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8189 = trunc i8 %8188 to i1
  br i1 %8189, label %8190, label %8212

8190:                                             ; preds = %8183
  %8191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8192 = call i32 @fileno(ptr noundef %8191) #11
  %8193 = call i32 @isatty(i32 noundef %8192) #11
  %8194 = icmp ne i32 %8193, 0
  br i1 %8194, label %8195, label %8212

8195:                                             ; preds = %8190
  %8196 = load i32, ptr %157, align 4, !tbaa !5
  %8197 = call ptr @__errno_location() #12
  store i32 %8196, ptr %8197, align 4, !tbaa !5
  %8198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8199 = load i32, ptr @test_count, align 4, !tbaa !5
  %8200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8201 = load i32, ptr %8200, align 4, !tbaa !5
  %8202 = call ptr @s2n_strerror(i32 noundef %8201, ptr noundef @.str.4)
  %8203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8204 = load i32, ptr %8203, align 4, !tbaa !5
  %8205 = call ptr @s2n_strerror_debug(i32 noundef %8204, ptr noundef @.str.4)
  %8206 = call ptr @__errno_location() #12
  %8207 = load i32, ptr %8206, align 4, !tbaa !5
  %8208 = call ptr @strerror(i32 noundef %8207) #11
  %8209 = call ptr @__errno_location() #12
  %8210 = load i32, ptr %8209, align 4, !tbaa !5
  %8211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8198, ptr noundef @.str.2, i32 noundef %8199, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 342, ptr noundef %8202, ptr noundef %8205, ptr noundef %8208, i32 noundef %8210) #11
  br label %8229

8212:                                             ; preds = %8190, %8183
  %8213 = load i32, ptr %157, align 4, !tbaa !5
  %8214 = call ptr @__errno_location() #12
  store i32 %8213, ptr %8214, align 4, !tbaa !5
  %8215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8216 = load i32, ptr @test_count, align 4, !tbaa !5
  %8217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8218 = load i32, ptr %8217, align 4, !tbaa !5
  %8219 = call ptr @s2n_strerror(i32 noundef %8218, ptr noundef @.str.4)
  %8220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8221 = load i32, ptr %8220, align 4, !tbaa !5
  %8222 = call ptr @s2n_strerror_debug(i32 noundef %8221, ptr noundef @.str.4)
  %8223 = call ptr @__errno_location() #12
  %8224 = load i32, ptr %8223, align 4, !tbaa !5
  %8225 = call ptr @strerror(i32 noundef %8224) #11
  %8226 = call ptr @__errno_location() #12
  %8227 = load i32, ptr %8226, align 4, !tbaa !5
  %8228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8215, ptr noundef @.str.5, i32 noundef %8216, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 342, ptr noundef %8219, ptr noundef %8222, ptr noundef %8225, i32 noundef %8227) #11
  br label %8229

8229:                                             ; preds = %8212, %8195
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %8230

8230:                                             ; preds = %8229
  br label %8231

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

8232:                                             ; No predecessors!
  br label %8233

8233:                                             ; preds = %8232
  br label %8234

8234:                                             ; preds = %8233, %8173
  br label %8235

8235:                                             ; preds = %8234
  br label %8236

8236:                                             ; preds = %8235
  %8237 = call i32 @s2n_config_ptr_free(ptr noundef %150)
  %8238 = getelementptr inbounds %struct.s2n_result, ptr %158, i32 0, i32 0
  store i32 %8237, ptr %8238, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %150) #11
  %8239 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %148)
  %8240 = getelementptr inbounds %struct.s2n_result, ptr %159, i32 0, i32 0
  store i32 %8239, ptr %8240, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %148) #11
  call void @llvm.lifetime.end.p0(i64 15, ptr %141) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #11
  store ptr null, ptr %160, align 8, !tbaa !9
  br label %8241

8241:                                             ; preds = %8236
  %8242 = load i32, ptr @test_count, align 4, !tbaa !5
  %8243 = add nsw i32 %8242, 1
  store i32 %8243, ptr @test_count, align 4, !tbaa !5
  %8244 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %160, ptr noundef @.str.15, ptr noundef @.str.17)
  %8245 = icmp eq i32 %8244, -1
  br i1 %8245, label %8246, label %8299

8246:                                             ; preds = %8241
  br label %8247

8247:                                             ; preds = %8246
  br label %8248

8248:                                             ; preds = %8247
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %8249 = call ptr @__errno_location() #12
  %8250 = load i32, ptr %8249, align 4, !tbaa !5
  store i32 %8250, ptr %161, align 4, !tbaa !5
  %8251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8252 = call i32 @s2n_print_stacktrace(ptr noundef %8251)
  %8253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8254 = trunc i8 %8253 to i1
  br i1 %8254, label %8255, label %8277

8255:                                             ; preds = %8248
  %8256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8257 = call i32 @fileno(ptr noundef %8256) #11
  %8258 = call i32 @isatty(i32 noundef %8257) #11
  %8259 = icmp ne i32 %8258, 0
  br i1 %8259, label %8260, label %8277

8260:                                             ; preds = %8255
  %8261 = load i32, ptr %161, align 4, !tbaa !5
  %8262 = call ptr @__errno_location() #12
  store i32 %8261, ptr %8262, align 4, !tbaa !5
  %8263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8264 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8266, ptr noundef @.str.4)
  %8268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8269 = load i32, ptr %8268, align 4, !tbaa !5
  %8270 = call ptr @s2n_strerror_debug(i32 noundef %8269, ptr noundef @.str.4)
  %8271 = call ptr @__errno_location() #12
  %8272 = load i32, ptr %8271, align 4, !tbaa !5
  %8273 = call ptr @strerror(i32 noundef %8272) #11
  %8274 = call ptr @__errno_location() #12
  %8275 = load i32, ptr %8274, align 4, !tbaa !5
  %8276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8263, ptr noundef @.str.2, i32 noundef %8264, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 352, ptr noundef %8267, ptr noundef %8270, ptr noundef %8273, i32 noundef %8275) #11
  br label %8294

8277:                                             ; preds = %8255, %8248
  %8278 = load i32, ptr %161, align 4, !tbaa !5
  %8279 = call ptr @__errno_location() #12
  store i32 %8278, ptr %8279, align 4, !tbaa !5
  %8280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8281 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %8283, ptr noundef @.str.4)
  %8285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8286 = load i32, ptr %8285, align 4, !tbaa !5
  %8287 = call ptr @s2n_strerror_debug(i32 noundef %8286, ptr noundef @.str.4)
  %8288 = call ptr @__errno_location() #12
  %8289 = load i32, ptr %8288, align 4, !tbaa !5
  %8290 = call ptr @strerror(i32 noundef %8289) #11
  %8291 = call ptr @__errno_location() #12
  %8292 = load i32, ptr %8291, align 4, !tbaa !5
  %8293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8280, ptr noundef @.str.5, i32 noundef %8281, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 352, ptr noundef %8284, ptr noundef %8287, ptr noundef %8290, i32 noundef %8292) #11
  br label %8294

8294:                                             ; preds = %8277, %8260
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %8295

8295:                                             ; preds = %8294
  br label %8296

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

8297:                                             ; No predecessors!
  br label %8298

8298:                                             ; preds = %8297
  br label %8299

8299:                                             ; preds = %8298, %8241
  br label %8300

8300:                                             ; preds = %8299
  br label %8301

8301:                                             ; preds = %8300
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #11
  %8302 = call ptr @s2n_config_new()
  store ptr %8302, ptr %162, align 8, !tbaa !9
  br label %8303

8303:                                             ; preds = %8301
  %8304 = load i32, ptr @test_count, align 4, !tbaa !5
  %8305 = add nsw i32 %8304, 1
  store i32 %8305, ptr @test_count, align 4, !tbaa !5
  %8306 = load ptr, ptr %162, align 8, !tbaa !9
  %8307 = icmp eq ptr %8306, null
  br i1 %8307, label %8308, label %8361

8308:                                             ; preds = %8303
  br label %8309

8309:                                             ; preds = %8308
  br label %8310

8310:                                             ; preds = %8309
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %8311 = call ptr @__errno_location() #12
  %8312 = load i32, ptr %8311, align 4, !tbaa !5
  store i32 %8312, ptr %163, align 4, !tbaa !5
  %8313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8314 = call i32 @s2n_print_stacktrace(ptr noundef %8313)
  %8315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8316 = trunc i8 %8315 to i1
  br i1 %8316, label %8317, label %8339

8317:                                             ; preds = %8310
  %8318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8319 = call i32 @fileno(ptr noundef %8318) #11
  %8320 = call i32 @isatty(i32 noundef %8319) #11
  %8321 = icmp ne i32 %8320, 0
  br i1 %8321, label %8322, label %8339

8322:                                             ; preds = %8317
  %8323 = load i32, ptr %163, align 4, !tbaa !5
  %8324 = call ptr @__errno_location() #12
  store i32 %8323, ptr %8324, align 4, !tbaa !5
  %8325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8326 = load i32, ptr @test_count, align 4, !tbaa !5
  %8327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8328 = load i32, ptr %8327, align 4, !tbaa !5
  %8329 = call ptr @s2n_strerror(i32 noundef %8328, ptr noundef @.str.4)
  %8330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8331 = load i32, ptr %8330, align 4, !tbaa !5
  %8332 = call ptr @s2n_strerror_debug(i32 noundef %8331, ptr noundef @.str.4)
  %8333 = call ptr @__errno_location() #12
  %8334 = load i32, ptr %8333, align 4, !tbaa !5
  %8335 = call ptr @strerror(i32 noundef %8334) #11
  %8336 = call ptr @__errno_location() #12
  %8337 = load i32, ptr %8336, align 4, !tbaa !5
  %8338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8325, ptr noundef @.str.2, i32 noundef %8326, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 355, ptr noundef %8329, ptr noundef %8332, ptr noundef %8335, i32 noundef %8337) #11
  br label %8356

8339:                                             ; preds = %8317, %8310
  %8340 = load i32, ptr %163, align 4, !tbaa !5
  %8341 = call ptr @__errno_location() #12
  store i32 %8340, ptr %8341, align 4, !tbaa !5
  %8342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8343 = load i32, ptr @test_count, align 4, !tbaa !5
  %8344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8345 = load i32, ptr %8344, align 4, !tbaa !5
  %8346 = call ptr @s2n_strerror(i32 noundef %8345, ptr noundef @.str.4)
  %8347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8348 = load i32, ptr %8347, align 4, !tbaa !5
  %8349 = call ptr @s2n_strerror_debug(i32 noundef %8348, ptr noundef @.str.4)
  %8350 = call ptr @__errno_location() #12
  %8351 = load i32, ptr %8350, align 4, !tbaa !5
  %8352 = call ptr @strerror(i32 noundef %8351) #11
  %8353 = call ptr @__errno_location() #12
  %8354 = load i32, ptr %8353, align 4, !tbaa !5
  %8355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8342, ptr noundef @.str.5, i32 noundef %8343, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 355, ptr noundef %8346, ptr noundef %8349, ptr noundef %8352, i32 noundef %8354) #11
  br label %8356

8356:                                             ; preds = %8339, %8322
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %8357

8357:                                             ; preds = %8356
  br label %8358

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

8359:                                             ; No predecessors!
  br label %8360

8360:                                             ; preds = %8359
  br label %8361

8361:                                             ; preds = %8360, %8303
  br label %8362

8362:                                             ; preds = %8361
  br label %8363

8363:                                             ; preds = %8362
  br label %8364

8364:                                             ; preds = %8363
  %8365 = load i32, ptr @test_count, align 4, !tbaa !5
  %8366 = add nsw i32 %8365, 1
  store i32 %8366, ptr @test_count, align 4, !tbaa !5
  %8367 = load ptr, ptr %162, align 8, !tbaa !9
  %8368 = load ptr, ptr %160, align 8, !tbaa !9
  %8369 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %8367, ptr noundef %8368)
  %8370 = icmp eq i32 %8369, -1
  br i1 %8370, label %8371, label %8424

8371:                                             ; preds = %8364
  br label %8372

8372:                                             ; preds = %8371
  br label %8373

8373:                                             ; preds = %8372
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %8374 = call ptr @__errno_location() #12
  %8375 = load i32, ptr %8374, align 4, !tbaa !5
  store i32 %8375, ptr %164, align 4, !tbaa !5
  %8376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8377 = call i32 @s2n_print_stacktrace(ptr noundef %8376)
  %8378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8379 = trunc i8 %8378 to i1
  br i1 %8379, label %8380, label %8402

8380:                                             ; preds = %8373
  %8381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8382 = call i32 @fileno(ptr noundef %8381) #11
  %8383 = call i32 @isatty(i32 noundef %8382) #11
  %8384 = icmp ne i32 %8383, 0
  br i1 %8384, label %8385, label %8402

8385:                                             ; preds = %8380
  %8386 = load i32, ptr %164, align 4, !tbaa !5
  %8387 = call ptr @__errno_location() #12
  store i32 %8386, ptr %8387, align 4, !tbaa !5
  %8388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8389 = load i32, ptr @test_count, align 4, !tbaa !5
  %8390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8391 = load i32, ptr %8390, align 4, !tbaa !5
  %8392 = call ptr @s2n_strerror(i32 noundef %8391, ptr noundef @.str.4)
  %8393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8394 = load i32, ptr %8393, align 4, !tbaa !5
  %8395 = call ptr @s2n_strerror_debug(i32 noundef %8394, ptr noundef @.str.4)
  %8396 = call ptr @__errno_location() #12
  %8397 = load i32, ptr %8396, align 4, !tbaa !5
  %8398 = call ptr @strerror(i32 noundef %8397) #11
  %8399 = call ptr @__errno_location() #12
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  %8401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8388, ptr noundef @.str.2, i32 noundef %8389, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 356, ptr noundef %8392, ptr noundef %8395, ptr noundef %8398, i32 noundef %8400) #11
  br label %8419

8402:                                             ; preds = %8380, %8373
  %8403 = load i32, ptr %164, align 4, !tbaa !5
  %8404 = call ptr @__errno_location() #12
  store i32 %8403, ptr %8404, align 4, !tbaa !5
  %8405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8406 = load i32, ptr @test_count, align 4, !tbaa !5
  %8407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8408 = load i32, ptr %8407, align 4, !tbaa !5
  %8409 = call ptr @s2n_strerror(i32 noundef %8408, ptr noundef @.str.4)
  %8410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8411 = load i32, ptr %8410, align 4, !tbaa !5
  %8412 = call ptr @s2n_strerror_debug(i32 noundef %8411, ptr noundef @.str.4)
  %8413 = call ptr @__errno_location() #12
  %8414 = load i32, ptr %8413, align 4, !tbaa !5
  %8415 = call ptr @strerror(i32 noundef %8414) #11
  %8416 = call ptr @__errno_location() #12
  %8417 = load i32, ptr %8416, align 4, !tbaa !5
  %8418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8405, ptr noundef @.str.5, i32 noundef %8406, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 356, ptr noundef %8409, ptr noundef %8412, ptr noundef %8415, i32 noundef %8417) #11
  br label %8419

8419:                                             ; preds = %8402, %8385
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %8420

8420:                                             ; preds = %8419
  br label %8421

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

8422:                                             ; No predecessors!
  br label %8423

8423:                                             ; preds = %8422
  br label %8424

8424:                                             ; preds = %8423, %8364
  br label %8425

8425:                                             ; preds = %8424
  br label %8426

8426:                                             ; preds = %8425
  br label %8427

8427:                                             ; preds = %8426
  %8428 = load i32, ptr @test_count, align 4, !tbaa !5
  %8429 = add nsw i32 %8428, 1
  store i32 %8429, ptr @test_count, align 4, !tbaa !5
  %8430 = load ptr, ptr %162, align 8, !tbaa !9
  %8431 = call ptr @s2n_config_get_single_default_cert(ptr noundef %8430)
  %8432 = icmp eq ptr %8431, null
  br i1 %8432, label %8433, label %8486

8433:                                             ; preds = %8427
  br label %8434

8434:                                             ; preds = %8433
  br label %8435

8435:                                             ; preds = %8434
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %8436 = call ptr @__errno_location() #12
  %8437 = load i32, ptr %8436, align 4, !tbaa !5
  store i32 %8437, ptr %165, align 4, !tbaa !5
  %8438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8439 = call i32 @s2n_print_stacktrace(ptr noundef %8438)
  %8440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8441 = trunc i8 %8440 to i1
  br i1 %8441, label %8442, label %8464

8442:                                             ; preds = %8435
  %8443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8444 = call i32 @fileno(ptr noundef %8443) #11
  %8445 = call i32 @isatty(i32 noundef %8444) #11
  %8446 = icmp ne i32 %8445, 0
  br i1 %8446, label %8447, label %8464

8447:                                             ; preds = %8442
  %8448 = load i32, ptr %165, align 4, !tbaa !5
  %8449 = call ptr @__errno_location() #12
  store i32 %8448, ptr %8449, align 4, !tbaa !5
  %8450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8451 = load i32, ptr @test_count, align 4, !tbaa !5
  %8452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8453 = load i32, ptr %8452, align 4, !tbaa !5
  %8454 = call ptr @s2n_strerror(i32 noundef %8453, ptr noundef @.str.4)
  %8455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8456 = load i32, ptr %8455, align 4, !tbaa !5
  %8457 = call ptr @s2n_strerror_debug(i32 noundef %8456, ptr noundef @.str.4)
  %8458 = call ptr @__errno_location() #12
  %8459 = load i32, ptr %8458, align 4, !tbaa !5
  %8460 = call ptr @strerror(i32 noundef %8459) #11
  %8461 = call ptr @__errno_location() #12
  %8462 = load i32, ptr %8461, align 4, !tbaa !5
  %8463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8450, ptr noundef @.str.2, i32 noundef %8451, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 357, ptr noundef %8454, ptr noundef %8457, ptr noundef %8460, i32 noundef %8462) #11
  br label %8481

8464:                                             ; preds = %8442, %8435
  %8465 = load i32, ptr %165, align 4, !tbaa !5
  %8466 = call ptr @__errno_location() #12
  store i32 %8465, ptr %8466, align 4, !tbaa !5
  %8467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8468 = load i32, ptr @test_count, align 4, !tbaa !5
  %8469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8470 = load i32, ptr %8469, align 4, !tbaa !5
  %8471 = call ptr @s2n_strerror(i32 noundef %8470, ptr noundef @.str.4)
  %8472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8473 = load i32, ptr %8472, align 4, !tbaa !5
  %8474 = call ptr @s2n_strerror_debug(i32 noundef %8473, ptr noundef @.str.4)
  %8475 = call ptr @__errno_location() #12
  %8476 = load i32, ptr %8475, align 4, !tbaa !5
  %8477 = call ptr @strerror(i32 noundef %8476) #11
  %8478 = call ptr @__errno_location() #12
  %8479 = load i32, ptr %8478, align 4, !tbaa !5
  %8480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8467, ptr noundef @.str.5, i32 noundef %8468, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 357, ptr noundef %8471, ptr noundef %8474, ptr noundef %8477, i32 noundef %8479) #11
  br label %8481

8481:                                             ; preds = %8464, %8447
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %8482

8482:                                             ; preds = %8481
  br label %8483

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

8484:                                             ; No predecessors!
  br label %8485

8485:                                             ; preds = %8484
  br label %8486

8486:                                             ; preds = %8485, %8427
  br label %8487

8487:                                             ; preds = %8486
  br label %8488

8488:                                             ; preds = %8487
  br label %8489

8489:                                             ; preds = %8488
  %8490 = load i32, ptr @test_count, align 4, !tbaa !5
  %8491 = add nsw i32 %8490, 1
  store i32 %8491, ptr @test_count, align 4, !tbaa !5
  %8492 = load ptr, ptr %162, align 8, !tbaa !9
  %8493 = getelementptr inbounds %struct.s2n_config, ptr %8492, i32 0, i32 51
  %8494 = load i32, ptr %8493, align 8, !tbaa !58
  %8495 = icmp eq i32 %8494, 1
  br i1 %8495, label %8549, label %8496

8496:                                             ; preds = %8489
  br label %8497

8497:                                             ; preds = %8496
  br label %8498

8498:                                             ; preds = %8497
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  %8499 = call ptr @__errno_location() #12
  %8500 = load i32, ptr %8499, align 4, !tbaa !5
  store i32 %8500, ptr %166, 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 %166, 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.4)
  %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.4)
  %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.2, i32 noundef %8514, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 358, ptr noundef %8517, ptr noundef %8520, ptr noundef %8523, i32 noundef %8525) #11
  br label %8544

8527:                                             ; preds = %8505, %8498
  %8528 = load i32, ptr %166, 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.4)
  %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.4)
  %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.5, i32 noundef %8531, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 358, 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 %166) #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, %8489
  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 %162, align 8, !tbaa !9
  %8556 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef %8555)
  %8557 = icmp eq i32 %8556, -1
  br i1 %8557, label %8558, label %8611

8558:                                             ; preds = %8552
  br label %8559

8559:                                             ; preds = %8558
  br label %8560

8560:                                             ; preds = %8559
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #11
  %8561 = call ptr @__errno_location() #12
  %8562 = load i32, ptr %8561, align 4, !tbaa !5
  store i32 %8562, ptr %167, align 4, !tbaa !5
  %8563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8564 = call i32 @s2n_print_stacktrace(ptr noundef %8563)
  %8565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8566 = trunc i8 %8565 to i1
  br i1 %8566, label %8567, label %8589

8567:                                             ; preds = %8560
  %8568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8569 = call i32 @fileno(ptr noundef %8568) #11
  %8570 = call i32 @isatty(i32 noundef %8569) #11
  %8571 = icmp ne i32 %8570, 0
  br i1 %8571, label %8572, label %8589

8572:                                             ; preds = %8567
  %8573 = load i32, ptr %167, align 4, !tbaa !5
  %8574 = call ptr @__errno_location() #12
  store i32 %8573, ptr %8574, align 4, !tbaa !5
  %8575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8576 = load i32, ptr @test_count, align 4, !tbaa !5
  %8577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8578 = load i32, ptr %8577, align 4, !tbaa !5
  %8579 = call ptr @s2n_strerror(i32 noundef %8578, ptr noundef @.str.4)
  %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_debug(i32 noundef %8581, ptr noundef @.str.4)
  %8583 = call ptr @__errno_location() #12
  %8584 = load i32, ptr %8583, align 4, !tbaa !5
  %8585 = call ptr @strerror(i32 noundef %8584) #11
  %8586 = call ptr @__errno_location() #12
  %8587 = load i32, ptr %8586, align 4, !tbaa !5
  %8588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8575, ptr noundef @.str.2, i32 noundef %8576, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 361, ptr noundef %8579, ptr noundef %8582, ptr noundef %8585, i32 noundef %8587) #11
  br label %8606

8589:                                             ; preds = %8567, %8560
  %8590 = load i32, ptr %167, align 4, !tbaa !5
  %8591 = call ptr @__errno_location() #12
  store i32 %8590, ptr %8591, align 4, !tbaa !5
  %8592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8593 = load i32, ptr @test_count, align 4, !tbaa !5
  %8594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8595 = load i32, ptr %8594, align 4, !tbaa !5
  %8596 = call ptr @s2n_strerror(i32 noundef %8595, ptr noundef @.str.4)
  %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_debug(i32 noundef %8598, ptr noundef @.str.4)
  %8600 = call ptr @__errno_location() #12
  %8601 = load i32, ptr %8600, align 4, !tbaa !5
  %8602 = call ptr @strerror(i32 noundef %8601) #11
  %8603 = call ptr @__errno_location() #12
  %8604 = load i32, ptr %8603, align 4, !tbaa !5
  %8605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8592, ptr noundef @.str.5, i32 noundef %8593, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 361, ptr noundef %8596, ptr noundef %8599, ptr noundef %8602, i32 noundef %8604) #11
  br label %8606

8606:                                             ; preds = %8589, %8572
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #11
  br label %8607

8607:                                             ; preds = %8606
  br label %8608

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

8609:                                             ; No predecessors!
  br label %8610

8610:                                             ; preds = %8609
  br label %8611

8611:                                             ; preds = %8610, %8552
  br label %8612

8612:                                             ; preds = %8611
  br label %8613

8613:                                             ; preds = %8612
  br label %8614

8614:                                             ; preds = %8613
  %8615 = load i32, ptr @test_count, align 4, !tbaa !5
  %8616 = add nsw i32 %8615, 1
  store i32 %8616, ptr @test_count, align 4, !tbaa !5
  %8617 = load ptr, ptr %162, align 8, !tbaa !9
  %8618 = call ptr @s2n_config_get_single_default_cert(ptr noundef %8617)
  %8619 = icmp eq ptr %8618, null
  br i1 %8619, label %8620, label %8673

8620:                                             ; preds = %8614
  br label %8621

8621:                                             ; preds = %8620
  br label %8622

8622:                                             ; preds = %8621
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %8623 = call ptr @__errno_location() #12
  %8624 = load i32, ptr %8623, align 4, !tbaa !5
  store i32 %8624, ptr %168, align 4, !tbaa !5
  %8625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8626 = call i32 @s2n_print_stacktrace(ptr noundef %8625)
  %8627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8628 = trunc i8 %8627 to i1
  br i1 %8628, label %8629, label %8651

8629:                                             ; preds = %8622
  %8630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8631 = call i32 @fileno(ptr noundef %8630) #11
  %8632 = call i32 @isatty(i32 noundef %8631) #11
  %8633 = icmp ne i32 %8632, 0
  br i1 %8633, label %8634, label %8651

8634:                                             ; preds = %8629
  %8635 = load i32, ptr %168, align 4, !tbaa !5
  %8636 = call ptr @__errno_location() #12
  store i32 %8635, ptr %8636, align 4, !tbaa !5
  %8637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8638 = load i32, ptr @test_count, align 4, !tbaa !5
  %8639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8640 = load i32, ptr %8639, align 4, !tbaa !5
  %8641 = call ptr @s2n_strerror(i32 noundef %8640, ptr noundef @.str.4)
  %8642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8643 = load i32, ptr %8642, align 4, !tbaa !5
  %8644 = call ptr @s2n_strerror_debug(i32 noundef %8643, ptr noundef @.str.4)
  %8645 = call ptr @__errno_location() #12
  %8646 = load i32, ptr %8645, align 4, !tbaa !5
  %8647 = call ptr @strerror(i32 noundef %8646) #11
  %8648 = call ptr @__errno_location() #12
  %8649 = load i32, ptr %8648, align 4, !tbaa !5
  %8650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8637, ptr noundef @.str.2, i32 noundef %8638, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 362, ptr noundef %8641, ptr noundef %8644, ptr noundef %8647, i32 noundef %8649) #11
  br label %8668

8651:                                             ; preds = %8629, %8622
  %8652 = load i32, ptr %168, align 4, !tbaa !5
  %8653 = call ptr @__errno_location() #12
  store i32 %8652, ptr %8653, align 4, !tbaa !5
  %8654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8655 = load i32, ptr @test_count, align 4, !tbaa !5
  %8656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8657 = load i32, ptr %8656, align 4, !tbaa !5
  %8658 = call ptr @s2n_strerror(i32 noundef %8657, ptr noundef @.str.4)
  %8659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8660 = load i32, ptr %8659, align 4, !tbaa !5
  %8661 = call ptr @s2n_strerror_debug(i32 noundef %8660, ptr noundef @.str.4)
  %8662 = call ptr @__errno_location() #12
  %8663 = load i32, ptr %8662, align 4, !tbaa !5
  %8664 = call ptr @strerror(i32 noundef %8663) #11
  %8665 = call ptr @__errno_location() #12
  %8666 = load i32, ptr %8665, align 4, !tbaa !5
  %8667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8654, ptr noundef @.str.5, i32 noundef %8655, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 362, ptr noundef %8658, ptr noundef %8661, ptr noundef %8664, i32 noundef %8666) #11
  br label %8668

8668:                                             ; preds = %8651, %8634
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %8669

8669:                                             ; preds = %8668
  br label %8670

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

8671:                                             ; No predecessors!
  br label %8672

8672:                                             ; preds = %8671
  br label %8673

8673:                                             ; preds = %8672, %8614
  br label %8674

8674:                                             ; preds = %8673
  br label %8675

8675:                                             ; preds = %8674
  br label %8676

8676:                                             ; preds = %8675
  %8677 = load i32, ptr @test_count, align 4, !tbaa !5
  %8678 = add nsw i32 %8677, 1
  store i32 %8678, ptr @test_count, align 4, !tbaa !5
  %8679 = load ptr, ptr %162, align 8, !tbaa !9
  %8680 = getelementptr inbounds %struct.s2n_config, ptr %8679, i32 0, i32 51
  %8681 = load i32, ptr %8680, align 8, !tbaa !58
  %8682 = icmp eq i32 %8681, 1
  br i1 %8682, label %8736, label %8683

8683:                                             ; preds = %8676
  br label %8684

8684:                                             ; preds = %8683
  br label %8685

8685:                                             ; preds = %8684
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %8686 = call ptr @__errno_location() #12
  %8687 = load i32, ptr %8686, align 4, !tbaa !5
  store i32 %8687, ptr %169, align 4, !tbaa !5
  %8688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8689 = call i32 @s2n_print_stacktrace(ptr noundef %8688)
  %8690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8691 = trunc i8 %8690 to i1
  br i1 %8691, label %8692, label %8714

8692:                                             ; preds = %8685
  %8693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8694 = call i32 @fileno(ptr noundef %8693) #11
  %8695 = call i32 @isatty(i32 noundef %8694) #11
  %8696 = icmp ne i32 %8695, 0
  br i1 %8696, label %8697, label %8714

8697:                                             ; preds = %8692
  %8698 = load i32, ptr %169, align 4, !tbaa !5
  %8699 = call ptr @__errno_location() #12
  store i32 %8698, ptr %8699, align 4, !tbaa !5
  %8700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8701 = load i32, ptr @test_count, align 4, !tbaa !5
  %8702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8703 = load i32, ptr %8702, align 4, !tbaa !5
  %8704 = call ptr @s2n_strerror(i32 noundef %8703, ptr noundef @.str.4)
  %8705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8706 = load i32, ptr %8705, align 4, !tbaa !5
  %8707 = call ptr @s2n_strerror_debug(i32 noundef %8706, ptr noundef @.str.4)
  %8708 = call ptr @__errno_location() #12
  %8709 = load i32, ptr %8708, align 4, !tbaa !5
  %8710 = call ptr @strerror(i32 noundef %8709) #11
  %8711 = call ptr @__errno_location() #12
  %8712 = load i32, ptr %8711, align 4, !tbaa !5
  %8713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8700, ptr noundef @.str.2, i32 noundef %8701, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 363, ptr noundef %8704, ptr noundef %8707, ptr noundef %8710, i32 noundef %8712) #11
  br label %8731

8714:                                             ; preds = %8692, %8685
  %8715 = load i32, ptr %169, align 4, !tbaa !5
  %8716 = call ptr @__errno_location() #12
  store i32 %8715, ptr %8716, align 4, !tbaa !5
  %8717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8718 = load i32, ptr @test_count, align 4, !tbaa !5
  %8719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8720 = load i32, ptr %8719, align 4, !tbaa !5
  %8721 = call ptr @s2n_strerror(i32 noundef %8720, ptr noundef @.str.4)
  %8722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8723 = load i32, ptr %8722, align 4, !tbaa !5
  %8724 = call ptr @s2n_strerror_debug(i32 noundef %8723, ptr noundef @.str.4)
  %8725 = call ptr @__errno_location() #12
  %8726 = load i32, ptr %8725, align 4, !tbaa !5
  %8727 = call ptr @strerror(i32 noundef %8726) #11
  %8728 = call ptr @__errno_location() #12
  %8729 = load i32, ptr %8728, align 4, !tbaa !5
  %8730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8717, ptr noundef @.str.5, i32 noundef %8718, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 363, ptr noundef %8721, ptr noundef %8724, ptr noundef %8727, i32 noundef %8729) #11
  br label %8731

8731:                                             ; preds = %8714, %8697
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %8732

8732:                                             ; preds = %8731
  br label %8733

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

8734:                                             ; No predecessors!
  br label %8735

8735:                                             ; preds = %8734
  br label %8736

8736:                                             ; preds = %8735, %8676
  br label %8737

8737:                                             ; preds = %8736
  br label %8738

8738:                                             ; preds = %8737
  br label %8739

8739:                                             ; preds = %8738
  %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 %162, align 8, !tbaa !9
  %8743 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef %8742)
  %8744 = icmp eq i32 %8743, -1
  br i1 %8744, label %8745, label %8798

8745:                                             ; preds = %8739
  br label %8746

8746:                                             ; preds = %8745
  br label %8747

8747:                                             ; preds = %8746
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %8748 = call ptr @__errno_location() #12
  %8749 = load i32, ptr %8748, align 4, !tbaa !5
  store i32 %8749, ptr %170, align 4, !tbaa !5
  %8750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8751 = call i32 @s2n_print_stacktrace(ptr noundef %8750)
  %8752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8753 = trunc i8 %8752 to i1
  br i1 %8753, label %8754, label %8776

8754:                                             ; preds = %8747
  %8755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8756 = call i32 @fileno(ptr noundef %8755) #11
  %8757 = call i32 @isatty(i32 noundef %8756) #11
  %8758 = icmp ne i32 %8757, 0
  br i1 %8758, label %8759, label %8776

8759:                                             ; preds = %8754
  %8760 = load i32, ptr %170, align 4, !tbaa !5
  %8761 = call ptr @__errno_location() #12
  store i32 %8760, ptr %8761, align 4, !tbaa !5
  %8762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8763 = load i32, ptr @test_count, align 4, !tbaa !5
  %8764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8765 = load i32, ptr %8764, align 4, !tbaa !5
  %8766 = call ptr @s2n_strerror(i32 noundef %8765, ptr noundef @.str.4)
  %8767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8768 = load i32, ptr %8767, align 4, !tbaa !5
  %8769 = call ptr @s2n_strerror_debug(i32 noundef %8768, ptr noundef @.str.4)
  %8770 = call ptr @__errno_location() #12
  %8771 = load i32, ptr %8770, align 4, !tbaa !5
  %8772 = call ptr @strerror(i32 noundef %8771) #11
  %8773 = call ptr @__errno_location() #12
  %8774 = load i32, ptr %8773, align 4, !tbaa !5
  %8775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8762, ptr noundef @.str.2, i32 noundef %8763, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 366, ptr noundef %8766, ptr noundef %8769, ptr noundef %8772, i32 noundef %8774) #11
  br label %8793

8776:                                             ; preds = %8754, %8747
  %8777 = load i32, ptr %170, align 4, !tbaa !5
  %8778 = call ptr @__errno_location() #12
  store i32 %8777, ptr %8778, align 4, !tbaa !5
  %8779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8780 = load i32, ptr @test_count, align 4, !tbaa !5
  %8781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8782 = load i32, ptr %8781, align 4, !tbaa !5
  %8783 = call ptr @s2n_strerror(i32 noundef %8782, ptr noundef @.str.4)
  %8784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8785 = load i32, ptr %8784, align 4, !tbaa !5
  %8786 = call ptr @s2n_strerror_debug(i32 noundef %8785, ptr noundef @.str.4)
  %8787 = call ptr @__errno_location() #12
  %8788 = load i32, ptr %8787, align 4, !tbaa !5
  %8789 = call ptr @strerror(i32 noundef %8788) #11
  %8790 = call ptr @__errno_location() #12
  %8791 = load i32, ptr %8790, align 4, !tbaa !5
  %8792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8779, ptr noundef @.str.5, i32 noundef %8780, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 366, ptr noundef %8783, ptr noundef %8786, ptr noundef %8789, i32 noundef %8791) #11
  br label %8793

8793:                                             ; preds = %8776, %8759
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %8794

8794:                                             ; preds = %8793
  br label %8795

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

8796:                                             ; No predecessors!
  br label %8797

8797:                                             ; preds = %8796
  br label %8798

8798:                                             ; preds = %8797, %8739
  br label %8799

8799:                                             ; preds = %8798
  br label %8800

8800:                                             ; preds = %8799
  br label %8801

8801:                                             ; preds = %8800
  %8802 = load i32, ptr @test_count, align 4, !tbaa !5
  %8803 = add nsw i32 %8802, 1
  store i32 %8803, ptr @test_count, align 4, !tbaa !5
  %8804 = load ptr, ptr %162, align 8, !tbaa !9
  %8805 = call ptr @s2n_config_get_single_default_cert(ptr noundef %8804)
  %8806 = icmp eq ptr %8805, null
  br i1 %8806, label %8807, label %8860

8807:                                             ; preds = %8801
  br label %8808

8808:                                             ; preds = %8807
  br label %8809

8809:                                             ; preds = %8808
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %8810 = call ptr @__errno_location() #12
  %8811 = load i32, ptr %8810, align 4, !tbaa !5
  store i32 %8811, ptr %171, align 4, !tbaa !5
  %8812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8813 = call i32 @s2n_print_stacktrace(ptr noundef %8812)
  %8814 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8815 = trunc i8 %8814 to i1
  br i1 %8815, label %8816, label %8838

8816:                                             ; preds = %8809
  %8817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8818 = call i32 @fileno(ptr noundef %8817) #11
  %8819 = call i32 @isatty(i32 noundef %8818) #11
  %8820 = icmp ne i32 %8819, 0
  br i1 %8820, label %8821, label %8838

8821:                                             ; preds = %8816
  %8822 = load i32, ptr %171, align 4, !tbaa !5
  %8823 = call ptr @__errno_location() #12
  store i32 %8822, ptr %8823, align 4, !tbaa !5
  %8824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8825 = load i32, ptr @test_count, align 4, !tbaa !5
  %8826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8827 = load i32, ptr %8826, align 4, !tbaa !5
  %8828 = call ptr @s2n_strerror(i32 noundef %8827, ptr noundef @.str.4)
  %8829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8830 = load i32, ptr %8829, align 4, !tbaa !5
  %8831 = call ptr @s2n_strerror_debug(i32 noundef %8830, ptr noundef @.str.4)
  %8832 = call ptr @__errno_location() #12
  %8833 = load i32, ptr %8832, align 4, !tbaa !5
  %8834 = call ptr @strerror(i32 noundef %8833) #11
  %8835 = call ptr @__errno_location() #12
  %8836 = load i32, ptr %8835, align 4, !tbaa !5
  %8837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8824, ptr noundef @.str.2, i32 noundef %8825, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 367, ptr noundef %8828, ptr noundef %8831, ptr noundef %8834, i32 noundef %8836) #11
  br label %8855

8838:                                             ; preds = %8816, %8809
  %8839 = load i32, ptr %171, align 4, !tbaa !5
  %8840 = call ptr @__errno_location() #12
  store i32 %8839, ptr %8840, align 4, !tbaa !5
  %8841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8842 = load i32, ptr @test_count, align 4, !tbaa !5
  %8843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8844 = load i32, ptr %8843, align 4, !tbaa !5
  %8845 = call ptr @s2n_strerror(i32 noundef %8844, ptr noundef @.str.4)
  %8846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8847 = load i32, ptr %8846, align 4, !tbaa !5
  %8848 = call ptr @s2n_strerror_debug(i32 noundef %8847, ptr noundef @.str.4)
  %8849 = call ptr @__errno_location() #12
  %8850 = load i32, ptr %8849, align 4, !tbaa !5
  %8851 = call ptr @strerror(i32 noundef %8850) #11
  %8852 = call ptr @__errno_location() #12
  %8853 = load i32, ptr %8852, align 4, !tbaa !5
  %8854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8841, ptr noundef @.str.5, i32 noundef %8842, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 367, ptr noundef %8845, ptr noundef %8848, ptr noundef %8851, i32 noundef %8853) #11
  br label %8855

8855:                                             ; preds = %8838, %8821
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %8856

8856:                                             ; preds = %8855
  br label %8857

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

8858:                                             ; No predecessors!
  br label %8859

8859:                                             ; preds = %8858
  br label %8860

8860:                                             ; preds = %8859, %8801
  br label %8861

8861:                                             ; preds = %8860
  br label %8862

8862:                                             ; preds = %8861
  %8863 = call i32 @s2n_config_ptr_free(ptr noundef %162)
  %8864 = getelementptr inbounds %struct.s2n_result, ptr %172, i32 0, i32 0
  store i32 %8863, ptr %8864, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #11
  %8865 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %160)
  %8866 = getelementptr inbounds %struct.s2n_result, ptr %173, i32 0, i32 0
  store i32 %8865, ptr %8866, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %174) #11
  store ptr null, ptr %174, align 8, !tbaa !9
  br label %8867

8867:                                             ; preds = %8862
  %8868 = load i32, ptr @test_count, align 4, !tbaa !5
  %8869 = add nsw i32 %8868, 1
  store i32 %8869, ptr @test_count, align 4, !tbaa !5
  %8870 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %174, ptr noundef @.str.15, ptr noundef @.str.17)
  %8871 = icmp eq i32 %8870, -1
  br i1 %8871, label %8872, label %8925

8872:                                             ; preds = %8867
  br label %8873

8873:                                             ; preds = %8872
  br label %8874

8874:                                             ; preds = %8873
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %8875 = call ptr @__errno_location() #12
  %8876 = load i32, ptr %8875, align 4, !tbaa !5
  store i32 %8876, ptr %175, align 4, !tbaa !5
  %8877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8878 = call i32 @s2n_print_stacktrace(ptr noundef %8877)
  %8879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8880 = trunc i8 %8879 to i1
  br i1 %8880, label %8881, label %8903

8881:                                             ; preds = %8874
  %8882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8883 = call i32 @fileno(ptr noundef %8882) #11
  %8884 = call i32 @isatty(i32 noundef %8883) #11
  %8885 = icmp ne i32 %8884, 0
  br i1 %8885, label %8886, label %8903

8886:                                             ; preds = %8881
  %8887 = load i32, ptr %175, align 4, !tbaa !5
  %8888 = call ptr @__errno_location() #12
  store i32 %8887, ptr %8888, align 4, !tbaa !5
  %8889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8890 = load i32, ptr @test_count, align 4, !tbaa !5
  %8891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8892 = load i32, ptr %8891, align 4, !tbaa !5
  %8893 = call ptr @s2n_strerror(i32 noundef %8892, ptr noundef @.str.4)
  %8894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8895 = load i32, ptr %8894, align 4, !tbaa !5
  %8896 = call ptr @s2n_strerror_debug(i32 noundef %8895, ptr noundef @.str.4)
  %8897 = call ptr @__errno_location() #12
  %8898 = load i32, ptr %8897, align 4, !tbaa !5
  %8899 = call ptr @strerror(i32 noundef %8898) #11
  %8900 = call ptr @__errno_location() #12
  %8901 = load i32, ptr %8900, align 4, !tbaa !5
  %8902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8889, ptr noundef @.str.2, i32 noundef %8890, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 377, ptr noundef %8893, ptr noundef %8896, ptr noundef %8899, i32 noundef %8901) #11
  br label %8920

8903:                                             ; preds = %8881, %8874
  %8904 = load i32, ptr %175, align 4, !tbaa !5
  %8905 = call ptr @__errno_location() #12
  store i32 %8904, ptr %8905, align 4, !tbaa !5
  %8906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8907 = load i32, ptr @test_count, align 4, !tbaa !5
  %8908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8909 = load i32, ptr %8908, align 4, !tbaa !5
  %8910 = call ptr @s2n_strerror(i32 noundef %8909, ptr noundef @.str.4)
  %8911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8912 = load i32, ptr %8911, align 4, !tbaa !5
  %8913 = call ptr @s2n_strerror_debug(i32 noundef %8912, ptr noundef @.str.4)
  %8914 = call ptr @__errno_location() #12
  %8915 = load i32, ptr %8914, align 4, !tbaa !5
  %8916 = call ptr @strerror(i32 noundef %8915) #11
  %8917 = call ptr @__errno_location() #12
  %8918 = load i32, ptr %8917, align 4, !tbaa !5
  %8919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8906, ptr noundef @.str.5, i32 noundef %8907, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 377, ptr noundef %8910, ptr noundef %8913, ptr noundef %8916, i32 noundef %8918) #11
  br label %8920

8920:                                             ; preds = %8903, %8886
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %8921

8921:                                             ; preds = %8920
  br label %8922

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

8923:                                             ; No predecessors!
  br label %8924

8924:                                             ; preds = %8923
  br label %8925

8925:                                             ; preds = %8924, %8867
  br label %8926

8926:                                             ; preds = %8925
  br label %8927

8927:                                             ; preds = %8926
  call void @llvm.lifetime.start.p0(i64 8, ptr %176) #11
  %8928 = call ptr @s2n_config_new()
  store ptr %8928, ptr %176, align 8, !tbaa !9
  br label %8929

8929:                                             ; preds = %8927
  %8930 = load i32, ptr @test_count, align 4, !tbaa !5
  %8931 = add nsw i32 %8930, 1
  store i32 %8931, ptr @test_count, align 4, !tbaa !5
  %8932 = load ptr, ptr %176, align 8, !tbaa !9
  %8933 = icmp eq ptr %8932, null
  br i1 %8933, label %8934, label %8987

8934:                                             ; preds = %8929
  br label %8935

8935:                                             ; preds = %8934
  br label %8936

8936:                                             ; preds = %8935
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %8937 = call ptr @__errno_location() #12
  %8938 = load i32, ptr %8937, align 4, !tbaa !5
  store i32 %8938, ptr %177, align 4, !tbaa !5
  %8939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8940 = call i32 @s2n_print_stacktrace(ptr noundef %8939)
  %8941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8942 = trunc i8 %8941 to i1
  br i1 %8942, label %8943, label %8965

8943:                                             ; preds = %8936
  %8944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8945 = call i32 @fileno(ptr noundef %8944) #11
  %8946 = call i32 @isatty(i32 noundef %8945) #11
  %8947 = icmp ne i32 %8946, 0
  br i1 %8947, label %8948, label %8965

8948:                                             ; preds = %8943
  %8949 = load i32, ptr %177, align 4, !tbaa !5
  %8950 = call ptr @__errno_location() #12
  store i32 %8949, ptr %8950, align 4, !tbaa !5
  %8951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8952 = load i32, ptr @test_count, align 4, !tbaa !5
  %8953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8954 = load i32, ptr %8953, align 4, !tbaa !5
  %8955 = call ptr @s2n_strerror(i32 noundef %8954, ptr noundef @.str.4)
  %8956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8957 = load i32, ptr %8956, align 4, !tbaa !5
  %8958 = call ptr @s2n_strerror_debug(i32 noundef %8957, ptr noundef @.str.4)
  %8959 = call ptr @__errno_location() #12
  %8960 = load i32, ptr %8959, align 4, !tbaa !5
  %8961 = call ptr @strerror(i32 noundef %8960) #11
  %8962 = call ptr @__errno_location() #12
  %8963 = load i32, ptr %8962, align 4, !tbaa !5
  %8964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8951, ptr noundef @.str.2, i32 noundef %8952, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 380, ptr noundef %8955, ptr noundef %8958, ptr noundef %8961, i32 noundef %8963) #11
  br label %8982

8965:                                             ; preds = %8943, %8936
  %8966 = load i32, ptr %177, align 4, !tbaa !5
  %8967 = call ptr @__errno_location() #12
  store i32 %8966, ptr %8967, align 4, !tbaa !5
  %8968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8969 = load i32, ptr @test_count, align 4, !tbaa !5
  %8970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8971 = load i32, ptr %8970, align 4, !tbaa !5
  %8972 = call ptr @s2n_strerror(i32 noundef %8971, ptr noundef @.str.4)
  %8973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8974 = load i32, ptr %8973, align 4, !tbaa !5
  %8975 = call ptr @s2n_strerror_debug(i32 noundef %8974, ptr noundef @.str.4)
  %8976 = call ptr @__errno_location() #12
  %8977 = load i32, ptr %8976, align 4, !tbaa !5
  %8978 = call ptr @strerror(i32 noundef %8977) #11
  %8979 = call ptr @__errno_location() #12
  %8980 = load i32, ptr %8979, align 4, !tbaa !5
  %8981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8968, ptr noundef @.str.5, i32 noundef %8969, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 380, ptr noundef %8972, ptr noundef %8975, ptr noundef %8978, i32 noundef %8980) #11
  br label %8982

8982:                                             ; preds = %8965, %8948
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %8983

8983:                                             ; preds = %8982
  br label %8984

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

8985:                                             ; No predecessors!
  br label %8986

8986:                                             ; preds = %8985
  br label %8987

8987:                                             ; preds = %8986, %8929
  br label %8988

8988:                                             ; preds = %8987
  br label %8989

8989:                                             ; preds = %8988
  br label %8990

8990:                                             ; preds = %8989
  %8991 = load i32, ptr @test_count, align 4, !tbaa !5
  %8992 = add nsw i32 %8991, 1
  store i32 %8992, ptr @test_count, align 4, !tbaa !5
  %8993 = load ptr, ptr %176, align 8, !tbaa !9
  %8994 = load ptr, ptr %174, align 8, !tbaa !9
  %8995 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %8993, ptr noundef %8994)
  %8996 = icmp eq i32 %8995, -1
  br i1 %8996, label %8997, label %9050

8997:                                             ; preds = %8990
  br label %8998

8998:                                             ; preds = %8997
  br label %8999

8999:                                             ; preds = %8998
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %9000 = call ptr @__errno_location() #12
  %9001 = load i32, ptr %9000, align 4, !tbaa !5
  store i32 %9001, ptr %178, align 4, !tbaa !5
  %9002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9003 = call i32 @s2n_print_stacktrace(ptr noundef %9002)
  %9004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9005 = trunc i8 %9004 to i1
  br i1 %9005, label %9006, label %9028

9006:                                             ; preds = %8999
  %9007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9008 = call i32 @fileno(ptr noundef %9007) #11
  %9009 = call i32 @isatty(i32 noundef %9008) #11
  %9010 = icmp ne i32 %9009, 0
  br i1 %9010, label %9011, label %9028

9011:                                             ; preds = %9006
  %9012 = load i32, ptr %178, align 4, !tbaa !5
  %9013 = call ptr @__errno_location() #12
  store i32 %9012, ptr %9013, align 4, !tbaa !5
  %9014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9015 = load i32, ptr @test_count, align 4, !tbaa !5
  %9016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9017 = load i32, ptr %9016, align 4, !tbaa !5
  %9018 = call ptr @s2n_strerror(i32 noundef %9017, ptr noundef @.str.4)
  %9019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9020 = load i32, ptr %9019, align 4, !tbaa !5
  %9021 = call ptr @s2n_strerror_debug(i32 noundef %9020, ptr noundef @.str.4)
  %9022 = call ptr @__errno_location() #12
  %9023 = load i32, ptr %9022, align 4, !tbaa !5
  %9024 = call ptr @strerror(i32 noundef %9023) #11
  %9025 = call ptr @__errno_location() #12
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9014, ptr noundef @.str.2, i32 noundef %9015, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 381, ptr noundef %9018, ptr noundef %9021, ptr noundef %9024, i32 noundef %9026) #11
  br label %9045

9028:                                             ; preds = %9006, %8999
  %9029 = load i32, ptr %178, align 4, !tbaa !5
  %9030 = call ptr @__errno_location() #12
  store i32 %9029, ptr %9030, align 4, !tbaa !5
  %9031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9032 = load i32, ptr @test_count, align 4, !tbaa !5
  %9033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9034 = load i32, ptr %9033, align 4, !tbaa !5
  %9035 = call ptr @s2n_strerror(i32 noundef %9034, ptr noundef @.str.4)
  %9036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9037 = load i32, ptr %9036, align 4, !tbaa !5
  %9038 = call ptr @s2n_strerror_debug(i32 noundef %9037, ptr noundef @.str.4)
  %9039 = call ptr @__errno_location() #12
  %9040 = load i32, ptr %9039, align 4, !tbaa !5
  %9041 = call ptr @strerror(i32 noundef %9040) #11
  %9042 = call ptr @__errno_location() #12
  %9043 = load i32, ptr %9042, align 4, !tbaa !5
  %9044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9031, ptr noundef @.str.5, i32 noundef %9032, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 381, ptr noundef %9035, ptr noundef %9038, ptr noundef %9041, i32 noundef %9043) #11
  br label %9045

9045:                                             ; preds = %9028, %9011
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %9046

9046:                                             ; preds = %9045
  br label %9047

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

9048:                                             ; No predecessors!
  br label %9049

9049:                                             ; preds = %9048
  br label %9050

9050:                                             ; preds = %9049, %8990
  br label %9051

9051:                                             ; preds = %9050
  br label %9052

9052:                                             ; preds = %9051
  br label %9053

9053:                                             ; preds = %9052
  %9054 = load i32, ptr @test_count, align 4, !tbaa !5
  %9055 = add nsw i32 %9054, 1
  store i32 %9055, ptr @test_count, align 4, !tbaa !5
  %9056 = load ptr, ptr %176, align 8, !tbaa !9
  %9057 = call ptr @s2n_config_get_single_default_cert(ptr noundef %9056)
  %9058 = icmp eq ptr %9057, null
  br i1 %9058, label %9059, label %9112

9059:                                             ; preds = %9053
  br label %9060

9060:                                             ; preds = %9059
  br label %9061

9061:                                             ; preds = %9060
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %9062 = call ptr @__errno_location() #12
  %9063 = load i32, ptr %9062, align 4, !tbaa !5
  store i32 %9063, ptr %179, align 4, !tbaa !5
  %9064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9065 = call i32 @s2n_print_stacktrace(ptr noundef %9064)
  %9066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9067 = trunc i8 %9066 to i1
  br i1 %9067, label %9068, label %9090

9068:                                             ; preds = %9061
  %9069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9070 = call i32 @fileno(ptr noundef %9069) #11
  %9071 = call i32 @isatty(i32 noundef %9070) #11
  %9072 = icmp ne i32 %9071, 0
  br i1 %9072, label %9073, label %9090

9073:                                             ; preds = %9068
  %9074 = load i32, ptr %179, align 4, !tbaa !5
  %9075 = call ptr @__errno_location() #12
  store i32 %9074, ptr %9075, align 4, !tbaa !5
  %9076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9077 = load i32, ptr @test_count, align 4, !tbaa !5
  %9078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9079 = load i32, ptr %9078, align 4, !tbaa !5
  %9080 = call ptr @s2n_strerror(i32 noundef %9079, ptr noundef @.str.4)
  %9081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9082 = load i32, ptr %9081, align 4, !tbaa !5
  %9083 = call ptr @s2n_strerror_debug(i32 noundef %9082, ptr noundef @.str.4)
  %9084 = call ptr @__errno_location() #12
  %9085 = load i32, ptr %9084, align 4, !tbaa !5
  %9086 = call ptr @strerror(i32 noundef %9085) #11
  %9087 = call ptr @__errno_location() #12
  %9088 = load i32, ptr %9087, align 4, !tbaa !5
  %9089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9076, ptr noundef @.str.2, i32 noundef %9077, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 382, ptr noundef %9080, ptr noundef %9083, ptr noundef %9086, i32 noundef %9088) #11
  br label %9107

9090:                                             ; preds = %9068, %9061
  %9091 = load i32, ptr %179, align 4, !tbaa !5
  %9092 = call ptr @__errno_location() #12
  store i32 %9091, ptr %9092, align 4, !tbaa !5
  %9093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9094 = load i32, ptr @test_count, align 4, !tbaa !5
  %9095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9096 = load i32, ptr %9095, align 4, !tbaa !5
  %9097 = call ptr @s2n_strerror(i32 noundef %9096, ptr noundef @.str.4)
  %9098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9099 = load i32, ptr %9098, align 4, !tbaa !5
  %9100 = call ptr @s2n_strerror_debug(i32 noundef %9099, ptr noundef @.str.4)
  %9101 = call ptr @__errno_location() #12
  %9102 = load i32, ptr %9101, align 4, !tbaa !5
  %9103 = call ptr @strerror(i32 noundef %9102) #11
  %9104 = call ptr @__errno_location() #12
  %9105 = load i32, ptr %9104, align 4, !tbaa !5
  %9106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9093, ptr noundef @.str.5, i32 noundef %9094, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 382, ptr noundef %9097, ptr noundef %9100, ptr noundef %9103, i32 noundef %9105) #11
  br label %9107

9107:                                             ; preds = %9090, %9073
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %9108

9108:                                             ; preds = %9107
  br label %9109

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

9110:                                             ; No predecessors!
  br label %9111

9111:                                             ; preds = %9110
  br label %9112

9112:                                             ; preds = %9111, %9053
  br label %9113

9113:                                             ; preds = %9112
  br label %9114

9114:                                             ; preds = %9113
  br label %9115

9115:                                             ; preds = %9114
  %9116 = load i32, ptr @test_count, align 4, !tbaa !5
  %9117 = add nsw i32 %9116, 1
  store i32 %9117, ptr @test_count, align 4, !tbaa !5
  %9118 = load ptr, ptr %176, align 8, !tbaa !9
  %9119 = getelementptr inbounds %struct.s2n_config, ptr %9118, i32 0, i32 51
  %9120 = load i32, ptr %9119, align 8, !tbaa !58
  %9121 = icmp eq i32 %9120, 1
  br i1 %9121, label %9175, label %9122

9122:                                             ; preds = %9115
  br label %9123

9123:                                             ; preds = %9122
  br label %9124

9124:                                             ; preds = %9123
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %9125 = call ptr @__errno_location() #12
  %9126 = load i32, ptr %9125, align 4, !tbaa !5
  store i32 %9126, ptr %180, align 4, !tbaa !5
  %9127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9128 = call i32 @s2n_print_stacktrace(ptr noundef %9127)
  %9129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9130 = trunc i8 %9129 to i1
  br i1 %9130, label %9131, label %9153

9131:                                             ; preds = %9124
  %9132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9133 = call i32 @fileno(ptr noundef %9132) #11
  %9134 = call i32 @isatty(i32 noundef %9133) #11
  %9135 = icmp ne i32 %9134, 0
  br i1 %9135, label %9136, label %9153

9136:                                             ; preds = %9131
  %9137 = load i32, ptr %180, align 4, !tbaa !5
  %9138 = call ptr @__errno_location() #12
  store i32 %9137, ptr %9138, align 4, !tbaa !5
  %9139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9140 = load i32, ptr @test_count, align 4, !tbaa !5
  %9141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9142 = load i32, ptr %9141, align 4, !tbaa !5
  %9143 = call ptr @s2n_strerror(i32 noundef %9142, ptr noundef @.str.4)
  %9144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9145 = load i32, ptr %9144, align 4, !tbaa !5
  %9146 = call ptr @s2n_strerror_debug(i32 noundef %9145, ptr noundef @.str.4)
  %9147 = call ptr @__errno_location() #12
  %9148 = load i32, ptr %9147, align 4, !tbaa !5
  %9149 = call ptr @strerror(i32 noundef %9148) #11
  %9150 = call ptr @__errno_location() #12
  %9151 = load i32, ptr %9150, align 4, !tbaa !5
  %9152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9139, ptr noundef @.str.2, i32 noundef %9140, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 383, ptr noundef %9143, ptr noundef %9146, ptr noundef %9149, i32 noundef %9151) #11
  br label %9170

9153:                                             ; preds = %9131, %9124
  %9154 = load i32, ptr %180, align 4, !tbaa !5
  %9155 = call ptr @__errno_location() #12
  store i32 %9154, ptr %9155, align 4, !tbaa !5
  %9156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9157 = load i32, ptr @test_count, align 4, !tbaa !5
  %9158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9159 = load i32, ptr %9158, align 4, !tbaa !5
  %9160 = call ptr @s2n_strerror(i32 noundef %9159, ptr noundef @.str.4)
  %9161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9162 = load i32, ptr %9161, align 4, !tbaa !5
  %9163 = call ptr @s2n_strerror_debug(i32 noundef %9162, ptr noundef @.str.4)
  %9164 = call ptr @__errno_location() #12
  %9165 = load i32, ptr %9164, align 4, !tbaa !5
  %9166 = call ptr @strerror(i32 noundef %9165) #11
  %9167 = call ptr @__errno_location() #12
  %9168 = load i32, ptr %9167, align 4, !tbaa !5
  %9169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9156, ptr noundef @.str.5, i32 noundef %9157, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 383, ptr noundef %9160, ptr noundef %9163, ptr noundef %9166, i32 noundef %9168) #11
  br label %9170

9170:                                             ; preds = %9153, %9136
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %9171

9171:                                             ; preds = %9170
  br label %9172

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

9173:                                             ; No predecessors!
  br label %9174

9174:                                             ; preds = %9173
  br label %9175

9175:                                             ; preds = %9174, %9115
  br label %9176

9176:                                             ; preds = %9175
  br label %9177

9177:                                             ; preds = %9176
  br label %9178

9178:                                             ; preds = %9177
  %9179 = load i32, ptr @test_count, align 4, !tbaa !5
  %9180 = add nsw i32 %9179, 1
  store i32 %9180, ptr @test_count, align 4, !tbaa !5
  %9181 = load ptr, ptr %174, align 8, !tbaa !9
  %9182 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %9181)
  %9183 = icmp eq i32 %9182, -1
  br i1 %9183, label %9184, label %9237

9184:                                             ; preds = %9178
  br label %9185

9185:                                             ; preds = %9184
  br label %9186

9186:                                             ; preds = %9185
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %9187 = call ptr @__errno_location() #12
  %9188 = load i32, ptr %9187, align 4, !tbaa !5
  store i32 %9188, ptr %181, align 4, !tbaa !5
  %9189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9190 = call i32 @s2n_print_stacktrace(ptr noundef %9189)
  %9191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9192 = trunc i8 %9191 to i1
  br i1 %9192, label %9193, label %9215

9193:                                             ; preds = %9186
  %9194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9195 = call i32 @fileno(ptr noundef %9194) #11
  %9196 = call i32 @isatty(i32 noundef %9195) #11
  %9197 = icmp ne i32 %9196, 0
  br i1 %9197, label %9198, label %9215

9198:                                             ; preds = %9193
  %9199 = load i32, ptr %181, align 4, !tbaa !5
  %9200 = call ptr @__errno_location() #12
  store i32 %9199, ptr %9200, align 4, !tbaa !5
  %9201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9202 = load i32, ptr @test_count, align 4, !tbaa !5
  %9203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9204 = load i32, ptr %9203, align 4, !tbaa !5
  %9205 = call ptr @s2n_strerror(i32 noundef %9204, ptr noundef @.str.4)
  %9206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9207 = load i32, ptr %9206, align 4, !tbaa !5
  %9208 = call ptr @s2n_strerror_debug(i32 noundef %9207, ptr noundef @.str.4)
  %9209 = call ptr @__errno_location() #12
  %9210 = load i32, ptr %9209, align 4, !tbaa !5
  %9211 = call ptr @strerror(i32 noundef %9210) #11
  %9212 = call ptr @__errno_location() #12
  %9213 = load i32, ptr %9212, align 4, !tbaa !5
  %9214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9201, ptr noundef @.str.2, i32 noundef %9202, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 386, ptr noundef %9205, ptr noundef %9208, ptr noundef %9211, i32 noundef %9213) #11
  br label %9232

9215:                                             ; preds = %9193, %9186
  %9216 = load i32, ptr %181, align 4, !tbaa !5
  %9217 = call ptr @__errno_location() #12
  store i32 %9216, ptr %9217, align 4, !tbaa !5
  %9218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9219 = load i32, ptr @test_count, align 4, !tbaa !5
  %9220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9221 = load i32, ptr %9220, align 4, !tbaa !5
  %9222 = call ptr @s2n_strerror(i32 noundef %9221, ptr noundef @.str.4)
  %9223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9224 = load i32, ptr %9223, align 4, !tbaa !5
  %9225 = call ptr @s2n_strerror_debug(i32 noundef %9224, ptr noundef @.str.4)
  %9226 = call ptr @__errno_location() #12
  %9227 = load i32, ptr %9226, align 4, !tbaa !5
  %9228 = call ptr @strerror(i32 noundef %9227) #11
  %9229 = call ptr @__errno_location() #12
  %9230 = load i32, ptr %9229, align 4, !tbaa !5
  %9231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9218, ptr noundef @.str.5, i32 noundef %9219, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 386, ptr noundef %9222, ptr noundef %9225, ptr noundef %9228, i32 noundef %9230) #11
  br label %9232

9232:                                             ; preds = %9215, %9198
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %9233

9233:                                             ; preds = %9232
  br label %9234

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

9235:                                             ; No predecessors!
  br label %9236

9236:                                             ; preds = %9235
  br label %9237

9237:                                             ; preds = %9236, %9178
  br label %9238

9238:                                             ; preds = %9237
  br label %9239

9239:                                             ; preds = %9238
  br label %9240

9240:                                             ; preds = %9239
  %9241 = load i32, ptr @test_count, align 4, !tbaa !5
  %9242 = add nsw i32 %9241, 1
  store i32 %9242, ptr @test_count, align 4, !tbaa !5
  %9243 = load ptr, ptr %176, align 8, !tbaa !9
  %9244 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef %9243)
  %9245 = icmp eq i32 %9244, -1
  br i1 %9245, label %9246, label %9299

9246:                                             ; preds = %9240
  br label %9247

9247:                                             ; preds = %9246
  br label %9248

9248:                                             ; preds = %9247
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  %9249 = call ptr @__errno_location() #12
  %9250 = load i32, ptr %9249, align 4, !tbaa !5
  store i32 %9250, ptr %182, align 4, !tbaa !5
  %9251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9252 = call i32 @s2n_print_stacktrace(ptr noundef %9251)
  %9253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9254 = trunc i8 %9253 to i1
  br i1 %9254, label %9255, label %9277

9255:                                             ; preds = %9248
  %9256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9257 = call i32 @fileno(ptr noundef %9256) #11
  %9258 = call i32 @isatty(i32 noundef %9257) #11
  %9259 = icmp ne i32 %9258, 0
  br i1 %9259, label %9260, label %9277

9260:                                             ; preds = %9255
  %9261 = load i32, ptr %182, align 4, !tbaa !5
  %9262 = call ptr @__errno_location() #12
  store i32 %9261, ptr %9262, align 4, !tbaa !5
  %9263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9264 = load i32, ptr @test_count, align 4, !tbaa !5
  %9265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9266 = load i32, ptr %9265, align 4, !tbaa !5
  %9267 = call ptr @s2n_strerror(i32 noundef %9266, ptr noundef @.str.4)
  %9268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9269 = load i32, ptr %9268, align 4, !tbaa !5
  %9270 = call ptr @s2n_strerror_debug(i32 noundef %9269, ptr noundef @.str.4)
  %9271 = call ptr @__errno_location() #12
  %9272 = load i32, ptr %9271, align 4, !tbaa !5
  %9273 = call ptr @strerror(i32 noundef %9272) #11
  %9274 = call ptr @__errno_location() #12
  %9275 = load i32, ptr %9274, align 4, !tbaa !5
  %9276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9263, ptr noundef @.str.2, i32 noundef %9264, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 389, ptr noundef %9267, ptr noundef %9270, ptr noundef %9273, i32 noundef %9275) #11
  br label %9294

9277:                                             ; preds = %9255, %9248
  %9278 = load i32, ptr %182, align 4, !tbaa !5
  %9279 = call ptr @__errno_location() #12
  store i32 %9278, ptr %9279, align 4, !tbaa !5
  %9280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9281 = load i32, ptr @test_count, align 4, !tbaa !5
  %9282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9283 = load i32, ptr %9282, align 4, !tbaa !5
  %9284 = call ptr @s2n_strerror(i32 noundef %9283, ptr noundef @.str.4)
  %9285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9286 = load i32, ptr %9285, align 4, !tbaa !5
  %9287 = call ptr @s2n_strerror_debug(i32 noundef %9286, ptr noundef @.str.4)
  %9288 = call ptr @__errno_location() #12
  %9289 = load i32, ptr %9288, align 4, !tbaa !5
  %9290 = call ptr @strerror(i32 noundef %9289) #11
  %9291 = call ptr @__errno_location() #12
  %9292 = load i32, ptr %9291, align 4, !tbaa !5
  %9293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9280, ptr noundef @.str.5, i32 noundef %9281, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 389, ptr noundef %9284, ptr noundef %9287, ptr noundef %9290, i32 noundef %9292) #11
  br label %9294

9294:                                             ; preds = %9277, %9260
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  br label %9295

9295:                                             ; preds = %9294
  br label %9296

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

9297:                                             ; No predecessors!
  br label %9298

9298:                                             ; preds = %9297
  br label %9299

9299:                                             ; preds = %9298, %9240
  br label %9300

9300:                                             ; preds = %9299
  br label %9301

9301:                                             ; preds = %9300
  br label %9302

9302:                                             ; preds = %9301
  %9303 = load i32, ptr @test_count, align 4, !tbaa !5
  %9304 = add nsw i32 %9303, 1
  store i32 %9304, ptr @test_count, align 4, !tbaa !5
  %9305 = load ptr, ptr %176, align 8, !tbaa !9
  %9306 = call ptr @s2n_config_get_single_default_cert(ptr noundef %9305)
  %9307 = icmp eq ptr %9306, null
  br i1 %9307, label %9308, label %9361

9308:                                             ; preds = %9302
  br label %9309

9309:                                             ; preds = %9308
  br label %9310

9310:                                             ; preds = %9309
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %9311 = call ptr @__errno_location() #12
  %9312 = load i32, ptr %9311, align 4, !tbaa !5
  store i32 %9312, ptr %183, align 4, !tbaa !5
  %9313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9314 = call i32 @s2n_print_stacktrace(ptr noundef %9313)
  %9315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9316 = trunc i8 %9315 to i1
  br i1 %9316, label %9317, label %9339

9317:                                             ; preds = %9310
  %9318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9319 = call i32 @fileno(ptr noundef %9318) #11
  %9320 = call i32 @isatty(i32 noundef %9319) #11
  %9321 = icmp ne i32 %9320, 0
  br i1 %9321, label %9322, label %9339

9322:                                             ; preds = %9317
  %9323 = load i32, ptr %183, align 4, !tbaa !5
  %9324 = call ptr @__errno_location() #12
  store i32 %9323, ptr %9324, align 4, !tbaa !5
  %9325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9326 = load i32, ptr @test_count, align 4, !tbaa !5
  %9327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9328 = load i32, ptr %9327, align 4, !tbaa !5
  %9329 = call ptr @s2n_strerror(i32 noundef %9328, ptr noundef @.str.4)
  %9330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9331 = load i32, ptr %9330, align 4, !tbaa !5
  %9332 = call ptr @s2n_strerror_debug(i32 noundef %9331, ptr noundef @.str.4)
  %9333 = call ptr @__errno_location() #12
  %9334 = load i32, ptr %9333, align 4, !tbaa !5
  %9335 = call ptr @strerror(i32 noundef %9334) #11
  %9336 = call ptr @__errno_location() #12
  %9337 = load i32, ptr %9336, align 4, !tbaa !5
  %9338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9325, ptr noundef @.str.2, i32 noundef %9326, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 390, ptr noundef %9329, ptr noundef %9332, ptr noundef %9335, i32 noundef %9337) #11
  br label %9356

9339:                                             ; preds = %9317, %9310
  %9340 = load i32, ptr %183, align 4, !tbaa !5
  %9341 = call ptr @__errno_location() #12
  store i32 %9340, ptr %9341, align 4, !tbaa !5
  %9342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9343 = load i32, ptr @test_count, align 4, !tbaa !5
  %9344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9345 = load i32, ptr %9344, align 4, !tbaa !5
  %9346 = call ptr @s2n_strerror(i32 noundef %9345, ptr noundef @.str.4)
  %9347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9348 = load i32, ptr %9347, align 4, !tbaa !5
  %9349 = call ptr @s2n_strerror_debug(i32 noundef %9348, ptr noundef @.str.4)
  %9350 = call ptr @__errno_location() #12
  %9351 = load i32, ptr %9350, align 4, !tbaa !5
  %9352 = call ptr @strerror(i32 noundef %9351) #11
  %9353 = call ptr @__errno_location() #12
  %9354 = load i32, ptr %9353, align 4, !tbaa !5
  %9355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9342, ptr noundef @.str.5, i32 noundef %9343, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 390, ptr noundef %9346, ptr noundef %9349, ptr noundef %9352, i32 noundef %9354) #11
  br label %9356

9356:                                             ; preds = %9339, %9322
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %9357

9357:                                             ; preds = %9356
  br label %9358

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

9359:                                             ; No predecessors!
  br label %9360

9360:                                             ; preds = %9359
  br label %9361

9361:                                             ; preds = %9360, %9302
  br label %9362

9362:                                             ; preds = %9361
  br label %9363

9363:                                             ; preds = %9362
  br label %9364

9364:                                             ; preds = %9363
  %9365 = load i32, ptr @test_count, align 4, !tbaa !5
  %9366 = add nsw i32 %9365, 1
  store i32 %9366, ptr @test_count, align 4, !tbaa !5
  %9367 = load ptr, ptr %176, align 8, !tbaa !9
  %9368 = getelementptr inbounds %struct.s2n_config, ptr %9367, i32 0, i32 51
  %9369 = load i32, ptr %9368, align 8, !tbaa !58
  %9370 = icmp eq i32 %9369, 1
  br i1 %9370, label %9424, label %9371

9371:                                             ; preds = %9364
  br label %9372

9372:                                             ; preds = %9371
  br label %9373

9373:                                             ; preds = %9372
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %9374 = call ptr @__errno_location() #12
  %9375 = load i32, ptr %9374, align 4, !tbaa !5
  store i32 %9375, ptr %184, align 4, !tbaa !5
  %9376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9377 = call i32 @s2n_print_stacktrace(ptr noundef %9376)
  %9378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9379 = trunc i8 %9378 to i1
  br i1 %9379, label %9380, label %9402

9380:                                             ; preds = %9373
  %9381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9382 = call i32 @fileno(ptr noundef %9381) #11
  %9383 = call i32 @isatty(i32 noundef %9382) #11
  %9384 = icmp ne i32 %9383, 0
  br i1 %9384, label %9385, label %9402

9385:                                             ; preds = %9380
  %9386 = load i32, ptr %184, align 4, !tbaa !5
  %9387 = call ptr @__errno_location() #12
  store i32 %9386, ptr %9387, align 4, !tbaa !5
  %9388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9389 = load i32, ptr @test_count, align 4, !tbaa !5
  %9390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9391 = load i32, ptr %9390, align 4, !tbaa !5
  %9392 = call ptr @s2n_strerror(i32 noundef %9391, ptr noundef @.str.4)
  %9393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9394 = load i32, ptr %9393, align 4, !tbaa !5
  %9395 = call ptr @s2n_strerror_debug(i32 noundef %9394, ptr noundef @.str.4)
  %9396 = call ptr @__errno_location() #12
  %9397 = load i32, ptr %9396, align 4, !tbaa !5
  %9398 = call ptr @strerror(i32 noundef %9397) #11
  %9399 = call ptr @__errno_location() #12
  %9400 = load i32, ptr %9399, align 4, !tbaa !5
  %9401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9388, ptr noundef @.str.2, i32 noundef %9389, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 391, ptr noundef %9392, ptr noundef %9395, ptr noundef %9398, i32 noundef %9400) #11
  br label %9419

9402:                                             ; preds = %9380, %9373
  %9403 = load i32, ptr %184, align 4, !tbaa !5
  %9404 = call ptr @__errno_location() #12
  store i32 %9403, ptr %9404, align 4, !tbaa !5
  %9405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9406 = load i32, ptr @test_count, align 4, !tbaa !5
  %9407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9408 = load i32, ptr %9407, align 4, !tbaa !5
  %9409 = call ptr @s2n_strerror(i32 noundef %9408, ptr noundef @.str.4)
  %9410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9411 = load i32, ptr %9410, align 4, !tbaa !5
  %9412 = call ptr @s2n_strerror_debug(i32 noundef %9411, ptr noundef @.str.4)
  %9413 = call ptr @__errno_location() #12
  %9414 = load i32, ptr %9413, align 4, !tbaa !5
  %9415 = call ptr @strerror(i32 noundef %9414) #11
  %9416 = call ptr @__errno_location() #12
  %9417 = load i32, ptr %9416, align 4, !tbaa !5
  %9418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9405, ptr noundef @.str.5, i32 noundef %9406, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 391, ptr noundef %9409, ptr noundef %9412, ptr noundef %9415, i32 noundef %9417) #11
  br label %9419

9419:                                             ; preds = %9402, %9385
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %9420

9420:                                             ; preds = %9419
  br label %9421

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

9422:                                             ; No predecessors!
  br label %9423

9423:                                             ; preds = %9422
  br label %9424

9424:                                             ; preds = %9423, %9364
  br label %9425

9425:                                             ; preds = %9424
  br label %9426

9426:                                             ; preds = %9425
  br label %9427

9427:                                             ; preds = %9426
  %9428 = load i32, ptr @test_count, align 4, !tbaa !5
  %9429 = add nsw i32 %9428, 1
  store i32 %9429, ptr @test_count, align 4, !tbaa !5
  %9430 = load ptr, ptr %176, align 8, !tbaa !9
  %9431 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef %9430)
  %9432 = icmp eq i32 %9431, -1
  br i1 %9432, label %9433, label %9486

9433:                                             ; preds = %9427
  br label %9434

9434:                                             ; preds = %9433
  br label %9435

9435:                                             ; preds = %9434
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %9436 = call ptr @__errno_location() #12
  %9437 = load i32, ptr %9436, align 4, !tbaa !5
  store i32 %9437, ptr %185, align 4, !tbaa !5
  %9438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9439 = call i32 @s2n_print_stacktrace(ptr noundef %9438)
  %9440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9441 = trunc i8 %9440 to i1
  br i1 %9441, label %9442, label %9464

9442:                                             ; preds = %9435
  %9443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9444 = call i32 @fileno(ptr noundef %9443) #11
  %9445 = call i32 @isatty(i32 noundef %9444) #11
  %9446 = icmp ne i32 %9445, 0
  br i1 %9446, label %9447, label %9464

9447:                                             ; preds = %9442
  %9448 = load i32, ptr %185, align 4, !tbaa !5
  %9449 = call ptr @__errno_location() #12
  store i32 %9448, ptr %9449, align 4, !tbaa !5
  %9450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9451 = load i32, ptr @test_count, align 4, !tbaa !5
  %9452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9453 = load i32, ptr %9452, align 4, !tbaa !5
  %9454 = call ptr @s2n_strerror(i32 noundef %9453, ptr noundef @.str.4)
  %9455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9456 = load i32, ptr %9455, align 4, !tbaa !5
  %9457 = call ptr @s2n_strerror_debug(i32 noundef %9456, ptr noundef @.str.4)
  %9458 = call ptr @__errno_location() #12
  %9459 = load i32, ptr %9458, align 4, !tbaa !5
  %9460 = call ptr @strerror(i32 noundef %9459) #11
  %9461 = call ptr @__errno_location() #12
  %9462 = load i32, ptr %9461, align 4, !tbaa !5
  %9463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9450, ptr noundef @.str.2, i32 noundef %9451, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 394, ptr noundef %9454, ptr noundef %9457, ptr noundef %9460, i32 noundef %9462) #11
  br label %9481

9464:                                             ; preds = %9442, %9435
  %9465 = load i32, ptr %185, align 4, !tbaa !5
  %9466 = call ptr @__errno_location() #12
  store i32 %9465, ptr %9466, align 4, !tbaa !5
  %9467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9468 = load i32, ptr @test_count, align 4, !tbaa !5
  %9469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9470 = load i32, ptr %9469, align 4, !tbaa !5
  %9471 = call ptr @s2n_strerror(i32 noundef %9470, ptr noundef @.str.4)
  %9472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9473 = load i32, ptr %9472, align 4, !tbaa !5
  %9474 = call ptr @s2n_strerror_debug(i32 noundef %9473, ptr noundef @.str.4)
  %9475 = call ptr @__errno_location() #12
  %9476 = load i32, ptr %9475, align 4, !tbaa !5
  %9477 = call ptr @strerror(i32 noundef %9476) #11
  %9478 = call ptr @__errno_location() #12
  %9479 = load i32, ptr %9478, align 4, !tbaa !5
  %9480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9467, ptr noundef @.str.5, i32 noundef %9468, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 394, ptr noundef %9471, ptr noundef %9474, ptr noundef %9477, i32 noundef %9479) #11
  br label %9481

9481:                                             ; preds = %9464, %9447
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %9482

9482:                                             ; preds = %9481
  br label %9483

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

9484:                                             ; No predecessors!
  br label %9485

9485:                                             ; preds = %9484
  br label %9486

9486:                                             ; preds = %9485, %9427
  br label %9487

9487:                                             ; preds = %9486
  br label %9488

9488:                                             ; preds = %9487
  br label %9489

9489:                                             ; preds = %9488
  %9490 = load i32, ptr @test_count, align 4, !tbaa !5
  %9491 = add nsw i32 %9490, 1
  store i32 %9491, ptr @test_count, align 4, !tbaa !5
  %9492 = load ptr, ptr %176, align 8, !tbaa !9
  %9493 = call ptr @s2n_config_get_single_default_cert(ptr noundef %9492)
  %9494 = icmp eq ptr %9493, null
  br i1 %9494, label %9495, label %9548

9495:                                             ; preds = %9489
  br label %9496

9496:                                             ; preds = %9495
  br label %9497

9497:                                             ; preds = %9496
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %9498 = call ptr @__errno_location() #12
  %9499 = load i32, ptr %9498, align 4, !tbaa !5
  store i32 %9499, ptr %186, align 4, !tbaa !5
  %9500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9501 = call i32 @s2n_print_stacktrace(ptr noundef %9500)
  %9502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9503 = trunc i8 %9502 to i1
  br i1 %9503, label %9504, label %9526

9504:                                             ; preds = %9497
  %9505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9506 = call i32 @fileno(ptr noundef %9505) #11
  %9507 = call i32 @isatty(i32 noundef %9506) #11
  %9508 = icmp ne i32 %9507, 0
  br i1 %9508, label %9509, label %9526

9509:                                             ; preds = %9504
  %9510 = load i32, ptr %186, align 4, !tbaa !5
  %9511 = call ptr @__errno_location() #12
  store i32 %9510, ptr %9511, align 4, !tbaa !5
  %9512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9513 = load i32, ptr @test_count, align 4, !tbaa !5
  %9514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9515 = load i32, ptr %9514, align 4, !tbaa !5
  %9516 = call ptr @s2n_strerror(i32 noundef %9515, ptr noundef @.str.4)
  %9517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9518 = load i32, ptr %9517, align 4, !tbaa !5
  %9519 = call ptr @s2n_strerror_debug(i32 noundef %9518, ptr noundef @.str.4)
  %9520 = call ptr @__errno_location() #12
  %9521 = load i32, ptr %9520, align 4, !tbaa !5
  %9522 = call ptr @strerror(i32 noundef %9521) #11
  %9523 = call ptr @__errno_location() #12
  %9524 = load i32, ptr %9523, align 4, !tbaa !5
  %9525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9512, ptr noundef @.str.2, i32 noundef %9513, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 395, ptr noundef %9516, ptr noundef %9519, ptr noundef %9522, i32 noundef %9524) #11
  br label %9543

9526:                                             ; preds = %9504, %9497
  %9527 = load i32, ptr %186, align 4, !tbaa !5
  %9528 = call ptr @__errno_location() #12
  store i32 %9527, ptr %9528, align 4, !tbaa !5
  %9529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9530 = load i32, ptr @test_count, align 4, !tbaa !5
  %9531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9532 = load i32, ptr %9531, align 4, !tbaa !5
  %9533 = call ptr @s2n_strerror(i32 noundef %9532, ptr noundef @.str.4)
  %9534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9535 = load i32, ptr %9534, align 4, !tbaa !5
  %9536 = call ptr @s2n_strerror_debug(i32 noundef %9535, ptr noundef @.str.4)
  %9537 = call ptr @__errno_location() #12
  %9538 = load i32, ptr %9537, align 4, !tbaa !5
  %9539 = call ptr @strerror(i32 noundef %9538) #11
  %9540 = call ptr @__errno_location() #12
  %9541 = load i32, ptr %9540, align 4, !tbaa !5
  %9542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9529, ptr noundef @.str.5, i32 noundef %9530, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 395, ptr noundef %9533, ptr noundef %9536, ptr noundef %9539, i32 noundef %9541) #11
  br label %9543

9543:                                             ; preds = %9526, %9509
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %9544

9544:                                             ; preds = %9543
  br label %9545

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

9546:                                             ; No predecessors!
  br label %9547

9547:                                             ; preds = %9546
  br label %9548

9548:                                             ; preds = %9547, %9489
  br label %9549

9549:                                             ; preds = %9548
  br label %9550

9550:                                             ; preds = %9549
  %9551 = call i32 @s2n_config_ptr_free(ptr noundef %176)
  %9552 = getelementptr inbounds %struct.s2n_result, ptr %187, i32 0, i32 0
  store i32 %9551, ptr %9552, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %174) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %188) #11
  %9553 = call ptr @s2n_config_new()
  store ptr %9553, ptr %188, align 8, !tbaa !9
  br label %9554

9554:                                             ; preds = %9550
  %9555 = load i32, ptr @test_count, align 4, !tbaa !5
  %9556 = add nsw i32 %9555, 1
  store i32 %9556, ptr @test_count, align 4, !tbaa !5
  %9557 = load ptr, ptr %188, align 8, !tbaa !9
  %9558 = icmp eq ptr %9557, null
  br i1 %9558, label %9559, label %9612

9559:                                             ; preds = %9554
  br label %9560

9560:                                             ; preds = %9559
  br label %9561

9561:                                             ; preds = %9560
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %9562 = call ptr @__errno_location() #12
  %9563 = load i32, ptr %9562, align 4, !tbaa !5
  store i32 %9563, ptr %189, align 4, !tbaa !5
  %9564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9565 = call i32 @s2n_print_stacktrace(ptr noundef %9564)
  %9566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9567 = trunc i8 %9566 to i1
  br i1 %9567, label %9568, label %9590

9568:                                             ; preds = %9561
  %9569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9570 = call i32 @fileno(ptr noundef %9569) #11
  %9571 = call i32 @isatty(i32 noundef %9570) #11
  %9572 = icmp ne i32 %9571, 0
  br i1 %9572, label %9573, label %9590

9573:                                             ; preds = %9568
  %9574 = load i32, ptr %189, align 4, !tbaa !5
  %9575 = call ptr @__errno_location() #12
  store i32 %9574, ptr %9575, align 4, !tbaa !5
  %9576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9577 = load i32, ptr @test_count, align 4, !tbaa !5
  %9578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9579 = load i32, ptr %9578, align 4, !tbaa !5
  %9580 = call ptr @s2n_strerror(i32 noundef %9579, ptr noundef @.str.4)
  %9581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9582 = load i32, ptr %9581, align 4, !tbaa !5
  %9583 = call ptr @s2n_strerror_debug(i32 noundef %9582, ptr noundef @.str.4)
  %9584 = call ptr @__errno_location() #12
  %9585 = load i32, ptr %9584, align 4, !tbaa !5
  %9586 = call ptr @strerror(i32 noundef %9585) #11
  %9587 = call ptr @__errno_location() #12
  %9588 = load i32, ptr %9587, align 4, !tbaa !5
  %9589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9576, ptr noundef @.str.2, i32 noundef %9577, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 401, ptr noundef %9580, ptr noundef %9583, ptr noundef %9586, i32 noundef %9588) #11
  br label %9607

9590:                                             ; preds = %9568, %9561
  %9591 = load i32, ptr %189, align 4, !tbaa !5
  %9592 = call ptr @__errno_location() #12
  store i32 %9591, ptr %9592, align 4, !tbaa !5
  %9593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9594 = load i32, ptr @test_count, align 4, !tbaa !5
  %9595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9596 = load i32, ptr %9595, align 4, !tbaa !5
  %9597 = call ptr @s2n_strerror(i32 noundef %9596, ptr noundef @.str.4)
  %9598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9599 = load i32, ptr %9598, align 4, !tbaa !5
  %9600 = call ptr @s2n_strerror_debug(i32 noundef %9599, ptr noundef @.str.4)
  %9601 = call ptr @__errno_location() #12
  %9602 = load i32, ptr %9601, align 4, !tbaa !5
  %9603 = call ptr @strerror(i32 noundef %9602) #11
  %9604 = call ptr @__errno_location() #12
  %9605 = load i32, ptr %9604, align 4, !tbaa !5
  %9606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9593, ptr noundef @.str.5, i32 noundef %9594, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 401, ptr noundef %9597, ptr noundef %9600, ptr noundef %9603, i32 noundef %9605) #11
  br label %9607

9607:                                             ; preds = %9590, %9573
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %9608

9608:                                             ; preds = %9607
  br label %9609

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

9610:                                             ; No predecessors!
  br label %9611

9611:                                             ; preds = %9610
  br label %9612

9612:                                             ; preds = %9611, %9554
  br label %9613

9613:                                             ; preds = %9612
  br label %9614

9614:                                             ; preds = %9613
  br label %9615

9615:                                             ; preds = %9614
  %9616 = load i32, ptr @test_count, align 4, !tbaa !5
  %9617 = add nsw i32 %9616, 1
  store i32 %9617, ptr @test_count, align 4, !tbaa !5
  %9618 = load ptr, ptr %188, align 8, !tbaa !9
  %9619 = getelementptr inbounds [12000 x i8], ptr %17, i64 0, i64 0
  %9620 = getelementptr inbounds [12000 x i8], ptr %19, i64 0, i64 0
  %9621 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef %9618, ptr noundef %9619, ptr noundef %9620)
  %9622 = icmp eq i32 %9621, -1
  br i1 %9622, label %9623, label %9676

9623:                                             ; preds = %9615
  br label %9624

9624:                                             ; preds = %9623
  br label %9625

9625:                                             ; preds = %9624
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %9626 = call ptr @__errno_location() #12
  %9627 = load i32, ptr %9626, align 4, !tbaa !5
  store i32 %9627, ptr %190, align 4, !tbaa !5
  %9628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9629 = call i32 @s2n_print_stacktrace(ptr noundef %9628)
  %9630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9631 = trunc i8 %9630 to i1
  br i1 %9631, label %9632, label %9654

9632:                                             ; preds = %9625
  %9633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9634 = call i32 @fileno(ptr noundef %9633) #11
  %9635 = call i32 @isatty(i32 noundef %9634) #11
  %9636 = icmp ne i32 %9635, 0
  br i1 %9636, label %9637, label %9654

9637:                                             ; preds = %9632
  %9638 = load i32, ptr %190, align 4, !tbaa !5
  %9639 = call ptr @__errno_location() #12
  store i32 %9638, ptr %9639, align 4, !tbaa !5
  %9640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9641 = load i32, ptr @test_count, align 4, !tbaa !5
  %9642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9643 = load i32, ptr %9642, align 4, !tbaa !5
  %9644 = call ptr @s2n_strerror(i32 noundef %9643, ptr noundef @.str.4)
  %9645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9646 = load i32, ptr %9645, align 4, !tbaa !5
  %9647 = call ptr @s2n_strerror_debug(i32 noundef %9646, ptr noundef @.str.4)
  %9648 = call ptr @__errno_location() #12
  %9649 = load i32, ptr %9648, align 4, !tbaa !5
  %9650 = call ptr @strerror(i32 noundef %9649) #11
  %9651 = call ptr @__errno_location() #12
  %9652 = load i32, ptr %9651, align 4, !tbaa !5
  %9653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9640, ptr noundef @.str.2, i32 noundef %9641, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 402, ptr noundef %9644, ptr noundef %9647, ptr noundef %9650, i32 noundef %9652) #11
  br label %9671

9654:                                             ; preds = %9632, %9625
  %9655 = load i32, ptr %190, align 4, !tbaa !5
  %9656 = call ptr @__errno_location() #12
  store i32 %9655, ptr %9656, align 4, !tbaa !5
  %9657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9658 = load i32, ptr @test_count, align 4, !tbaa !5
  %9659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9660 = load i32, ptr %9659, align 4, !tbaa !5
  %9661 = call ptr @s2n_strerror(i32 noundef %9660, ptr noundef @.str.4)
  %9662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9663 = load i32, ptr %9662, align 4, !tbaa !5
  %9664 = call ptr @s2n_strerror_debug(i32 noundef %9663, ptr noundef @.str.4)
  %9665 = call ptr @__errno_location() #12
  %9666 = load i32, ptr %9665, align 4, !tbaa !5
  %9667 = call ptr @strerror(i32 noundef %9666) #11
  %9668 = call ptr @__errno_location() #12
  %9669 = load i32, ptr %9668, align 4, !tbaa !5
  %9670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9657, ptr noundef @.str.5, i32 noundef %9658, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 402, ptr noundef %9661, ptr noundef %9664, ptr noundef %9667, i32 noundef %9669) #11
  br label %9671

9671:                                             ; preds = %9654, %9637
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %9672

9672:                                             ; preds = %9671
  br label %9673

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

9674:                                             ; No predecessors!
  br label %9675

9675:                                             ; preds = %9674
  br label %9676

9676:                                             ; preds = %9675, %9615
  br label %9677

9677:                                             ; preds = %9676
  br label %9678

9678:                                             ; preds = %9677
  br label %9679

9679:                                             ; preds = %9678
  %9680 = load i32, ptr @test_count, align 4, !tbaa !5
  %9681 = add nsw i32 %9680, 1
  store i32 %9681, ptr @test_count, align 4, !tbaa !5
  %9682 = load ptr, ptr %188, align 8, !tbaa !9
  %9683 = call ptr @s2n_config_get_single_default_cert(ptr noundef %9682)
  %9684 = icmp eq ptr %9683, null
  br i1 %9684, label %9685, label %9738

9685:                                             ; preds = %9679
  br label %9686

9686:                                             ; preds = %9685
  br label %9687

9687:                                             ; preds = %9686
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %9688 = call ptr @__errno_location() #12
  %9689 = load i32, ptr %9688, align 4, !tbaa !5
  store i32 %9689, ptr %191, align 4, !tbaa !5
  %9690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9691 = call i32 @s2n_print_stacktrace(ptr noundef %9690)
  %9692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9693 = trunc i8 %9692 to i1
  br i1 %9693, label %9694, label %9716

9694:                                             ; preds = %9687
  %9695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9696 = call i32 @fileno(ptr noundef %9695) #11
  %9697 = call i32 @isatty(i32 noundef %9696) #11
  %9698 = icmp ne i32 %9697, 0
  br i1 %9698, label %9699, label %9716

9699:                                             ; preds = %9694
  %9700 = load i32, ptr %191, align 4, !tbaa !5
  %9701 = call ptr @__errno_location() #12
  store i32 %9700, ptr %9701, align 4, !tbaa !5
  %9702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9703 = load i32, ptr @test_count, align 4, !tbaa !5
  %9704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9705 = load i32, ptr %9704, align 4, !tbaa !5
  %9706 = call ptr @s2n_strerror(i32 noundef %9705, ptr noundef @.str.4)
  %9707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9708 = load i32, ptr %9707, align 4, !tbaa !5
  %9709 = call ptr @s2n_strerror_debug(i32 noundef %9708, ptr noundef @.str.4)
  %9710 = call ptr @__errno_location() #12
  %9711 = load i32, ptr %9710, align 4, !tbaa !5
  %9712 = call ptr @strerror(i32 noundef %9711) #11
  %9713 = call ptr @__errno_location() #12
  %9714 = load i32, ptr %9713, align 4, !tbaa !5
  %9715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9702, ptr noundef @.str.2, i32 noundef %9703, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 403, ptr noundef %9706, ptr noundef %9709, ptr noundef %9712, i32 noundef %9714) #11
  br label %9733

9716:                                             ; preds = %9694, %9687
  %9717 = load i32, ptr %191, align 4, !tbaa !5
  %9718 = call ptr @__errno_location() #12
  store i32 %9717, ptr %9718, align 4, !tbaa !5
  %9719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9720 = load i32, ptr @test_count, align 4, !tbaa !5
  %9721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9722 = load i32, ptr %9721, align 4, !tbaa !5
  %9723 = call ptr @s2n_strerror(i32 noundef %9722, ptr noundef @.str.4)
  %9724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9725 = load i32, ptr %9724, align 4, !tbaa !5
  %9726 = call ptr @s2n_strerror_debug(i32 noundef %9725, ptr noundef @.str.4)
  %9727 = call ptr @__errno_location() #12
  %9728 = load i32, ptr %9727, align 4, !tbaa !5
  %9729 = call ptr @strerror(i32 noundef %9728) #11
  %9730 = call ptr @__errno_location() #12
  %9731 = load i32, ptr %9730, align 4, !tbaa !5
  %9732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9719, ptr noundef @.str.5, i32 noundef %9720, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 403, ptr noundef %9723, ptr noundef %9726, ptr noundef %9729, i32 noundef %9731) #11
  br label %9733

9733:                                             ; preds = %9716, %9699
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %9734

9734:                                             ; preds = %9733
  br label %9735

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

9736:                                             ; No predecessors!
  br label %9737

9737:                                             ; preds = %9736
  br label %9738

9738:                                             ; preds = %9737, %9679
  br label %9739

9739:                                             ; preds = %9738
  br label %9740

9740:                                             ; preds = %9739
  br label %9741

9741:                                             ; preds = %9740
  %9742 = load i32, ptr @test_count, align 4, !tbaa !5
  %9743 = add nsw i32 %9742, 1
  store i32 %9743, ptr @test_count, align 4, !tbaa !5
  %9744 = load ptr, ptr %188, align 8, !tbaa !9
  %9745 = getelementptr inbounds %struct.s2n_config, ptr %9744, i32 0, i32 51
  %9746 = load i32, ptr %9745, align 8, !tbaa !58
  %9747 = icmp eq i32 %9746, 2
  br i1 %9747, label %9801, label %9748

9748:                                             ; preds = %9741
  br label %9749

9749:                                             ; preds = %9748
  br label %9750

9750:                                             ; preds = %9749
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %9751 = call ptr @__errno_location() #12
  %9752 = load i32, ptr %9751, align 4, !tbaa !5
  store i32 %9752, ptr %192, align 4, !tbaa !5
  %9753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9754 = call i32 @s2n_print_stacktrace(ptr noundef %9753)
  %9755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9756 = trunc i8 %9755 to i1
  br i1 %9756, label %9757, label %9779

9757:                                             ; preds = %9750
  %9758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9759 = call i32 @fileno(ptr noundef %9758) #11
  %9760 = call i32 @isatty(i32 noundef %9759) #11
  %9761 = icmp ne i32 %9760, 0
  br i1 %9761, label %9762, label %9779

9762:                                             ; preds = %9757
  %9763 = load i32, ptr %192, align 4, !tbaa !5
  %9764 = call ptr @__errno_location() #12
  store i32 %9763, ptr %9764, align 4, !tbaa !5
  %9765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9766 = load i32, ptr @test_count, align 4, !tbaa !5
  %9767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9768 = load i32, ptr %9767, align 4, !tbaa !5
  %9769 = call ptr @s2n_strerror(i32 noundef %9768, ptr noundef @.str.4)
  %9770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9771 = load i32, ptr %9770, align 4, !tbaa !5
  %9772 = call ptr @s2n_strerror_debug(i32 noundef %9771, ptr noundef @.str.4)
  %9773 = call ptr @__errno_location() #12
  %9774 = load i32, ptr %9773, align 4, !tbaa !5
  %9775 = call ptr @strerror(i32 noundef %9774) #11
  %9776 = call ptr @__errno_location() #12
  %9777 = load i32, ptr %9776, align 4, !tbaa !5
  %9778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9765, ptr noundef @.str.2, i32 noundef %9766, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 404, ptr noundef %9769, ptr noundef %9772, ptr noundef %9775, i32 noundef %9777) #11
  br label %9796

9779:                                             ; preds = %9757, %9750
  %9780 = load i32, ptr %192, align 4, !tbaa !5
  %9781 = call ptr @__errno_location() #12
  store i32 %9780, ptr %9781, align 4, !tbaa !5
  %9782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9783 = load i32, ptr @test_count, align 4, !tbaa !5
  %9784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9785 = load i32, ptr %9784, align 4, !tbaa !5
  %9786 = call ptr @s2n_strerror(i32 noundef %9785, ptr noundef @.str.4)
  %9787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9788 = load i32, ptr %9787, align 4, !tbaa !5
  %9789 = call ptr @s2n_strerror_debug(i32 noundef %9788, ptr noundef @.str.4)
  %9790 = call ptr @__errno_location() #12
  %9791 = load i32, ptr %9790, align 4, !tbaa !5
  %9792 = call ptr @strerror(i32 noundef %9791) #11
  %9793 = call ptr @__errno_location() #12
  %9794 = load i32, ptr %9793, align 4, !tbaa !5
  %9795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9782, ptr noundef @.str.5, i32 noundef %9783, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 404, ptr noundef %9786, ptr noundef %9789, ptr noundef %9792, i32 noundef %9794) #11
  br label %9796

9796:                                             ; preds = %9779, %9762
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %9797

9797:                                             ; preds = %9796
  br label %9798

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

9799:                                             ; No predecessors!
  br label %9800

9800:                                             ; preds = %9799
  br label %9801

9801:                                             ; preds = %9800, %9741
  br label %9802

9802:                                             ; preds = %9801
  br label %9803

9803:                                             ; preds = %9802
  br label %9804

9804:                                             ; preds = %9803
  %9805 = load i32, ptr @test_count, align 4, !tbaa !5
  %9806 = add nsw i32 %9805, 1
  store i32 %9806, ptr @test_count, align 4, !tbaa !5
  %9807 = load ptr, ptr %188, align 8, !tbaa !9
  %9808 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef %9807)
  %9809 = icmp eq i32 %9808, -1
  br i1 %9809, label %9810, label %9863

9810:                                             ; preds = %9804
  br label %9811

9811:                                             ; preds = %9810
  br label %9812

9812:                                             ; preds = %9811
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %9813 = call ptr @__errno_location() #12
  %9814 = load i32, ptr %9813, align 4, !tbaa !5
  store i32 %9814, ptr %193, align 4, !tbaa !5
  %9815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9816 = call i32 @s2n_print_stacktrace(ptr noundef %9815)
  %9817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9818 = trunc i8 %9817 to i1
  br i1 %9818, label %9819, label %9841

9819:                                             ; preds = %9812
  %9820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9821 = call i32 @fileno(ptr noundef %9820) #11
  %9822 = call i32 @isatty(i32 noundef %9821) #11
  %9823 = icmp ne i32 %9822, 0
  br i1 %9823, label %9824, label %9841

9824:                                             ; preds = %9819
  %9825 = load i32, ptr %193, align 4, !tbaa !5
  %9826 = call ptr @__errno_location() #12
  store i32 %9825, ptr %9826, align 4, !tbaa !5
  %9827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9828 = load i32, ptr @test_count, align 4, !tbaa !5
  %9829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9830 = load i32, ptr %9829, align 4, !tbaa !5
  %9831 = call ptr @s2n_strerror(i32 noundef %9830, ptr noundef @.str.4)
  %9832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9833 = load i32, ptr %9832, align 4, !tbaa !5
  %9834 = call ptr @s2n_strerror_debug(i32 noundef %9833, ptr noundef @.str.4)
  %9835 = call ptr @__errno_location() #12
  %9836 = load i32, ptr %9835, align 4, !tbaa !5
  %9837 = call ptr @strerror(i32 noundef %9836) #11
  %9838 = call ptr @__errno_location() #12
  %9839 = load i32, ptr %9838, align 4, !tbaa !5
  %9840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9827, ptr noundef @.str.2, i32 noundef %9828, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 406, ptr noundef %9831, ptr noundef %9834, ptr noundef %9837, i32 noundef %9839) #11
  br label %9858

9841:                                             ; preds = %9819, %9812
  %9842 = load i32, ptr %193, align 4, !tbaa !5
  %9843 = call ptr @__errno_location() #12
  store i32 %9842, ptr %9843, align 4, !tbaa !5
  %9844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9845 = load i32, ptr @test_count, align 4, !tbaa !5
  %9846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9847 = load i32, ptr %9846, align 4, !tbaa !5
  %9848 = call ptr @s2n_strerror(i32 noundef %9847, ptr noundef @.str.4)
  %9849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9850 = load i32, ptr %9849, align 4, !tbaa !5
  %9851 = call ptr @s2n_strerror_debug(i32 noundef %9850, ptr noundef @.str.4)
  %9852 = call ptr @__errno_location() #12
  %9853 = load i32, ptr %9852, align 4, !tbaa !5
  %9854 = call ptr @strerror(i32 noundef %9853) #11
  %9855 = call ptr @__errno_location() #12
  %9856 = load i32, ptr %9855, align 4, !tbaa !5
  %9857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9844, ptr noundef @.str.5, i32 noundef %9845, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 406, ptr noundef %9848, ptr noundef %9851, ptr noundef %9854, i32 noundef %9856) #11
  br label %9858

9858:                                             ; preds = %9841, %9824
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %9859

9859:                                             ; preds = %9858
  br label %9860

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

9861:                                             ; No predecessors!
  br label %9862

9862:                                             ; preds = %9861
  br label %9863

9863:                                             ; preds = %9862, %9804
  br label %9864

9864:                                             ; preds = %9863
  br label %9865

9865:                                             ; preds = %9864
  br label %9866

9866:                                             ; preds = %9865
  %9867 = load i32, ptr @test_count, align 4, !tbaa !5
  %9868 = add nsw i32 %9867, 1
  store i32 %9868, ptr @test_count, align 4, !tbaa !5
  %9869 = load ptr, ptr %188, align 8, !tbaa !9
  %9870 = call ptr @s2n_config_get_single_default_cert(ptr noundef %9869)
  %9871 = icmp eq ptr %9870, null
  br i1 %9871, label %9925, label %9872

9872:                                             ; preds = %9866
  br label %9873

9873:                                             ; preds = %9872
  br label %9874

9874:                                             ; preds = %9873
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %9875 = call ptr @__errno_location() #12
  %9876 = load i32, ptr %9875, align 4, !tbaa !5
  store i32 %9876, ptr %194, align 4, !tbaa !5
  %9877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9878 = call i32 @s2n_print_stacktrace(ptr noundef %9877)
  %9879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9880 = trunc i8 %9879 to i1
  br i1 %9880, label %9881, label %9903

9881:                                             ; preds = %9874
  %9882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9883 = call i32 @fileno(ptr noundef %9882) #11
  %9884 = call i32 @isatty(i32 noundef %9883) #11
  %9885 = icmp ne i32 %9884, 0
  br i1 %9885, label %9886, label %9903

9886:                                             ; preds = %9881
  %9887 = load i32, ptr %194, align 4, !tbaa !5
  %9888 = call ptr @__errno_location() #12
  store i32 %9887, ptr %9888, align 4, !tbaa !5
  %9889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9890 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9892, ptr noundef @.str.4)
  %9894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9895 = load i32, ptr %9894, align 4, !tbaa !5
  %9896 = call ptr @s2n_strerror_debug(i32 noundef %9895, ptr noundef @.str.4)
  %9897 = call ptr @__errno_location() #12
  %9898 = load i32, ptr %9897, align 4, !tbaa !5
  %9899 = call ptr @strerror(i32 noundef %9898) #11
  %9900 = call ptr @__errno_location() #12
  %9901 = load i32, ptr %9900, align 4, !tbaa !5
  %9902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9889, ptr noundef @.str.2, i32 noundef %9890, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 407, ptr noundef %9893, ptr noundef %9896, ptr noundef %9899, i32 noundef %9901) #11
  br label %9920

9903:                                             ; preds = %9881, %9874
  %9904 = load i32, ptr %194, align 4, !tbaa !5
  %9905 = call ptr @__errno_location() #12
  store i32 %9904, ptr %9905, align 4, !tbaa !5
  %9906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9907 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %9909, ptr noundef @.str.4)
  %9911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9912 = load i32, ptr %9911, align 4, !tbaa !5
  %9913 = call ptr @s2n_strerror_debug(i32 noundef %9912, ptr noundef @.str.4)
  %9914 = call ptr @__errno_location() #12
  %9915 = load i32, ptr %9914, align 4, !tbaa !5
  %9916 = call ptr @strerror(i32 noundef %9915) #11
  %9917 = call ptr @__errno_location() #12
  %9918 = load i32, ptr %9917, align 4, !tbaa !5
  %9919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9906, ptr noundef @.str.5, i32 noundef %9907, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 407, ptr noundef %9910, ptr noundef %9913, ptr noundef %9916, i32 noundef %9918) #11
  br label %9920

9920:                                             ; preds = %9903, %9886
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %9921

9921:                                             ; preds = %9920
  br label %9922

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

9923:                                             ; No predecessors!
  br label %9924

9924:                                             ; preds = %9923
  br label %9925

9925:                                             ; preds = %9924, %9866
  br label %9926

9926:                                             ; preds = %9925
  br label %9927

9927:                                             ; preds = %9926
  br label %9928

9928:                                             ; preds = %9927
  %9929 = load i32, ptr @test_count, align 4, !tbaa !5
  %9930 = add nsw i32 %9929, 1
  store i32 %9930, ptr @test_count, align 4, !tbaa !5
  %9931 = load ptr, ptr %188, align 8, !tbaa !9
  %9932 = getelementptr inbounds %struct.s2n_config, ptr %9931, i32 0, i32 51
  %9933 = load i32, ptr %9932, align 8, !tbaa !58
  %9934 = icmp eq i32 %9933, 0
  br i1 %9934, label %9988, label %9935

9935:                                             ; preds = %9928
  br label %9936

9936:                                             ; preds = %9935
  br label %9937

9937:                                             ; preds = %9936
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %9938 = call ptr @__errno_location() #12
  %9939 = load i32, ptr %9938, align 4, !tbaa !5
  store i32 %9939, ptr %195, align 4, !tbaa !5
  %9940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9941 = call i32 @s2n_print_stacktrace(ptr noundef %9940)
  %9942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9943 = trunc i8 %9942 to i1
  br i1 %9943, label %9944, label %9966

9944:                                             ; preds = %9937
  %9945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9946 = call i32 @fileno(ptr noundef %9945) #11
  %9947 = call i32 @isatty(i32 noundef %9946) #11
  %9948 = icmp ne i32 %9947, 0
  br i1 %9948, label %9949, label %9966

9949:                                             ; preds = %9944
  %9950 = load i32, ptr %195, align 4, !tbaa !5
  %9951 = call ptr @__errno_location() #12
  store i32 %9950, ptr %9951, align 4, !tbaa !5
  %9952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9953 = load i32, ptr @test_count, align 4, !tbaa !5
  %9954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9955 = load i32, ptr %9954, align 4, !tbaa !5
  %9956 = call ptr @s2n_strerror(i32 noundef %9955, ptr noundef @.str.4)
  %9957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9958 = load i32, ptr %9957, align 4, !tbaa !5
  %9959 = call ptr @s2n_strerror_debug(i32 noundef %9958, ptr noundef @.str.4)
  %9960 = call ptr @__errno_location() #12
  %9961 = load i32, ptr %9960, align 4, !tbaa !5
  %9962 = call ptr @strerror(i32 noundef %9961) #11
  %9963 = call ptr @__errno_location() #12
  %9964 = load i32, ptr %9963, align 4, !tbaa !5
  %9965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9952, ptr noundef @.str.2, i32 noundef %9953, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 408, ptr noundef %9956, ptr noundef %9959, ptr noundef %9962, i32 noundef %9964) #11
  br label %9983

9966:                                             ; preds = %9944, %9937
  %9967 = load i32, ptr %195, align 4, !tbaa !5
  %9968 = call ptr @__errno_location() #12
  store i32 %9967, ptr %9968, align 4, !tbaa !5
  %9969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9970 = load i32, ptr @test_count, align 4, !tbaa !5
  %9971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9972 = load i32, ptr %9971, align 4, !tbaa !5
  %9973 = call ptr @s2n_strerror(i32 noundef %9972, ptr noundef @.str.4)
  %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_debug(i32 noundef %9975, ptr noundef @.str.4)
  %9977 = call ptr @__errno_location() #12
  %9978 = load i32, ptr %9977, align 4, !tbaa !5
  %9979 = call ptr @strerror(i32 noundef %9978) #11
  %9980 = call ptr @__errno_location() #12
  %9981 = load i32, ptr %9980, align 4, !tbaa !5
  %9982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9969, ptr noundef @.str.5, i32 noundef %9970, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 408, ptr noundef %9973, ptr noundef %9976, ptr noundef %9979, i32 noundef %9981) #11
  br label %9983

9983:                                             ; preds = %9966, %9949
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %9984

9984:                                             ; preds = %9983
  br label %9985

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

9986:                                             ; No predecessors!
  br label %9987

9987:                                             ; preds = %9986
  br label %9988

9988:                                             ; preds = %9987, %9928
  br label %9989

9989:                                             ; preds = %9988
  br label %9990

9990:                                             ; preds = %9989
  br label %9991

9991:                                             ; preds = %9990
  %9992 = load i32, ptr @test_count, align 4, !tbaa !5
  %9993 = add nsw i32 %9992, 1
  store i32 %9993, ptr @test_count, align 4, !tbaa !5
  %9994 = load ptr, ptr %188, align 8, !tbaa !9
  %9995 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef %9994)
  %9996 = icmp eq i32 %9995, -1
  br i1 %9996, label %9997, label %10050

9997:                                             ; preds = %9991
  br label %9998

9998:                                             ; preds = %9997
  br label %9999

9999:                                             ; preds = %9998
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  %10000 = call ptr @__errno_location() #12
  %10001 = load i32, ptr %10000, align 4, !tbaa !5
  store i32 %10001, ptr %196, align 4, !tbaa !5
  %10002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10003 = call i32 @s2n_print_stacktrace(ptr noundef %10002)
  %10004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10005 = trunc i8 %10004 to i1
  br i1 %10005, label %10006, label %10028

10006:                                            ; preds = %9999
  %10007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10008 = call i32 @fileno(ptr noundef %10007) #11
  %10009 = call i32 @isatty(i32 noundef %10008) #11
  %10010 = icmp ne i32 %10009, 0
  br i1 %10010, label %10011, label %10028

10011:                                            ; preds = %10006
  %10012 = load i32, ptr %196, align 4, !tbaa !5
  %10013 = call ptr @__errno_location() #12
  store i32 %10012, ptr %10013, align 4, !tbaa !5
  %10014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10015 = load i32, ptr @test_count, align 4, !tbaa !5
  %10016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10017 = load i32, ptr %10016, align 4, !tbaa !5
  %10018 = call ptr @s2n_strerror(i32 noundef %10017, ptr noundef @.str.4)
  %10019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10020 = load i32, ptr %10019, align 4, !tbaa !5
  %10021 = call ptr @s2n_strerror_debug(i32 noundef %10020, ptr noundef @.str.4)
  %10022 = call ptr @__errno_location() #12
  %10023 = load i32, ptr %10022, align 4, !tbaa !5
  %10024 = call ptr @strerror(i32 noundef %10023) #11
  %10025 = call ptr @__errno_location() #12
  %10026 = load i32, ptr %10025, align 4, !tbaa !5
  %10027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10014, ptr noundef @.str.2, i32 noundef %10015, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 411, ptr noundef %10018, ptr noundef %10021, ptr noundef %10024, i32 noundef %10026) #11
  br label %10045

10028:                                            ; preds = %10006, %9999
  %10029 = load i32, ptr %196, align 4, !tbaa !5
  %10030 = call ptr @__errno_location() #12
  store i32 %10029, ptr %10030, align 4, !tbaa !5
  %10031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10032 = load i32, ptr @test_count, align 4, !tbaa !5
  %10033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10034 = load i32, ptr %10033, align 4, !tbaa !5
  %10035 = call ptr @s2n_strerror(i32 noundef %10034, ptr noundef @.str.4)
  %10036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10037 = load i32, ptr %10036, align 4, !tbaa !5
  %10038 = call ptr @s2n_strerror_debug(i32 noundef %10037, ptr noundef @.str.4)
  %10039 = call ptr @__errno_location() #12
  %10040 = load i32, ptr %10039, align 4, !tbaa !5
  %10041 = call ptr @strerror(i32 noundef %10040) #11
  %10042 = call ptr @__errno_location() #12
  %10043 = load i32, ptr %10042, align 4, !tbaa !5
  %10044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10031, ptr noundef @.str.5, i32 noundef %10032, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 411, ptr noundef %10035, ptr noundef %10038, ptr noundef %10041, i32 noundef %10043) #11
  br label %10045

10045:                                            ; preds = %10028, %10011
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  br label %10046

10046:                                            ; preds = %10045
  br label %10047

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

10048:                                            ; No predecessors!
  br label %10049

10049:                                            ; preds = %10048
  br label %10050

10050:                                            ; preds = %10049, %9991
  br label %10051

10051:                                            ; preds = %10050
  br label %10052

10052:                                            ; preds = %10051
  br label %10053

10053:                                            ; preds = %10052
  %10054 = load i32, ptr @test_count, align 4, !tbaa !5
  %10055 = add nsw i32 %10054, 1
  store i32 %10055, ptr @test_count, align 4, !tbaa !5
  %10056 = load ptr, ptr %188, align 8, !tbaa !9
  %10057 = call ptr @s2n_config_get_single_default_cert(ptr noundef %10056)
  %10058 = icmp eq ptr %10057, null
  br i1 %10058, label %10112, label %10059

10059:                                            ; preds = %10053
  br label %10060

10060:                                            ; preds = %10059
  br label %10061

10061:                                            ; preds = %10060
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #11
  %10062 = call ptr @__errno_location() #12
  %10063 = load i32, ptr %10062, align 4, !tbaa !5
  store i32 %10063, ptr %197, align 4, !tbaa !5
  %10064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10065 = call i32 @s2n_print_stacktrace(ptr noundef %10064)
  %10066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10067 = trunc i8 %10066 to i1
  br i1 %10067, label %10068, label %10090

10068:                                            ; preds = %10061
  %10069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10070 = call i32 @fileno(ptr noundef %10069) #11
  %10071 = call i32 @isatty(i32 noundef %10070) #11
  %10072 = icmp ne i32 %10071, 0
  br i1 %10072, label %10073, label %10090

10073:                                            ; preds = %10068
  %10074 = load i32, ptr %197, align 4, !tbaa !5
  %10075 = call ptr @__errno_location() #12
  store i32 %10074, ptr %10075, align 4, !tbaa !5
  %10076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10077 = load i32, ptr @test_count, align 4, !tbaa !5
  %10078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10079 = load i32, ptr %10078, align 4, !tbaa !5
  %10080 = call ptr @s2n_strerror(i32 noundef %10079, ptr noundef @.str.4)
  %10081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10082 = load i32, ptr %10081, align 4, !tbaa !5
  %10083 = call ptr @s2n_strerror_debug(i32 noundef %10082, ptr noundef @.str.4)
  %10084 = call ptr @__errno_location() #12
  %10085 = load i32, ptr %10084, align 4, !tbaa !5
  %10086 = call ptr @strerror(i32 noundef %10085) #11
  %10087 = call ptr @__errno_location() #12
  %10088 = load i32, ptr %10087, align 4, !tbaa !5
  %10089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10076, ptr noundef @.str.2, i32 noundef %10077, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 412, ptr noundef %10080, ptr noundef %10083, ptr noundef %10086, i32 noundef %10088) #11
  br label %10107

10090:                                            ; preds = %10068, %10061
  %10091 = load i32, ptr %197, align 4, !tbaa !5
  %10092 = call ptr @__errno_location() #12
  store i32 %10091, ptr %10092, align 4, !tbaa !5
  %10093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10094 = load i32, ptr @test_count, align 4, !tbaa !5
  %10095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10096 = load i32, ptr %10095, align 4, !tbaa !5
  %10097 = call ptr @s2n_strerror(i32 noundef %10096, ptr noundef @.str.4)
  %10098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10099 = load i32, ptr %10098, align 4, !tbaa !5
  %10100 = call ptr @s2n_strerror_debug(i32 noundef %10099, ptr noundef @.str.4)
  %10101 = call ptr @__errno_location() #12
  %10102 = load i32, ptr %10101, align 4, !tbaa !5
  %10103 = call ptr @strerror(i32 noundef %10102) #11
  %10104 = call ptr @__errno_location() #12
  %10105 = load i32, ptr %10104, align 4, !tbaa !5
  %10106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10093, ptr noundef @.str.5, i32 noundef %10094, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 412, ptr noundef %10097, ptr noundef %10100, ptr noundef %10103, i32 noundef %10105) #11
  br label %10107

10107:                                            ; preds = %10090, %10073
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #11
  br label %10108

10108:                                            ; preds = %10107
  br label %10109

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

10110:                                            ; No predecessors!
  br label %10111

10111:                                            ; preds = %10110
  br label %10112

10112:                                            ; preds = %10111, %10053
  br label %10113

10113:                                            ; preds = %10112
  br label %10114

10114:                                            ; preds = %10113
  %10115 = call i32 @s2n_config_ptr_free(ptr noundef %188)
  %10116 = getelementptr inbounds %struct.s2n_result, ptr %198, i32 0, i32 0
  store i32 %10115, ptr %10116, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %188) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #11
  store ptr null, ptr %199, align 8, !tbaa !9
  br label %10117

10117:                                            ; preds = %10114
  %10118 = load i32, ptr @test_count, align 4, !tbaa !5
  %10119 = add nsw i32 %10118, 1
  store i32 %10119, ptr @test_count, align 4, !tbaa !5
  %10120 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %199, ptr noundef @.str.15, ptr noundef @.str.17)
  %10121 = icmp eq i32 %10120, -1
  br i1 %10121, label %10122, label %10175

10122:                                            ; preds = %10117
  br label %10123

10123:                                            ; preds = %10122
  br label %10124

10124:                                            ; preds = %10123
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %10125 = call ptr @__errno_location() #12
  %10126 = load i32, ptr %10125, align 4, !tbaa !5
  store i32 %10126, ptr %200, align 4, !tbaa !5
  %10127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10128 = call i32 @s2n_print_stacktrace(ptr noundef %10127)
  %10129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10130 = trunc i8 %10129 to i1
  br i1 %10130, label %10131, label %10153

10131:                                            ; preds = %10124
  %10132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10133 = call i32 @fileno(ptr noundef %10132) #11
  %10134 = call i32 @isatty(i32 noundef %10133) #11
  %10135 = icmp ne i32 %10134, 0
  br i1 %10135, label %10136, label %10153

10136:                                            ; preds = %10131
  %10137 = load i32, ptr %200, align 4, !tbaa !5
  %10138 = call ptr @__errno_location() #12
  store i32 %10137, ptr %10138, align 4, !tbaa !5
  %10139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10140 = load i32, ptr @test_count, align 4, !tbaa !5
  %10141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10142 = load i32, ptr %10141, align 4, !tbaa !5
  %10143 = call ptr @s2n_strerror(i32 noundef %10142, ptr noundef @.str.4)
  %10144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10145 = load i32, ptr %10144, align 4, !tbaa !5
  %10146 = call ptr @s2n_strerror_debug(i32 noundef %10145, ptr noundef @.str.4)
  %10147 = call ptr @__errno_location() #12
  %10148 = load i32, ptr %10147, align 4, !tbaa !5
  %10149 = call ptr @strerror(i32 noundef %10148) #11
  %10150 = call ptr @__errno_location() #12
  %10151 = load i32, ptr %10150, align 4, !tbaa !5
  %10152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10139, ptr noundef @.str.2, i32 noundef %10140, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 419, ptr noundef %10143, ptr noundef %10146, ptr noundef %10149, i32 noundef %10151) #11
  br label %10170

10153:                                            ; preds = %10131, %10124
  %10154 = load i32, ptr %200, align 4, !tbaa !5
  %10155 = call ptr @__errno_location() #12
  store i32 %10154, ptr %10155, align 4, !tbaa !5
  %10156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10157 = load i32, ptr @test_count, align 4, !tbaa !5
  %10158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10159 = load i32, ptr %10158, align 4, !tbaa !5
  %10160 = call ptr @s2n_strerror(i32 noundef %10159, ptr noundef @.str.4)
  %10161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10162 = load i32, ptr %10161, align 4, !tbaa !5
  %10163 = call ptr @s2n_strerror_debug(i32 noundef %10162, ptr noundef @.str.4)
  %10164 = call ptr @__errno_location() #12
  %10165 = load i32, ptr %10164, align 4, !tbaa !5
  %10166 = call ptr @strerror(i32 noundef %10165) #11
  %10167 = call ptr @__errno_location() #12
  %10168 = load i32, ptr %10167, align 4, !tbaa !5
  %10169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10156, ptr noundef @.str.5, i32 noundef %10157, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 419, ptr noundef %10160, ptr noundef %10163, ptr noundef %10166, i32 noundef %10168) #11
  br label %10170

10170:                                            ; preds = %10153, %10136
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %10171

10171:                                            ; preds = %10170
  br label %10172

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

10173:                                            ; No predecessors!
  br label %10174

10174:                                            ; preds = %10173
  br label %10175

10175:                                            ; preds = %10174, %10117
  br label %10176

10176:                                            ; preds = %10175
  br label %10177

10177:                                            ; preds = %10176
  call void @llvm.lifetime.start.p0(i64 8, ptr %201) #11
  %10178 = call ptr @s2n_config_new()
  store ptr %10178, ptr %201, align 8, !tbaa !9
  br label %10179

10179:                                            ; preds = %10177
  %10180 = load i32, ptr @test_count, align 4, !tbaa !5
  %10181 = add nsw i32 %10180, 1
  store i32 %10181, ptr @test_count, align 4, !tbaa !5
  %10182 = load ptr, ptr %201, align 8, !tbaa !9
  %10183 = icmp eq ptr %10182, null
  br i1 %10183, label %10184, label %10237

10184:                                            ; preds = %10179
  br label %10185

10185:                                            ; preds = %10184
  br label %10186

10186:                                            ; preds = %10185
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %10187 = call ptr @__errno_location() #12
  %10188 = load i32, ptr %10187, align 4, !tbaa !5
  store i32 %10188, ptr %202, align 4, !tbaa !5
  %10189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10190 = call i32 @s2n_print_stacktrace(ptr noundef %10189)
  %10191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10192 = trunc i8 %10191 to i1
  br i1 %10192, label %10193, label %10215

10193:                                            ; preds = %10186
  %10194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10195 = call i32 @fileno(ptr noundef %10194) #11
  %10196 = call i32 @isatty(i32 noundef %10195) #11
  %10197 = icmp ne i32 %10196, 0
  br i1 %10197, label %10198, label %10215

10198:                                            ; preds = %10193
  %10199 = load i32, ptr %202, align 4, !tbaa !5
  %10200 = call ptr @__errno_location() #12
  store i32 %10199, ptr %10200, align 4, !tbaa !5
  %10201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10202 = load i32, ptr @test_count, align 4, !tbaa !5
  %10203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10204 = load i32, ptr %10203, align 4, !tbaa !5
  %10205 = call ptr @s2n_strerror(i32 noundef %10204, ptr noundef @.str.4)
  %10206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10207 = load i32, ptr %10206, align 4, !tbaa !5
  %10208 = call ptr @s2n_strerror_debug(i32 noundef %10207, ptr noundef @.str.4)
  %10209 = call ptr @__errno_location() #12
  %10210 = load i32, ptr %10209, align 4, !tbaa !5
  %10211 = call ptr @strerror(i32 noundef %10210) #11
  %10212 = call ptr @__errno_location() #12
  %10213 = load i32, ptr %10212, align 4, !tbaa !5
  %10214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10201, ptr noundef @.str.2, i32 noundef %10202, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 422, ptr noundef %10205, ptr noundef %10208, ptr noundef %10211, i32 noundef %10213) #11
  br label %10232

10215:                                            ; preds = %10193, %10186
  %10216 = load i32, ptr %202, align 4, !tbaa !5
  %10217 = call ptr @__errno_location() #12
  store i32 %10216, ptr %10217, align 4, !tbaa !5
  %10218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10219 = load i32, ptr @test_count, align 4, !tbaa !5
  %10220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10221 = load i32, ptr %10220, align 4, !tbaa !5
  %10222 = call ptr @s2n_strerror(i32 noundef %10221, ptr noundef @.str.4)
  %10223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10224 = load i32, ptr %10223, align 4, !tbaa !5
  %10225 = call ptr @s2n_strerror_debug(i32 noundef %10224, ptr noundef @.str.4)
  %10226 = call ptr @__errno_location() #12
  %10227 = load i32, ptr %10226, align 4, !tbaa !5
  %10228 = call ptr @strerror(i32 noundef %10227) #11
  %10229 = call ptr @__errno_location() #12
  %10230 = load i32, ptr %10229, align 4, !tbaa !5
  %10231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10218, ptr noundef @.str.5, i32 noundef %10219, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 422, ptr noundef %10222, ptr noundef %10225, ptr noundef %10228, i32 noundef %10230) #11
  br label %10232

10232:                                            ; preds = %10215, %10198
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %10233

10233:                                            ; preds = %10232
  br label %10234

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

10235:                                            ; No predecessors!
  br label %10236

10236:                                            ; preds = %10235
  br label %10237

10237:                                            ; preds = %10236, %10179
  br label %10238

10238:                                            ; preds = %10237
  br label %10239

10239:                                            ; preds = %10238
  br label %10240

10240:                                            ; preds = %10239
  %10241 = load i32, ptr @test_count, align 4, !tbaa !5
  %10242 = add nsw i32 %10241, 1
  store i32 %10242, ptr @test_count, align 4, !tbaa !5
  %10243 = load ptr, ptr %201, align 8, !tbaa !9
  %10244 = getelementptr inbounds [12000 x i8], ptr %17, i64 0, i64 0
  %10245 = getelementptr inbounds [12000 x i8], ptr %19, i64 0, i64 0
  %10246 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef %10243, ptr noundef %10244, ptr noundef %10245)
  %10247 = icmp eq i32 %10246, -1
  br i1 %10247, label %10248, label %10301

10248:                                            ; preds = %10240
  br label %10249

10249:                                            ; preds = %10248
  br label %10250

10250:                                            ; preds = %10249
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %10251 = call ptr @__errno_location() #12
  %10252 = load i32, ptr %10251, align 4, !tbaa !5
  store i32 %10252, ptr %203, align 4, !tbaa !5
  %10253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10254 = call i32 @s2n_print_stacktrace(ptr noundef %10253)
  %10255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10256 = trunc i8 %10255 to i1
  br i1 %10256, label %10257, label %10279

10257:                                            ; preds = %10250
  %10258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10259 = call i32 @fileno(ptr noundef %10258) #11
  %10260 = call i32 @isatty(i32 noundef %10259) #11
  %10261 = icmp ne i32 %10260, 0
  br i1 %10261, label %10262, label %10279

10262:                                            ; preds = %10257
  %10263 = load i32, ptr %203, align 4, !tbaa !5
  %10264 = call ptr @__errno_location() #12
  store i32 %10263, ptr %10264, align 4, !tbaa !5
  %10265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10266 = load i32, ptr @test_count, align 4, !tbaa !5
  %10267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10268 = load i32, ptr %10267, align 4, !tbaa !5
  %10269 = call ptr @s2n_strerror(i32 noundef %10268, ptr noundef @.str.4)
  %10270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10271 = load i32, ptr %10270, align 4, !tbaa !5
  %10272 = call ptr @s2n_strerror_debug(i32 noundef %10271, ptr noundef @.str.4)
  %10273 = call ptr @__errno_location() #12
  %10274 = load i32, ptr %10273, align 4, !tbaa !5
  %10275 = call ptr @strerror(i32 noundef %10274) #11
  %10276 = call ptr @__errno_location() #12
  %10277 = load i32, ptr %10276, align 4, !tbaa !5
  %10278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10265, ptr noundef @.str.2, i32 noundef %10266, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 423, ptr noundef %10269, ptr noundef %10272, ptr noundef %10275, i32 noundef %10277) #11
  br label %10296

10279:                                            ; preds = %10257, %10250
  %10280 = load i32, ptr %203, 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.4)
  %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.4)
  %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.5, i32 noundef %10283, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 423, ptr noundef %10286, ptr noundef %10289, ptr noundef %10292, i32 noundef %10294) #11
  br label %10296

10296:                                            ; preds = %10279, %10262
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %10297

10297:                                            ; preds = %10296
  br label %10298

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

10299:                                            ; No predecessors!
  br label %10300

10300:                                            ; preds = %10299
  br label %10301

10301:                                            ; preds = %10300, %10240
  br label %10302

10302:                                            ; preds = %10301
  br label %10303

10303:                                            ; preds = %10302
  br label %10304

10304:                                            ; preds = %10303
  %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
  %10307 = load ptr, ptr %201, align 8, !tbaa !9
  %10308 = call ptr @s2n_config_get_single_default_cert(ptr noundef %10307)
  %10309 = icmp eq ptr %10308, null
  br i1 %10309, label %10310, label %10363

10310:                                            ; preds = %10304
  br label %10311

10311:                                            ; preds = %10310
  br label %10312

10312:                                            ; preds = %10311
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %10313 = call ptr @__errno_location() #12
  %10314 = load i32, ptr %10313, align 4, !tbaa !5
  store i32 %10314, ptr %204, align 4, !tbaa !5
  %10315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10316 = call i32 @s2n_print_stacktrace(ptr noundef %10315)
  %10317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10318 = trunc i8 %10317 to i1
  br i1 %10318, label %10319, label %10341

10319:                                            ; preds = %10312
  %10320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10321 = call i32 @fileno(ptr noundef %10320) #11
  %10322 = call i32 @isatty(i32 noundef %10321) #11
  %10323 = icmp ne i32 %10322, 0
  br i1 %10323, label %10324, label %10341

10324:                                            ; preds = %10319
  %10325 = load i32, ptr %204, align 4, !tbaa !5
  %10326 = call ptr @__errno_location() #12
  store i32 %10325, ptr %10326, align 4, !tbaa !5
  %10327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10328 = load i32, ptr @test_count, align 4, !tbaa !5
  %10329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10330 = load i32, ptr %10329, align 4, !tbaa !5
  %10331 = call ptr @s2n_strerror(i32 noundef %10330, ptr noundef @.str.4)
  %10332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10333 = load i32, ptr %10332, align 4, !tbaa !5
  %10334 = call ptr @s2n_strerror_debug(i32 noundef %10333, ptr noundef @.str.4)
  %10335 = call ptr @__errno_location() #12
  %10336 = load i32, ptr %10335, align 4, !tbaa !5
  %10337 = call ptr @strerror(i32 noundef %10336) #11
  %10338 = call ptr @__errno_location() #12
  %10339 = load i32, ptr %10338, align 4, !tbaa !5
  %10340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10327, ptr noundef @.str.2, i32 noundef %10328, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 424, ptr noundef %10331, ptr noundef %10334, ptr noundef %10337, i32 noundef %10339) #11
  br label %10358

10341:                                            ; preds = %10319, %10312
  %10342 = load i32, ptr %204, align 4, !tbaa !5
  %10343 = call ptr @__errno_location() #12
  store i32 %10342, ptr %10343, align 4, !tbaa !5
  %10344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10345 = load i32, ptr @test_count, align 4, !tbaa !5
  %10346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10347 = load i32, ptr %10346, align 4, !tbaa !5
  %10348 = call ptr @s2n_strerror(i32 noundef %10347, ptr noundef @.str.4)
  %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_debug(i32 noundef %10350, ptr noundef @.str.4)
  %10352 = call ptr @__errno_location() #12
  %10353 = load i32, ptr %10352, align 4, !tbaa !5
  %10354 = call ptr @strerror(i32 noundef %10353) #11
  %10355 = call ptr @__errno_location() #12
  %10356 = load i32, ptr %10355, align 4, !tbaa !5
  %10357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10344, ptr noundef @.str.5, i32 noundef %10345, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 424, ptr noundef %10348, ptr noundef %10351, ptr noundef %10354, i32 noundef %10356) #11
  br label %10358

10358:                                            ; preds = %10341, %10324
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %10359

10359:                                            ; preds = %10358
  br label %10360

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

10361:                                            ; No predecessors!
  br label %10362

10362:                                            ; preds = %10361
  br label %10363

10363:                                            ; preds = %10362, %10304
  br label %10364

10364:                                            ; preds = %10363
  br label %10365

10365:                                            ; preds = %10364
  br label %10366

10366:                                            ; preds = %10365
  %10367 = load i32, ptr @test_count, align 4, !tbaa !5
  %10368 = add nsw i32 %10367, 1
  store i32 %10368, ptr @test_count, align 4, !tbaa !5
  %10369 = load ptr, ptr %201, align 8, !tbaa !9
  %10370 = getelementptr inbounds %struct.s2n_config, ptr %10369, i32 0, i32 51
  %10371 = load i32, ptr %10370, align 8, !tbaa !58
  %10372 = icmp eq i32 %10371, 2
  br i1 %10372, label %10426, label %10373

10373:                                            ; preds = %10366
  br label %10374

10374:                                            ; preds = %10373
  br label %10375

10375:                                            ; preds = %10374
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #11
  %10376 = call ptr @__errno_location() #12
  %10377 = load i32, ptr %10376, align 4, !tbaa !5
  store i32 %10377, ptr %205, align 4, !tbaa !5
  %10378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10379 = call i32 @s2n_print_stacktrace(ptr noundef %10378)
  %10380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10381 = trunc i8 %10380 to i1
  br i1 %10381, label %10382, label %10404

10382:                                            ; preds = %10375
  %10383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10384 = call i32 @fileno(ptr noundef %10383) #11
  %10385 = call i32 @isatty(i32 noundef %10384) #11
  %10386 = icmp ne i32 %10385, 0
  br i1 %10386, label %10387, label %10404

10387:                                            ; preds = %10382
  %10388 = load i32, ptr %205, align 4, !tbaa !5
  %10389 = call ptr @__errno_location() #12
  store i32 %10388, ptr %10389, align 4, !tbaa !5
  %10390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10391 = load i32, ptr @test_count, align 4, !tbaa !5
  %10392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10393 = load i32, ptr %10392, align 4, !tbaa !5
  %10394 = call ptr @s2n_strerror(i32 noundef %10393, ptr noundef @.str.4)
  %10395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10396 = load i32, ptr %10395, align 4, !tbaa !5
  %10397 = call ptr @s2n_strerror_debug(i32 noundef %10396, ptr noundef @.str.4)
  %10398 = call ptr @__errno_location() #12
  %10399 = load i32, ptr %10398, align 4, !tbaa !5
  %10400 = call ptr @strerror(i32 noundef %10399) #11
  %10401 = call ptr @__errno_location() #12
  %10402 = load i32, ptr %10401, align 4, !tbaa !5
  %10403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10390, ptr noundef @.str.2, i32 noundef %10391, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10394, ptr noundef %10397, ptr noundef %10400, i32 noundef %10402) #11
  br label %10421

10404:                                            ; preds = %10382, %10375
  %10405 = load i32, ptr %205, align 4, !tbaa !5
  %10406 = call ptr @__errno_location() #12
  store i32 %10405, ptr %10406, align 4, !tbaa !5
  %10407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10408 = load i32, ptr @test_count, align 4, !tbaa !5
  %10409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10410 = load i32, ptr %10409, align 4, !tbaa !5
  %10411 = call ptr @s2n_strerror(i32 noundef %10410, ptr noundef @.str.4)
  %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_debug(i32 noundef %10413, ptr noundef @.str.4)
  %10415 = call ptr @__errno_location() #12
  %10416 = load i32, ptr %10415, align 4, !tbaa !5
  %10417 = call ptr @strerror(i32 noundef %10416) #11
  %10418 = call ptr @__errno_location() #12
  %10419 = load i32, ptr %10418, align 4, !tbaa !5
  %10420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10407, ptr noundef @.str.5, i32 noundef %10408, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 425, ptr noundef %10411, ptr noundef %10414, ptr noundef %10417, i32 noundef %10419) #11
  br label %10421

10421:                                            ; preds = %10404, %10387
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #11
  br label %10422

10422:                                            ; preds = %10421
  br label %10423

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

10424:                                            ; No predecessors!
  br label %10425

10425:                                            ; preds = %10424
  br label %10426

10426:                                            ; preds = %10425, %10366
  br label %10427

10427:                                            ; preds = %10426
  br label %10428

10428:                                            ; preds = %10427
  br label %10429

10429:                                            ; preds = %10428
  %10430 = load i32, ptr @test_count, align 4, !tbaa !5
  %10431 = add nsw i32 %10430, 1
  store i32 %10431, ptr @test_count, align 4, !tbaa !5
  %10432 = load ptr, ptr %201, align 8, !tbaa !9
  %10433 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef %10432)
  %10434 = icmp eq i32 %10433, -1
  br i1 %10434, label %10435, label %10488

10435:                                            ; preds = %10429
  br label %10436

10436:                                            ; preds = %10435
  br label %10437

10437:                                            ; preds = %10436
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %10438 = call ptr @__errno_location() #12
  %10439 = load i32, ptr %10438, align 4, !tbaa !5
  store i32 %10439, ptr %206, align 4, !tbaa !5
  %10440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10441 = call i32 @s2n_print_stacktrace(ptr noundef %10440)
  %10442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10443 = trunc i8 %10442 to i1
  br i1 %10443, label %10444, label %10466

10444:                                            ; preds = %10437
  %10445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10446 = call i32 @fileno(ptr noundef %10445) #11
  %10447 = call i32 @isatty(i32 noundef %10446) #11
  %10448 = icmp ne i32 %10447, 0
  br i1 %10448, label %10449, label %10466

10449:                                            ; preds = %10444
  %10450 = load i32, ptr %206, align 4, !tbaa !5
  %10451 = call ptr @__errno_location() #12
  store i32 %10450, ptr %10451, align 4, !tbaa !5
  %10452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10453 = load i32, ptr @test_count, align 4, !tbaa !5
  %10454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10455 = load i32, ptr %10454, align 4, !tbaa !5
  %10456 = call ptr @s2n_strerror(i32 noundef %10455, ptr noundef @.str.4)
  %10457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10458 = load i32, ptr %10457, align 4, !tbaa !5
  %10459 = call ptr @s2n_strerror_debug(i32 noundef %10458, ptr noundef @.str.4)
  %10460 = call ptr @__errno_location() #12
  %10461 = load i32, ptr %10460, align 4, !tbaa !5
  %10462 = call ptr @strerror(i32 noundef %10461) #11
  %10463 = call ptr @__errno_location() #12
  %10464 = load i32, ptr %10463, align 4, !tbaa !5
  %10465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10452, ptr noundef @.str.2, i32 noundef %10453, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 427, ptr noundef %10456, ptr noundef %10459, ptr noundef %10462, i32 noundef %10464) #11
  br label %10483

10466:                                            ; preds = %10444, %10437
  %10467 = load i32, ptr %206, align 4, !tbaa !5
  %10468 = call ptr @__errno_location() #12
  store i32 %10467, ptr %10468, align 4, !tbaa !5
  %10469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10470 = load i32, ptr @test_count, align 4, !tbaa !5
  %10471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10472 = load i32, ptr %10471, align 4, !tbaa !5
  %10473 = call ptr @s2n_strerror(i32 noundef %10472, ptr noundef @.str.4)
  %10474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10475 = load i32, ptr %10474, align 4, !tbaa !5
  %10476 = call ptr @s2n_strerror_debug(i32 noundef %10475, ptr noundef @.str.4)
  %10477 = call ptr @__errno_location() #12
  %10478 = load i32, ptr %10477, align 4, !tbaa !5
  %10479 = call ptr @strerror(i32 noundef %10478) #11
  %10480 = call ptr @__errno_location() #12
  %10481 = load i32, ptr %10480, align 4, !tbaa !5
  %10482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10469, ptr noundef @.str.5, i32 noundef %10470, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 427, ptr noundef %10473, ptr noundef %10476, ptr noundef %10479, i32 noundef %10481) #11
  br label %10483

10483:                                            ; preds = %10466, %10449
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %10484

10484:                                            ; preds = %10483
  br label %10485

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

10486:                                            ; No predecessors!
  br label %10487

10487:                                            ; preds = %10486
  br label %10488

10488:                                            ; preds = %10487, %10429
  br label %10489

10489:                                            ; preds = %10488
  br label %10490

10490:                                            ; preds = %10489
  br label %10491

10491:                                            ; preds = %10490
  %10492 = load i32, ptr @test_count, align 4, !tbaa !5
  %10493 = add nsw i32 %10492, 1
  store i32 %10493, ptr @test_count, align 4, !tbaa !5
  %10494 = load ptr, ptr %201, align 8, !tbaa !9
  %10495 = call ptr @s2n_config_get_single_default_cert(ptr noundef %10494)
  %10496 = icmp eq ptr %10495, null
  br i1 %10496, label %10550, label %10497

10497:                                            ; preds = %10491
  br label %10498

10498:                                            ; preds = %10497
  br label %10499

10499:                                            ; preds = %10498
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %10500 = call ptr @__errno_location() #12
  %10501 = load i32, ptr %10500, align 4, !tbaa !5
  store i32 %10501, ptr %207, align 4, !tbaa !5
  %10502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10503 = call i32 @s2n_print_stacktrace(ptr noundef %10502)
  %10504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10505 = trunc i8 %10504 to i1
  br i1 %10505, label %10506, label %10528

10506:                                            ; preds = %10499
  %10507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10508 = call i32 @fileno(ptr noundef %10507) #11
  %10509 = call i32 @isatty(i32 noundef %10508) #11
  %10510 = icmp ne i32 %10509, 0
  br i1 %10510, label %10511, label %10528

10511:                                            ; preds = %10506
  %10512 = load i32, ptr %207, align 4, !tbaa !5
  %10513 = call ptr @__errno_location() #12
  store i32 %10512, ptr %10513, align 4, !tbaa !5
  %10514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10515 = load i32, ptr @test_count, align 4, !tbaa !5
  %10516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10517 = load i32, ptr %10516, align 4, !tbaa !5
  %10518 = call ptr @s2n_strerror(i32 noundef %10517, ptr noundef @.str.4)
  %10519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10520 = load i32, ptr %10519, align 4, !tbaa !5
  %10521 = call ptr @s2n_strerror_debug(i32 noundef %10520, ptr noundef @.str.4)
  %10522 = call ptr @__errno_location() #12
  %10523 = load i32, ptr %10522, align 4, !tbaa !5
  %10524 = call ptr @strerror(i32 noundef %10523) #11
  %10525 = call ptr @__errno_location() #12
  %10526 = load i32, ptr %10525, align 4, !tbaa !5
  %10527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10514, ptr noundef @.str.2, i32 noundef %10515, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 428, ptr noundef %10518, ptr noundef %10521, ptr noundef %10524, i32 noundef %10526) #11
  br label %10545

10528:                                            ; preds = %10506, %10499
  %10529 = load i32, ptr %207, align 4, !tbaa !5
  %10530 = call ptr @__errno_location() #12
  store i32 %10529, ptr %10530, align 4, !tbaa !5
  %10531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10532 = load i32, ptr @test_count, align 4, !tbaa !5
  %10533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10534 = load i32, ptr %10533, align 4, !tbaa !5
  %10535 = call ptr @s2n_strerror(i32 noundef %10534, ptr noundef @.str.4)
  %10536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10537 = load i32, ptr %10536, align 4, !tbaa !5
  %10538 = call ptr @s2n_strerror_debug(i32 noundef %10537, ptr noundef @.str.4)
  %10539 = call ptr @__errno_location() #12
  %10540 = load i32, ptr %10539, align 4, !tbaa !5
  %10541 = call ptr @strerror(i32 noundef %10540) #11
  %10542 = call ptr @__errno_location() #12
  %10543 = load i32, ptr %10542, align 4, !tbaa !5
  %10544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10531, ptr noundef @.str.5, i32 noundef %10532, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 428, ptr noundef %10535, ptr noundef %10538, ptr noundef %10541, i32 noundef %10543) #11
  br label %10545

10545:                                            ; preds = %10528, %10511
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %10546

10546:                                            ; preds = %10545
  br label %10547

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

10548:                                            ; No predecessors!
  br label %10549

10549:                                            ; preds = %10548
  br label %10550

10550:                                            ; preds = %10549, %10491
  br label %10551

10551:                                            ; preds = %10550
  br label %10552

10552:                                            ; preds = %10551
  br label %10553

10553:                                            ; preds = %10552
  %10554 = load i32, ptr @test_count, align 4, !tbaa !5
  %10555 = add nsw i32 %10554, 1
  store i32 %10555, ptr @test_count, align 4, !tbaa !5
  %10556 = load ptr, ptr %201, align 8, !tbaa !9
  %10557 = getelementptr inbounds %struct.s2n_config, ptr %10556, i32 0, i32 51
  %10558 = load i32, ptr %10557, align 8, !tbaa !58
  %10559 = icmp eq i32 %10558, 0
  br i1 %10559, label %10613, label %10560

10560:                                            ; preds = %10553
  br label %10561

10561:                                            ; preds = %10560
  br label %10562

10562:                                            ; preds = %10561
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %10563 = call ptr @__errno_location() #12
  %10564 = load i32, ptr %10563, align 4, !tbaa !5
  store i32 %10564, ptr %208, align 4, !tbaa !5
  %10565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10566 = call i32 @s2n_print_stacktrace(ptr noundef %10565)
  %10567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10568 = trunc i8 %10567 to i1
  br i1 %10568, label %10569, label %10591

10569:                                            ; preds = %10562
  %10570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10571 = call i32 @fileno(ptr noundef %10570) #11
  %10572 = call i32 @isatty(i32 noundef %10571) #11
  %10573 = icmp ne i32 %10572, 0
  br i1 %10573, label %10574, label %10591

10574:                                            ; preds = %10569
  %10575 = load i32, ptr %208, align 4, !tbaa !5
  %10576 = call ptr @__errno_location() #12
  store i32 %10575, ptr %10576, align 4, !tbaa !5
  %10577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10578 = load i32, ptr @test_count, align 4, !tbaa !5
  %10579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10580 = load i32, ptr %10579, align 4, !tbaa !5
  %10581 = call ptr @s2n_strerror(i32 noundef %10580, ptr noundef @.str.4)
  %10582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10583 = load i32, ptr %10582, align 4, !tbaa !5
  %10584 = call ptr @s2n_strerror_debug(i32 noundef %10583, ptr noundef @.str.4)
  %10585 = call ptr @__errno_location() #12
  %10586 = load i32, ptr %10585, align 4, !tbaa !5
  %10587 = call ptr @strerror(i32 noundef %10586) #11
  %10588 = call ptr @__errno_location() #12
  %10589 = load i32, ptr %10588, align 4, !tbaa !5
  %10590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10577, ptr noundef @.str.2, i32 noundef %10578, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 429, ptr noundef %10581, ptr noundef %10584, ptr noundef %10587, i32 noundef %10589) #11
  br label %10608

10591:                                            ; preds = %10569, %10562
  %10592 = load i32, ptr %208, align 4, !tbaa !5
  %10593 = call ptr @__errno_location() #12
  store i32 %10592, ptr %10593, align 4, !tbaa !5
  %10594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10595 = load i32, ptr @test_count, align 4, !tbaa !5
  %10596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10597 = load i32, ptr %10596, align 4, !tbaa !5
  %10598 = call ptr @s2n_strerror(i32 noundef %10597, ptr noundef @.str.4)
  %10599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10600 = load i32, ptr %10599, align 4, !tbaa !5
  %10601 = call ptr @s2n_strerror_debug(i32 noundef %10600, ptr noundef @.str.4)
  %10602 = call ptr @__errno_location() #12
  %10603 = load i32, ptr %10602, align 4, !tbaa !5
  %10604 = call ptr @strerror(i32 noundef %10603) #11
  %10605 = call ptr @__errno_location() #12
  %10606 = load i32, ptr %10605, align 4, !tbaa !5
  %10607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10594, ptr noundef @.str.5, i32 noundef %10595, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 429, ptr noundef %10598, ptr noundef %10601, ptr noundef %10604, i32 noundef %10606) #11
  br label %10608

10608:                                            ; preds = %10591, %10574
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %10609

10609:                                            ; preds = %10608
  br label %10610

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

10611:                                            ; No predecessors!
  br label %10612

10612:                                            ; preds = %10611
  br label %10613

10613:                                            ; preds = %10612, %10553
  br label %10614

10614:                                            ; preds = %10613
  br label %10615

10615:                                            ; preds = %10614
  br label %10616

10616:                                            ; preds = %10615
  %10617 = load i32, ptr @test_count, align 4, !tbaa !5
  %10618 = add nsw i32 %10617, 1
  store i32 %10618, ptr @test_count, align 4, !tbaa !5
  %10619 = load ptr, ptr %201, align 8, !tbaa !9
  %10620 = load ptr, ptr %199, align 8, !tbaa !9
  %10621 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %10619, ptr noundef %10620)
  %10622 = icmp eq i32 %10621, -1
  br i1 %10622, label %10623, label %10676

10623:                                            ; preds = %10616
  br label %10624

10624:                                            ; preds = %10623
  br label %10625

10625:                                            ; preds = %10624
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %10626 = call ptr @__errno_location() #12
  %10627 = load i32, ptr %10626, align 4, !tbaa !5
  store i32 %10627, ptr %209, align 4, !tbaa !5
  %10628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10629 = call i32 @s2n_print_stacktrace(ptr noundef %10628)
  %10630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10631 = trunc i8 %10630 to i1
  br i1 %10631, label %10632, label %10654

10632:                                            ; preds = %10625
  %10633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10634 = call i32 @fileno(ptr noundef %10633) #11
  %10635 = call i32 @isatty(i32 noundef %10634) #11
  %10636 = icmp ne i32 %10635, 0
  br i1 %10636, label %10637, label %10654

10637:                                            ; preds = %10632
  %10638 = load i32, ptr %209, align 4, !tbaa !5
  %10639 = call ptr @__errno_location() #12
  store i32 %10638, ptr %10639, align 4, !tbaa !5
  %10640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10641 = load i32, ptr @test_count, align 4, !tbaa !5
  %10642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10643 = load i32, ptr %10642, align 4, !tbaa !5
  %10644 = call ptr @s2n_strerror(i32 noundef %10643, ptr noundef @.str.4)
  %10645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10646 = load i32, ptr %10645, align 4, !tbaa !5
  %10647 = call ptr @s2n_strerror_debug(i32 noundef %10646, ptr noundef @.str.4)
  %10648 = call ptr @__errno_location() #12
  %10649 = load i32, ptr %10648, align 4, !tbaa !5
  %10650 = call ptr @strerror(i32 noundef %10649) #11
  %10651 = call ptr @__errno_location() #12
  %10652 = load i32, ptr %10651, align 4, !tbaa !5
  %10653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10640, ptr noundef @.str.2, i32 noundef %10641, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 432, ptr noundef %10644, ptr noundef %10647, ptr noundef %10650, i32 noundef %10652) #11
  br label %10671

10654:                                            ; preds = %10632, %10625
  %10655 = load i32, ptr %209, align 4, !tbaa !5
  %10656 = call ptr @__errno_location() #12
  store i32 %10655, ptr %10656, align 4, !tbaa !5
  %10657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10658 = load i32, ptr @test_count, align 4, !tbaa !5
  %10659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10660 = load i32, ptr %10659, align 4, !tbaa !5
  %10661 = call ptr @s2n_strerror(i32 noundef %10660, ptr noundef @.str.4)
  %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_debug(i32 noundef %10663, ptr noundef @.str.4)
  %10665 = call ptr @__errno_location() #12
  %10666 = load i32, ptr %10665, align 4, !tbaa !5
  %10667 = call ptr @strerror(i32 noundef %10666) #11
  %10668 = call ptr @__errno_location() #12
  %10669 = load i32, ptr %10668, align 4, !tbaa !5
  %10670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10657, ptr noundef @.str.5, i32 noundef %10658, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 432, ptr noundef %10661, ptr noundef %10664, ptr noundef %10667, i32 noundef %10669) #11
  br label %10671

10671:                                            ; preds = %10654, %10637
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %10672

10672:                                            ; preds = %10671
  br label %10673

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

10674:                                            ; No predecessors!
  br label %10675

10675:                                            ; preds = %10674
  br label %10676

10676:                                            ; preds = %10675, %10616
  br label %10677

10677:                                            ; preds = %10676
  br label %10678

10678:                                            ; preds = %10677
  br label %10679

10679:                                            ; preds = %10678
  %10680 = load i32, ptr @test_count, align 4, !tbaa !5
  %10681 = add nsw i32 %10680, 1
  store i32 %10681, ptr @test_count, align 4, !tbaa !5
  %10682 = load ptr, ptr %201, align 8, !tbaa !9
  %10683 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef %10682)
  %10684 = icmp eq i32 %10683, -1
  br i1 %10684, label %10685, label %10738

10685:                                            ; preds = %10679
  br label %10686

10686:                                            ; preds = %10685
  br label %10687

10687:                                            ; preds = %10686
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %10688 = call ptr @__errno_location() #12
  %10689 = load i32, ptr %10688, align 4, !tbaa !5
  store i32 %10689, ptr %210, align 4, !tbaa !5
  %10690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10691 = call i32 @s2n_print_stacktrace(ptr noundef %10690)
  %10692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10693 = trunc i8 %10692 to i1
  br i1 %10693, label %10694, label %10716

10694:                                            ; preds = %10687
  %10695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10696 = call i32 @fileno(ptr noundef %10695) #11
  %10697 = call i32 @isatty(i32 noundef %10696) #11
  %10698 = icmp ne i32 %10697, 0
  br i1 %10698, label %10699, label %10716

10699:                                            ; preds = %10694
  %10700 = load i32, ptr %210, align 4, !tbaa !5
  %10701 = call ptr @__errno_location() #12
  store i32 %10700, ptr %10701, align 4, !tbaa !5
  %10702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10703 = load i32, ptr @test_count, align 4, !tbaa !5
  %10704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10705 = load i32, ptr %10704, align 4, !tbaa !5
  %10706 = call ptr @s2n_strerror(i32 noundef %10705, ptr noundef @.str.4)
  %10707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10708 = load i32, ptr %10707, align 4, !tbaa !5
  %10709 = call ptr @s2n_strerror_debug(i32 noundef %10708, ptr noundef @.str.4)
  %10710 = call ptr @__errno_location() #12
  %10711 = load i32, ptr %10710, align 4, !tbaa !5
  %10712 = call ptr @strerror(i32 noundef %10711) #11
  %10713 = call ptr @__errno_location() #12
  %10714 = load i32, ptr %10713, align 4, !tbaa !5
  %10715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10702, ptr noundef @.str.2, i32 noundef %10703, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 433, ptr noundef %10706, ptr noundef %10709, ptr noundef %10712, i32 noundef %10714) #11
  br label %10733

10716:                                            ; preds = %10694, %10687
  %10717 = load i32, ptr %210, align 4, !tbaa !5
  %10718 = call ptr @__errno_location() #12
  store i32 %10717, ptr %10718, align 4, !tbaa !5
  %10719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10720 = load i32, ptr @test_count, align 4, !tbaa !5
  %10721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10722 = load i32, ptr %10721, align 4, !tbaa !5
  %10723 = call ptr @s2n_strerror(i32 noundef %10722, ptr noundef @.str.4)
  %10724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10725 = load i32, ptr %10724, align 4, !tbaa !5
  %10726 = call ptr @s2n_strerror_debug(i32 noundef %10725, ptr noundef @.str.4)
  %10727 = call ptr @__errno_location() #12
  %10728 = load i32, ptr %10727, align 4, !tbaa !5
  %10729 = call ptr @strerror(i32 noundef %10728) #11
  %10730 = call ptr @__errno_location() #12
  %10731 = load i32, ptr %10730, align 4, !tbaa !5
  %10732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10719, ptr noundef @.str.5, i32 noundef %10720, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 433, ptr noundef %10723, ptr noundef %10726, ptr noundef %10729, i32 noundef %10731) #11
  br label %10733

10733:                                            ; preds = %10716, %10699
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %10734

10734:                                            ; preds = %10733
  br label %10735

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

10736:                                            ; No predecessors!
  br label %10737

10737:                                            ; preds = %10736
  br label %10738

10738:                                            ; preds = %10737, %10679
  br label %10739

10739:                                            ; preds = %10738
  br label %10740

10740:                                            ; preds = %10739
  %10741 = call i32 @s2n_config_ptr_free(ptr noundef %201)
  %10742 = getelementptr inbounds %struct.s2n_result, ptr %211, i32 0, i32 0
  store i32 %10741, ptr %10742, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %201) #11
  %10743 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %199)
  %10744 = getelementptr inbounds %struct.s2n_result, ptr %212, i32 0, i32 0
  store i32 %10743, ptr %10744, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %213) #11
  store ptr null, ptr %213, align 8, !tbaa !9
  br label %10745

10745:                                            ; preds = %10740
  %10746 = load i32, ptr @test_count, align 4, !tbaa !5
  %10747 = add nsw i32 %10746, 1
  store i32 %10747, ptr @test_count, align 4, !tbaa !5
  %10748 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %213, ptr noundef @.str.15, ptr noundef @.str.17)
  %10749 = icmp eq i32 %10748, -1
  br i1 %10749, label %10750, label %10803

10750:                                            ; preds = %10745
  br label %10751

10751:                                            ; preds = %10750
  br label %10752

10752:                                            ; preds = %10751
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %10753 = call ptr @__errno_location() #12
  %10754 = load i32, ptr %10753, align 4, !tbaa !5
  store i32 %10754, ptr %214, align 4, !tbaa !5
  %10755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10756 = call i32 @s2n_print_stacktrace(ptr noundef %10755)
  %10757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10758 = trunc i8 %10757 to i1
  br i1 %10758, label %10759, label %10781

10759:                                            ; preds = %10752
  %10760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10761 = call i32 @fileno(ptr noundef %10760) #11
  %10762 = call i32 @isatty(i32 noundef %10761) #11
  %10763 = icmp ne i32 %10762, 0
  br i1 %10763, label %10764, label %10781

10764:                                            ; preds = %10759
  %10765 = load i32, ptr %214, align 4, !tbaa !5
  %10766 = call ptr @__errno_location() #12
  store i32 %10765, ptr %10766, align 4, !tbaa !5
  %10767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10768 = load i32, ptr @test_count, align 4, !tbaa !5
  %10769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10770 = load i32, ptr %10769, align 4, !tbaa !5
  %10771 = call ptr @s2n_strerror(i32 noundef %10770, ptr noundef @.str.4)
  %10772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10773 = load i32, ptr %10772, align 4, !tbaa !5
  %10774 = call ptr @s2n_strerror_debug(i32 noundef %10773, ptr noundef @.str.4)
  %10775 = call ptr @__errno_location() #12
  %10776 = load i32, ptr %10775, align 4, !tbaa !5
  %10777 = call ptr @strerror(i32 noundef %10776) #11
  %10778 = call ptr @__errno_location() #12
  %10779 = load i32, ptr %10778, align 4, !tbaa !5
  %10780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10767, ptr noundef @.str.2, i32 noundef %10768, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 443, ptr noundef %10771, ptr noundef %10774, ptr noundef %10777, i32 noundef %10779) #11
  br label %10798

10781:                                            ; preds = %10759, %10752
  %10782 = load i32, ptr %214, align 4, !tbaa !5
  %10783 = call ptr @__errno_location() #12
  store i32 %10782, ptr %10783, align 4, !tbaa !5
  %10784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10785 = load i32, ptr @test_count, align 4, !tbaa !5
  %10786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10787 = load i32, ptr %10786, align 4, !tbaa !5
  %10788 = call ptr @s2n_strerror(i32 noundef %10787, ptr noundef @.str.4)
  %10789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10790 = load i32, ptr %10789, align 4, !tbaa !5
  %10791 = call ptr @s2n_strerror_debug(i32 noundef %10790, ptr noundef @.str.4)
  %10792 = call ptr @__errno_location() #12
  %10793 = load i32, ptr %10792, align 4, !tbaa !5
  %10794 = call ptr @strerror(i32 noundef %10793) #11
  %10795 = call ptr @__errno_location() #12
  %10796 = load i32, ptr %10795, align 4, !tbaa !5
  %10797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10784, ptr noundef @.str.5, i32 noundef %10785, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 443, ptr noundef %10788, ptr noundef %10791, ptr noundef %10794, i32 noundef %10796) #11
  br label %10798

10798:                                            ; preds = %10781, %10764
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %10799

10799:                                            ; preds = %10798
  br label %10800

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

10801:                                            ; No predecessors!
  br label %10802

10802:                                            ; preds = %10801
  br label %10803

10803:                                            ; preds = %10802, %10745
  br label %10804

10804:                                            ; preds = %10803
  br label %10805

10805:                                            ; preds = %10804
  call void @llvm.lifetime.start.p0(i64 8, ptr %215) #11
  store ptr null, ptr %215, align 8, !tbaa !9
  br label %10806

10806:                                            ; preds = %10805
  %10807 = load i32, ptr @test_count, align 4, !tbaa !5
  %10808 = add nsw i32 %10807, 1
  store i32 %10808, ptr @test_count, align 4, !tbaa !5
  %10809 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %215, ptr noundef @.str.15, ptr noundef @.str.17)
  %10810 = icmp eq i32 %10809, -1
  br i1 %10810, label %10811, label %10864

10811:                                            ; preds = %10806
  br label %10812

10812:                                            ; preds = %10811
  br label %10813

10813:                                            ; preds = %10812
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %10814 = call ptr @__errno_location() #12
  %10815 = load i32, ptr %10814, align 4, !tbaa !5
  store i32 %10815, ptr %216, align 4, !tbaa !5
  %10816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10817 = call i32 @s2n_print_stacktrace(ptr noundef %10816)
  %10818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10819 = trunc i8 %10818 to i1
  br i1 %10819, label %10820, label %10842

10820:                                            ; preds = %10813
  %10821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10822 = call i32 @fileno(ptr noundef %10821) #11
  %10823 = call i32 @isatty(i32 noundef %10822) #11
  %10824 = icmp ne i32 %10823, 0
  br i1 %10824, label %10825, label %10842

10825:                                            ; preds = %10820
  %10826 = load i32, ptr %216, align 4, !tbaa !5
  %10827 = call ptr @__errno_location() #12
  store i32 %10826, ptr %10827, align 4, !tbaa !5
  %10828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10829 = load i32, ptr @test_count, align 4, !tbaa !5
  %10830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10831 = load i32, ptr %10830, align 4, !tbaa !5
  %10832 = call ptr @s2n_strerror(i32 noundef %10831, ptr noundef @.str.4)
  %10833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10834 = load i32, ptr %10833, align 4, !tbaa !5
  %10835 = call ptr @s2n_strerror_debug(i32 noundef %10834, ptr noundef @.str.4)
  %10836 = call ptr @__errno_location() #12
  %10837 = load i32, ptr %10836, align 4, !tbaa !5
  %10838 = call ptr @strerror(i32 noundef %10837) #11
  %10839 = call ptr @__errno_location() #12
  %10840 = load i32, ptr %10839, align 4, !tbaa !5
  %10841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10828, ptr noundef @.str.2, i32 noundef %10829, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 447, ptr noundef %10832, ptr noundef %10835, ptr noundef %10838, i32 noundef %10840) #11
  br label %10859

10842:                                            ; preds = %10820, %10813
  %10843 = load i32, ptr %216, align 4, !tbaa !5
  %10844 = call ptr @__errno_location() #12
  store i32 %10843, ptr %10844, align 4, !tbaa !5
  %10845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10846 = load i32, ptr @test_count, align 4, !tbaa !5
  %10847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10848 = load i32, ptr %10847, align 4, !tbaa !5
  %10849 = call ptr @s2n_strerror(i32 noundef %10848, ptr noundef @.str.4)
  %10850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10851 = load i32, ptr %10850, align 4, !tbaa !5
  %10852 = call ptr @s2n_strerror_debug(i32 noundef %10851, ptr noundef @.str.4)
  %10853 = call ptr @__errno_location() #12
  %10854 = load i32, ptr %10853, align 4, !tbaa !5
  %10855 = call ptr @strerror(i32 noundef %10854) #11
  %10856 = call ptr @__errno_location() #12
  %10857 = load i32, ptr %10856, align 4, !tbaa !5
  %10858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10845, ptr noundef @.str.5, i32 noundef %10846, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 447, ptr noundef %10849, ptr noundef %10852, ptr noundef %10855, i32 noundef %10857) #11
  br label %10859

10859:                                            ; preds = %10842, %10825
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %10860

10860:                                            ; preds = %10859
  br label %10861

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

10862:                                            ; No predecessors!
  br label %10863

10863:                                            ; preds = %10862
  br label %10864

10864:                                            ; preds = %10863, %10806
  br label %10865

10865:                                            ; preds = %10864
  br label %10866

10866:                                            ; preds = %10865
  call void @llvm.lifetime.start.p0(i64 8, ptr %217) #11
  %10867 = call ptr @s2n_config_new()
  store ptr %10867, ptr %217, align 8, !tbaa !9
  br label %10868

10868:                                            ; preds = %10866
  %10869 = load i32, ptr @test_count, align 4, !tbaa !5
  %10870 = add nsw i32 %10869, 1
  store i32 %10870, ptr @test_count, align 4, !tbaa !5
  %10871 = load ptr, ptr %217, align 8, !tbaa !9
  %10872 = icmp eq ptr %10871, null
  br i1 %10872, label %10873, label %10926

10873:                                            ; preds = %10868
  br label %10874

10874:                                            ; preds = %10873
  br label %10875

10875:                                            ; preds = %10874
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %10876 = call ptr @__errno_location() #12
  %10877 = load i32, ptr %10876, align 4, !tbaa !5
  store i32 %10877, ptr %218, align 4, !tbaa !5
  %10878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10879 = call i32 @s2n_print_stacktrace(ptr noundef %10878)
  %10880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10881 = trunc i8 %10880 to i1
  br i1 %10881, label %10882, label %10904

10882:                                            ; preds = %10875
  %10883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10884 = call i32 @fileno(ptr noundef %10883) #11
  %10885 = call i32 @isatty(i32 noundef %10884) #11
  %10886 = icmp ne i32 %10885, 0
  br i1 %10886, label %10887, label %10904

10887:                                            ; preds = %10882
  %10888 = load i32, ptr %218, align 4, !tbaa !5
  %10889 = call ptr @__errno_location() #12
  store i32 %10888, ptr %10889, align 4, !tbaa !5
  %10890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10891 = load i32, ptr @test_count, align 4, !tbaa !5
  %10892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10893 = load i32, ptr %10892, align 4, !tbaa !5
  %10894 = call ptr @s2n_strerror(i32 noundef %10893, ptr noundef @.str.4)
  %10895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10896 = load i32, ptr %10895, align 4, !tbaa !5
  %10897 = call ptr @s2n_strerror_debug(i32 noundef %10896, ptr noundef @.str.4)
  %10898 = call ptr @__errno_location() #12
  %10899 = load i32, ptr %10898, align 4, !tbaa !5
  %10900 = call ptr @strerror(i32 noundef %10899) #11
  %10901 = call ptr @__errno_location() #12
  %10902 = load i32, ptr %10901, align 4, !tbaa !5
  %10903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10890, ptr noundef @.str.2, i32 noundef %10891, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 450, ptr noundef %10894, ptr noundef %10897, ptr noundef %10900, i32 noundef %10902) #11
  br label %10921

10904:                                            ; preds = %10882, %10875
  %10905 = load i32, ptr %218, align 4, !tbaa !5
  %10906 = call ptr @__errno_location() #12
  store i32 %10905, ptr %10906, align 4, !tbaa !5
  %10907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10908 = load i32, ptr @test_count, align 4, !tbaa !5
  %10909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10910 = load i32, ptr %10909, align 4, !tbaa !5
  %10911 = call ptr @s2n_strerror(i32 noundef %10910, ptr noundef @.str.4)
  %10912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10913 = load i32, ptr %10912, align 4, !tbaa !5
  %10914 = call ptr @s2n_strerror_debug(i32 noundef %10913, ptr noundef @.str.4)
  %10915 = call ptr @__errno_location() #12
  %10916 = load i32, ptr %10915, align 4, !tbaa !5
  %10917 = call ptr @strerror(i32 noundef %10916) #11
  %10918 = call ptr @__errno_location() #12
  %10919 = load i32, ptr %10918, align 4, !tbaa !5
  %10920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10907, ptr noundef @.str.5, i32 noundef %10908, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 450, ptr noundef %10911, ptr noundef %10914, ptr noundef %10917, i32 noundef %10919) #11
  br label %10921

10921:                                            ; preds = %10904, %10887
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %10922

10922:                                            ; preds = %10921
  br label %10923

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

10924:                                            ; No predecessors!
  br label %10925

10925:                                            ; preds = %10924
  br label %10926

10926:                                            ; preds = %10925, %10868
  br label %10927

10927:                                            ; preds = %10926
  br label %10928

10928:                                            ; preds = %10927
  br label %10929

10929:                                            ; preds = %10928
  %10930 = load i32, ptr @test_count, align 4, !tbaa !5
  %10931 = add nsw i32 %10930, 1
  store i32 %10931, ptr @test_count, align 4, !tbaa !5
  %10932 = load ptr, ptr %217, align 8, !tbaa !9
  %10933 = load ptr, ptr %213, align 8, !tbaa !9
  %10934 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %10932, ptr noundef %10933)
  %10935 = icmp eq i32 %10934, -1
  br i1 %10935, label %10936, label %10989

10936:                                            ; preds = %10929
  br label %10937

10937:                                            ; preds = %10936
  br label %10938

10938:                                            ; preds = %10937
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %10939 = call ptr @__errno_location() #12
  %10940 = load i32, ptr %10939, align 4, !tbaa !5
  store i32 %10940, ptr %219, align 4, !tbaa !5
  %10941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10942 = call i32 @s2n_print_stacktrace(ptr noundef %10941)
  %10943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10944 = trunc i8 %10943 to i1
  br i1 %10944, label %10945, label %10967

10945:                                            ; preds = %10938
  %10946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10947 = call i32 @fileno(ptr noundef %10946) #11
  %10948 = call i32 @isatty(i32 noundef %10947) #11
  %10949 = icmp ne i32 %10948, 0
  br i1 %10949, label %10950, label %10967

10950:                                            ; preds = %10945
  %10951 = load i32, ptr %219, align 4, !tbaa !5
  %10952 = call ptr @__errno_location() #12
  store i32 %10951, ptr %10952, align 4, !tbaa !5
  %10953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10954 = load i32, ptr @test_count, align 4, !tbaa !5
  %10955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10956 = load i32, ptr %10955, align 4, !tbaa !5
  %10957 = call ptr @s2n_strerror(i32 noundef %10956, ptr noundef @.str.4)
  %10958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10959 = load i32, ptr %10958, align 4, !tbaa !5
  %10960 = call ptr @s2n_strerror_debug(i32 noundef %10959, ptr noundef @.str.4)
  %10961 = call ptr @__errno_location() #12
  %10962 = load i32, ptr %10961, align 4, !tbaa !5
  %10963 = call ptr @strerror(i32 noundef %10962) #11
  %10964 = call ptr @__errno_location() #12
  %10965 = load i32, ptr %10964, align 4, !tbaa !5
  %10966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10953, ptr noundef @.str.2, i32 noundef %10954, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 451, ptr noundef %10957, ptr noundef %10960, ptr noundef %10963, i32 noundef %10965) #11
  br label %10984

10967:                                            ; preds = %10945, %10938
  %10968 = load i32, ptr %219, align 4, !tbaa !5
  %10969 = call ptr @__errno_location() #12
  store i32 %10968, ptr %10969, align 4, !tbaa !5
  %10970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10971 = load i32, ptr @test_count, align 4, !tbaa !5
  %10972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10973 = load i32, ptr %10972, align 4, !tbaa !5
  %10974 = call ptr @s2n_strerror(i32 noundef %10973, ptr noundef @.str.4)
  %10975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10976 = load i32, ptr %10975, align 4, !tbaa !5
  %10977 = call ptr @s2n_strerror_debug(i32 noundef %10976, ptr noundef @.str.4)
  %10978 = call ptr @__errno_location() #12
  %10979 = load i32, ptr %10978, align 4, !tbaa !5
  %10980 = call ptr @strerror(i32 noundef %10979) #11
  %10981 = call ptr @__errno_location() #12
  %10982 = load i32, ptr %10981, align 4, !tbaa !5
  %10983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10970, ptr noundef @.str.5, i32 noundef %10971, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 451, ptr noundef %10974, ptr noundef %10977, ptr noundef %10980, i32 noundef %10982) #11
  br label %10984

10984:                                            ; preds = %10967, %10950
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %10985

10985:                                            ; preds = %10984
  br label %10986

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

10987:                                            ; No predecessors!
  br label %10988

10988:                                            ; preds = %10987
  br label %10989

10989:                                            ; preds = %10988, %10929
  br label %10990

10990:                                            ; preds = %10989
  br label %10991

10991:                                            ; preds = %10990
  br label %10992

10992:                                            ; preds = %10991
  %10993 = load i32, ptr @test_count, align 4, !tbaa !5
  %10994 = add nsw i32 %10993, 1
  store i32 %10994, ptr @test_count, align 4, !tbaa !5
  %10995 = load ptr, ptr %217, align 8, !tbaa !9
  %10996 = call ptr @s2n_config_get_single_default_cert(ptr noundef %10995)
  %10997 = load ptr, ptr %213, align 8, !tbaa !9
  %10998 = icmp eq ptr %10996, %10997
  br i1 %10998, label %11052, label %10999

10999:                                            ; preds = %10992
  br label %11000

11000:                                            ; preds = %10999
  br label %11001

11001:                                            ; preds = %11000
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %11002 = call ptr @__errno_location() #12
  %11003 = load i32, ptr %11002, align 4, !tbaa !5
  store i32 %11003, ptr %220, align 4, !tbaa !5
  %11004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11005 = call i32 @s2n_print_stacktrace(ptr noundef %11004)
  %11006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11007 = trunc i8 %11006 to i1
  br i1 %11007, label %11008, label %11030

11008:                                            ; preds = %11001
  %11009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11010 = call i32 @fileno(ptr noundef %11009) #11
  %11011 = call i32 @isatty(i32 noundef %11010) #11
  %11012 = icmp ne i32 %11011, 0
  br i1 %11012, label %11013, label %11030

11013:                                            ; preds = %11008
  %11014 = load i32, ptr %220, align 4, !tbaa !5
  %11015 = call ptr @__errno_location() #12
  store i32 %11014, ptr %11015, align 4, !tbaa !5
  %11016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11017 = load i32, ptr @test_count, align 4, !tbaa !5
  %11018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11019 = load i32, ptr %11018, align 4, !tbaa !5
  %11020 = call ptr @s2n_strerror(i32 noundef %11019, ptr noundef @.str.4)
  %11021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11022 = load i32, ptr %11021, align 4, !tbaa !5
  %11023 = call ptr @s2n_strerror_debug(i32 noundef %11022, ptr noundef @.str.4)
  %11024 = call ptr @__errno_location() #12
  %11025 = load i32, ptr %11024, align 4, !tbaa !5
  %11026 = call ptr @strerror(i32 noundef %11025) #11
  %11027 = call ptr @__errno_location() #12
  %11028 = load i32, ptr %11027, align 4, !tbaa !5
  %11029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11016, ptr noundef @.str.2, i32 noundef %11017, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 452, ptr noundef %11020, ptr noundef %11023, ptr noundef %11026, i32 noundef %11028) #11
  br label %11047

11030:                                            ; preds = %11008, %11001
  %11031 = load i32, ptr %220, align 4, !tbaa !5
  %11032 = call ptr @__errno_location() #12
  store i32 %11031, ptr %11032, align 4, !tbaa !5
  %11033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11034 = load i32, ptr @test_count, align 4, !tbaa !5
  %11035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11036 = load i32, ptr %11035, align 4, !tbaa !5
  %11037 = call ptr @s2n_strerror(i32 noundef %11036, ptr noundef @.str.4)
  %11038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11039 = load i32, ptr %11038, align 4, !tbaa !5
  %11040 = call ptr @s2n_strerror_debug(i32 noundef %11039, ptr noundef @.str.4)
  %11041 = call ptr @__errno_location() #12
  %11042 = load i32, ptr %11041, align 4, !tbaa !5
  %11043 = call ptr @strerror(i32 noundef %11042) #11
  %11044 = call ptr @__errno_location() #12
  %11045 = load i32, ptr %11044, align 4, !tbaa !5
  %11046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11033, ptr noundef @.str.5, i32 noundef %11034, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 452, ptr noundef %11037, ptr noundef %11040, ptr noundef %11043, i32 noundef %11045) #11
  br label %11047

11047:                                            ; preds = %11030, %11013
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %11048

11048:                                            ; preds = %11047
  br label %11049

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

11050:                                            ; No predecessors!
  br label %11051

11051:                                            ; preds = %11050
  br label %11052

11052:                                            ; preds = %11051, %10992
  br label %11053

11053:                                            ; preds = %11052
  br label %11054

11054:                                            ; preds = %11053
  br label %11055

11055:                                            ; preds = %11054
  %11056 = load i32, ptr @test_count, align 4, !tbaa !5
  %11057 = add nsw i32 %11056, 1
  store i32 %11057, ptr @test_count, align 4, !tbaa !5
  %11058 = load ptr, ptr %217, align 8, !tbaa !9
  %11059 = getelementptr inbounds %struct.s2n_config, ptr %11058, i32 0, i32 51
  %11060 = load i32, ptr %11059, align 8, !tbaa !58
  %11061 = icmp eq i32 %11060, 1
  br i1 %11061, label %11115, label %11062

11062:                                            ; preds = %11055
  br label %11063

11063:                                            ; preds = %11062
  br label %11064

11064:                                            ; preds = %11063
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %11065 = call ptr @__errno_location() #12
  %11066 = load i32, ptr %11065, align 4, !tbaa !5
  store i32 %11066, ptr %221, align 4, !tbaa !5
  %11067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11068 = call i32 @s2n_print_stacktrace(ptr noundef %11067)
  %11069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11070 = trunc i8 %11069 to i1
  br i1 %11070, label %11071, label %11093

11071:                                            ; preds = %11064
  %11072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11073 = call i32 @fileno(ptr noundef %11072) #11
  %11074 = call i32 @isatty(i32 noundef %11073) #11
  %11075 = icmp ne i32 %11074, 0
  br i1 %11075, label %11076, label %11093

11076:                                            ; preds = %11071
  %11077 = load i32, ptr %221, align 4, !tbaa !5
  %11078 = call ptr @__errno_location() #12
  store i32 %11077, ptr %11078, align 4, !tbaa !5
  %11079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11080 = load i32, ptr @test_count, align 4, !tbaa !5
  %11081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11082 = load i32, ptr %11081, align 4, !tbaa !5
  %11083 = call ptr @s2n_strerror(i32 noundef %11082, ptr noundef @.str.4)
  %11084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11085 = load i32, ptr %11084, align 4, !tbaa !5
  %11086 = call ptr @s2n_strerror_debug(i32 noundef %11085, ptr noundef @.str.4)
  %11087 = call ptr @__errno_location() #12
  %11088 = load i32, ptr %11087, align 4, !tbaa !5
  %11089 = call ptr @strerror(i32 noundef %11088) #11
  %11090 = call ptr @__errno_location() #12
  %11091 = load i32, ptr %11090, align 4, !tbaa !5
  %11092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11079, ptr noundef @.str.2, i32 noundef %11080, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 453, ptr noundef %11083, ptr noundef %11086, ptr noundef %11089, i32 noundef %11091) #11
  br label %11110

11093:                                            ; preds = %11071, %11064
  %11094 = load i32, ptr %221, align 4, !tbaa !5
  %11095 = call ptr @__errno_location() #12
  store i32 %11094, ptr %11095, align 4, !tbaa !5
  %11096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11097 = load i32, ptr @test_count, align 4, !tbaa !5
  %11098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11099 = load i32, ptr %11098, align 4, !tbaa !5
  %11100 = call ptr @s2n_strerror(i32 noundef %11099, ptr noundef @.str.4)
  %11101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11102 = load i32, ptr %11101, align 4, !tbaa !5
  %11103 = call ptr @s2n_strerror_debug(i32 noundef %11102, ptr noundef @.str.4)
  %11104 = call ptr @__errno_location() #12
  %11105 = load i32, ptr %11104, align 4, !tbaa !5
  %11106 = call ptr @strerror(i32 noundef %11105) #11
  %11107 = call ptr @__errno_location() #12
  %11108 = load i32, ptr %11107, align 4, !tbaa !5
  %11109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11096, ptr noundef @.str.5, i32 noundef %11097, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 453, ptr noundef %11100, ptr noundef %11103, ptr noundef %11106, i32 noundef %11108) #11
  br label %11110

11110:                                            ; preds = %11093, %11076
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %11111

11111:                                            ; preds = %11110
  br label %11112

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

11113:                                            ; No predecessors!
  br label %11114

11114:                                            ; preds = %11113
  br label %11115

11115:                                            ; preds = %11114, %11055
  br label %11116

11116:                                            ; preds = %11115
  br label %11117

11117:                                            ; preds = %11116
  br label %11118

11118:                                            ; preds = %11117
  %11119 = load i32, ptr @test_count, align 4, !tbaa !5
  %11120 = add nsw i32 %11119, 1
  store i32 %11120, ptr @test_count, align 4, !tbaa !5
  %11121 = load ptr, ptr %217, align 8, !tbaa !9
  %11122 = call i32 @s2n_config_set_cert_chain_and_key_defaults(ptr noundef %11121, ptr noundef %215, i32 noundef 1)
  %11123 = icmp eq i32 %11122, -1
  br i1 %11123, label %11124, label %11177

11124:                                            ; preds = %11118
  br label %11125

11125:                                            ; preds = %11124
  br label %11126

11126:                                            ; preds = %11125
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %11127 = call ptr @__errno_location() #12
  %11128 = load i32, ptr %11127, align 4, !tbaa !5
  store i32 %11128, ptr %222, align 4, !tbaa !5
  %11129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11130 = call i32 @s2n_print_stacktrace(ptr noundef %11129)
  %11131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11132 = trunc i8 %11131 to i1
  br i1 %11132, label %11133, label %11155

11133:                                            ; preds = %11126
  %11134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11135 = call i32 @fileno(ptr noundef %11134) #11
  %11136 = call i32 @isatty(i32 noundef %11135) #11
  %11137 = icmp ne i32 %11136, 0
  br i1 %11137, label %11138, label %11155

11138:                                            ; preds = %11133
  %11139 = load i32, ptr %222, align 4, !tbaa !5
  %11140 = call ptr @__errno_location() #12
  store i32 %11139, ptr %11140, align 4, !tbaa !5
  %11141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11142 = load i32, ptr @test_count, align 4, !tbaa !5
  %11143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11144 = load i32, ptr %11143, align 4, !tbaa !5
  %11145 = call ptr @s2n_strerror(i32 noundef %11144, ptr noundef @.str.4)
  %11146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11147 = load i32, ptr %11146, align 4, !tbaa !5
  %11148 = call ptr @s2n_strerror_debug(i32 noundef %11147, ptr noundef @.str.4)
  %11149 = call ptr @__errno_location() #12
  %11150 = load i32, ptr %11149, align 4, !tbaa !5
  %11151 = call ptr @strerror(i32 noundef %11150) #11
  %11152 = call ptr @__errno_location() #12
  %11153 = load i32, ptr %11152, align 4, !tbaa !5
  %11154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11141, ptr noundef @.str.2, i32 noundef %11142, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 455, ptr noundef %11145, ptr noundef %11148, ptr noundef %11151, i32 noundef %11153) #11
  br label %11172

11155:                                            ; preds = %11133, %11126
  %11156 = load i32, ptr %222, align 4, !tbaa !5
  %11157 = call ptr @__errno_location() #12
  store i32 %11156, ptr %11157, align 4, !tbaa !5
  %11158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11159 = load i32, ptr @test_count, align 4, !tbaa !5
  %11160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11161 = load i32, ptr %11160, align 4, !tbaa !5
  %11162 = call ptr @s2n_strerror(i32 noundef %11161, ptr noundef @.str.4)
  %11163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11164 = load i32, ptr %11163, align 4, !tbaa !5
  %11165 = call ptr @s2n_strerror_debug(i32 noundef %11164, ptr noundef @.str.4)
  %11166 = call ptr @__errno_location() #12
  %11167 = load i32, ptr %11166, align 4, !tbaa !5
  %11168 = call ptr @strerror(i32 noundef %11167) #11
  %11169 = call ptr @__errno_location() #12
  %11170 = load i32, ptr %11169, align 4, !tbaa !5
  %11171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11158, ptr noundef @.str.5, i32 noundef %11159, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 455, ptr noundef %11162, ptr noundef %11165, ptr noundef %11168, i32 noundef %11170) #11
  br label %11172

11172:                                            ; preds = %11155, %11138
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %11173

11173:                                            ; preds = %11172
  br label %11174

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

11175:                                            ; No predecessors!
  br label %11176

11176:                                            ; preds = %11175
  br label %11177

11177:                                            ; preds = %11176, %11118
  br label %11178

11178:                                            ; preds = %11177
  br label %11179

11179:                                            ; preds = %11178
  br label %11180

11180:                                            ; preds = %11179
  %11181 = load i32, ptr @test_count, align 4, !tbaa !5
  %11182 = add nsw i32 %11181, 1
  store i32 %11182, ptr @test_count, align 4, !tbaa !5
  %11183 = load ptr, ptr %217, align 8, !tbaa !9
  %11184 = call ptr @s2n_config_get_single_default_cert(ptr noundef %11183)
  %11185 = load ptr, ptr %215, align 8, !tbaa !9
  %11186 = icmp eq ptr %11184, %11185
  br i1 %11186, label %11240, label %11187

11187:                                            ; preds = %11180
  br label %11188

11188:                                            ; preds = %11187
  br label %11189

11189:                                            ; preds = %11188
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #11
  %11190 = call ptr @__errno_location() #12
  %11191 = load i32, ptr %11190, align 4, !tbaa !5
  store i32 %11191, ptr %223, align 4, !tbaa !5
  %11192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11193 = call i32 @s2n_print_stacktrace(ptr noundef %11192)
  %11194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11195 = trunc i8 %11194 to i1
  br i1 %11195, label %11196, label %11218

11196:                                            ; preds = %11189
  %11197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11198 = call i32 @fileno(ptr noundef %11197) #11
  %11199 = call i32 @isatty(i32 noundef %11198) #11
  %11200 = icmp ne i32 %11199, 0
  br i1 %11200, label %11201, label %11218

11201:                                            ; preds = %11196
  %11202 = load i32, ptr %223, align 4, !tbaa !5
  %11203 = call ptr @__errno_location() #12
  store i32 %11202, ptr %11203, align 4, !tbaa !5
  %11204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11205 = load i32, ptr @test_count, align 4, !tbaa !5
  %11206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11207 = load i32, ptr %11206, align 4, !tbaa !5
  %11208 = call ptr @s2n_strerror(i32 noundef %11207, ptr noundef @.str.4)
  %11209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11210 = load i32, ptr %11209, align 4, !tbaa !5
  %11211 = call ptr @s2n_strerror_debug(i32 noundef %11210, ptr noundef @.str.4)
  %11212 = call ptr @__errno_location() #12
  %11213 = load i32, ptr %11212, align 4, !tbaa !5
  %11214 = call ptr @strerror(i32 noundef %11213) #11
  %11215 = call ptr @__errno_location() #12
  %11216 = load i32, ptr %11215, align 4, !tbaa !5
  %11217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11204, ptr noundef @.str.2, i32 noundef %11205, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 456, ptr noundef %11208, ptr noundef %11211, ptr noundef %11214, i32 noundef %11216) #11
  br label %11235

11218:                                            ; preds = %11196, %11189
  %11219 = load i32, ptr %223, align 4, !tbaa !5
  %11220 = call ptr @__errno_location() #12
  store i32 %11219, ptr %11220, align 4, !tbaa !5
  %11221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11222 = load i32, ptr @test_count, align 4, !tbaa !5
  %11223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11224 = load i32, ptr %11223, align 4, !tbaa !5
  %11225 = call ptr @s2n_strerror(i32 noundef %11224, ptr noundef @.str.4)
  %11226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11227 = load i32, ptr %11226, align 4, !tbaa !5
  %11228 = call ptr @s2n_strerror_debug(i32 noundef %11227, ptr noundef @.str.4)
  %11229 = call ptr @__errno_location() #12
  %11230 = load i32, ptr %11229, align 4, !tbaa !5
  %11231 = call ptr @strerror(i32 noundef %11230) #11
  %11232 = call ptr @__errno_location() #12
  %11233 = load i32, ptr %11232, align 4, !tbaa !5
  %11234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11221, ptr noundef @.str.5, i32 noundef %11222, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 456, ptr noundef %11225, ptr noundef %11228, ptr noundef %11231, i32 noundef %11233) #11
  br label %11235

11235:                                            ; preds = %11218, %11201
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #11
  br label %11236

11236:                                            ; preds = %11235
  br label %11237

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

11238:                                            ; No predecessors!
  br label %11239

11239:                                            ; preds = %11238
  br label %11240

11240:                                            ; preds = %11239, %11180
  br label %11241

11241:                                            ; preds = %11240
  br label %11242

11242:                                            ; preds = %11241
  br label %11243

11243:                                            ; preds = %11242
  %11244 = load i32, ptr @test_count, align 4, !tbaa !5
  %11245 = add nsw i32 %11244, 1
  store i32 %11245, ptr @test_count, align 4, !tbaa !5
  %11246 = load ptr, ptr %217, align 8, !tbaa !9
  %11247 = getelementptr inbounds %struct.s2n_config, ptr %11246, i32 0, i32 51
  %11248 = load i32, ptr %11247, align 8, !tbaa !58
  %11249 = icmp eq i32 %11248, 1
  br i1 %11249, label %11303, label %11250

11250:                                            ; preds = %11243
  br label %11251

11251:                                            ; preds = %11250
  br label %11252

11252:                                            ; preds = %11251
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %11253 = call ptr @__errno_location() #12
  %11254 = load i32, ptr %11253, align 4, !tbaa !5
  store i32 %11254, ptr %224, align 4, !tbaa !5
  %11255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11256 = call i32 @s2n_print_stacktrace(ptr noundef %11255)
  %11257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11258 = trunc i8 %11257 to i1
  br i1 %11258, label %11259, label %11281

11259:                                            ; preds = %11252
  %11260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11261 = call i32 @fileno(ptr noundef %11260) #11
  %11262 = call i32 @isatty(i32 noundef %11261) #11
  %11263 = icmp ne i32 %11262, 0
  br i1 %11263, label %11264, label %11281

11264:                                            ; preds = %11259
  %11265 = load i32, ptr %224, align 4, !tbaa !5
  %11266 = call ptr @__errno_location() #12
  store i32 %11265, ptr %11266, align 4, !tbaa !5
  %11267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11268 = load i32, ptr @test_count, align 4, !tbaa !5
  %11269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11270 = load i32, ptr %11269, align 4, !tbaa !5
  %11271 = call ptr @s2n_strerror(i32 noundef %11270, ptr noundef @.str.4)
  %11272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11273 = load i32, ptr %11272, align 4, !tbaa !5
  %11274 = call ptr @s2n_strerror_debug(i32 noundef %11273, ptr noundef @.str.4)
  %11275 = call ptr @__errno_location() #12
  %11276 = load i32, ptr %11275, align 4, !tbaa !5
  %11277 = call ptr @strerror(i32 noundef %11276) #11
  %11278 = call ptr @__errno_location() #12
  %11279 = load i32, ptr %11278, align 4, !tbaa !5
  %11280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11267, ptr noundef @.str.2, i32 noundef %11268, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 457, ptr noundef %11271, ptr noundef %11274, ptr noundef %11277, i32 noundef %11279) #11
  br label %11298

11281:                                            ; preds = %11259, %11252
  %11282 = load i32, ptr %224, align 4, !tbaa !5
  %11283 = call ptr @__errno_location() #12
  store i32 %11282, ptr %11283, align 4, !tbaa !5
  %11284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11285 = load i32, ptr @test_count, align 4, !tbaa !5
  %11286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11287 = load i32, ptr %11286, align 4, !tbaa !5
  %11288 = call ptr @s2n_strerror(i32 noundef %11287, ptr noundef @.str.4)
  %11289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11290 = load i32, ptr %11289, align 4, !tbaa !5
  %11291 = call ptr @s2n_strerror_debug(i32 noundef %11290, ptr noundef @.str.4)
  %11292 = call ptr @__errno_location() #12
  %11293 = load i32, ptr %11292, align 4, !tbaa !5
  %11294 = call ptr @strerror(i32 noundef %11293) #11
  %11295 = call ptr @__errno_location() #12
  %11296 = load i32, ptr %11295, align 4, !tbaa !5
  %11297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11284, ptr noundef @.str.5, i32 noundef %11285, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 457, ptr noundef %11288, ptr noundef %11291, ptr noundef %11294, i32 noundef %11296) #11
  br label %11298

11298:                                            ; preds = %11281, %11264
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %11299

11299:                                            ; preds = %11298
  br label %11300

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

11301:                                            ; No predecessors!
  br label %11302

11302:                                            ; preds = %11301
  br label %11303

11303:                                            ; preds = %11302, %11243
  br label %11304

11304:                                            ; preds = %11303
  br label %11305

11305:                                            ; preds = %11304
  %11306 = call i32 @s2n_config_ptr_free(ptr noundef %217)
  %11307 = getelementptr inbounds %struct.s2n_result, ptr %225, i32 0, i32 0
  store i32 %11306, ptr %11307, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %217) #11
  %11308 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %215)
  %11309 = getelementptr inbounds %struct.s2n_result, ptr %226, i32 0, i32 0
  store i32 %11308, ptr %11309, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %215) #11
  %11310 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %213)
  %11311 = getelementptr inbounds %struct.s2n_result, ptr %227, i32 0, i32 0
  store i32 %11310, ptr %11311, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %213) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %228) #11
  store ptr null, ptr %228, align 8, !tbaa !9
  br label %11312

11312:                                            ; preds = %11305
  %11313 = load i32, ptr @test_count, align 4, !tbaa !5
  %11314 = add nsw i32 %11313, 1
  store i32 %11314, ptr @test_count, align 4, !tbaa !5
  %11315 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %228, ptr noundef @.str.15, ptr noundef @.str.17)
  %11316 = icmp eq i32 %11315, -1
  br i1 %11316, label %11317, label %11370

11317:                                            ; preds = %11312
  br label %11318

11318:                                            ; preds = %11317
  br label %11319

11319:                                            ; preds = %11318
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %11320 = call ptr @__errno_location() #12
  %11321 = load i32, ptr %11320, align 4, !tbaa !5
  store i32 %11321, ptr %229, align 4, !tbaa !5
  %11322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11323 = call i32 @s2n_print_stacktrace(ptr noundef %11322)
  %11324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11325 = trunc i8 %11324 to i1
  br i1 %11325, label %11326, label %11348

11326:                                            ; preds = %11319
  %11327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11328 = call i32 @fileno(ptr noundef %11327) #11
  %11329 = call i32 @isatty(i32 noundef %11328) #11
  %11330 = icmp ne i32 %11329, 0
  br i1 %11330, label %11331, label %11348

11331:                                            ; preds = %11326
  %11332 = load i32, ptr %229, align 4, !tbaa !5
  %11333 = call ptr @__errno_location() #12
  store i32 %11332, ptr %11333, align 4, !tbaa !5
  %11334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11335 = load i32, ptr @test_count, align 4, !tbaa !5
  %11336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11337 = load i32, ptr %11336, align 4, !tbaa !5
  %11338 = call ptr @s2n_strerror(i32 noundef %11337, ptr noundef @.str.4)
  %11339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11340 = load i32, ptr %11339, align 4, !tbaa !5
  %11341 = call ptr @s2n_strerror_debug(i32 noundef %11340, ptr noundef @.str.4)
  %11342 = call ptr @__errno_location() #12
  %11343 = load i32, ptr %11342, align 4, !tbaa !5
  %11344 = call ptr @strerror(i32 noundef %11343) #11
  %11345 = call ptr @__errno_location() #12
  %11346 = load i32, ptr %11345, align 4, !tbaa !5
  %11347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11334, ptr noundef @.str.2, i32 noundef %11335, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 464, ptr noundef %11338, ptr noundef %11341, ptr noundef %11344, i32 noundef %11346) #11
  br label %11365

11348:                                            ; preds = %11326, %11319
  %11349 = load i32, ptr %229, align 4, !tbaa !5
  %11350 = call ptr @__errno_location() #12
  store i32 %11349, ptr %11350, align 4, !tbaa !5
  %11351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11352 = load i32, ptr @test_count, align 4, !tbaa !5
  %11353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11354 = load i32, ptr %11353, align 4, !tbaa !5
  %11355 = call ptr @s2n_strerror(i32 noundef %11354, ptr noundef @.str.4)
  %11356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11357 = load i32, ptr %11356, align 4, !tbaa !5
  %11358 = call ptr @s2n_strerror_debug(i32 noundef %11357, ptr noundef @.str.4)
  %11359 = call ptr @__errno_location() #12
  %11360 = load i32, ptr %11359, align 4, !tbaa !5
  %11361 = call ptr @strerror(i32 noundef %11360) #11
  %11362 = call ptr @__errno_location() #12
  %11363 = load i32, ptr %11362, align 4, !tbaa !5
  %11364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11351, ptr noundef @.str.5, i32 noundef %11352, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 464, ptr noundef %11355, ptr noundef %11358, ptr noundef %11361, i32 noundef %11363) #11
  br label %11365

11365:                                            ; preds = %11348, %11331
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %11366

11366:                                            ; preds = %11365
  br label %11367

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

11368:                                            ; No predecessors!
  br label %11369

11369:                                            ; preds = %11368
  br label %11370

11370:                                            ; preds = %11369, %11312
  br label %11371

11371:                                            ; preds = %11370
  br label %11372

11372:                                            ; preds = %11371
  call void @llvm.lifetime.start.p0(i64 8, ptr %230) #11
  %11373 = call ptr @s2n_config_new()
  store ptr %11373, ptr %230, align 8, !tbaa !9
  br label %11374

11374:                                            ; preds = %11372
  %11375 = load i32, ptr @test_count, align 4, !tbaa !5
  %11376 = add nsw i32 %11375, 1
  store i32 %11376, ptr @test_count, align 4, !tbaa !5
  %11377 = load ptr, ptr %230, align 8, !tbaa !9
  %11378 = icmp eq ptr %11377, null
  br i1 %11378, label %11379, label %11432

11379:                                            ; preds = %11374
  br label %11380

11380:                                            ; preds = %11379
  br label %11381

11381:                                            ; preds = %11380
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %11382 = call ptr @__errno_location() #12
  %11383 = load i32, ptr %11382, align 4, !tbaa !5
  store i32 %11383, ptr %231, align 4, !tbaa !5
  %11384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11385 = call i32 @s2n_print_stacktrace(ptr noundef %11384)
  %11386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11387 = trunc i8 %11386 to i1
  br i1 %11387, label %11388, label %11410

11388:                                            ; preds = %11381
  %11389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11390 = call i32 @fileno(ptr noundef %11389) #11
  %11391 = call i32 @isatty(i32 noundef %11390) #11
  %11392 = icmp ne i32 %11391, 0
  br i1 %11392, label %11393, label %11410

11393:                                            ; preds = %11388
  %11394 = load i32, ptr %231, align 4, !tbaa !5
  %11395 = call ptr @__errno_location() #12
  store i32 %11394, ptr %11395, align 4, !tbaa !5
  %11396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11397 = load i32, ptr @test_count, align 4, !tbaa !5
  %11398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11399 = load i32, ptr %11398, align 4, !tbaa !5
  %11400 = call ptr @s2n_strerror(i32 noundef %11399, ptr noundef @.str.4)
  %11401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11402 = load i32, ptr %11401, align 4, !tbaa !5
  %11403 = call ptr @s2n_strerror_debug(i32 noundef %11402, ptr noundef @.str.4)
  %11404 = call ptr @__errno_location() #12
  %11405 = load i32, ptr %11404, align 4, !tbaa !5
  %11406 = call ptr @strerror(i32 noundef %11405) #11
  %11407 = call ptr @__errno_location() #12
  %11408 = load i32, ptr %11407, align 4, !tbaa !5
  %11409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11396, ptr noundef @.str.2, i32 noundef %11397, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 467, ptr noundef %11400, ptr noundef %11403, ptr noundef %11406, i32 noundef %11408) #11
  br label %11427

11410:                                            ; preds = %11388, %11381
  %11411 = load i32, ptr %231, align 4, !tbaa !5
  %11412 = call ptr @__errno_location() #12
  store i32 %11411, ptr %11412, align 4, !tbaa !5
  %11413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11414 = load i32, ptr @test_count, align 4, !tbaa !5
  %11415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11416 = load i32, ptr %11415, align 4, !tbaa !5
  %11417 = call ptr @s2n_strerror(i32 noundef %11416, ptr noundef @.str.4)
  %11418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11419 = load i32, ptr %11418, align 4, !tbaa !5
  %11420 = call ptr @s2n_strerror_debug(i32 noundef %11419, ptr noundef @.str.4)
  %11421 = call ptr @__errno_location() #12
  %11422 = load i32, ptr %11421, align 4, !tbaa !5
  %11423 = call ptr @strerror(i32 noundef %11422) #11
  %11424 = call ptr @__errno_location() #12
  %11425 = load i32, ptr %11424, align 4, !tbaa !5
  %11426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11413, ptr noundef @.str.5, i32 noundef %11414, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 467, ptr noundef %11417, ptr noundef %11420, ptr noundef %11423, i32 noundef %11425) #11
  br label %11427

11427:                                            ; preds = %11410, %11393
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %11428

11428:                                            ; preds = %11427
  br label %11429

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

11430:                                            ; No predecessors!
  br label %11431

11431:                                            ; preds = %11430
  br label %11432

11432:                                            ; preds = %11431, %11374
  br label %11433

11433:                                            ; preds = %11432
  br label %11434

11434:                                            ; preds = %11433
  br label %11435

11435:                                            ; preds = %11434
  %11436 = load i32, ptr @test_count, align 4, !tbaa !5
  %11437 = add nsw i32 %11436, 1
  store i32 %11437, ptr @test_count, align 4, !tbaa !5
  %11438 = load ptr, ptr %230, align 8, !tbaa !9
  %11439 = getelementptr inbounds [12000 x i8], ptr %17, i64 0, i64 0
  %11440 = getelementptr inbounds [12000 x i8], ptr %19, i64 0, i64 0
  %11441 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef %11438, ptr noundef %11439, ptr noundef %11440)
  %11442 = icmp eq i32 %11441, -1
  br i1 %11442, label %11443, label %11496

11443:                                            ; preds = %11435
  br label %11444

11444:                                            ; preds = %11443
  br label %11445

11445:                                            ; preds = %11444
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %11446 = call ptr @__errno_location() #12
  %11447 = load i32, ptr %11446, align 4, !tbaa !5
  store i32 %11447, ptr %232, align 4, !tbaa !5
  %11448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11449 = call i32 @s2n_print_stacktrace(ptr noundef %11448)
  %11450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11451 = trunc i8 %11450 to i1
  br i1 %11451, label %11452, label %11474

11452:                                            ; preds = %11445
  %11453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11454 = call i32 @fileno(ptr noundef %11453) #11
  %11455 = call i32 @isatty(i32 noundef %11454) #11
  %11456 = icmp ne i32 %11455, 0
  br i1 %11456, label %11457, label %11474

11457:                                            ; preds = %11452
  %11458 = load i32, ptr %232, align 4, !tbaa !5
  %11459 = call ptr @__errno_location() #12
  store i32 %11458, ptr %11459, align 4, !tbaa !5
  %11460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11461 = load i32, ptr @test_count, align 4, !tbaa !5
  %11462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11463 = load i32, ptr %11462, align 4, !tbaa !5
  %11464 = call ptr @s2n_strerror(i32 noundef %11463, ptr noundef @.str.4)
  %11465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11466 = load i32, ptr %11465, align 4, !tbaa !5
  %11467 = call ptr @s2n_strerror_debug(i32 noundef %11466, ptr noundef @.str.4)
  %11468 = call ptr @__errno_location() #12
  %11469 = load i32, ptr %11468, align 4, !tbaa !5
  %11470 = call ptr @strerror(i32 noundef %11469) #11
  %11471 = call ptr @__errno_location() #12
  %11472 = load i32, ptr %11471, align 4, !tbaa !5
  %11473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11460, ptr noundef @.str.2, i32 noundef %11461, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 468, ptr noundef %11464, ptr noundef %11467, ptr noundef %11470, i32 noundef %11472) #11
  br label %11491

11474:                                            ; preds = %11452, %11445
  %11475 = load i32, ptr %232, align 4, !tbaa !5
  %11476 = call ptr @__errno_location() #12
  store i32 %11475, ptr %11476, align 4, !tbaa !5
  %11477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11478 = load i32, ptr @test_count, align 4, !tbaa !5
  %11479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11480 = load i32, ptr %11479, align 4, !tbaa !5
  %11481 = call ptr @s2n_strerror(i32 noundef %11480, ptr noundef @.str.4)
  %11482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11483 = load i32, ptr %11482, align 4, !tbaa !5
  %11484 = call ptr @s2n_strerror_debug(i32 noundef %11483, ptr noundef @.str.4)
  %11485 = call ptr @__errno_location() #12
  %11486 = load i32, ptr %11485, align 4, !tbaa !5
  %11487 = call ptr @strerror(i32 noundef %11486) #11
  %11488 = call ptr @__errno_location() #12
  %11489 = load i32, ptr %11488, align 4, !tbaa !5
  %11490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11477, ptr noundef @.str.5, i32 noundef %11478, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 468, ptr noundef %11481, ptr noundef %11484, ptr noundef %11487, i32 noundef %11489) #11
  br label %11491

11491:                                            ; preds = %11474, %11457
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %11492

11492:                                            ; preds = %11491
  br label %11493

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

11494:                                            ; No predecessors!
  br label %11495

11495:                                            ; preds = %11494
  br label %11496

11496:                                            ; preds = %11495, %11435
  br label %11497

11497:                                            ; preds = %11496
  br label %11498

11498:                                            ; preds = %11497
  br label %11499

11499:                                            ; preds = %11498
  %11500 = load i32, ptr @test_count, align 4, !tbaa !5
  %11501 = add nsw i32 %11500, 1
  store i32 %11501, ptr @test_count, align 4, !tbaa !5
  %11502 = load ptr, ptr %230, align 8, !tbaa !9
  %11503 = call ptr @s2n_config_get_single_default_cert(ptr noundef %11502)
  %11504 = icmp eq ptr %11503, null
  br i1 %11504, label %11505, label %11558

11505:                                            ; preds = %11499
  br label %11506

11506:                                            ; preds = %11505
  br label %11507

11507:                                            ; preds = %11506
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %11508 = call ptr @__errno_location() #12
  %11509 = load i32, ptr %11508, align 4, !tbaa !5
  store i32 %11509, ptr %233, align 4, !tbaa !5
  %11510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11511 = call i32 @s2n_print_stacktrace(ptr noundef %11510)
  %11512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11513 = trunc i8 %11512 to i1
  br i1 %11513, label %11514, label %11536

11514:                                            ; preds = %11507
  %11515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11516 = call i32 @fileno(ptr noundef %11515) #11
  %11517 = call i32 @isatty(i32 noundef %11516) #11
  %11518 = icmp ne i32 %11517, 0
  br i1 %11518, label %11519, label %11536

11519:                                            ; preds = %11514
  %11520 = load i32, ptr %233, align 4, !tbaa !5
  %11521 = call ptr @__errno_location() #12
  store i32 %11520, ptr %11521, align 4, !tbaa !5
  %11522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11523 = load i32, ptr @test_count, align 4, !tbaa !5
  %11524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11525 = load i32, ptr %11524, align 4, !tbaa !5
  %11526 = call ptr @s2n_strerror(i32 noundef %11525, ptr noundef @.str.4)
  %11527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11528 = load i32, ptr %11527, align 4, !tbaa !5
  %11529 = call ptr @s2n_strerror_debug(i32 noundef %11528, ptr noundef @.str.4)
  %11530 = call ptr @__errno_location() #12
  %11531 = load i32, ptr %11530, align 4, !tbaa !5
  %11532 = call ptr @strerror(i32 noundef %11531) #11
  %11533 = call ptr @__errno_location() #12
  %11534 = load i32, ptr %11533, align 4, !tbaa !5
  %11535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11522, ptr noundef @.str.2, i32 noundef %11523, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 469, ptr noundef %11526, ptr noundef %11529, ptr noundef %11532, i32 noundef %11534) #11
  br label %11553

11536:                                            ; preds = %11514, %11507
  %11537 = load i32, ptr %233, align 4, !tbaa !5
  %11538 = call ptr @__errno_location() #12
  store i32 %11537, ptr %11538, align 4, !tbaa !5
  %11539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11540 = load i32, ptr @test_count, align 4, !tbaa !5
  %11541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11542 = load i32, ptr %11541, align 4, !tbaa !5
  %11543 = call ptr @s2n_strerror(i32 noundef %11542, ptr noundef @.str.4)
  %11544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11545 = load i32, ptr %11544, align 4, !tbaa !5
  %11546 = call ptr @s2n_strerror_debug(i32 noundef %11545, ptr noundef @.str.4)
  %11547 = call ptr @__errno_location() #12
  %11548 = load i32, ptr %11547, align 4, !tbaa !5
  %11549 = call ptr @strerror(i32 noundef %11548) #11
  %11550 = call ptr @__errno_location() #12
  %11551 = load i32, ptr %11550, align 4, !tbaa !5
  %11552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11539, ptr noundef @.str.5, i32 noundef %11540, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 469, ptr noundef %11543, ptr noundef %11546, ptr noundef %11549, i32 noundef %11551) #11
  br label %11553

11553:                                            ; preds = %11536, %11519
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %11554

11554:                                            ; preds = %11553
  br label %11555

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

11556:                                            ; No predecessors!
  br label %11557

11557:                                            ; preds = %11556
  br label %11558

11558:                                            ; preds = %11557, %11499
  br label %11559

11559:                                            ; preds = %11558
  br label %11560

11560:                                            ; preds = %11559
  br label %11561

11561:                                            ; preds = %11560
  %11562 = load i32, ptr @test_count, align 4, !tbaa !5
  %11563 = add nsw i32 %11562, 1
  store i32 %11563, ptr @test_count, align 4, !tbaa !5
  %11564 = load ptr, ptr %230, align 8, !tbaa !9
  %11565 = getelementptr inbounds %struct.s2n_config, ptr %11564, i32 0, i32 51
  %11566 = load i32, ptr %11565, align 8, !tbaa !58
  %11567 = icmp eq i32 %11566, 2
  br i1 %11567, label %11621, label %11568

11568:                                            ; preds = %11561
  br label %11569

11569:                                            ; preds = %11568
  br label %11570

11570:                                            ; preds = %11569
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %11571 = call ptr @__errno_location() #12
  %11572 = load i32, ptr %11571, align 4, !tbaa !5
  store i32 %11572, ptr %234, align 4, !tbaa !5
  %11573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11574 = call i32 @s2n_print_stacktrace(ptr noundef %11573)
  %11575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11576 = trunc i8 %11575 to i1
  br i1 %11576, label %11577, label %11599

11577:                                            ; preds = %11570
  %11578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11579 = call i32 @fileno(ptr noundef %11578) #11
  %11580 = call i32 @isatty(i32 noundef %11579) #11
  %11581 = icmp ne i32 %11580, 0
  br i1 %11581, label %11582, label %11599

11582:                                            ; preds = %11577
  %11583 = load i32, ptr %234, align 4, !tbaa !5
  %11584 = call ptr @__errno_location() #12
  store i32 %11583, ptr %11584, align 4, !tbaa !5
  %11585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11586 = load i32, ptr @test_count, align 4, !tbaa !5
  %11587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11588 = load i32, ptr %11587, align 4, !tbaa !5
  %11589 = call ptr @s2n_strerror(i32 noundef %11588, ptr noundef @.str.4)
  %11590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11591 = load i32, ptr %11590, align 4, !tbaa !5
  %11592 = call ptr @s2n_strerror_debug(i32 noundef %11591, ptr noundef @.str.4)
  %11593 = call ptr @__errno_location() #12
  %11594 = load i32, ptr %11593, align 4, !tbaa !5
  %11595 = call ptr @strerror(i32 noundef %11594) #11
  %11596 = call ptr @__errno_location() #12
  %11597 = load i32, ptr %11596, align 4, !tbaa !5
  %11598 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11585, ptr noundef @.str.2, i32 noundef %11586, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 470, ptr noundef %11589, ptr noundef %11592, ptr noundef %11595, i32 noundef %11597) #11
  br label %11616

11599:                                            ; preds = %11577, %11570
  %11600 = load i32, ptr %234, align 4, !tbaa !5
  %11601 = call ptr @__errno_location() #12
  store i32 %11600, ptr %11601, align 4, !tbaa !5
  %11602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11603 = load i32, ptr @test_count, align 4, !tbaa !5
  %11604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11605 = load i32, ptr %11604, align 4, !tbaa !5
  %11606 = call ptr @s2n_strerror(i32 noundef %11605, ptr noundef @.str.4)
  %11607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11608 = load i32, ptr %11607, align 4, !tbaa !5
  %11609 = call ptr @s2n_strerror_debug(i32 noundef %11608, ptr noundef @.str.4)
  %11610 = call ptr @__errno_location() #12
  %11611 = load i32, ptr %11610, align 4, !tbaa !5
  %11612 = call ptr @strerror(i32 noundef %11611) #11
  %11613 = call ptr @__errno_location() #12
  %11614 = load i32, ptr %11613, align 4, !tbaa !5
  %11615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11602, ptr noundef @.str.5, i32 noundef %11603, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 470, ptr noundef %11606, ptr noundef %11609, ptr noundef %11612, i32 noundef %11614) #11
  br label %11616

11616:                                            ; preds = %11599, %11582
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %11617

11617:                                            ; preds = %11616
  br label %11618

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

11619:                                            ; No predecessors!
  br label %11620

11620:                                            ; preds = %11619
  br label %11621

11621:                                            ; preds = %11620, %11561
  br label %11622

11622:                                            ; preds = %11621
  br label %11623

11623:                                            ; preds = %11622
  br label %11624

11624:                                            ; preds = %11623
  br label %11625

11625:                                            ; preds = %11624
  br label %11626

11626:                                            ; preds = %11625
  %11627 = load i32, ptr @test_count, align 4, !tbaa !5
  %11628 = add nsw i32 %11627, 1
  store i32 %11628, ptr @test_count, align 4, !tbaa !5
  %11629 = load ptr, ptr %230, align 8, !tbaa !9
  %11630 = call i32 @s2n_config_set_cert_chain_and_key_defaults(ptr noundef %11629, ptr noundef %228, i32 noundef 1)
  %11631 = icmp eq i32 %11630, -1
  br i1 %11631, label %11685, label %11632

11632:                                            ; preds = %11626
  br label %11633

11633:                                            ; preds = %11632
  br label %11634

11634:                                            ; preds = %11633
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %11635 = call ptr @__errno_location() #12
  %11636 = load i32, ptr %11635, align 4, !tbaa !5
  store i32 %11636, ptr %235, align 4, !tbaa !5
  %11637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11638 = call i32 @s2n_print_stacktrace(ptr noundef %11637)
  %11639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11640 = trunc i8 %11639 to i1
  br i1 %11640, label %11641, label %11663

11641:                                            ; preds = %11634
  %11642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11643 = call i32 @fileno(ptr noundef %11642) #11
  %11644 = call i32 @isatty(i32 noundef %11643) #11
  %11645 = icmp ne i32 %11644, 0
  br i1 %11645, label %11646, label %11663

11646:                                            ; preds = %11641
  %11647 = load i32, ptr %235, align 4, !tbaa !5
  %11648 = call ptr @__errno_location() #12
  store i32 %11647, ptr %11648, align 4, !tbaa !5
  %11649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11650 = load i32, ptr @test_count, align 4, !tbaa !5
  %11651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11652 = load i32, ptr %11651, align 4, !tbaa !5
  %11653 = call ptr @s2n_strerror(i32 noundef %11652, ptr noundef @.str.4)
  %11654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11655 = load i32, ptr %11654, align 4, !tbaa !5
  %11656 = call ptr @s2n_strerror_debug(i32 noundef %11655, ptr noundef @.str.4)
  %11657 = call ptr @__errno_location() #12
  %11658 = load i32, ptr %11657, align 4, !tbaa !5
  %11659 = call ptr @strerror(i32 noundef %11658) #11
  %11660 = call ptr @__errno_location() #12
  %11661 = load i32, ptr %11660, align 4, !tbaa !5
  %11662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11649, ptr noundef @.str.2, i32 noundef %11650, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 474, ptr noundef %11653, ptr noundef %11656, ptr noundef %11659, i32 noundef %11661) #11
  br label %11680

11663:                                            ; preds = %11641, %11634
  %11664 = load i32, ptr %235, align 4, !tbaa !5
  %11665 = call ptr @__errno_location() #12
  store i32 %11664, ptr %11665, align 4, !tbaa !5
  %11666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11667 = load i32, ptr @test_count, align 4, !tbaa !5
  %11668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11669 = load i32, ptr %11668, align 4, !tbaa !5
  %11670 = call ptr @s2n_strerror(i32 noundef %11669, ptr noundef @.str.4)
  %11671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11672 = load i32, ptr %11671, align 4, !tbaa !5
  %11673 = call ptr @s2n_strerror_debug(i32 noundef %11672, ptr noundef @.str.4)
  %11674 = call ptr @__errno_location() #12
  %11675 = load i32, ptr %11674, align 4, !tbaa !5
  %11676 = call ptr @strerror(i32 noundef %11675) #11
  %11677 = call ptr @__errno_location() #12
  %11678 = load i32, ptr %11677, align 4, !tbaa !5
  %11679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11666, ptr noundef @.str.5, i32 noundef %11667, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 474, ptr noundef %11670, ptr noundef %11673, ptr noundef %11676, i32 noundef %11678) #11
  br label %11680

11680:                                            ; preds = %11663, %11646
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %11681

11681:                                            ; preds = %11680
  br label %11682

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

11683:                                            ; No predecessors!
  br label %11684

11684:                                            ; preds = %11683
  br label %11685

11685:                                            ; preds = %11684, %11626
  br label %11686

11686:                                            ; preds = %11685
  br label %11687

11687:                                            ; preds = %11686
  br label %11688

11688:                                            ; preds = %11687
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11692 = load i32, ptr %11691, align 4, !tbaa !5
  %11693 = icmp eq i32 %11692, 469762123
  br i1 %11693, label %11747, label %11694

11694:                                            ; preds = %11688
  br label %11695

11695:                                            ; preds = %11694
  br label %11696

11696:                                            ; preds = %11695
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %11697 = call ptr @__errno_location() #12
  %11698 = load i32, ptr %11697, align 4, !tbaa !5
  store i32 %11698, ptr %236, align 4, !tbaa !5
  %11699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11700 = call i32 @s2n_print_stacktrace(ptr noundef %11699)
  %11701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11702 = trunc i8 %11701 to i1
  br i1 %11702, label %11703, label %11725

11703:                                            ; preds = %11696
  %11704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11705 = call i32 @fileno(ptr noundef %11704) #11
  %11706 = call i32 @isatty(i32 noundef %11705) #11
  %11707 = icmp ne i32 %11706, 0
  br i1 %11707, label %11708, label %11725

11708:                                            ; preds = %11703
  %11709 = load i32, ptr %236, align 4, !tbaa !5
  %11710 = call ptr @__errno_location() #12
  store i32 %11709, ptr %11710, align 4, !tbaa !5
  %11711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11712 = load i32, ptr @test_count, align 4, !tbaa !5
  %11713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11714 = load i32, ptr %11713, align 4, !tbaa !5
  %11715 = call ptr @s2n_strerror(i32 noundef %11714, ptr noundef @.str.4)
  %11716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11717 = load i32, ptr %11716, align 4, !tbaa !5
  %11718 = call ptr @s2n_strerror_debug(i32 noundef %11717, ptr noundef @.str.4)
  %11719 = call ptr @__errno_location() #12
  %11720 = load i32, ptr %11719, align 4, !tbaa !5
  %11721 = call ptr @strerror(i32 noundef %11720) #11
  %11722 = call ptr @__errno_location() #12
  %11723 = load i32, ptr %11722, align 4, !tbaa !5
  %11724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11711, ptr noundef @.str.2, i32 noundef %11712, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 474, ptr noundef %11715, ptr noundef %11718, ptr noundef %11721, i32 noundef %11723) #11
  br label %11742

11725:                                            ; preds = %11703, %11696
  %11726 = load i32, ptr %236, align 4, !tbaa !5
  %11727 = call ptr @__errno_location() #12
  store i32 %11726, ptr %11727, align 4, !tbaa !5
  %11728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11729 = load i32, ptr @test_count, align 4, !tbaa !5
  %11730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11731 = load i32, ptr %11730, align 4, !tbaa !5
  %11732 = call ptr @s2n_strerror(i32 noundef %11731, ptr noundef @.str.4)
  %11733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11734 = load i32, ptr %11733, align 4, !tbaa !5
  %11735 = call ptr @s2n_strerror_debug(i32 noundef %11734, ptr noundef @.str.4)
  %11736 = call ptr @__errno_location() #12
  %11737 = load i32, ptr %11736, align 4, !tbaa !5
  %11738 = call ptr @strerror(i32 noundef %11737) #11
  %11739 = call ptr @__errno_location() #12
  %11740 = load i32, ptr %11739, align 4, !tbaa !5
  %11741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11728, ptr noundef @.str.5, i32 noundef %11729, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 474, ptr noundef %11732, ptr noundef %11735, ptr noundef %11738, i32 noundef %11740) #11
  br label %11742

11742:                                            ; preds = %11725, %11708
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %11743

11743:                                            ; preds = %11742
  br label %11744

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

11745:                                            ; No predecessors!
  br label %11746

11746:                                            ; preds = %11745
  br label %11747

11747:                                            ; preds = %11746, %11688
  br label %11748

11748:                                            ; preds = %11747
  br label %11749

11749:                                            ; preds = %11748
  br label %11750

11750:                                            ; preds = %11749
  %11751 = load i32, ptr @test_count, align 4, !tbaa !5
  %11752 = add nsw i32 %11751, 1
  store i32 %11752, ptr @test_count, align 4, !tbaa !5
  %11753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11754 = load i32, ptr %11753, align 4, !tbaa !5
  %11755 = call ptr @s2n_strerror_debug(i32 noundef %11754, ptr noundef @.str.4)
  %11756 = icmp eq ptr %11755, null
  br i1 %11756, label %11757, label %11810

11757:                                            ; preds = %11750
  br label %11758

11758:                                            ; preds = %11757
  br label %11759

11759:                                            ; preds = %11758
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %11760 = call ptr @__errno_location() #12
  %11761 = load i32, ptr %11760, align 4, !tbaa !5
  store i32 %11761, ptr %237, align 4, !tbaa !5
  %11762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11763 = call i32 @s2n_print_stacktrace(ptr noundef %11762)
  %11764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11765 = trunc i8 %11764 to i1
  br i1 %11765, label %11766, label %11788

11766:                                            ; preds = %11759
  %11767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11768 = call i32 @fileno(ptr noundef %11767) #11
  %11769 = call i32 @isatty(i32 noundef %11768) #11
  %11770 = icmp ne i32 %11769, 0
  br i1 %11770, label %11771, label %11788

11771:                                            ; preds = %11766
  %11772 = load i32, ptr %237, align 4, !tbaa !5
  %11773 = call ptr @__errno_location() #12
  store i32 %11772, ptr %11773, align 4, !tbaa !5
  %11774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11775 = load i32, ptr @test_count, align 4, !tbaa !5
  %11776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11777 = load i32, ptr %11776, align 4, !tbaa !5
  %11778 = call ptr @s2n_strerror(i32 noundef %11777, ptr noundef @.str.4)
  %11779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11780 = load i32, ptr %11779, align 4, !tbaa !5
  %11781 = call ptr @s2n_strerror_debug(i32 noundef %11780, ptr noundef @.str.4)
  %11782 = call ptr @__errno_location() #12
  %11783 = load i32, ptr %11782, align 4, !tbaa !5
  %11784 = call ptr @strerror(i32 noundef %11783) #11
  %11785 = call ptr @__errno_location() #12
  %11786 = load i32, ptr %11785, align 4, !tbaa !5
  %11787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11774, ptr noundef @.str.2, i32 noundef %11775, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 474, ptr noundef %11778, ptr noundef %11781, ptr noundef %11784, i32 noundef %11786) #11
  br label %11805

11788:                                            ; preds = %11766, %11759
  %11789 = load i32, ptr %237, align 4, !tbaa !5
  %11790 = call ptr @__errno_location() #12
  store i32 %11789, ptr %11790, align 4, !tbaa !5
  %11791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11792 = load i32, ptr @test_count, align 4, !tbaa !5
  %11793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11794 = load i32, ptr %11793, align 4, !tbaa !5
  %11795 = call ptr @s2n_strerror(i32 noundef %11794, ptr noundef @.str.4)
  %11796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11797 = load i32, ptr %11796, align 4, !tbaa !5
  %11798 = call ptr @s2n_strerror_debug(i32 noundef %11797, ptr noundef @.str.4)
  %11799 = call ptr @__errno_location() #12
  %11800 = load i32, ptr %11799, align 4, !tbaa !5
  %11801 = call ptr @strerror(i32 noundef %11800) #11
  %11802 = call ptr @__errno_location() #12
  %11803 = load i32, ptr %11802, align 4, !tbaa !5
  %11804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11791, ptr noundef @.str.5, i32 noundef %11792, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 474, ptr noundef %11795, ptr noundef %11798, ptr noundef %11801, i32 noundef %11803) #11
  br label %11805

11805:                                            ; preds = %11788, %11771
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %11806

11806:                                            ; preds = %11805
  br label %11807

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

11808:                                            ; No predecessors!
  br label %11809

11809:                                            ; preds = %11808
  br label %11810

11810:                                            ; preds = %11809, %11750
  br label %11811

11811:                                            ; preds = %11810
  br label %11812

11812:                                            ; preds = %11811
  br label %11813

11813:                                            ; preds = %11812
  br label %11814

11814:                                            ; preds = %11813
  br label %11815

11815:                                            ; preds = %11814
  %11816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11816, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11817 = call ptr @__errno_location() #12
  store i32 0, ptr %11817, align 4, !tbaa !5
  br label %11818

11818:                                            ; preds = %11815
  br label %11819

11819:                                            ; preds = %11818
  br label %11820

11820:                                            ; preds = %11819
  br label %11821

11821:                                            ; preds = %11820
  %11822 = call i32 @s2n_config_ptr_free(ptr noundef %230)
  %11823 = getelementptr inbounds %struct.s2n_result, ptr %238, i32 0, i32 0
  store i32 %11822, ptr %11823, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %230) #11
  %11824 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %228)
  %11825 = getelementptr inbounds %struct.s2n_result, ptr %239, i32 0, i32 0
  store i32 %11824, ptr %11825, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %228) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %240) #11
  %11826 = call ptr @s2n_config_new()
  store ptr %11826, ptr %240, align 8, !tbaa !9
  br label %11827

11827:                                            ; preds = %11821
  %11828 = load i32, ptr @test_count, align 4, !tbaa !5
  %11829 = add nsw i32 %11828, 1
  store i32 %11829, ptr @test_count, align 4, !tbaa !5
  %11830 = load ptr, ptr %240, align 8, !tbaa !9
  %11831 = icmp eq ptr %11830, null
  br i1 %11831, label %11832, label %11885

11832:                                            ; preds = %11827
  br label %11833

11833:                                            ; preds = %11832
  br label %11834

11834:                                            ; preds = %11833
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %11835 = call ptr @__errno_location() #12
  %11836 = load i32, ptr %11835, align 4, !tbaa !5
  store i32 %11836, ptr %241, align 4, !tbaa !5
  %11837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11838 = call i32 @s2n_print_stacktrace(ptr noundef %11837)
  %11839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11840 = trunc i8 %11839 to i1
  br i1 %11840, label %11841, label %11863

11841:                                            ; preds = %11834
  %11842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11843 = call i32 @fileno(ptr noundef %11842) #11
  %11844 = call i32 @isatty(i32 noundef %11843) #11
  %11845 = icmp ne i32 %11844, 0
  br i1 %11845, label %11846, label %11863

11846:                                            ; preds = %11841
  %11847 = load i32, ptr %241, align 4, !tbaa !5
  %11848 = call ptr @__errno_location() #12
  store i32 %11847, ptr %11848, align 4, !tbaa !5
  %11849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11850 = load i32, ptr @test_count, align 4, !tbaa !5
  %11851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11852 = load i32, ptr %11851, align 4, !tbaa !5
  %11853 = call ptr @s2n_strerror(i32 noundef %11852, ptr noundef @.str.4)
  %11854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11855 = load i32, ptr %11854, align 4, !tbaa !5
  %11856 = call ptr @s2n_strerror_debug(i32 noundef %11855, ptr noundef @.str.4)
  %11857 = call ptr @__errno_location() #12
  %11858 = load i32, ptr %11857, align 4, !tbaa !5
  %11859 = call ptr @strerror(i32 noundef %11858) #11
  %11860 = call ptr @__errno_location() #12
  %11861 = load i32, ptr %11860, align 4, !tbaa !5
  %11862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11849, ptr noundef @.str.2, i32 noundef %11850, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 483, ptr noundef %11853, ptr noundef %11856, ptr noundef %11859, i32 noundef %11861) #11
  br label %11880

11863:                                            ; preds = %11841, %11834
  %11864 = load i32, ptr %241, align 4, !tbaa !5
  %11865 = call ptr @__errno_location() #12
  store i32 %11864, ptr %11865, align 4, !tbaa !5
  %11866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11867 = load i32, ptr @test_count, align 4, !tbaa !5
  %11868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11869 = load i32, ptr %11868, align 4, !tbaa !5
  %11870 = call ptr @s2n_strerror(i32 noundef %11869, ptr noundef @.str.4)
  %11871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11872 = load i32, ptr %11871, align 4, !tbaa !5
  %11873 = call ptr @s2n_strerror_debug(i32 noundef %11872, ptr noundef @.str.4)
  %11874 = call ptr @__errno_location() #12
  %11875 = load i32, ptr %11874, align 4, !tbaa !5
  %11876 = call ptr @strerror(i32 noundef %11875) #11
  %11877 = call ptr @__errno_location() #12
  %11878 = load i32, ptr %11877, align 4, !tbaa !5
  %11879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11866, ptr noundef @.str.5, i32 noundef %11867, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 483, ptr noundef %11870, ptr noundef %11873, ptr noundef %11876, i32 noundef %11878) #11
  br label %11880

11880:                                            ; preds = %11863, %11846
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %11881

11881:                                            ; preds = %11880
  br label %11882

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

11883:                                            ; No predecessors!
  br label %11884

11884:                                            ; preds = %11883
  br label %11885

11885:                                            ; preds = %11884, %11827
  br label %11886

11886:                                            ; preds = %11885
  br label %11887

11887:                                            ; preds = %11886
  br label %11888

11888:                                            ; preds = %11887
  %11889 = load i32, ptr @test_count, align 4, !tbaa !5
  %11890 = add nsw i32 %11889, 1
  store i32 %11890, ptr @test_count, align 4, !tbaa !5
  %11891 = load ptr, ptr %240, align 8, !tbaa !9
  %11892 = getelementptr inbounds %struct.s2n_config, ptr %11891, i32 0, i32 52
  %11893 = load i32, ptr %11892, align 4, !tbaa !59
  %11894 = icmp eq i32 %11893, 0
  br i1 %11894, label %11948, label %11895

11895:                                            ; preds = %11888
  br label %11896

11896:                                            ; preds = %11895
  br label %11897

11897:                                            ; preds = %11896
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #11
  %11898 = call ptr @__errno_location() #12
  %11899 = load i32, ptr %11898, align 4, !tbaa !5
  store i32 %11899, ptr %242, align 4, !tbaa !5
  %11900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11901 = call i32 @s2n_print_stacktrace(ptr noundef %11900)
  %11902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11903 = trunc i8 %11902 to i1
  br i1 %11903, label %11904, label %11926

11904:                                            ; preds = %11897
  %11905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11906 = call i32 @fileno(ptr noundef %11905) #11
  %11907 = call i32 @isatty(i32 noundef %11906) #11
  %11908 = icmp ne i32 %11907, 0
  br i1 %11908, label %11909, label %11926

11909:                                            ; preds = %11904
  %11910 = load i32, ptr %242, align 4, !tbaa !5
  %11911 = call ptr @__errno_location() #12
  store i32 %11910, ptr %11911, align 4, !tbaa !5
  %11912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11913 = load i32, ptr @test_count, align 4, !tbaa !5
  %11914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11915 = load i32, ptr %11914, align 4, !tbaa !5
  %11916 = call ptr @s2n_strerror(i32 noundef %11915, ptr noundef @.str.4)
  %11917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11918 = load i32, ptr %11917, align 4, !tbaa !5
  %11919 = call ptr @s2n_strerror_debug(i32 noundef %11918, ptr noundef @.str.4)
  %11920 = call ptr @__errno_location() #12
  %11921 = load i32, ptr %11920, align 4, !tbaa !5
  %11922 = call ptr @strerror(i32 noundef %11921) #11
  %11923 = call ptr @__errno_location() #12
  %11924 = load i32, ptr %11923, align 4, !tbaa !5
  %11925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11912, ptr noundef @.str.2, i32 noundef %11913, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 485, ptr noundef %11916, ptr noundef %11919, ptr noundef %11922, i32 noundef %11924) #11
  br label %11943

11926:                                            ; preds = %11904, %11897
  %11927 = load i32, ptr %242, align 4, !tbaa !5
  %11928 = call ptr @__errno_location() #12
  store i32 %11927, ptr %11928, align 4, !tbaa !5
  %11929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11930 = load i32, ptr @test_count, align 4, !tbaa !5
  %11931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11932 = load i32, ptr %11931, align 4, !tbaa !5
  %11933 = call ptr @s2n_strerror(i32 noundef %11932, ptr noundef @.str.4)
  %11934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11935 = load i32, ptr %11934, align 4, !tbaa !5
  %11936 = call ptr @s2n_strerror_debug(i32 noundef %11935, ptr noundef @.str.4)
  %11937 = call ptr @__errno_location() #12
  %11938 = load i32, ptr %11937, align 4, !tbaa !5
  %11939 = call ptr @strerror(i32 noundef %11938) #11
  %11940 = call ptr @__errno_location() #12
  %11941 = load i32, ptr %11940, align 4, !tbaa !5
  %11942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11929, ptr noundef @.str.5, i32 noundef %11930, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 485, ptr noundef %11933, ptr noundef %11936, ptr noundef %11939, i32 noundef %11941) #11
  br label %11943

11943:                                            ; preds = %11926, %11909
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #11
  br label %11944

11944:                                            ; preds = %11943
  br label %11945

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

11946:                                            ; No predecessors!
  br label %11947

11947:                                            ; preds = %11946
  br label %11948

11948:                                            ; preds = %11947, %11888
  br label %11949

11949:                                            ; preds = %11948
  br label %11950

11950:                                            ; preds = %11949
  br label %11951

11951:                                            ; preds = %11950
  br label %11952

11952:                                            ; preds = %11951
  br label %11953

11953:                                            ; preds = %11952
  %11954 = load i32, ptr @test_count, align 4, !tbaa !5
  %11955 = add nsw i32 %11954, 1
  store i32 %11955, ptr @test_count, align 4, !tbaa !5
  %11956 = call i32 @s2n_config_set_send_buffer_size(ptr noundef null, i32 noundef 1034)
  %11957 = icmp eq i32 %11956, -1
  br i1 %11957, label %12011, label %11958

11958:                                            ; preds = %11953
  br label %11959

11959:                                            ; preds = %11958
  br label %11960

11960:                                            ; preds = %11959
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %11961 = call ptr @__errno_location() #12
  %11962 = load i32, ptr %11961, align 4, !tbaa !5
  store i32 %11962, ptr %243, align 4, !tbaa !5
  %11963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11964 = call i32 @s2n_print_stacktrace(ptr noundef %11963)
  %11965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11966 = trunc i8 %11965 to i1
  br i1 %11966, label %11967, label %11989

11967:                                            ; preds = %11960
  %11968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11969 = call i32 @fileno(ptr noundef %11968) #11
  %11970 = call i32 @isatty(i32 noundef %11969) #11
  %11971 = icmp ne i32 %11970, 0
  br i1 %11971, label %11972, label %11989

11972:                                            ; preds = %11967
  %11973 = load i32, ptr %243, align 4, !tbaa !5
  %11974 = call ptr @__errno_location() #12
  store i32 %11973, ptr %11974, align 4, !tbaa !5
  %11975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11976 = load i32, ptr @test_count, align 4, !tbaa !5
  %11977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11978 = load i32, ptr %11977, align 4, !tbaa !5
  %11979 = call ptr @s2n_strerror(i32 noundef %11978, ptr noundef @.str.4)
  %11980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11981 = load i32, ptr %11980, align 4, !tbaa !5
  %11982 = call ptr @s2n_strerror_debug(i32 noundef %11981, ptr noundef @.str.4)
  %11983 = call ptr @__errno_location() #12
  %11984 = load i32, ptr %11983, align 4, !tbaa !5
  %11985 = call ptr @strerror(i32 noundef %11984) #11
  %11986 = call ptr @__errno_location() #12
  %11987 = load i32, ptr %11986, align 4, !tbaa !5
  %11988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11975, ptr noundef @.str.2, i32 noundef %11976, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 486, ptr noundef %11979, ptr noundef %11982, ptr noundef %11985, i32 noundef %11987) #11
  br label %12006

11989:                                            ; preds = %11967, %11960
  %11990 = load i32, ptr %243, align 4, !tbaa !5
  %11991 = call ptr @__errno_location() #12
  store i32 %11990, ptr %11991, align 4, !tbaa !5
  %11992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11993 = load i32, ptr @test_count, align 4, !tbaa !5
  %11994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11995 = load i32, ptr %11994, align 4, !tbaa !5
  %11996 = call ptr @s2n_strerror(i32 noundef %11995, ptr noundef @.str.4)
  %11997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11998 = load i32, ptr %11997, align 4, !tbaa !5
  %11999 = call ptr @s2n_strerror_debug(i32 noundef %11998, ptr noundef @.str.4)
  %12000 = call ptr @__errno_location() #12
  %12001 = load i32, ptr %12000, align 4, !tbaa !5
  %12002 = call ptr @strerror(i32 noundef %12001) #11
  %12003 = call ptr @__errno_location() #12
  %12004 = load i32, ptr %12003, align 4, !tbaa !5
  %12005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11992, ptr noundef @.str.5, i32 noundef %11993, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 486, ptr noundef %11996, ptr noundef %11999, ptr noundef %12002, i32 noundef %12004) #11
  br label %12006

12006:                                            ; preds = %11989, %11972
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %12007

12007:                                            ; preds = %12006
  br label %12008

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

12009:                                            ; No predecessors!
  br label %12010

12010:                                            ; preds = %12009
  br label %12011

12011:                                            ; preds = %12010, %11953
  br label %12012

12012:                                            ; preds = %12011
  br label %12013

12013:                                            ; preds = %12012
  br label %12014

12014:                                            ; preds = %12013
  %12015 = load i32, ptr @test_count, align 4, !tbaa !5
  %12016 = add nsw i32 %12015, 1
  store i32 %12016, ptr @test_count, align 4, !tbaa !5
  %12017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12018 = load i32, ptr %12017, align 4, !tbaa !5
  %12019 = icmp eq i32 %12018, 402653193
  br i1 %12019, label %12073, label %12020

12020:                                            ; preds = %12014
  br label %12021

12021:                                            ; preds = %12020
  br label %12022

12022:                                            ; preds = %12021
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %12023 = call ptr @__errno_location() #12
  %12024 = load i32, ptr %12023, align 4, !tbaa !5
  store i32 %12024, ptr %244, align 4, !tbaa !5
  %12025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12026 = call i32 @s2n_print_stacktrace(ptr noundef %12025)
  %12027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12028 = trunc i8 %12027 to i1
  br i1 %12028, label %12029, label %12051

12029:                                            ; preds = %12022
  %12030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12031 = call i32 @fileno(ptr noundef %12030) #11
  %12032 = call i32 @isatty(i32 noundef %12031) #11
  %12033 = icmp ne i32 %12032, 0
  br i1 %12033, label %12034, label %12051

12034:                                            ; preds = %12029
  %12035 = load i32, ptr %244, align 4, !tbaa !5
  %12036 = call ptr @__errno_location() #12
  store i32 %12035, ptr %12036, align 4, !tbaa !5
  %12037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12038 = load i32, ptr @test_count, align 4, !tbaa !5
  %12039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12040 = load i32, ptr %12039, align 4, !tbaa !5
  %12041 = call ptr @s2n_strerror(i32 noundef %12040, ptr noundef @.str.4)
  %12042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12043 = load i32, ptr %12042, align 4, !tbaa !5
  %12044 = call ptr @s2n_strerror_debug(i32 noundef %12043, ptr noundef @.str.4)
  %12045 = call ptr @__errno_location() #12
  %12046 = load i32, ptr %12045, align 4, !tbaa !5
  %12047 = call ptr @strerror(i32 noundef %12046) #11
  %12048 = call ptr @__errno_location() #12
  %12049 = load i32, ptr %12048, align 4, !tbaa !5
  %12050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12037, ptr noundef @.str.2, i32 noundef %12038, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 486, ptr noundef %12041, ptr noundef %12044, ptr noundef %12047, i32 noundef %12049) #11
  br label %12068

12051:                                            ; preds = %12029, %12022
  %12052 = load i32, ptr %244, align 4, !tbaa !5
  %12053 = call ptr @__errno_location() #12
  store i32 %12052, ptr %12053, align 4, !tbaa !5
  %12054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12055 = load i32, ptr @test_count, align 4, !tbaa !5
  %12056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12057 = load i32, ptr %12056, align 4, !tbaa !5
  %12058 = call ptr @s2n_strerror(i32 noundef %12057, ptr noundef @.str.4)
  %12059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12060 = load i32, ptr %12059, align 4, !tbaa !5
  %12061 = call ptr @s2n_strerror_debug(i32 noundef %12060, ptr noundef @.str.4)
  %12062 = call ptr @__errno_location() #12
  %12063 = load i32, ptr %12062, align 4, !tbaa !5
  %12064 = call ptr @strerror(i32 noundef %12063) #11
  %12065 = call ptr @__errno_location() #12
  %12066 = load i32, ptr %12065, align 4, !tbaa !5
  %12067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12054, ptr noundef @.str.5, i32 noundef %12055, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 486, ptr noundef %12058, ptr noundef %12061, ptr noundef %12064, i32 noundef %12066) #11
  br label %12068

12068:                                            ; preds = %12051, %12034
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %12069

12069:                                            ; preds = %12068
  br label %12070

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

12071:                                            ; No predecessors!
  br label %12072

12072:                                            ; preds = %12071
  br label %12073

12073:                                            ; preds = %12072, %12014
  br label %12074

12074:                                            ; preds = %12073
  br label %12075

12075:                                            ; preds = %12074
  br label %12076

12076:                                            ; preds = %12075
  %12077 = load i32, ptr @test_count, align 4, !tbaa !5
  %12078 = add nsw i32 %12077, 1
  store i32 %12078, ptr @test_count, align 4, !tbaa !5
  %12079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12080 = load i32, ptr %12079, align 4, !tbaa !5
  %12081 = call ptr @s2n_strerror_debug(i32 noundef %12080, ptr noundef @.str.4)
  %12082 = icmp eq ptr %12081, null
  br i1 %12082, label %12083, label %12136

12083:                                            ; preds = %12076
  br label %12084

12084:                                            ; preds = %12083
  br label %12085

12085:                                            ; preds = %12084
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %12086 = call ptr @__errno_location() #12
  %12087 = load i32, ptr %12086, align 4, !tbaa !5
  store i32 %12087, ptr %245, align 4, !tbaa !5
  %12088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12089 = call i32 @s2n_print_stacktrace(ptr noundef %12088)
  %12090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12091 = trunc i8 %12090 to i1
  br i1 %12091, label %12092, label %12114

12092:                                            ; preds = %12085
  %12093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12094 = call i32 @fileno(ptr noundef %12093) #11
  %12095 = call i32 @isatty(i32 noundef %12094) #11
  %12096 = icmp ne i32 %12095, 0
  br i1 %12096, label %12097, label %12114

12097:                                            ; preds = %12092
  %12098 = load i32, ptr %245, align 4, !tbaa !5
  %12099 = call ptr @__errno_location() #12
  store i32 %12098, ptr %12099, align 4, !tbaa !5
  %12100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12101 = load i32, ptr @test_count, align 4, !tbaa !5
  %12102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12103 = load i32, ptr %12102, align 4, !tbaa !5
  %12104 = call ptr @s2n_strerror(i32 noundef %12103, ptr noundef @.str.4)
  %12105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12106 = load i32, ptr %12105, align 4, !tbaa !5
  %12107 = call ptr @s2n_strerror_debug(i32 noundef %12106, ptr noundef @.str.4)
  %12108 = call ptr @__errno_location() #12
  %12109 = load i32, ptr %12108, align 4, !tbaa !5
  %12110 = call ptr @strerror(i32 noundef %12109) #11
  %12111 = call ptr @__errno_location() #12
  %12112 = load i32, ptr %12111, align 4, !tbaa !5
  %12113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12100, ptr noundef @.str.2, i32 noundef %12101, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 486, ptr noundef %12104, ptr noundef %12107, ptr noundef %12110, i32 noundef %12112) #11
  br label %12131

12114:                                            ; preds = %12092, %12085
  %12115 = load i32, ptr %245, align 4, !tbaa !5
  %12116 = call ptr @__errno_location() #12
  store i32 %12115, ptr %12116, align 4, !tbaa !5
  %12117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12118 = load i32, ptr @test_count, align 4, !tbaa !5
  %12119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12120 = load i32, ptr %12119, align 4, !tbaa !5
  %12121 = call ptr @s2n_strerror(i32 noundef %12120, ptr noundef @.str.4)
  %12122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12123 = load i32, ptr %12122, align 4, !tbaa !5
  %12124 = call ptr @s2n_strerror_debug(i32 noundef %12123, ptr noundef @.str.4)
  %12125 = call ptr @__errno_location() #12
  %12126 = load i32, ptr %12125, align 4, !tbaa !5
  %12127 = call ptr @strerror(i32 noundef %12126) #11
  %12128 = call ptr @__errno_location() #12
  %12129 = load i32, ptr %12128, align 4, !tbaa !5
  %12130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12117, ptr noundef @.str.5, i32 noundef %12118, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 486, ptr noundef %12121, ptr noundef %12124, ptr noundef %12127, i32 noundef %12129) #11
  br label %12131

12131:                                            ; preds = %12114, %12097
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %12132

12132:                                            ; preds = %12131
  br label %12133

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

12134:                                            ; No predecessors!
  br label %12135

12135:                                            ; preds = %12134
  br label %12136

12136:                                            ; preds = %12135, %12076
  br label %12137

12137:                                            ; preds = %12136
  br label %12138

12138:                                            ; preds = %12137
  br label %12139

12139:                                            ; preds = %12138
  br label %12140

12140:                                            ; preds = %12139
  br label %12141

12141:                                            ; preds = %12140
  %12142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12142, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12143 = call ptr @__errno_location() #12
  store i32 0, ptr %12143, align 4, !tbaa !5
  br label %12144

12144:                                            ; preds = %12141
  br label %12145

12145:                                            ; preds = %12144
  br label %12146

12146:                                            ; preds = %12145
  br label %12147

12147:                                            ; preds = %12146
  br label %12148

12148:                                            ; preds = %12147
  br label %12149

12149:                                            ; preds = %12148
  br label %12150

12150:                                            ; preds = %12149
  %12151 = load i32, ptr @test_count, align 4, !tbaa !5
  %12152 = add nsw i32 %12151, 1
  store i32 %12152, ptr @test_count, align 4, !tbaa !5
  %12153 = load ptr, ptr %240, align 8, !tbaa !9
  %12154 = call i32 @s2n_config_set_send_buffer_size(ptr noundef %12153, i32 noundef 0)
  %12155 = icmp eq i32 %12154, -1
  br i1 %12155, label %12209, label %12156

12156:                                            ; preds = %12150
  br label %12157

12157:                                            ; preds = %12156
  br label %12158

12158:                                            ; preds = %12157
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %12159 = call ptr @__errno_location() #12
  %12160 = load i32, ptr %12159, align 4, !tbaa !5
  store i32 %12160, ptr %246, align 4, !tbaa !5
  %12161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12162 = call i32 @s2n_print_stacktrace(ptr noundef %12161)
  %12163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12164 = trunc i8 %12163 to i1
  br i1 %12164, label %12165, label %12187

12165:                                            ; preds = %12158
  %12166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12167 = call i32 @fileno(ptr noundef %12166) #11
  %12168 = call i32 @isatty(i32 noundef %12167) #11
  %12169 = icmp ne i32 %12168, 0
  br i1 %12169, label %12170, label %12187

12170:                                            ; preds = %12165
  %12171 = load i32, ptr %246, align 4, !tbaa !5
  %12172 = call ptr @__errno_location() #12
  store i32 %12171, ptr %12172, align 4, !tbaa !5
  %12173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12174 = load i32, ptr @test_count, align 4, !tbaa !5
  %12175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12176 = load i32, ptr %12175, align 4, !tbaa !5
  %12177 = call ptr @s2n_strerror(i32 noundef %12176, ptr noundef @.str.4)
  %12178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12179 = load i32, ptr %12178, align 4, !tbaa !5
  %12180 = call ptr @s2n_strerror_debug(i32 noundef %12179, ptr noundef @.str.4)
  %12181 = call ptr @__errno_location() #12
  %12182 = load i32, ptr %12181, align 4, !tbaa !5
  %12183 = call ptr @strerror(i32 noundef %12182) #11
  %12184 = call ptr @__errno_location() #12
  %12185 = load i32, ptr %12184, align 4, !tbaa !5
  %12186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12173, ptr noundef @.str.2, i32 noundef %12174, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 487, ptr noundef %12177, ptr noundef %12180, ptr noundef %12183, i32 noundef %12185) #11
  br label %12204

12187:                                            ; preds = %12165, %12158
  %12188 = load i32, ptr %246, align 4, !tbaa !5
  %12189 = call ptr @__errno_location() #12
  store i32 %12188, ptr %12189, align 4, !tbaa !5
  %12190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12191 = load i32, ptr @test_count, align 4, !tbaa !5
  %12192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12193 = load i32, ptr %12192, align 4, !tbaa !5
  %12194 = call ptr @s2n_strerror(i32 noundef %12193, ptr noundef @.str.4)
  %12195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12196 = load i32, ptr %12195, align 4, !tbaa !5
  %12197 = call ptr @s2n_strerror_debug(i32 noundef %12196, ptr noundef @.str.4)
  %12198 = call ptr @__errno_location() #12
  %12199 = load i32, ptr %12198, align 4, !tbaa !5
  %12200 = call ptr @strerror(i32 noundef %12199) #11
  %12201 = call ptr @__errno_location() #12
  %12202 = load i32, ptr %12201, align 4, !tbaa !5
  %12203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12190, ptr noundef @.str.5, i32 noundef %12191, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 487, ptr noundef %12194, ptr noundef %12197, ptr noundef %12200, i32 noundef %12202) #11
  br label %12204

12204:                                            ; preds = %12187, %12170
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %12205

12205:                                            ; preds = %12204
  br label %12206

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

12207:                                            ; No predecessors!
  br label %12208

12208:                                            ; preds = %12207
  br label %12209

12209:                                            ; preds = %12208, %12150
  br label %12210

12210:                                            ; preds = %12209
  br label %12211

12211:                                            ; preds = %12210
  br label %12212

12212:                                            ; preds = %12211
  %12213 = load i32, ptr @test_count, align 4, !tbaa !5
  %12214 = add nsw i32 %12213, 1
  store i32 %12214, ptr @test_count, align 4, !tbaa !5
  %12215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12216 = load i32, ptr %12215, align 4, !tbaa !5
  %12217 = icmp eq i32 %12216, 469762089
  br i1 %12217, label %12271, label %12218

12218:                                            ; preds = %12212
  br label %12219

12219:                                            ; preds = %12218
  br label %12220

12220:                                            ; preds = %12219
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %12221 = call ptr @__errno_location() #12
  %12222 = load i32, ptr %12221, align 4, !tbaa !5
  store i32 %12222, ptr %247, align 4, !tbaa !5
  %12223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12224 = call i32 @s2n_print_stacktrace(ptr noundef %12223)
  %12225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12226 = trunc i8 %12225 to i1
  br i1 %12226, label %12227, label %12249

12227:                                            ; preds = %12220
  %12228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12229 = call i32 @fileno(ptr noundef %12228) #11
  %12230 = call i32 @isatty(i32 noundef %12229) #11
  %12231 = icmp ne i32 %12230, 0
  br i1 %12231, label %12232, label %12249

12232:                                            ; preds = %12227
  %12233 = load i32, ptr %247, align 4, !tbaa !5
  %12234 = call ptr @__errno_location() #12
  store i32 %12233, ptr %12234, align 4, !tbaa !5
  %12235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12236 = load i32, ptr @test_count, align 4, !tbaa !5
  %12237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12238 = load i32, ptr %12237, align 4, !tbaa !5
  %12239 = call ptr @s2n_strerror(i32 noundef %12238, ptr noundef @.str.4)
  %12240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12241 = load i32, ptr %12240, align 4, !tbaa !5
  %12242 = call ptr @s2n_strerror_debug(i32 noundef %12241, ptr noundef @.str.4)
  %12243 = call ptr @__errno_location() #12
  %12244 = load i32, ptr %12243, align 4, !tbaa !5
  %12245 = call ptr @strerror(i32 noundef %12244) #11
  %12246 = call ptr @__errno_location() #12
  %12247 = load i32, ptr %12246, align 4, !tbaa !5
  %12248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12235, ptr noundef @.str.2, i32 noundef %12236, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 487, ptr noundef %12239, ptr noundef %12242, ptr noundef %12245, i32 noundef %12247) #11
  br label %12266

12249:                                            ; preds = %12227, %12220
  %12250 = load i32, ptr %247, align 4, !tbaa !5
  %12251 = call ptr @__errno_location() #12
  store i32 %12250, ptr %12251, align 4, !tbaa !5
  %12252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12253 = load i32, ptr @test_count, align 4, !tbaa !5
  %12254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12255 = load i32, ptr %12254, align 4, !tbaa !5
  %12256 = call ptr @s2n_strerror(i32 noundef %12255, ptr noundef @.str.4)
  %12257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12258 = load i32, ptr %12257, align 4, !tbaa !5
  %12259 = call ptr @s2n_strerror_debug(i32 noundef %12258, ptr noundef @.str.4)
  %12260 = call ptr @__errno_location() #12
  %12261 = load i32, ptr %12260, align 4, !tbaa !5
  %12262 = call ptr @strerror(i32 noundef %12261) #11
  %12263 = call ptr @__errno_location() #12
  %12264 = load i32, ptr %12263, align 4, !tbaa !5
  %12265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12252, ptr noundef @.str.5, i32 noundef %12253, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 487, ptr noundef %12256, ptr noundef %12259, ptr noundef %12262, i32 noundef %12264) #11
  br label %12266

12266:                                            ; preds = %12249, %12232
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %12267

12267:                                            ; preds = %12266
  br label %12268

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

12269:                                            ; No predecessors!
  br label %12270

12270:                                            ; preds = %12269
  br label %12271

12271:                                            ; preds = %12270, %12212
  br label %12272

12272:                                            ; preds = %12271
  br label %12273

12273:                                            ; preds = %12272
  br label %12274

12274:                                            ; preds = %12273
  %12275 = load i32, ptr @test_count, align 4, !tbaa !5
  %12276 = add nsw i32 %12275, 1
  store i32 %12276, ptr @test_count, align 4, !tbaa !5
  %12277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12278 = load i32, ptr %12277, align 4, !tbaa !5
  %12279 = call ptr @s2n_strerror_debug(i32 noundef %12278, ptr noundef @.str.4)
  %12280 = icmp eq ptr %12279, null
  br i1 %12280, label %12281, label %12334

12281:                                            ; preds = %12274
  br label %12282

12282:                                            ; preds = %12281
  br label %12283

12283:                                            ; preds = %12282
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %12284 = call ptr @__errno_location() #12
  %12285 = load i32, ptr %12284, align 4, !tbaa !5
  store i32 %12285, ptr %248, align 4, !tbaa !5
  %12286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12287 = call i32 @s2n_print_stacktrace(ptr noundef %12286)
  %12288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12289 = trunc i8 %12288 to i1
  br i1 %12289, label %12290, label %12312

12290:                                            ; preds = %12283
  %12291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12292 = call i32 @fileno(ptr noundef %12291) #11
  %12293 = call i32 @isatty(i32 noundef %12292) #11
  %12294 = icmp ne i32 %12293, 0
  br i1 %12294, label %12295, label %12312

12295:                                            ; preds = %12290
  %12296 = load i32, ptr %248, align 4, !tbaa !5
  %12297 = call ptr @__errno_location() #12
  store i32 %12296, ptr %12297, align 4, !tbaa !5
  %12298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12299 = load i32, ptr @test_count, align 4, !tbaa !5
  %12300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12301 = load i32, ptr %12300, align 4, !tbaa !5
  %12302 = call ptr @s2n_strerror(i32 noundef %12301, ptr noundef @.str.4)
  %12303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12304 = load i32, ptr %12303, align 4, !tbaa !5
  %12305 = call ptr @s2n_strerror_debug(i32 noundef %12304, ptr noundef @.str.4)
  %12306 = call ptr @__errno_location() #12
  %12307 = load i32, ptr %12306, align 4, !tbaa !5
  %12308 = call ptr @strerror(i32 noundef %12307) #11
  %12309 = call ptr @__errno_location() #12
  %12310 = load i32, ptr %12309, align 4, !tbaa !5
  %12311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12298, ptr noundef @.str.2, i32 noundef %12299, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 487, ptr noundef %12302, ptr noundef %12305, ptr noundef %12308, i32 noundef %12310) #11
  br label %12329

12312:                                            ; preds = %12290, %12283
  %12313 = load i32, ptr %248, align 4, !tbaa !5
  %12314 = call ptr @__errno_location() #12
  store i32 %12313, ptr %12314, align 4, !tbaa !5
  %12315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12316 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %12318, ptr noundef @.str.4)
  %12320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12321 = load i32, ptr %12320, align 4, !tbaa !5
  %12322 = call ptr @s2n_strerror_debug(i32 noundef %12321, ptr noundef @.str.4)
  %12323 = call ptr @__errno_location() #12
  %12324 = load i32, ptr %12323, align 4, !tbaa !5
  %12325 = call ptr @strerror(i32 noundef %12324) #11
  %12326 = call ptr @__errno_location() #12
  %12327 = load i32, ptr %12326, align 4, !tbaa !5
  %12328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12315, ptr noundef @.str.5, i32 noundef %12316, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 487, ptr noundef %12319, ptr noundef %12322, ptr noundef %12325, i32 noundef %12327) #11
  br label %12329

12329:                                            ; preds = %12312, %12295
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %12330

12330:                                            ; preds = %12329
  br label %12331

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

12332:                                            ; No predecessors!
  br label %12333

12333:                                            ; preds = %12332
  br label %12334

12334:                                            ; preds = %12333, %12274
  br label %12335

12335:                                            ; preds = %12334
  br label %12336

12336:                                            ; preds = %12335
  br label %12337

12337:                                            ; preds = %12336
  br label %12338

12338:                                            ; preds = %12337
  br label %12339

12339:                                            ; preds = %12338
  %12340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12340, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12341 = call ptr @__errno_location() #12
  store i32 0, ptr %12341, align 4, !tbaa !5
  br label %12342

12342:                                            ; preds = %12339
  br label %12343

12343:                                            ; preds = %12342
  br label %12344

12344:                                            ; preds = %12343
  br label %12345

12345:                                            ; preds = %12344
  br label %12346

12346:                                            ; preds = %12345
  %12347 = load i32, ptr @test_count, align 4, !tbaa !5
  %12348 = add nsw i32 %12347, 1
  store i32 %12348, ptr @test_count, align 4, !tbaa !5
  %12349 = load ptr, ptr %240, align 8, !tbaa !9
  %12350 = getelementptr inbounds %struct.s2n_config, ptr %12349, i32 0, i32 52
  %12351 = load i32, ptr %12350, align 4, !tbaa !59
  %12352 = icmp eq i32 %12351, 0
  br i1 %12352, label %12406, label %12353

12353:                                            ; preds = %12346
  br label %12354

12354:                                            ; preds = %12353
  br label %12355

12355:                                            ; preds = %12354
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #11
  %12356 = call ptr @__errno_location() #12
  %12357 = load i32, ptr %12356, align 4, !tbaa !5
  store i32 %12357, ptr %249, align 4, !tbaa !5
  %12358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12359 = call i32 @s2n_print_stacktrace(ptr noundef %12358)
  %12360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12361 = trunc i8 %12360 to i1
  br i1 %12361, label %12362, label %12384

12362:                                            ; preds = %12355
  %12363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12364 = call i32 @fileno(ptr noundef %12363) #11
  %12365 = call i32 @isatty(i32 noundef %12364) #11
  %12366 = icmp ne i32 %12365, 0
  br i1 %12366, label %12367, label %12384

12367:                                            ; preds = %12362
  %12368 = load i32, ptr %249, align 4, !tbaa !5
  %12369 = call ptr @__errno_location() #12
  store i32 %12368, ptr %12369, align 4, !tbaa !5
  %12370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12371 = load i32, ptr @test_count, align 4, !tbaa !5
  %12372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12373 = load i32, ptr %12372, align 4, !tbaa !5
  %12374 = call ptr @s2n_strerror(i32 noundef %12373, ptr noundef @.str.4)
  %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_debug(i32 noundef %12376, ptr noundef @.str.4)
  %12378 = call ptr @__errno_location() #12
  %12379 = load i32, ptr %12378, align 4, !tbaa !5
  %12380 = call ptr @strerror(i32 noundef %12379) #11
  %12381 = call ptr @__errno_location() #12
  %12382 = load i32, ptr %12381, align 4, !tbaa !5
  %12383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12370, ptr noundef @.str.2, i32 noundef %12371, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 488, ptr noundef %12374, ptr noundef %12377, ptr noundef %12380, i32 noundef %12382) #11
  br label %12401

12384:                                            ; preds = %12362, %12355
  %12385 = load i32, ptr %249, align 4, !tbaa !5
  %12386 = call ptr @__errno_location() #12
  store i32 %12385, ptr %12386, align 4, !tbaa !5
  %12387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12388 = load i32, ptr @test_count, align 4, !tbaa !5
  %12389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12390 = load i32, ptr %12389, align 4, !tbaa !5
  %12391 = call ptr @s2n_strerror(i32 noundef %12390, ptr noundef @.str.4)
  %12392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12393 = load i32, ptr %12392, align 4, !tbaa !5
  %12394 = call ptr @s2n_strerror_debug(i32 noundef %12393, ptr noundef @.str.4)
  %12395 = call ptr @__errno_location() #12
  %12396 = load i32, ptr %12395, align 4, !tbaa !5
  %12397 = call ptr @strerror(i32 noundef %12396) #11
  %12398 = call ptr @__errno_location() #12
  %12399 = load i32, ptr %12398, align 4, !tbaa !5
  %12400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12387, ptr noundef @.str.5, i32 noundef %12388, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 488, ptr noundef %12391, ptr noundef %12394, ptr noundef %12397, i32 noundef %12399) #11
  br label %12401

12401:                                            ; preds = %12384, %12367
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #11
  br label %12402

12402:                                            ; preds = %12401
  br label %12403

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

12404:                                            ; No predecessors!
  br label %12405

12405:                                            ; preds = %12404
  br label %12406

12406:                                            ; preds = %12405, %12346
  br label %12407

12407:                                            ; preds = %12406
  br label %12408

12408:                                            ; preds = %12407
  %12409 = call i32 @s2n_config_ptr_free(ptr noundef %240)
  %12410 = getelementptr inbounds %struct.s2n_result, ptr %250, i32 0, i32 0
  store i32 %12409, ptr %12410, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %240) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %251) #11
  %12411 = call ptr @s2n_config_new()
  store ptr %12411, ptr %251, align 8, !tbaa !9
  br label %12412

12412:                                            ; preds = %12408
  %12413 = load i32, ptr @test_count, align 4, !tbaa !5
  %12414 = add nsw i32 %12413, 1
  store i32 %12414, ptr @test_count, align 4, !tbaa !5
  %12415 = load ptr, ptr %251, align 8, !tbaa !9
  %12416 = icmp eq ptr %12415, null
  br i1 %12416, label %12417, label %12470

12417:                                            ; preds = %12412
  br label %12418

12418:                                            ; preds = %12417
  br label %12419

12419:                                            ; preds = %12418
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %12420 = call ptr @__errno_location() #12
  %12421 = load i32, ptr %12420, align 4, !tbaa !5
  store i32 %12421, ptr %252, align 4, !tbaa !5
  %12422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12423 = call i32 @s2n_print_stacktrace(ptr noundef %12422)
  %12424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12425 = trunc i8 %12424 to i1
  br i1 %12425, label %12426, label %12448

12426:                                            ; preds = %12419
  %12427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12428 = call i32 @fileno(ptr noundef %12427) #11
  %12429 = call i32 @isatty(i32 noundef %12428) #11
  %12430 = icmp ne i32 %12429, 0
  br i1 %12430, label %12431, label %12448

12431:                                            ; preds = %12426
  %12432 = load i32, ptr %252, align 4, !tbaa !5
  %12433 = call ptr @__errno_location() #12
  store i32 %12432, ptr %12433, align 4, !tbaa !5
  %12434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12435 = load i32, ptr @test_count, align 4, !tbaa !5
  %12436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12437 = load i32, ptr %12436, align 4, !tbaa !5
  %12438 = call ptr @s2n_strerror(i32 noundef %12437, ptr noundef @.str.4)
  %12439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12440 = load i32, ptr %12439, align 4, !tbaa !5
  %12441 = call ptr @s2n_strerror_debug(i32 noundef %12440, ptr noundef @.str.4)
  %12442 = call ptr @__errno_location() #12
  %12443 = load i32, ptr %12442, align 4, !tbaa !5
  %12444 = call ptr @strerror(i32 noundef %12443) #11
  %12445 = call ptr @__errno_location() #12
  %12446 = load i32, ptr %12445, align 4, !tbaa !5
  %12447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12434, ptr noundef @.str.2, i32 noundef %12435, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 494, ptr noundef %12438, ptr noundef %12441, ptr noundef %12444, i32 noundef %12446) #11
  br label %12465

12448:                                            ; preds = %12426, %12419
  %12449 = load i32, ptr %252, align 4, !tbaa !5
  %12450 = call ptr @__errno_location() #12
  store i32 %12449, ptr %12450, align 4, !tbaa !5
  %12451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12452 = load i32, ptr @test_count, align 4, !tbaa !5
  %12453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12454 = load i32, ptr %12453, align 4, !tbaa !5
  %12455 = call ptr @s2n_strerror(i32 noundef %12454, ptr noundef @.str.4)
  %12456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12457 = load i32, ptr %12456, align 4, !tbaa !5
  %12458 = call ptr @s2n_strerror_debug(i32 noundef %12457, ptr noundef @.str.4)
  %12459 = call ptr @__errno_location() #12
  %12460 = load i32, ptr %12459, align 4, !tbaa !5
  %12461 = call ptr @strerror(i32 noundef %12460) #11
  %12462 = call ptr @__errno_location() #12
  %12463 = load i32, ptr %12462, align 4, !tbaa !5
  %12464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12451, ptr noundef @.str.5, i32 noundef %12452, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 494, ptr noundef %12455, ptr noundef %12458, ptr noundef %12461, i32 noundef %12463) #11
  br label %12465

12465:                                            ; preds = %12448, %12431
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %12466

12466:                                            ; preds = %12465
  br label %12467

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

12468:                                            ; No predecessors!
  br label %12469

12469:                                            ; preds = %12468
  br label %12470

12470:                                            ; preds = %12469, %12412
  br label %12471

12471:                                            ; preds = %12470
  br label %12472

12472:                                            ; preds = %12471
  call void @llvm.lifetime.start.p0(i64 8, ptr %253) #11
  %12473 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12473, ptr %253, align 8, !tbaa !9
  br label %12474

12474:                                            ; preds = %12472
  %12475 = load i32, ptr @test_count, align 4, !tbaa !5
  %12476 = add nsw i32 %12475, 1
  store i32 %12476, ptr @test_count, align 4, !tbaa !5
  %12477 = load ptr, ptr %253, align 8, !tbaa !9
  %12478 = icmp eq ptr %12477, null
  br i1 %12478, label %12479, label %12532

12479:                                            ; preds = %12474
  br label %12480

12480:                                            ; preds = %12479
  br label %12481

12481:                                            ; preds = %12480
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %12482 = call ptr @__errno_location() #12
  %12483 = load i32, ptr %12482, align 4, !tbaa !5
  store i32 %12483, ptr %254, align 4, !tbaa !5
  %12484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12485 = call i32 @s2n_print_stacktrace(ptr noundef %12484)
  %12486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12487 = trunc i8 %12486 to i1
  br i1 %12487, label %12488, label %12510

12488:                                            ; preds = %12481
  %12489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12490 = call i32 @fileno(ptr noundef %12489) #11
  %12491 = call i32 @isatty(i32 noundef %12490) #11
  %12492 = icmp ne i32 %12491, 0
  br i1 %12492, label %12493, label %12510

12493:                                            ; preds = %12488
  %12494 = load i32, ptr %254, align 4, !tbaa !5
  %12495 = call ptr @__errno_location() #12
  store i32 %12494, ptr %12495, align 4, !tbaa !5
  %12496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12497 = load i32, ptr @test_count, align 4, !tbaa !5
  %12498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12499 = load i32, ptr %12498, align 4, !tbaa !5
  %12500 = call ptr @s2n_strerror(i32 noundef %12499, ptr noundef @.str.4)
  %12501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12502 = load i32, ptr %12501, align 4, !tbaa !5
  %12503 = call ptr @s2n_strerror_debug(i32 noundef %12502, ptr noundef @.str.4)
  %12504 = call ptr @__errno_location() #12
  %12505 = load i32, ptr %12504, align 4, !tbaa !5
  %12506 = call ptr @strerror(i32 noundef %12505) #11
  %12507 = call ptr @__errno_location() #12
  %12508 = load i32, ptr %12507, align 4, !tbaa !5
  %12509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12496, ptr noundef @.str.2, i32 noundef %12497, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 497, ptr noundef %12500, ptr noundef %12503, ptr noundef %12506, i32 noundef %12508) #11
  br label %12527

12510:                                            ; preds = %12488, %12481
  %12511 = load i32, ptr %254, align 4, !tbaa !5
  %12512 = call ptr @__errno_location() #12
  store i32 %12511, ptr %12512, align 4, !tbaa !5
  %12513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12514 = load i32, ptr @test_count, align 4, !tbaa !5
  %12515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12516 = load i32, ptr %12515, align 4, !tbaa !5
  %12517 = call ptr @s2n_strerror(i32 noundef %12516, ptr noundef @.str.4)
  %12518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12519 = load i32, ptr %12518, align 4, !tbaa !5
  %12520 = call ptr @s2n_strerror_debug(i32 noundef %12519, ptr noundef @.str.4)
  %12521 = call ptr @__errno_location() #12
  %12522 = load i32, ptr %12521, align 4, !tbaa !5
  %12523 = call ptr @strerror(i32 noundef %12522) #11
  %12524 = call ptr @__errno_location() #12
  %12525 = load i32, ptr %12524, align 4, !tbaa !5
  %12526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12513, ptr noundef @.str.5, i32 noundef %12514, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 497, ptr noundef %12517, ptr noundef %12520, ptr noundef %12523, i32 noundef %12525) #11
  br label %12527

12527:                                            ; preds = %12510, %12493
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %12528

12528:                                            ; preds = %12527
  br label %12529

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

12530:                                            ; No predecessors!
  br label %12531

12531:                                            ; preds = %12530
  br label %12532

12532:                                            ; preds = %12531, %12474
  br label %12533

12533:                                            ; preds = %12532
  br label %12534

12534:                                            ; preds = %12533
  br label %12535

12535:                                            ; preds = %12534
  %12536 = load i32, ptr @test_count, align 4, !tbaa !5
  %12537 = add nsw i32 %12536, 1
  store i32 %12537, ptr @test_count, align 4, !tbaa !5
  %12538 = load ptr, ptr %253, align 8, !tbaa !9
  %12539 = load ptr, ptr %251, align 8, !tbaa !9
  %12540 = call i32 @s2n_connection_set_config(ptr noundef %12538, ptr noundef %12539)
  %12541 = icmp eq i32 %12540, -1
  br i1 %12541, label %12542, label %12595

12542:                                            ; preds = %12535
  br label %12543

12543:                                            ; preds = %12542
  br label %12544

12544:                                            ; preds = %12543
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %12545 = call ptr @__errno_location() #12
  %12546 = load i32, ptr %12545, align 4, !tbaa !5
  store i32 %12546, ptr %255, align 4, !tbaa !5
  %12547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12548 = call i32 @s2n_print_stacktrace(ptr noundef %12547)
  %12549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12550 = trunc i8 %12549 to i1
  br i1 %12550, label %12551, label %12573

12551:                                            ; preds = %12544
  %12552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12553 = call i32 @fileno(ptr noundef %12552) #11
  %12554 = call i32 @isatty(i32 noundef %12553) #11
  %12555 = icmp ne i32 %12554, 0
  br i1 %12555, label %12556, label %12573

12556:                                            ; preds = %12551
  %12557 = load i32, ptr %255, align 4, !tbaa !5
  %12558 = call ptr @__errno_location() #12
  store i32 %12557, ptr %12558, align 4, !tbaa !5
  %12559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12560 = load i32, ptr @test_count, align 4, !tbaa !5
  %12561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12562 = load i32, ptr %12561, align 4, !tbaa !5
  %12563 = call ptr @s2n_strerror(i32 noundef %12562, ptr noundef @.str.4)
  %12564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12565 = load i32, ptr %12564, align 4, !tbaa !5
  %12566 = call ptr @s2n_strerror_debug(i32 noundef %12565, ptr noundef @.str.4)
  %12567 = call ptr @__errno_location() #12
  %12568 = load i32, ptr %12567, align 4, !tbaa !5
  %12569 = call ptr @strerror(i32 noundef %12568) #11
  %12570 = call ptr @__errno_location() #12
  %12571 = load i32, ptr %12570, align 4, !tbaa !5
  %12572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12559, ptr noundef @.str.2, i32 noundef %12560, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 498, ptr noundef %12563, ptr noundef %12566, ptr noundef %12569, i32 noundef %12571) #11
  br label %12590

12573:                                            ; preds = %12551, %12544
  %12574 = load i32, ptr %255, align 4, !tbaa !5
  %12575 = call ptr @__errno_location() #12
  store i32 %12574, ptr %12575, align 4, !tbaa !5
  %12576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12577 = load i32, ptr @test_count, align 4, !tbaa !5
  %12578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12579 = load i32, ptr %12578, align 4, !tbaa !5
  %12580 = call ptr @s2n_strerror(i32 noundef %12579, ptr noundef @.str.4)
  %12581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12582 = load i32, ptr %12581, align 4, !tbaa !5
  %12583 = call ptr @s2n_strerror_debug(i32 noundef %12582, ptr noundef @.str.4)
  %12584 = call ptr @__errno_location() #12
  %12585 = load i32, ptr %12584, align 4, !tbaa !5
  %12586 = call ptr @strerror(i32 noundef %12585) #11
  %12587 = call ptr @__errno_location() #12
  %12588 = load i32, ptr %12587, align 4, !tbaa !5
  %12589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12576, ptr noundef @.str.5, i32 noundef %12577, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 498, ptr noundef %12580, ptr noundef %12583, ptr noundef %12586, i32 noundef %12588) #11
  br label %12590

12590:                                            ; preds = %12573, %12556
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %12591

12591:                                            ; preds = %12590
  br label %12592

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

12593:                                            ; No predecessors!
  br label %12594

12594:                                            ; preds = %12593
  br label %12595

12595:                                            ; preds = %12594, %12535
  br label %12596

12596:                                            ; preds = %12595
  br label %12597

12597:                                            ; preds = %12596
  br label %12598

12598:                                            ; preds = %12597
  %12599 = load i32, ptr @test_count, align 4, !tbaa !5
  %12600 = add nsw i32 %12599, 1
  store i32 %12600, ptr @test_count, align 4, !tbaa !5
  %12601 = load ptr, ptr %251, align 8, !tbaa !9
  %12602 = getelementptr inbounds %struct.s2n_config, ptr %12601, i32 0, i32 52
  %12603 = load i32, ptr %12602, align 4, !tbaa !59
  %12604 = icmp eq i32 %12603, 0
  br i1 %12604, label %12658, label %12605

12605:                                            ; preds = %12598
  br label %12606

12606:                                            ; preds = %12605
  br label %12607

12607:                                            ; preds = %12606
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %12608 = call ptr @__errno_location() #12
  %12609 = load i32, ptr %12608, align 4, !tbaa !5
  store i32 %12609, ptr %256, align 4, !tbaa !5
  %12610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12611 = call i32 @s2n_print_stacktrace(ptr noundef %12610)
  %12612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12613 = trunc i8 %12612 to i1
  br i1 %12613, label %12614, label %12636

12614:                                            ; preds = %12607
  %12615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12616 = call i32 @fileno(ptr noundef %12615) #11
  %12617 = call i32 @isatty(i32 noundef %12616) #11
  %12618 = icmp ne i32 %12617, 0
  br i1 %12618, label %12619, label %12636

12619:                                            ; preds = %12614
  %12620 = load i32, ptr %256, align 4, !tbaa !5
  %12621 = call ptr @__errno_location() #12
  store i32 %12620, ptr %12621, align 4, !tbaa !5
  %12622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12623 = load i32, ptr @test_count, align 4, !tbaa !5
  %12624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12625 = load i32, ptr %12624, align 4, !tbaa !5
  %12626 = call ptr @s2n_strerror(i32 noundef %12625, ptr noundef @.str.4)
  %12627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12628 = load i32, ptr %12627, align 4, !tbaa !5
  %12629 = call ptr @s2n_strerror_debug(i32 noundef %12628, ptr noundef @.str.4)
  %12630 = call ptr @__errno_location() #12
  %12631 = load i32, ptr %12630, align 4, !tbaa !5
  %12632 = call ptr @strerror(i32 noundef %12631) #11
  %12633 = call ptr @__errno_location() #12
  %12634 = load i32, ptr %12633, align 4, !tbaa !5
  %12635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12622, ptr noundef @.str.2, i32 noundef %12623, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 500, ptr noundef %12626, ptr noundef %12629, ptr noundef %12632, i32 noundef %12634) #11
  br label %12653

12636:                                            ; preds = %12614, %12607
  %12637 = load i32, ptr %256, align 4, !tbaa !5
  %12638 = call ptr @__errno_location() #12
  store i32 %12637, ptr %12638, align 4, !tbaa !5
  %12639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12640 = load i32, ptr @test_count, align 4, !tbaa !5
  %12641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12642 = load i32, ptr %12641, align 4, !tbaa !5
  %12643 = call ptr @s2n_strerror(i32 noundef %12642, ptr noundef @.str.4)
  %12644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12645 = load i32, ptr %12644, align 4, !tbaa !5
  %12646 = call ptr @s2n_strerror_debug(i32 noundef %12645, ptr noundef @.str.4)
  %12647 = call ptr @__errno_location() #12
  %12648 = load i32, ptr %12647, align 4, !tbaa !5
  %12649 = call ptr @strerror(i32 noundef %12648) #11
  %12650 = call ptr @__errno_location() #12
  %12651 = load i32, ptr %12650, align 4, !tbaa !5
  %12652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12639, ptr noundef @.str.5, i32 noundef %12640, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 500, ptr noundef %12643, ptr noundef %12646, ptr noundef %12649, i32 noundef %12651) #11
  br label %12653

12653:                                            ; preds = %12636, %12619
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %12654

12654:                                            ; preds = %12653
  br label %12655

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

12656:                                            ; No predecessors!
  br label %12657

12657:                                            ; preds = %12656
  br label %12658

12658:                                            ; preds = %12657, %12598
  br label %12659

12659:                                            ; preds = %12658
  br label %12660

12660:                                            ; preds = %12659
  br label %12661

12661:                                            ; preds = %12660
  %12662 = load i32, ptr @test_count, align 4, !tbaa !5
  %12663 = add nsw i32 %12662, 1
  store i32 %12663, ptr @test_count, align 4, !tbaa !5
  %12664 = load ptr, ptr %253, align 8, !tbaa !9
  %12665 = load i32, ptr %12664, align 8
  %12666 = lshr i32 %12665, 15
  %12667 = and i32 %12666, 1
  %12668 = icmp ne i32 %12667, 0
  br i1 %12668, label %12669, label %12722

12669:                                            ; preds = %12661
  br label %12670

12670:                                            ; preds = %12669
  br label %12671

12671:                                            ; preds = %12670
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %12672 = call ptr @__errno_location() #12
  %12673 = load i32, ptr %12672, align 4, !tbaa !5
  store i32 %12673, ptr %257, align 4, !tbaa !5
  %12674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12675 = call i32 @s2n_print_stacktrace(ptr noundef %12674)
  %12676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12677 = trunc i8 %12676 to i1
  br i1 %12677, label %12678, label %12700

12678:                                            ; preds = %12671
  %12679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12680 = call i32 @fileno(ptr noundef %12679) #11
  %12681 = call i32 @isatty(i32 noundef %12680) #11
  %12682 = icmp ne i32 %12681, 0
  br i1 %12682, label %12683, label %12700

12683:                                            ; preds = %12678
  %12684 = load i32, ptr %257, align 4, !tbaa !5
  %12685 = call ptr @__errno_location() #12
  store i32 %12684, ptr %12685, align 4, !tbaa !5
  %12686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12687 = load i32, ptr @test_count, align 4, !tbaa !5
  %12688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12689 = load i32, ptr %12688, align 4, !tbaa !5
  %12690 = call ptr @s2n_strerror(i32 noundef %12689, ptr noundef @.str.4)
  %12691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12692 = load i32, ptr %12691, align 4, !tbaa !5
  %12693 = call ptr @s2n_strerror_debug(i32 noundef %12692, ptr noundef @.str.4)
  %12694 = call ptr @__errno_location() #12
  %12695 = load i32, ptr %12694, align 4, !tbaa !5
  %12696 = call ptr @strerror(i32 noundef %12695) #11
  %12697 = call ptr @__errno_location() #12
  %12698 = load i32, ptr %12697, align 4, !tbaa !5
  %12699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12686, ptr noundef @.str.2, i32 noundef %12687, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 501, ptr noundef %12690, ptr noundef %12693, ptr noundef %12696, i32 noundef %12698) #11
  br label %12717

12700:                                            ; preds = %12678, %12671
  %12701 = load i32, ptr %257, align 4, !tbaa !5
  %12702 = call ptr @__errno_location() #12
  store i32 %12701, ptr %12702, align 4, !tbaa !5
  %12703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12704 = load i32, ptr @test_count, align 4, !tbaa !5
  %12705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12706 = load i32, ptr %12705, align 4, !tbaa !5
  %12707 = call ptr @s2n_strerror(i32 noundef %12706, ptr noundef @.str.4)
  %12708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12709 = load i32, ptr %12708, align 4, !tbaa !5
  %12710 = call ptr @s2n_strerror_debug(i32 noundef %12709, ptr noundef @.str.4)
  %12711 = call ptr @__errno_location() #12
  %12712 = load i32, ptr %12711, align 4, !tbaa !5
  %12713 = call ptr @strerror(i32 noundef %12712) #11
  %12714 = call ptr @__errno_location() #12
  %12715 = load i32, ptr %12714, align 4, !tbaa !5
  %12716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12703, ptr noundef @.str.5, i32 noundef %12704, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 501, ptr noundef %12707, ptr noundef %12710, ptr noundef %12713, i32 noundef %12715) #11
  br label %12717

12717:                                            ; preds = %12700, %12683
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %12718

12718:                                            ; preds = %12717
  br label %12719

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

12720:                                            ; No predecessors!
  br label %12721

12721:                                            ; preds = %12720
  br label %12722

12722:                                            ; preds = %12721, %12661
  br label %12723

12723:                                            ; preds = %12722
  br label %12724

12724:                                            ; preds = %12723
  %12725 = call i32 @s2n_connection_ptr_free(ptr noundef %253)
  %12726 = getelementptr inbounds %struct.s2n_result, ptr %258, i32 0, i32 0
  store i32 %12725, ptr %12726, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %253) #11
  %12727 = call i32 @s2n_config_ptr_free(ptr noundef %251)
  %12728 = getelementptr inbounds %struct.s2n_result, ptr %259, i32 0, i32 0
  store i32 %12727, ptr %12728, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %251) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %260) #11
  %12729 = call ptr @s2n_config_new()
  store ptr %12729, ptr %260, align 8, !tbaa !9
  br label %12730

12730:                                            ; preds = %12724
  %12731 = load i32, ptr @test_count, align 4, !tbaa !5
  %12732 = add nsw i32 %12731, 1
  store i32 %12732, ptr @test_count, align 4, !tbaa !5
  %12733 = load ptr, ptr %260, align 8, !tbaa !9
  %12734 = icmp eq ptr %12733, null
  br i1 %12734, label %12735, label %12788

12735:                                            ; preds = %12730
  br label %12736

12736:                                            ; preds = %12735
  br label %12737

12737:                                            ; preds = %12736
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  %12738 = call ptr @__errno_location() #12
  %12739 = load i32, ptr %12738, align 4, !tbaa !5
  store i32 %12739, ptr %261, align 4, !tbaa !5
  %12740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12741 = call i32 @s2n_print_stacktrace(ptr noundef %12740)
  %12742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12743 = trunc i8 %12742 to i1
  br i1 %12743, label %12744, label %12766

12744:                                            ; preds = %12737
  %12745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12746 = call i32 @fileno(ptr noundef %12745) #11
  %12747 = call i32 @isatty(i32 noundef %12746) #11
  %12748 = icmp ne i32 %12747, 0
  br i1 %12748, label %12749, label %12766

12749:                                            ; preds = %12744
  %12750 = load i32, ptr %261, align 4, !tbaa !5
  %12751 = call ptr @__errno_location() #12
  store i32 %12750, ptr %12751, align 4, !tbaa !5
  %12752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12753 = load i32, ptr @test_count, align 4, !tbaa !5
  %12754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12755 = load i32, ptr %12754, align 4, !tbaa !5
  %12756 = call ptr @s2n_strerror(i32 noundef %12755, ptr noundef @.str.4)
  %12757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12758 = load i32, ptr %12757, align 4, !tbaa !5
  %12759 = call ptr @s2n_strerror_debug(i32 noundef %12758, ptr noundef @.str.4)
  %12760 = call ptr @__errno_location() #12
  %12761 = load i32, ptr %12760, align 4, !tbaa !5
  %12762 = call ptr @strerror(i32 noundef %12761) #11
  %12763 = call ptr @__errno_location() #12
  %12764 = load i32, ptr %12763, align 4, !tbaa !5
  %12765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12752, ptr noundef @.str.2, i32 noundef %12753, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 507, ptr noundef %12756, ptr noundef %12759, ptr noundef %12762, i32 noundef %12764) #11
  br label %12783

12766:                                            ; preds = %12744, %12737
  %12767 = load i32, ptr %261, align 4, !tbaa !5
  %12768 = call ptr @__errno_location() #12
  store i32 %12767, ptr %12768, align 4, !tbaa !5
  %12769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12770 = load i32, ptr @test_count, align 4, !tbaa !5
  %12771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12772 = load i32, ptr %12771, align 4, !tbaa !5
  %12773 = call ptr @s2n_strerror(i32 noundef %12772, ptr noundef @.str.4)
  %12774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12775 = load i32, ptr %12774, align 4, !tbaa !5
  %12776 = call ptr @s2n_strerror_debug(i32 noundef %12775, ptr noundef @.str.4)
  %12777 = call ptr @__errno_location() #12
  %12778 = load i32, ptr %12777, align 4, !tbaa !5
  %12779 = call ptr @strerror(i32 noundef %12778) #11
  %12780 = call ptr @__errno_location() #12
  %12781 = load i32, ptr %12780, align 4, !tbaa !5
  %12782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12769, ptr noundef @.str.5, i32 noundef %12770, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 507, ptr noundef %12773, ptr noundef %12776, ptr noundef %12779, i32 noundef %12781) #11
  br label %12783

12783:                                            ; preds = %12766, %12749
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %12784

12784:                                            ; preds = %12783
  br label %12785

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

12786:                                            ; No predecessors!
  br label %12787

12787:                                            ; preds = %12786
  br label %12788

12788:                                            ; preds = %12787, %12730
  br label %12789

12789:                                            ; preds = %12788
  br label %12790

12790:                                            ; preds = %12789
  br label %12791

12791:                                            ; preds = %12790
  %12792 = load i32, ptr @test_count, align 4, !tbaa !5
  %12793 = add nsw i32 %12792, 1
  store i32 %12793, ptr @test_count, align 4, !tbaa !5
  %12794 = load ptr, ptr %260, align 8, !tbaa !9
  %12795 = call i32 @s2n_config_set_send_buffer_size(ptr noundef %12794, i32 noundef 1034)
  %12796 = icmp eq i32 %12795, -1
  br i1 %12796, label %12797, label %12850

12797:                                            ; preds = %12791
  br label %12798

12798:                                            ; preds = %12797
  br label %12799

12799:                                            ; preds = %12798
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %12800 = call ptr @__errno_location() #12
  %12801 = load i32, ptr %12800, align 4, !tbaa !5
  store i32 %12801, ptr %262, align 4, !tbaa !5
  %12802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12803 = call i32 @s2n_print_stacktrace(ptr noundef %12802)
  %12804 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12805 = trunc i8 %12804 to i1
  br i1 %12805, label %12806, label %12828

12806:                                            ; preds = %12799
  %12807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12808 = call i32 @fileno(ptr noundef %12807) #11
  %12809 = call i32 @isatty(i32 noundef %12808) #11
  %12810 = icmp ne i32 %12809, 0
  br i1 %12810, label %12811, label %12828

12811:                                            ; preds = %12806
  %12812 = load i32, ptr %262, align 4, !tbaa !5
  %12813 = call ptr @__errno_location() #12
  store i32 %12812, ptr %12813, align 4, !tbaa !5
  %12814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12815 = load i32, ptr @test_count, align 4, !tbaa !5
  %12816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12817 = load i32, ptr %12816, align 4, !tbaa !5
  %12818 = call ptr @s2n_strerror(i32 noundef %12817, ptr noundef @.str.4)
  %12819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12820 = load i32, ptr %12819, align 4, !tbaa !5
  %12821 = call ptr @s2n_strerror_debug(i32 noundef %12820, ptr noundef @.str.4)
  %12822 = call ptr @__errno_location() #12
  %12823 = load i32, ptr %12822, align 4, !tbaa !5
  %12824 = call ptr @strerror(i32 noundef %12823) #11
  %12825 = call ptr @__errno_location() #12
  %12826 = load i32, ptr %12825, align 4, !tbaa !5
  %12827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12814, ptr noundef @.str.2, i32 noundef %12815, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 508, ptr noundef %12818, ptr noundef %12821, ptr noundef %12824, i32 noundef %12826) #11
  br label %12845

12828:                                            ; preds = %12806, %12799
  %12829 = load i32, ptr %262, align 4, !tbaa !5
  %12830 = call ptr @__errno_location() #12
  store i32 %12829, ptr %12830, align 4, !tbaa !5
  %12831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12832 = load i32, ptr @test_count, align 4, !tbaa !5
  %12833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12834 = load i32, ptr %12833, align 4, !tbaa !5
  %12835 = call ptr @s2n_strerror(i32 noundef %12834, ptr noundef @.str.4)
  %12836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12837 = load i32, ptr %12836, align 4, !tbaa !5
  %12838 = call ptr @s2n_strerror_debug(i32 noundef %12837, ptr noundef @.str.4)
  %12839 = call ptr @__errno_location() #12
  %12840 = load i32, ptr %12839, align 4, !tbaa !5
  %12841 = call ptr @strerror(i32 noundef %12840) #11
  %12842 = call ptr @__errno_location() #12
  %12843 = load i32, ptr %12842, align 4, !tbaa !5
  %12844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12831, ptr noundef @.str.5, i32 noundef %12832, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 508, ptr noundef %12835, ptr noundef %12838, ptr noundef %12841, i32 noundef %12843) #11
  br label %12845

12845:                                            ; preds = %12828, %12811
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %12846

12846:                                            ; preds = %12845
  br label %12847

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

12848:                                            ; No predecessors!
  br label %12849

12849:                                            ; preds = %12848
  br label %12850

12850:                                            ; preds = %12849, %12791
  br label %12851

12851:                                            ; preds = %12850
  br label %12852

12852:                                            ; preds = %12851
  call void @llvm.lifetime.start.p0(i64 8, ptr %263) #11
  %12853 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %12853, ptr %263, align 8, !tbaa !9
  br label %12854

12854:                                            ; preds = %12852
  %12855 = load i32, ptr @test_count, align 4, !tbaa !5
  %12856 = add nsw i32 %12855, 1
  store i32 %12856, ptr @test_count, align 4, !tbaa !5
  %12857 = load ptr, ptr %263, align 8, !tbaa !9
  %12858 = icmp eq ptr %12857, null
  br i1 %12858, label %12859, label %12912

12859:                                            ; preds = %12854
  br label %12860

12860:                                            ; preds = %12859
  br label %12861

12861:                                            ; preds = %12860
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #11
  %12862 = call ptr @__errno_location() #12
  %12863 = load i32, ptr %12862, align 4, !tbaa !5
  store i32 %12863, ptr %264, align 4, !tbaa !5
  %12864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12865 = call i32 @s2n_print_stacktrace(ptr noundef %12864)
  %12866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12867 = trunc i8 %12866 to i1
  br i1 %12867, label %12868, label %12890

12868:                                            ; preds = %12861
  %12869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12870 = call i32 @fileno(ptr noundef %12869) #11
  %12871 = call i32 @isatty(i32 noundef %12870) #11
  %12872 = icmp ne i32 %12871, 0
  br i1 %12872, label %12873, label %12890

12873:                                            ; preds = %12868
  %12874 = load i32, ptr %264, align 4, !tbaa !5
  %12875 = call ptr @__errno_location() #12
  store i32 %12874, ptr %12875, align 4, !tbaa !5
  %12876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12877 = load i32, ptr @test_count, align 4, !tbaa !5
  %12878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12879 = load i32, ptr %12878, align 4, !tbaa !5
  %12880 = call ptr @s2n_strerror(i32 noundef %12879, ptr noundef @.str.4)
  %12881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12882 = load i32, ptr %12881, align 4, !tbaa !5
  %12883 = call ptr @s2n_strerror_debug(i32 noundef %12882, ptr noundef @.str.4)
  %12884 = call ptr @__errno_location() #12
  %12885 = load i32, ptr %12884, align 4, !tbaa !5
  %12886 = call ptr @strerror(i32 noundef %12885) #11
  %12887 = call ptr @__errno_location() #12
  %12888 = load i32, ptr %12887, align 4, !tbaa !5
  %12889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12876, ptr noundef @.str.2, i32 noundef %12877, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 511, ptr noundef %12880, ptr noundef %12883, ptr noundef %12886, i32 noundef %12888) #11
  br label %12907

12890:                                            ; preds = %12868, %12861
  %12891 = load i32, ptr %264, align 4, !tbaa !5
  %12892 = call ptr @__errno_location() #12
  store i32 %12891, ptr %12892, align 4, !tbaa !5
  %12893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12894 = load i32, ptr @test_count, align 4, !tbaa !5
  %12895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12896 = load i32, ptr %12895, align 4, !tbaa !5
  %12897 = call ptr @s2n_strerror(i32 noundef %12896, ptr noundef @.str.4)
  %12898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12899 = load i32, ptr %12898, align 4, !tbaa !5
  %12900 = call ptr @s2n_strerror_debug(i32 noundef %12899, ptr noundef @.str.4)
  %12901 = call ptr @__errno_location() #12
  %12902 = load i32, ptr %12901, align 4, !tbaa !5
  %12903 = call ptr @strerror(i32 noundef %12902) #11
  %12904 = call ptr @__errno_location() #12
  %12905 = load i32, ptr %12904, align 4, !tbaa !5
  %12906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12893, ptr noundef @.str.5, i32 noundef %12894, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 511, ptr noundef %12897, ptr noundef %12900, ptr noundef %12903, i32 noundef %12905) #11
  br label %12907

12907:                                            ; preds = %12890, %12873
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #11
  br label %12908

12908:                                            ; preds = %12907
  br label %12909

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

12910:                                            ; No predecessors!
  br label %12911

12911:                                            ; preds = %12910
  br label %12912

12912:                                            ; preds = %12911, %12854
  br label %12913

12913:                                            ; preds = %12912
  br label %12914

12914:                                            ; preds = %12913
  br label %12915

12915:                                            ; preds = %12914
  %12916 = load i32, ptr @test_count, align 4, !tbaa !5
  %12917 = add nsw i32 %12916, 1
  store i32 %12917, ptr @test_count, align 4, !tbaa !5
  %12918 = load ptr, ptr %263, align 8, !tbaa !9
  %12919 = load ptr, ptr %260, align 8, !tbaa !9
  %12920 = call i32 @s2n_connection_set_config(ptr noundef %12918, ptr noundef %12919)
  %12921 = icmp eq i32 %12920, -1
  br i1 %12921, label %12922, label %12975

12922:                                            ; preds = %12915
  br label %12923

12923:                                            ; preds = %12922
  br label %12924

12924:                                            ; preds = %12923
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %12925 = call ptr @__errno_location() #12
  %12926 = load i32, ptr %12925, align 4, !tbaa !5
  store i32 %12926, ptr %265, 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 %265, 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.4)
  %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.4)
  %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.2, i32 noundef %12940, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 512, ptr noundef %12943, ptr noundef %12946, ptr noundef %12949, i32 noundef %12951) #11
  br label %12970

12953:                                            ; preds = %12931, %12924
  %12954 = load i32, ptr %265, 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.4)
  %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.4)
  %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.5, i32 noundef %12957, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 512, 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 %265) #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, %12915
  br label %12976

12976:                                            ; preds = %12975
  br label %12977

12977:                                            ; preds = %12976
  br label %12978

12978:                                            ; preds = %12977
  %12979 = load i32, ptr @test_count, align 4, !tbaa !5
  %12980 = add nsw i32 %12979, 1
  store i32 %12980, ptr @test_count, align 4, !tbaa !5
  %12981 = load ptr, ptr %260, align 8, !tbaa !9
  %12982 = getelementptr inbounds %struct.s2n_config, ptr %12981, i32 0, i32 52
  %12983 = load i32, ptr %12982, align 4, !tbaa !59
  %12984 = icmp eq i32 %12983, 1034
  br i1 %12984, label %13038, label %12985

12985:                                            ; preds = %12978
  br label %12986

12986:                                            ; preds = %12985
  br label %12987

12987:                                            ; preds = %12986
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %12988 = call ptr @__errno_location() #12
  %12989 = load i32, ptr %12988, align 4, !tbaa !5
  store i32 %12989, ptr %266, align 4, !tbaa !5
  %12990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12991 = call i32 @s2n_print_stacktrace(ptr noundef %12990)
  %12992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12993 = trunc i8 %12992 to i1
  br i1 %12993, label %12994, label %13016

12994:                                            ; preds = %12987
  %12995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12996 = call i32 @fileno(ptr noundef %12995) #11
  %12997 = call i32 @isatty(i32 noundef %12996) #11
  %12998 = icmp ne i32 %12997, 0
  br i1 %12998, label %12999, label %13016

12999:                                            ; preds = %12994
  %13000 = load i32, ptr %266, align 4, !tbaa !5
  %13001 = call ptr @__errno_location() #12
  store i32 %13000, ptr %13001, align 4, !tbaa !5
  %13002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13003 = load i32, ptr @test_count, align 4, !tbaa !5
  %13004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13005 = load i32, ptr %13004, align 4, !tbaa !5
  %13006 = call ptr @s2n_strerror(i32 noundef %13005, ptr noundef @.str.4)
  %13007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13008 = load i32, ptr %13007, align 4, !tbaa !5
  %13009 = call ptr @s2n_strerror_debug(i32 noundef %13008, ptr noundef @.str.4)
  %13010 = call ptr @__errno_location() #12
  %13011 = load i32, ptr %13010, align 4, !tbaa !5
  %13012 = call ptr @strerror(i32 noundef %13011) #11
  %13013 = call ptr @__errno_location() #12
  %13014 = load i32, ptr %13013, align 4, !tbaa !5
  %13015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13002, ptr noundef @.str.2, i32 noundef %13003, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 514, ptr noundef %13006, ptr noundef %13009, ptr noundef %13012, i32 noundef %13014) #11
  br label %13033

13016:                                            ; preds = %12994, %12987
  %13017 = load i32, ptr %266, align 4, !tbaa !5
  %13018 = call ptr @__errno_location() #12
  store i32 %13017, ptr %13018, align 4, !tbaa !5
  %13019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13020 = load i32, ptr @test_count, align 4, !tbaa !5
  %13021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13022 = load i32, ptr %13021, align 4, !tbaa !5
  %13023 = call ptr @s2n_strerror(i32 noundef %13022, ptr noundef @.str.4)
  %13024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13025 = load i32, ptr %13024, align 4, !tbaa !5
  %13026 = call ptr @s2n_strerror_debug(i32 noundef %13025, ptr noundef @.str.4)
  %13027 = call ptr @__errno_location() #12
  %13028 = load i32, ptr %13027, align 4, !tbaa !5
  %13029 = call ptr @strerror(i32 noundef %13028) #11
  %13030 = call ptr @__errno_location() #12
  %13031 = load i32, ptr %13030, align 4, !tbaa !5
  %13032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13019, ptr noundef @.str.5, i32 noundef %13020, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 514, ptr noundef %13023, ptr noundef %13026, ptr noundef %13029, i32 noundef %13031) #11
  br label %13033

13033:                                            ; preds = %13016, %12999
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %13034

13034:                                            ; preds = %13033
  br label %13035

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

13036:                                            ; No predecessors!
  br label %13037

13037:                                            ; preds = %13036
  br label %13038

13038:                                            ; preds = %13037, %12978
  br label %13039

13039:                                            ; preds = %13038
  br label %13040

13040:                                            ; preds = %13039
  br label %13041

13041:                                            ; preds = %13040
  %13042 = load i32, ptr @test_count, align 4, !tbaa !5
  %13043 = add nsw i32 %13042, 1
  store i32 %13043, ptr @test_count, align 4, !tbaa !5
  %13044 = load ptr, ptr %263, align 8, !tbaa !9
  %13045 = load i32, ptr %13044, align 8
  %13046 = lshr i32 %13045, 15
  %13047 = and i32 %13046, 1
  %13048 = icmp ne i32 %13047, 0
  br i1 %13048, label %13102, label %13049

13049:                                            ; preds = %13041
  br label %13050

13050:                                            ; preds = %13049
  br label %13051

13051:                                            ; preds = %13050
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %13052 = call ptr @__errno_location() #12
  %13053 = load i32, ptr %13052, align 4, !tbaa !5
  store i32 %13053, ptr %267, align 4, !tbaa !5
  %13054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13055 = call i32 @s2n_print_stacktrace(ptr noundef %13054)
  %13056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13057 = trunc i8 %13056 to i1
  br i1 %13057, label %13058, label %13080

13058:                                            ; preds = %13051
  %13059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13060 = call i32 @fileno(ptr noundef %13059) #11
  %13061 = call i32 @isatty(i32 noundef %13060) #11
  %13062 = icmp ne i32 %13061, 0
  br i1 %13062, label %13063, label %13080

13063:                                            ; preds = %13058
  %13064 = load i32, ptr %267, align 4, !tbaa !5
  %13065 = call ptr @__errno_location() #12
  store i32 %13064, ptr %13065, align 4, !tbaa !5
  %13066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13067 = load i32, ptr @test_count, align 4, !tbaa !5
  %13068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13069 = load i32, ptr %13068, align 4, !tbaa !5
  %13070 = call ptr @s2n_strerror(i32 noundef %13069, ptr noundef @.str.4)
  %13071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13072 = load i32, ptr %13071, align 4, !tbaa !5
  %13073 = call ptr @s2n_strerror_debug(i32 noundef %13072, ptr noundef @.str.4)
  %13074 = call ptr @__errno_location() #12
  %13075 = load i32, ptr %13074, align 4, !tbaa !5
  %13076 = call ptr @strerror(i32 noundef %13075) #11
  %13077 = call ptr @__errno_location() #12
  %13078 = load i32, ptr %13077, align 4, !tbaa !5
  %13079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13066, ptr noundef @.str.2, i32 noundef %13067, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 515, ptr noundef %13070, ptr noundef %13073, ptr noundef %13076, i32 noundef %13078) #11
  br label %13097

13080:                                            ; preds = %13058, %13051
  %13081 = load i32, ptr %267, align 4, !tbaa !5
  %13082 = call ptr @__errno_location() #12
  store i32 %13081, ptr %13082, align 4, !tbaa !5
  %13083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13084 = load i32, ptr @test_count, align 4, !tbaa !5
  %13085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13086 = load i32, ptr %13085, align 4, !tbaa !5
  %13087 = call ptr @s2n_strerror(i32 noundef %13086, ptr noundef @.str.4)
  %13088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13089 = load i32, ptr %13088, align 4, !tbaa !5
  %13090 = call ptr @s2n_strerror_debug(i32 noundef %13089, ptr noundef @.str.4)
  %13091 = call ptr @__errno_location() #12
  %13092 = load i32, ptr %13091, align 4, !tbaa !5
  %13093 = call ptr @strerror(i32 noundef %13092) #11
  %13094 = call ptr @__errno_location() #12
  %13095 = load i32, ptr %13094, align 4, !tbaa !5
  %13096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13083, ptr noundef @.str.5, i32 noundef %13084, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 515, ptr noundef %13087, ptr noundef %13090, ptr noundef %13093, i32 noundef %13095) #11
  br label %13097

13097:                                            ; preds = %13080, %13063
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %13098

13098:                                            ; preds = %13097
  br label %13099

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

13100:                                            ; No predecessors!
  br label %13101

13101:                                            ; preds = %13100
  br label %13102

13102:                                            ; preds = %13101, %13041
  br label %13103

13103:                                            ; preds = %13102
  br label %13104

13104:                                            ; preds = %13103
  %13105 = call i32 @s2n_connection_ptr_free(ptr noundef %263)
  %13106 = getelementptr inbounds %struct.s2n_result, ptr %268, i32 0, i32 0
  store i32 %13105, ptr %13106, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %263) #11
  %13107 = call i32 @s2n_config_ptr_free(ptr noundef %260)
  %13108 = getelementptr inbounds %struct.s2n_result, ptr %269, i32 0, i32 0
  store i32 %13107, ptr %13108, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %260) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %270) #11
  %13109 = call ptr @s2n_config_new()
  store ptr %13109, ptr %270, align 8, !tbaa !9
  br label %13110

13110:                                            ; preds = %13104
  %13111 = load i32, ptr @test_count, align 4, !tbaa !5
  %13112 = add nsw i32 %13111, 1
  store i32 %13112, ptr @test_count, align 4, !tbaa !5
  %13113 = load ptr, ptr %270, align 8, !tbaa !9
  %13114 = icmp eq ptr %13113, null
  br i1 %13114, label %13115, label %13168

13115:                                            ; preds = %13110
  br label %13116

13116:                                            ; preds = %13115
  br label %13117

13117:                                            ; preds = %13116
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %13118 = call ptr @__errno_location() #12
  %13119 = load i32, ptr %13118, align 4, !tbaa !5
  store i32 %13119, ptr %271, align 4, !tbaa !5
  %13120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13121 = call i32 @s2n_print_stacktrace(ptr noundef %13120)
  %13122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13123 = trunc i8 %13122 to i1
  br i1 %13123, label %13124, label %13146

13124:                                            ; preds = %13117
  %13125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13126 = call i32 @fileno(ptr noundef %13125) #11
  %13127 = call i32 @isatty(i32 noundef %13126) #11
  %13128 = icmp ne i32 %13127, 0
  br i1 %13128, label %13129, label %13146

13129:                                            ; preds = %13124
  %13130 = load i32, ptr %271, align 4, !tbaa !5
  %13131 = call ptr @__errno_location() #12
  store i32 %13130, ptr %13131, align 4, !tbaa !5
  %13132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13133 = load i32, ptr @test_count, align 4, !tbaa !5
  %13134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13135 = load i32, ptr %13134, align 4, !tbaa !5
  %13136 = call ptr @s2n_strerror(i32 noundef %13135, ptr noundef @.str.4)
  %13137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13138 = load i32, ptr %13137, align 4, !tbaa !5
  %13139 = call ptr @s2n_strerror_debug(i32 noundef %13138, ptr noundef @.str.4)
  %13140 = call ptr @__errno_location() #12
  %13141 = load i32, ptr %13140, align 4, !tbaa !5
  %13142 = call ptr @strerror(i32 noundef %13141) #11
  %13143 = call ptr @__errno_location() #12
  %13144 = load i32, ptr %13143, align 4, !tbaa !5
  %13145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13132, ptr noundef @.str.2, i32 noundef %13133, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 522, ptr noundef %13136, ptr noundef %13139, ptr noundef %13142, i32 noundef %13144) #11
  br label %13163

13146:                                            ; preds = %13124, %13117
  %13147 = load i32, ptr %271, align 4, !tbaa !5
  %13148 = call ptr @__errno_location() #12
  store i32 %13147, ptr %13148, align 4, !tbaa !5
  %13149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13150 = load i32, ptr @test_count, align 4, !tbaa !5
  %13151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13152 = load i32, ptr %13151, align 4, !tbaa !5
  %13153 = call ptr @s2n_strerror(i32 noundef %13152, ptr noundef @.str.4)
  %13154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13155 = load i32, ptr %13154, align 4, !tbaa !5
  %13156 = call ptr @s2n_strerror_debug(i32 noundef %13155, ptr noundef @.str.4)
  %13157 = call ptr @__errno_location() #12
  %13158 = load i32, ptr %13157, align 4, !tbaa !5
  %13159 = call ptr @strerror(i32 noundef %13158) #11
  %13160 = call ptr @__errno_location() #12
  %13161 = load i32, ptr %13160, align 4, !tbaa !5
  %13162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13149, ptr noundef @.str.5, i32 noundef %13150, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 522, ptr noundef %13153, ptr noundef %13156, ptr noundef %13159, i32 noundef %13161) #11
  br label %13163

13163:                                            ; preds = %13146, %13129
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %13164

13164:                                            ; preds = %13163
  br label %13165

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

13166:                                            ; No predecessors!
  br label %13167

13167:                                            ; preds = %13166
  br label %13168

13168:                                            ; preds = %13167, %13110
  br label %13169

13169:                                            ; preds = %13168
  br label %13170

13170:                                            ; preds = %13169
  br label %13171

13171:                                            ; preds = %13170
  %13172 = load i32, ptr @test_count, align 4, !tbaa !5
  %13173 = add nsw i32 %13172, 1
  store i32 %13173, ptr @test_count, align 4, !tbaa !5
  %13174 = load ptr, ptr %270, align 8, !tbaa !9
  %13175 = load i32, ptr %13174, align 8
  %13176 = lshr i32 %13175, 12
  %13177 = and i32 %13176, 1
  %13178 = icmp ne i32 %13177, 0
  br i1 %13178, label %13179, label %13232

13179:                                            ; preds = %13171
  br label %13180

13180:                                            ; preds = %13179
  br label %13181

13181:                                            ; preds = %13180
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %13182 = call ptr @__errno_location() #12
  %13183 = load i32, ptr %13182, align 4, !tbaa !5
  store i32 %13183, ptr %272, align 4, !tbaa !5
  %13184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13185 = call i32 @s2n_print_stacktrace(ptr noundef %13184)
  %13186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13187 = trunc i8 %13186 to i1
  br i1 %13187, label %13188, label %13210

13188:                                            ; preds = %13181
  %13189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13190 = call i32 @fileno(ptr noundef %13189) #11
  %13191 = call i32 @isatty(i32 noundef %13190) #11
  %13192 = icmp ne i32 %13191, 0
  br i1 %13192, label %13193, label %13210

13193:                                            ; preds = %13188
  %13194 = load i32, ptr %272, align 4, !tbaa !5
  %13195 = call ptr @__errno_location() #12
  store i32 %13194, ptr %13195, align 4, !tbaa !5
  %13196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13197 = load i32, ptr @test_count, align 4, !tbaa !5
  %13198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13199 = load i32, ptr %13198, align 4, !tbaa !5
  %13200 = call ptr @s2n_strerror(i32 noundef %13199, ptr noundef @.str.4)
  %13201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13202 = load i32, ptr %13201, align 4, !tbaa !5
  %13203 = call ptr @s2n_strerror_debug(i32 noundef %13202, ptr noundef @.str.4)
  %13204 = call ptr @__errno_location() #12
  %13205 = load i32, ptr %13204, align 4, !tbaa !5
  %13206 = call ptr @strerror(i32 noundef %13205) #11
  %13207 = call ptr @__errno_location() #12
  %13208 = load i32, ptr %13207, align 4, !tbaa !5
  %13209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13196, ptr noundef @.str.2, i32 noundef %13197, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 523, ptr noundef %13200, ptr noundef %13203, ptr noundef %13206, i32 noundef %13208) #11
  br label %13227

13210:                                            ; preds = %13188, %13181
  %13211 = load i32, ptr %272, align 4, !tbaa !5
  %13212 = call ptr @__errno_location() #12
  store i32 %13211, ptr %13212, align 4, !tbaa !5
  %13213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13214 = load i32, ptr @test_count, align 4, !tbaa !5
  %13215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13216 = load i32, ptr %13215, align 4, !tbaa !5
  %13217 = call ptr @s2n_strerror(i32 noundef %13216, ptr noundef @.str.4)
  %13218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13219 = load i32, ptr %13218, align 4, !tbaa !5
  %13220 = call ptr @s2n_strerror_debug(i32 noundef %13219, ptr noundef @.str.4)
  %13221 = call ptr @__errno_location() #12
  %13222 = load i32, ptr %13221, align 4, !tbaa !5
  %13223 = call ptr @strerror(i32 noundef %13222) #11
  %13224 = call ptr @__errno_location() #12
  %13225 = load i32, ptr %13224, align 4, !tbaa !5
  %13226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13213, ptr noundef @.str.5, i32 noundef %13214, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 523, ptr noundef %13217, ptr noundef %13220, ptr noundef %13223, i32 noundef %13225) #11
  br label %13227

13227:                                            ; preds = %13210, %13193
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %13228

13228:                                            ; preds = %13227
  br label %13229

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

13230:                                            ; No predecessors!
  br label %13231

13231:                                            ; preds = %13230
  br label %13232

13232:                                            ; preds = %13231, %13171
  br label %13233

13233:                                            ; preds = %13232
  br label %13234

13234:                                            ; preds = %13233
  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_config_set_verify_after_sign(ptr noundef null, i32 noundef 1)
  %13241 = icmp eq i32 %13240, -1
  br i1 %13241, label %13295, label %13242

13242:                                            ; preds = %13237
  br label %13243

13243:                                            ; preds = %13242
  br label %13244

13244:                                            ; preds = %13243
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %13245 = call ptr @__errno_location() #12
  %13246 = load i32, ptr %13245, align 4, !tbaa !5
  store i32 %13246, ptr %273, 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 %273, 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.4)
  %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.4)
  %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.2, i32 noundef %13260, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 526, ptr noundef %13263, ptr noundef %13266, ptr noundef %13269, i32 noundef %13271) #11
  br label %13290

13273:                                            ; preds = %13251, %13244
  %13274 = load i32, ptr %273, 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.4)
  %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.4)
  %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.5, i32 noundef %13277, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 526, 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 %273) #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
  %13299 = load i32, ptr @test_count, align 4, !tbaa !5
  %13300 = add nsw i32 %13299, 1
  store i32 %13300, ptr @test_count, align 4, !tbaa !5
  %13301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13302 = load i32, ptr %13301, align 4, !tbaa !5
  %13303 = icmp eq i32 %13302, 402653193
  br i1 %13303, label %13357, label %13304

13304:                                            ; preds = %13298
  br label %13305

13305:                                            ; preds = %13304
  br label %13306

13306:                                            ; preds = %13305
  call void @llvm.lifetime.start.p0(i64 4, ptr %274) #11
  %13307 = call ptr @__errno_location() #12
  %13308 = load i32, ptr %13307, align 4, !tbaa !5
  store i32 %13308, ptr %274, align 4, !tbaa !5
  %13309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13310 = call i32 @s2n_print_stacktrace(ptr noundef %13309)
  %13311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13312 = trunc i8 %13311 to i1
  br i1 %13312, label %13313, label %13335

13313:                                            ; preds = %13306
  %13314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13315 = call i32 @fileno(ptr noundef %13314) #11
  %13316 = call i32 @isatty(i32 noundef %13315) #11
  %13317 = icmp ne i32 %13316, 0
  br i1 %13317, label %13318, label %13335

13318:                                            ; preds = %13313
  %13319 = load i32, ptr %274, align 4, !tbaa !5
  %13320 = call ptr @__errno_location() #12
  store i32 %13319, ptr %13320, align 4, !tbaa !5
  %13321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13322 = load i32, ptr @test_count, align 4, !tbaa !5
  %13323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13324 = load i32, ptr %13323, align 4, !tbaa !5
  %13325 = call ptr @s2n_strerror(i32 noundef %13324, ptr noundef @.str.4)
  %13326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13327 = load i32, ptr %13326, align 4, !tbaa !5
  %13328 = call ptr @s2n_strerror_debug(i32 noundef %13327, ptr noundef @.str.4)
  %13329 = call ptr @__errno_location() #12
  %13330 = load i32, ptr %13329, align 4, !tbaa !5
  %13331 = call ptr @strerror(i32 noundef %13330) #11
  %13332 = call ptr @__errno_location() #12
  %13333 = load i32, ptr %13332, align 4, !tbaa !5
  %13334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13321, ptr noundef @.str.2, i32 noundef %13322, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 526, ptr noundef %13325, ptr noundef %13328, ptr noundef %13331, i32 noundef %13333) #11
  br label %13352

13335:                                            ; preds = %13313, %13306
  %13336 = load i32, ptr %274, align 4, !tbaa !5
  %13337 = call ptr @__errno_location() #12
  store i32 %13336, ptr %13337, align 4, !tbaa !5
  %13338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13339 = load i32, ptr @test_count, align 4, !tbaa !5
  %13340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13341 = load i32, ptr %13340, align 4, !tbaa !5
  %13342 = call ptr @s2n_strerror(i32 noundef %13341, ptr noundef @.str.4)
  %13343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13344 = load i32, ptr %13343, align 4, !tbaa !5
  %13345 = call ptr @s2n_strerror_debug(i32 noundef %13344, ptr noundef @.str.4)
  %13346 = call ptr @__errno_location() #12
  %13347 = load i32, ptr %13346, align 4, !tbaa !5
  %13348 = call ptr @strerror(i32 noundef %13347) #11
  %13349 = call ptr @__errno_location() #12
  %13350 = load i32, ptr %13349, align 4, !tbaa !5
  %13351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13338, ptr noundef @.str.5, i32 noundef %13339, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 526, ptr noundef %13342, ptr noundef %13345, ptr noundef %13348, i32 noundef %13350) #11
  br label %13352

13352:                                            ; preds = %13335, %13318
  call void @llvm.lifetime.end.p0(i64 4, ptr %274) #11
  br label %13353

13353:                                            ; preds = %13352
  br label %13354

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

13355:                                            ; No predecessors!
  br label %13356

13356:                                            ; preds = %13355
  br label %13357

13357:                                            ; preds = %13356, %13298
  br label %13358

13358:                                            ; preds = %13357
  br label %13359

13359:                                            ; preds = %13358
  br label %13360

13360:                                            ; preds = %13359
  %13361 = load i32, ptr @test_count, align 4, !tbaa !5
  %13362 = add nsw i32 %13361, 1
  store i32 %13362, ptr @test_count, align 4, !tbaa !5
  %13363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13364 = load i32, ptr %13363, align 4, !tbaa !5
  %13365 = call ptr @s2n_strerror_debug(i32 noundef %13364, ptr noundef @.str.4)
  %13366 = icmp eq ptr %13365, null
  br i1 %13366, label %13367, label %13420

13367:                                            ; preds = %13360
  br label %13368

13368:                                            ; preds = %13367
  br label %13369

13369:                                            ; preds = %13368
  call void @llvm.lifetime.start.p0(i64 4, ptr %275) #11
  %13370 = call ptr @__errno_location() #12
  %13371 = load i32, ptr %13370, align 4, !tbaa !5
  store i32 %13371, ptr %275, align 4, !tbaa !5
  %13372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13373 = call i32 @s2n_print_stacktrace(ptr noundef %13372)
  %13374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13375 = trunc i8 %13374 to i1
  br i1 %13375, label %13376, label %13398

13376:                                            ; preds = %13369
  %13377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13378 = call i32 @fileno(ptr noundef %13377) #11
  %13379 = call i32 @isatty(i32 noundef %13378) #11
  %13380 = icmp ne i32 %13379, 0
  br i1 %13380, label %13381, label %13398

13381:                                            ; preds = %13376
  %13382 = load i32, ptr %275, align 4, !tbaa !5
  %13383 = call ptr @__errno_location() #12
  store i32 %13382, ptr %13383, align 4, !tbaa !5
  %13384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13385 = load i32, ptr @test_count, align 4, !tbaa !5
  %13386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13387 = load i32, ptr %13386, align 4, !tbaa !5
  %13388 = call ptr @s2n_strerror(i32 noundef %13387, ptr noundef @.str.4)
  %13389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13390 = load i32, ptr %13389, align 4, !tbaa !5
  %13391 = call ptr @s2n_strerror_debug(i32 noundef %13390, ptr noundef @.str.4)
  %13392 = call ptr @__errno_location() #12
  %13393 = load i32, ptr %13392, align 4, !tbaa !5
  %13394 = call ptr @strerror(i32 noundef %13393) #11
  %13395 = call ptr @__errno_location() #12
  %13396 = load i32, ptr %13395, align 4, !tbaa !5
  %13397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13384, ptr noundef @.str.2, i32 noundef %13385, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 526, ptr noundef %13388, ptr noundef %13391, ptr noundef %13394, i32 noundef %13396) #11
  br label %13415

13398:                                            ; preds = %13376, %13369
  %13399 = load i32, ptr %275, 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.4)
  %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.4)
  %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.5, i32 noundef %13402, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 526, ptr noundef %13405, ptr noundef %13408, ptr noundef %13411, i32 noundef %13413) #11
  br label %13415

13415:                                            ; preds = %13398, %13381
  call void @llvm.lifetime.end.p0(i64 4, ptr %275) #11
  br label %13416

13416:                                            ; preds = %13415
  br label %13417

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

13418:                                            ; No predecessors!
  br label %13419

13419:                                            ; preds = %13418
  br label %13420

13420:                                            ; preds = %13419, %13360
  br label %13421

13421:                                            ; preds = %13420
  br label %13422

13422:                                            ; preds = %13421
  br label %13423

13423:                                            ; preds = %13422
  br label %13424

13424:                                            ; preds = %13423
  br label %13425

13425:                                            ; preds = %13424
  %13426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13426, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13427 = call ptr @__errno_location() #12
  store i32 0, ptr %13427, align 4, !tbaa !5
  br label %13428

13428:                                            ; preds = %13425
  br label %13429

13429:                                            ; preds = %13428
  br label %13430

13430:                                            ; preds = %13429
  br label %13431

13431:                                            ; preds = %13430
  %13432 = load ptr, ptr %270, align 8, !tbaa !9
  %13433 = load i32, ptr %13432, align 8
  %13434 = and i32 %13433, -4097
  %13435 = or i32 %13434, 4096
  store i32 %13435, ptr %13432, align 8
  br label %13436

13436:                                            ; preds = %13431
  br label %13437

13437:                                            ; preds = %13436
  br label %13438

13438:                                            ; preds = %13437
  %13439 = load i32, ptr @test_count, align 4, !tbaa !5
  %13440 = add nsw i32 %13439, 1
  store i32 %13440, ptr @test_count, align 4, !tbaa !5
  %13441 = load ptr, ptr %270, align 8, !tbaa !9
  %13442 = call i32 @s2n_config_set_verify_after_sign(ptr noundef %13441, i32 noundef 255)
  %13443 = icmp eq i32 %13442, -1
  br i1 %13443, label %13497, label %13444

13444:                                            ; preds = %13438
  br label %13445

13445:                                            ; preds = %13444
  br label %13446

13446:                                            ; preds = %13445
  call void @llvm.lifetime.start.p0(i64 4, ptr %276) #11
  %13447 = call ptr @__errno_location() #12
  %13448 = load i32, ptr %13447, align 4, !tbaa !5
  store i32 %13448, ptr %276, align 4, !tbaa !5
  %13449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13450 = call i32 @s2n_print_stacktrace(ptr noundef %13449)
  %13451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13452 = trunc i8 %13451 to i1
  br i1 %13452, label %13453, label %13475

13453:                                            ; preds = %13446
  %13454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13455 = call i32 @fileno(ptr noundef %13454) #11
  %13456 = call i32 @isatty(i32 noundef %13455) #11
  %13457 = icmp ne i32 %13456, 0
  br i1 %13457, label %13458, label %13475

13458:                                            ; preds = %13453
  %13459 = load i32, ptr %276, align 4, !tbaa !5
  %13460 = call ptr @__errno_location() #12
  store i32 %13459, ptr %13460, align 4, !tbaa !5
  %13461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13462 = load i32, ptr @test_count, align 4, !tbaa !5
  %13463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13464 = load i32, ptr %13463, align 4, !tbaa !5
  %13465 = call ptr @s2n_strerror(i32 noundef %13464, ptr noundef @.str.4)
  %13466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13467 = load i32, ptr %13466, align 4, !tbaa !5
  %13468 = call ptr @s2n_strerror_debug(i32 noundef %13467, ptr noundef @.str.4)
  %13469 = call ptr @__errno_location() #12
  %13470 = load i32, ptr %13469, align 4, !tbaa !5
  %13471 = call ptr @strerror(i32 noundef %13470) #11
  %13472 = call ptr @__errno_location() #12
  %13473 = load i32, ptr %13472, align 4, !tbaa !5
  %13474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13461, ptr noundef @.str.2, i32 noundef %13462, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 530, ptr noundef %13465, ptr noundef %13468, ptr noundef %13471, i32 noundef %13473) #11
  br label %13492

13475:                                            ; preds = %13453, %13446
  %13476 = load i32, ptr %276, align 4, !tbaa !5
  %13477 = call ptr @__errno_location() #12
  store i32 %13476, ptr %13477, align 4, !tbaa !5
  %13478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13479 = load i32, ptr @test_count, align 4, !tbaa !5
  %13480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13481 = load i32, ptr %13480, align 4, !tbaa !5
  %13482 = call ptr @s2n_strerror(i32 noundef %13481, ptr noundef @.str.4)
  %13483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13484 = load i32, ptr %13483, align 4, !tbaa !5
  %13485 = call ptr @s2n_strerror_debug(i32 noundef %13484, ptr noundef @.str.4)
  %13486 = call ptr @__errno_location() #12
  %13487 = load i32, ptr %13486, align 4, !tbaa !5
  %13488 = call ptr @strerror(i32 noundef %13487) #11
  %13489 = call ptr @__errno_location() #12
  %13490 = load i32, ptr %13489, align 4, !tbaa !5
  %13491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13478, ptr noundef @.str.5, i32 noundef %13479, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 530, ptr noundef %13482, ptr noundef %13485, ptr noundef %13488, i32 noundef %13490) #11
  br label %13492

13492:                                            ; preds = %13475, %13458
  call void @llvm.lifetime.end.p0(i64 4, ptr %276) #11
  br label %13493

13493:                                            ; preds = %13492
  br label %13494

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

13495:                                            ; No predecessors!
  br label %13496

13496:                                            ; preds = %13495
  br label %13497

13497:                                            ; preds = %13496, %13438
  br label %13498

13498:                                            ; preds = %13497
  br label %13499

13499:                                            ; preds = %13498
  br label %13500

13500:                                            ; preds = %13499
  %13501 = load i32, ptr @test_count, align 4, !tbaa !5
  %13502 = add nsw i32 %13501, 1
  store i32 %13502, ptr @test_count, align 4, !tbaa !5
  %13503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13504 = load i32, ptr %13503, align 4, !tbaa !5
  %13505 = icmp eq i32 %13504, 469762089
  br i1 %13505, label %13559, label %13506

13506:                                            ; preds = %13500
  br label %13507

13507:                                            ; preds = %13506
  br label %13508

13508:                                            ; preds = %13507
  call void @llvm.lifetime.start.p0(i64 4, ptr %277) #11
  %13509 = call ptr @__errno_location() #12
  %13510 = load i32, ptr %13509, align 4, !tbaa !5
  store i32 %13510, ptr %277, align 4, !tbaa !5
  %13511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13512 = call i32 @s2n_print_stacktrace(ptr noundef %13511)
  %13513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13514 = trunc i8 %13513 to i1
  br i1 %13514, label %13515, label %13537

13515:                                            ; preds = %13508
  %13516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13517 = call i32 @fileno(ptr noundef %13516) #11
  %13518 = call i32 @isatty(i32 noundef %13517) #11
  %13519 = icmp ne i32 %13518, 0
  br i1 %13519, label %13520, label %13537

13520:                                            ; preds = %13515
  %13521 = load i32, ptr %277, align 4, !tbaa !5
  %13522 = call ptr @__errno_location() #12
  store i32 %13521, ptr %13522, align 4, !tbaa !5
  %13523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13524 = load i32, ptr @test_count, align 4, !tbaa !5
  %13525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13526 = load i32, ptr %13525, align 4, !tbaa !5
  %13527 = call ptr @s2n_strerror(i32 noundef %13526, ptr noundef @.str.4)
  %13528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13529 = load i32, ptr %13528, align 4, !tbaa !5
  %13530 = call ptr @s2n_strerror_debug(i32 noundef %13529, ptr noundef @.str.4)
  %13531 = call ptr @__errno_location() #12
  %13532 = load i32, ptr %13531, align 4, !tbaa !5
  %13533 = call ptr @strerror(i32 noundef %13532) #11
  %13534 = call ptr @__errno_location() #12
  %13535 = load i32, ptr %13534, align 4, !tbaa !5
  %13536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13523, ptr noundef @.str.2, i32 noundef %13524, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 530, ptr noundef %13527, ptr noundef %13530, ptr noundef %13533, i32 noundef %13535) #11
  br label %13554

13537:                                            ; preds = %13515, %13508
  %13538 = load i32, ptr %277, align 4, !tbaa !5
  %13539 = call ptr @__errno_location() #12
  store i32 %13538, ptr %13539, align 4, !tbaa !5
  %13540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13541 = load i32, ptr @test_count, align 4, !tbaa !5
  %13542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13543 = load i32, ptr %13542, align 4, !tbaa !5
  %13544 = call ptr @s2n_strerror(i32 noundef %13543, ptr noundef @.str.4)
  %13545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13546 = load i32, ptr %13545, align 4, !tbaa !5
  %13547 = call ptr @s2n_strerror_debug(i32 noundef %13546, ptr noundef @.str.4)
  %13548 = call ptr @__errno_location() #12
  %13549 = load i32, ptr %13548, align 4, !tbaa !5
  %13550 = call ptr @strerror(i32 noundef %13549) #11
  %13551 = call ptr @__errno_location() #12
  %13552 = load i32, ptr %13551, align 4, !tbaa !5
  %13553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13540, ptr noundef @.str.5, i32 noundef %13541, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 530, ptr noundef %13544, ptr noundef %13547, ptr noundef %13550, i32 noundef %13552) #11
  br label %13554

13554:                                            ; preds = %13537, %13520
  call void @llvm.lifetime.end.p0(i64 4, ptr %277) #11
  br label %13555

13555:                                            ; preds = %13554
  br label %13556

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

13557:                                            ; No predecessors!
  br label %13558

13558:                                            ; preds = %13557
  br label %13559

13559:                                            ; preds = %13558, %13500
  br label %13560

13560:                                            ; preds = %13559
  br label %13561

13561:                                            ; preds = %13560
  br label %13562

13562:                                            ; preds = %13561
  %13563 = load i32, ptr @test_count, align 4, !tbaa !5
  %13564 = add nsw i32 %13563, 1
  store i32 %13564, ptr @test_count, align 4, !tbaa !5
  %13565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13566 = load i32, ptr %13565, align 4, !tbaa !5
  %13567 = call ptr @s2n_strerror_debug(i32 noundef %13566, ptr noundef @.str.4)
  %13568 = icmp eq ptr %13567, null
  br i1 %13568, label %13569, label %13622

13569:                                            ; preds = %13562
  br label %13570

13570:                                            ; preds = %13569
  br label %13571

13571:                                            ; preds = %13570
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %13572 = call ptr @__errno_location() #12
  %13573 = load i32, ptr %13572, align 4, !tbaa !5
  store i32 %13573, ptr %278, align 4, !tbaa !5
  %13574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13575 = call i32 @s2n_print_stacktrace(ptr noundef %13574)
  %13576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13577 = trunc i8 %13576 to i1
  br i1 %13577, label %13578, label %13600

13578:                                            ; preds = %13571
  %13579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13580 = call i32 @fileno(ptr noundef %13579) #11
  %13581 = call i32 @isatty(i32 noundef %13580) #11
  %13582 = icmp ne i32 %13581, 0
  br i1 %13582, label %13583, label %13600

13583:                                            ; preds = %13578
  %13584 = load i32, ptr %278, align 4, !tbaa !5
  %13585 = call ptr @__errno_location() #12
  store i32 %13584, ptr %13585, align 4, !tbaa !5
  %13586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13587 = load i32, ptr @test_count, align 4, !tbaa !5
  %13588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13589 = load i32, ptr %13588, align 4, !tbaa !5
  %13590 = call ptr @s2n_strerror(i32 noundef %13589, ptr noundef @.str.4)
  %13591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13592 = load i32, ptr %13591, align 4, !tbaa !5
  %13593 = call ptr @s2n_strerror_debug(i32 noundef %13592, ptr noundef @.str.4)
  %13594 = call ptr @__errno_location() #12
  %13595 = load i32, ptr %13594, align 4, !tbaa !5
  %13596 = call ptr @strerror(i32 noundef %13595) #11
  %13597 = call ptr @__errno_location() #12
  %13598 = load i32, ptr %13597, align 4, !tbaa !5
  %13599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13586, ptr noundef @.str.2, i32 noundef %13587, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 530, ptr noundef %13590, ptr noundef %13593, ptr noundef %13596, i32 noundef %13598) #11
  br label %13617

13600:                                            ; preds = %13578, %13571
  %13601 = load i32, ptr %278, align 4, !tbaa !5
  %13602 = call ptr @__errno_location() #12
  store i32 %13601, ptr %13602, align 4, !tbaa !5
  %13603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13604 = load i32, ptr @test_count, align 4, !tbaa !5
  %13605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13606 = load i32, ptr %13605, align 4, !tbaa !5
  %13607 = call ptr @s2n_strerror(i32 noundef %13606, ptr noundef @.str.4)
  %13608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13609 = load i32, ptr %13608, align 4, !tbaa !5
  %13610 = call ptr @s2n_strerror_debug(i32 noundef %13609, ptr noundef @.str.4)
  %13611 = call ptr @__errno_location() #12
  %13612 = load i32, ptr %13611, align 4, !tbaa !5
  %13613 = call ptr @strerror(i32 noundef %13612) #11
  %13614 = call ptr @__errno_location() #12
  %13615 = load i32, ptr %13614, align 4, !tbaa !5
  %13616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13603, ptr noundef @.str.5, i32 noundef %13604, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 530, ptr noundef %13607, ptr noundef %13610, ptr noundef %13613, i32 noundef %13615) #11
  br label %13617

13617:                                            ; preds = %13600, %13583
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %13618

13618:                                            ; preds = %13617
  br label %13619

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

13620:                                            ; No predecessors!
  br label %13621

13621:                                            ; preds = %13620
  br label %13622

13622:                                            ; preds = %13621, %13562
  br label %13623

13623:                                            ; preds = %13622
  br label %13624

13624:                                            ; preds = %13623
  br label %13625

13625:                                            ; preds = %13624
  br label %13626

13626:                                            ; preds = %13625
  br label %13627

13627:                                            ; preds = %13626
  %13628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13628, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13629 = call ptr @__errno_location() #12
  store i32 0, ptr %13629, align 4, !tbaa !5
  br label %13630

13630:                                            ; preds = %13627
  br label %13631

13631:                                            ; preds = %13630
  br label %13632

13632:                                            ; preds = %13631
  br label %13633

13633:                                            ; preds = %13632
  br label %13634

13634:                                            ; preds = %13633
  %13635 = load i32, ptr @test_count, align 4, !tbaa !5
  %13636 = add nsw i32 %13635, 1
  store i32 %13636, ptr @test_count, align 4, !tbaa !5
  %13637 = load ptr, ptr %270, align 8, !tbaa !9
  %13638 = load i32, ptr %13637, align 8
  %13639 = lshr i32 %13638, 12
  %13640 = and i32 %13639, 1
  %13641 = icmp ne i32 %13640, 0
  br i1 %13641, label %13695, label %13642

13642:                                            ; preds = %13634
  br label %13643

13643:                                            ; preds = %13642
  br label %13644

13644:                                            ; preds = %13643
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #11
  %13645 = call ptr @__errno_location() #12
  %13646 = load i32, ptr %13645, align 4, !tbaa !5
  store i32 %13646, ptr %279, align 4, !tbaa !5
  %13647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13648 = call i32 @s2n_print_stacktrace(ptr noundef %13647)
  %13649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13650 = trunc i8 %13649 to i1
  br i1 %13650, label %13651, label %13673

13651:                                            ; preds = %13644
  %13652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13653 = call i32 @fileno(ptr noundef %13652) #11
  %13654 = call i32 @isatty(i32 noundef %13653) #11
  %13655 = icmp ne i32 %13654, 0
  br i1 %13655, label %13656, label %13673

13656:                                            ; preds = %13651
  %13657 = load i32, ptr %279, align 4, !tbaa !5
  %13658 = call ptr @__errno_location() #12
  store i32 %13657, ptr %13658, align 4, !tbaa !5
  %13659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13660 = load i32, ptr @test_count, align 4, !tbaa !5
  %13661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13662 = load i32, ptr %13661, align 4, !tbaa !5
  %13663 = call ptr @s2n_strerror(i32 noundef %13662, ptr noundef @.str.4)
  %13664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13665 = load i32, ptr %13664, align 4, !tbaa !5
  %13666 = call ptr @s2n_strerror_debug(i32 noundef %13665, ptr noundef @.str.4)
  %13667 = call ptr @__errno_location() #12
  %13668 = load i32, ptr %13667, align 4, !tbaa !5
  %13669 = call ptr @strerror(i32 noundef %13668) #11
  %13670 = call ptr @__errno_location() #12
  %13671 = load i32, ptr %13670, align 4, !tbaa !5
  %13672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13659, ptr noundef @.str.2, i32 noundef %13660, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 531, ptr noundef %13663, ptr noundef %13666, ptr noundef %13669, i32 noundef %13671) #11
  br label %13690

13673:                                            ; preds = %13651, %13644
  %13674 = load i32, ptr %279, 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.4)
  %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.4)
  %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.5, i32 noundef %13677, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 531, ptr noundef %13680, ptr noundef %13683, ptr noundef %13686, i32 noundef %13688) #11
  br label %13690

13690:                                            ; preds = %13673, %13656
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #11
  br label %13691

13691:                                            ; preds = %13690
  br label %13692

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

13693:                                            ; No predecessors!
  br label %13694

13694:                                            ; preds = %13693
  br label %13695

13695:                                            ; preds = %13694, %13634
  br label %13696

13696:                                            ; preds = %13695
  br label %13697

13697:                                            ; preds = %13696
  %13698 = load ptr, ptr %270, align 8, !tbaa !9
  %13699 = load i32, ptr %13698, align 8
  %13700 = and i32 %13699, -4097
  %13701 = or i32 %13700, 0
  store i32 %13701, ptr %13698, align 8
  br label %13702

13702:                                            ; preds = %13697
  br label %13703

13703:                                            ; preds = %13702
  br label %13704

13704:                                            ; preds = %13703
  %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 ptr, ptr %270, align 8, !tbaa !9
  %13708 = call i32 @s2n_config_set_verify_after_sign(ptr noundef %13707, i32 noundef 255)
  %13709 = icmp eq i32 %13708, -1
  br i1 %13709, label %13763, label %13710

13710:                                            ; preds = %13704
  br label %13711

13711:                                            ; preds = %13710
  br label %13712

13712:                                            ; preds = %13711
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %13713 = call ptr @__errno_location() #12
  %13714 = load i32, ptr %13713, align 4, !tbaa !5
  store i32 %13714, ptr %280, align 4, !tbaa !5
  %13715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13716 = call i32 @s2n_print_stacktrace(ptr noundef %13715)
  %13717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13718 = trunc i8 %13717 to i1
  br i1 %13718, label %13719, label %13741

13719:                                            ; preds = %13712
  %13720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13721 = call i32 @fileno(ptr noundef %13720) #11
  %13722 = call i32 @isatty(i32 noundef %13721) #11
  %13723 = icmp ne i32 %13722, 0
  br i1 %13723, label %13724, label %13741

13724:                                            ; preds = %13719
  %13725 = load i32, ptr %280, align 4, !tbaa !5
  %13726 = call ptr @__errno_location() #12
  store i32 %13725, ptr %13726, align 4, !tbaa !5
  %13727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13728 = load i32, ptr @test_count, align 4, !tbaa !5
  %13729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13730 = load i32, ptr %13729, align 4, !tbaa !5
  %13731 = call ptr @s2n_strerror(i32 noundef %13730, ptr noundef @.str.4)
  %13732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13733 = load i32, ptr %13732, align 4, !tbaa !5
  %13734 = call ptr @s2n_strerror_debug(i32 noundef %13733, ptr noundef @.str.4)
  %13735 = call ptr @__errno_location() #12
  %13736 = load i32, ptr %13735, align 4, !tbaa !5
  %13737 = call ptr @strerror(i32 noundef %13736) #11
  %13738 = call ptr @__errno_location() #12
  %13739 = load i32, ptr %13738, align 4, !tbaa !5
  %13740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13727, ptr noundef @.str.2, i32 noundef %13728, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 533, ptr noundef %13731, ptr noundef %13734, ptr noundef %13737, i32 noundef %13739) #11
  br label %13758

13741:                                            ; preds = %13719, %13712
  %13742 = load i32, ptr %280, align 4, !tbaa !5
  %13743 = call ptr @__errno_location() #12
  store i32 %13742, ptr %13743, align 4, !tbaa !5
  %13744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13745 = load i32, ptr @test_count, align 4, !tbaa !5
  %13746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13747 = load i32, ptr %13746, align 4, !tbaa !5
  %13748 = call ptr @s2n_strerror(i32 noundef %13747, ptr noundef @.str.4)
  %13749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13750 = load i32, ptr %13749, align 4, !tbaa !5
  %13751 = call ptr @s2n_strerror_debug(i32 noundef %13750, ptr noundef @.str.4)
  %13752 = call ptr @__errno_location() #12
  %13753 = load i32, ptr %13752, align 4, !tbaa !5
  %13754 = call ptr @strerror(i32 noundef %13753) #11
  %13755 = call ptr @__errno_location() #12
  %13756 = load i32, ptr %13755, align 4, !tbaa !5
  %13757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13744, ptr noundef @.str.5, i32 noundef %13745, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 533, ptr noundef %13748, ptr noundef %13751, ptr noundef %13754, i32 noundef %13756) #11
  br label %13758

13758:                                            ; preds = %13741, %13724
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %13759

13759:                                            ; preds = %13758
  br label %13760

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

13761:                                            ; No predecessors!
  br label %13762

13762:                                            ; preds = %13761
  br label %13763

13763:                                            ; preds = %13762, %13704
  br label %13764

13764:                                            ; preds = %13763
  br label %13765

13765:                                            ; preds = %13764
  br label %13766

13766:                                            ; preds = %13765
  %13767 = load i32, ptr @test_count, align 4, !tbaa !5
  %13768 = add nsw i32 %13767, 1
  store i32 %13768, ptr @test_count, align 4, !tbaa !5
  %13769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13770 = load i32, ptr %13769, align 4, !tbaa !5
  %13771 = icmp eq i32 %13770, 469762089
  br i1 %13771, label %13825, label %13772

13772:                                            ; preds = %13766
  br label %13773

13773:                                            ; preds = %13772
  br label %13774

13774:                                            ; preds = %13773
  call void @llvm.lifetime.start.p0(i64 4, ptr %281) #11
  %13775 = call ptr @__errno_location() #12
  %13776 = load i32, ptr %13775, align 4, !tbaa !5
  store i32 %13776, ptr %281, align 4, !tbaa !5
  %13777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13778 = call i32 @s2n_print_stacktrace(ptr noundef %13777)
  %13779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13780 = trunc i8 %13779 to i1
  br i1 %13780, label %13781, label %13803

13781:                                            ; preds = %13774
  %13782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13783 = call i32 @fileno(ptr noundef %13782) #11
  %13784 = call i32 @isatty(i32 noundef %13783) #11
  %13785 = icmp ne i32 %13784, 0
  br i1 %13785, label %13786, label %13803

13786:                                            ; preds = %13781
  %13787 = load i32, ptr %281, align 4, !tbaa !5
  %13788 = call ptr @__errno_location() #12
  store i32 %13787, ptr %13788, align 4, !tbaa !5
  %13789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13790 = load i32, ptr @test_count, align 4, !tbaa !5
  %13791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13792 = load i32, ptr %13791, align 4, !tbaa !5
  %13793 = call ptr @s2n_strerror(i32 noundef %13792, ptr noundef @.str.4)
  %13794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13795 = load i32, ptr %13794, align 4, !tbaa !5
  %13796 = call ptr @s2n_strerror_debug(i32 noundef %13795, ptr noundef @.str.4)
  %13797 = call ptr @__errno_location() #12
  %13798 = load i32, ptr %13797, align 4, !tbaa !5
  %13799 = call ptr @strerror(i32 noundef %13798) #11
  %13800 = call ptr @__errno_location() #12
  %13801 = load i32, ptr %13800, align 4, !tbaa !5
  %13802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13789, ptr noundef @.str.2, i32 noundef %13790, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 533, ptr noundef %13793, ptr noundef %13796, ptr noundef %13799, i32 noundef %13801) #11
  br label %13820

13803:                                            ; preds = %13781, %13774
  %13804 = load i32, ptr %281, align 4, !tbaa !5
  %13805 = call ptr @__errno_location() #12
  store i32 %13804, ptr %13805, align 4, !tbaa !5
  %13806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13807 = load i32, ptr @test_count, align 4, !tbaa !5
  %13808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13809 = load i32, ptr %13808, align 4, !tbaa !5
  %13810 = call ptr @s2n_strerror(i32 noundef %13809, ptr noundef @.str.4)
  %13811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13812 = load i32, ptr %13811, align 4, !tbaa !5
  %13813 = call ptr @s2n_strerror_debug(i32 noundef %13812, ptr noundef @.str.4)
  %13814 = call ptr @__errno_location() #12
  %13815 = load i32, ptr %13814, align 4, !tbaa !5
  %13816 = call ptr @strerror(i32 noundef %13815) #11
  %13817 = call ptr @__errno_location() #12
  %13818 = load i32, ptr %13817, align 4, !tbaa !5
  %13819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13806, ptr noundef @.str.5, i32 noundef %13807, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 533, ptr noundef %13810, ptr noundef %13813, ptr noundef %13816, i32 noundef %13818) #11
  br label %13820

13820:                                            ; preds = %13803, %13786
  call void @llvm.lifetime.end.p0(i64 4, ptr %281) #11
  br label %13821

13821:                                            ; preds = %13820
  br label %13822

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

13823:                                            ; No predecessors!
  br label %13824

13824:                                            ; preds = %13823
  br label %13825

13825:                                            ; preds = %13824, %13766
  br label %13826

13826:                                            ; preds = %13825
  br label %13827

13827:                                            ; preds = %13826
  br label %13828

13828:                                            ; preds = %13827
  %13829 = load i32, ptr @test_count, align 4, !tbaa !5
  %13830 = add nsw i32 %13829, 1
  store i32 %13830, ptr @test_count, align 4, !tbaa !5
  %13831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13832 = load i32, ptr %13831, align 4, !tbaa !5
  %13833 = call ptr @s2n_strerror_debug(i32 noundef %13832, ptr noundef @.str.4)
  %13834 = icmp eq ptr %13833, null
  br i1 %13834, label %13835, label %13888

13835:                                            ; preds = %13828
  br label %13836

13836:                                            ; preds = %13835
  br label %13837

13837:                                            ; preds = %13836
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  %13838 = call ptr @__errno_location() #12
  %13839 = load i32, ptr %13838, align 4, !tbaa !5
  store i32 %13839, ptr %282, align 4, !tbaa !5
  %13840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13841 = call i32 @s2n_print_stacktrace(ptr noundef %13840)
  %13842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13843 = trunc i8 %13842 to i1
  br i1 %13843, label %13844, label %13866

13844:                                            ; preds = %13837
  %13845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13846 = call i32 @fileno(ptr noundef %13845) #11
  %13847 = call i32 @isatty(i32 noundef %13846) #11
  %13848 = icmp ne i32 %13847, 0
  br i1 %13848, label %13849, label %13866

13849:                                            ; preds = %13844
  %13850 = load i32, ptr %282, align 4, !tbaa !5
  %13851 = call ptr @__errno_location() #12
  store i32 %13850, ptr %13851, align 4, !tbaa !5
  %13852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13853 = load i32, ptr @test_count, align 4, !tbaa !5
  %13854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13855 = load i32, ptr %13854, align 4, !tbaa !5
  %13856 = call ptr @s2n_strerror(i32 noundef %13855, ptr noundef @.str.4)
  %13857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13858 = load i32, ptr %13857, align 4, !tbaa !5
  %13859 = call ptr @s2n_strerror_debug(i32 noundef %13858, ptr noundef @.str.4)
  %13860 = call ptr @__errno_location() #12
  %13861 = load i32, ptr %13860, align 4, !tbaa !5
  %13862 = call ptr @strerror(i32 noundef %13861) #11
  %13863 = call ptr @__errno_location() #12
  %13864 = load i32, ptr %13863, align 4, !tbaa !5
  %13865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13852, ptr noundef @.str.2, i32 noundef %13853, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 533, ptr noundef %13856, ptr noundef %13859, ptr noundef %13862, i32 noundef %13864) #11
  br label %13883

13866:                                            ; preds = %13844, %13837
  %13867 = load i32, ptr %282, align 4, !tbaa !5
  %13868 = call ptr @__errno_location() #12
  store i32 %13867, ptr %13868, align 4, !tbaa !5
  %13869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13870 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %13872, ptr noundef @.str.4)
  %13874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13875 = load i32, ptr %13874, align 4, !tbaa !5
  %13876 = call ptr @s2n_strerror_debug(i32 noundef %13875, ptr noundef @.str.4)
  %13877 = call ptr @__errno_location() #12
  %13878 = load i32, ptr %13877, align 4, !tbaa !5
  %13879 = call ptr @strerror(i32 noundef %13878) #11
  %13880 = call ptr @__errno_location() #12
  %13881 = load i32, ptr %13880, align 4, !tbaa !5
  %13882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13869, ptr noundef @.str.5, i32 noundef %13870, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 533, ptr noundef %13873, ptr noundef %13876, ptr noundef %13879, i32 noundef %13881) #11
  br label %13883

13883:                                            ; preds = %13866, %13849
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  br label %13884

13884:                                            ; preds = %13883
  br label %13885

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

13886:                                            ; No predecessors!
  br label %13887

13887:                                            ; preds = %13886
  br label %13888

13888:                                            ; preds = %13887, %13828
  br label %13889

13889:                                            ; preds = %13888
  br label %13890

13890:                                            ; preds = %13889
  br label %13891

13891:                                            ; preds = %13890
  br label %13892

13892:                                            ; preds = %13891
  br label %13893

13893:                                            ; preds = %13892
  %13894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13894, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13895 = call ptr @__errno_location() #12
  store i32 0, ptr %13895, align 4, !tbaa !5
  br label %13896

13896:                                            ; preds = %13893
  br label %13897

13897:                                            ; preds = %13896
  br label %13898

13898:                                            ; preds = %13897
  br label %13899

13899:                                            ; preds = %13898
  br label %13900

13900:                                            ; preds = %13899
  %13901 = load i32, ptr @test_count, align 4, !tbaa !5
  %13902 = add nsw i32 %13901, 1
  store i32 %13902, ptr @test_count, align 4, !tbaa !5
  %13903 = load ptr, ptr %270, align 8, !tbaa !9
  %13904 = load i32, ptr %13903, align 8
  %13905 = lshr i32 %13904, 12
  %13906 = and i32 %13905, 1
  %13907 = icmp ne i32 %13906, 0
  br i1 %13907, label %13908, label %13961

13908:                                            ; preds = %13900
  br label %13909

13909:                                            ; preds = %13908
  br label %13910

13910:                                            ; preds = %13909
  call void @llvm.lifetime.start.p0(i64 4, ptr %283) #11
  %13911 = call ptr @__errno_location() #12
  %13912 = load i32, ptr %13911, align 4, !tbaa !5
  store i32 %13912, ptr %283, align 4, !tbaa !5
  %13913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13914 = call i32 @s2n_print_stacktrace(ptr noundef %13913)
  %13915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13916 = trunc i8 %13915 to i1
  br i1 %13916, label %13917, label %13939

13917:                                            ; preds = %13910
  %13918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13919 = call i32 @fileno(ptr noundef %13918) #11
  %13920 = call i32 @isatty(i32 noundef %13919) #11
  %13921 = icmp ne i32 %13920, 0
  br i1 %13921, label %13922, label %13939

13922:                                            ; preds = %13917
  %13923 = load i32, ptr %283, align 4, !tbaa !5
  %13924 = call ptr @__errno_location() #12
  store i32 %13923, ptr %13924, align 4, !tbaa !5
  %13925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13926 = load i32, ptr @test_count, align 4, !tbaa !5
  %13927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13928 = load i32, ptr %13927, align 4, !tbaa !5
  %13929 = call ptr @s2n_strerror(i32 noundef %13928, ptr noundef @.str.4)
  %13930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13931 = load i32, ptr %13930, align 4, !tbaa !5
  %13932 = call ptr @s2n_strerror_debug(i32 noundef %13931, ptr noundef @.str.4)
  %13933 = call ptr @__errno_location() #12
  %13934 = load i32, ptr %13933, align 4, !tbaa !5
  %13935 = call ptr @strerror(i32 noundef %13934) #11
  %13936 = call ptr @__errno_location() #12
  %13937 = load i32, ptr %13936, align 4, !tbaa !5
  %13938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13925, ptr noundef @.str.2, i32 noundef %13926, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 534, ptr noundef %13929, ptr noundef %13932, ptr noundef %13935, i32 noundef %13937) #11
  br label %13956

13939:                                            ; preds = %13917, %13910
  %13940 = load i32, ptr %283, align 4, !tbaa !5
  %13941 = call ptr @__errno_location() #12
  store i32 %13940, ptr %13941, align 4, !tbaa !5
  %13942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13943 = load i32, ptr @test_count, align 4, !tbaa !5
  %13944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13945 = load i32, ptr %13944, align 4, !tbaa !5
  %13946 = call ptr @s2n_strerror(i32 noundef %13945, ptr noundef @.str.4)
  %13947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13948 = load i32, ptr %13947, align 4, !tbaa !5
  %13949 = call ptr @s2n_strerror_debug(i32 noundef %13948, ptr noundef @.str.4)
  %13950 = call ptr @__errno_location() #12
  %13951 = load i32, ptr %13950, align 4, !tbaa !5
  %13952 = call ptr @strerror(i32 noundef %13951) #11
  %13953 = call ptr @__errno_location() #12
  %13954 = load i32, ptr %13953, align 4, !tbaa !5
  %13955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13942, ptr noundef @.str.5, i32 noundef %13943, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 534, ptr noundef %13946, ptr noundef %13949, ptr noundef %13952, i32 noundef %13954) #11
  br label %13956

13956:                                            ; preds = %13939, %13922
  call void @llvm.lifetime.end.p0(i64 4, ptr %283) #11
  br label %13957

13957:                                            ; preds = %13956
  br label %13958

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

13959:                                            ; No predecessors!
  br label %13960

13960:                                            ; preds = %13959
  br label %13961

13961:                                            ; preds = %13960, %13900
  br label %13962

13962:                                            ; preds = %13961
  br label %13963

13963:                                            ; preds = %13962
  br label %13964

13964:                                            ; preds = %13963
  %13965 = load i32, ptr @test_count, align 4, !tbaa !5
  %13966 = add nsw i32 %13965, 1
  store i32 %13966, ptr @test_count, align 4, !tbaa !5
  %13967 = load ptr, ptr %270, align 8, !tbaa !9
  %13968 = call i32 @s2n_config_set_verify_after_sign(ptr noundef %13967, i32 noundef 1)
  %13969 = icmp eq i32 %13968, -1
  br i1 %13969, label %13970, label %14023

13970:                                            ; preds = %13964
  br label %13971

13971:                                            ; preds = %13970
  br label %13972

13972:                                            ; preds = %13971
  call void @llvm.lifetime.start.p0(i64 4, ptr %284) #11
  %13973 = call ptr @__errno_location() #12
  %13974 = load i32, ptr %13973, align 4, !tbaa !5
  store i32 %13974, ptr %284, align 4, !tbaa !5
  %13975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13976 = call i32 @s2n_print_stacktrace(ptr noundef %13975)
  %13977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13978 = trunc i8 %13977 to i1
  br i1 %13978, label %13979, label %14001

13979:                                            ; preds = %13972
  %13980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13981 = call i32 @fileno(ptr noundef %13980) #11
  %13982 = call i32 @isatty(i32 noundef %13981) #11
  %13983 = icmp ne i32 %13982, 0
  br i1 %13983, label %13984, label %14001

13984:                                            ; preds = %13979
  %13985 = load i32, ptr %284, align 4, !tbaa !5
  %13986 = call ptr @__errno_location() #12
  store i32 %13985, ptr %13986, align 4, !tbaa !5
  %13987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13988 = load i32, ptr @test_count, align 4, !tbaa !5
  %13989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13990 = load i32, ptr %13989, align 4, !tbaa !5
  %13991 = call ptr @s2n_strerror(i32 noundef %13990, ptr noundef @.str.4)
  %13992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13993 = load i32, ptr %13992, align 4, !tbaa !5
  %13994 = call ptr @s2n_strerror_debug(i32 noundef %13993, ptr noundef @.str.4)
  %13995 = call ptr @__errno_location() #12
  %13996 = load i32, ptr %13995, align 4, !tbaa !5
  %13997 = call ptr @strerror(i32 noundef %13996) #11
  %13998 = call ptr @__errno_location() #12
  %13999 = load i32, ptr %13998, align 4, !tbaa !5
  %14000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13987, ptr noundef @.str.2, i32 noundef %13988, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 537, ptr noundef %13991, ptr noundef %13994, ptr noundef %13997, i32 noundef %13999) #11
  br label %14018

14001:                                            ; preds = %13979, %13972
  %14002 = load i32, ptr %284, align 4, !tbaa !5
  %14003 = call ptr @__errno_location() #12
  store i32 %14002, ptr %14003, align 4, !tbaa !5
  %14004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14005 = load i32, ptr @test_count, align 4, !tbaa !5
  %14006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14007 = load i32, ptr %14006, align 4, !tbaa !5
  %14008 = call ptr @s2n_strerror(i32 noundef %14007, ptr noundef @.str.4)
  %14009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14010 = load i32, ptr %14009, align 4, !tbaa !5
  %14011 = call ptr @s2n_strerror_debug(i32 noundef %14010, ptr noundef @.str.4)
  %14012 = call ptr @__errno_location() #12
  %14013 = load i32, ptr %14012, align 4, !tbaa !5
  %14014 = call ptr @strerror(i32 noundef %14013) #11
  %14015 = call ptr @__errno_location() #12
  %14016 = load i32, ptr %14015, align 4, !tbaa !5
  %14017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14004, ptr noundef @.str.5, i32 noundef %14005, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 537, ptr noundef %14008, ptr noundef %14011, ptr noundef %14014, i32 noundef %14016) #11
  br label %14018

14018:                                            ; preds = %14001, %13984
  call void @llvm.lifetime.end.p0(i64 4, ptr %284) #11
  br label %14019

14019:                                            ; preds = %14018
  br label %14020

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

14021:                                            ; No predecessors!
  br label %14022

14022:                                            ; preds = %14021
  br label %14023

14023:                                            ; preds = %14022, %13964
  br label %14024

14024:                                            ; preds = %14023
  br label %14025

14025:                                            ; preds = %14024
  br label %14026

14026:                                            ; preds = %14025
  %14027 = load i32, ptr @test_count, align 4, !tbaa !5
  %14028 = add nsw i32 %14027, 1
  store i32 %14028, ptr @test_count, align 4, !tbaa !5
  %14029 = load ptr, ptr %270, align 8, !tbaa !9
  %14030 = load i32, ptr %14029, align 8
  %14031 = lshr i32 %14030, 12
  %14032 = and i32 %14031, 1
  %14033 = icmp ne i32 %14032, 0
  br i1 %14033, label %14087, label %14034

14034:                                            ; preds = %14026
  br label %14035

14035:                                            ; preds = %14034
  br label %14036

14036:                                            ; preds = %14035
  call void @llvm.lifetime.start.p0(i64 4, ptr %285) #11
  %14037 = call ptr @__errno_location() #12
  %14038 = load i32, ptr %14037, align 4, !tbaa !5
  store i32 %14038, ptr %285, align 4, !tbaa !5
  %14039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14040 = call i32 @s2n_print_stacktrace(ptr noundef %14039)
  %14041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14042 = trunc i8 %14041 to i1
  br i1 %14042, label %14043, label %14065

14043:                                            ; preds = %14036
  %14044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14045 = call i32 @fileno(ptr noundef %14044) #11
  %14046 = call i32 @isatty(i32 noundef %14045) #11
  %14047 = icmp ne i32 %14046, 0
  br i1 %14047, label %14048, label %14065

14048:                                            ; preds = %14043
  %14049 = load i32, ptr %285, align 4, !tbaa !5
  %14050 = call ptr @__errno_location() #12
  store i32 %14049, ptr %14050, align 4, !tbaa !5
  %14051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14052 = load i32, ptr @test_count, align 4, !tbaa !5
  %14053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14054 = load i32, ptr %14053, align 4, !tbaa !5
  %14055 = call ptr @s2n_strerror(i32 noundef %14054, ptr noundef @.str.4)
  %14056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14057 = load i32, ptr %14056, align 4, !tbaa !5
  %14058 = call ptr @s2n_strerror_debug(i32 noundef %14057, ptr noundef @.str.4)
  %14059 = call ptr @__errno_location() #12
  %14060 = load i32, ptr %14059, align 4, !tbaa !5
  %14061 = call ptr @strerror(i32 noundef %14060) #11
  %14062 = call ptr @__errno_location() #12
  %14063 = load i32, ptr %14062, align 4, !tbaa !5
  %14064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14051, ptr noundef @.str.2, i32 noundef %14052, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 538, ptr noundef %14055, ptr noundef %14058, ptr noundef %14061, i32 noundef %14063) #11
  br label %14082

14065:                                            ; preds = %14043, %14036
  %14066 = load i32, ptr %285, align 4, !tbaa !5
  %14067 = call ptr @__errno_location() #12
  store i32 %14066, ptr %14067, align 4, !tbaa !5
  %14068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14069 = load i32, ptr @test_count, align 4, !tbaa !5
  %14070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14071 = load i32, ptr %14070, align 4, !tbaa !5
  %14072 = call ptr @s2n_strerror(i32 noundef %14071, ptr noundef @.str.4)
  %14073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14074 = load i32, ptr %14073, align 4, !tbaa !5
  %14075 = call ptr @s2n_strerror_debug(i32 noundef %14074, ptr noundef @.str.4)
  %14076 = call ptr @__errno_location() #12
  %14077 = load i32, ptr %14076, align 4, !tbaa !5
  %14078 = call ptr @strerror(i32 noundef %14077) #11
  %14079 = call ptr @__errno_location() #12
  %14080 = load i32, ptr %14079, align 4, !tbaa !5
  %14081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14068, ptr noundef @.str.5, i32 noundef %14069, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 538, ptr noundef %14072, ptr noundef %14075, ptr noundef %14078, i32 noundef %14080) #11
  br label %14082

14082:                                            ; preds = %14065, %14048
  call void @llvm.lifetime.end.p0(i64 4, ptr %285) #11
  br label %14083

14083:                                            ; preds = %14082
  br label %14084

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

14085:                                            ; No predecessors!
  br label %14086

14086:                                            ; preds = %14085
  br label %14087

14087:                                            ; preds = %14086, %14026
  br label %14088

14088:                                            ; preds = %14087
  br label %14089

14089:                                            ; preds = %14088
  br label %14090

14090:                                            ; preds = %14089
  %14091 = load i32, ptr @test_count, align 4, !tbaa !5
  %14092 = add nsw i32 %14091, 1
  store i32 %14092, ptr @test_count, align 4, !tbaa !5
  %14093 = load ptr, ptr %270, align 8, !tbaa !9
  %14094 = call i32 @s2n_config_set_verify_after_sign(ptr noundef %14093, i32 noundef 0)
  %14095 = icmp eq i32 %14094, -1
  br i1 %14095, label %14096, label %14149

14096:                                            ; preds = %14090
  br label %14097

14097:                                            ; preds = %14096
  br label %14098

14098:                                            ; preds = %14097
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %14099 = call ptr @__errno_location() #12
  %14100 = load i32, ptr %14099, align 4, !tbaa !5
  store i32 %14100, ptr %286, align 4, !tbaa !5
  %14101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14102 = call i32 @s2n_print_stacktrace(ptr noundef %14101)
  %14103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14104 = trunc i8 %14103 to i1
  br i1 %14104, label %14105, label %14127

14105:                                            ; preds = %14098
  %14106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14107 = call i32 @fileno(ptr noundef %14106) #11
  %14108 = call i32 @isatty(i32 noundef %14107) #11
  %14109 = icmp ne i32 %14108, 0
  br i1 %14109, label %14110, label %14127

14110:                                            ; preds = %14105
  %14111 = load i32, ptr %286, align 4, !tbaa !5
  %14112 = call ptr @__errno_location() #12
  store i32 %14111, ptr %14112, align 4, !tbaa !5
  %14113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14114 = load i32, ptr @test_count, align 4, !tbaa !5
  %14115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14116 = load i32, ptr %14115, align 4, !tbaa !5
  %14117 = call ptr @s2n_strerror(i32 noundef %14116, ptr noundef @.str.4)
  %14118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14119 = load i32, ptr %14118, align 4, !tbaa !5
  %14120 = call ptr @s2n_strerror_debug(i32 noundef %14119, ptr noundef @.str.4)
  %14121 = call ptr @__errno_location() #12
  %14122 = load i32, ptr %14121, align 4, !tbaa !5
  %14123 = call ptr @strerror(i32 noundef %14122) #11
  %14124 = call ptr @__errno_location() #12
  %14125 = load i32, ptr %14124, align 4, !tbaa !5
  %14126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14113, ptr noundef @.str.2, i32 noundef %14114, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 539, ptr noundef %14117, ptr noundef %14120, ptr noundef %14123, i32 noundef %14125) #11
  br label %14144

14127:                                            ; preds = %14105, %14098
  %14128 = load i32, ptr %286, align 4, !tbaa !5
  %14129 = call ptr @__errno_location() #12
  store i32 %14128, ptr %14129, align 4, !tbaa !5
  %14130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14131 = load i32, ptr @test_count, align 4, !tbaa !5
  %14132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14133 = load i32, ptr %14132, align 4, !tbaa !5
  %14134 = call ptr @s2n_strerror(i32 noundef %14133, ptr noundef @.str.4)
  %14135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14136 = load i32, ptr %14135, align 4, !tbaa !5
  %14137 = call ptr @s2n_strerror_debug(i32 noundef %14136, ptr noundef @.str.4)
  %14138 = call ptr @__errno_location() #12
  %14139 = load i32, ptr %14138, align 4, !tbaa !5
  %14140 = call ptr @strerror(i32 noundef %14139) #11
  %14141 = call ptr @__errno_location() #12
  %14142 = load i32, ptr %14141, align 4, !tbaa !5
  %14143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14130, ptr noundef @.str.5, i32 noundef %14131, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 539, ptr noundef %14134, ptr noundef %14137, ptr noundef %14140, i32 noundef %14142) #11
  br label %14144

14144:                                            ; preds = %14127, %14110
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %14145

14145:                                            ; preds = %14144
  br label %14146

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

14147:                                            ; No predecessors!
  br label %14148

14148:                                            ; preds = %14147
  br label %14149

14149:                                            ; preds = %14148, %14090
  br label %14150

14150:                                            ; preds = %14149
  br label %14151

14151:                                            ; preds = %14150
  br label %14152

14152:                                            ; preds = %14151
  %14153 = load i32, ptr @test_count, align 4, !tbaa !5
  %14154 = add nsw i32 %14153, 1
  store i32 %14154, ptr @test_count, align 4, !tbaa !5
  %14155 = load ptr, ptr %270, align 8, !tbaa !9
  %14156 = load i32, ptr %14155, align 8
  %14157 = lshr i32 %14156, 12
  %14158 = and i32 %14157, 1
  %14159 = icmp ne i32 %14158, 0
  br i1 %14159, label %14160, label %14213

14160:                                            ; preds = %14152
  br label %14161

14161:                                            ; preds = %14160
  br label %14162

14162:                                            ; preds = %14161
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #11
  %14163 = call ptr @__errno_location() #12
  %14164 = load i32, ptr %14163, align 4, !tbaa !5
  store i32 %14164, ptr %287, align 4, !tbaa !5
  %14165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14166 = call i32 @s2n_print_stacktrace(ptr noundef %14165)
  %14167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14168 = trunc i8 %14167 to i1
  br i1 %14168, label %14169, label %14191

14169:                                            ; preds = %14162
  %14170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14171 = call i32 @fileno(ptr noundef %14170) #11
  %14172 = call i32 @isatty(i32 noundef %14171) #11
  %14173 = icmp ne i32 %14172, 0
  br i1 %14173, label %14174, label %14191

14174:                                            ; preds = %14169
  %14175 = load i32, ptr %287, align 4, !tbaa !5
  %14176 = call ptr @__errno_location() #12
  store i32 %14175, ptr %14176, align 4, !tbaa !5
  %14177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14178 = load i32, ptr @test_count, align 4, !tbaa !5
  %14179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14180 = load i32, ptr %14179, align 4, !tbaa !5
  %14181 = call ptr @s2n_strerror(i32 noundef %14180, ptr noundef @.str.4)
  %14182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14183 = load i32, ptr %14182, align 4, !tbaa !5
  %14184 = call ptr @s2n_strerror_debug(i32 noundef %14183, ptr noundef @.str.4)
  %14185 = call ptr @__errno_location() #12
  %14186 = load i32, ptr %14185, align 4, !tbaa !5
  %14187 = call ptr @strerror(i32 noundef %14186) #11
  %14188 = call ptr @__errno_location() #12
  %14189 = load i32, ptr %14188, align 4, !tbaa !5
  %14190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14177, ptr noundef @.str.2, i32 noundef %14178, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 540, ptr noundef %14181, ptr noundef %14184, ptr noundef %14187, i32 noundef %14189) #11
  br label %14208

14191:                                            ; preds = %14169, %14162
  %14192 = load i32, ptr %287, align 4, !tbaa !5
  %14193 = call ptr @__errno_location() #12
  store i32 %14192, ptr %14193, align 4, !tbaa !5
  %14194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14195 = load i32, ptr @test_count, align 4, !tbaa !5
  %14196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14197 = load i32, ptr %14196, align 4, !tbaa !5
  %14198 = call ptr @s2n_strerror(i32 noundef %14197, ptr noundef @.str.4)
  %14199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14200 = load i32, ptr %14199, align 4, !tbaa !5
  %14201 = call ptr @s2n_strerror_debug(i32 noundef %14200, ptr noundef @.str.4)
  %14202 = call ptr @__errno_location() #12
  %14203 = load i32, ptr %14202, align 4, !tbaa !5
  %14204 = call ptr @strerror(i32 noundef %14203) #11
  %14205 = call ptr @__errno_location() #12
  %14206 = load i32, ptr %14205, align 4, !tbaa !5
  %14207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14194, ptr noundef @.str.5, i32 noundef %14195, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 540, ptr noundef %14198, ptr noundef %14201, ptr noundef %14204, i32 noundef %14206) #11
  br label %14208

14208:                                            ; preds = %14191, %14174
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #11
  br label %14209

14209:                                            ; preds = %14208
  br label %14210

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

14211:                                            ; No predecessors!
  br label %14212

14212:                                            ; preds = %14211
  br label %14213

14213:                                            ; preds = %14212, %14152
  br label %14214

14214:                                            ; preds = %14213
  br label %14215

14215:                                            ; preds = %14214
  %14216 = call i32 @s2n_config_ptr_free(ptr noundef %270)
  %14217 = getelementptr inbounds %struct.s2n_result, ptr %288, i32 0, i32 0
  store i32 %14216, ptr %14217, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %270) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %289) #11
  store i8 0, ptr %289, align 1, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr %290) #11
  %14218 = call ptr @s2n_config_new()
  store ptr %14218, ptr %290, align 8, !tbaa !9
  br label %14219

14219:                                            ; preds = %14215
  %14220 = load i32, ptr @test_count, align 4, !tbaa !5
  %14221 = add nsw i32 %14220, 1
  store i32 %14221, ptr @test_count, align 4, !tbaa !5
  %14222 = load ptr, ptr %290, align 8, !tbaa !9
  %14223 = icmp eq ptr %14222, null
  br i1 %14223, label %14224, label %14277

14224:                                            ; preds = %14219
  br label %14225

14225:                                            ; preds = %14224
  br label %14226

14226:                                            ; preds = %14225
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %14227 = call ptr @__errno_location() #12
  %14228 = load i32, ptr %14227, align 4, !tbaa !5
  store i32 %14228, ptr %291, align 4, !tbaa !5
  %14229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14230 = call i32 @s2n_print_stacktrace(ptr noundef %14229)
  %14231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14232 = trunc i8 %14231 to i1
  br i1 %14232, label %14233, label %14255

14233:                                            ; preds = %14226
  %14234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14235 = call i32 @fileno(ptr noundef %14234) #11
  %14236 = call i32 @isatty(i32 noundef %14235) #11
  %14237 = icmp ne i32 %14236, 0
  br i1 %14237, label %14238, label %14255

14238:                                            ; preds = %14233
  %14239 = load i32, ptr %291, align 4, !tbaa !5
  %14240 = call ptr @__errno_location() #12
  store i32 %14239, ptr %14240, align 4, !tbaa !5
  %14241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14242 = load i32, ptr @test_count, align 4, !tbaa !5
  %14243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14244 = load i32, ptr %14243, align 4, !tbaa !5
  %14245 = call ptr @s2n_strerror(i32 noundef %14244, ptr noundef @.str.4)
  %14246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14247 = load i32, ptr %14246, align 4, !tbaa !5
  %14248 = call ptr @s2n_strerror_debug(i32 noundef %14247, ptr noundef @.str.4)
  %14249 = call ptr @__errno_location() #12
  %14250 = load i32, ptr %14249, align 4, !tbaa !5
  %14251 = call ptr @strerror(i32 noundef %14250) #11
  %14252 = call ptr @__errno_location() #12
  %14253 = load i32, ptr %14252, align 4, !tbaa !5
  %14254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14241, ptr noundef @.str.2, i32 noundef %14242, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 547, ptr noundef %14245, ptr noundef %14248, ptr noundef %14251, i32 noundef %14253) #11
  br label %14272

14255:                                            ; preds = %14233, %14226
  %14256 = load i32, ptr %291, align 4, !tbaa !5
  %14257 = call ptr @__errno_location() #12
  store i32 %14256, ptr %14257, align 4, !tbaa !5
  %14258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14259 = load i32, ptr @test_count, align 4, !tbaa !5
  %14260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14261 = load i32, ptr %14260, align 4, !tbaa !5
  %14262 = call ptr @s2n_strerror(i32 noundef %14261, ptr noundef @.str.4)
  %14263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14264 = load i32, ptr %14263, align 4, !tbaa !5
  %14265 = call ptr @s2n_strerror_debug(i32 noundef %14264, ptr noundef @.str.4)
  %14266 = call ptr @__errno_location() #12
  %14267 = load i32, ptr %14266, align 4, !tbaa !5
  %14268 = call ptr @strerror(i32 noundef %14267) #11
  %14269 = call ptr @__errno_location() #12
  %14270 = load i32, ptr %14269, align 4, !tbaa !5
  %14271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14258, ptr noundef @.str.5, i32 noundef %14259, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 547, ptr noundef %14262, ptr noundef %14265, ptr noundef %14268, i32 noundef %14270) #11
  br label %14272

14272:                                            ; preds = %14255, %14238
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %14273

14273:                                            ; preds = %14272
  br label %14274

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

14275:                                            ; No predecessors!
  br label %14276

14276:                                            ; preds = %14275
  br label %14277

14277:                                            ; preds = %14276, %14219
  br label %14278

14278:                                            ; preds = %14277
  br label %14279

14279:                                            ; preds = %14278
  br label %14280

14280:                                            ; preds = %14279
  %14281 = load i32, ptr @test_count, align 4, !tbaa !5
  %14282 = add nsw i32 %14281, 1
  store i32 %14282, ptr @test_count, align 4, !tbaa !5
  %14283 = load ptr, ptr %290, align 8, !tbaa !9
  %14284 = getelementptr inbounds %struct.s2n_config, ptr %14283, i32 0, i32 54
  %14285 = load ptr, ptr %14284, align 8, !tbaa !60
  %14286 = icmp eq ptr %14285, null
  br i1 %14286, label %14340, label %14287

14287:                                            ; preds = %14280
  br label %14288

14288:                                            ; preds = %14287
  br label %14289

14289:                                            ; preds = %14288
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #11
  %14290 = call ptr @__errno_location() #12
  %14291 = load i32, ptr %14290, align 4, !tbaa !5
  store i32 %14291, ptr %292, align 4, !tbaa !5
  %14292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14293 = call i32 @s2n_print_stacktrace(ptr noundef %14292)
  %14294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14295 = trunc i8 %14294 to i1
  br i1 %14295, label %14296, label %14318

14296:                                            ; preds = %14289
  %14297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14298 = call i32 @fileno(ptr noundef %14297) #11
  %14299 = call i32 @isatty(i32 noundef %14298) #11
  %14300 = icmp ne i32 %14299, 0
  br i1 %14300, label %14301, label %14318

14301:                                            ; preds = %14296
  %14302 = load i32, ptr %292, align 4, !tbaa !5
  %14303 = call ptr @__errno_location() #12
  store i32 %14302, ptr %14303, align 4, !tbaa !5
  %14304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14305 = load i32, ptr @test_count, align 4, !tbaa !5
  %14306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14307 = load i32, ptr %14306, align 4, !tbaa !5
  %14308 = call ptr @s2n_strerror(i32 noundef %14307, ptr noundef @.str.4)
  %14309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14310 = load i32, ptr %14309, align 4, !tbaa !5
  %14311 = call ptr @s2n_strerror_debug(i32 noundef %14310, ptr noundef @.str.4)
  %14312 = call ptr @__errno_location() #12
  %14313 = load i32, ptr %14312, align 4, !tbaa !5
  %14314 = call ptr @strerror(i32 noundef %14313) #11
  %14315 = call ptr @__errno_location() #12
  %14316 = load i32, ptr %14315, align 4, !tbaa !5
  %14317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14304, ptr noundef @.str.2, i32 noundef %14305, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 550, ptr noundef %14308, ptr noundef %14311, ptr noundef %14314, i32 noundef %14316) #11
  br label %14335

14318:                                            ; preds = %14296, %14289
  %14319 = load i32, ptr %292, align 4, !tbaa !5
  %14320 = call ptr @__errno_location() #12
  store i32 %14319, ptr %14320, align 4, !tbaa !5
  %14321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14322 = load i32, ptr @test_count, align 4, !tbaa !5
  %14323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14324 = load i32, ptr %14323, align 4, !tbaa !5
  %14325 = call ptr @s2n_strerror(i32 noundef %14324, ptr noundef @.str.4)
  %14326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14327 = load i32, ptr %14326, align 4, !tbaa !5
  %14328 = call ptr @s2n_strerror_debug(i32 noundef %14327, ptr noundef @.str.4)
  %14329 = call ptr @__errno_location() #12
  %14330 = load i32, ptr %14329, align 4, !tbaa !5
  %14331 = call ptr @strerror(i32 noundef %14330) #11
  %14332 = call ptr @__errno_location() #12
  %14333 = load i32, ptr %14332, align 4, !tbaa !5
  %14334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14321, ptr noundef @.str.5, i32 noundef %14322, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 550, ptr noundef %14325, ptr noundef %14328, ptr noundef %14331, i32 noundef %14333) #11
  br label %14335

14335:                                            ; preds = %14318, %14301
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #11
  br label %14336

14336:                                            ; preds = %14335
  br label %14337

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

14338:                                            ; No predecessors!
  br label %14339

14339:                                            ; preds = %14338
  br label %14340

14340:                                            ; preds = %14339, %14280
  br label %14341

14341:                                            ; preds = %14340
  br label %14342

14342:                                            ; preds = %14341
  br label %14343

14343:                                            ; preds = %14342
  %14344 = load i32, ptr @test_count, align 4, !tbaa !5
  %14345 = add nsw i32 %14344, 1
  store i32 %14345, ptr @test_count, align 4, !tbaa !5
  %14346 = load ptr, ptr %290, align 8, !tbaa !9
  %14347 = getelementptr inbounds %struct.s2n_config, ptr %14346, i32 0, i32 53
  %14348 = load ptr, ptr %14347, align 8, !tbaa !61
  %14349 = icmp eq ptr %14348, null
  br i1 %14349, label %14403, label %14350

14350:                                            ; preds = %14343
  br label %14351

14351:                                            ; preds = %14350
  br label %14352

14352:                                            ; preds = %14351
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %14353 = call ptr @__errno_location() #12
  %14354 = load i32, ptr %14353, align 4, !tbaa !5
  store i32 %14354, ptr %293, align 4, !tbaa !5
  %14355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14356 = call i32 @s2n_print_stacktrace(ptr noundef %14355)
  %14357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14358 = trunc i8 %14357 to i1
  br i1 %14358, label %14359, label %14381

14359:                                            ; preds = %14352
  %14360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14361 = call i32 @fileno(ptr noundef %14360) #11
  %14362 = call i32 @isatty(i32 noundef %14361) #11
  %14363 = icmp ne i32 %14362, 0
  br i1 %14363, label %14364, label %14381

14364:                                            ; preds = %14359
  %14365 = load i32, ptr %293, align 4, !tbaa !5
  %14366 = call ptr @__errno_location() #12
  store i32 %14365, ptr %14366, align 4, !tbaa !5
  %14367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14368 = load i32, ptr @test_count, align 4, !tbaa !5
  %14369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14370 = load i32, ptr %14369, align 4, !tbaa !5
  %14371 = call ptr @s2n_strerror(i32 noundef %14370, ptr noundef @.str.4)
  %14372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14373 = load i32, ptr %14372, align 4, !tbaa !5
  %14374 = call ptr @s2n_strerror_debug(i32 noundef %14373, ptr noundef @.str.4)
  %14375 = call ptr @__errno_location() #12
  %14376 = load i32, ptr %14375, align 4, !tbaa !5
  %14377 = call ptr @strerror(i32 noundef %14376) #11
  %14378 = call ptr @__errno_location() #12
  %14379 = load i32, ptr %14378, align 4, !tbaa !5
  %14380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14367, ptr noundef @.str.2, i32 noundef %14368, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 551, ptr noundef %14371, ptr noundef %14374, ptr noundef %14377, i32 noundef %14379) #11
  br label %14398

14381:                                            ; preds = %14359, %14352
  %14382 = load i32, ptr %293, align 4, !tbaa !5
  %14383 = call ptr @__errno_location() #12
  store i32 %14382, ptr %14383, align 4, !tbaa !5
  %14384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14385 = load i32, ptr @test_count, align 4, !tbaa !5
  %14386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14387 = load i32, ptr %14386, align 4, !tbaa !5
  %14388 = call ptr @s2n_strerror(i32 noundef %14387, ptr noundef @.str.4)
  %14389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14390 = load i32, ptr %14389, align 4, !tbaa !5
  %14391 = call ptr @s2n_strerror_debug(i32 noundef %14390, ptr noundef @.str.4)
  %14392 = call ptr @__errno_location() #12
  %14393 = load i32, ptr %14392, align 4, !tbaa !5
  %14394 = call ptr @strerror(i32 noundef %14393) #11
  %14395 = call ptr @__errno_location() #12
  %14396 = load i32, ptr %14395, align 4, !tbaa !5
  %14397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14384, ptr noundef @.str.5, i32 noundef %14385, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 551, ptr noundef %14388, ptr noundef %14391, ptr noundef %14394, i32 noundef %14396) #11
  br label %14398

14398:                                            ; preds = %14381, %14364
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %14399

14399:                                            ; preds = %14398
  br label %14400

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

14401:                                            ; No predecessors!
  br label %14402

14402:                                            ; preds = %14401
  br label %14403

14403:                                            ; preds = %14402, %14343
  br label %14404

14404:                                            ; preds = %14403
  br label %14405

14405:                                            ; preds = %14404
  br label %14406

14406:                                            ; preds = %14405
  br label %14407

14407:                                            ; preds = %14406
  br label %14408

14408:                                            ; preds = %14407
  %14409 = load i32, ptr @test_count, align 4, !tbaa !5
  %14410 = add nsw i32 %14409, 1
  store i32 %14410, ptr @test_count, align 4, !tbaa !5
  %14411 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef null, ptr noundef @s2n_test_reneg_req_cb, ptr noundef %289)
  %14412 = icmp eq i32 %14411, -1
  br i1 %14412, label %14466, label %14413

14413:                                            ; preds = %14408
  br label %14414

14414:                                            ; preds = %14413
  br label %14415

14415:                                            ; preds = %14414
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %14416 = call ptr @__errno_location() #12
  %14417 = load i32, ptr %14416, align 4, !tbaa !5
  store i32 %14417, ptr %294, align 4, !tbaa !5
  %14418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14419 = call i32 @s2n_print_stacktrace(ptr noundef %14418)
  %14420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14421 = trunc i8 %14420 to i1
  br i1 %14421, label %14422, label %14444

14422:                                            ; preds = %14415
  %14423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14424 = call i32 @fileno(ptr noundef %14423) #11
  %14425 = call i32 @isatty(i32 noundef %14424) #11
  %14426 = icmp ne i32 %14425, 0
  br i1 %14426, label %14427, label %14444

14427:                                            ; preds = %14422
  %14428 = load i32, ptr %294, align 4, !tbaa !5
  %14429 = call ptr @__errno_location() #12
  store i32 %14428, ptr %14429, align 4, !tbaa !5
  %14430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14431 = load i32, ptr @test_count, align 4, !tbaa !5
  %14432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14433 = load i32, ptr %14432, align 4, !tbaa !5
  %14434 = call ptr @s2n_strerror(i32 noundef %14433, ptr noundef @.str.4)
  %14435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14436 = load i32, ptr %14435, align 4, !tbaa !5
  %14437 = call ptr @s2n_strerror_debug(i32 noundef %14436, ptr noundef @.str.4)
  %14438 = call ptr @__errno_location() #12
  %14439 = load i32, ptr %14438, align 4, !tbaa !5
  %14440 = call ptr @strerror(i32 noundef %14439) #11
  %14441 = call ptr @__errno_location() #12
  %14442 = load i32, ptr %14441, align 4, !tbaa !5
  %14443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14430, ptr noundef @.str.2, i32 noundef %14431, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 554, ptr noundef %14434, ptr noundef %14437, ptr noundef %14440, i32 noundef %14442) #11
  br label %14461

14444:                                            ; preds = %14422, %14415
  %14445 = load i32, ptr %294, align 4, !tbaa !5
  %14446 = call ptr @__errno_location() #12
  store i32 %14445, ptr %14446, align 4, !tbaa !5
  %14447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14448 = load i32, ptr @test_count, align 4, !tbaa !5
  %14449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14450 = load i32, ptr %14449, align 4, !tbaa !5
  %14451 = call ptr @s2n_strerror(i32 noundef %14450, ptr noundef @.str.4)
  %14452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14453 = load i32, ptr %14452, align 4, !tbaa !5
  %14454 = call ptr @s2n_strerror_debug(i32 noundef %14453, ptr noundef @.str.4)
  %14455 = call ptr @__errno_location() #12
  %14456 = load i32, ptr %14455, align 4, !tbaa !5
  %14457 = call ptr @strerror(i32 noundef %14456) #11
  %14458 = call ptr @__errno_location() #12
  %14459 = load i32, ptr %14458, align 4, !tbaa !5
  %14460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14447, ptr noundef @.str.5, i32 noundef %14448, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 554, ptr noundef %14451, ptr noundef %14454, ptr noundef %14457, i32 noundef %14459) #11
  br label %14461

14461:                                            ; preds = %14444, %14427
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %14462

14462:                                            ; preds = %14461
  br label %14463

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

14464:                                            ; No predecessors!
  br label %14465

14465:                                            ; preds = %14464
  br label %14466

14466:                                            ; preds = %14465, %14408
  br label %14467

14467:                                            ; preds = %14466
  br label %14468

14468:                                            ; preds = %14467
  br label %14469

14469:                                            ; preds = %14468
  %14470 = load i32, ptr @test_count, align 4, !tbaa !5
  %14471 = add nsw i32 %14470, 1
  store i32 %14471, ptr @test_count, align 4, !tbaa !5
  %14472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14473 = load i32, ptr %14472, align 4, !tbaa !5
  %14474 = icmp eq i32 %14473, 402653193
  br i1 %14474, label %14528, label %14475

14475:                                            ; preds = %14469
  br label %14476

14476:                                            ; preds = %14475
  br label %14477

14477:                                            ; preds = %14476
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  %14478 = call ptr @__errno_location() #12
  %14479 = load i32, ptr %14478, align 4, !tbaa !5
  store i32 %14479, ptr %295, align 4, !tbaa !5
  %14480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14481 = call i32 @s2n_print_stacktrace(ptr noundef %14480)
  %14482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14483 = trunc i8 %14482 to i1
  br i1 %14483, label %14484, label %14506

14484:                                            ; preds = %14477
  %14485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14486 = call i32 @fileno(ptr noundef %14485) #11
  %14487 = call i32 @isatty(i32 noundef %14486) #11
  %14488 = icmp ne i32 %14487, 0
  br i1 %14488, label %14489, label %14506

14489:                                            ; preds = %14484
  %14490 = load i32, ptr %295, align 4, !tbaa !5
  %14491 = call ptr @__errno_location() #12
  store i32 %14490, ptr %14491, align 4, !tbaa !5
  %14492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14493 = load i32, ptr @test_count, align 4, !tbaa !5
  %14494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14495 = load i32, ptr %14494, align 4, !tbaa !5
  %14496 = call ptr @s2n_strerror(i32 noundef %14495, ptr noundef @.str.4)
  %14497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14498 = load i32, ptr %14497, align 4, !tbaa !5
  %14499 = call ptr @s2n_strerror_debug(i32 noundef %14498, ptr noundef @.str.4)
  %14500 = call ptr @__errno_location() #12
  %14501 = load i32, ptr %14500, align 4, !tbaa !5
  %14502 = call ptr @strerror(i32 noundef %14501) #11
  %14503 = call ptr @__errno_location() #12
  %14504 = load i32, ptr %14503, align 4, !tbaa !5
  %14505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14492, ptr noundef @.str.2, i32 noundef %14493, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 554, ptr noundef %14496, ptr noundef %14499, ptr noundef %14502, i32 noundef %14504) #11
  br label %14523

14506:                                            ; preds = %14484, %14477
  %14507 = load i32, ptr %295, align 4, !tbaa !5
  %14508 = call ptr @__errno_location() #12
  store i32 %14507, ptr %14508, align 4, !tbaa !5
  %14509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14510 = load i32, ptr @test_count, align 4, !tbaa !5
  %14511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14512 = load i32, ptr %14511, align 4, !tbaa !5
  %14513 = call ptr @s2n_strerror(i32 noundef %14512, ptr noundef @.str.4)
  %14514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14515 = load i32, ptr %14514, align 4, !tbaa !5
  %14516 = call ptr @s2n_strerror_debug(i32 noundef %14515, ptr noundef @.str.4)
  %14517 = call ptr @__errno_location() #12
  %14518 = load i32, ptr %14517, align 4, !tbaa !5
  %14519 = call ptr @strerror(i32 noundef %14518) #11
  %14520 = call ptr @__errno_location() #12
  %14521 = load i32, ptr %14520, align 4, !tbaa !5
  %14522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14509, ptr noundef @.str.5, i32 noundef %14510, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 554, ptr noundef %14513, ptr noundef %14516, ptr noundef %14519, i32 noundef %14521) #11
  br label %14523

14523:                                            ; preds = %14506, %14489
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  br label %14524

14524:                                            ; preds = %14523
  br label %14525

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

14526:                                            ; No predecessors!
  br label %14527

14527:                                            ; preds = %14526
  br label %14528

14528:                                            ; preds = %14527, %14469
  br label %14529

14529:                                            ; preds = %14528
  br label %14530

14530:                                            ; preds = %14529
  br label %14531

14531:                                            ; preds = %14530
  %14532 = load i32, ptr @test_count, align 4, !tbaa !5
  %14533 = add nsw i32 %14532, 1
  store i32 %14533, ptr @test_count, align 4, !tbaa !5
  %14534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14535 = load i32, ptr %14534, align 4, !tbaa !5
  %14536 = call ptr @s2n_strerror_debug(i32 noundef %14535, ptr noundef @.str.4)
  %14537 = icmp eq ptr %14536, null
  br i1 %14537, label %14538, label %14591

14538:                                            ; preds = %14531
  br label %14539

14539:                                            ; preds = %14538
  br label %14540

14540:                                            ; preds = %14539
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %14541 = call ptr @__errno_location() #12
  %14542 = load i32, ptr %14541, align 4, !tbaa !5
  store i32 %14542, ptr %296, align 4, !tbaa !5
  %14543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14544 = call i32 @s2n_print_stacktrace(ptr noundef %14543)
  %14545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14546 = trunc i8 %14545 to i1
  br i1 %14546, label %14547, label %14569

14547:                                            ; preds = %14540
  %14548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14549 = call i32 @fileno(ptr noundef %14548) #11
  %14550 = call i32 @isatty(i32 noundef %14549) #11
  %14551 = icmp ne i32 %14550, 0
  br i1 %14551, label %14552, label %14569

14552:                                            ; preds = %14547
  %14553 = load i32, ptr %296, align 4, !tbaa !5
  %14554 = call ptr @__errno_location() #12
  store i32 %14553, ptr %14554, align 4, !tbaa !5
  %14555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14556 = load i32, ptr @test_count, align 4, !tbaa !5
  %14557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14558 = load i32, ptr %14557, align 4, !tbaa !5
  %14559 = call ptr @s2n_strerror(i32 noundef %14558, ptr noundef @.str.4)
  %14560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14561 = load i32, ptr %14560, align 4, !tbaa !5
  %14562 = call ptr @s2n_strerror_debug(i32 noundef %14561, ptr noundef @.str.4)
  %14563 = call ptr @__errno_location() #12
  %14564 = load i32, ptr %14563, align 4, !tbaa !5
  %14565 = call ptr @strerror(i32 noundef %14564) #11
  %14566 = call ptr @__errno_location() #12
  %14567 = load i32, ptr %14566, align 4, !tbaa !5
  %14568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14555, ptr noundef @.str.2, i32 noundef %14556, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 554, ptr noundef %14559, ptr noundef %14562, ptr noundef %14565, i32 noundef %14567) #11
  br label %14586

14569:                                            ; preds = %14547, %14540
  %14570 = load i32, ptr %296, align 4, !tbaa !5
  %14571 = call ptr @__errno_location() #12
  store i32 %14570, ptr %14571, align 4, !tbaa !5
  %14572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14573 = load i32, ptr @test_count, align 4, !tbaa !5
  %14574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14575 = load i32, ptr %14574, align 4, !tbaa !5
  %14576 = call ptr @s2n_strerror(i32 noundef %14575, ptr noundef @.str.4)
  %14577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14578 = load i32, ptr %14577, align 4, !tbaa !5
  %14579 = call ptr @s2n_strerror_debug(i32 noundef %14578, ptr noundef @.str.4)
  %14580 = call ptr @__errno_location() #12
  %14581 = load i32, ptr %14580, align 4, !tbaa !5
  %14582 = call ptr @strerror(i32 noundef %14581) #11
  %14583 = call ptr @__errno_location() #12
  %14584 = load i32, ptr %14583, align 4, !tbaa !5
  %14585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14572, ptr noundef @.str.5, i32 noundef %14573, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 554, ptr noundef %14576, ptr noundef %14579, ptr noundef %14582, i32 noundef %14584) #11
  br label %14586

14586:                                            ; preds = %14569, %14552
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %14587

14587:                                            ; preds = %14586
  br label %14588

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

14589:                                            ; No predecessors!
  br label %14590

14590:                                            ; preds = %14589
  br label %14591

14591:                                            ; preds = %14590, %14531
  br label %14592

14592:                                            ; preds = %14591
  br label %14593

14593:                                            ; preds = %14592
  br label %14594

14594:                                            ; preds = %14593
  br label %14595

14595:                                            ; preds = %14594
  br label %14596

14596:                                            ; preds = %14595
  %14597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14597, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14598 = call ptr @__errno_location() #12
  store i32 0, ptr %14598, align 4, !tbaa !5
  br label %14599

14599:                                            ; preds = %14596
  br label %14600

14600:                                            ; preds = %14599
  br label %14601

14601:                                            ; preds = %14600
  br label %14602

14602:                                            ; preds = %14601
  br label %14603

14603:                                            ; preds = %14602
  %14604 = load i32, ptr @test_count, align 4, !tbaa !5
  %14605 = add nsw i32 %14604, 1
  store i32 %14605, ptr @test_count, align 4, !tbaa !5
  %14606 = load ptr, ptr %290, align 8, !tbaa !9
  %14607 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %14606, ptr noundef null, ptr noundef %289)
  %14608 = icmp eq i32 %14607, -1
  br i1 %14608, label %14609, label %14662

14609:                                            ; preds = %14603
  br label %14610

14610:                                            ; preds = %14609
  br label %14611

14611:                                            ; preds = %14610
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #11
  %14612 = call ptr @__errno_location() #12
  %14613 = load i32, ptr %14612, align 4, !tbaa !5
  store i32 %14613, ptr %297, align 4, !tbaa !5
  %14614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14615 = call i32 @s2n_print_stacktrace(ptr noundef %14614)
  %14616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14617 = trunc i8 %14616 to i1
  br i1 %14617, label %14618, label %14640

14618:                                            ; preds = %14611
  %14619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14620 = call i32 @fileno(ptr noundef %14619) #11
  %14621 = call i32 @isatty(i32 noundef %14620) #11
  %14622 = icmp ne i32 %14621, 0
  br i1 %14622, label %14623, label %14640

14623:                                            ; preds = %14618
  %14624 = load i32, ptr %297, align 4, !tbaa !5
  %14625 = call ptr @__errno_location() #12
  store i32 %14624, ptr %14625, align 4, !tbaa !5
  %14626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14627 = load i32, ptr @test_count, align 4, !tbaa !5
  %14628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14629 = load i32, ptr %14628, align 4, !tbaa !5
  %14630 = call ptr @s2n_strerror(i32 noundef %14629, ptr noundef @.str.4)
  %14631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14632 = load i32, ptr %14631, align 4, !tbaa !5
  %14633 = call ptr @s2n_strerror_debug(i32 noundef %14632, ptr noundef @.str.4)
  %14634 = call ptr @__errno_location() #12
  %14635 = load i32, ptr %14634, align 4, !tbaa !5
  %14636 = call ptr @strerror(i32 noundef %14635) #11
  %14637 = call ptr @__errno_location() #12
  %14638 = load i32, ptr %14637, align 4, !tbaa !5
  %14639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14626, ptr noundef @.str.2, i32 noundef %14627, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 555, ptr noundef %14630, ptr noundef %14633, ptr noundef %14636, i32 noundef %14638) #11
  br label %14657

14640:                                            ; preds = %14618, %14611
  %14641 = load i32, ptr %297, align 4, !tbaa !5
  %14642 = call ptr @__errno_location() #12
  store i32 %14641, ptr %14642, align 4, !tbaa !5
  %14643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14644 = load i32, ptr @test_count, align 4, !tbaa !5
  %14645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14646 = load i32, ptr %14645, align 4, !tbaa !5
  %14647 = call ptr @s2n_strerror(i32 noundef %14646, ptr noundef @.str.4)
  %14648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14649 = load i32, ptr %14648, align 4, !tbaa !5
  %14650 = call ptr @s2n_strerror_debug(i32 noundef %14649, ptr noundef @.str.4)
  %14651 = call ptr @__errno_location() #12
  %14652 = load i32, ptr %14651, align 4, !tbaa !5
  %14653 = call ptr @strerror(i32 noundef %14652) #11
  %14654 = call ptr @__errno_location() #12
  %14655 = load i32, ptr %14654, align 4, !tbaa !5
  %14656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14643, ptr noundef @.str.5, i32 noundef %14644, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 555, ptr noundef %14647, ptr noundef %14650, ptr noundef %14653, i32 noundef %14655) #11
  br label %14657

14657:                                            ; preds = %14640, %14623
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #11
  br label %14658

14658:                                            ; preds = %14657
  br label %14659

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

14660:                                            ; No predecessors!
  br label %14661

14661:                                            ; preds = %14660
  br label %14662

14662:                                            ; preds = %14661, %14603
  br label %14663

14663:                                            ; preds = %14662
  br label %14664

14664:                                            ; preds = %14663
  br label %14665

14665:                                            ; preds = %14664
  %14666 = load i32, ptr @test_count, align 4, !tbaa !5
  %14667 = add nsw i32 %14666, 1
  store i32 %14667, ptr @test_count, align 4, !tbaa !5
  %14668 = load ptr, ptr %290, align 8, !tbaa !9
  %14669 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %14668, ptr noundef @s2n_test_reneg_req_cb, ptr noundef null)
  %14670 = icmp eq i32 %14669, -1
  br i1 %14670, label %14671, label %14724

14671:                                            ; preds = %14665
  br label %14672

14672:                                            ; preds = %14671
  br label %14673

14673:                                            ; preds = %14672
  call void @llvm.lifetime.start.p0(i64 4, ptr %298) #11
  %14674 = call ptr @__errno_location() #12
  %14675 = load i32, ptr %14674, align 4, !tbaa !5
  store i32 %14675, ptr %298, align 4, !tbaa !5
  %14676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14677 = call i32 @s2n_print_stacktrace(ptr noundef %14676)
  %14678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14679 = trunc i8 %14678 to i1
  br i1 %14679, label %14680, label %14702

14680:                                            ; preds = %14673
  %14681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14682 = call i32 @fileno(ptr noundef %14681) #11
  %14683 = call i32 @isatty(i32 noundef %14682) #11
  %14684 = icmp ne i32 %14683, 0
  br i1 %14684, label %14685, label %14702

14685:                                            ; preds = %14680
  %14686 = load i32, ptr %298, align 4, !tbaa !5
  %14687 = call ptr @__errno_location() #12
  store i32 %14686, ptr %14687, align 4, !tbaa !5
  %14688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14689 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %14691, ptr noundef @.str.4)
  %14693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14694 = load i32, ptr %14693, align 4, !tbaa !5
  %14695 = call ptr @s2n_strerror_debug(i32 noundef %14694, ptr noundef @.str.4)
  %14696 = call ptr @__errno_location() #12
  %14697 = load i32, ptr %14696, align 4, !tbaa !5
  %14698 = call ptr @strerror(i32 noundef %14697) #11
  %14699 = call ptr @__errno_location() #12
  %14700 = load i32, ptr %14699, align 4, !tbaa !5
  %14701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14688, ptr noundef @.str.2, i32 noundef %14689, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 556, ptr noundef %14692, ptr noundef %14695, ptr noundef %14698, i32 noundef %14700) #11
  br label %14719

14702:                                            ; preds = %14680, %14673
  %14703 = load i32, ptr %298, align 4, !tbaa !5
  %14704 = call ptr @__errno_location() #12
  store i32 %14703, ptr %14704, align 4, !tbaa !5
  %14705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14706 = load i32, ptr @test_count, align 4, !tbaa !5
  %14707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14708 = load i32, ptr %14707, align 4, !tbaa !5
  %14709 = call ptr @s2n_strerror(i32 noundef %14708, ptr noundef @.str.4)
  %14710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14711 = load i32, ptr %14710, align 4, !tbaa !5
  %14712 = call ptr @s2n_strerror_debug(i32 noundef %14711, ptr noundef @.str.4)
  %14713 = call ptr @__errno_location() #12
  %14714 = load i32, ptr %14713, align 4, !tbaa !5
  %14715 = call ptr @strerror(i32 noundef %14714) #11
  %14716 = call ptr @__errno_location() #12
  %14717 = load i32, ptr %14716, align 4, !tbaa !5
  %14718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14705, ptr noundef @.str.5, i32 noundef %14706, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 556, ptr noundef %14709, ptr noundef %14712, ptr noundef %14715, i32 noundef %14717) #11
  br label %14719

14719:                                            ; preds = %14702, %14685
  call void @llvm.lifetime.end.p0(i64 4, ptr %298) #11
  br label %14720

14720:                                            ; preds = %14719
  br label %14721

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

14722:                                            ; No predecessors!
  br label %14723

14723:                                            ; preds = %14722
  br label %14724

14724:                                            ; preds = %14723, %14665
  br label %14725

14725:                                            ; preds = %14724
  br label %14726

14726:                                            ; preds = %14725
  br label %14727

14727:                                            ; preds = %14726
  %14728 = load i32, ptr @test_count, align 4, !tbaa !5
  %14729 = add nsw i32 %14728, 1
  store i32 %14729, ptr @test_count, align 4, !tbaa !5
  %14730 = load ptr, ptr %290, align 8, !tbaa !9
  %14731 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %14730, ptr noundef @s2n_test_reneg_req_cb, ptr noundef %289)
  %14732 = icmp eq i32 %14731, -1
  br i1 %14732, label %14733, label %14786

14733:                                            ; preds = %14727
  br label %14734

14734:                                            ; preds = %14733
  br label %14735

14735:                                            ; preds = %14734
  call void @llvm.lifetime.start.p0(i64 4, ptr %299) #11
  %14736 = call ptr @__errno_location() #12
  %14737 = load i32, ptr %14736, align 4, !tbaa !5
  store i32 %14737, ptr %299, align 4, !tbaa !5
  %14738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14739 = call i32 @s2n_print_stacktrace(ptr noundef %14738)
  %14740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14741 = trunc i8 %14740 to i1
  br i1 %14741, label %14742, label %14764

14742:                                            ; preds = %14735
  %14743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14744 = call i32 @fileno(ptr noundef %14743) #11
  %14745 = call i32 @isatty(i32 noundef %14744) #11
  %14746 = icmp ne i32 %14745, 0
  br i1 %14746, label %14747, label %14764

14747:                                            ; preds = %14742
  %14748 = load i32, ptr %299, align 4, !tbaa !5
  %14749 = call ptr @__errno_location() #12
  store i32 %14748, ptr %14749, align 4, !tbaa !5
  %14750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14751 = load i32, ptr @test_count, align 4, !tbaa !5
  %14752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14753 = load i32, ptr %14752, align 4, !tbaa !5
  %14754 = call ptr @s2n_strerror(i32 noundef %14753, ptr noundef @.str.4)
  %14755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14756 = load i32, ptr %14755, align 4, !tbaa !5
  %14757 = call ptr @s2n_strerror_debug(i32 noundef %14756, ptr noundef @.str.4)
  %14758 = call ptr @__errno_location() #12
  %14759 = load i32, ptr %14758, align 4, !tbaa !5
  %14760 = call ptr @strerror(i32 noundef %14759) #11
  %14761 = call ptr @__errno_location() #12
  %14762 = load i32, ptr %14761, align 4, !tbaa !5
  %14763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14750, ptr noundef @.str.2, i32 noundef %14751, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 559, ptr noundef %14754, ptr noundef %14757, ptr noundef %14760, i32 noundef %14762) #11
  br label %14781

14764:                                            ; preds = %14742, %14735
  %14765 = load i32, ptr %299, align 4, !tbaa !5
  %14766 = call ptr @__errno_location() #12
  store i32 %14765, ptr %14766, align 4, !tbaa !5
  %14767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14768 = load i32, ptr @test_count, align 4, !tbaa !5
  %14769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14770 = load i32, ptr %14769, align 4, !tbaa !5
  %14771 = call ptr @s2n_strerror(i32 noundef %14770, ptr noundef @.str.4)
  %14772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14773 = load i32, ptr %14772, align 4, !tbaa !5
  %14774 = call ptr @s2n_strerror_debug(i32 noundef %14773, ptr noundef @.str.4)
  %14775 = call ptr @__errno_location() #12
  %14776 = load i32, ptr %14775, align 4, !tbaa !5
  %14777 = call ptr @strerror(i32 noundef %14776) #11
  %14778 = call ptr @__errno_location() #12
  %14779 = load i32, ptr %14778, align 4, !tbaa !5
  %14780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14767, ptr noundef @.str.5, i32 noundef %14768, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 559, ptr noundef %14771, ptr noundef %14774, ptr noundef %14777, i32 noundef %14779) #11
  br label %14781

14781:                                            ; preds = %14764, %14747
  call void @llvm.lifetime.end.p0(i64 4, ptr %299) #11
  br label %14782

14782:                                            ; preds = %14781
  br label %14783

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

14784:                                            ; No predecessors!
  br label %14785

14785:                                            ; preds = %14784
  br label %14786

14786:                                            ; preds = %14785, %14727
  br label %14787

14787:                                            ; preds = %14786
  br label %14788

14788:                                            ; preds = %14787
  br label %14789

14789:                                            ; preds = %14788
  %14790 = load i32, ptr @test_count, align 4, !tbaa !5
  %14791 = add nsw i32 %14790, 1
  store i32 %14791, ptr @test_count, align 4, !tbaa !5
  %14792 = load ptr, ptr %290, align 8, !tbaa !9
  %14793 = getelementptr inbounds %struct.s2n_config, ptr %14792, i32 0, i32 54
  %14794 = load ptr, ptr %14793, align 8, !tbaa !60
  %14795 = icmp eq ptr %14794, @s2n_test_reneg_req_cb
  br i1 %14795, label %14849, label %14796

14796:                                            ; preds = %14789
  br label %14797

14797:                                            ; preds = %14796
  br label %14798

14798:                                            ; preds = %14797
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #11
  %14799 = call ptr @__errno_location() #12
  %14800 = load i32, ptr %14799, align 4, !tbaa !5
  store i32 %14800, ptr %300, align 4, !tbaa !5
  %14801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14802 = call i32 @s2n_print_stacktrace(ptr noundef %14801)
  %14803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14804 = trunc i8 %14803 to i1
  br i1 %14804, label %14805, label %14827

14805:                                            ; preds = %14798
  %14806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14807 = call i32 @fileno(ptr noundef %14806) #11
  %14808 = call i32 @isatty(i32 noundef %14807) #11
  %14809 = icmp ne i32 %14808, 0
  br i1 %14809, label %14810, label %14827

14810:                                            ; preds = %14805
  %14811 = load i32, ptr %300, align 4, !tbaa !5
  %14812 = call ptr @__errno_location() #12
  store i32 %14811, ptr %14812, align 4, !tbaa !5
  %14813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14814 = load i32, ptr @test_count, align 4, !tbaa !5
  %14815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14816 = load i32, ptr %14815, align 4, !tbaa !5
  %14817 = call ptr @s2n_strerror(i32 noundef %14816, ptr noundef @.str.4)
  %14818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14819 = load i32, ptr %14818, align 4, !tbaa !5
  %14820 = call ptr @s2n_strerror_debug(i32 noundef %14819, ptr noundef @.str.4)
  %14821 = call ptr @__errno_location() #12
  %14822 = load i32, ptr %14821, align 4, !tbaa !5
  %14823 = call ptr @strerror(i32 noundef %14822) #11
  %14824 = call ptr @__errno_location() #12
  %14825 = load i32, ptr %14824, align 4, !tbaa !5
  %14826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14813, ptr noundef @.str.2, i32 noundef %14814, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 560, ptr noundef %14817, ptr noundef %14820, ptr noundef %14823, i32 noundef %14825) #11
  br label %14844

14827:                                            ; preds = %14805, %14798
  %14828 = load i32, ptr %300, align 4, !tbaa !5
  %14829 = call ptr @__errno_location() #12
  store i32 %14828, ptr %14829, align 4, !tbaa !5
  %14830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14831 = load i32, ptr @test_count, align 4, !tbaa !5
  %14832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14833 = load i32, ptr %14832, align 4, !tbaa !5
  %14834 = call ptr @s2n_strerror(i32 noundef %14833, ptr noundef @.str.4)
  %14835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14836 = load i32, ptr %14835, align 4, !tbaa !5
  %14837 = call ptr @s2n_strerror_debug(i32 noundef %14836, ptr noundef @.str.4)
  %14838 = call ptr @__errno_location() #12
  %14839 = load i32, ptr %14838, align 4, !tbaa !5
  %14840 = call ptr @strerror(i32 noundef %14839) #11
  %14841 = call ptr @__errno_location() #12
  %14842 = load i32, ptr %14841, align 4, !tbaa !5
  %14843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14830, ptr noundef @.str.5, i32 noundef %14831, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 560, ptr noundef %14834, ptr noundef %14837, ptr noundef %14840, i32 noundef %14842) #11
  br label %14844

14844:                                            ; preds = %14827, %14810
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #11
  br label %14845

14845:                                            ; preds = %14844
  br label %14846

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

14847:                                            ; No predecessors!
  br label %14848

14848:                                            ; preds = %14847
  br label %14849

14849:                                            ; preds = %14848, %14789
  br label %14850

14850:                                            ; preds = %14849
  br label %14851

14851:                                            ; preds = %14850
  br label %14852

14852:                                            ; preds = %14851
  %14853 = load i32, ptr @test_count, align 4, !tbaa !5
  %14854 = add nsw i32 %14853, 1
  store i32 %14854, ptr @test_count, align 4, !tbaa !5
  %14855 = load ptr, ptr %290, align 8, !tbaa !9
  %14856 = getelementptr inbounds %struct.s2n_config, ptr %14855, i32 0, i32 53
  %14857 = load ptr, ptr %14856, align 8, !tbaa !61
  %14858 = icmp eq ptr %14857, %289
  br i1 %14858, label %14912, label %14859

14859:                                            ; preds = %14852
  br label %14860

14860:                                            ; preds = %14859
  br label %14861

14861:                                            ; preds = %14860
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #11
  %14862 = call ptr @__errno_location() #12
  %14863 = load i32, ptr %14862, align 4, !tbaa !5
  store i32 %14863, ptr %301, align 4, !tbaa !5
  %14864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14865 = call i32 @s2n_print_stacktrace(ptr noundef %14864)
  %14866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14867 = trunc i8 %14866 to i1
  br i1 %14867, label %14868, label %14890

14868:                                            ; preds = %14861
  %14869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14870 = call i32 @fileno(ptr noundef %14869) #11
  %14871 = call i32 @isatty(i32 noundef %14870) #11
  %14872 = icmp ne i32 %14871, 0
  br i1 %14872, label %14873, label %14890

14873:                                            ; preds = %14868
  %14874 = load i32, ptr %301, align 4, !tbaa !5
  %14875 = call ptr @__errno_location() #12
  store i32 %14874, ptr %14875, align 4, !tbaa !5
  %14876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14877 = load i32, ptr @test_count, align 4, !tbaa !5
  %14878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14879 = load i32, ptr %14878, align 4, !tbaa !5
  %14880 = call ptr @s2n_strerror(i32 noundef %14879, ptr noundef @.str.4)
  %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_debug(i32 noundef %14882, ptr noundef @.str.4)
  %14884 = call ptr @__errno_location() #12
  %14885 = load i32, ptr %14884, align 4, !tbaa !5
  %14886 = call ptr @strerror(i32 noundef %14885) #11
  %14887 = call ptr @__errno_location() #12
  %14888 = load i32, ptr %14887, align 4, !tbaa !5
  %14889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14876, ptr noundef @.str.2, i32 noundef %14877, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 561, ptr noundef %14880, ptr noundef %14883, ptr noundef %14886, i32 noundef %14888) #11
  br label %14907

14890:                                            ; preds = %14868, %14861
  %14891 = load i32, ptr %301, align 4, !tbaa !5
  %14892 = call ptr @__errno_location() #12
  store i32 %14891, ptr %14892, align 4, !tbaa !5
  %14893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14894 = load i32, ptr @test_count, align 4, !tbaa !5
  %14895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14896 = load i32, ptr %14895, align 4, !tbaa !5
  %14897 = call ptr @s2n_strerror(i32 noundef %14896, ptr noundef @.str.4)
  %14898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14899 = load i32, ptr %14898, align 4, !tbaa !5
  %14900 = call ptr @s2n_strerror_debug(i32 noundef %14899, ptr noundef @.str.4)
  %14901 = call ptr @__errno_location() #12
  %14902 = load i32, ptr %14901, align 4, !tbaa !5
  %14903 = call ptr @strerror(i32 noundef %14902) #11
  %14904 = call ptr @__errno_location() #12
  %14905 = load i32, ptr %14904, align 4, !tbaa !5
  %14906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14893, ptr noundef @.str.5, i32 noundef %14894, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 561, ptr noundef %14897, ptr noundef %14900, ptr noundef %14903, i32 noundef %14905) #11
  br label %14907

14907:                                            ; preds = %14890, %14873
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #11
  br label %14908

14908:                                            ; preds = %14907
  br label %14909

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

14910:                                            ; No predecessors!
  br label %14911

14911:                                            ; preds = %14910
  br label %14912

14912:                                            ; preds = %14911, %14852
  br label %14913

14913:                                            ; preds = %14912
  br label %14914

14914:                                            ; preds = %14913
  br label %14915

14915:                                            ; preds = %14914
  %14916 = load i32, ptr @test_count, align 4, !tbaa !5
  %14917 = add nsw i32 %14916, 1
  store i32 %14917, ptr @test_count, align 4, !tbaa !5
  %14918 = load ptr, ptr %290, align 8, !tbaa !9
  %14919 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %14918, ptr noundef null, ptr noundef null)
  %14920 = icmp eq i32 %14919, -1
  br i1 %14920, label %14921, label %14974

14921:                                            ; preds = %14915
  br label %14922

14922:                                            ; preds = %14921
  br label %14923

14923:                                            ; preds = %14922
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #11
  %14924 = call ptr @__errno_location() #12
  %14925 = load i32, ptr %14924, align 4, !tbaa !5
  store i32 %14925, ptr %302, align 4, !tbaa !5
  %14926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14927 = call i32 @s2n_print_stacktrace(ptr noundef %14926)
  %14928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14929 = trunc i8 %14928 to i1
  br i1 %14929, label %14930, label %14952

14930:                                            ; preds = %14923
  %14931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14932 = call i32 @fileno(ptr noundef %14931) #11
  %14933 = call i32 @isatty(i32 noundef %14932) #11
  %14934 = icmp ne i32 %14933, 0
  br i1 %14934, label %14935, label %14952

14935:                                            ; preds = %14930
  %14936 = load i32, ptr %302, align 4, !tbaa !5
  %14937 = call ptr @__errno_location() #12
  store i32 %14936, ptr %14937, align 4, !tbaa !5
  %14938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14939 = load i32, ptr @test_count, align 4, !tbaa !5
  %14940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14941 = load i32, ptr %14940, align 4, !tbaa !5
  %14942 = call ptr @s2n_strerror(i32 noundef %14941, ptr noundef @.str.4)
  %14943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14944 = load i32, ptr %14943, align 4, !tbaa !5
  %14945 = call ptr @s2n_strerror_debug(i32 noundef %14944, ptr noundef @.str.4)
  %14946 = call ptr @__errno_location() #12
  %14947 = load i32, ptr %14946, align 4, !tbaa !5
  %14948 = call ptr @strerror(i32 noundef %14947) #11
  %14949 = call ptr @__errno_location() #12
  %14950 = load i32, ptr %14949, align 4, !tbaa !5
  %14951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14938, ptr noundef @.str.2, i32 noundef %14939, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 564, ptr noundef %14942, ptr noundef %14945, ptr noundef %14948, i32 noundef %14950) #11
  br label %14969

14952:                                            ; preds = %14930, %14923
  %14953 = load i32, ptr %302, align 4, !tbaa !5
  %14954 = call ptr @__errno_location() #12
  store i32 %14953, ptr %14954, align 4, !tbaa !5
  %14955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14956 = load i32, ptr @test_count, align 4, !tbaa !5
  %14957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14958 = load i32, ptr %14957, align 4, !tbaa !5
  %14959 = call ptr @s2n_strerror(i32 noundef %14958, ptr noundef @.str.4)
  %14960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14961 = load i32, ptr %14960, align 4, !tbaa !5
  %14962 = call ptr @s2n_strerror_debug(i32 noundef %14961, ptr noundef @.str.4)
  %14963 = call ptr @__errno_location() #12
  %14964 = load i32, ptr %14963, align 4, !tbaa !5
  %14965 = call ptr @strerror(i32 noundef %14964) #11
  %14966 = call ptr @__errno_location() #12
  %14967 = load i32, ptr %14966, align 4, !tbaa !5
  %14968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14955, ptr noundef @.str.5, i32 noundef %14956, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 564, ptr noundef %14959, ptr noundef %14962, ptr noundef %14965, i32 noundef %14967) #11
  br label %14969

14969:                                            ; preds = %14952, %14935
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #11
  br label %14970

14970:                                            ; preds = %14969
  br label %14971

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

14972:                                            ; No predecessors!
  br label %14973

14973:                                            ; preds = %14972
  br label %14974

14974:                                            ; preds = %14973, %14915
  br label %14975

14975:                                            ; preds = %14974
  br label %14976

14976:                                            ; preds = %14975
  br label %14977

14977:                                            ; preds = %14976
  %14978 = load i32, ptr @test_count, align 4, !tbaa !5
  %14979 = add nsw i32 %14978, 1
  store i32 %14979, ptr @test_count, align 4, !tbaa !5
  %14980 = load ptr, ptr %290, align 8, !tbaa !9
  %14981 = getelementptr inbounds %struct.s2n_config, ptr %14980, i32 0, i32 54
  %14982 = load ptr, ptr %14981, align 8, !tbaa !60
  %14983 = icmp eq ptr %14982, null
  br i1 %14983, label %15037, label %14984

14984:                                            ; preds = %14977
  br label %14985

14985:                                            ; preds = %14984
  br label %14986

14986:                                            ; preds = %14985
  call void @llvm.lifetime.start.p0(i64 4, ptr %303) #11
  %14987 = call ptr @__errno_location() #12
  %14988 = load i32, ptr %14987, align 4, !tbaa !5
  store i32 %14988, ptr %303, align 4, !tbaa !5
  %14989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14990 = call i32 @s2n_print_stacktrace(ptr noundef %14989)
  %14991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14992 = trunc i8 %14991 to i1
  br i1 %14992, label %14993, label %15015

14993:                                            ; preds = %14986
  %14994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14995 = call i32 @fileno(ptr noundef %14994) #11
  %14996 = call i32 @isatty(i32 noundef %14995) #11
  %14997 = icmp ne i32 %14996, 0
  br i1 %14997, label %14998, label %15015

14998:                                            ; preds = %14993
  %14999 = load i32, ptr %303, align 4, !tbaa !5
  %15000 = call ptr @__errno_location() #12
  store i32 %14999, ptr %15000, align 4, !tbaa !5
  %15001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15002 = load i32, ptr @test_count, align 4, !tbaa !5
  %15003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15004 = load i32, ptr %15003, align 4, !tbaa !5
  %15005 = call ptr @s2n_strerror(i32 noundef %15004, ptr noundef @.str.4)
  %15006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15007 = load i32, ptr %15006, align 4, !tbaa !5
  %15008 = call ptr @s2n_strerror_debug(i32 noundef %15007, ptr noundef @.str.4)
  %15009 = call ptr @__errno_location() #12
  %15010 = load i32, ptr %15009, align 4, !tbaa !5
  %15011 = call ptr @strerror(i32 noundef %15010) #11
  %15012 = call ptr @__errno_location() #12
  %15013 = load i32, ptr %15012, align 4, !tbaa !5
  %15014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15001, ptr noundef @.str.2, i32 noundef %15002, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 565, ptr noundef %15005, ptr noundef %15008, ptr noundef %15011, i32 noundef %15013) #11
  br label %15032

15015:                                            ; preds = %14993, %14986
  %15016 = load i32, ptr %303, align 4, !tbaa !5
  %15017 = call ptr @__errno_location() #12
  store i32 %15016, ptr %15017, align 4, !tbaa !5
  %15018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15019 = load i32, ptr @test_count, align 4, !tbaa !5
  %15020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15021 = load i32, ptr %15020, align 4, !tbaa !5
  %15022 = call ptr @s2n_strerror(i32 noundef %15021, ptr noundef @.str.4)
  %15023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15024 = load i32, ptr %15023, align 4, !tbaa !5
  %15025 = call ptr @s2n_strerror_debug(i32 noundef %15024, ptr noundef @.str.4)
  %15026 = call ptr @__errno_location() #12
  %15027 = load i32, ptr %15026, align 4, !tbaa !5
  %15028 = call ptr @strerror(i32 noundef %15027) #11
  %15029 = call ptr @__errno_location() #12
  %15030 = load i32, ptr %15029, align 4, !tbaa !5
  %15031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15018, ptr noundef @.str.5, i32 noundef %15019, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 565, ptr noundef %15022, ptr noundef %15025, ptr noundef %15028, i32 noundef %15030) #11
  br label %15032

15032:                                            ; preds = %15015, %14998
  call void @llvm.lifetime.end.p0(i64 4, ptr %303) #11
  br label %15033

15033:                                            ; preds = %15032
  br label %15034

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

15035:                                            ; No predecessors!
  br label %15036

15036:                                            ; preds = %15035
  br label %15037

15037:                                            ; preds = %15036, %14977
  br label %15038

15038:                                            ; preds = %15037
  br label %15039

15039:                                            ; preds = %15038
  br label %15040

15040:                                            ; preds = %15039
  %15041 = load i32, ptr @test_count, align 4, !tbaa !5
  %15042 = add nsw i32 %15041, 1
  store i32 %15042, ptr @test_count, align 4, !tbaa !5
  %15043 = load ptr, ptr %290, align 8, !tbaa !9
  %15044 = getelementptr inbounds %struct.s2n_config, ptr %15043, i32 0, i32 53
  %15045 = load ptr, ptr %15044, align 8, !tbaa !61
  %15046 = icmp eq ptr %15045, null
  br i1 %15046, label %15100, label %15047

15047:                                            ; preds = %15040
  br label %15048

15048:                                            ; preds = %15047
  br label %15049

15049:                                            ; preds = %15048
  call void @llvm.lifetime.start.p0(i64 4, ptr %304) #11
  %15050 = call ptr @__errno_location() #12
  %15051 = load i32, ptr %15050, align 4, !tbaa !5
  store i32 %15051, ptr %304, align 4, !tbaa !5
  %15052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15053 = call i32 @s2n_print_stacktrace(ptr noundef %15052)
  %15054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15055 = trunc i8 %15054 to i1
  br i1 %15055, label %15056, label %15078

15056:                                            ; preds = %15049
  %15057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15058 = call i32 @fileno(ptr noundef %15057) #11
  %15059 = call i32 @isatty(i32 noundef %15058) #11
  %15060 = icmp ne i32 %15059, 0
  br i1 %15060, label %15061, label %15078

15061:                                            ; preds = %15056
  %15062 = load i32, ptr %304, align 4, !tbaa !5
  %15063 = call ptr @__errno_location() #12
  store i32 %15062, ptr %15063, align 4, !tbaa !5
  %15064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15065 = load i32, ptr @test_count, align 4, !tbaa !5
  %15066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15067 = load i32, ptr %15066, align 4, !tbaa !5
  %15068 = call ptr @s2n_strerror(i32 noundef %15067, ptr noundef @.str.4)
  %15069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15070 = load i32, ptr %15069, align 4, !tbaa !5
  %15071 = call ptr @s2n_strerror_debug(i32 noundef %15070, ptr noundef @.str.4)
  %15072 = call ptr @__errno_location() #12
  %15073 = load i32, ptr %15072, align 4, !tbaa !5
  %15074 = call ptr @strerror(i32 noundef %15073) #11
  %15075 = call ptr @__errno_location() #12
  %15076 = load i32, ptr %15075, align 4, !tbaa !5
  %15077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15064, ptr noundef @.str.2, i32 noundef %15065, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 566, ptr noundef %15068, ptr noundef %15071, ptr noundef %15074, i32 noundef %15076) #11
  br label %15095

15078:                                            ; preds = %15056, %15049
  %15079 = load i32, ptr %304, align 4, !tbaa !5
  %15080 = call ptr @__errno_location() #12
  store i32 %15079, ptr %15080, align 4, !tbaa !5
  %15081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15082 = load i32, ptr @test_count, align 4, !tbaa !5
  %15083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15084 = load i32, ptr %15083, align 4, !tbaa !5
  %15085 = call ptr @s2n_strerror(i32 noundef %15084, ptr noundef @.str.4)
  %15086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15087 = load i32, ptr %15086, align 4, !tbaa !5
  %15088 = call ptr @s2n_strerror_debug(i32 noundef %15087, ptr noundef @.str.4)
  %15089 = call ptr @__errno_location() #12
  %15090 = load i32, ptr %15089, align 4, !tbaa !5
  %15091 = call ptr @strerror(i32 noundef %15090) #11
  %15092 = call ptr @__errno_location() #12
  %15093 = load i32, ptr %15092, align 4, !tbaa !5
  %15094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15081, ptr noundef @.str.5, i32 noundef %15082, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 566, ptr noundef %15085, ptr noundef %15088, ptr noundef %15091, i32 noundef %15093) #11
  br label %15095

15095:                                            ; preds = %15078, %15061
  call void @llvm.lifetime.end.p0(i64 4, ptr %304) #11
  br label %15096

15096:                                            ; preds = %15095
  br label %15097

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

15098:                                            ; No predecessors!
  br label %15099

15099:                                            ; preds = %15098
  br label %15100

15100:                                            ; preds = %15099, %15040
  br label %15101

15101:                                            ; preds = %15100
  br label %15102

15102:                                            ; preds = %15101
  %15103 = call i32 @s2n_config_ptr_free(ptr noundef %290)
  %15104 = getelementptr inbounds %struct.s2n_result, ptr %305, i32 0, i32 0
  store i32 %15103, ptr %15104, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %290) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %289) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %306) #11
  %15105 = call ptr @s2n_config_new()
  store ptr %15105, ptr %306, align 8, !tbaa !9
  br label %15106

15106:                                            ; preds = %15102
  %15107 = load i32, ptr @test_count, align 4, !tbaa !5
  %15108 = add nsw i32 %15107, 1
  store i32 %15108, ptr @test_count, align 4, !tbaa !5
  %15109 = load ptr, ptr %306, align 8, !tbaa !9
  %15110 = icmp eq ptr %15109, null
  br i1 %15110, label %15111, label %15164

15111:                                            ; preds = %15106
  br label %15112

15112:                                            ; preds = %15111
  br label %15113

15113:                                            ; preds = %15112
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #11
  %15114 = call ptr @__errno_location() #12
  %15115 = load i32, ptr %15114, align 4, !tbaa !5
  store i32 %15115, ptr %307, align 4, !tbaa !5
  %15116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15117 = call i32 @s2n_print_stacktrace(ptr noundef %15116)
  %15118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15119 = trunc i8 %15118 to i1
  br i1 %15119, label %15120, label %15142

15120:                                            ; preds = %15113
  %15121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15122 = call i32 @fileno(ptr noundef %15121) #11
  %15123 = call i32 @isatty(i32 noundef %15122) #11
  %15124 = icmp ne i32 %15123, 0
  br i1 %15124, label %15125, label %15142

15125:                                            ; preds = %15120
  %15126 = load i32, ptr %307, align 4, !tbaa !5
  %15127 = call ptr @__errno_location() #12
  store i32 %15126, ptr %15127, align 4, !tbaa !5
  %15128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15129 = load i32, ptr @test_count, align 4, !tbaa !5
  %15130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15131 = load i32, ptr %15130, align 4, !tbaa !5
  %15132 = call ptr @s2n_strerror(i32 noundef %15131, ptr noundef @.str.4)
  %15133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15134 = load i32, ptr %15133, align 4, !tbaa !5
  %15135 = call ptr @s2n_strerror_debug(i32 noundef %15134, ptr noundef @.str.4)
  %15136 = call ptr @__errno_location() #12
  %15137 = load i32, ptr %15136, align 4, !tbaa !5
  %15138 = call ptr @strerror(i32 noundef %15137) #11
  %15139 = call ptr @__errno_location() #12
  %15140 = load i32, ptr %15139, align 4, !tbaa !5
  %15141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15128, ptr noundef @.str.2, i32 noundef %15129, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 572, ptr noundef %15132, ptr noundef %15135, ptr noundef %15138, i32 noundef %15140) #11
  br label %15159

15142:                                            ; preds = %15120, %15113
  %15143 = load i32, ptr %307, align 4, !tbaa !5
  %15144 = call ptr @__errno_location() #12
  store i32 %15143, ptr %15144, align 4, !tbaa !5
  %15145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15146 = load i32, ptr @test_count, align 4, !tbaa !5
  %15147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15148 = load i32, ptr %15147, align 4, !tbaa !5
  %15149 = call ptr @s2n_strerror(i32 noundef %15148, ptr noundef @.str.4)
  %15150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15151 = load i32, ptr %15150, align 4, !tbaa !5
  %15152 = call ptr @s2n_strerror_debug(i32 noundef %15151, ptr noundef @.str.4)
  %15153 = call ptr @__errno_location() #12
  %15154 = load i32, ptr %15153, align 4, !tbaa !5
  %15155 = call ptr @strerror(i32 noundef %15154) #11
  %15156 = call ptr @__errno_location() #12
  %15157 = load i32, ptr %15156, align 4, !tbaa !5
  %15158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15145, ptr noundef @.str.5, i32 noundef %15146, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 572, ptr noundef %15149, ptr noundef %15152, ptr noundef %15155, i32 noundef %15157) #11
  br label %15159

15159:                                            ; preds = %15142, %15125
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #11
  br label %15160

15160:                                            ; preds = %15159
  br label %15161

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

15162:                                            ; No predecessors!
  br label %15163

15163:                                            ; preds = %15162
  br label %15164

15164:                                            ; preds = %15163, %15106
  br label %15165

15165:                                            ; preds = %15164
  br label %15166

15166:                                            ; preds = %15165
  br label %15167

15167:                                            ; preds = %15166
  %15168 = load i32, ptr @test_count, align 4, !tbaa !5
  %15169 = add nsw i32 %15168, 1
  store i32 %15169, ptr @test_count, align 4, !tbaa !5
  %15170 = load ptr, ptr %306, align 8, !tbaa !9
  %15171 = load i32, ptr %15170, align 8
  %15172 = lshr i32 %15171, 13
  %15173 = and i32 %15172, 1
  %15174 = icmp ne i32 %15173, 0
  br i1 %15174, label %15175, label %15228

15175:                                            ; preds = %15167
  br label %15176

15176:                                            ; preds = %15175
  br label %15177

15177:                                            ; preds = %15176
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #11
  %15178 = call ptr @__errno_location() #12
  %15179 = load i32, ptr %15178, align 4, !tbaa !5
  store i32 %15179, ptr %308, align 4, !tbaa !5
  %15180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15181 = call i32 @s2n_print_stacktrace(ptr noundef %15180)
  %15182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15183 = trunc i8 %15182 to i1
  br i1 %15183, label %15184, label %15206

15184:                                            ; preds = %15177
  %15185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15186 = call i32 @fileno(ptr noundef %15185) #11
  %15187 = call i32 @isatty(i32 noundef %15186) #11
  %15188 = icmp ne i32 %15187, 0
  br i1 %15188, label %15189, label %15206

15189:                                            ; preds = %15184
  %15190 = load i32, ptr %308, align 4, !tbaa !5
  %15191 = call ptr @__errno_location() #12
  store i32 %15190, ptr %15191, align 4, !tbaa !5
  %15192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15193 = load i32, ptr @test_count, align 4, !tbaa !5
  %15194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15195 = load i32, ptr %15194, align 4, !tbaa !5
  %15196 = call ptr @s2n_strerror(i32 noundef %15195, ptr noundef @.str.4)
  %15197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15198 = load i32, ptr %15197, align 4, !tbaa !5
  %15199 = call ptr @s2n_strerror_debug(i32 noundef %15198, ptr noundef @.str.4)
  %15200 = call ptr @__errno_location() #12
  %15201 = load i32, ptr %15200, align 4, !tbaa !5
  %15202 = call ptr @strerror(i32 noundef %15201) #11
  %15203 = call ptr @__errno_location() #12
  %15204 = load i32, ptr %15203, align 4, !tbaa !5
  %15205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15192, ptr noundef @.str.2, i32 noundef %15193, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 573, ptr noundef %15196, ptr noundef %15199, ptr noundef %15202, i32 noundef %15204) #11
  br label %15223

15206:                                            ; preds = %15184, %15177
  %15207 = load i32, ptr %308, align 4, !tbaa !5
  %15208 = call ptr @__errno_location() #12
  store i32 %15207, ptr %15208, align 4, !tbaa !5
  %15209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15210 = load i32, ptr @test_count, align 4, !tbaa !5
  %15211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15212 = load i32, ptr %15211, align 4, !tbaa !5
  %15213 = call ptr @s2n_strerror(i32 noundef %15212, ptr noundef @.str.4)
  %15214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15215 = load i32, ptr %15214, align 4, !tbaa !5
  %15216 = call ptr @s2n_strerror_debug(i32 noundef %15215, ptr noundef @.str.4)
  %15217 = call ptr @__errno_location() #12
  %15218 = load i32, ptr %15217, align 4, !tbaa !5
  %15219 = call ptr @strerror(i32 noundef %15218) #11
  %15220 = call ptr @__errno_location() #12
  %15221 = load i32, ptr %15220, align 4, !tbaa !5
  %15222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15209, ptr noundef @.str.5, i32 noundef %15210, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 573, ptr noundef %15213, ptr noundef %15216, ptr noundef %15219, i32 noundef %15221) #11
  br label %15223

15223:                                            ; preds = %15206, %15189
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #11
  br label %15224

15224:                                            ; preds = %15223
  br label %15225

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

15226:                                            ; No predecessors!
  br label %15227

15227:                                            ; preds = %15226
  br label %15228

15228:                                            ; preds = %15227, %15167
  br label %15229

15229:                                            ; preds = %15228
  br label %15230

15230:                                            ; preds = %15229
  br label %15231

15231:                                            ; preds = %15230
  br label %15232

15232:                                            ; preds = %15231
  br label %15233

15233:                                            ; preds = %15232
  %15234 = load i32, ptr @test_count, align 4, !tbaa !5
  %15235 = add nsw i32 %15234, 1
  store i32 %15235, ptr @test_count, align 4, !tbaa !5
  %15236 = call i32 @s2n_config_set_npn(ptr noundef null, i1 noundef zeroext true)
  %15237 = icmp eq i32 %15236, -1
  br i1 %15237, label %15291, label %15238

15238:                                            ; preds = %15233
  br label %15239

15239:                                            ; preds = %15238
  br label %15240

15240:                                            ; preds = %15239
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #11
  %15241 = call ptr @__errno_location() #12
  %15242 = load i32, ptr %15241, align 4, !tbaa !5
  store i32 %15242, ptr %309, align 4, !tbaa !5
  %15243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15244 = call i32 @s2n_print_stacktrace(ptr noundef %15243)
  %15245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15246 = trunc i8 %15245 to i1
  br i1 %15246, label %15247, label %15269

15247:                                            ; preds = %15240
  %15248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15249 = call i32 @fileno(ptr noundef %15248) #11
  %15250 = call i32 @isatty(i32 noundef %15249) #11
  %15251 = icmp ne i32 %15250, 0
  br i1 %15251, label %15252, label %15269

15252:                                            ; preds = %15247
  %15253 = load i32, ptr %309, align 4, !tbaa !5
  %15254 = call ptr @__errno_location() #12
  store i32 %15253, ptr %15254, align 4, !tbaa !5
  %15255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15256 = load i32, ptr @test_count, align 4, !tbaa !5
  %15257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15258 = load i32, ptr %15257, align 4, !tbaa !5
  %15259 = call ptr @s2n_strerror(i32 noundef %15258, ptr noundef @.str.4)
  %15260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15261 = load i32, ptr %15260, align 4, !tbaa !5
  %15262 = call ptr @s2n_strerror_debug(i32 noundef %15261, ptr noundef @.str.4)
  %15263 = call ptr @__errno_location() #12
  %15264 = load i32, ptr %15263, align 4, !tbaa !5
  %15265 = call ptr @strerror(i32 noundef %15264) #11
  %15266 = call ptr @__errno_location() #12
  %15267 = load i32, ptr %15266, align 4, !tbaa !5
  %15268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15255, ptr noundef @.str.2, i32 noundef %15256, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 576, ptr noundef %15259, ptr noundef %15262, ptr noundef %15265, i32 noundef %15267) #11
  br label %15286

15269:                                            ; preds = %15247, %15240
  %15270 = load i32, ptr %309, align 4, !tbaa !5
  %15271 = call ptr @__errno_location() #12
  store i32 %15270, ptr %15271, align 4, !tbaa !5
  %15272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15273 = load i32, ptr @test_count, align 4, !tbaa !5
  %15274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15275 = load i32, ptr %15274, align 4, !tbaa !5
  %15276 = call ptr @s2n_strerror(i32 noundef %15275, ptr noundef @.str.4)
  %15277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15278 = load i32, ptr %15277, align 4, !tbaa !5
  %15279 = call ptr @s2n_strerror_debug(i32 noundef %15278, ptr noundef @.str.4)
  %15280 = call ptr @__errno_location() #12
  %15281 = load i32, ptr %15280, align 4, !tbaa !5
  %15282 = call ptr @strerror(i32 noundef %15281) #11
  %15283 = call ptr @__errno_location() #12
  %15284 = load i32, ptr %15283, align 4, !tbaa !5
  %15285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15272, ptr noundef @.str.5, i32 noundef %15273, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 576, ptr noundef %15276, ptr noundef %15279, ptr noundef %15282, i32 noundef %15284) #11
  br label %15286

15286:                                            ; preds = %15269, %15252
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #11
  br label %15287

15287:                                            ; preds = %15286
  br label %15288

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

15289:                                            ; No predecessors!
  br label %15290

15290:                                            ; preds = %15289
  br label %15291

15291:                                            ; preds = %15290, %15233
  br label %15292

15292:                                            ; preds = %15291
  br label %15293

15293:                                            ; preds = %15292
  br label %15294

15294:                                            ; preds = %15293
  %15295 = load i32, ptr @test_count, align 4, !tbaa !5
  %15296 = add nsw i32 %15295, 1
  store i32 %15296, ptr @test_count, align 4, !tbaa !5
  %15297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15298 = load i32, ptr %15297, align 4, !tbaa !5
  %15299 = icmp eq i32 %15298, 402653193
  br i1 %15299, label %15353, label %15300

15300:                                            ; preds = %15294
  br label %15301

15301:                                            ; preds = %15300
  br label %15302

15302:                                            ; preds = %15301
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %15303 = call ptr @__errno_location() #12
  %15304 = load i32, ptr %15303, align 4, !tbaa !5
  store i32 %15304, ptr %310, align 4, !tbaa !5
  %15305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15306 = call i32 @s2n_print_stacktrace(ptr noundef %15305)
  %15307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15308 = trunc i8 %15307 to i1
  br i1 %15308, label %15309, label %15331

15309:                                            ; preds = %15302
  %15310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15311 = call i32 @fileno(ptr noundef %15310) #11
  %15312 = call i32 @isatty(i32 noundef %15311) #11
  %15313 = icmp ne i32 %15312, 0
  br i1 %15313, label %15314, label %15331

15314:                                            ; preds = %15309
  %15315 = load i32, ptr %310, align 4, !tbaa !5
  %15316 = call ptr @__errno_location() #12
  store i32 %15315, ptr %15316, align 4, !tbaa !5
  %15317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15318 = load i32, ptr @test_count, align 4, !tbaa !5
  %15319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15320 = load i32, ptr %15319, align 4, !tbaa !5
  %15321 = call ptr @s2n_strerror(i32 noundef %15320, ptr noundef @.str.4)
  %15322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15323 = load i32, ptr %15322, align 4, !tbaa !5
  %15324 = call ptr @s2n_strerror_debug(i32 noundef %15323, ptr noundef @.str.4)
  %15325 = call ptr @__errno_location() #12
  %15326 = load i32, ptr %15325, align 4, !tbaa !5
  %15327 = call ptr @strerror(i32 noundef %15326) #11
  %15328 = call ptr @__errno_location() #12
  %15329 = load i32, ptr %15328, align 4, !tbaa !5
  %15330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15317, ptr noundef @.str.2, i32 noundef %15318, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 576, ptr noundef %15321, ptr noundef %15324, ptr noundef %15327, i32 noundef %15329) #11
  br label %15348

15331:                                            ; preds = %15309, %15302
  %15332 = load i32, ptr %310, align 4, !tbaa !5
  %15333 = call ptr @__errno_location() #12
  store i32 %15332, ptr %15333, align 4, !tbaa !5
  %15334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15335 = load i32, ptr @test_count, align 4, !tbaa !5
  %15336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15337 = load i32, ptr %15336, align 4, !tbaa !5
  %15338 = call ptr @s2n_strerror(i32 noundef %15337, ptr noundef @.str.4)
  %15339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15340 = load i32, ptr %15339, align 4, !tbaa !5
  %15341 = call ptr @s2n_strerror_debug(i32 noundef %15340, ptr noundef @.str.4)
  %15342 = call ptr @__errno_location() #12
  %15343 = load i32, ptr %15342, align 4, !tbaa !5
  %15344 = call ptr @strerror(i32 noundef %15343) #11
  %15345 = call ptr @__errno_location() #12
  %15346 = load i32, ptr %15345, align 4, !tbaa !5
  %15347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15334, ptr noundef @.str.5, i32 noundef %15335, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 576, ptr noundef %15338, ptr noundef %15341, ptr noundef %15344, i32 noundef %15346) #11
  br label %15348

15348:                                            ; preds = %15331, %15314
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %15349

15349:                                            ; preds = %15348
  br label %15350

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

15351:                                            ; No predecessors!
  br label %15352

15352:                                            ; preds = %15351
  br label %15353

15353:                                            ; preds = %15352, %15294
  br label %15354

15354:                                            ; preds = %15353
  br label %15355

15355:                                            ; preds = %15354
  br label %15356

15356:                                            ; preds = %15355
  %15357 = load i32, ptr @test_count, align 4, !tbaa !5
  %15358 = add nsw i32 %15357, 1
  store i32 %15358, ptr @test_count, align 4, !tbaa !5
  %15359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15360 = load i32, ptr %15359, align 4, !tbaa !5
  %15361 = call ptr @s2n_strerror_debug(i32 noundef %15360, ptr noundef @.str.4)
  %15362 = icmp eq ptr %15361, null
  br i1 %15362, label %15363, label %15416

15363:                                            ; preds = %15356
  br label %15364

15364:                                            ; preds = %15363
  br label %15365

15365:                                            ; preds = %15364
  call void @llvm.lifetime.start.p0(i64 4, ptr %311) #11
  %15366 = call ptr @__errno_location() #12
  %15367 = load i32, ptr %15366, align 4, !tbaa !5
  store i32 %15367, ptr %311, 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 %311, 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.4)
  %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.4)
  %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.2, i32 noundef %15381, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 576, ptr noundef %15384, ptr noundef %15387, ptr noundef %15390, i32 noundef %15392) #11
  br label %15411

15394:                                            ; preds = %15372, %15365
  %15395 = load i32, ptr %311, 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.4)
  %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.4)
  %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.5, i32 noundef %15398, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 576, 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 %311) #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, %15356
  br label %15417

15417:                                            ; preds = %15416
  br label %15418

15418:                                            ; preds = %15417
  br label %15419

15419:                                            ; preds = %15418
  br label %15420

15420:                                            ; preds = %15419
  br label %15421

15421:                                            ; preds = %15420
  %15422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %15422, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %15423 = call ptr @__errno_location() #12
  store i32 0, ptr %15423, align 4, !tbaa !5
  br label %15424

15424:                                            ; preds = %15421
  br label %15425

15425:                                            ; preds = %15424
  br label %15426

15426:                                            ; preds = %15425
  br label %15427

15427:                                            ; preds = %15426
  br label %15428

15428:                                            ; preds = %15427
  %15429 = load i32, ptr @test_count, align 4, !tbaa !5
  %15430 = add nsw i32 %15429, 1
  store i32 %15430, ptr @test_count, align 4, !tbaa !5
  %15431 = load ptr, ptr %306, align 8, !tbaa !9
  %15432 = call i32 @s2n_config_set_npn(ptr noundef %15431, i1 noundef zeroext true)
  %15433 = icmp eq i32 %15432, -1
  br i1 %15433, label %15434, label %15487

15434:                                            ; preds = %15428
  br label %15435

15435:                                            ; preds = %15434
  br label %15436

15436:                                            ; preds = %15435
  call void @llvm.lifetime.start.p0(i64 4, ptr %312) #11
  %15437 = call ptr @__errno_location() #12
  %15438 = load i32, ptr %15437, align 4, !tbaa !5
  store i32 %15438, ptr %312, align 4, !tbaa !5
  %15439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15440 = call i32 @s2n_print_stacktrace(ptr noundef %15439)
  %15441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15442 = trunc i8 %15441 to i1
  br i1 %15442, label %15443, label %15465

15443:                                            ; preds = %15436
  %15444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15445 = call i32 @fileno(ptr noundef %15444) #11
  %15446 = call i32 @isatty(i32 noundef %15445) #11
  %15447 = icmp ne i32 %15446, 0
  br i1 %15447, label %15448, label %15465

15448:                                            ; preds = %15443
  %15449 = load i32, ptr %312, align 4, !tbaa !5
  %15450 = call ptr @__errno_location() #12
  store i32 %15449, ptr %15450, align 4, !tbaa !5
  %15451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15452 = load i32, ptr @test_count, align 4, !tbaa !5
  %15453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15454 = load i32, ptr %15453, align 4, !tbaa !5
  %15455 = call ptr @s2n_strerror(i32 noundef %15454, ptr noundef @.str.4)
  %15456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15457 = load i32, ptr %15456, align 4, !tbaa !5
  %15458 = call ptr @s2n_strerror_debug(i32 noundef %15457, ptr noundef @.str.4)
  %15459 = call ptr @__errno_location() #12
  %15460 = load i32, ptr %15459, align 4, !tbaa !5
  %15461 = call ptr @strerror(i32 noundef %15460) #11
  %15462 = call ptr @__errno_location() #12
  %15463 = load i32, ptr %15462, align 4, !tbaa !5
  %15464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15451, ptr noundef @.str.2, i32 noundef %15452, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 579, ptr noundef %15455, ptr noundef %15458, ptr noundef %15461, i32 noundef %15463) #11
  br label %15482

15465:                                            ; preds = %15443, %15436
  %15466 = load i32, ptr %312, align 4, !tbaa !5
  %15467 = call ptr @__errno_location() #12
  store i32 %15466, ptr %15467, align 4, !tbaa !5
  %15468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15469 = load i32, ptr @test_count, align 4, !tbaa !5
  %15470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15471 = load i32, ptr %15470, align 4, !tbaa !5
  %15472 = call ptr @s2n_strerror(i32 noundef %15471, ptr noundef @.str.4)
  %15473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15474 = load i32, ptr %15473, align 4, !tbaa !5
  %15475 = call ptr @s2n_strerror_debug(i32 noundef %15474, ptr noundef @.str.4)
  %15476 = call ptr @__errno_location() #12
  %15477 = load i32, ptr %15476, align 4, !tbaa !5
  %15478 = call ptr @strerror(i32 noundef %15477) #11
  %15479 = call ptr @__errno_location() #12
  %15480 = load i32, ptr %15479, align 4, !tbaa !5
  %15481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15468, ptr noundef @.str.5, i32 noundef %15469, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 579, ptr noundef %15472, ptr noundef %15475, ptr noundef %15478, i32 noundef %15480) #11
  br label %15482

15482:                                            ; preds = %15465, %15448
  call void @llvm.lifetime.end.p0(i64 4, ptr %312) #11
  br label %15483

15483:                                            ; preds = %15482
  br label %15484

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

15485:                                            ; No predecessors!
  br label %15486

15486:                                            ; preds = %15485
  br label %15487

15487:                                            ; preds = %15486, %15428
  br label %15488

15488:                                            ; preds = %15487
  br label %15489

15489:                                            ; preds = %15488
  br label %15490

15490:                                            ; preds = %15489
  %15491 = load i32, ptr @test_count, align 4, !tbaa !5
  %15492 = add nsw i32 %15491, 1
  store i32 %15492, ptr @test_count, align 4, !tbaa !5
  %15493 = load ptr, ptr %306, align 8, !tbaa !9
  %15494 = load i32, ptr %15493, align 8
  %15495 = lshr i32 %15494, 13
  %15496 = and i32 %15495, 1
  %15497 = icmp ne i32 %15496, 0
  br i1 %15497, label %15551, label %15498

15498:                                            ; preds = %15490
  br label %15499

15499:                                            ; preds = %15498
  br label %15500

15500:                                            ; preds = %15499
  call void @llvm.lifetime.start.p0(i64 4, ptr %313) #11
  %15501 = call ptr @__errno_location() #12
  %15502 = load i32, ptr %15501, align 4, !tbaa !5
  store i32 %15502, ptr %313, align 4, !tbaa !5
  %15503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15504 = call i32 @s2n_print_stacktrace(ptr noundef %15503)
  %15505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15506 = trunc i8 %15505 to i1
  br i1 %15506, label %15507, label %15529

15507:                                            ; preds = %15500
  %15508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15509 = call i32 @fileno(ptr noundef %15508) #11
  %15510 = call i32 @isatty(i32 noundef %15509) #11
  %15511 = icmp ne i32 %15510, 0
  br i1 %15511, label %15512, label %15529

15512:                                            ; preds = %15507
  %15513 = load i32, ptr %313, align 4, !tbaa !5
  %15514 = call ptr @__errno_location() #12
  store i32 %15513, ptr %15514, align 4, !tbaa !5
  %15515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15516 = load i32, ptr @test_count, align 4, !tbaa !5
  %15517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15518 = load i32, ptr %15517, align 4, !tbaa !5
  %15519 = call ptr @s2n_strerror(i32 noundef %15518, ptr noundef @.str.4)
  %15520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15521 = load i32, ptr %15520, align 4, !tbaa !5
  %15522 = call ptr @s2n_strerror_debug(i32 noundef %15521, ptr noundef @.str.4)
  %15523 = call ptr @__errno_location() #12
  %15524 = load i32, ptr %15523, align 4, !tbaa !5
  %15525 = call ptr @strerror(i32 noundef %15524) #11
  %15526 = call ptr @__errno_location() #12
  %15527 = load i32, ptr %15526, align 4, !tbaa !5
  %15528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15515, ptr noundef @.str.2, i32 noundef %15516, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 580, ptr noundef %15519, ptr noundef %15522, ptr noundef %15525, i32 noundef %15527) #11
  br label %15546

15529:                                            ; preds = %15507, %15500
  %15530 = load i32, ptr %313, align 4, !tbaa !5
  %15531 = call ptr @__errno_location() #12
  store i32 %15530, ptr %15531, align 4, !tbaa !5
  %15532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15533 = load i32, ptr @test_count, align 4, !tbaa !5
  %15534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15535 = load i32, ptr %15534, align 4, !tbaa !5
  %15536 = call ptr @s2n_strerror(i32 noundef %15535, ptr noundef @.str.4)
  %15537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15538 = load i32, ptr %15537, align 4, !tbaa !5
  %15539 = call ptr @s2n_strerror_debug(i32 noundef %15538, ptr noundef @.str.4)
  %15540 = call ptr @__errno_location() #12
  %15541 = load i32, ptr %15540, align 4, !tbaa !5
  %15542 = call ptr @strerror(i32 noundef %15541) #11
  %15543 = call ptr @__errno_location() #12
  %15544 = load i32, ptr %15543, align 4, !tbaa !5
  %15545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15532, ptr noundef @.str.5, i32 noundef %15533, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 580, ptr noundef %15536, ptr noundef %15539, ptr noundef %15542, i32 noundef %15544) #11
  br label %15546

15546:                                            ; preds = %15529, %15512
  call void @llvm.lifetime.end.p0(i64 4, ptr %313) #11
  br label %15547

15547:                                            ; preds = %15546
  br label %15548

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

15549:                                            ; No predecessors!
  br label %15550

15550:                                            ; preds = %15549
  br label %15551

15551:                                            ; preds = %15550, %15490
  br label %15552

15552:                                            ; preds = %15551
  br label %15553

15553:                                            ; preds = %15552
  br label %15554

15554:                                            ; preds = %15553
  %15555 = load i32, ptr @test_count, align 4, !tbaa !5
  %15556 = add nsw i32 %15555, 1
  store i32 %15556, ptr @test_count, align 4, !tbaa !5
  %15557 = load ptr, ptr %306, align 8, !tbaa !9
  %15558 = call i32 @s2n_config_set_npn(ptr noundef %15557, i1 noundef zeroext false)
  %15559 = icmp eq i32 %15558, -1
  br i1 %15559, label %15560, label %15613

15560:                                            ; preds = %15554
  br label %15561

15561:                                            ; preds = %15560
  br label %15562

15562:                                            ; preds = %15561
  call void @llvm.lifetime.start.p0(i64 4, ptr %314) #11
  %15563 = call ptr @__errno_location() #12
  %15564 = load i32, ptr %15563, align 4, !tbaa !5
  store i32 %15564, ptr %314, align 4, !tbaa !5
  %15565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15566 = call i32 @s2n_print_stacktrace(ptr noundef %15565)
  %15567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15568 = trunc i8 %15567 to i1
  br i1 %15568, label %15569, label %15591

15569:                                            ; preds = %15562
  %15570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15571 = call i32 @fileno(ptr noundef %15570) #11
  %15572 = call i32 @isatty(i32 noundef %15571) #11
  %15573 = icmp ne i32 %15572, 0
  br i1 %15573, label %15574, label %15591

15574:                                            ; preds = %15569
  %15575 = load i32, ptr %314, align 4, !tbaa !5
  %15576 = call ptr @__errno_location() #12
  store i32 %15575, ptr %15576, align 4, !tbaa !5
  %15577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15578 = load i32, ptr @test_count, align 4, !tbaa !5
  %15579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15580 = load i32, ptr %15579, align 4, !tbaa !5
  %15581 = call ptr @s2n_strerror(i32 noundef %15580, ptr noundef @.str.4)
  %15582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15583 = load i32, ptr %15582, align 4, !tbaa !5
  %15584 = call ptr @s2n_strerror_debug(i32 noundef %15583, ptr noundef @.str.4)
  %15585 = call ptr @__errno_location() #12
  %15586 = load i32, ptr %15585, align 4, !tbaa !5
  %15587 = call ptr @strerror(i32 noundef %15586) #11
  %15588 = call ptr @__errno_location() #12
  %15589 = load i32, ptr %15588, align 4, !tbaa !5
  %15590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15577, ptr noundef @.str.2, i32 noundef %15578, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 581, ptr noundef %15581, ptr noundef %15584, ptr noundef %15587, i32 noundef %15589) #11
  br label %15608

15591:                                            ; preds = %15569, %15562
  %15592 = load i32, ptr %314, align 4, !tbaa !5
  %15593 = call ptr @__errno_location() #12
  store i32 %15592, ptr %15593, align 4, !tbaa !5
  %15594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15595 = load i32, ptr @test_count, align 4, !tbaa !5
  %15596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15597 = load i32, ptr %15596, align 4, !tbaa !5
  %15598 = call ptr @s2n_strerror(i32 noundef %15597, ptr noundef @.str.4)
  %15599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15600 = load i32, ptr %15599, align 4, !tbaa !5
  %15601 = call ptr @s2n_strerror_debug(i32 noundef %15600, ptr noundef @.str.4)
  %15602 = call ptr @__errno_location() #12
  %15603 = load i32, ptr %15602, align 4, !tbaa !5
  %15604 = call ptr @strerror(i32 noundef %15603) #11
  %15605 = call ptr @__errno_location() #12
  %15606 = load i32, ptr %15605, align 4, !tbaa !5
  %15607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15594, ptr noundef @.str.5, i32 noundef %15595, ptr noundef @.str.122, ptr noundef @.str.1, i32 noundef 581, ptr noundef %15598, ptr noundef %15601, ptr noundef %15604, i32 noundef %15606) #11
  br label %15608

15608:                                            ; preds = %15591, %15574
  call void @llvm.lifetime.end.p0(i64 4, ptr %314) #11
  br label %15609

15609:                                            ; preds = %15608
  br label %15610

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

15611:                                            ; No predecessors!
  br label %15612

15612:                                            ; preds = %15611
  br label %15613

15613:                                            ; preds = %15612, %15554
  br label %15614

15614:                                            ; preds = %15613
  br label %15615

15615:                                            ; preds = %15614
  br label %15616

15616:                                            ; preds = %15615
  %15617 = load i32, ptr @test_count, align 4, !tbaa !5
  %15618 = add nsw i32 %15617, 1
  store i32 %15618, ptr @test_count, align 4, !tbaa !5
  %15619 = load ptr, ptr %306, align 8, !tbaa !9
  %15620 = load i32, ptr %15619, align 8
  %15621 = lshr i32 %15620, 13
  %15622 = and i32 %15621, 1
  %15623 = icmp ne i32 %15622, 0
  br i1 %15623, label %15624, label %15677

15624:                                            ; preds = %15616
  br label %15625

15625:                                            ; preds = %15624
  br label %15626

15626:                                            ; preds = %15625
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %15627 = call ptr @__errno_location() #12
  %15628 = load i32, ptr %15627, align 4, !tbaa !5
  store i32 %15628, ptr %315, align 4, !tbaa !5
  %15629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15630 = call i32 @s2n_print_stacktrace(ptr noundef %15629)
  %15631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15632 = trunc i8 %15631 to i1
  br i1 %15632, label %15633, label %15655

15633:                                            ; preds = %15626
  %15634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15635 = call i32 @fileno(ptr noundef %15634) #11
  %15636 = call i32 @isatty(i32 noundef %15635) #11
  %15637 = icmp ne i32 %15636, 0
  br i1 %15637, label %15638, label %15655

15638:                                            ; preds = %15633
  %15639 = load i32, ptr %315, align 4, !tbaa !5
  %15640 = call ptr @__errno_location() #12
  store i32 %15639, ptr %15640, align 4, !tbaa !5
  %15641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15642 = load i32, ptr @test_count, align 4, !tbaa !5
  %15643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15644 = load i32, ptr %15643, align 4, !tbaa !5
  %15645 = call ptr @s2n_strerror(i32 noundef %15644, ptr noundef @.str.4)
  %15646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15647 = load i32, ptr %15646, align 4, !tbaa !5
  %15648 = call ptr @s2n_strerror_debug(i32 noundef %15647, ptr noundef @.str.4)
  %15649 = call ptr @__errno_location() #12
  %15650 = load i32, ptr %15649, align 4, !tbaa !5
  %15651 = call ptr @strerror(i32 noundef %15650) #11
  %15652 = call ptr @__errno_location() #12
  %15653 = load i32, ptr %15652, align 4, !tbaa !5
  %15654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15641, ptr noundef @.str.2, i32 noundef %15642, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 582, ptr noundef %15645, ptr noundef %15648, ptr noundef %15651, i32 noundef %15653) #11
  br label %15672

15655:                                            ; preds = %15633, %15626
  %15656 = load i32, ptr %315, align 4, !tbaa !5
  %15657 = call ptr @__errno_location() #12
  store i32 %15656, ptr %15657, align 4, !tbaa !5
  %15658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15659 = load i32, ptr @test_count, align 4, !tbaa !5
  %15660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15661 = load i32, ptr %15660, align 4, !tbaa !5
  %15662 = call ptr @s2n_strerror(i32 noundef %15661, ptr noundef @.str.4)
  %15663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15664 = load i32, ptr %15663, align 4, !tbaa !5
  %15665 = call ptr @s2n_strerror_debug(i32 noundef %15664, ptr noundef @.str.4)
  %15666 = call ptr @__errno_location() #12
  %15667 = load i32, ptr %15666, align 4, !tbaa !5
  %15668 = call ptr @strerror(i32 noundef %15667) #11
  %15669 = call ptr @__errno_location() #12
  %15670 = load i32, ptr %15669, align 4, !tbaa !5
  %15671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15658, ptr noundef @.str.5, i32 noundef %15659, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 582, ptr noundef %15662, ptr noundef %15665, ptr noundef %15668, i32 noundef %15670) #11
  br label %15672

15672:                                            ; preds = %15655, %15638
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %15673

15673:                                            ; preds = %15672
  br label %15674

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

15675:                                            ; No predecessors!
  br label %15676

15676:                                            ; preds = %15675
  br label %15677

15677:                                            ; preds = %15676, %15616
  br label %15678

15678:                                            ; preds = %15677
  br label %15679

15679:                                            ; preds = %15678
  %15680 = call i32 @s2n_config_ptr_free(ptr noundef %306)
  %15681 = getelementptr inbounds %struct.s2n_result, ptr %316, i32 0, i32 0
  store i32 %15680, ptr %15681, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %306) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %317) #11
  store i8 0, ptr %317, align 1, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr %318) #11
  %15682 = call ptr @s2n_config_new()
  store ptr %15682, ptr %318, align 8, !tbaa !9
  br label %15683

15683:                                            ; preds = %15679
  %15684 = load i32, ptr @test_count, align 4, !tbaa !5
  %15685 = add nsw i32 %15684, 1
  store i32 %15685, ptr @test_count, align 4, !tbaa !5
  %15686 = load ptr, ptr %318, align 8, !tbaa !9
  %15687 = icmp eq ptr %15686, null
  br i1 %15687, label %15688, label %15741

15688:                                            ; preds = %15683
  br label %15689

15689:                                            ; preds = %15688
  br label %15690

15690:                                            ; preds = %15689
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  %15691 = call ptr @__errno_location() #12
  %15692 = load i32, ptr %15691, align 4, !tbaa !5
  store i32 %15692, ptr %319, align 4, !tbaa !5
  %15693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15694 = call i32 @s2n_print_stacktrace(ptr noundef %15693)
  %15695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15696 = trunc i8 %15695 to i1
  br i1 %15696, label %15697, label %15719

15697:                                            ; preds = %15690
  %15698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15699 = call i32 @fileno(ptr noundef %15698) #11
  %15700 = call i32 @isatty(i32 noundef %15699) #11
  %15701 = icmp ne i32 %15700, 0
  br i1 %15701, label %15702, label %15719

15702:                                            ; preds = %15697
  %15703 = load i32, ptr %319, align 4, !tbaa !5
  %15704 = call ptr @__errno_location() #12
  store i32 %15703, ptr %15704, align 4, !tbaa !5
  %15705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15706 = load i32, ptr @test_count, align 4, !tbaa !5
  %15707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15708 = load i32, ptr %15707, align 4, !tbaa !5
  %15709 = call ptr @s2n_strerror(i32 noundef %15708, ptr noundef @.str.4)
  %15710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15711 = load i32, ptr %15710, align 4, !tbaa !5
  %15712 = call ptr @s2n_strerror_debug(i32 noundef %15711, ptr noundef @.str.4)
  %15713 = call ptr @__errno_location() #12
  %15714 = load i32, ptr %15713, align 4, !tbaa !5
  %15715 = call ptr @strerror(i32 noundef %15714) #11
  %15716 = call ptr @__errno_location() #12
  %15717 = load i32, ptr %15716, align 4, !tbaa !5
  %15718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15705, ptr noundef @.str.2, i32 noundef %15706, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 589, ptr noundef %15709, ptr noundef %15712, ptr noundef %15715, i32 noundef %15717) #11
  br label %15736

15719:                                            ; preds = %15697, %15690
  %15720 = load i32, ptr %319, align 4, !tbaa !5
  %15721 = call ptr @__errno_location() #12
  store i32 %15720, ptr %15721, align 4, !tbaa !5
  %15722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15723 = load i32, ptr @test_count, align 4, !tbaa !5
  %15724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15725 = load i32, ptr %15724, align 4, !tbaa !5
  %15726 = call ptr @s2n_strerror(i32 noundef %15725, ptr noundef @.str.4)
  %15727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15728 = load i32, ptr %15727, align 4, !tbaa !5
  %15729 = call ptr @s2n_strerror_debug(i32 noundef %15728, ptr noundef @.str.4)
  %15730 = call ptr @__errno_location() #12
  %15731 = load i32, ptr %15730, align 4, !tbaa !5
  %15732 = call ptr @strerror(i32 noundef %15731) #11
  %15733 = call ptr @__errno_location() #12
  %15734 = load i32, ptr %15733, align 4, !tbaa !5
  %15735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15722, ptr noundef @.str.5, i32 noundef %15723, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 589, ptr noundef %15726, ptr noundef %15729, ptr noundef %15732, i32 noundef %15734) #11
  br label %15736

15736:                                            ; preds = %15719, %15702
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  br label %15737

15737:                                            ; preds = %15736
  br label %15738

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

15739:                                            ; No predecessors!
  br label %15740

15740:                                            ; preds = %15739
  br label %15741

15741:                                            ; preds = %15740, %15683
  br label %15742

15742:                                            ; preds = %15741
  br label %15743

15743:                                            ; preds = %15742
  br label %15744

15744:                                            ; preds = %15743
  %15745 = load i32, ptr @test_count, align 4, !tbaa !5
  %15746 = add nsw i32 %15745, 1
  store i32 %15746, ptr @test_count, align 4, !tbaa !5
  %15747 = load ptr, ptr %318, align 8, !tbaa !9
  %15748 = getelementptr inbounds %struct.s2n_config, ptr %15747, i32 0, i32 30
  %15749 = load ptr, ptr %15748, align 8, !tbaa !62
  %15750 = icmp eq ptr %15749, null
  br i1 %15750, label %15804, label %15751

15751:                                            ; preds = %15744
  br label %15752

15752:                                            ; preds = %15751
  br label %15753

15753:                                            ; preds = %15752
  call void @llvm.lifetime.start.p0(i64 4, ptr %320) #11
  %15754 = call ptr @__errno_location() #12
  %15755 = load i32, ptr %15754, align 4, !tbaa !5
  store i32 %15755, ptr %320, 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 %320, align 4, !tbaa !5
  %15767 = call ptr @__errno_location() #12
  store i32 %15766, ptr %15767, align 4, !tbaa !5
  %15768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15769 = load i32, ptr @test_count, align 4, !tbaa !5
  %15770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15771 = load i32, ptr %15770, align 4, !tbaa !5
  %15772 = call ptr @s2n_strerror(i32 noundef %15771, ptr noundef @.str.4)
  %15773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15774 = load i32, ptr %15773, align 4, !tbaa !5
  %15775 = call ptr @s2n_strerror_debug(i32 noundef %15774, ptr noundef @.str.4)
  %15776 = call ptr @__errno_location() #12
  %15777 = load i32, ptr %15776, align 4, !tbaa !5
  %15778 = call ptr @strerror(i32 noundef %15777) #11
  %15779 = call ptr @__errno_location() #12
  %15780 = load i32, ptr %15779, align 4, !tbaa !5
  %15781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15768, ptr noundef @.str.2, i32 noundef %15769, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 592, ptr noundef %15772, ptr noundef %15775, ptr noundef %15778, i32 noundef %15780) #11
  br label %15799

15782:                                            ; preds = %15760, %15753
  %15783 = load i32, ptr %320, 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.4)
  %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.4)
  %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.5, i32 noundef %15786, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 592, 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 %320) #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, %15744
  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 %318, align 8, !tbaa !9
  %15811 = getelementptr inbounds %struct.s2n_config, ptr %15810, i32 0, i32 31
  %15812 = load ptr, ptr %15811, align 8, !tbaa !63
  %15813 = icmp eq ptr %15812, null
  br i1 %15813, label %15867, label %15814

15814:                                            ; preds = %15807
  br label %15815

15815:                                            ; preds = %15814
  br label %15816

15816:                                            ; preds = %15815
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #11
  %15817 = call ptr @__errno_location() #12
  %15818 = load i32, ptr %15817, align 4, !tbaa !5
  store i32 %15818, ptr %321, align 4, !tbaa !5
  %15819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15820 = call i32 @s2n_print_stacktrace(ptr noundef %15819)
  %15821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15822 = trunc i8 %15821 to i1
  br i1 %15822, label %15823, label %15845

15823:                                            ; preds = %15816
  %15824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15825 = call i32 @fileno(ptr noundef %15824) #11
  %15826 = call i32 @isatty(i32 noundef %15825) #11
  %15827 = icmp ne i32 %15826, 0
  br i1 %15827, label %15828, label %15845

15828:                                            ; preds = %15823
  %15829 = load i32, ptr %321, align 4, !tbaa !5
  %15830 = call ptr @__errno_location() #12
  store i32 %15829, ptr %15830, align 4, !tbaa !5
  %15831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15832 = load i32, ptr @test_count, align 4, !tbaa !5
  %15833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15834 = load i32, ptr %15833, align 4, !tbaa !5
  %15835 = call ptr @s2n_strerror(i32 noundef %15834, ptr noundef @.str.4)
  %15836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15837 = load i32, ptr %15836, align 4, !tbaa !5
  %15838 = call ptr @s2n_strerror_debug(i32 noundef %15837, ptr noundef @.str.4)
  %15839 = call ptr @__errno_location() #12
  %15840 = load i32, ptr %15839, align 4, !tbaa !5
  %15841 = call ptr @strerror(i32 noundef %15840) #11
  %15842 = call ptr @__errno_location() #12
  %15843 = load i32, ptr %15842, align 4, !tbaa !5
  %15844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15831, ptr noundef @.str.2, i32 noundef %15832, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 593, ptr noundef %15835, ptr noundef %15838, ptr noundef %15841, i32 noundef %15843) #11
  br label %15862

15845:                                            ; preds = %15823, %15816
  %15846 = load i32, ptr %321, align 4, !tbaa !5
  %15847 = call ptr @__errno_location() #12
  store i32 %15846, ptr %15847, align 4, !tbaa !5
  %15848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15849 = load i32, ptr @test_count, align 4, !tbaa !5
  %15850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15851 = load i32, ptr %15850, align 4, !tbaa !5
  %15852 = call ptr @s2n_strerror(i32 noundef %15851, ptr noundef @.str.4)
  %15853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15854 = load i32, ptr %15853, align 4, !tbaa !5
  %15855 = call ptr @s2n_strerror_debug(i32 noundef %15854, ptr noundef @.str.4)
  %15856 = call ptr @__errno_location() #12
  %15857 = load i32, ptr %15856, align 4, !tbaa !5
  %15858 = call ptr @strerror(i32 noundef %15857) #11
  %15859 = call ptr @__errno_location() #12
  %15860 = load i32, ptr %15859, align 4, !tbaa !5
  %15861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15848, ptr noundef @.str.5, i32 noundef %15849, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 593, ptr noundef %15852, ptr noundef %15855, ptr noundef %15858, i32 noundef %15860) #11
  br label %15862

15862:                                            ; preds = %15845, %15828
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #11
  br label %15863

15863:                                            ; preds = %15862
  br label %15864

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

15865:                                            ; No predecessors!
  br label %15866

15866:                                            ; preds = %15865
  br label %15867

15867:                                            ; preds = %15866, %15807
  br label %15868

15868:                                            ; preds = %15867
  br label %15869

15869:                                            ; preds = %15868
  br label %15870

15870:                                            ; preds = %15869
  br label %15871

15871:                                            ; preds = %15870
  br label %15872

15872:                                            ; preds = %15871
  %15873 = load i32, ptr @test_count, align 4, !tbaa !5
  %15874 = add nsw i32 %15873, 1
  store i32 %15874, ptr @test_count, align 4, !tbaa !5
  %15875 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef null, ptr noundef @s2n_test_crl_lookup_cb, ptr noundef %317)
  %15876 = icmp eq i32 %15875, -1
  br i1 %15876, label %15930, label %15877

15877:                                            ; preds = %15872
  br label %15878

15878:                                            ; preds = %15877
  br label %15879

15879:                                            ; preds = %15878
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  %15880 = call ptr @__errno_location() #12
  %15881 = load i32, ptr %15880, align 4, !tbaa !5
  store i32 %15881, ptr %322, align 4, !tbaa !5
  %15882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15883 = call i32 @s2n_print_stacktrace(ptr noundef %15882)
  %15884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15885 = trunc i8 %15884 to i1
  br i1 %15885, label %15886, label %15908

15886:                                            ; preds = %15879
  %15887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15888 = call i32 @fileno(ptr noundef %15887) #11
  %15889 = call i32 @isatty(i32 noundef %15888) #11
  %15890 = icmp ne i32 %15889, 0
  br i1 %15890, label %15891, label %15908

15891:                                            ; preds = %15886
  %15892 = load i32, ptr %322, align 4, !tbaa !5
  %15893 = call ptr @__errno_location() #12
  store i32 %15892, ptr %15893, align 4, !tbaa !5
  %15894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15895 = load i32, ptr @test_count, align 4, !tbaa !5
  %15896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15897 = load i32, ptr %15896, align 4, !tbaa !5
  %15898 = call ptr @s2n_strerror(i32 noundef %15897, ptr noundef @.str.4)
  %15899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15900 = load i32, ptr %15899, align 4, !tbaa !5
  %15901 = call ptr @s2n_strerror_debug(i32 noundef %15900, ptr noundef @.str.4)
  %15902 = call ptr @__errno_location() #12
  %15903 = load i32, ptr %15902, align 4, !tbaa !5
  %15904 = call ptr @strerror(i32 noundef %15903) #11
  %15905 = call ptr @__errno_location() #12
  %15906 = load i32, ptr %15905, align 4, !tbaa !5
  %15907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15894, ptr noundef @.str.2, i32 noundef %15895, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 596, ptr noundef %15898, ptr noundef %15901, ptr noundef %15904, i32 noundef %15906) #11
  br label %15925

15908:                                            ; preds = %15886, %15879
  %15909 = load i32, ptr %322, align 4, !tbaa !5
  %15910 = call ptr @__errno_location() #12
  store i32 %15909, ptr %15910, align 4, !tbaa !5
  %15911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15912 = load i32, ptr @test_count, align 4, !tbaa !5
  %15913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15914 = load i32, ptr %15913, align 4, !tbaa !5
  %15915 = call ptr @s2n_strerror(i32 noundef %15914, ptr noundef @.str.4)
  %15916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15917 = load i32, ptr %15916, align 4, !tbaa !5
  %15918 = call ptr @s2n_strerror_debug(i32 noundef %15917, ptr noundef @.str.4)
  %15919 = call ptr @__errno_location() #12
  %15920 = load i32, ptr %15919, align 4, !tbaa !5
  %15921 = call ptr @strerror(i32 noundef %15920) #11
  %15922 = call ptr @__errno_location() #12
  %15923 = load i32, ptr %15922, align 4, !tbaa !5
  %15924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15911, ptr noundef @.str.5, i32 noundef %15912, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 596, ptr noundef %15915, ptr noundef %15918, ptr noundef %15921, i32 noundef %15923) #11
  br label %15925

15925:                                            ; preds = %15908, %15891
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  br label %15926

15926:                                            ; preds = %15925
  br label %15927

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

15928:                                            ; No predecessors!
  br label %15929

15929:                                            ; preds = %15928
  br label %15930

15930:                                            ; preds = %15929, %15872
  br label %15931

15931:                                            ; preds = %15930
  br label %15932

15932:                                            ; preds = %15931
  br label %15933

15933:                                            ; preds = %15932
  %15934 = load i32, ptr @test_count, align 4, !tbaa !5
  %15935 = add nsw i32 %15934, 1
  store i32 %15935, ptr @test_count, align 4, !tbaa !5
  %15936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15937 = load i32, ptr %15936, align 4, !tbaa !5
  %15938 = icmp eq i32 %15937, 402653193
  br i1 %15938, label %15992, label %15939

15939:                                            ; preds = %15933
  br label %15940

15940:                                            ; preds = %15939
  br label %15941

15941:                                            ; preds = %15940
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  %15942 = call ptr @__errno_location() #12
  %15943 = load i32, ptr %15942, align 4, !tbaa !5
  store i32 %15943, ptr %323, align 4, !tbaa !5
  %15944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15945 = call i32 @s2n_print_stacktrace(ptr noundef %15944)
  %15946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15947 = trunc i8 %15946 to i1
  br i1 %15947, label %15948, label %15970

15948:                                            ; preds = %15941
  %15949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15950 = call i32 @fileno(ptr noundef %15949) #11
  %15951 = call i32 @isatty(i32 noundef %15950) #11
  %15952 = icmp ne i32 %15951, 0
  br i1 %15952, label %15953, label %15970

15953:                                            ; preds = %15948
  %15954 = load i32, ptr %323, align 4, !tbaa !5
  %15955 = call ptr @__errno_location() #12
  store i32 %15954, ptr %15955, align 4, !tbaa !5
  %15956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15957 = load i32, ptr @test_count, align 4, !tbaa !5
  %15958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15959 = load i32, ptr %15958, align 4, !tbaa !5
  %15960 = call ptr @s2n_strerror(i32 noundef %15959, ptr noundef @.str.4)
  %15961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15962 = load i32, ptr %15961, align 4, !tbaa !5
  %15963 = call ptr @s2n_strerror_debug(i32 noundef %15962, ptr noundef @.str.4)
  %15964 = call ptr @__errno_location() #12
  %15965 = load i32, ptr %15964, align 4, !tbaa !5
  %15966 = call ptr @strerror(i32 noundef %15965) #11
  %15967 = call ptr @__errno_location() #12
  %15968 = load i32, ptr %15967, align 4, !tbaa !5
  %15969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15956, ptr noundef @.str.2, i32 noundef %15957, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 596, ptr noundef %15960, ptr noundef %15963, ptr noundef %15966, i32 noundef %15968) #11
  br label %15987

15970:                                            ; preds = %15948, %15941
  %15971 = load i32, ptr %323, align 4, !tbaa !5
  %15972 = call ptr @__errno_location() #12
  store i32 %15971, ptr %15972, align 4, !tbaa !5
  %15973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15974 = load i32, ptr @test_count, align 4, !tbaa !5
  %15975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15976 = load i32, ptr %15975, align 4, !tbaa !5
  %15977 = call ptr @s2n_strerror(i32 noundef %15976, ptr noundef @.str.4)
  %15978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15979 = load i32, ptr %15978, align 4, !tbaa !5
  %15980 = call ptr @s2n_strerror_debug(i32 noundef %15979, ptr noundef @.str.4)
  %15981 = call ptr @__errno_location() #12
  %15982 = load i32, ptr %15981, align 4, !tbaa !5
  %15983 = call ptr @strerror(i32 noundef %15982) #11
  %15984 = call ptr @__errno_location() #12
  %15985 = load i32, ptr %15984, align 4, !tbaa !5
  %15986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15973, ptr noundef @.str.5, i32 noundef %15974, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 596, ptr noundef %15977, ptr noundef %15980, ptr noundef %15983, i32 noundef %15985) #11
  br label %15987

15987:                                            ; preds = %15970, %15953
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  br label %15988

15988:                                            ; preds = %15987
  br label %15989

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

15990:                                            ; No predecessors!
  br label %15991

15991:                                            ; preds = %15990
  br label %15992

15992:                                            ; preds = %15991, %15933
  br label %15993

15993:                                            ; preds = %15992
  br label %15994

15994:                                            ; preds = %15993
  br label %15995

15995:                                            ; preds = %15994
  %15996 = load i32, ptr @test_count, align 4, !tbaa !5
  %15997 = add nsw i32 %15996, 1
  store i32 %15997, ptr @test_count, align 4, !tbaa !5
  %15998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15999 = load i32, ptr %15998, align 4, !tbaa !5
  %16000 = call ptr @s2n_strerror_debug(i32 noundef %15999, ptr noundef @.str.4)
  %16001 = icmp eq ptr %16000, null
  br i1 %16001, label %16002, label %16055

16002:                                            ; preds = %15995
  br label %16003

16003:                                            ; preds = %16002
  br label %16004

16004:                                            ; preds = %16003
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #11
  %16005 = call ptr @__errno_location() #12
  %16006 = load i32, ptr %16005, align 4, !tbaa !5
  store i32 %16006, ptr %324, align 4, !tbaa !5
  %16007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16008 = call i32 @s2n_print_stacktrace(ptr noundef %16007)
  %16009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16010 = trunc i8 %16009 to i1
  br i1 %16010, label %16011, label %16033

16011:                                            ; preds = %16004
  %16012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16013 = call i32 @fileno(ptr noundef %16012) #11
  %16014 = call i32 @isatty(i32 noundef %16013) #11
  %16015 = icmp ne i32 %16014, 0
  br i1 %16015, label %16016, label %16033

16016:                                            ; preds = %16011
  %16017 = load i32, ptr %324, align 4, !tbaa !5
  %16018 = call ptr @__errno_location() #12
  store i32 %16017, ptr %16018, align 4, !tbaa !5
  %16019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16020 = load i32, ptr @test_count, align 4, !tbaa !5
  %16021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16022 = load i32, ptr %16021, align 4, !tbaa !5
  %16023 = call ptr @s2n_strerror(i32 noundef %16022, ptr noundef @.str.4)
  %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_debug(i32 noundef %16025, ptr noundef @.str.4)
  %16027 = call ptr @__errno_location() #12
  %16028 = load i32, ptr %16027, align 4, !tbaa !5
  %16029 = call ptr @strerror(i32 noundef %16028) #11
  %16030 = call ptr @__errno_location() #12
  %16031 = load i32, ptr %16030, align 4, !tbaa !5
  %16032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16019, ptr noundef @.str.2, i32 noundef %16020, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 596, ptr noundef %16023, ptr noundef %16026, ptr noundef %16029, i32 noundef %16031) #11
  br label %16050

16033:                                            ; preds = %16011, %16004
  %16034 = load i32, ptr %324, align 4, !tbaa !5
  %16035 = call ptr @__errno_location() #12
  store i32 %16034, ptr %16035, align 4, !tbaa !5
  %16036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16037 = load i32, ptr @test_count, align 4, !tbaa !5
  %16038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16039 = load i32, ptr %16038, align 4, !tbaa !5
  %16040 = call ptr @s2n_strerror(i32 noundef %16039, ptr noundef @.str.4)
  %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_debug(i32 noundef %16042, ptr noundef @.str.4)
  %16044 = call ptr @__errno_location() #12
  %16045 = load i32, ptr %16044, align 4, !tbaa !5
  %16046 = call ptr @strerror(i32 noundef %16045) #11
  %16047 = call ptr @__errno_location() #12
  %16048 = load i32, ptr %16047, align 4, !tbaa !5
  %16049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16036, ptr noundef @.str.5, i32 noundef %16037, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 596, ptr noundef %16040, ptr noundef %16043, ptr noundef %16046, i32 noundef %16048) #11
  br label %16050

16050:                                            ; preds = %16033, %16016
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #11
  br label %16051

16051:                                            ; preds = %16050
  br label %16052

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

16053:                                            ; No predecessors!
  br label %16054

16054:                                            ; preds = %16053
  br label %16055

16055:                                            ; preds = %16054, %15995
  br label %16056

16056:                                            ; preds = %16055
  br label %16057

16057:                                            ; preds = %16056
  br label %16058

16058:                                            ; preds = %16057
  br label %16059

16059:                                            ; preds = %16058
  br label %16060

16060:                                            ; preds = %16059
  %16061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16061, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16062 = call ptr @__errno_location() #12
  store i32 0, ptr %16062, align 4, !tbaa !5
  br label %16063

16063:                                            ; preds = %16060
  br label %16064

16064:                                            ; preds = %16063
  br label %16065

16065:                                            ; preds = %16064
  br label %16066

16066:                                            ; preds = %16065
  br label %16067

16067:                                            ; preds = %16066
  %16068 = load i32, ptr @test_count, align 4, !tbaa !5
  %16069 = add nsw i32 %16068, 1
  store i32 %16069, ptr @test_count, align 4, !tbaa !5
  %16070 = load ptr, ptr %318, align 8, !tbaa !9
  %16071 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %16070, ptr noundef null, ptr noundef %317)
  %16072 = icmp eq i32 %16071, -1
  br i1 %16072, label %16073, label %16126

16073:                                            ; preds = %16067
  br label %16074

16074:                                            ; preds = %16073
  br label %16075

16075:                                            ; preds = %16074
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #11
  %16076 = call ptr @__errno_location() #12
  %16077 = load i32, ptr %16076, align 4, !tbaa !5
  store i32 %16077, ptr %325, align 4, !tbaa !5
  %16078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16079 = call i32 @s2n_print_stacktrace(ptr noundef %16078)
  %16080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16081 = trunc i8 %16080 to i1
  br i1 %16081, label %16082, label %16104

16082:                                            ; preds = %16075
  %16083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16084 = call i32 @fileno(ptr noundef %16083) #11
  %16085 = call i32 @isatty(i32 noundef %16084) #11
  %16086 = icmp ne i32 %16085, 0
  br i1 %16086, label %16087, label %16104

16087:                                            ; preds = %16082
  %16088 = load i32, ptr %325, align 4, !tbaa !5
  %16089 = call ptr @__errno_location() #12
  store i32 %16088, ptr %16089, align 4, !tbaa !5
  %16090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16091 = load i32, ptr @test_count, align 4, !tbaa !5
  %16092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16093 = load i32, ptr %16092, align 4, !tbaa !5
  %16094 = call ptr @s2n_strerror(i32 noundef %16093, ptr noundef @.str.4)
  %16095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16096 = load i32, ptr %16095, align 4, !tbaa !5
  %16097 = call ptr @s2n_strerror_debug(i32 noundef %16096, ptr noundef @.str.4)
  %16098 = call ptr @__errno_location() #12
  %16099 = load i32, ptr %16098, align 4, !tbaa !5
  %16100 = call ptr @strerror(i32 noundef %16099) #11
  %16101 = call ptr @__errno_location() #12
  %16102 = load i32, ptr %16101, align 4, !tbaa !5
  %16103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16090, ptr noundef @.str.2, i32 noundef %16091, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 597, ptr noundef %16094, ptr noundef %16097, ptr noundef %16100, i32 noundef %16102) #11
  br label %16121

16104:                                            ; preds = %16082, %16075
  %16105 = load i32, ptr %325, align 4, !tbaa !5
  %16106 = call ptr @__errno_location() #12
  store i32 %16105, ptr %16106, align 4, !tbaa !5
  %16107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16108 = load i32, ptr @test_count, align 4, !tbaa !5
  %16109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16110 = load i32, ptr %16109, align 4, !tbaa !5
  %16111 = call ptr @s2n_strerror(i32 noundef %16110, ptr noundef @.str.4)
  %16112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16113 = load i32, ptr %16112, align 4, !tbaa !5
  %16114 = call ptr @s2n_strerror_debug(i32 noundef %16113, ptr noundef @.str.4)
  %16115 = call ptr @__errno_location() #12
  %16116 = load i32, ptr %16115, align 4, !tbaa !5
  %16117 = call ptr @strerror(i32 noundef %16116) #11
  %16118 = call ptr @__errno_location() #12
  %16119 = load i32, ptr %16118, align 4, !tbaa !5
  %16120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16107, ptr noundef @.str.5, i32 noundef %16108, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 597, ptr noundef %16111, ptr noundef %16114, ptr noundef %16117, i32 noundef %16119) #11
  br label %16121

16121:                                            ; preds = %16104, %16087
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #11
  br label %16122

16122:                                            ; preds = %16121
  br label %16123

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

16124:                                            ; No predecessors!
  br label %16125

16125:                                            ; preds = %16124
  br label %16126

16126:                                            ; preds = %16125, %16067
  br label %16127

16127:                                            ; preds = %16126
  br label %16128

16128:                                            ; preds = %16127
  br label %16129

16129:                                            ; preds = %16128
  %16130 = load i32, ptr @test_count, align 4, !tbaa !5
  %16131 = add nsw i32 %16130, 1
  store i32 %16131, ptr @test_count, align 4, !tbaa !5
  %16132 = load ptr, ptr %318, align 8, !tbaa !9
  %16133 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %16132, ptr noundef @s2n_test_crl_lookup_cb, ptr noundef null)
  %16134 = icmp eq i32 %16133, -1
  br i1 %16134, label %16135, label %16188

16135:                                            ; preds = %16129
  br label %16136

16136:                                            ; preds = %16135
  br label %16137

16137:                                            ; preds = %16136
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #11
  %16138 = call ptr @__errno_location() #12
  %16139 = load i32, ptr %16138, align 4, !tbaa !5
  store i32 %16139, ptr %326, align 4, !tbaa !5
  %16140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16141 = call i32 @s2n_print_stacktrace(ptr noundef %16140)
  %16142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16143 = trunc i8 %16142 to i1
  br i1 %16143, label %16144, label %16166

16144:                                            ; preds = %16137
  %16145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16146 = call i32 @fileno(ptr noundef %16145) #11
  %16147 = call i32 @isatty(i32 noundef %16146) #11
  %16148 = icmp ne i32 %16147, 0
  br i1 %16148, label %16149, label %16166

16149:                                            ; preds = %16144
  %16150 = load i32, ptr %326, align 4, !tbaa !5
  %16151 = call ptr @__errno_location() #12
  store i32 %16150, ptr %16151, align 4, !tbaa !5
  %16152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16153 = load i32, ptr @test_count, align 4, !tbaa !5
  %16154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16155 = load i32, ptr %16154, align 4, !tbaa !5
  %16156 = call ptr @s2n_strerror(i32 noundef %16155, ptr noundef @.str.4)
  %16157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16158 = load i32, ptr %16157, align 4, !tbaa !5
  %16159 = call ptr @s2n_strerror_debug(i32 noundef %16158, ptr noundef @.str.4)
  %16160 = call ptr @__errno_location() #12
  %16161 = load i32, ptr %16160, align 4, !tbaa !5
  %16162 = call ptr @strerror(i32 noundef %16161) #11
  %16163 = call ptr @__errno_location() #12
  %16164 = load i32, ptr %16163, align 4, !tbaa !5
  %16165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16152, ptr noundef @.str.2, i32 noundef %16153, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 598, ptr noundef %16156, ptr noundef %16159, ptr noundef %16162, i32 noundef %16164) #11
  br label %16183

16166:                                            ; preds = %16144, %16137
  %16167 = load i32, ptr %326, align 4, !tbaa !5
  %16168 = call ptr @__errno_location() #12
  store i32 %16167, ptr %16168, align 4, !tbaa !5
  %16169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16170 = load i32, ptr @test_count, align 4, !tbaa !5
  %16171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16172 = load i32, ptr %16171, align 4, !tbaa !5
  %16173 = call ptr @s2n_strerror(i32 noundef %16172, ptr noundef @.str.4)
  %16174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16175 = load i32, ptr %16174, align 4, !tbaa !5
  %16176 = call ptr @s2n_strerror_debug(i32 noundef %16175, ptr noundef @.str.4)
  %16177 = call ptr @__errno_location() #12
  %16178 = load i32, ptr %16177, align 4, !tbaa !5
  %16179 = call ptr @strerror(i32 noundef %16178) #11
  %16180 = call ptr @__errno_location() #12
  %16181 = load i32, ptr %16180, align 4, !tbaa !5
  %16182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16169, ptr noundef @.str.5, i32 noundef %16170, ptr noundef @.str.127, ptr noundef @.str.1, i32 noundef 598, ptr noundef %16173, ptr noundef %16176, ptr noundef %16179, i32 noundef %16181) #11
  br label %16183

16183:                                            ; preds = %16166, %16149
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #11
  br label %16184

16184:                                            ; preds = %16183
  br label %16185

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

16186:                                            ; No predecessors!
  br label %16187

16187:                                            ; preds = %16186
  br label %16188

16188:                                            ; preds = %16187, %16129
  br label %16189

16189:                                            ; preds = %16188
  br label %16190

16190:                                            ; preds = %16189
  br label %16191

16191:                                            ; preds = %16190
  %16192 = load i32, ptr @test_count, align 4, !tbaa !5
  %16193 = add nsw i32 %16192, 1
  store i32 %16193, ptr @test_count, align 4, !tbaa !5
  %16194 = load ptr, ptr %318, align 8, !tbaa !9
  %16195 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %16194, ptr noundef @s2n_test_crl_lookup_cb, ptr noundef %317)
  %16196 = icmp eq i32 %16195, -1
  br i1 %16196, label %16197, label %16250

16197:                                            ; preds = %16191
  br label %16198

16198:                                            ; preds = %16197
  br label %16199

16199:                                            ; preds = %16198
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #11
  %16200 = call ptr @__errno_location() #12
  %16201 = load i32, ptr %16200, align 4, !tbaa !5
  store i32 %16201, ptr %327, align 4, !tbaa !5
  %16202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16203 = call i32 @s2n_print_stacktrace(ptr noundef %16202)
  %16204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16205 = trunc i8 %16204 to i1
  br i1 %16205, label %16206, label %16228

16206:                                            ; preds = %16199
  %16207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16208 = call i32 @fileno(ptr noundef %16207) #11
  %16209 = call i32 @isatty(i32 noundef %16208) #11
  %16210 = icmp ne i32 %16209, 0
  br i1 %16210, label %16211, label %16228

16211:                                            ; preds = %16206
  %16212 = load i32, ptr %327, align 4, !tbaa !5
  %16213 = call ptr @__errno_location() #12
  store i32 %16212, ptr %16213, align 4, !tbaa !5
  %16214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16215 = load i32, ptr @test_count, align 4, !tbaa !5
  %16216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16217 = load i32, ptr %16216, align 4, !tbaa !5
  %16218 = call ptr @s2n_strerror(i32 noundef %16217, ptr noundef @.str.4)
  %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_debug(i32 noundef %16220, ptr noundef @.str.4)
  %16222 = call ptr @__errno_location() #12
  %16223 = load i32, ptr %16222, align 4, !tbaa !5
  %16224 = call ptr @strerror(i32 noundef %16223) #11
  %16225 = call ptr @__errno_location() #12
  %16226 = load i32, ptr %16225, align 4, !tbaa !5
  %16227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16214, ptr noundef @.str.2, i32 noundef %16215, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 601, ptr noundef %16218, ptr noundef %16221, ptr noundef %16224, i32 noundef %16226) #11
  br label %16245

16228:                                            ; preds = %16206, %16199
  %16229 = load i32, ptr %327, align 4, !tbaa !5
  %16230 = call ptr @__errno_location() #12
  store i32 %16229, ptr %16230, align 4, !tbaa !5
  %16231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16232 = load i32, ptr @test_count, align 4, !tbaa !5
  %16233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16234 = load i32, ptr %16233, align 4, !tbaa !5
  %16235 = call ptr @s2n_strerror(i32 noundef %16234, ptr noundef @.str.4)
  %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_debug(i32 noundef %16237, ptr noundef @.str.4)
  %16239 = call ptr @__errno_location() #12
  %16240 = load i32, ptr %16239, align 4, !tbaa !5
  %16241 = call ptr @strerror(i32 noundef %16240) #11
  %16242 = call ptr @__errno_location() #12
  %16243 = load i32, ptr %16242, align 4, !tbaa !5
  %16244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16231, ptr noundef @.str.5, i32 noundef %16232, ptr noundef @.str.128, ptr noundef @.str.1, i32 noundef 601, ptr noundef %16235, ptr noundef %16238, ptr noundef %16241, i32 noundef %16243) #11
  br label %16245

16245:                                            ; preds = %16228, %16211
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #11
  br label %16246

16246:                                            ; preds = %16245
  br label %16247

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

16248:                                            ; No predecessors!
  br label %16249

16249:                                            ; preds = %16248
  br label %16250

16250:                                            ; preds = %16249, %16191
  br label %16251

16251:                                            ; preds = %16250
  br label %16252

16252:                                            ; preds = %16251
  br label %16253

16253:                                            ; preds = %16252
  %16254 = load i32, ptr @test_count, align 4, !tbaa !5
  %16255 = add nsw i32 %16254, 1
  store i32 %16255, ptr @test_count, align 4, !tbaa !5
  %16256 = load ptr, ptr %318, align 8, !tbaa !9
  %16257 = getelementptr inbounds %struct.s2n_config, ptr %16256, i32 0, i32 30
  %16258 = load ptr, ptr %16257, align 8, !tbaa !62
  %16259 = icmp eq ptr %16258, @s2n_test_crl_lookup_cb
  br i1 %16259, label %16313, label %16260

16260:                                            ; preds = %16253
  br label %16261

16261:                                            ; preds = %16260
  br label %16262

16262:                                            ; preds = %16261
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %16263 = call ptr @__errno_location() #12
  %16264 = load i32, ptr %16263, align 4, !tbaa !5
  store i32 %16264, ptr %328, align 4, !tbaa !5
  %16265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16266 = call i32 @s2n_print_stacktrace(ptr noundef %16265)
  %16267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16268 = trunc i8 %16267 to i1
  br i1 %16268, label %16269, label %16291

16269:                                            ; preds = %16262
  %16270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16271 = call i32 @fileno(ptr noundef %16270) #11
  %16272 = call i32 @isatty(i32 noundef %16271) #11
  %16273 = icmp ne i32 %16272, 0
  br i1 %16273, label %16274, label %16291

16274:                                            ; preds = %16269
  %16275 = load i32, ptr %328, align 4, !tbaa !5
  %16276 = call ptr @__errno_location() #12
  store i32 %16275, ptr %16276, align 4, !tbaa !5
  %16277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16278 = load i32, ptr @test_count, align 4, !tbaa !5
  %16279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16280 = load i32, ptr %16279, align 4, !tbaa !5
  %16281 = call ptr @s2n_strerror(i32 noundef %16280, ptr noundef @.str.4)
  %16282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16283 = load i32, ptr %16282, align 4, !tbaa !5
  %16284 = call ptr @s2n_strerror_debug(i32 noundef %16283, ptr noundef @.str.4)
  %16285 = call ptr @__errno_location() #12
  %16286 = load i32, ptr %16285, align 4, !tbaa !5
  %16287 = call ptr @strerror(i32 noundef %16286) #11
  %16288 = call ptr @__errno_location() #12
  %16289 = load i32, ptr %16288, align 4, !tbaa !5
  %16290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16277, ptr noundef @.str.2, i32 noundef %16278, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 602, ptr noundef %16281, ptr noundef %16284, ptr noundef %16287, i32 noundef %16289) #11
  br label %16308

16291:                                            ; preds = %16269, %16262
  %16292 = load i32, ptr %328, align 4, !tbaa !5
  %16293 = call ptr @__errno_location() #12
  store i32 %16292, ptr %16293, align 4, !tbaa !5
  %16294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16295 = load i32, ptr @test_count, align 4, !tbaa !5
  %16296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16297 = load i32, ptr %16296, align 4, !tbaa !5
  %16298 = call ptr @s2n_strerror(i32 noundef %16297, ptr noundef @.str.4)
  %16299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16300 = load i32, ptr %16299, align 4, !tbaa !5
  %16301 = call ptr @s2n_strerror_debug(i32 noundef %16300, ptr noundef @.str.4)
  %16302 = call ptr @__errno_location() #12
  %16303 = load i32, ptr %16302, align 4, !tbaa !5
  %16304 = call ptr @strerror(i32 noundef %16303) #11
  %16305 = call ptr @__errno_location() #12
  %16306 = load i32, ptr %16305, align 4, !tbaa !5
  %16307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16294, ptr noundef @.str.5, i32 noundef %16295, ptr noundef @.str.129, ptr noundef @.str.1, i32 noundef 602, ptr noundef %16298, ptr noundef %16301, ptr noundef %16304, i32 noundef %16306) #11
  br label %16308

16308:                                            ; preds = %16291, %16274
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %16309

16309:                                            ; preds = %16308
  br label %16310

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

16311:                                            ; No predecessors!
  br label %16312

16312:                                            ; preds = %16311
  br label %16313

16313:                                            ; preds = %16312, %16253
  br label %16314

16314:                                            ; preds = %16313
  br label %16315

16315:                                            ; preds = %16314
  br label %16316

16316:                                            ; preds = %16315
  %16317 = load i32, ptr @test_count, align 4, !tbaa !5
  %16318 = add nsw i32 %16317, 1
  store i32 %16318, ptr @test_count, align 4, !tbaa !5
  %16319 = load ptr, ptr %318, align 8, !tbaa !9
  %16320 = getelementptr inbounds %struct.s2n_config, ptr %16319, i32 0, i32 31
  %16321 = load ptr, ptr %16320, align 8, !tbaa !63
  %16322 = icmp eq ptr %16321, %317
  br i1 %16322, label %16376, label %16323

16323:                                            ; preds = %16316
  br label %16324

16324:                                            ; preds = %16323
  br label %16325

16325:                                            ; preds = %16324
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #11
  %16326 = call ptr @__errno_location() #12
  %16327 = load i32, ptr %16326, align 4, !tbaa !5
  store i32 %16327, ptr %329, align 4, !tbaa !5
  %16328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16329 = call i32 @s2n_print_stacktrace(ptr noundef %16328)
  %16330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16331 = trunc i8 %16330 to i1
  br i1 %16331, label %16332, label %16354

16332:                                            ; preds = %16325
  %16333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16334 = call i32 @fileno(ptr noundef %16333) #11
  %16335 = call i32 @isatty(i32 noundef %16334) #11
  %16336 = icmp ne i32 %16335, 0
  br i1 %16336, label %16337, label %16354

16337:                                            ; preds = %16332
  %16338 = load i32, ptr %329, align 4, !tbaa !5
  %16339 = call ptr @__errno_location() #12
  store i32 %16338, ptr %16339, align 4, !tbaa !5
  %16340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16341 = load i32, ptr @test_count, align 4, !tbaa !5
  %16342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16343 = load i32, ptr %16342, align 4, !tbaa !5
  %16344 = call ptr @s2n_strerror(i32 noundef %16343, ptr noundef @.str.4)
  %16345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16346 = load i32, ptr %16345, align 4, !tbaa !5
  %16347 = call ptr @s2n_strerror_debug(i32 noundef %16346, ptr noundef @.str.4)
  %16348 = call ptr @__errno_location() #12
  %16349 = load i32, ptr %16348, align 4, !tbaa !5
  %16350 = call ptr @strerror(i32 noundef %16349) #11
  %16351 = call ptr @__errno_location() #12
  %16352 = load i32, ptr %16351, align 4, !tbaa !5
  %16353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16340, ptr noundef @.str.2, i32 noundef %16341, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 603, ptr noundef %16344, ptr noundef %16347, ptr noundef %16350, i32 noundef %16352) #11
  br label %16371

16354:                                            ; preds = %16332, %16325
  %16355 = load i32, ptr %329, align 4, !tbaa !5
  %16356 = call ptr @__errno_location() #12
  store i32 %16355, ptr %16356, align 4, !tbaa !5
  %16357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16358 = load i32, ptr @test_count, align 4, !tbaa !5
  %16359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16360 = load i32, ptr %16359, align 4, !tbaa !5
  %16361 = call ptr @s2n_strerror(i32 noundef %16360, ptr noundef @.str.4)
  %16362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16363 = load i32, ptr %16362, align 4, !tbaa !5
  %16364 = call ptr @s2n_strerror_debug(i32 noundef %16363, ptr noundef @.str.4)
  %16365 = call ptr @__errno_location() #12
  %16366 = load i32, ptr %16365, align 4, !tbaa !5
  %16367 = call ptr @strerror(i32 noundef %16366) #11
  %16368 = call ptr @__errno_location() #12
  %16369 = load i32, ptr %16368, align 4, !tbaa !5
  %16370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16357, ptr noundef @.str.5, i32 noundef %16358, ptr noundef @.str.130, ptr noundef @.str.1, i32 noundef 603, ptr noundef %16361, ptr noundef %16364, ptr noundef %16367, i32 noundef %16369) #11
  br label %16371

16371:                                            ; preds = %16354, %16337
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #11
  br label %16372

16372:                                            ; preds = %16371
  br label %16373

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

16374:                                            ; No predecessors!
  br label %16375

16375:                                            ; preds = %16374
  br label %16376

16376:                                            ; preds = %16375, %16316
  br label %16377

16377:                                            ; preds = %16376
  br label %16378

16378:                                            ; preds = %16377
  br label %16379

16379:                                            ; preds = %16378
  %16380 = load i32, ptr @test_count, align 4, !tbaa !5
  %16381 = add nsw i32 %16380, 1
  store i32 %16381, ptr @test_count, align 4, !tbaa !5
  %16382 = load ptr, ptr %318, align 8, !tbaa !9
  %16383 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %16382, ptr noundef null, ptr noundef null)
  %16384 = icmp eq i32 %16383, -1
  br i1 %16384, label %16385, label %16438

16385:                                            ; preds = %16379
  br label %16386

16386:                                            ; preds = %16385
  br label %16387

16387:                                            ; preds = %16386
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %16388 = call ptr @__errno_location() #12
  %16389 = load i32, ptr %16388, align 4, !tbaa !5
  store i32 %16389, ptr %330, align 4, !tbaa !5
  %16390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16391 = call i32 @s2n_print_stacktrace(ptr noundef %16390)
  %16392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16393 = trunc i8 %16392 to i1
  br i1 %16393, label %16394, label %16416

16394:                                            ; preds = %16387
  %16395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16396 = call i32 @fileno(ptr noundef %16395) #11
  %16397 = call i32 @isatty(i32 noundef %16396) #11
  %16398 = icmp ne i32 %16397, 0
  br i1 %16398, label %16399, label %16416

16399:                                            ; preds = %16394
  %16400 = load i32, ptr %330, align 4, !tbaa !5
  %16401 = call ptr @__errno_location() #12
  store i32 %16400, ptr %16401, align 4, !tbaa !5
  %16402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16403 = load i32, ptr @test_count, align 4, !tbaa !5
  %16404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16405 = load i32, ptr %16404, align 4, !tbaa !5
  %16406 = call ptr @s2n_strerror(i32 noundef %16405, ptr noundef @.str.4)
  %16407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16408 = load i32, ptr %16407, align 4, !tbaa !5
  %16409 = call ptr @s2n_strerror_debug(i32 noundef %16408, ptr noundef @.str.4)
  %16410 = call ptr @__errno_location() #12
  %16411 = load i32, ptr %16410, align 4, !tbaa !5
  %16412 = call ptr @strerror(i32 noundef %16411) #11
  %16413 = call ptr @__errno_location() #12
  %16414 = load i32, ptr %16413, align 4, !tbaa !5
  %16415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16402, ptr noundef @.str.2, i32 noundef %16403, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 606, ptr noundef %16406, ptr noundef %16409, ptr noundef %16412, i32 noundef %16414) #11
  br label %16433

16416:                                            ; preds = %16394, %16387
  %16417 = load i32, ptr %330, align 4, !tbaa !5
  %16418 = call ptr @__errno_location() #12
  store i32 %16417, ptr %16418, align 4, !tbaa !5
  %16419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16420 = load i32, ptr @test_count, align 4, !tbaa !5
  %16421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16422 = load i32, ptr %16421, align 4, !tbaa !5
  %16423 = call ptr @s2n_strerror(i32 noundef %16422, ptr noundef @.str.4)
  %16424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16425 = load i32, ptr %16424, align 4, !tbaa !5
  %16426 = call ptr @s2n_strerror_debug(i32 noundef %16425, ptr noundef @.str.4)
  %16427 = call ptr @__errno_location() #12
  %16428 = load i32, ptr %16427, align 4, !tbaa !5
  %16429 = call ptr @strerror(i32 noundef %16428) #11
  %16430 = call ptr @__errno_location() #12
  %16431 = load i32, ptr %16430, align 4, !tbaa !5
  %16432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16419, ptr noundef @.str.5, i32 noundef %16420, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 606, ptr noundef %16423, ptr noundef %16426, ptr noundef %16429, i32 noundef %16431) #11
  br label %16433

16433:                                            ; preds = %16416, %16399
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %16434

16434:                                            ; preds = %16433
  br label %16435

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

16436:                                            ; No predecessors!
  br label %16437

16437:                                            ; preds = %16436
  br label %16438

16438:                                            ; preds = %16437, %16379
  br label %16439

16439:                                            ; preds = %16438
  br label %16440

16440:                                            ; preds = %16439
  br label %16441

16441:                                            ; preds = %16440
  %16442 = load i32, ptr @test_count, align 4, !tbaa !5
  %16443 = add nsw i32 %16442, 1
  store i32 %16443, ptr @test_count, align 4, !tbaa !5
  %16444 = load ptr, ptr %318, align 8, !tbaa !9
  %16445 = getelementptr inbounds %struct.s2n_config, ptr %16444, i32 0, i32 30
  %16446 = load ptr, ptr %16445, align 8, !tbaa !62
  %16447 = icmp eq ptr %16446, null
  br i1 %16447, label %16501, label %16448

16448:                                            ; preds = %16441
  br label %16449

16449:                                            ; preds = %16448
  br label %16450

16450:                                            ; preds = %16449
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %16451 = call ptr @__errno_location() #12
  %16452 = load i32, ptr %16451, align 4, !tbaa !5
  store i32 %16452, ptr %331, align 4, !tbaa !5
  %16453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16454 = call i32 @s2n_print_stacktrace(ptr noundef %16453)
  %16455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16456 = trunc i8 %16455 to i1
  br i1 %16456, label %16457, label %16479

16457:                                            ; preds = %16450
  %16458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16459 = call i32 @fileno(ptr noundef %16458) #11
  %16460 = call i32 @isatty(i32 noundef %16459) #11
  %16461 = icmp ne i32 %16460, 0
  br i1 %16461, label %16462, label %16479

16462:                                            ; preds = %16457
  %16463 = load i32, ptr %331, align 4, !tbaa !5
  %16464 = call ptr @__errno_location() #12
  store i32 %16463, ptr %16464, align 4, !tbaa !5
  %16465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16466 = load i32, ptr @test_count, align 4, !tbaa !5
  %16467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16468 = load i32, ptr %16467, align 4, !tbaa !5
  %16469 = call ptr @s2n_strerror(i32 noundef %16468, ptr noundef @.str.4)
  %16470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16471 = load i32, ptr %16470, align 4, !tbaa !5
  %16472 = call ptr @s2n_strerror_debug(i32 noundef %16471, ptr noundef @.str.4)
  %16473 = call ptr @__errno_location() #12
  %16474 = load i32, ptr %16473, align 4, !tbaa !5
  %16475 = call ptr @strerror(i32 noundef %16474) #11
  %16476 = call ptr @__errno_location() #12
  %16477 = load i32, ptr %16476, align 4, !tbaa !5
  %16478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16465, ptr noundef @.str.2, i32 noundef %16466, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 607, ptr noundef %16469, ptr noundef %16472, ptr noundef %16475, i32 noundef %16477) #11
  br label %16496

16479:                                            ; preds = %16457, %16450
  %16480 = load i32, ptr %331, align 4, !tbaa !5
  %16481 = call ptr @__errno_location() #12
  store i32 %16480, ptr %16481, align 4, !tbaa !5
  %16482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16483 = load i32, ptr @test_count, align 4, !tbaa !5
  %16484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16485 = load i32, ptr %16484, align 4, !tbaa !5
  %16486 = call ptr @s2n_strerror(i32 noundef %16485, ptr noundef @.str.4)
  %16487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16488 = load i32, ptr %16487, align 4, !tbaa !5
  %16489 = call ptr @s2n_strerror_debug(i32 noundef %16488, ptr noundef @.str.4)
  %16490 = call ptr @__errno_location() #12
  %16491 = load i32, ptr %16490, align 4, !tbaa !5
  %16492 = call ptr @strerror(i32 noundef %16491) #11
  %16493 = call ptr @__errno_location() #12
  %16494 = load i32, ptr %16493, align 4, !tbaa !5
  %16495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16482, ptr noundef @.str.5, i32 noundef %16483, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 607, ptr noundef %16486, ptr noundef %16489, ptr noundef %16492, i32 noundef %16494) #11
  br label %16496

16496:                                            ; preds = %16479, %16462
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  br label %16497

16497:                                            ; preds = %16496
  br label %16498

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

16499:                                            ; No predecessors!
  br label %16500

16500:                                            ; preds = %16499
  br label %16501

16501:                                            ; preds = %16500, %16441
  br label %16502

16502:                                            ; preds = %16501
  br label %16503

16503:                                            ; preds = %16502
  br label %16504

16504:                                            ; preds = %16503
  %16505 = load i32, ptr @test_count, align 4, !tbaa !5
  %16506 = add nsw i32 %16505, 1
  store i32 %16506, ptr @test_count, align 4, !tbaa !5
  %16507 = load ptr, ptr %318, align 8, !tbaa !9
  %16508 = getelementptr inbounds %struct.s2n_config, ptr %16507, i32 0, i32 31
  %16509 = load ptr, ptr %16508, align 8, !tbaa !63
  %16510 = icmp eq ptr %16509, null
  br i1 %16510, label %16564, label %16511

16511:                                            ; preds = %16504
  br label %16512

16512:                                            ; preds = %16511
  br label %16513

16513:                                            ; preds = %16512
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #11
  %16514 = call ptr @__errno_location() #12
  %16515 = load i32, ptr %16514, align 4, !tbaa !5
  store i32 %16515, ptr %332, align 4, !tbaa !5
  %16516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16517 = call i32 @s2n_print_stacktrace(ptr noundef %16516)
  %16518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16519 = trunc i8 %16518 to i1
  br i1 %16519, label %16520, label %16542

16520:                                            ; preds = %16513
  %16521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16522 = call i32 @fileno(ptr noundef %16521) #11
  %16523 = call i32 @isatty(i32 noundef %16522) #11
  %16524 = icmp ne i32 %16523, 0
  br i1 %16524, label %16525, label %16542

16525:                                            ; preds = %16520
  %16526 = load i32, ptr %332, align 4, !tbaa !5
  %16527 = call ptr @__errno_location() #12
  store i32 %16526, ptr %16527, align 4, !tbaa !5
  %16528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16529 = load i32, ptr @test_count, align 4, !tbaa !5
  %16530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16531 = load i32, ptr %16530, align 4, !tbaa !5
  %16532 = call ptr @s2n_strerror(i32 noundef %16531, ptr noundef @.str.4)
  %16533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16534 = load i32, ptr %16533, align 4, !tbaa !5
  %16535 = call ptr @s2n_strerror_debug(i32 noundef %16534, ptr noundef @.str.4)
  %16536 = call ptr @__errno_location() #12
  %16537 = load i32, ptr %16536, align 4, !tbaa !5
  %16538 = call ptr @strerror(i32 noundef %16537) #11
  %16539 = call ptr @__errno_location() #12
  %16540 = load i32, ptr %16539, align 4, !tbaa !5
  %16541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16528, ptr noundef @.str.2, i32 noundef %16529, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 608, ptr noundef %16532, ptr noundef %16535, ptr noundef %16538, i32 noundef %16540) #11
  br label %16559

16542:                                            ; preds = %16520, %16513
  %16543 = load i32, ptr %332, align 4, !tbaa !5
  %16544 = call ptr @__errno_location() #12
  store i32 %16543, ptr %16544, align 4, !tbaa !5
  %16545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16546 = load i32, ptr @test_count, align 4, !tbaa !5
  %16547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16548 = load i32, ptr %16547, align 4, !tbaa !5
  %16549 = call ptr @s2n_strerror(i32 noundef %16548, ptr noundef @.str.4)
  %16550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16551 = load i32, ptr %16550, align 4, !tbaa !5
  %16552 = call ptr @s2n_strerror_debug(i32 noundef %16551, ptr noundef @.str.4)
  %16553 = call ptr @__errno_location() #12
  %16554 = load i32, ptr %16553, align 4, !tbaa !5
  %16555 = call ptr @strerror(i32 noundef %16554) #11
  %16556 = call ptr @__errno_location() #12
  %16557 = load i32, ptr %16556, align 4, !tbaa !5
  %16558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16545, ptr noundef @.str.5, i32 noundef %16546, ptr noundef @.str.124, ptr noundef @.str.1, i32 noundef 608, ptr noundef %16549, ptr noundef %16552, ptr noundef %16555, i32 noundef %16557) #11
  br label %16559

16559:                                            ; preds = %16542, %16525
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #11
  br label %16560

16560:                                            ; preds = %16559
  br label %16561

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

16562:                                            ; No predecessors!
  br label %16563

16563:                                            ; preds = %16562
  br label %16564

16564:                                            ; preds = %16563, %16504
  br label %16565

16565:                                            ; preds = %16564
  br label %16566

16566:                                            ; preds = %16565
  %16567 = call i32 @s2n_config_ptr_free(ptr noundef %318)
  %16568 = getelementptr inbounds %struct.s2n_result, ptr %333, i32 0, i32 0
  store i32 %16567, ptr %16568, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %318) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %317) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %334) #11
  store i8 0, ptr %334, align 1, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr %335) #11
  %16569 = call ptr @s2n_config_new()
  store ptr %16569, ptr %335, align 8, !tbaa !9
  br label %16570

16570:                                            ; preds = %16566
  %16571 = load i32, ptr @test_count, align 4, !tbaa !5
  %16572 = add nsw i32 %16571, 1
  store i32 %16572, ptr @test_count, align 4, !tbaa !5
  %16573 = load ptr, ptr %335, align 8, !tbaa !9
  %16574 = icmp eq ptr %16573, null
  br i1 %16574, label %16575, label %16628

16575:                                            ; preds = %16570
  br label %16576

16576:                                            ; preds = %16575
  br label %16577

16577:                                            ; preds = %16576
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #11
  %16578 = call ptr @__errno_location() #12
  %16579 = load i32, ptr %16578, align 4, !tbaa !5
  store i32 %16579, ptr %336, align 4, !tbaa !5
  %16580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16581 = call i32 @s2n_print_stacktrace(ptr noundef %16580)
  %16582 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16583 = trunc i8 %16582 to i1
  br i1 %16583, label %16584, label %16606

16584:                                            ; preds = %16577
  %16585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16586 = call i32 @fileno(ptr noundef %16585) #11
  %16587 = call i32 @isatty(i32 noundef %16586) #11
  %16588 = icmp ne i32 %16587, 0
  br i1 %16588, label %16589, label %16606

16589:                                            ; preds = %16584
  %16590 = load i32, ptr %336, align 4, !tbaa !5
  %16591 = call ptr @__errno_location() #12
  store i32 %16590, ptr %16591, align 4, !tbaa !5
  %16592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16593 = load i32, ptr @test_count, align 4, !tbaa !5
  %16594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16595 = load i32, ptr %16594, align 4, !tbaa !5
  %16596 = call ptr @s2n_strerror(i32 noundef %16595, ptr noundef @.str.4)
  %16597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16598 = load i32, ptr %16597, align 4, !tbaa !5
  %16599 = call ptr @s2n_strerror_debug(i32 noundef %16598, ptr noundef @.str.4)
  %16600 = call ptr @__errno_location() #12
  %16601 = load i32, ptr %16600, align 4, !tbaa !5
  %16602 = call ptr @strerror(i32 noundef %16601) #11
  %16603 = call ptr @__errno_location() #12
  %16604 = load i32, ptr %16603, align 4, !tbaa !5
  %16605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16592, ptr noundef @.str.2, i32 noundef %16593, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 615, ptr noundef %16596, ptr noundef %16599, ptr noundef %16602, i32 noundef %16604) #11
  br label %16623

16606:                                            ; preds = %16584, %16577
  %16607 = load i32, ptr %336, align 4, !tbaa !5
  %16608 = call ptr @__errno_location() #12
  store i32 %16607, ptr %16608, align 4, !tbaa !5
  %16609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16610 = load i32, ptr @test_count, align 4, !tbaa !5
  %16611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16612 = load i32, ptr %16611, align 4, !tbaa !5
  %16613 = call ptr @s2n_strerror(i32 noundef %16612, ptr noundef @.str.4)
  %16614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16615 = load i32, ptr %16614, align 4, !tbaa !5
  %16616 = call ptr @s2n_strerror_debug(i32 noundef %16615, ptr noundef @.str.4)
  %16617 = call ptr @__errno_location() #12
  %16618 = load i32, ptr %16617, align 4, !tbaa !5
  %16619 = call ptr @strerror(i32 noundef %16618) #11
  %16620 = call ptr @__errno_location() #12
  %16621 = load i32, ptr %16620, align 4, !tbaa !5
  %16622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16609, ptr noundef @.str.5, i32 noundef %16610, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 615, ptr noundef %16613, ptr noundef %16616, ptr noundef %16619, i32 noundef %16621) #11
  br label %16623

16623:                                            ; preds = %16606, %16589
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #11
  br label %16624

16624:                                            ; preds = %16623
  br label %16625

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

16626:                                            ; No predecessors!
  br label %16627

16627:                                            ; preds = %16626
  br label %16628

16628:                                            ; preds = %16627, %16570
  br label %16629

16629:                                            ; preds = %16628
  br label %16630

16630:                                            ; preds = %16629
  br label %16631

16631:                                            ; preds = %16630
  %16632 = load i32, ptr @test_count, align 4, !tbaa !5
  %16633 = add nsw i32 %16632, 1
  store i32 %16633, ptr @test_count, align 4, !tbaa !5
  %16634 = load ptr, ptr %335, align 8, !tbaa !9
  %16635 = getelementptr inbounds %struct.s2n_config, ptr %16634, i32 0, i32 32
  %16636 = load ptr, ptr %16635, align 8, !tbaa !64
  %16637 = icmp eq ptr %16636, null
  br i1 %16637, label %16691, label %16638

16638:                                            ; preds = %16631
  br label %16639

16639:                                            ; preds = %16638
  br label %16640

16640:                                            ; preds = %16639
  call void @llvm.lifetime.start.p0(i64 4, ptr %337) #11
  %16641 = call ptr @__errno_location() #12
  %16642 = load i32, ptr %16641, align 4, !tbaa !5
  store i32 %16642, ptr %337, align 4, !tbaa !5
  %16643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16644 = call i32 @s2n_print_stacktrace(ptr noundef %16643)
  %16645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16646 = trunc i8 %16645 to i1
  br i1 %16646, label %16647, label %16669

16647:                                            ; preds = %16640
  %16648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16649 = call i32 @fileno(ptr noundef %16648) #11
  %16650 = call i32 @isatty(i32 noundef %16649) #11
  %16651 = icmp ne i32 %16650, 0
  br i1 %16651, label %16652, label %16669

16652:                                            ; preds = %16647
  %16653 = load i32, ptr %337, align 4, !tbaa !5
  %16654 = call ptr @__errno_location() #12
  store i32 %16653, ptr %16654, align 4, !tbaa !5
  %16655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16656 = load i32, ptr @test_count, align 4, !tbaa !5
  %16657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16658 = load i32, ptr %16657, align 4, !tbaa !5
  %16659 = call ptr @s2n_strerror(i32 noundef %16658, ptr noundef @.str.4)
  %16660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16661 = load i32, ptr %16660, align 4, !tbaa !5
  %16662 = call ptr @s2n_strerror_debug(i32 noundef %16661, ptr noundef @.str.4)
  %16663 = call ptr @__errno_location() #12
  %16664 = load i32, ptr %16663, align 4, !tbaa !5
  %16665 = call ptr @strerror(i32 noundef %16664) #11
  %16666 = call ptr @__errno_location() #12
  %16667 = load i32, ptr %16666, align 4, !tbaa !5
  %16668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16655, ptr noundef @.str.2, i32 noundef %16656, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 618, ptr noundef %16659, ptr noundef %16662, ptr noundef %16665, i32 noundef %16667) #11
  br label %16686

16669:                                            ; preds = %16647, %16640
  %16670 = load i32, ptr %337, align 4, !tbaa !5
  %16671 = call ptr @__errno_location() #12
  store i32 %16670, ptr %16671, align 4, !tbaa !5
  %16672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16673 = load i32, ptr @test_count, align 4, !tbaa !5
  %16674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16675 = load i32, ptr %16674, align 4, !tbaa !5
  %16676 = call ptr @s2n_strerror(i32 noundef %16675, ptr noundef @.str.4)
  %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_debug(i32 noundef %16678, ptr noundef @.str.4)
  %16680 = call ptr @__errno_location() #12
  %16681 = load i32, ptr %16680, align 4, !tbaa !5
  %16682 = call ptr @strerror(i32 noundef %16681) #11
  %16683 = call ptr @__errno_location() #12
  %16684 = load i32, ptr %16683, align 4, !tbaa !5
  %16685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16672, ptr noundef @.str.5, i32 noundef %16673, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 618, ptr noundef %16676, ptr noundef %16679, ptr noundef %16682, i32 noundef %16684) #11
  br label %16686

16686:                                            ; preds = %16669, %16652
  call void @llvm.lifetime.end.p0(i64 4, ptr %337) #11
  br label %16687

16687:                                            ; preds = %16686
  br label %16688

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

16689:                                            ; No predecessors!
  br label %16690

16690:                                            ; preds = %16689
  br label %16691

16691:                                            ; preds = %16690, %16631
  br label %16692

16692:                                            ; preds = %16691
  br label %16693

16693:                                            ; preds = %16692
  br label %16694

16694:                                            ; preds = %16693
  %16695 = load i32, ptr @test_count, align 4, !tbaa !5
  %16696 = add nsw i32 %16695, 1
  store i32 %16696, ptr @test_count, align 4, !tbaa !5
  %16697 = load ptr, ptr %335, align 8, !tbaa !9
  %16698 = getelementptr inbounds %struct.s2n_config, ptr %16697, i32 0, i32 33
  %16699 = load ptr, ptr %16698, align 8, !tbaa !65
  %16700 = icmp eq ptr %16699, null
  br i1 %16700, label %16754, label %16701

16701:                                            ; preds = %16694
  br label %16702

16702:                                            ; preds = %16701
  br label %16703

16703:                                            ; preds = %16702
  call void @llvm.lifetime.start.p0(i64 4, ptr %338) #11
  %16704 = call ptr @__errno_location() #12
  %16705 = load i32, ptr %16704, align 4, !tbaa !5
  store i32 %16705, ptr %338, align 4, !tbaa !5
  %16706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16707 = call i32 @s2n_print_stacktrace(ptr noundef %16706)
  %16708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16709 = trunc i8 %16708 to i1
  br i1 %16709, label %16710, label %16732

16710:                                            ; preds = %16703
  %16711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16712 = call i32 @fileno(ptr noundef %16711) #11
  %16713 = call i32 @isatty(i32 noundef %16712) #11
  %16714 = icmp ne i32 %16713, 0
  br i1 %16714, label %16715, label %16732

16715:                                            ; preds = %16710
  %16716 = load i32, ptr %338, align 4, !tbaa !5
  %16717 = call ptr @__errno_location() #12
  store i32 %16716, ptr %16717, align 4, !tbaa !5
  %16718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16719 = load i32, ptr @test_count, align 4, !tbaa !5
  %16720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16721 = load i32, ptr %16720, align 4, !tbaa !5
  %16722 = call ptr @s2n_strerror(i32 noundef %16721, ptr noundef @.str.4)
  %16723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16724 = load i32, ptr %16723, align 4, !tbaa !5
  %16725 = call ptr @s2n_strerror_debug(i32 noundef %16724, ptr noundef @.str.4)
  %16726 = call ptr @__errno_location() #12
  %16727 = load i32, ptr %16726, align 4, !tbaa !5
  %16728 = call ptr @strerror(i32 noundef %16727) #11
  %16729 = call ptr @__errno_location() #12
  %16730 = load i32, ptr %16729, align 4, !tbaa !5
  %16731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16718, ptr noundef @.str.2, i32 noundef %16719, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 619, ptr noundef %16722, ptr noundef %16725, ptr noundef %16728, i32 noundef %16730) #11
  br label %16749

16732:                                            ; preds = %16710, %16703
  %16733 = load i32, ptr %338, align 4, !tbaa !5
  %16734 = call ptr @__errno_location() #12
  store i32 %16733, ptr %16734, align 4, !tbaa !5
  %16735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16736 = load i32, ptr @test_count, align 4, !tbaa !5
  %16737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16738 = load i32, ptr %16737, align 4, !tbaa !5
  %16739 = call ptr @s2n_strerror(i32 noundef %16738, ptr noundef @.str.4)
  %16740 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16741 = load i32, ptr %16740, align 4, !tbaa !5
  %16742 = call ptr @s2n_strerror_debug(i32 noundef %16741, ptr noundef @.str.4)
  %16743 = call ptr @__errno_location() #12
  %16744 = load i32, ptr %16743, align 4, !tbaa !5
  %16745 = call ptr @strerror(i32 noundef %16744) #11
  %16746 = call ptr @__errno_location() #12
  %16747 = load i32, ptr %16746, align 4, !tbaa !5
  %16748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16735, ptr noundef @.str.5, i32 noundef %16736, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 619, ptr noundef %16739, ptr noundef %16742, ptr noundef %16745, i32 noundef %16747) #11
  br label %16749

16749:                                            ; preds = %16732, %16715
  call void @llvm.lifetime.end.p0(i64 4, ptr %338) #11
  br label %16750

16750:                                            ; preds = %16749
  br label %16751

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

16752:                                            ; No predecessors!
  br label %16753

16753:                                            ; preds = %16752
  br label %16754

16754:                                            ; preds = %16753, %16694
  br label %16755

16755:                                            ; preds = %16754
  br label %16756

16756:                                            ; preds = %16755
  br label %16757

16757:                                            ; preds = %16756
  br label %16758

16758:                                            ; preds = %16757
  br label %16759

16759:                                            ; preds = %16758
  %16760 = load i32, ptr @test_count, align 4, !tbaa !5
  %16761 = add nsw i32 %16760, 1
  store i32 %16761, ptr @test_count, align 4, !tbaa !5
  %16762 = call i32 @s2n_config_set_cert_validation_cb(ptr noundef null, ptr noundef @s2n_test_cert_validation_cb, ptr noundef %334)
  %16763 = icmp eq i32 %16762, -1
  br i1 %16763, label %16817, label %16764

16764:                                            ; preds = %16759
  br label %16765

16765:                                            ; preds = %16764
  br label %16766

16766:                                            ; preds = %16765
  call void @llvm.lifetime.start.p0(i64 4, ptr %339) #11
  %16767 = call ptr @__errno_location() #12
  %16768 = load i32, ptr %16767, align 4, !tbaa !5
  store i32 %16768, ptr %339, align 4, !tbaa !5
  %16769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16770 = call i32 @s2n_print_stacktrace(ptr noundef %16769)
  %16771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16772 = trunc i8 %16771 to i1
  br i1 %16772, label %16773, label %16795

16773:                                            ; preds = %16766
  %16774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16775 = call i32 @fileno(ptr noundef %16774) #11
  %16776 = call i32 @isatty(i32 noundef %16775) #11
  %16777 = icmp ne i32 %16776, 0
  br i1 %16777, label %16778, label %16795

16778:                                            ; preds = %16773
  %16779 = load i32, ptr %339, align 4, !tbaa !5
  %16780 = call ptr @__errno_location() #12
  store i32 %16779, ptr %16780, align 4, !tbaa !5
  %16781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16782 = load i32, ptr @test_count, align 4, !tbaa !5
  %16783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16784 = load i32, ptr %16783, align 4, !tbaa !5
  %16785 = call ptr @s2n_strerror(i32 noundef %16784, ptr noundef @.str.4)
  %16786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16787 = load i32, ptr %16786, align 4, !tbaa !5
  %16788 = call ptr @s2n_strerror_debug(i32 noundef %16787, ptr noundef @.str.4)
  %16789 = call ptr @__errno_location() #12
  %16790 = load i32, ptr %16789, align 4, !tbaa !5
  %16791 = call ptr @strerror(i32 noundef %16790) #11
  %16792 = call ptr @__errno_location() #12
  %16793 = load i32, ptr %16792, align 4, !tbaa !5
  %16794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16781, ptr noundef @.str.2, i32 noundef %16782, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 623, ptr noundef %16785, ptr noundef %16788, ptr noundef %16791, i32 noundef %16793) #11
  br label %16812

16795:                                            ; preds = %16773, %16766
  %16796 = load i32, ptr %339, align 4, !tbaa !5
  %16797 = call ptr @__errno_location() #12
  store i32 %16796, ptr %16797, align 4, !tbaa !5
  %16798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16799 = load i32, ptr @test_count, align 4, !tbaa !5
  %16800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16801 = load i32, ptr %16800, align 4, !tbaa !5
  %16802 = call ptr @s2n_strerror(i32 noundef %16801, ptr noundef @.str.4)
  %16803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16804 = load i32, ptr %16803, align 4, !tbaa !5
  %16805 = call ptr @s2n_strerror_debug(i32 noundef %16804, ptr noundef @.str.4)
  %16806 = call ptr @__errno_location() #12
  %16807 = load i32, ptr %16806, align 4, !tbaa !5
  %16808 = call ptr @strerror(i32 noundef %16807) #11
  %16809 = call ptr @__errno_location() #12
  %16810 = load i32, ptr %16809, align 4, !tbaa !5
  %16811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16798, ptr noundef @.str.5, i32 noundef %16799, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 623, ptr noundef %16802, ptr noundef %16805, ptr noundef %16808, i32 noundef %16810) #11
  br label %16812

16812:                                            ; preds = %16795, %16778
  call void @llvm.lifetime.end.p0(i64 4, ptr %339) #11
  br label %16813

16813:                                            ; preds = %16812
  br label %16814

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

16815:                                            ; No predecessors!
  br label %16816

16816:                                            ; preds = %16815
  br label %16817

16817:                                            ; preds = %16816, %16759
  br label %16818

16818:                                            ; preds = %16817
  br label %16819

16819:                                            ; preds = %16818
  br label %16820

16820:                                            ; preds = %16819
  %16821 = load i32, ptr @test_count, align 4, !tbaa !5
  %16822 = add nsw i32 %16821, 1
  store i32 %16822, ptr @test_count, align 4, !tbaa !5
  %16823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16824 = load i32, ptr %16823, align 4, !tbaa !5
  %16825 = icmp eq i32 %16824, 402653193
  br i1 %16825, label %16879, label %16826

16826:                                            ; preds = %16820
  br label %16827

16827:                                            ; preds = %16826
  br label %16828

16828:                                            ; preds = %16827
  call void @llvm.lifetime.start.p0(i64 4, ptr %340) #11
  %16829 = call ptr @__errno_location() #12
  %16830 = load i32, ptr %16829, align 4, !tbaa !5
  store i32 %16830, ptr %340, align 4, !tbaa !5
  %16831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16832 = call i32 @s2n_print_stacktrace(ptr noundef %16831)
  %16833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16834 = trunc i8 %16833 to i1
  br i1 %16834, label %16835, label %16857

16835:                                            ; preds = %16828
  %16836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16837 = call i32 @fileno(ptr noundef %16836) #11
  %16838 = call i32 @isatty(i32 noundef %16837) #11
  %16839 = icmp ne i32 %16838, 0
  br i1 %16839, label %16840, label %16857

16840:                                            ; preds = %16835
  %16841 = load i32, ptr %340, align 4, !tbaa !5
  %16842 = call ptr @__errno_location() #12
  store i32 %16841, ptr %16842, align 4, !tbaa !5
  %16843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16844 = load i32, ptr @test_count, align 4, !tbaa !5
  %16845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16846 = load i32, ptr %16845, align 4, !tbaa !5
  %16847 = call ptr @s2n_strerror(i32 noundef %16846, ptr noundef @.str.4)
  %16848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16849 = load i32, ptr %16848, align 4, !tbaa !5
  %16850 = call ptr @s2n_strerror_debug(i32 noundef %16849, ptr noundef @.str.4)
  %16851 = call ptr @__errno_location() #12
  %16852 = load i32, ptr %16851, align 4, !tbaa !5
  %16853 = call ptr @strerror(i32 noundef %16852) #11
  %16854 = call ptr @__errno_location() #12
  %16855 = load i32, ptr %16854, align 4, !tbaa !5
  %16856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16843, ptr noundef @.str.2, i32 noundef %16844, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 623, ptr noundef %16847, ptr noundef %16850, ptr noundef %16853, i32 noundef %16855) #11
  br label %16874

16857:                                            ; preds = %16835, %16828
  %16858 = load i32, ptr %340, align 4, !tbaa !5
  %16859 = call ptr @__errno_location() #12
  store i32 %16858, ptr %16859, align 4, !tbaa !5
  %16860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16861 = load i32, ptr @test_count, align 4, !tbaa !5
  %16862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16863 = load i32, ptr %16862, align 4, !tbaa !5
  %16864 = call ptr @s2n_strerror(i32 noundef %16863, ptr noundef @.str.4)
  %16865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16866 = load i32, ptr %16865, align 4, !tbaa !5
  %16867 = call ptr @s2n_strerror_debug(i32 noundef %16866, ptr noundef @.str.4)
  %16868 = call ptr @__errno_location() #12
  %16869 = load i32, ptr %16868, align 4, !tbaa !5
  %16870 = call ptr @strerror(i32 noundef %16869) #11
  %16871 = call ptr @__errno_location() #12
  %16872 = load i32, ptr %16871, align 4, !tbaa !5
  %16873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16860, ptr noundef @.str.5, i32 noundef %16861, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 623, ptr noundef %16864, ptr noundef %16867, ptr noundef %16870, i32 noundef %16872) #11
  br label %16874

16874:                                            ; preds = %16857, %16840
  call void @llvm.lifetime.end.p0(i64 4, ptr %340) #11
  br label %16875

16875:                                            ; preds = %16874
  br label %16876

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

16877:                                            ; No predecessors!
  br label %16878

16878:                                            ; preds = %16877
  br label %16879

16879:                                            ; preds = %16878, %16820
  br label %16880

16880:                                            ; preds = %16879
  br label %16881

16881:                                            ; preds = %16880
  br label %16882

16882:                                            ; preds = %16881
  %16883 = load i32, ptr @test_count, align 4, !tbaa !5
  %16884 = add nsw i32 %16883, 1
  store i32 %16884, ptr @test_count, align 4, !tbaa !5
  %16885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16886 = load i32, ptr %16885, align 4, !tbaa !5
  %16887 = call ptr @s2n_strerror_debug(i32 noundef %16886, ptr noundef @.str.4)
  %16888 = icmp eq ptr %16887, null
  br i1 %16888, label %16889, label %16942

16889:                                            ; preds = %16882
  br label %16890

16890:                                            ; preds = %16889
  br label %16891

16891:                                            ; preds = %16890
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #11
  %16892 = call ptr @__errno_location() #12
  %16893 = load i32, ptr %16892, align 4, !tbaa !5
  store i32 %16893, ptr %341, align 4, !tbaa !5
  %16894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16895 = call i32 @s2n_print_stacktrace(ptr noundef %16894)
  %16896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16897 = trunc i8 %16896 to i1
  br i1 %16897, label %16898, label %16920

16898:                                            ; preds = %16891
  %16899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16900 = call i32 @fileno(ptr noundef %16899) #11
  %16901 = call i32 @isatty(i32 noundef %16900) #11
  %16902 = icmp ne i32 %16901, 0
  br i1 %16902, label %16903, label %16920

16903:                                            ; preds = %16898
  %16904 = load i32, ptr %341, align 4, !tbaa !5
  %16905 = call ptr @__errno_location() #12
  store i32 %16904, ptr %16905, align 4, !tbaa !5
  %16906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16907 = load i32, ptr @test_count, align 4, !tbaa !5
  %16908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16909 = load i32, ptr %16908, align 4, !tbaa !5
  %16910 = call ptr @s2n_strerror(i32 noundef %16909, ptr noundef @.str.4)
  %16911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16912 = load i32, ptr %16911, align 4, !tbaa !5
  %16913 = call ptr @s2n_strerror_debug(i32 noundef %16912, ptr noundef @.str.4)
  %16914 = call ptr @__errno_location() #12
  %16915 = load i32, ptr %16914, align 4, !tbaa !5
  %16916 = call ptr @strerror(i32 noundef %16915) #11
  %16917 = call ptr @__errno_location() #12
  %16918 = load i32, ptr %16917, align 4, !tbaa !5
  %16919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16906, ptr noundef @.str.2, i32 noundef %16907, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 623, ptr noundef %16910, ptr noundef %16913, ptr noundef %16916, i32 noundef %16918) #11
  br label %16937

16920:                                            ; preds = %16898, %16891
  %16921 = load i32, ptr %341, align 4, !tbaa !5
  %16922 = call ptr @__errno_location() #12
  store i32 %16921, ptr %16922, align 4, !tbaa !5
  %16923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16924 = load i32, ptr @test_count, align 4, !tbaa !5
  %16925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16926 = load i32, ptr %16925, align 4, !tbaa !5
  %16927 = call ptr @s2n_strerror(i32 noundef %16926, ptr noundef @.str.4)
  %16928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16929 = load i32, ptr %16928, align 4, !tbaa !5
  %16930 = call ptr @s2n_strerror_debug(i32 noundef %16929, ptr noundef @.str.4)
  %16931 = call ptr @__errno_location() #12
  %16932 = load i32, ptr %16931, align 4, !tbaa !5
  %16933 = call ptr @strerror(i32 noundef %16932) #11
  %16934 = call ptr @__errno_location() #12
  %16935 = load i32, ptr %16934, align 4, !tbaa !5
  %16936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16923, ptr noundef @.str.5, i32 noundef %16924, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 623, ptr noundef %16927, ptr noundef %16930, ptr noundef %16933, i32 noundef %16935) #11
  br label %16937

16937:                                            ; preds = %16920, %16903
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #11
  br label %16938

16938:                                            ; preds = %16937
  br label %16939

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

16940:                                            ; No predecessors!
  br label %16941

16941:                                            ; preds = %16940
  br label %16942

16942:                                            ; preds = %16941, %16882
  br label %16943

16943:                                            ; preds = %16942
  br label %16944

16944:                                            ; preds = %16943
  br label %16945

16945:                                            ; preds = %16944
  br label %16946

16946:                                            ; preds = %16945
  br label %16947

16947:                                            ; preds = %16946
  %16948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16948, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16949 = call ptr @__errno_location() #12
  store i32 0, ptr %16949, align 4, !tbaa !5
  br label %16950

16950:                                            ; preds = %16947
  br label %16951

16951:                                            ; preds = %16950
  br label %16952

16952:                                            ; preds = %16951
  br label %16953

16953:                                            ; preds = %16952
  br label %16954

16954:                                            ; preds = %16953
  %16955 = load i32, ptr @test_count, align 4, !tbaa !5
  %16956 = add nsw i32 %16955, 1
  store i32 %16956, ptr @test_count, align 4, !tbaa !5
  %16957 = load ptr, ptr %335, align 8, !tbaa !9
  %16958 = call i32 @s2n_config_set_cert_validation_cb(ptr noundef %16957, ptr noundef null, ptr noundef %334)
  %16959 = icmp eq i32 %16958, -1
  br i1 %16959, label %16960, label %17013

16960:                                            ; preds = %16954
  br label %16961

16961:                                            ; preds = %16960
  br label %16962

16962:                                            ; preds = %16961
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #11
  %16963 = call ptr @__errno_location() #12
  %16964 = load i32, ptr %16963, align 4, !tbaa !5
  store i32 %16964, ptr %342, align 4, !tbaa !5
  %16965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16966 = call i32 @s2n_print_stacktrace(ptr noundef %16965)
  %16967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16968 = trunc i8 %16967 to i1
  br i1 %16968, label %16969, label %16991

16969:                                            ; preds = %16962
  %16970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16971 = call i32 @fileno(ptr noundef %16970) #11
  %16972 = call i32 @isatty(i32 noundef %16971) #11
  %16973 = icmp ne i32 %16972, 0
  br i1 %16973, label %16974, label %16991

16974:                                            ; preds = %16969
  %16975 = load i32, ptr %342, align 4, !tbaa !5
  %16976 = call ptr @__errno_location() #12
  store i32 %16975, ptr %16976, align 4, !tbaa !5
  %16977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16978 = load i32, ptr @test_count, align 4, !tbaa !5
  %16979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16980 = load i32, ptr %16979, align 4, !tbaa !5
  %16981 = call ptr @s2n_strerror(i32 noundef %16980, ptr noundef @.str.4)
  %16982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16983 = load i32, ptr %16982, align 4, !tbaa !5
  %16984 = call ptr @s2n_strerror_debug(i32 noundef %16983, ptr noundef @.str.4)
  %16985 = call ptr @__errno_location() #12
  %16986 = load i32, ptr %16985, align 4, !tbaa !5
  %16987 = call ptr @strerror(i32 noundef %16986) #11
  %16988 = call ptr @__errno_location() #12
  %16989 = load i32, ptr %16988, align 4, !tbaa !5
  %16990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16977, ptr noundef @.str.2, i32 noundef %16978, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 624, ptr noundef %16981, ptr noundef %16984, ptr noundef %16987, i32 noundef %16989) #11
  br label %17008

16991:                                            ; preds = %16969, %16962
  %16992 = load i32, ptr %342, align 4, !tbaa !5
  %16993 = call ptr @__errno_location() #12
  store i32 %16992, ptr %16993, align 4, !tbaa !5
  %16994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16995 = load i32, ptr @test_count, align 4, !tbaa !5
  %16996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16997 = load i32, ptr %16996, align 4, !tbaa !5
  %16998 = call ptr @s2n_strerror(i32 noundef %16997, ptr noundef @.str.4)
  %16999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17000 = load i32, ptr %16999, align 4, !tbaa !5
  %17001 = call ptr @s2n_strerror_debug(i32 noundef %17000, ptr noundef @.str.4)
  %17002 = call ptr @__errno_location() #12
  %17003 = load i32, ptr %17002, align 4, !tbaa !5
  %17004 = call ptr @strerror(i32 noundef %17003) #11
  %17005 = call ptr @__errno_location() #12
  %17006 = load i32, ptr %17005, align 4, !tbaa !5
  %17007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16994, ptr noundef @.str.5, i32 noundef %16995, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 624, ptr noundef %16998, ptr noundef %17001, ptr noundef %17004, i32 noundef %17006) #11
  br label %17008

17008:                                            ; preds = %16991, %16974
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #11
  br label %17009

17009:                                            ; preds = %17008
  br label %17010

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

17011:                                            ; No predecessors!
  br label %17012

17012:                                            ; preds = %17011
  br label %17013

17013:                                            ; preds = %17012, %16954
  br label %17014

17014:                                            ; preds = %17013
  br label %17015

17015:                                            ; preds = %17014
  br label %17016

17016:                                            ; preds = %17015
  %17017 = load i32, ptr @test_count, align 4, !tbaa !5
  %17018 = add nsw i32 %17017, 1
  store i32 %17018, ptr @test_count, align 4, !tbaa !5
  %17019 = load ptr, ptr %335, align 8, !tbaa !9
  %17020 = call i32 @s2n_config_set_cert_validation_cb(ptr noundef %17019, ptr noundef @s2n_test_cert_validation_cb, ptr noundef null)
  %17021 = icmp eq i32 %17020, -1
  br i1 %17021, label %17022, label %17075

17022:                                            ; preds = %17016
  br label %17023

17023:                                            ; preds = %17022
  br label %17024

17024:                                            ; preds = %17023
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #11
  %17025 = call ptr @__errno_location() #12
  %17026 = load i32, ptr %17025, align 4, !tbaa !5
  store i32 %17026, ptr %343, align 4, !tbaa !5
  %17027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17028 = call i32 @s2n_print_stacktrace(ptr noundef %17027)
  %17029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17030 = trunc i8 %17029 to i1
  br i1 %17030, label %17031, label %17053

17031:                                            ; preds = %17024
  %17032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17033 = call i32 @fileno(ptr noundef %17032) #11
  %17034 = call i32 @isatty(i32 noundef %17033) #11
  %17035 = icmp ne i32 %17034, 0
  br i1 %17035, label %17036, label %17053

17036:                                            ; preds = %17031
  %17037 = load i32, ptr %343, align 4, !tbaa !5
  %17038 = call ptr @__errno_location() #12
  store i32 %17037, ptr %17038, align 4, !tbaa !5
  %17039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17040 = load i32, ptr @test_count, align 4, !tbaa !5
  %17041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17042 = load i32, ptr %17041, align 4, !tbaa !5
  %17043 = call ptr @s2n_strerror(i32 noundef %17042, ptr noundef @.str.4)
  %17044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17045 = load i32, ptr %17044, align 4, !tbaa !5
  %17046 = call ptr @s2n_strerror_debug(i32 noundef %17045, ptr noundef @.str.4)
  %17047 = call ptr @__errno_location() #12
  %17048 = load i32, ptr %17047, align 4, !tbaa !5
  %17049 = call ptr @strerror(i32 noundef %17048) #11
  %17050 = call ptr @__errno_location() #12
  %17051 = load i32, ptr %17050, align 4, !tbaa !5
  %17052 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17039, ptr noundef @.str.2, i32 noundef %17040, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 625, ptr noundef %17043, ptr noundef %17046, ptr noundef %17049, i32 noundef %17051) #11
  br label %17070

17053:                                            ; preds = %17031, %17024
  %17054 = load i32, ptr %343, align 4, !tbaa !5
  %17055 = call ptr @__errno_location() #12
  store i32 %17054, ptr %17055, align 4, !tbaa !5
  %17056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17057 = load i32, ptr @test_count, align 4, !tbaa !5
  %17058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17059 = load i32, ptr %17058, align 4, !tbaa !5
  %17060 = call ptr @s2n_strerror(i32 noundef %17059, ptr noundef @.str.4)
  %17061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17062 = load i32, ptr %17061, align 4, !tbaa !5
  %17063 = call ptr @s2n_strerror_debug(i32 noundef %17062, ptr noundef @.str.4)
  %17064 = call ptr @__errno_location() #12
  %17065 = load i32, ptr %17064, align 4, !tbaa !5
  %17066 = call ptr @strerror(i32 noundef %17065) #11
  %17067 = call ptr @__errno_location() #12
  %17068 = load i32, ptr %17067, align 4, !tbaa !5
  %17069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17056, ptr noundef @.str.5, i32 noundef %17057, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 625, ptr noundef %17060, ptr noundef %17063, ptr noundef %17066, i32 noundef %17068) #11
  br label %17070

17070:                                            ; preds = %17053, %17036
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #11
  br label %17071

17071:                                            ; preds = %17070
  br label %17072

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

17073:                                            ; No predecessors!
  br label %17074

17074:                                            ; preds = %17073
  br label %17075

17075:                                            ; preds = %17074, %17016
  br label %17076

17076:                                            ; preds = %17075
  br label %17077

17077:                                            ; preds = %17076
  br label %17078

17078:                                            ; preds = %17077
  %17079 = load i32, ptr @test_count, align 4, !tbaa !5
  %17080 = add nsw i32 %17079, 1
  store i32 %17080, ptr @test_count, align 4, !tbaa !5
  %17081 = load ptr, ptr %335, align 8, !tbaa !9
  %17082 = call i32 @s2n_config_set_cert_validation_cb(ptr noundef %17081, ptr noundef @s2n_test_cert_validation_cb, ptr noundef %334)
  %17083 = icmp eq i32 %17082, -1
  br i1 %17083, label %17084, label %17137

17084:                                            ; preds = %17078
  br label %17085

17085:                                            ; preds = %17084
  br label %17086

17086:                                            ; preds = %17085
  call void @llvm.lifetime.start.p0(i64 4, ptr %344) #11
  %17087 = call ptr @__errno_location() #12
  %17088 = load i32, ptr %17087, align 4, !tbaa !5
  store i32 %17088, ptr %344, align 4, !tbaa !5
  %17089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17090 = call i32 @s2n_print_stacktrace(ptr noundef %17089)
  %17091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17092 = trunc i8 %17091 to i1
  br i1 %17092, label %17093, label %17115

17093:                                            ; preds = %17086
  %17094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17095 = call i32 @fileno(ptr noundef %17094) #11
  %17096 = call i32 @isatty(i32 noundef %17095) #11
  %17097 = icmp ne i32 %17096, 0
  br i1 %17097, label %17098, label %17115

17098:                                            ; preds = %17093
  %17099 = load i32, ptr %344, align 4, !tbaa !5
  %17100 = call ptr @__errno_location() #12
  store i32 %17099, ptr %17100, align 4, !tbaa !5
  %17101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17102 = load i32, ptr @test_count, align 4, !tbaa !5
  %17103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17104 = load i32, ptr %17103, align 4, !tbaa !5
  %17105 = call ptr @s2n_strerror(i32 noundef %17104, ptr noundef @.str.4)
  %17106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17107 = load i32, ptr %17106, align 4, !tbaa !5
  %17108 = call ptr @s2n_strerror_debug(i32 noundef %17107, ptr noundef @.str.4)
  %17109 = call ptr @__errno_location() #12
  %17110 = load i32, ptr %17109, align 4, !tbaa !5
  %17111 = call ptr @strerror(i32 noundef %17110) #11
  %17112 = call ptr @__errno_location() #12
  %17113 = load i32, ptr %17112, align 4, !tbaa !5
  %17114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17101, ptr noundef @.str.2, i32 noundef %17102, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 628, ptr noundef %17105, ptr noundef %17108, ptr noundef %17111, i32 noundef %17113) #11
  br label %17132

17115:                                            ; preds = %17093, %17086
  %17116 = load i32, ptr %344, align 4, !tbaa !5
  %17117 = call ptr @__errno_location() #12
  store i32 %17116, ptr %17117, align 4, !tbaa !5
  %17118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17119 = load i32, ptr @test_count, align 4, !tbaa !5
  %17120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17121 = load i32, ptr %17120, align 4, !tbaa !5
  %17122 = call ptr @s2n_strerror(i32 noundef %17121, ptr noundef @.str.4)
  %17123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17124 = load i32, ptr %17123, align 4, !tbaa !5
  %17125 = call ptr @s2n_strerror_debug(i32 noundef %17124, ptr noundef @.str.4)
  %17126 = call ptr @__errno_location() #12
  %17127 = load i32, ptr %17126, align 4, !tbaa !5
  %17128 = call ptr @strerror(i32 noundef %17127) #11
  %17129 = call ptr @__errno_location() #12
  %17130 = load i32, ptr %17129, align 4, !tbaa !5
  %17131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17118, ptr noundef @.str.5, i32 noundef %17119, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 628, ptr noundef %17122, ptr noundef %17125, ptr noundef %17128, i32 noundef %17130) #11
  br label %17132

17132:                                            ; preds = %17115, %17098
  call void @llvm.lifetime.end.p0(i64 4, ptr %344) #11
  br label %17133

17133:                                            ; preds = %17132
  br label %17134

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

17135:                                            ; No predecessors!
  br label %17136

17136:                                            ; preds = %17135
  br label %17137

17137:                                            ; preds = %17136, %17078
  br label %17138

17138:                                            ; preds = %17137
  br label %17139

17139:                                            ; preds = %17138
  br label %17140

17140:                                            ; preds = %17139
  %17141 = load i32, ptr @test_count, align 4, !tbaa !5
  %17142 = add nsw i32 %17141, 1
  store i32 %17142, ptr @test_count, align 4, !tbaa !5
  %17143 = load ptr, ptr %335, align 8, !tbaa !9
  %17144 = getelementptr inbounds %struct.s2n_config, ptr %17143, i32 0, i32 32
  %17145 = load ptr, ptr %17144, align 8, !tbaa !64
  %17146 = icmp eq ptr %17145, @s2n_test_cert_validation_cb
  br i1 %17146, label %17200, label %17147

17147:                                            ; preds = %17140
  br label %17148

17148:                                            ; preds = %17147
  br label %17149

17149:                                            ; preds = %17148
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #11
  %17150 = call ptr @__errno_location() #12
  %17151 = load i32, ptr %17150, align 4, !tbaa !5
  store i32 %17151, ptr %345, align 4, !tbaa !5
  %17152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17153 = call i32 @s2n_print_stacktrace(ptr noundef %17152)
  %17154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17155 = trunc i8 %17154 to i1
  br i1 %17155, label %17156, label %17178

17156:                                            ; preds = %17149
  %17157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17158 = call i32 @fileno(ptr noundef %17157) #11
  %17159 = call i32 @isatty(i32 noundef %17158) #11
  %17160 = icmp ne i32 %17159, 0
  br i1 %17160, label %17161, label %17178

17161:                                            ; preds = %17156
  %17162 = load i32, ptr %345, align 4, !tbaa !5
  %17163 = call ptr @__errno_location() #12
  store i32 %17162, ptr %17163, align 4, !tbaa !5
  %17164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17165 = load i32, ptr @test_count, align 4, !tbaa !5
  %17166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17167 = load i32, ptr %17166, align 4, !tbaa !5
  %17168 = call ptr @s2n_strerror(i32 noundef %17167, ptr noundef @.str.4)
  %17169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17170 = load i32, ptr %17169, align 4, !tbaa !5
  %17171 = call ptr @s2n_strerror_debug(i32 noundef %17170, ptr noundef @.str.4)
  %17172 = call ptr @__errno_location() #12
  %17173 = load i32, ptr %17172, align 4, !tbaa !5
  %17174 = call ptr @strerror(i32 noundef %17173) #11
  %17175 = call ptr @__errno_location() #12
  %17176 = load i32, ptr %17175, align 4, !tbaa !5
  %17177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17164, ptr noundef @.str.2, i32 noundef %17165, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 629, ptr noundef %17168, ptr noundef %17171, ptr noundef %17174, i32 noundef %17176) #11
  br label %17195

17178:                                            ; preds = %17156, %17149
  %17179 = load i32, ptr %345, align 4, !tbaa !5
  %17180 = call ptr @__errno_location() #12
  store i32 %17179, ptr %17180, align 4, !tbaa !5
  %17181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17182 = load i32, ptr @test_count, align 4, !tbaa !5
  %17183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17184 = load i32, ptr %17183, align 4, !tbaa !5
  %17185 = call ptr @s2n_strerror(i32 noundef %17184, ptr noundef @.str.4)
  %17186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17187 = load i32, ptr %17186, align 4, !tbaa !5
  %17188 = call ptr @s2n_strerror_debug(i32 noundef %17187, ptr noundef @.str.4)
  %17189 = call ptr @__errno_location() #12
  %17190 = load i32, ptr %17189, align 4, !tbaa !5
  %17191 = call ptr @strerror(i32 noundef %17190) #11
  %17192 = call ptr @__errno_location() #12
  %17193 = load i32, ptr %17192, align 4, !tbaa !5
  %17194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17181, ptr noundef @.str.5, i32 noundef %17182, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 629, ptr noundef %17185, ptr noundef %17188, ptr noundef %17191, i32 noundef %17193) #11
  br label %17195

17195:                                            ; preds = %17178, %17161
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #11
  br label %17196

17196:                                            ; preds = %17195
  br label %17197

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

17198:                                            ; No predecessors!
  br label %17199

17199:                                            ; preds = %17198
  br label %17200

17200:                                            ; preds = %17199, %17140
  br label %17201

17201:                                            ; preds = %17200
  br label %17202

17202:                                            ; preds = %17201
  br label %17203

17203:                                            ; preds = %17202
  %17204 = load i32, ptr @test_count, align 4, !tbaa !5
  %17205 = add nsw i32 %17204, 1
  store i32 %17205, ptr @test_count, align 4, !tbaa !5
  %17206 = load ptr, ptr %335, align 8, !tbaa !9
  %17207 = getelementptr inbounds %struct.s2n_config, ptr %17206, i32 0, i32 33
  %17208 = load ptr, ptr %17207, align 8, !tbaa !65
  %17209 = icmp eq ptr %17208, %334
  br i1 %17209, label %17263, label %17210

17210:                                            ; preds = %17203
  br label %17211

17211:                                            ; preds = %17210
  br label %17212

17212:                                            ; preds = %17211
  call void @llvm.lifetime.start.p0(i64 4, ptr %346) #11
  %17213 = call ptr @__errno_location() #12
  %17214 = load i32, ptr %17213, align 4, !tbaa !5
  store i32 %17214, ptr %346, align 4, !tbaa !5
  %17215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17216 = call i32 @s2n_print_stacktrace(ptr noundef %17215)
  %17217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17218 = trunc i8 %17217 to i1
  br i1 %17218, label %17219, label %17241

17219:                                            ; preds = %17212
  %17220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17221 = call i32 @fileno(ptr noundef %17220) #11
  %17222 = call i32 @isatty(i32 noundef %17221) #11
  %17223 = icmp ne i32 %17222, 0
  br i1 %17223, label %17224, label %17241

17224:                                            ; preds = %17219
  %17225 = load i32, ptr %346, align 4, !tbaa !5
  %17226 = call ptr @__errno_location() #12
  store i32 %17225, ptr %17226, align 4, !tbaa !5
  %17227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17228 = load i32, ptr @test_count, align 4, !tbaa !5
  %17229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17230 = load i32, ptr %17229, align 4, !tbaa !5
  %17231 = call ptr @s2n_strerror(i32 noundef %17230, ptr noundef @.str.4)
  %17232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17233 = load i32, ptr %17232, align 4, !tbaa !5
  %17234 = call ptr @s2n_strerror_debug(i32 noundef %17233, ptr noundef @.str.4)
  %17235 = call ptr @__errno_location() #12
  %17236 = load i32, ptr %17235, align 4, !tbaa !5
  %17237 = call ptr @strerror(i32 noundef %17236) #11
  %17238 = call ptr @__errno_location() #12
  %17239 = load i32, ptr %17238, align 4, !tbaa !5
  %17240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17227, ptr noundef @.str.2, i32 noundef %17228, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 630, ptr noundef %17231, ptr noundef %17234, ptr noundef %17237, i32 noundef %17239) #11
  br label %17258

17241:                                            ; preds = %17219, %17212
  %17242 = load i32, ptr %346, align 4, !tbaa !5
  %17243 = call ptr @__errno_location() #12
  store i32 %17242, ptr %17243, align 4, !tbaa !5
  %17244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17245 = load i32, ptr @test_count, align 4, !tbaa !5
  %17246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17247 = load i32, ptr %17246, align 4, !tbaa !5
  %17248 = call ptr @s2n_strerror(i32 noundef %17247, ptr noundef @.str.4)
  %17249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17250 = load i32, ptr %17249, align 4, !tbaa !5
  %17251 = call ptr @s2n_strerror_debug(i32 noundef %17250, ptr noundef @.str.4)
  %17252 = call ptr @__errno_location() #12
  %17253 = load i32, ptr %17252, align 4, !tbaa !5
  %17254 = call ptr @strerror(i32 noundef %17253) #11
  %17255 = call ptr @__errno_location() #12
  %17256 = load i32, ptr %17255, align 4, !tbaa !5
  %17257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17244, ptr noundef @.str.5, i32 noundef %17245, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 630, ptr noundef %17248, ptr noundef %17251, ptr noundef %17254, i32 noundef %17256) #11
  br label %17258

17258:                                            ; preds = %17241, %17224
  call void @llvm.lifetime.end.p0(i64 4, ptr %346) #11
  br label %17259

17259:                                            ; preds = %17258
  br label %17260

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

17261:                                            ; No predecessors!
  br label %17262

17262:                                            ; preds = %17261
  br label %17263

17263:                                            ; preds = %17262, %17203
  br label %17264

17264:                                            ; preds = %17263
  br label %17265

17265:                                            ; preds = %17264
  br label %17266

17266:                                            ; preds = %17265
  %17267 = load i32, ptr @test_count, align 4, !tbaa !5
  %17268 = add nsw i32 %17267, 1
  store i32 %17268, ptr @test_count, align 4, !tbaa !5
  %17269 = load ptr, ptr %335, align 8, !tbaa !9
  %17270 = call i32 @s2n_config_set_cert_validation_cb(ptr noundef %17269, ptr noundef null, ptr noundef null)
  %17271 = icmp eq i32 %17270, -1
  br i1 %17271, label %17272, label %17325

17272:                                            ; preds = %17266
  br label %17273

17273:                                            ; preds = %17272
  br label %17274

17274:                                            ; preds = %17273
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #11
  %17275 = call ptr @__errno_location() #12
  %17276 = load i32, ptr %17275, align 4, !tbaa !5
  store i32 %17276, ptr %347, align 4, !tbaa !5
  %17277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17278 = call i32 @s2n_print_stacktrace(ptr noundef %17277)
  %17279 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17280 = trunc i8 %17279 to i1
  br i1 %17280, label %17281, label %17303

17281:                                            ; preds = %17274
  %17282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17283 = call i32 @fileno(ptr noundef %17282) #11
  %17284 = call i32 @isatty(i32 noundef %17283) #11
  %17285 = icmp ne i32 %17284, 0
  br i1 %17285, label %17286, label %17303

17286:                                            ; preds = %17281
  %17287 = load i32, ptr %347, align 4, !tbaa !5
  %17288 = call ptr @__errno_location() #12
  store i32 %17287, ptr %17288, align 4, !tbaa !5
  %17289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17290 = load i32, ptr @test_count, align 4, !tbaa !5
  %17291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17292 = load i32, ptr %17291, align 4, !tbaa !5
  %17293 = call ptr @s2n_strerror(i32 noundef %17292, ptr noundef @.str.4)
  %17294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17295 = load i32, ptr %17294, align 4, !tbaa !5
  %17296 = call ptr @s2n_strerror_debug(i32 noundef %17295, ptr noundef @.str.4)
  %17297 = call ptr @__errno_location() #12
  %17298 = load i32, ptr %17297, align 4, !tbaa !5
  %17299 = call ptr @strerror(i32 noundef %17298) #11
  %17300 = call ptr @__errno_location() #12
  %17301 = load i32, ptr %17300, align 4, !tbaa !5
  %17302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17289, ptr noundef @.str.2, i32 noundef %17290, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 633, ptr noundef %17293, ptr noundef %17296, ptr noundef %17299, i32 noundef %17301) #11
  br label %17320

17303:                                            ; preds = %17281, %17274
  %17304 = load i32, ptr %347, align 4, !tbaa !5
  %17305 = call ptr @__errno_location() #12
  store i32 %17304, ptr %17305, align 4, !tbaa !5
  %17306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17307 = load i32, ptr @test_count, align 4, !tbaa !5
  %17308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17309 = load i32, ptr %17308, align 4, !tbaa !5
  %17310 = call ptr @s2n_strerror(i32 noundef %17309, ptr noundef @.str.4)
  %17311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17312 = load i32, ptr %17311, align 4, !tbaa !5
  %17313 = call ptr @s2n_strerror_debug(i32 noundef %17312, ptr noundef @.str.4)
  %17314 = call ptr @__errno_location() #12
  %17315 = load i32, ptr %17314, align 4, !tbaa !5
  %17316 = call ptr @strerror(i32 noundef %17315) #11
  %17317 = call ptr @__errno_location() #12
  %17318 = load i32, ptr %17317, align 4, !tbaa !5
  %17319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17306, ptr noundef @.str.5, i32 noundef %17307, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 633, ptr noundef %17310, ptr noundef %17313, ptr noundef %17316, i32 noundef %17318) #11
  br label %17320

17320:                                            ; preds = %17303, %17286
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #11
  br label %17321

17321:                                            ; preds = %17320
  br label %17322

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

17323:                                            ; No predecessors!
  br label %17324

17324:                                            ; preds = %17323
  br label %17325

17325:                                            ; preds = %17324, %17266
  br label %17326

17326:                                            ; preds = %17325
  br label %17327

17327:                                            ; preds = %17326
  br label %17328

17328:                                            ; preds = %17327
  %17329 = load i32, ptr @test_count, align 4, !tbaa !5
  %17330 = add nsw i32 %17329, 1
  store i32 %17330, ptr @test_count, align 4, !tbaa !5
  %17331 = load ptr, ptr %335, align 8, !tbaa !9
  %17332 = getelementptr inbounds %struct.s2n_config, ptr %17331, i32 0, i32 32
  %17333 = load ptr, ptr %17332, align 8, !tbaa !64
  %17334 = icmp eq ptr %17333, null
  br i1 %17334, label %17388, label %17335

17335:                                            ; preds = %17328
  br label %17336

17336:                                            ; preds = %17335
  br label %17337

17337:                                            ; preds = %17336
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #11
  %17338 = call ptr @__errno_location() #12
  %17339 = load i32, ptr %17338, align 4, !tbaa !5
  store i32 %17339, ptr %348, align 4, !tbaa !5
  %17340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17341 = call i32 @s2n_print_stacktrace(ptr noundef %17340)
  %17342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17343 = trunc i8 %17342 to i1
  br i1 %17343, label %17344, label %17366

17344:                                            ; preds = %17337
  %17345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17346 = call i32 @fileno(ptr noundef %17345) #11
  %17347 = call i32 @isatty(i32 noundef %17346) #11
  %17348 = icmp ne i32 %17347, 0
  br i1 %17348, label %17349, label %17366

17349:                                            ; preds = %17344
  %17350 = load i32, ptr %348, align 4, !tbaa !5
  %17351 = call ptr @__errno_location() #12
  store i32 %17350, ptr %17351, align 4, !tbaa !5
  %17352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17353 = load i32, ptr @test_count, align 4, !tbaa !5
  %17354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17355 = load i32, ptr %17354, align 4, !tbaa !5
  %17356 = call ptr @s2n_strerror(i32 noundef %17355, ptr noundef @.str.4)
  %17357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17358 = load i32, ptr %17357, align 4, !tbaa !5
  %17359 = call ptr @s2n_strerror_debug(i32 noundef %17358, ptr noundef @.str.4)
  %17360 = call ptr @__errno_location() #12
  %17361 = load i32, ptr %17360, align 4, !tbaa !5
  %17362 = call ptr @strerror(i32 noundef %17361) #11
  %17363 = call ptr @__errno_location() #12
  %17364 = load i32, ptr %17363, align 4, !tbaa !5
  %17365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17352, ptr noundef @.str.2, i32 noundef %17353, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 634, ptr noundef %17356, ptr noundef %17359, ptr noundef %17362, i32 noundef %17364) #11
  br label %17383

17366:                                            ; preds = %17344, %17337
  %17367 = load i32, ptr %348, align 4, !tbaa !5
  %17368 = call ptr @__errno_location() #12
  store i32 %17367, ptr %17368, align 4, !tbaa !5
  %17369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17370 = load i32, ptr @test_count, align 4, !tbaa !5
  %17371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17372 = load i32, ptr %17371, align 4, !tbaa !5
  %17373 = call ptr @s2n_strerror(i32 noundef %17372, ptr noundef @.str.4)
  %17374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17375 = load i32, ptr %17374, align 4, !tbaa !5
  %17376 = call ptr @s2n_strerror_debug(i32 noundef %17375, ptr noundef @.str.4)
  %17377 = call ptr @__errno_location() #12
  %17378 = load i32, ptr %17377, align 4, !tbaa !5
  %17379 = call ptr @strerror(i32 noundef %17378) #11
  %17380 = call ptr @__errno_location() #12
  %17381 = load i32, ptr %17380, align 4, !tbaa !5
  %17382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17369, ptr noundef @.str.5, i32 noundef %17370, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 634, ptr noundef %17373, ptr noundef %17376, ptr noundef %17379, i32 noundef %17381) #11
  br label %17383

17383:                                            ; preds = %17366, %17349
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #11
  br label %17384

17384:                                            ; preds = %17383
  br label %17385

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

17386:                                            ; No predecessors!
  br label %17387

17387:                                            ; preds = %17386
  br label %17388

17388:                                            ; preds = %17387, %17328
  br label %17389

17389:                                            ; preds = %17388
  br label %17390

17390:                                            ; preds = %17389
  br label %17391

17391:                                            ; preds = %17390
  %17392 = load i32, ptr @test_count, align 4, !tbaa !5
  %17393 = add nsw i32 %17392, 1
  store i32 %17393, ptr @test_count, align 4, !tbaa !5
  %17394 = load ptr, ptr %335, align 8, !tbaa !9
  %17395 = getelementptr inbounds %struct.s2n_config, ptr %17394, i32 0, i32 33
  %17396 = load ptr, ptr %17395, align 8, !tbaa !65
  %17397 = icmp eq ptr %17396, null
  br i1 %17397, label %17451, label %17398

17398:                                            ; preds = %17391
  br label %17399

17399:                                            ; preds = %17398
  br label %17400

17400:                                            ; preds = %17399
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #11
  %17401 = call ptr @__errno_location() #12
  %17402 = load i32, ptr %17401, align 4, !tbaa !5
  store i32 %17402, ptr %349, align 4, !tbaa !5
  %17403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17404 = call i32 @s2n_print_stacktrace(ptr noundef %17403)
  %17405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17406 = trunc i8 %17405 to i1
  br i1 %17406, label %17407, label %17429

17407:                                            ; preds = %17400
  %17408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17409 = call i32 @fileno(ptr noundef %17408) #11
  %17410 = call i32 @isatty(i32 noundef %17409) #11
  %17411 = icmp ne i32 %17410, 0
  br i1 %17411, label %17412, label %17429

17412:                                            ; preds = %17407
  %17413 = load i32, ptr %349, align 4, !tbaa !5
  %17414 = call ptr @__errno_location() #12
  store i32 %17413, ptr %17414, align 4, !tbaa !5
  %17415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17416 = load i32, ptr @test_count, align 4, !tbaa !5
  %17417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17418 = load i32, ptr %17417, align 4, !tbaa !5
  %17419 = call ptr @s2n_strerror(i32 noundef %17418, ptr noundef @.str.4)
  %17420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17421 = load i32, ptr %17420, align 4, !tbaa !5
  %17422 = call ptr @s2n_strerror_debug(i32 noundef %17421, ptr noundef @.str.4)
  %17423 = call ptr @__errno_location() #12
  %17424 = load i32, ptr %17423, align 4, !tbaa !5
  %17425 = call ptr @strerror(i32 noundef %17424) #11
  %17426 = call ptr @__errno_location() #12
  %17427 = load i32, ptr %17426, align 4, !tbaa !5
  %17428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17415, ptr noundef @.str.2, i32 noundef %17416, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 635, ptr noundef %17419, ptr noundef %17422, ptr noundef %17425, i32 noundef %17427) #11
  br label %17446

17429:                                            ; preds = %17407, %17400
  %17430 = load i32, ptr %349, align 4, !tbaa !5
  %17431 = call ptr @__errno_location() #12
  store i32 %17430, ptr %17431, align 4, !tbaa !5
  %17432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17433 = load i32, ptr @test_count, align 4, !tbaa !5
  %17434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17435 = load i32, ptr %17434, align 4, !tbaa !5
  %17436 = call ptr @s2n_strerror(i32 noundef %17435, ptr noundef @.str.4)
  %17437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17438 = load i32, ptr %17437, align 4, !tbaa !5
  %17439 = call ptr @s2n_strerror_debug(i32 noundef %17438, ptr noundef @.str.4)
  %17440 = call ptr @__errno_location() #12
  %17441 = load i32, ptr %17440, align 4, !tbaa !5
  %17442 = call ptr @strerror(i32 noundef %17441) #11
  %17443 = call ptr @__errno_location() #12
  %17444 = load i32, ptr %17443, align 4, !tbaa !5
  %17445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17432, ptr noundef @.str.5, i32 noundef %17433, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 635, ptr noundef %17436, ptr noundef %17439, ptr noundef %17442, i32 noundef %17444) #11
  br label %17446

17446:                                            ; preds = %17429, %17412
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #11
  br label %17447

17447:                                            ; preds = %17446
  br label %17448

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

17449:                                            ; No predecessors!
  br label %17450

17450:                                            ; preds = %17449
  br label %17451

17451:                                            ; preds = %17450, %17391
  br label %17452

17452:                                            ; preds = %17451
  br label %17453

17453:                                            ; preds = %17452
  %17454 = call i32 @s2n_config_ptr_free(ptr noundef %335)
  %17455 = getelementptr inbounds %struct.s2n_result, ptr %350, i32 0, i32 0
  store i32 %17454, ptr %17455, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %335) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %334) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %351) #11
  store i64 0, ptr %351, align 8, !tbaa !66
  br label %17456

17456:                                            ; preds = %19772, %17453
  %17457 = load i64, ptr %351, align 8, !tbaa !66
  %17458 = icmp ult i64 %17457, 2
  br i1 %17458, label %17460, label %17459

17459:                                            ; preds = %17456
  store i32 1674, ptr %352, align 4
  br label %19775

17460:                                            ; preds = %17456
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #11
  %17461 = load i64, ptr %351, align 8, !tbaa !66
  %17462 = getelementptr inbounds [2 x i32], ptr %10, i64 0, i64 %17461
  %17463 = load i32, ptr %17462, align 4, !tbaa !5
  store i32 %17463, ptr %353, align 4, !tbaa !5
  %17464 = call zeroext i8 @s2n_x509_ocsp_stapling_supported()
  %17465 = icmp ne i8 %17464, 0
  br i1 %17465, label %17467, label %17466

17466:                                            ; preds = %17460
  store i32 1674, ptr %352, align 4
  br label %19769

17467:                                            ; preds = %17460
  call void @llvm.lifetime.start.p0(i64 8, ptr %354) #11
  %17468 = call ptr @s2n_config_new()
  store ptr %17468, ptr %354, align 8, !tbaa !9
  br label %17469

17469:                                            ; preds = %17467
  %17470 = load i32, ptr @test_count, align 4, !tbaa !5
  %17471 = add nsw i32 %17470, 1
  store i32 %17471, ptr @test_count, align 4, !tbaa !5
  %17472 = load ptr, ptr %354, align 8, !tbaa !9
  %17473 = icmp eq ptr %17472, null
  br i1 %17473, label %17474, label %17527

17474:                                            ; preds = %17469
  br label %17475

17475:                                            ; preds = %17474
  br label %17476

17476:                                            ; preds = %17475
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #11
  %17477 = call ptr @__errno_location() #12
  %17478 = load i32, ptr %17477, align 4, !tbaa !5
  store i32 %17478, ptr %355, align 4, !tbaa !5
  %17479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17480 = call i32 @s2n_print_stacktrace(ptr noundef %17479)
  %17481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17482 = trunc i8 %17481 to i1
  br i1 %17482, label %17483, label %17505

17483:                                            ; preds = %17476
  %17484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17485 = call i32 @fileno(ptr noundef %17484) #11
  %17486 = call i32 @isatty(i32 noundef %17485) #11
  %17487 = icmp ne i32 %17486, 0
  br i1 %17487, label %17488, label %17505

17488:                                            ; preds = %17483
  %17489 = load i32, ptr %355, align 4, !tbaa !5
  %17490 = call ptr @__errno_location() #12
  store i32 %17489, ptr %17490, align 4, !tbaa !5
  %17491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17492 = load i32, ptr @test_count, align 4, !tbaa !5
  %17493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17494 = load i32, ptr %17493, align 4, !tbaa !5
  %17495 = call ptr @s2n_strerror(i32 noundef %17494, ptr noundef @.str.4)
  %17496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17497 = load i32, ptr %17496, align 4, !tbaa !5
  %17498 = call ptr @s2n_strerror_debug(i32 noundef %17497, ptr noundef @.str.4)
  %17499 = call ptr @__errno_location() #12
  %17500 = load i32, ptr %17499, align 4, !tbaa !5
  %17501 = call ptr @strerror(i32 noundef %17500) #11
  %17502 = call ptr @__errno_location() #12
  %17503 = load i32, ptr %17502, align 4, !tbaa !5
  %17504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17491, ptr noundef @.str.2, i32 noundef %17492, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 649, ptr noundef %17495, ptr noundef %17498, ptr noundef %17501, i32 noundef %17503) #11
  br label %17522

17505:                                            ; preds = %17483, %17476
  %17506 = load i32, ptr %355, align 4, !tbaa !5
  %17507 = call ptr @__errno_location() #12
  store i32 %17506, ptr %17507, align 4, !tbaa !5
  %17508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17509 = load i32, ptr @test_count, align 4, !tbaa !5
  %17510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17511 = load i32, ptr %17510, align 4, !tbaa !5
  %17512 = call ptr @s2n_strerror(i32 noundef %17511, ptr noundef @.str.4)
  %17513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17514 = load i32, ptr %17513, align 4, !tbaa !5
  %17515 = call ptr @s2n_strerror_debug(i32 noundef %17514, ptr noundef @.str.4)
  %17516 = call ptr @__errno_location() #12
  %17517 = load i32, ptr %17516, align 4, !tbaa !5
  %17518 = call ptr @strerror(i32 noundef %17517) #11
  %17519 = call ptr @__errno_location() #12
  %17520 = load i32, ptr %17519, align 4, !tbaa !5
  %17521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17508, ptr noundef @.str.5, i32 noundef %17509, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 649, ptr noundef %17512, ptr noundef %17515, ptr noundef %17518, i32 noundef %17520) #11
  br label %17522

17522:                                            ; preds = %17505, %17488
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #11
  br label %17523

17523:                                            ; preds = %17522
  br label %17524

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

17525:                                            ; No predecessors!
  br label %17526

17526:                                            ; preds = %17525
  br label %17527

17527:                                            ; preds = %17526, %17469
  br label %17528

17528:                                            ; preds = %17527
  br label %17529

17529:                                            ; preds = %17528
  br label %17530

17530:                                            ; preds = %17529
  %17531 = load i32, ptr @test_count, align 4, !tbaa !5
  %17532 = add nsw i32 %17531, 1
  store i32 %17532, ptr @test_count, align 4, !tbaa !5
  %17533 = load ptr, ptr %354, align 8, !tbaa !9
  %17534 = load i32, ptr %17533, align 8
  %17535 = lshr i32 %17534, 15
  %17536 = and i32 %17535, 1
  %17537 = icmp ne i32 %17536, 0
  br i1 %17537, label %17538, label %17591

17538:                                            ; preds = %17530
  br label %17539

17539:                                            ; preds = %17538
  br label %17540

17540:                                            ; preds = %17539
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #11
  %17541 = call ptr @__errno_location() #12
  %17542 = load i32, ptr %17541, align 4, !tbaa !5
  store i32 %17542, ptr %356, align 4, !tbaa !5
  %17543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17544 = call i32 @s2n_print_stacktrace(ptr noundef %17543)
  %17545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17546 = trunc i8 %17545 to i1
  br i1 %17546, label %17547, label %17569

17547:                                            ; preds = %17540
  %17548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17549 = call i32 @fileno(ptr noundef %17548) #11
  %17550 = call i32 @isatty(i32 noundef %17549) #11
  %17551 = icmp ne i32 %17550, 0
  br i1 %17551, label %17552, label %17569

17552:                                            ; preds = %17547
  %17553 = load i32, ptr %356, align 4, !tbaa !5
  %17554 = call ptr @__errno_location() #12
  store i32 %17553, ptr %17554, align 4, !tbaa !5
  %17555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17556 = load i32, ptr @test_count, align 4, !tbaa !5
  %17557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17558 = load i32, ptr %17557, align 4, !tbaa !5
  %17559 = call ptr @s2n_strerror(i32 noundef %17558, ptr noundef @.str.4)
  %17560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17561 = load i32, ptr %17560, align 4, !tbaa !5
  %17562 = call ptr @s2n_strerror_debug(i32 noundef %17561, ptr noundef @.str.4)
  %17563 = call ptr @__errno_location() #12
  %17564 = load i32, ptr %17563, align 4, !tbaa !5
  %17565 = call ptr @strerror(i32 noundef %17564) #11
  %17566 = call ptr @__errno_location() #12
  %17567 = load i32, ptr %17566, align 4, !tbaa !5
  %17568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17555, ptr noundef @.str.2, i32 noundef %17556, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 650, ptr noundef %17559, ptr noundef %17562, ptr noundef %17565, i32 noundef %17567) #11
  br label %17586

17569:                                            ; preds = %17547, %17540
  %17570 = load i32, ptr %356, align 4, !tbaa !5
  %17571 = call ptr @__errno_location() #12
  store i32 %17570, ptr %17571, align 4, !tbaa !5
  %17572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17573 = load i32, ptr @test_count, align 4, !tbaa !5
  %17574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17575 = load i32, ptr %17574, align 4, !tbaa !5
  %17576 = call ptr @s2n_strerror(i32 noundef %17575, ptr noundef @.str.4)
  %17577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17578 = load i32, ptr %17577, align 4, !tbaa !5
  %17579 = call ptr @s2n_strerror_debug(i32 noundef %17578, ptr noundef @.str.4)
  %17580 = call ptr @__errno_location() #12
  %17581 = load i32, ptr %17580, align 4, !tbaa !5
  %17582 = call ptr @strerror(i32 noundef %17581) #11
  %17583 = call ptr @__errno_location() #12
  %17584 = load i32, ptr %17583, align 4, !tbaa !5
  %17585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17572, ptr noundef @.str.5, i32 noundef %17573, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 650, ptr noundef %17576, ptr noundef %17579, ptr noundef %17582, i32 noundef %17584) #11
  br label %17586

17586:                                            ; preds = %17569, %17552
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #11
  br label %17587

17587:                                            ; preds = %17586
  br label %17588

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

17589:                                            ; No predecessors!
  br label %17590

17590:                                            ; preds = %17589
  br label %17591

17591:                                            ; preds = %17590, %17530
  br label %17592

17592:                                            ; preds = %17591
  br label %17593

17593:                                            ; preds = %17592
  br label %17594

17594:                                            ; preds = %17593
  %17595 = load i32, ptr @test_count, align 4, !tbaa !5
  %17596 = add nsw i32 %17595, 1
  store i32 %17596, ptr @test_count, align 4, !tbaa !5
  %17597 = load ptr, ptr %354, align 8, !tbaa !9
  %17598 = load i32, ptr %17597, align 8
  %17599 = lshr i32 %17598, 16
  %17600 = and i32 %17599, 1
  %17601 = icmp ne i32 %17600, 0
  br i1 %17601, label %17602, label %17655

17602:                                            ; preds = %17594
  br label %17603

17603:                                            ; preds = %17602
  br label %17604

17604:                                            ; preds = %17603
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #11
  %17605 = call ptr @__errno_location() #12
  %17606 = load i32, ptr %17605, align 4, !tbaa !5
  store i32 %17606, ptr %357, align 4, !tbaa !5
  %17607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17608 = call i32 @s2n_print_stacktrace(ptr noundef %17607)
  %17609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17610 = trunc i8 %17609 to i1
  br i1 %17610, label %17611, label %17633

17611:                                            ; preds = %17604
  %17612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17613 = call i32 @fileno(ptr noundef %17612) #11
  %17614 = call i32 @isatty(i32 noundef %17613) #11
  %17615 = icmp ne i32 %17614, 0
  br i1 %17615, label %17616, label %17633

17616:                                            ; preds = %17611
  %17617 = load i32, ptr %357, align 4, !tbaa !5
  %17618 = call ptr @__errno_location() #12
  store i32 %17617, ptr %17618, align 4, !tbaa !5
  %17619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17620 = load i32, ptr @test_count, align 4, !tbaa !5
  %17621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17622 = load i32, ptr %17621, align 4, !tbaa !5
  %17623 = call ptr @s2n_strerror(i32 noundef %17622, ptr noundef @.str.4)
  %17624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17625 = load i32, ptr %17624, align 4, !tbaa !5
  %17626 = call ptr @s2n_strerror_debug(i32 noundef %17625, ptr noundef @.str.4)
  %17627 = call ptr @__errno_location() #12
  %17628 = load i32, ptr %17627, align 4, !tbaa !5
  %17629 = call ptr @strerror(i32 noundef %17628) #11
  %17630 = call ptr @__errno_location() #12
  %17631 = load i32, ptr %17630, align 4, !tbaa !5
  %17632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17619, ptr noundef @.str.2, i32 noundef %17620, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 651, ptr noundef %17623, ptr noundef %17626, ptr noundef %17629, i32 noundef %17631) #11
  br label %17650

17633:                                            ; preds = %17611, %17604
  %17634 = load i32, ptr %357, align 4, !tbaa !5
  %17635 = call ptr @__errno_location() #12
  store i32 %17634, ptr %17635, align 4, !tbaa !5
  %17636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17637 = load i32, ptr @test_count, align 4, !tbaa !5
  %17638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17639 = load i32, ptr %17638, align 4, !tbaa !5
  %17640 = call ptr @s2n_strerror(i32 noundef %17639, ptr noundef @.str.4)
  %17641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17642 = load i32, ptr %17641, align 4, !tbaa !5
  %17643 = call ptr @s2n_strerror_debug(i32 noundef %17642, ptr noundef @.str.4)
  %17644 = call ptr @__errno_location() #12
  %17645 = load i32, ptr %17644, align 4, !tbaa !5
  %17646 = call ptr @strerror(i32 noundef %17645) #11
  %17647 = call ptr @__errno_location() #12
  %17648 = load i32, ptr %17647, align 4, !tbaa !5
  %17649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17636, ptr noundef @.str.5, i32 noundef %17637, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 651, ptr noundef %17640, ptr noundef %17643, ptr noundef %17646, i32 noundef %17648) #11
  br label %17650

17650:                                            ; preds = %17633, %17616
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #11
  br label %17651

17651:                                            ; preds = %17650
  br label %17652

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

17653:                                            ; No predecessors!
  br label %17654

17654:                                            ; preds = %17653
  br label %17655

17655:                                            ; preds = %17654, %17594
  br label %17656

17656:                                            ; preds = %17655
  br label %17657

17657:                                            ; preds = %17656
  call void @llvm.lifetime.start.p0(i64 8, ptr %358) #11
  %17658 = load i32, ptr %353, align 4, !tbaa !5
  %17659 = call ptr @s2n_connection_new(i32 noundef %17658)
  store ptr %17659, ptr %358, align 8, !tbaa !9
  br label %17660

17660:                                            ; preds = %17657
  %17661 = load i32, ptr @test_count, align 4, !tbaa !5
  %17662 = add nsw i32 %17661, 1
  store i32 %17662, ptr @test_count, align 4, !tbaa !5
  %17663 = load ptr, ptr %358, align 8, !tbaa !9
  %17664 = icmp eq ptr %17663, null
  br i1 %17664, label %17665, label %17718

17665:                                            ; preds = %17660
  br label %17666

17666:                                            ; preds = %17665
  br label %17667

17667:                                            ; preds = %17666
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #11
  %17668 = call ptr @__errno_location() #12
  %17669 = load i32, ptr %17668, align 4, !tbaa !5
  store i32 %17669, ptr %359, align 4, !tbaa !5
  %17670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17671 = call i32 @s2n_print_stacktrace(ptr noundef %17670)
  %17672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17673 = trunc i8 %17672 to i1
  br i1 %17673, label %17674, label %17696

17674:                                            ; preds = %17667
  %17675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17676 = call i32 @fileno(ptr noundef %17675) #11
  %17677 = call i32 @isatty(i32 noundef %17676) #11
  %17678 = icmp ne i32 %17677, 0
  br i1 %17678, label %17679, label %17696

17679:                                            ; preds = %17674
  %17680 = load i32, ptr %359, align 4, !tbaa !5
  %17681 = call ptr @__errno_location() #12
  store i32 %17680, ptr %17681, align 4, !tbaa !5
  %17682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17683 = load i32, ptr @test_count, align 4, !tbaa !5
  %17684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17685 = load i32, ptr %17684, align 4, !tbaa !5
  %17686 = call ptr @s2n_strerror(i32 noundef %17685, ptr noundef @.str.4)
  %17687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17688 = load i32, ptr %17687, align 4, !tbaa !5
  %17689 = call ptr @s2n_strerror_debug(i32 noundef %17688, ptr noundef @.str.4)
  %17690 = call ptr @__errno_location() #12
  %17691 = load i32, ptr %17690, align 4, !tbaa !5
  %17692 = call ptr @strerror(i32 noundef %17691) #11
  %17693 = call ptr @__errno_location() #12
  %17694 = load i32, ptr %17693, align 4, !tbaa !5
  %17695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17682, ptr noundef @.str.2, i32 noundef %17683, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 654, ptr noundef %17686, ptr noundef %17689, ptr noundef %17692, i32 noundef %17694) #11
  br label %17713

17696:                                            ; preds = %17674, %17667
  %17697 = load i32, ptr %359, align 4, !tbaa !5
  %17698 = call ptr @__errno_location() #12
  store i32 %17697, ptr %17698, align 4, !tbaa !5
  %17699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17700 = load i32, ptr @test_count, align 4, !tbaa !5
  %17701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17702 = load i32, ptr %17701, align 4, !tbaa !5
  %17703 = call ptr @s2n_strerror(i32 noundef %17702, ptr noundef @.str.4)
  %17704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17705 = load i32, ptr %17704, align 4, !tbaa !5
  %17706 = call ptr @s2n_strerror_debug(i32 noundef %17705, ptr noundef @.str.4)
  %17707 = call ptr @__errno_location() #12
  %17708 = load i32, ptr %17707, align 4, !tbaa !5
  %17709 = call ptr @strerror(i32 noundef %17708) #11
  %17710 = call ptr @__errno_location() #12
  %17711 = load i32, ptr %17710, align 4, !tbaa !5
  %17712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17699, ptr noundef @.str.5, i32 noundef %17700, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 654, ptr noundef %17703, ptr noundef %17706, ptr noundef %17709, i32 noundef %17711) #11
  br label %17713

17713:                                            ; preds = %17696, %17679
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #11
  br label %17714

17714:                                            ; preds = %17713
  br label %17715

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

17716:                                            ; No predecessors!
  br label %17717

17717:                                            ; preds = %17716
  br label %17718

17718:                                            ; preds = %17717, %17660
  br label %17719

17719:                                            ; preds = %17718
  br label %17720

17720:                                            ; preds = %17719
  br label %17721

17721:                                            ; preds = %17720
  %17722 = load i32, ptr @test_count, align 4, !tbaa !5
  %17723 = add nsw i32 %17722, 1
  store i32 %17723, ptr @test_count, align 4, !tbaa !5
  %17724 = load ptr, ptr %358, align 8, !tbaa !9
  %17725 = load ptr, ptr %354, align 8, !tbaa !9
  %17726 = call i32 @s2n_connection_set_config(ptr noundef %17724, ptr noundef %17725)
  %17727 = icmp eq i32 %17726, -1
  br i1 %17727, label %17728, label %17781

17728:                                            ; preds = %17721
  br label %17729

17729:                                            ; preds = %17728
  br label %17730

17730:                                            ; preds = %17729
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #11
  %17731 = call ptr @__errno_location() #12
  %17732 = load i32, ptr %17731, align 4, !tbaa !5
  store i32 %17732, ptr %360, align 4, !tbaa !5
  %17733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17734 = call i32 @s2n_print_stacktrace(ptr noundef %17733)
  %17735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17736 = trunc i8 %17735 to i1
  br i1 %17736, label %17737, label %17759

17737:                                            ; preds = %17730
  %17738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17739 = call i32 @fileno(ptr noundef %17738) #11
  %17740 = call i32 @isatty(i32 noundef %17739) #11
  %17741 = icmp ne i32 %17740, 0
  br i1 %17741, label %17742, label %17759

17742:                                            ; preds = %17737
  %17743 = load i32, ptr %360, align 4, !tbaa !5
  %17744 = call ptr @__errno_location() #12
  store i32 %17743, ptr %17744, align 4, !tbaa !5
  %17745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17746 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %17748, ptr noundef @.str.4)
  %17750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17751 = load i32, ptr %17750, align 4, !tbaa !5
  %17752 = call ptr @s2n_strerror_debug(i32 noundef %17751, ptr noundef @.str.4)
  %17753 = call ptr @__errno_location() #12
  %17754 = load i32, ptr %17753, align 4, !tbaa !5
  %17755 = call ptr @strerror(i32 noundef %17754) #11
  %17756 = call ptr @__errno_location() #12
  %17757 = load i32, ptr %17756, align 4, !tbaa !5
  %17758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17745, ptr noundef @.str.2, i32 noundef %17746, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 655, ptr noundef %17749, ptr noundef %17752, ptr noundef %17755, i32 noundef %17757) #11
  br label %17776

17759:                                            ; preds = %17737, %17730
  %17760 = load i32, ptr %360, align 4, !tbaa !5
  %17761 = call ptr @__errno_location() #12
  store i32 %17760, ptr %17761, align 4, !tbaa !5
  %17762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17763 = load i32, ptr @test_count, align 4, !tbaa !5
  %17764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17765 = load i32, ptr %17764, align 4, !tbaa !5
  %17766 = call ptr @s2n_strerror(i32 noundef %17765, ptr noundef @.str.4)
  %17767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17768 = load i32, ptr %17767, align 4, !tbaa !5
  %17769 = call ptr @s2n_strerror_debug(i32 noundef %17768, ptr noundef @.str.4)
  %17770 = call ptr @__errno_location() #12
  %17771 = load i32, ptr %17770, align 4, !tbaa !5
  %17772 = call ptr @strerror(i32 noundef %17771) #11
  %17773 = call ptr @__errno_location() #12
  %17774 = load i32, ptr %17773, align 4, !tbaa !5
  %17775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17762, ptr noundef @.str.5, i32 noundef %17763, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 655, ptr noundef %17766, ptr noundef %17769, ptr noundef %17772, i32 noundef %17774) #11
  br label %17776

17776:                                            ; preds = %17759, %17742
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #11
  br label %17777

17777:                                            ; preds = %17776
  br label %17778

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

17779:                                            ; No predecessors!
  br label %17780

17780:                                            ; preds = %17779
  br label %17781

17781:                                            ; preds = %17780, %17721
  br label %17782

17782:                                            ; preds = %17781
  br label %17783

17783:                                            ; preds = %17782
  br label %17784

17784:                                            ; preds = %17783
  %17785 = load i32, ptr @test_count, align 4, !tbaa !5
  %17786 = add nsw i32 %17785, 1
  store i32 %17786, ptr @test_count, align 4, !tbaa !5
  %17787 = load ptr, ptr %358, align 8, !tbaa !9
  %17788 = load i32, ptr %17787, align 8
  %17789 = lshr i32 %17788, 20
  %17790 = and i32 %17789, 1
  %17791 = icmp ne i32 %17790, 0
  br i1 %17791, label %17792, label %17845

17792:                                            ; preds = %17784
  br label %17793

17793:                                            ; preds = %17792
  br label %17794

17794:                                            ; preds = %17793
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #11
  %17795 = call ptr @__errno_location() #12
  %17796 = load i32, ptr %17795, align 4, !tbaa !5
  store i32 %17796, ptr %361, align 4, !tbaa !5
  %17797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17798 = call i32 @s2n_print_stacktrace(ptr noundef %17797)
  %17799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17800 = trunc i8 %17799 to i1
  br i1 %17800, label %17801, label %17823

17801:                                            ; preds = %17794
  %17802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17803 = call i32 @fileno(ptr noundef %17802) #11
  %17804 = call i32 @isatty(i32 noundef %17803) #11
  %17805 = icmp ne i32 %17804, 0
  br i1 %17805, label %17806, label %17823

17806:                                            ; preds = %17801
  %17807 = load i32, ptr %361, align 4, !tbaa !5
  %17808 = call ptr @__errno_location() #12
  store i32 %17807, ptr %17808, align 4, !tbaa !5
  %17809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17810 = load i32, ptr @test_count, align 4, !tbaa !5
  %17811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17812 = load i32, ptr %17811, align 4, !tbaa !5
  %17813 = call ptr @s2n_strerror(i32 noundef %17812, ptr noundef @.str.4)
  %17814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17815 = load i32, ptr %17814, align 4, !tbaa !5
  %17816 = call ptr @s2n_strerror_debug(i32 noundef %17815, ptr noundef @.str.4)
  %17817 = call ptr @__errno_location() #12
  %17818 = load i32, ptr %17817, align 4, !tbaa !5
  %17819 = call ptr @strerror(i32 noundef %17818) #11
  %17820 = call ptr @__errno_location() #12
  %17821 = load i32, ptr %17820, align 4, !tbaa !5
  %17822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17809, ptr noundef @.str.2, i32 noundef %17810, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 657, ptr noundef %17813, ptr noundef %17816, ptr noundef %17819, i32 noundef %17821) #11
  br label %17840

17823:                                            ; preds = %17801, %17794
  %17824 = load i32, ptr %361, align 4, !tbaa !5
  %17825 = call ptr @__errno_location() #12
  store i32 %17824, ptr %17825, align 4, !tbaa !5
  %17826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17827 = load i32, ptr @test_count, align 4, !tbaa !5
  %17828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17829 = load i32, ptr %17828, align 4, !tbaa !5
  %17830 = call ptr @s2n_strerror(i32 noundef %17829, ptr noundef @.str.4)
  %17831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17832 = load i32, ptr %17831, align 4, !tbaa !5
  %17833 = call ptr @s2n_strerror_debug(i32 noundef %17832, ptr noundef @.str.4)
  %17834 = call ptr @__errno_location() #12
  %17835 = load i32, ptr %17834, align 4, !tbaa !5
  %17836 = call ptr @strerror(i32 noundef %17835) #11
  %17837 = call ptr @__errno_location() #12
  %17838 = load i32, ptr %17837, align 4, !tbaa !5
  %17839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17826, ptr noundef @.str.5, i32 noundef %17827, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 657, ptr noundef %17830, ptr noundef %17833, ptr noundef %17836, i32 noundef %17838) #11
  br label %17840

17840:                                            ; preds = %17823, %17806
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #11
  br label %17841

17841:                                            ; preds = %17840
  br label %17842

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

17843:                                            ; No predecessors!
  br label %17844

17844:                                            ; preds = %17843
  br label %17845

17845:                                            ; preds = %17844, %17784
  br label %17846

17846:                                            ; preds = %17845
  br label %17847

17847:                                            ; preds = %17846
  %17848 = call i32 @s2n_connection_ptr_free(ptr noundef %358)
  %17849 = getelementptr inbounds %struct.s2n_result, ptr %362, i32 0, i32 0
  store i32 %17848, ptr %17849, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %358) #11
  %17850 = call i32 @s2n_config_ptr_free(ptr noundef %354)
  %17851 = getelementptr inbounds %struct.s2n_result, ptr %363, i32 0, i32 0
  store i32 %17850, ptr %17851, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %354) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %364) #11
  %17852 = call ptr @s2n_config_new()
  store ptr %17852, ptr %364, align 8, !tbaa !9
  br label %17853

17853:                                            ; preds = %17847
  %17854 = load i32, ptr @test_count, align 4, !tbaa !5
  %17855 = add nsw i32 %17854, 1
  store i32 %17855, ptr @test_count, align 4, !tbaa !5
  %17856 = load ptr, ptr %364, align 8, !tbaa !9
  %17857 = icmp eq ptr %17856, null
  br i1 %17857, label %17858, label %17911

17858:                                            ; preds = %17853
  br label %17859

17859:                                            ; preds = %17858
  br label %17860

17860:                                            ; preds = %17859
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #11
  %17861 = call ptr @__errno_location() #12
  %17862 = load i32, ptr %17861, align 4, !tbaa !5
  store i32 %17862, ptr %365, align 4, !tbaa !5
  %17863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17864 = call i32 @s2n_print_stacktrace(ptr noundef %17863)
  %17865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17866 = trunc i8 %17865 to i1
  br i1 %17866, label %17867, label %17889

17867:                                            ; preds = %17860
  %17868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17869 = call i32 @fileno(ptr noundef %17868) #11
  %17870 = call i32 @isatty(i32 noundef %17869) #11
  %17871 = icmp ne i32 %17870, 0
  br i1 %17871, label %17872, label %17889

17872:                                            ; preds = %17867
  %17873 = load i32, ptr %365, align 4, !tbaa !5
  %17874 = call ptr @__errno_location() #12
  store i32 %17873, ptr %17874, align 4, !tbaa !5
  %17875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17876 = load i32, ptr @test_count, align 4, !tbaa !5
  %17877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17878 = load i32, ptr %17877, align 4, !tbaa !5
  %17879 = call ptr @s2n_strerror(i32 noundef %17878, ptr noundef @.str.4)
  %17880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17881 = load i32, ptr %17880, align 4, !tbaa !5
  %17882 = call ptr @s2n_strerror_debug(i32 noundef %17881, ptr noundef @.str.4)
  %17883 = call ptr @__errno_location() #12
  %17884 = load i32, ptr %17883, align 4, !tbaa !5
  %17885 = call ptr @strerror(i32 noundef %17884) #11
  %17886 = call ptr @__errno_location() #12
  %17887 = load i32, ptr %17886, align 4, !tbaa !5
  %17888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17875, ptr noundef @.str.2, i32 noundef %17876, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 663, ptr noundef %17879, ptr noundef %17882, ptr noundef %17885, i32 noundef %17887) #11
  br label %17906

17889:                                            ; preds = %17867, %17860
  %17890 = load i32, ptr %365, align 4, !tbaa !5
  %17891 = call ptr @__errno_location() #12
  store i32 %17890, ptr %17891, align 4, !tbaa !5
  %17892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17893 = load i32, ptr @test_count, align 4, !tbaa !5
  %17894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17895 = load i32, ptr %17894, align 4, !tbaa !5
  %17896 = call ptr @s2n_strerror(i32 noundef %17895, ptr noundef @.str.4)
  %17897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17898 = load i32, ptr %17897, align 4, !tbaa !5
  %17899 = call ptr @s2n_strerror_debug(i32 noundef %17898, ptr noundef @.str.4)
  %17900 = call ptr @__errno_location() #12
  %17901 = load i32, ptr %17900, align 4, !tbaa !5
  %17902 = call ptr @strerror(i32 noundef %17901) #11
  %17903 = call ptr @__errno_location() #12
  %17904 = load i32, ptr %17903, align 4, !tbaa !5
  %17905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17892, ptr noundef @.str.5, i32 noundef %17893, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 663, ptr noundef %17896, ptr noundef %17899, ptr noundef %17902, i32 noundef %17904) #11
  br label %17906

17906:                                            ; preds = %17889, %17872
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #11
  br label %17907

17907:                                            ; preds = %17906
  br label %17908

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

17909:                                            ; No predecessors!
  br label %17910

17910:                                            ; preds = %17909
  br label %17911

17911:                                            ; preds = %17910, %17853
  br label %17912

17912:                                            ; preds = %17911
  br label %17913

17913:                                            ; preds = %17912
  br label %17914

17914:                                            ; preds = %17913
  %17915 = load i32, ptr @test_count, align 4, !tbaa !5
  %17916 = add nsw i32 %17915, 1
  store i32 %17916, ptr @test_count, align 4, !tbaa !5
  %17917 = load ptr, ptr %364, align 8, !tbaa !9
  %17918 = call i32 @s2n_config_set_status_request_type(ptr noundef %17917, i32 noundef 1)
  %17919 = icmp eq i32 %17918, -1
  br i1 %17919, label %17920, label %17973

17920:                                            ; preds = %17914
  br label %17921

17921:                                            ; preds = %17920
  br label %17922

17922:                                            ; preds = %17921
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #11
  %17923 = call ptr @__errno_location() #12
  %17924 = load i32, ptr %17923, align 4, !tbaa !5
  store i32 %17924, ptr %366, align 4, !tbaa !5
  %17925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17926 = call i32 @s2n_print_stacktrace(ptr noundef %17925)
  %17927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17928 = trunc i8 %17927 to i1
  br i1 %17928, label %17929, label %17951

17929:                                            ; preds = %17922
  %17930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17931 = call i32 @fileno(ptr noundef %17930) #11
  %17932 = call i32 @isatty(i32 noundef %17931) #11
  %17933 = icmp ne i32 %17932, 0
  br i1 %17933, label %17934, label %17951

17934:                                            ; preds = %17929
  %17935 = load i32, ptr %366, align 4, !tbaa !5
  %17936 = call ptr @__errno_location() #12
  store i32 %17935, ptr %17936, align 4, !tbaa !5
  %17937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17938 = load i32, ptr @test_count, align 4, !tbaa !5
  %17939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17940 = load i32, ptr %17939, align 4, !tbaa !5
  %17941 = call ptr @s2n_strerror(i32 noundef %17940, ptr noundef @.str.4)
  %17942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17943 = load i32, ptr %17942, align 4, !tbaa !5
  %17944 = call ptr @s2n_strerror_debug(i32 noundef %17943, ptr noundef @.str.4)
  %17945 = call ptr @__errno_location() #12
  %17946 = load i32, ptr %17945, align 4, !tbaa !5
  %17947 = call ptr @strerror(i32 noundef %17946) #11
  %17948 = call ptr @__errno_location() #12
  %17949 = load i32, ptr %17948, align 4, !tbaa !5
  %17950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17937, ptr noundef @.str.2, i32 noundef %17938, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 664, ptr noundef %17941, ptr noundef %17944, ptr noundef %17947, i32 noundef %17949) #11
  br label %17968

17951:                                            ; preds = %17929, %17922
  %17952 = load i32, ptr %366, align 4, !tbaa !5
  %17953 = call ptr @__errno_location() #12
  store i32 %17952, ptr %17953, align 4, !tbaa !5
  %17954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17955 = load i32, ptr @test_count, align 4, !tbaa !5
  %17956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17957 = load i32, ptr %17956, align 4, !tbaa !5
  %17958 = call ptr @s2n_strerror(i32 noundef %17957, ptr noundef @.str.4)
  %17959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17960 = load i32, ptr %17959, align 4, !tbaa !5
  %17961 = call ptr @s2n_strerror_debug(i32 noundef %17960, ptr noundef @.str.4)
  %17962 = call ptr @__errno_location() #12
  %17963 = load i32, ptr %17962, align 4, !tbaa !5
  %17964 = call ptr @strerror(i32 noundef %17963) #11
  %17965 = call ptr @__errno_location() #12
  %17966 = load i32, ptr %17965, align 4, !tbaa !5
  %17967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17954, ptr noundef @.str.5, i32 noundef %17955, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 664, ptr noundef %17958, ptr noundef %17961, ptr noundef %17964, i32 noundef %17966) #11
  br label %17968

17968:                                            ; preds = %17951, %17934
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #11
  br label %17969

17969:                                            ; preds = %17968
  br label %17970

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

17971:                                            ; No predecessors!
  br label %17972

17972:                                            ; preds = %17971
  br label %17973

17973:                                            ; preds = %17972, %17914
  br label %17974

17974:                                            ; preds = %17973
  br label %17975

17975:                                            ; preds = %17974
  br label %17976

17976:                                            ; preds = %17975
  %17977 = load i32, ptr @test_count, align 4, !tbaa !5
  %17978 = add nsw i32 %17977, 1
  store i32 %17978, ptr @test_count, align 4, !tbaa !5
  %17979 = load ptr, ptr %364, align 8, !tbaa !9
  %17980 = load i32, ptr %17979, align 8
  %17981 = lshr i32 %17980, 15
  %17982 = and i32 %17981, 1
  %17983 = icmp ne i32 %17982, 0
  br i1 %17983, label %18037, label %17984

17984:                                            ; preds = %17976
  br label %17985

17985:                                            ; preds = %17984
  br label %17986

17986:                                            ; preds = %17985
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #11
  %17987 = call ptr @__errno_location() #12
  %17988 = load i32, ptr %17987, align 4, !tbaa !5
  store i32 %17988, ptr %367, align 4, !tbaa !5
  %17989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17990 = call i32 @s2n_print_stacktrace(ptr noundef %17989)
  %17991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17992 = trunc i8 %17991 to i1
  br i1 %17992, label %17993, label %18015

17993:                                            ; preds = %17986
  %17994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17995 = call i32 @fileno(ptr noundef %17994) #11
  %17996 = call i32 @isatty(i32 noundef %17995) #11
  %17997 = icmp ne i32 %17996, 0
  br i1 %17997, label %17998, label %18015

17998:                                            ; preds = %17993
  %17999 = load i32, ptr %367, align 4, !tbaa !5
  %18000 = call ptr @__errno_location() #12
  store i32 %17999, ptr %18000, align 4, !tbaa !5
  %18001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18002 = load i32, ptr @test_count, align 4, !tbaa !5
  %18003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18004 = load i32, ptr %18003, align 4, !tbaa !5
  %18005 = call ptr @s2n_strerror(i32 noundef %18004, ptr noundef @.str.4)
  %18006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18007 = load i32, ptr %18006, align 4, !tbaa !5
  %18008 = call ptr @s2n_strerror_debug(i32 noundef %18007, ptr noundef @.str.4)
  %18009 = call ptr @__errno_location() #12
  %18010 = load i32, ptr %18009, align 4, !tbaa !5
  %18011 = call ptr @strerror(i32 noundef %18010) #11
  %18012 = call ptr @__errno_location() #12
  %18013 = load i32, ptr %18012, align 4, !tbaa !5
  %18014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18001, ptr noundef @.str.2, i32 noundef %18002, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 665, ptr noundef %18005, ptr noundef %18008, ptr noundef %18011, i32 noundef %18013) #11
  br label %18032

18015:                                            ; preds = %17993, %17986
  %18016 = load i32, ptr %367, align 4, !tbaa !5
  %18017 = call ptr @__errno_location() #12
  store i32 %18016, ptr %18017, align 4, !tbaa !5
  %18018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18019 = load i32, ptr @test_count, align 4, !tbaa !5
  %18020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18021 = load i32, ptr %18020, align 4, !tbaa !5
  %18022 = call ptr @s2n_strerror(i32 noundef %18021, ptr noundef @.str.4)
  %18023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18024 = load i32, ptr %18023, align 4, !tbaa !5
  %18025 = call ptr @s2n_strerror_debug(i32 noundef %18024, ptr noundef @.str.4)
  %18026 = call ptr @__errno_location() #12
  %18027 = load i32, ptr %18026, align 4, !tbaa !5
  %18028 = call ptr @strerror(i32 noundef %18027) #11
  %18029 = call ptr @__errno_location() #12
  %18030 = load i32, ptr %18029, align 4, !tbaa !5
  %18031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18018, ptr noundef @.str.5, i32 noundef %18019, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 665, ptr noundef %18022, ptr noundef %18025, ptr noundef %18028, i32 noundef %18030) #11
  br label %18032

18032:                                            ; preds = %18015, %17998
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #11
  br label %18033

18033:                                            ; preds = %18032
  br label %18034

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

18035:                                            ; No predecessors!
  br label %18036

18036:                                            ; preds = %18035
  br label %18037

18037:                                            ; preds = %18036, %17976
  br label %18038

18038:                                            ; preds = %18037
  br label %18039

18039:                                            ; preds = %18038
  br label %18040

18040:                                            ; preds = %18039
  %18041 = load i32, ptr @test_count, align 4, !tbaa !5
  %18042 = add nsw i32 %18041, 1
  store i32 %18042, ptr @test_count, align 4, !tbaa !5
  %18043 = load ptr, ptr %364, align 8, !tbaa !9
  %18044 = load i32, ptr %18043, align 8
  %18045 = lshr i32 %18044, 16
  %18046 = and i32 %18045, 1
  %18047 = icmp ne i32 %18046, 0
  br i1 %18047, label %18048, label %18101

18048:                                            ; preds = %18040
  br label %18049

18049:                                            ; preds = %18048
  br label %18050

18050:                                            ; preds = %18049
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #11
  %18051 = call ptr @__errno_location() #12
  %18052 = load i32, ptr %18051, align 4, !tbaa !5
  store i32 %18052, ptr %368, align 4, !tbaa !5
  %18053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18054 = call i32 @s2n_print_stacktrace(ptr noundef %18053)
  %18055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18056 = trunc i8 %18055 to i1
  br i1 %18056, label %18057, label %18079

18057:                                            ; preds = %18050
  %18058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18059 = call i32 @fileno(ptr noundef %18058) #11
  %18060 = call i32 @isatty(i32 noundef %18059) #11
  %18061 = icmp ne i32 %18060, 0
  br i1 %18061, label %18062, label %18079

18062:                                            ; preds = %18057
  %18063 = load i32, ptr %368, align 4, !tbaa !5
  %18064 = call ptr @__errno_location() #12
  store i32 %18063, ptr %18064, align 4, !tbaa !5
  %18065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18066 = load i32, ptr @test_count, align 4, !tbaa !5
  %18067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18068 = load i32, ptr %18067, align 4, !tbaa !5
  %18069 = call ptr @s2n_strerror(i32 noundef %18068, ptr noundef @.str.4)
  %18070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18071 = load i32, ptr %18070, align 4, !tbaa !5
  %18072 = call ptr @s2n_strerror_debug(i32 noundef %18071, ptr noundef @.str.4)
  %18073 = call ptr @__errno_location() #12
  %18074 = load i32, ptr %18073, align 4, !tbaa !5
  %18075 = call ptr @strerror(i32 noundef %18074) #11
  %18076 = call ptr @__errno_location() #12
  %18077 = load i32, ptr %18076, align 4, !tbaa !5
  %18078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18065, ptr noundef @.str.2, i32 noundef %18066, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 666, ptr noundef %18069, ptr noundef %18072, ptr noundef %18075, i32 noundef %18077) #11
  br label %18096

18079:                                            ; preds = %18057, %18050
  %18080 = load i32, ptr %368, align 4, !tbaa !5
  %18081 = call ptr @__errno_location() #12
  store i32 %18080, ptr %18081, align 4, !tbaa !5
  %18082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18083 = load i32, ptr @test_count, align 4, !tbaa !5
  %18084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18085 = load i32, ptr %18084, align 4, !tbaa !5
  %18086 = call ptr @s2n_strerror(i32 noundef %18085, ptr noundef @.str.4)
  %18087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18088 = load i32, ptr %18087, align 4, !tbaa !5
  %18089 = call ptr @s2n_strerror_debug(i32 noundef %18088, ptr noundef @.str.4)
  %18090 = call ptr @__errno_location() #12
  %18091 = load i32, ptr %18090, align 4, !tbaa !5
  %18092 = call ptr @strerror(i32 noundef %18091) #11
  %18093 = call ptr @__errno_location() #12
  %18094 = load i32, ptr %18093, align 4, !tbaa !5
  %18095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18082, ptr noundef @.str.5, i32 noundef %18083, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 666, ptr noundef %18086, ptr noundef %18089, ptr noundef %18092, i32 noundef %18094) #11
  br label %18096

18096:                                            ; preds = %18079, %18062
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #11
  br label %18097

18097:                                            ; preds = %18096
  br label %18098

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

18099:                                            ; No predecessors!
  br label %18100

18100:                                            ; preds = %18099
  br label %18101

18101:                                            ; preds = %18100, %18040
  br label %18102

18102:                                            ; preds = %18101
  br label %18103

18103:                                            ; preds = %18102
  call void @llvm.lifetime.start.p0(i64 8, ptr %369) #11
  %18104 = load i32, ptr %353, align 4, !tbaa !5
  %18105 = call ptr @s2n_connection_new(i32 noundef %18104)
  store ptr %18105, ptr %369, align 8, !tbaa !9
  br label %18106

18106:                                            ; preds = %18103
  %18107 = load i32, ptr @test_count, align 4, !tbaa !5
  %18108 = add nsw i32 %18107, 1
  store i32 %18108, ptr @test_count, align 4, !tbaa !5
  %18109 = load ptr, ptr %369, align 8, !tbaa !9
  %18110 = icmp eq ptr %18109, null
  br i1 %18110, label %18111, label %18164

18111:                                            ; preds = %18106
  br label %18112

18112:                                            ; preds = %18111
  br label %18113

18113:                                            ; preds = %18112
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #11
  %18114 = call ptr @__errno_location() #12
  %18115 = load i32, ptr %18114, align 4, !tbaa !5
  store i32 %18115, ptr %370, align 4, !tbaa !5
  %18116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18117 = call i32 @s2n_print_stacktrace(ptr noundef %18116)
  %18118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18119 = trunc i8 %18118 to i1
  br i1 %18119, label %18120, label %18142

18120:                                            ; preds = %18113
  %18121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18122 = call i32 @fileno(ptr noundef %18121) #11
  %18123 = call i32 @isatty(i32 noundef %18122) #11
  %18124 = icmp ne i32 %18123, 0
  br i1 %18124, label %18125, label %18142

18125:                                            ; preds = %18120
  %18126 = load i32, ptr %370, align 4, !tbaa !5
  %18127 = call ptr @__errno_location() #12
  store i32 %18126, ptr %18127, align 4, !tbaa !5
  %18128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18129 = load i32, ptr @test_count, align 4, !tbaa !5
  %18130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18131 = load i32, ptr %18130, align 4, !tbaa !5
  %18132 = call ptr @s2n_strerror(i32 noundef %18131, ptr noundef @.str.4)
  %18133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18134 = load i32, ptr %18133, align 4, !tbaa !5
  %18135 = call ptr @s2n_strerror_debug(i32 noundef %18134, ptr noundef @.str.4)
  %18136 = call ptr @__errno_location() #12
  %18137 = load i32, ptr %18136, align 4, !tbaa !5
  %18138 = call ptr @strerror(i32 noundef %18137) #11
  %18139 = call ptr @__errno_location() #12
  %18140 = load i32, ptr %18139, align 4, !tbaa !5
  %18141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18128, ptr noundef @.str.2, i32 noundef %18129, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 669, ptr noundef %18132, ptr noundef %18135, ptr noundef %18138, i32 noundef %18140) #11
  br label %18159

18142:                                            ; preds = %18120, %18113
  %18143 = load i32, ptr %370, align 4, !tbaa !5
  %18144 = call ptr @__errno_location() #12
  store i32 %18143, ptr %18144, align 4, !tbaa !5
  %18145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18146 = load i32, ptr @test_count, align 4, !tbaa !5
  %18147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18148 = load i32, ptr %18147, align 4, !tbaa !5
  %18149 = call ptr @s2n_strerror(i32 noundef %18148, ptr noundef @.str.4)
  %18150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18151 = load i32, ptr %18150, align 4, !tbaa !5
  %18152 = call ptr @s2n_strerror_debug(i32 noundef %18151, ptr noundef @.str.4)
  %18153 = call ptr @__errno_location() #12
  %18154 = load i32, ptr %18153, align 4, !tbaa !5
  %18155 = call ptr @strerror(i32 noundef %18154) #11
  %18156 = call ptr @__errno_location() #12
  %18157 = load i32, ptr %18156, align 4, !tbaa !5
  %18158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18145, ptr noundef @.str.5, i32 noundef %18146, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 669, ptr noundef %18149, ptr noundef %18152, ptr noundef %18155, i32 noundef %18157) #11
  br label %18159

18159:                                            ; preds = %18142, %18125
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #11
  br label %18160

18160:                                            ; preds = %18159
  br label %18161

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

18162:                                            ; No predecessors!
  br label %18163

18163:                                            ; preds = %18162
  br label %18164

18164:                                            ; preds = %18163, %18106
  br label %18165

18165:                                            ; preds = %18164
  br label %18166

18166:                                            ; preds = %18165
  br label %18167

18167:                                            ; preds = %18166
  %18168 = load i32, ptr @test_count, align 4, !tbaa !5
  %18169 = add nsw i32 %18168, 1
  store i32 %18169, ptr @test_count, align 4, !tbaa !5
  %18170 = load ptr, ptr %369, align 8, !tbaa !9
  %18171 = load ptr, ptr %364, align 8, !tbaa !9
  %18172 = call i32 @s2n_connection_set_config(ptr noundef %18170, ptr noundef %18171)
  %18173 = icmp eq i32 %18172, -1
  br i1 %18173, label %18174, label %18227

18174:                                            ; preds = %18167
  br label %18175

18175:                                            ; preds = %18174
  br label %18176

18176:                                            ; preds = %18175
  call void @llvm.lifetime.start.p0(i64 4, ptr %371) #11
  %18177 = call ptr @__errno_location() #12
  %18178 = load i32, ptr %18177, align 4, !tbaa !5
  store i32 %18178, ptr %371, align 4, !tbaa !5
  %18179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18180 = call i32 @s2n_print_stacktrace(ptr noundef %18179)
  %18181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18182 = trunc i8 %18181 to i1
  br i1 %18182, label %18183, label %18205

18183:                                            ; preds = %18176
  %18184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18185 = call i32 @fileno(ptr noundef %18184) #11
  %18186 = call i32 @isatty(i32 noundef %18185) #11
  %18187 = icmp ne i32 %18186, 0
  br i1 %18187, label %18188, label %18205

18188:                                            ; preds = %18183
  %18189 = load i32, ptr %371, align 4, !tbaa !5
  %18190 = call ptr @__errno_location() #12
  store i32 %18189, ptr %18190, align 4, !tbaa !5
  %18191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18192 = load i32, ptr @test_count, align 4, !tbaa !5
  %18193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18194 = load i32, ptr %18193, align 4, !tbaa !5
  %18195 = call ptr @s2n_strerror(i32 noundef %18194, ptr noundef @.str.4)
  %18196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18197 = load i32, ptr %18196, align 4, !tbaa !5
  %18198 = call ptr @s2n_strerror_debug(i32 noundef %18197, ptr noundef @.str.4)
  %18199 = call ptr @__errno_location() #12
  %18200 = load i32, ptr %18199, align 4, !tbaa !5
  %18201 = call ptr @strerror(i32 noundef %18200) #11
  %18202 = call ptr @__errno_location() #12
  %18203 = load i32, ptr %18202, align 4, !tbaa !5
  %18204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18191, ptr noundef @.str.2, i32 noundef %18192, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 670, ptr noundef %18195, ptr noundef %18198, ptr noundef %18201, i32 noundef %18203) #11
  br label %18222

18205:                                            ; preds = %18183, %18176
  %18206 = load i32, ptr %371, align 4, !tbaa !5
  %18207 = call ptr @__errno_location() #12
  store i32 %18206, ptr %18207, align 4, !tbaa !5
  %18208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18209 = load i32, ptr @test_count, align 4, !tbaa !5
  %18210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18211 = load i32, ptr %18210, align 4, !tbaa !5
  %18212 = call ptr @s2n_strerror(i32 noundef %18211, ptr noundef @.str.4)
  %18213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18214 = load i32, ptr %18213, align 4, !tbaa !5
  %18215 = call ptr @s2n_strerror_debug(i32 noundef %18214, ptr noundef @.str.4)
  %18216 = call ptr @__errno_location() #12
  %18217 = load i32, ptr %18216, align 4, !tbaa !5
  %18218 = call ptr @strerror(i32 noundef %18217) #11
  %18219 = call ptr @__errno_location() #12
  %18220 = load i32, ptr %18219, align 4, !tbaa !5
  %18221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18208, ptr noundef @.str.5, i32 noundef %18209, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 670, ptr noundef %18212, ptr noundef %18215, ptr noundef %18218, i32 noundef %18220) #11
  br label %18222

18222:                                            ; preds = %18205, %18188
  call void @llvm.lifetime.end.p0(i64 4, ptr %371) #11
  br label %18223

18223:                                            ; preds = %18222
  br label %18224

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

18225:                                            ; No predecessors!
  br label %18226

18226:                                            ; preds = %18225
  br label %18227

18227:                                            ; preds = %18226, %18167
  br label %18228

18228:                                            ; preds = %18227
  br label %18229

18229:                                            ; preds = %18228
  br label %18230

18230:                                            ; preds = %18229
  %18231 = load i32, ptr @test_count, align 4, !tbaa !5
  %18232 = add nsw i32 %18231, 1
  store i32 %18232, ptr @test_count, align 4, !tbaa !5
  %18233 = load ptr, ptr %369, align 8, !tbaa !9
  %18234 = load i32, ptr %18233, align 8
  %18235 = lshr i32 %18234, 20
  %18236 = and i32 %18235, 1
  %18237 = icmp ne i32 %18236, 0
  br i1 %18237, label %18291, label %18238

18238:                                            ; preds = %18230
  br label %18239

18239:                                            ; preds = %18238
  br label %18240

18240:                                            ; preds = %18239
  call void @llvm.lifetime.start.p0(i64 4, ptr %372) #11
  %18241 = call ptr @__errno_location() #12
  %18242 = load i32, ptr %18241, align 4, !tbaa !5
  store i32 %18242, ptr %372, align 4, !tbaa !5
  %18243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18244 = call i32 @s2n_print_stacktrace(ptr noundef %18243)
  %18245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18246 = trunc i8 %18245 to i1
  br i1 %18246, label %18247, label %18269

18247:                                            ; preds = %18240
  %18248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18249 = call i32 @fileno(ptr noundef %18248) #11
  %18250 = call i32 @isatty(i32 noundef %18249) #11
  %18251 = icmp ne i32 %18250, 0
  br i1 %18251, label %18252, label %18269

18252:                                            ; preds = %18247
  %18253 = load i32, ptr %372, align 4, !tbaa !5
  %18254 = call ptr @__errno_location() #12
  store i32 %18253, ptr %18254, align 4, !tbaa !5
  %18255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18256 = load i32, ptr @test_count, align 4, !tbaa !5
  %18257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18258 = load i32, ptr %18257, align 4, !tbaa !5
  %18259 = call ptr @s2n_strerror(i32 noundef %18258, ptr noundef @.str.4)
  %18260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18261 = load i32, ptr %18260, align 4, !tbaa !5
  %18262 = call ptr @s2n_strerror_debug(i32 noundef %18261, ptr noundef @.str.4)
  %18263 = call ptr @__errno_location() #12
  %18264 = load i32, ptr %18263, align 4, !tbaa !5
  %18265 = call ptr @strerror(i32 noundef %18264) #11
  %18266 = call ptr @__errno_location() #12
  %18267 = load i32, ptr %18266, align 4, !tbaa !5
  %18268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18255, ptr noundef @.str.2, i32 noundef %18256, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 672, ptr noundef %18259, ptr noundef %18262, ptr noundef %18265, i32 noundef %18267) #11
  br label %18286

18269:                                            ; preds = %18247, %18240
  %18270 = load i32, ptr %372, align 4, !tbaa !5
  %18271 = call ptr @__errno_location() #12
  store i32 %18270, ptr %18271, align 4, !tbaa !5
  %18272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18273 = load i32, ptr @test_count, align 4, !tbaa !5
  %18274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18275 = load i32, ptr %18274, align 4, !tbaa !5
  %18276 = call ptr @s2n_strerror(i32 noundef %18275, ptr noundef @.str.4)
  %18277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18278 = load i32, ptr %18277, align 4, !tbaa !5
  %18279 = call ptr @s2n_strerror_debug(i32 noundef %18278, ptr noundef @.str.4)
  %18280 = call ptr @__errno_location() #12
  %18281 = load i32, ptr %18280, align 4, !tbaa !5
  %18282 = call ptr @strerror(i32 noundef %18281) #11
  %18283 = call ptr @__errno_location() #12
  %18284 = load i32, ptr %18283, align 4, !tbaa !5
  %18285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18272, ptr noundef @.str.5, i32 noundef %18273, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 672, ptr noundef %18276, ptr noundef %18279, ptr noundef %18282, i32 noundef %18284) #11
  br label %18286

18286:                                            ; preds = %18269, %18252
  call void @llvm.lifetime.end.p0(i64 4, ptr %372) #11
  br label %18287

18287:                                            ; preds = %18286
  br label %18288

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

18289:                                            ; No predecessors!
  br label %18290

18290:                                            ; preds = %18289
  br label %18291

18291:                                            ; preds = %18290, %18230
  br label %18292

18292:                                            ; preds = %18291
  br label %18293

18293:                                            ; preds = %18292
  %18294 = call i32 @s2n_connection_ptr_free(ptr noundef %369)
  %18295 = getelementptr inbounds %struct.s2n_result, ptr %373, i32 0, i32 0
  store i32 %18294, ptr %18295, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %369) #11
  %18296 = call i32 @s2n_config_ptr_free(ptr noundef %364)
  %18297 = getelementptr inbounds %struct.s2n_result, ptr %374, i32 0, i32 0
  store i32 %18296, ptr %18297, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %364) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #11
  store i32 0, ptr %375, align 4, !tbaa !5
  br label %18298

18298:                                            ; preds = %19005, %18293
  %18299 = load i32, ptr %375, align 4, !tbaa !5
  %18300 = icmp slt i32 %18299, 3
  br i1 %18300, label %18302, label %18301

18301:                                            ; preds = %18298
  store i32 1755, ptr %352, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #11
  br label %19008

18302:                                            ; preds = %18298
  call void @llvm.lifetime.start.p0(i64 8, ptr %376) #11
  %18303 = call ptr @s2n_config_new()
  store ptr %18303, ptr %376, align 8, !tbaa !9
  br label %18304

18304:                                            ; preds = %18302
  %18305 = load i32, ptr @test_count, align 4, !tbaa !5
  %18306 = add nsw i32 %18305, 1
  store i32 %18306, ptr @test_count, align 4, !tbaa !5
  %18307 = load ptr, ptr %376, align 8, !tbaa !9
  %18308 = icmp eq ptr %18307, null
  br i1 %18308, label %18309, label %18362

18309:                                            ; preds = %18304
  br label %18310

18310:                                            ; preds = %18309
  br label %18311

18311:                                            ; preds = %18310
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #11
  %18312 = call ptr @__errno_location() #12
  %18313 = load i32, ptr %18312, align 4, !tbaa !5
  store i32 %18313, ptr %377, align 4, !tbaa !5
  %18314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18315 = call i32 @s2n_print_stacktrace(ptr noundef %18314)
  %18316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18317 = trunc i8 %18316 to i1
  br i1 %18317, label %18318, label %18340

18318:                                            ; preds = %18311
  %18319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18320 = call i32 @fileno(ptr noundef %18319) #11
  %18321 = call i32 @isatty(i32 noundef %18320) #11
  %18322 = icmp ne i32 %18321, 0
  br i1 %18322, label %18323, label %18340

18323:                                            ; preds = %18318
  %18324 = load i32, ptr %377, align 4, !tbaa !5
  %18325 = call ptr @__errno_location() #12
  store i32 %18324, ptr %18325, align 4, !tbaa !5
  %18326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18327 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18329, ptr noundef @.str.4)
  %18331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18332 = load i32, ptr %18331, align 4, !tbaa !5
  %18333 = call ptr @s2n_strerror_debug(i32 noundef %18332, ptr noundef @.str.4)
  %18334 = call ptr @__errno_location() #12
  %18335 = load i32, ptr %18334, align 4, !tbaa !5
  %18336 = call ptr @strerror(i32 noundef %18335) #11
  %18337 = call ptr @__errno_location() #12
  %18338 = load i32, ptr %18337, align 4, !tbaa !5
  %18339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18326, ptr noundef @.str.2, i32 noundef %18327, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 681, ptr noundef %18330, ptr noundef %18333, ptr noundef %18336, i32 noundef %18338) #11
  br label %18357

18340:                                            ; preds = %18318, %18311
  %18341 = load i32, ptr %377, align 4, !tbaa !5
  %18342 = call ptr @__errno_location() #12
  store i32 %18341, ptr %18342, align 4, !tbaa !5
  %18343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18344 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %18346, ptr noundef @.str.4)
  %18348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18349 = load i32, ptr %18348, align 4, !tbaa !5
  %18350 = call ptr @s2n_strerror_debug(i32 noundef %18349, ptr noundef @.str.4)
  %18351 = call ptr @__errno_location() #12
  %18352 = load i32, ptr %18351, align 4, !tbaa !5
  %18353 = call ptr @strerror(i32 noundef %18352) #11
  %18354 = call ptr @__errno_location() #12
  %18355 = load i32, ptr %18354, align 4, !tbaa !5
  %18356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18343, ptr noundef @.str.5, i32 noundef %18344, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 681, ptr noundef %18347, ptr noundef %18350, ptr noundef %18353, i32 noundef %18355) #11
  br label %18357

18357:                                            ; preds = %18340, %18323
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #11
  br label %18358

18358:                                            ; preds = %18357
  br label %18359

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

18360:                                            ; No predecessors!
  br label %18361

18361:                                            ; preds = %18360
  br label %18362

18362:                                            ; preds = %18361, %18304
  br label %18363

18363:                                            ; preds = %18362
  br label %18364

18364:                                            ; preds = %18363
  %18365 = load i32, ptr %375, align 4, !tbaa !5
  switch i32 %18365, label %18554 [
    i32 0, label %18366
    i32 1, label %18429
  ]

18366:                                            ; preds = %18364
  br label %18367

18367:                                            ; preds = %18366
  %18368 = load i32, ptr @test_count, align 4, !tbaa !5
  %18369 = add nsw i32 %18368, 1
  store i32 %18369, ptr @test_count, align 4, !tbaa !5
  %18370 = load ptr, ptr %376, align 8, !tbaa !9
  %18371 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %18370, ptr noundef @.str.15, ptr noundef null)
  %18372 = icmp eq i32 %18371, -1
  br i1 %18372, label %18373, label %18426

18373:                                            ; preds = %18367
  br label %18374

18374:                                            ; preds = %18373
  br label %18375

18375:                                            ; preds = %18374
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #11
  %18376 = call ptr @__errno_location() #12
  %18377 = load i32, ptr %18376, align 4, !tbaa !5
  store i32 %18377, ptr %378, align 4, !tbaa !5
  %18378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18379 = call i32 @s2n_print_stacktrace(ptr noundef %18378)
  %18380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18381 = trunc i8 %18380 to i1
  br i1 %18381, label %18382, label %18404

18382:                                            ; preds = %18375
  %18383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18384 = call i32 @fileno(ptr noundef %18383) #11
  %18385 = call i32 @isatty(i32 noundef %18384) #11
  %18386 = icmp ne i32 %18385, 0
  br i1 %18386, label %18387, label %18404

18387:                                            ; preds = %18382
  %18388 = load i32, ptr %378, align 4, !tbaa !5
  %18389 = call ptr @__errno_location() #12
  store i32 %18388, ptr %18389, align 4, !tbaa !5
  %18390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18391 = load i32, ptr @test_count, align 4, !tbaa !5
  %18392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18393 = load i32, ptr %18392, align 4, !tbaa !5
  %18394 = call ptr @s2n_strerror(i32 noundef %18393, ptr noundef @.str.4)
  %18395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18396 = load i32, ptr %18395, align 4, !tbaa !5
  %18397 = call ptr @s2n_strerror_debug(i32 noundef %18396, ptr noundef @.str.4)
  %18398 = call ptr @__errno_location() #12
  %18399 = load i32, ptr %18398, align 4, !tbaa !5
  %18400 = call ptr @strerror(i32 noundef %18399) #11
  %18401 = call ptr @__errno_location() #12
  %18402 = load i32, ptr %18401, align 4, !tbaa !5
  %18403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18390, ptr noundef @.str.2, i32 noundef %18391, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 685, ptr noundef %18394, ptr noundef %18397, ptr noundef %18400, i32 noundef %18402) #11
  br label %18421

18404:                                            ; preds = %18382, %18375
  %18405 = load i32, ptr %378, align 4, !tbaa !5
  %18406 = call ptr @__errno_location() #12
  store i32 %18405, ptr %18406, align 4, !tbaa !5
  %18407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18408 = load i32, ptr @test_count, align 4, !tbaa !5
  %18409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18410 = load i32, ptr %18409, align 4, !tbaa !5
  %18411 = call ptr @s2n_strerror(i32 noundef %18410, ptr noundef @.str.4)
  %18412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18413 = load i32, ptr %18412, align 4, !tbaa !5
  %18414 = call ptr @s2n_strerror_debug(i32 noundef %18413, ptr noundef @.str.4)
  %18415 = call ptr @__errno_location() #12
  %18416 = load i32, ptr %18415, align 4, !tbaa !5
  %18417 = call ptr @strerror(i32 noundef %18416) #11
  %18418 = call ptr @__errno_location() #12
  %18419 = load i32, ptr %18418, align 4, !tbaa !5
  %18420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18407, ptr noundef @.str.5, i32 noundef %18408, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 685, ptr noundef %18411, ptr noundef %18414, ptr noundef %18417, i32 noundef %18419) #11
  br label %18421

18421:                                            ; preds = %18404, %18387
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #11
  br label %18422

18422:                                            ; preds = %18421
  br label %18423

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

18424:                                            ; No predecessors!
  br label %18425

18425:                                            ; preds = %18424
  br label %18426

18426:                                            ; preds = %18425, %18367
  br label %18427

18427:                                            ; preds = %18426
  br label %18428

18428:                                            ; preds = %18427
  br label %18741

18429:                                            ; preds = %18364
  br label %18430

18430:                                            ; preds = %18429
  %18431 = load i32, ptr @test_count, align 4, !tbaa !5
  %18432 = add nsw i32 %18431, 1
  store i32 %18432, ptr @test_count, align 4, !tbaa !5
  %18433 = load ptr, ptr %376, align 8, !tbaa !9
  %18434 = call i32 @s2n_config_set_status_request_type(ptr noundef %18433, i32 noundef 0)
  %18435 = icmp eq i32 %18434, -1
  br i1 %18435, label %18436, label %18489

18436:                                            ; preds = %18430
  br label %18437

18437:                                            ; preds = %18436
  br label %18438

18438:                                            ; preds = %18437
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #11
  %18439 = call ptr @__errno_location() #12
  %18440 = load i32, ptr %18439, align 4, !tbaa !5
  store i32 %18440, ptr %379, align 4, !tbaa !5
  %18441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18442 = call i32 @s2n_print_stacktrace(ptr noundef %18441)
  %18443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18444 = trunc i8 %18443 to i1
  br i1 %18444, label %18445, label %18467

18445:                                            ; preds = %18438
  %18446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18447 = call i32 @fileno(ptr noundef %18446) #11
  %18448 = call i32 @isatty(i32 noundef %18447) #11
  %18449 = icmp ne i32 %18448, 0
  br i1 %18449, label %18450, label %18467

18450:                                            ; preds = %18445
  %18451 = load i32, ptr %379, align 4, !tbaa !5
  %18452 = call ptr @__errno_location() #12
  store i32 %18451, ptr %18452, align 4, !tbaa !5
  %18453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18454 = load i32, ptr @test_count, align 4, !tbaa !5
  %18455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18456 = load i32, ptr %18455, align 4, !tbaa !5
  %18457 = call ptr @s2n_strerror(i32 noundef %18456, ptr noundef @.str.4)
  %18458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18459 = load i32, ptr %18458, align 4, !tbaa !5
  %18460 = call ptr @s2n_strerror_debug(i32 noundef %18459, ptr noundef @.str.4)
  %18461 = call ptr @__errno_location() #12
  %18462 = load i32, ptr %18461, align 4, !tbaa !5
  %18463 = call ptr @strerror(i32 noundef %18462) #11
  %18464 = call ptr @__errno_location() #12
  %18465 = load i32, ptr %18464, align 4, !tbaa !5
  %18466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18453, ptr noundef @.str.2, i32 noundef %18454, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 691, ptr noundef %18457, ptr noundef %18460, ptr noundef %18463, i32 noundef %18465) #11
  br label %18484

18467:                                            ; preds = %18445, %18438
  %18468 = load i32, ptr %379, align 4, !tbaa !5
  %18469 = call ptr @__errno_location() #12
  store i32 %18468, ptr %18469, align 4, !tbaa !5
  %18470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18471 = load i32, ptr @test_count, align 4, !tbaa !5
  %18472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18473 = load i32, ptr %18472, align 4, !tbaa !5
  %18474 = call ptr @s2n_strerror(i32 noundef %18473, ptr noundef @.str.4)
  %18475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18476 = load i32, ptr %18475, align 4, !tbaa !5
  %18477 = call ptr @s2n_strerror_debug(i32 noundef %18476, ptr noundef @.str.4)
  %18478 = call ptr @__errno_location() #12
  %18479 = load i32, ptr %18478, align 4, !tbaa !5
  %18480 = call ptr @strerror(i32 noundef %18479) #11
  %18481 = call ptr @__errno_location() #12
  %18482 = load i32, ptr %18481, align 4, !tbaa !5
  %18483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18470, ptr noundef @.str.5, i32 noundef %18471, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 691, ptr noundef %18474, ptr noundef %18477, ptr noundef %18480, i32 noundef %18482) #11
  br label %18484

18484:                                            ; preds = %18467, %18450
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #11
  br label %18485

18485:                                            ; preds = %18484
  br label %18486

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

18487:                                            ; No predecessors!
  br label %18488

18488:                                            ; preds = %18487
  br label %18489

18489:                                            ; preds = %18488, %18430
  br label %18490

18490:                                            ; preds = %18489
  br label %18491

18491:                                            ; preds = %18490
  br label %18492

18492:                                            ; preds = %18491
  %18493 = load i32, ptr @test_count, align 4, !tbaa !5
  %18494 = add nsw i32 %18493, 1
  store i32 %18494, ptr @test_count, align 4, !tbaa !5
  %18495 = load ptr, ptr %376, align 8, !tbaa !9
  %18496 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %18495, ptr noundef @.str.15, ptr noundef null)
  %18497 = icmp eq i32 %18496, -1
  br i1 %18497, label %18498, label %18551

18498:                                            ; preds = %18492
  br label %18499

18499:                                            ; preds = %18498
  br label %18500

18500:                                            ; preds = %18499
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #11
  %18501 = call ptr @__errno_location() #12
  %18502 = load i32, ptr %18501, align 4, !tbaa !5
  store i32 %18502, ptr %380, align 4, !tbaa !5
  %18503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18504 = call i32 @s2n_print_stacktrace(ptr noundef %18503)
  %18505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18506 = trunc i8 %18505 to i1
  br i1 %18506, label %18507, label %18529

18507:                                            ; preds = %18500
  %18508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18509 = call i32 @fileno(ptr noundef %18508) #11
  %18510 = call i32 @isatty(i32 noundef %18509) #11
  %18511 = icmp ne i32 %18510, 0
  br i1 %18511, label %18512, label %18529

18512:                                            ; preds = %18507
  %18513 = load i32, ptr %380, align 4, !tbaa !5
  %18514 = call ptr @__errno_location() #12
  store i32 %18513, ptr %18514, align 4, !tbaa !5
  %18515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18516 = load i32, ptr @test_count, align 4, !tbaa !5
  %18517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18518 = load i32, ptr %18517, align 4, !tbaa !5
  %18519 = call ptr @s2n_strerror(i32 noundef %18518, ptr noundef @.str.4)
  %18520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18521 = load i32, ptr %18520, align 4, !tbaa !5
  %18522 = call ptr @s2n_strerror_debug(i32 noundef %18521, ptr noundef @.str.4)
  %18523 = call ptr @__errno_location() #12
  %18524 = load i32, ptr %18523, align 4, !tbaa !5
  %18525 = call ptr @strerror(i32 noundef %18524) #11
  %18526 = call ptr @__errno_location() #12
  %18527 = load i32, ptr %18526, align 4, !tbaa !5
  %18528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18515, ptr noundef @.str.2, i32 noundef %18516, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 692, ptr noundef %18519, ptr noundef %18522, ptr noundef %18525, i32 noundef %18527) #11
  br label %18546

18529:                                            ; preds = %18507, %18500
  %18530 = load i32, ptr %380, align 4, !tbaa !5
  %18531 = call ptr @__errno_location() #12
  store i32 %18530, ptr %18531, align 4, !tbaa !5
  %18532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18533 = load i32, ptr @test_count, align 4, !tbaa !5
  %18534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18535 = load i32, ptr %18534, align 4, !tbaa !5
  %18536 = call ptr @s2n_strerror(i32 noundef %18535, ptr noundef @.str.4)
  %18537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18538 = load i32, ptr %18537, align 4, !tbaa !5
  %18539 = call ptr @s2n_strerror_debug(i32 noundef %18538, ptr noundef @.str.4)
  %18540 = call ptr @__errno_location() #12
  %18541 = load i32, ptr %18540, align 4, !tbaa !5
  %18542 = call ptr @strerror(i32 noundef %18541) #11
  %18543 = call ptr @__errno_location() #12
  %18544 = load i32, ptr %18543, align 4, !tbaa !5
  %18545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18532, ptr noundef @.str.5, i32 noundef %18533, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 692, ptr noundef %18536, ptr noundef %18539, ptr noundef %18542, i32 noundef %18544) #11
  br label %18546

18546:                                            ; preds = %18529, %18512
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #11
  br label %18547

18547:                                            ; preds = %18546
  br label %18548

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

18549:                                            ; No predecessors!
  br label %18550

18550:                                            ; preds = %18549
  br label %18551

18551:                                            ; preds = %18550, %18492
  br label %18552

18552:                                            ; preds = %18551
  br label %18553

18553:                                            ; preds = %18552
  br label %18741

18554:                                            ; preds = %18364
  br label %18555

18555:                                            ; preds = %18554
  %18556 = load i32, ptr @test_count, align 4, !tbaa !5
  %18557 = add nsw i32 %18556, 1
  store i32 %18557, ptr @test_count, align 4, !tbaa !5
  %18558 = load ptr, ptr %376, align 8, !tbaa !9
  %18559 = call i32 @s2n_config_set_status_request_type(ptr noundef %18558, i32 noundef 1)
  %18560 = icmp eq i32 %18559, -1
  br i1 %18560, label %18561, label %18614

18561:                                            ; preds = %18555
  br label %18562

18562:                                            ; preds = %18561
  br label %18563

18563:                                            ; preds = %18562
  call void @llvm.lifetime.start.p0(i64 4, ptr %381) #11
  %18564 = call ptr @__errno_location() #12
  %18565 = load i32, ptr %18564, align 4, !tbaa !5
  store i32 %18565, ptr %381, align 4, !tbaa !5
  %18566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18567 = call i32 @s2n_print_stacktrace(ptr noundef %18566)
  %18568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18569 = trunc i8 %18568 to i1
  br i1 %18569, label %18570, label %18592

18570:                                            ; preds = %18563
  %18571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18572 = call i32 @fileno(ptr noundef %18571) #11
  %18573 = call i32 @isatty(i32 noundef %18572) #11
  %18574 = icmp ne i32 %18573, 0
  br i1 %18574, label %18575, label %18592

18575:                                            ; preds = %18570
  %18576 = load i32, ptr %381, align 4, !tbaa !5
  %18577 = call ptr @__errno_location() #12
  store i32 %18576, ptr %18577, align 4, !tbaa !5
  %18578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18579 = load i32, ptr @test_count, align 4, !tbaa !5
  %18580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18581 = load i32, ptr %18580, align 4, !tbaa !5
  %18582 = call ptr @s2n_strerror(i32 noundef %18581, ptr noundef @.str.4)
  %18583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18584 = load i32, ptr %18583, align 4, !tbaa !5
  %18585 = call ptr @s2n_strerror_debug(i32 noundef %18584, ptr noundef @.str.4)
  %18586 = call ptr @__errno_location() #12
  %18587 = load i32, ptr %18586, align 4, !tbaa !5
  %18588 = call ptr @strerror(i32 noundef %18587) #11
  %18589 = call ptr @__errno_location() #12
  %18590 = load i32, ptr %18589, align 4, !tbaa !5
  %18591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18578, ptr noundef @.str.2, i32 noundef %18579, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 695, ptr noundef %18582, ptr noundef %18585, ptr noundef %18588, i32 noundef %18590) #11
  br label %18609

18592:                                            ; preds = %18570, %18563
  %18593 = load i32, ptr %381, align 4, !tbaa !5
  %18594 = call ptr @__errno_location() #12
  store i32 %18593, ptr %18594, align 4, !tbaa !5
  %18595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18596 = load i32, ptr @test_count, align 4, !tbaa !5
  %18597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18598 = load i32, ptr %18597, align 4, !tbaa !5
  %18599 = call ptr @s2n_strerror(i32 noundef %18598, ptr noundef @.str.4)
  %18600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18601 = load i32, ptr %18600, align 4, !tbaa !5
  %18602 = call ptr @s2n_strerror_debug(i32 noundef %18601, ptr noundef @.str.4)
  %18603 = call ptr @__errno_location() #12
  %18604 = load i32, ptr %18603, align 4, !tbaa !5
  %18605 = call ptr @strerror(i32 noundef %18604) #11
  %18606 = call ptr @__errno_location() #12
  %18607 = load i32, ptr %18606, align 4, !tbaa !5
  %18608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18595, ptr noundef @.str.5, i32 noundef %18596, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 695, ptr noundef %18599, ptr noundef %18602, ptr noundef %18605, i32 noundef %18607) #11
  br label %18609

18609:                                            ; preds = %18592, %18575
  call void @llvm.lifetime.end.p0(i64 4, ptr %381) #11
  br label %18610

18610:                                            ; preds = %18609
  br label %18611

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

18612:                                            ; No predecessors!
  br label %18613

18613:                                            ; preds = %18612
  br label %18614

18614:                                            ; preds = %18613, %18555
  br label %18615

18615:                                            ; preds = %18614
  br label %18616

18616:                                            ; preds = %18615
  br label %18617

18617:                                            ; preds = %18616
  %18618 = load i32, ptr @test_count, align 4, !tbaa !5
  %18619 = add nsw i32 %18618, 1
  store i32 %18619, ptr @test_count, align 4, !tbaa !5
  %18620 = load ptr, ptr %376, align 8, !tbaa !9
  %18621 = call i32 @s2n_config_set_status_request_type(ptr noundef %18620, i32 noundef 0)
  %18622 = icmp eq i32 %18621, -1
  br i1 %18622, label %18623, label %18676

18623:                                            ; preds = %18617
  br label %18624

18624:                                            ; preds = %18623
  br label %18625

18625:                                            ; preds = %18624
  call void @llvm.lifetime.start.p0(i64 4, ptr %382) #11
  %18626 = call ptr @__errno_location() #12
  %18627 = load i32, ptr %18626, align 4, !tbaa !5
  store i32 %18627, ptr %382, align 4, !tbaa !5
  %18628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18629 = call i32 @s2n_print_stacktrace(ptr noundef %18628)
  %18630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18631 = trunc i8 %18630 to i1
  br i1 %18631, label %18632, label %18654

18632:                                            ; preds = %18625
  %18633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18634 = call i32 @fileno(ptr noundef %18633) #11
  %18635 = call i32 @isatty(i32 noundef %18634) #11
  %18636 = icmp ne i32 %18635, 0
  br i1 %18636, label %18637, label %18654

18637:                                            ; preds = %18632
  %18638 = load i32, ptr %382, align 4, !tbaa !5
  %18639 = call ptr @__errno_location() #12
  store i32 %18638, ptr %18639, align 4, !tbaa !5
  %18640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18641 = load i32, ptr @test_count, align 4, !tbaa !5
  %18642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18643 = load i32, ptr %18642, align 4, !tbaa !5
  %18644 = call ptr @s2n_strerror(i32 noundef %18643, ptr noundef @.str.4)
  %18645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18646 = load i32, ptr %18645, align 4, !tbaa !5
  %18647 = call ptr @s2n_strerror_debug(i32 noundef %18646, ptr noundef @.str.4)
  %18648 = call ptr @__errno_location() #12
  %18649 = load i32, ptr %18648, align 4, !tbaa !5
  %18650 = call ptr @strerror(i32 noundef %18649) #11
  %18651 = call ptr @__errno_location() #12
  %18652 = load i32, ptr %18651, align 4, !tbaa !5
  %18653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18640, ptr noundef @.str.2, i32 noundef %18641, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 696, ptr noundef %18644, ptr noundef %18647, ptr noundef %18650, i32 noundef %18652) #11
  br label %18671

18654:                                            ; preds = %18632, %18625
  %18655 = load i32, ptr %382, align 4, !tbaa !5
  %18656 = call ptr @__errno_location() #12
  store i32 %18655, ptr %18656, align 4, !tbaa !5
  %18657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18658 = load i32, ptr @test_count, align 4, !tbaa !5
  %18659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18660 = load i32, ptr %18659, align 4, !tbaa !5
  %18661 = call ptr @s2n_strerror(i32 noundef %18660, ptr noundef @.str.4)
  %18662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18663 = load i32, ptr %18662, align 4, !tbaa !5
  %18664 = call ptr @s2n_strerror_debug(i32 noundef %18663, ptr noundef @.str.4)
  %18665 = call ptr @__errno_location() #12
  %18666 = load i32, ptr %18665, align 4, !tbaa !5
  %18667 = call ptr @strerror(i32 noundef %18666) #11
  %18668 = call ptr @__errno_location() #12
  %18669 = load i32, ptr %18668, align 4, !tbaa !5
  %18670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18657, ptr noundef @.str.5, i32 noundef %18658, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 696, ptr noundef %18661, ptr noundef %18664, ptr noundef %18667, i32 noundef %18669) #11
  br label %18671

18671:                                            ; preds = %18654, %18637
  call void @llvm.lifetime.end.p0(i64 4, ptr %382) #11
  br label %18672

18672:                                            ; preds = %18671
  br label %18673

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

18674:                                            ; No predecessors!
  br label %18675

18675:                                            ; preds = %18674
  br label %18676

18676:                                            ; preds = %18675, %18617
  br label %18677

18677:                                            ; preds = %18676
  br label %18678

18678:                                            ; preds = %18677
  br label %18679

18679:                                            ; preds = %18678
  %18680 = load i32, ptr @test_count, align 4, !tbaa !5
  %18681 = add nsw i32 %18680, 1
  store i32 %18681, ptr @test_count, align 4, !tbaa !5
  %18682 = load ptr, ptr %376, align 8, !tbaa !9
  %18683 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %18682, ptr noundef @.str.15, ptr noundef null)
  %18684 = icmp eq i32 %18683, -1
  br i1 %18684, label %18685, label %18738

18685:                                            ; preds = %18679
  br label %18686

18686:                                            ; preds = %18685
  br label %18687

18687:                                            ; preds = %18686
  call void @llvm.lifetime.start.p0(i64 4, ptr %383) #11
  %18688 = call ptr @__errno_location() #12
  %18689 = load i32, ptr %18688, align 4, !tbaa !5
  store i32 %18689, ptr %383, align 4, !tbaa !5
  %18690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18691 = call i32 @s2n_print_stacktrace(ptr noundef %18690)
  %18692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18693 = trunc i8 %18692 to i1
  br i1 %18693, label %18694, label %18716

18694:                                            ; preds = %18687
  %18695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18696 = call i32 @fileno(ptr noundef %18695) #11
  %18697 = call i32 @isatty(i32 noundef %18696) #11
  %18698 = icmp ne i32 %18697, 0
  br i1 %18698, label %18699, label %18716

18699:                                            ; preds = %18694
  %18700 = load i32, ptr %383, align 4, !tbaa !5
  %18701 = call ptr @__errno_location() #12
  store i32 %18700, ptr %18701, align 4, !tbaa !5
  %18702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18703 = load i32, ptr @test_count, align 4, !tbaa !5
  %18704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18705 = load i32, ptr %18704, align 4, !tbaa !5
  %18706 = call ptr @s2n_strerror(i32 noundef %18705, ptr noundef @.str.4)
  %18707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18708 = load i32, ptr %18707, align 4, !tbaa !5
  %18709 = call ptr @s2n_strerror_debug(i32 noundef %18708, ptr noundef @.str.4)
  %18710 = call ptr @__errno_location() #12
  %18711 = load i32, ptr %18710, align 4, !tbaa !5
  %18712 = call ptr @strerror(i32 noundef %18711) #11
  %18713 = call ptr @__errno_location() #12
  %18714 = load i32, ptr %18713, align 4, !tbaa !5
  %18715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18702, ptr noundef @.str.2, i32 noundef %18703, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 697, ptr noundef %18706, ptr noundef %18709, ptr noundef %18712, i32 noundef %18714) #11
  br label %18733

18716:                                            ; preds = %18694, %18687
  %18717 = load i32, ptr %383, align 4, !tbaa !5
  %18718 = call ptr @__errno_location() #12
  store i32 %18717, ptr %18718, align 4, !tbaa !5
  %18719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18720 = load i32, ptr @test_count, align 4, !tbaa !5
  %18721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18722 = load i32, ptr %18721, align 4, !tbaa !5
  %18723 = call ptr @s2n_strerror(i32 noundef %18722, ptr noundef @.str.4)
  %18724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18725 = load i32, ptr %18724, align 4, !tbaa !5
  %18726 = call ptr @s2n_strerror_debug(i32 noundef %18725, ptr noundef @.str.4)
  %18727 = call ptr @__errno_location() #12
  %18728 = load i32, ptr %18727, align 4, !tbaa !5
  %18729 = call ptr @strerror(i32 noundef %18728) #11
  %18730 = call ptr @__errno_location() #12
  %18731 = load i32, ptr %18730, align 4, !tbaa !5
  %18732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18719, ptr noundef @.str.5, i32 noundef %18720, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 697, ptr noundef %18723, ptr noundef %18726, ptr noundef %18729, i32 noundef %18731) #11
  br label %18733

18733:                                            ; preds = %18716, %18699
  call void @llvm.lifetime.end.p0(i64 4, ptr %383) #11
  br label %18734

18734:                                            ; preds = %18733
  br label %18735

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

18736:                                            ; No predecessors!
  br label %18737

18737:                                            ; preds = %18736
  br label %18738

18738:                                            ; preds = %18737, %18679
  br label %18739

18739:                                            ; preds = %18738
  br label %18740

18740:                                            ; preds = %18739
  br label %18741

18741:                                            ; preds = %18740, %18553, %18428
  call void @llvm.lifetime.start.p0(i64 8, ptr %384) #11
  %18742 = load i32, ptr %353, align 4, !tbaa !5
  %18743 = call ptr @s2n_connection_new(i32 noundef %18742)
  store ptr %18743, ptr %384, align 8, !tbaa !9
  br label %18744

18744:                                            ; preds = %18741
  %18745 = load i32, ptr @test_count, align 4, !tbaa !5
  %18746 = add nsw i32 %18745, 1
  store i32 %18746, ptr @test_count, align 4, !tbaa !5
  %18747 = load ptr, ptr %384, align 8, !tbaa !9
  %18748 = icmp eq ptr %18747, null
  br i1 %18748, label %18749, label %18802

18749:                                            ; preds = %18744
  br label %18750

18750:                                            ; preds = %18749
  br label %18751

18751:                                            ; preds = %18750
  call void @llvm.lifetime.start.p0(i64 4, ptr %385) #11
  %18752 = call ptr @__errno_location() #12
  %18753 = load i32, ptr %18752, align 4, !tbaa !5
  store i32 %18753, ptr %385, align 4, !tbaa !5
  %18754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18755 = call i32 @s2n_print_stacktrace(ptr noundef %18754)
  %18756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18757 = trunc i8 %18756 to i1
  br i1 %18757, label %18758, label %18780

18758:                                            ; preds = %18751
  %18759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18760 = call i32 @fileno(ptr noundef %18759) #11
  %18761 = call i32 @isatty(i32 noundef %18760) #11
  %18762 = icmp ne i32 %18761, 0
  br i1 %18762, label %18763, label %18780

18763:                                            ; preds = %18758
  %18764 = load i32, ptr %385, align 4, !tbaa !5
  %18765 = call ptr @__errno_location() #12
  store i32 %18764, ptr %18765, align 4, !tbaa !5
  %18766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18767 = load i32, ptr @test_count, align 4, !tbaa !5
  %18768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18769 = load i32, ptr %18768, align 4, !tbaa !5
  %18770 = call ptr @s2n_strerror(i32 noundef %18769, ptr noundef @.str.4)
  %18771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18772 = load i32, ptr %18771, align 4, !tbaa !5
  %18773 = call ptr @s2n_strerror_debug(i32 noundef %18772, ptr noundef @.str.4)
  %18774 = call ptr @__errno_location() #12
  %18775 = load i32, ptr %18774, align 4, !tbaa !5
  %18776 = call ptr @strerror(i32 noundef %18775) #11
  %18777 = call ptr @__errno_location() #12
  %18778 = load i32, ptr %18777, align 4, !tbaa !5
  %18779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18766, ptr noundef @.str.2, i32 noundef %18767, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 702, ptr noundef %18770, ptr noundef %18773, ptr noundef %18776, i32 noundef %18778) #11
  br label %18797

18780:                                            ; preds = %18758, %18751
  %18781 = load i32, ptr %385, align 4, !tbaa !5
  %18782 = call ptr @__errno_location() #12
  store i32 %18781, ptr %18782, align 4, !tbaa !5
  %18783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18784 = load i32, ptr @test_count, align 4, !tbaa !5
  %18785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18786 = load i32, ptr %18785, align 4, !tbaa !5
  %18787 = call ptr @s2n_strerror(i32 noundef %18786, ptr noundef @.str.4)
  %18788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18789 = load i32, ptr %18788, align 4, !tbaa !5
  %18790 = call ptr @s2n_strerror_debug(i32 noundef %18789, ptr noundef @.str.4)
  %18791 = call ptr @__errno_location() #12
  %18792 = load i32, ptr %18791, align 4, !tbaa !5
  %18793 = call ptr @strerror(i32 noundef %18792) #11
  %18794 = call ptr @__errno_location() #12
  %18795 = load i32, ptr %18794, align 4, !tbaa !5
  %18796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18783, ptr noundef @.str.5, i32 noundef %18784, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 702, ptr noundef %18787, ptr noundef %18790, ptr noundef %18793, i32 noundef %18795) #11
  br label %18797

18797:                                            ; preds = %18780, %18763
  call void @llvm.lifetime.end.p0(i64 4, ptr %385) #11
  br label %18798

18798:                                            ; preds = %18797
  br label %18799

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

18800:                                            ; No predecessors!
  br label %18801

18801:                                            ; preds = %18800
  br label %18802

18802:                                            ; preds = %18801, %18744
  br label %18803

18803:                                            ; preds = %18802
  br label %18804

18804:                                            ; preds = %18803
  br label %18805

18805:                                            ; preds = %18804
  %18806 = load i32, ptr @test_count, align 4, !tbaa !5
  %18807 = add nsw i32 %18806, 1
  store i32 %18807, ptr @test_count, align 4, !tbaa !5
  %18808 = load ptr, ptr %384, align 8, !tbaa !9
  %18809 = load ptr, ptr %376, align 8, !tbaa !9
  %18810 = call i32 @s2n_connection_set_config(ptr noundef %18808, ptr noundef %18809)
  %18811 = icmp eq i32 %18810, -1
  br i1 %18811, label %18812, label %18865

18812:                                            ; preds = %18805
  br label %18813

18813:                                            ; preds = %18812
  br label %18814

18814:                                            ; preds = %18813
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #11
  %18815 = call ptr @__errno_location() #12
  %18816 = load i32, ptr %18815, align 4, !tbaa !5
  store i32 %18816, ptr %386, align 4, !tbaa !5
  %18817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18818 = call i32 @s2n_print_stacktrace(ptr noundef %18817)
  %18819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18820 = trunc i8 %18819 to i1
  br i1 %18820, label %18821, label %18843

18821:                                            ; preds = %18814
  %18822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18823 = call i32 @fileno(ptr noundef %18822) #11
  %18824 = call i32 @isatty(i32 noundef %18823) #11
  %18825 = icmp ne i32 %18824, 0
  br i1 %18825, label %18826, label %18843

18826:                                            ; preds = %18821
  %18827 = load i32, ptr %386, align 4, !tbaa !5
  %18828 = call ptr @__errno_location() #12
  store i32 %18827, ptr %18828, align 4, !tbaa !5
  %18829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18830 = load i32, ptr @test_count, align 4, !tbaa !5
  %18831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18832 = load i32, ptr %18831, align 4, !tbaa !5
  %18833 = call ptr @s2n_strerror(i32 noundef %18832, ptr noundef @.str.4)
  %18834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18835 = load i32, ptr %18834, align 4, !tbaa !5
  %18836 = call ptr @s2n_strerror_debug(i32 noundef %18835, ptr noundef @.str.4)
  %18837 = call ptr @__errno_location() #12
  %18838 = load i32, ptr %18837, align 4, !tbaa !5
  %18839 = call ptr @strerror(i32 noundef %18838) #11
  %18840 = call ptr @__errno_location() #12
  %18841 = load i32, ptr %18840, align 4, !tbaa !5
  %18842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18829, ptr noundef @.str.2, i32 noundef %18830, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 703, ptr noundef %18833, ptr noundef %18836, ptr noundef %18839, i32 noundef %18841) #11
  br label %18860

18843:                                            ; preds = %18821, %18814
  %18844 = load i32, ptr %386, align 4, !tbaa !5
  %18845 = call ptr @__errno_location() #12
  store i32 %18844, ptr %18845, align 4, !tbaa !5
  %18846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18847 = load i32, ptr @test_count, align 4, !tbaa !5
  %18848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18849 = load i32, ptr %18848, align 4, !tbaa !5
  %18850 = call ptr @s2n_strerror(i32 noundef %18849, ptr noundef @.str.4)
  %18851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18852 = load i32, ptr %18851, align 4, !tbaa !5
  %18853 = call ptr @s2n_strerror_debug(i32 noundef %18852, ptr noundef @.str.4)
  %18854 = call ptr @__errno_location() #12
  %18855 = load i32, ptr %18854, align 4, !tbaa !5
  %18856 = call ptr @strerror(i32 noundef %18855) #11
  %18857 = call ptr @__errno_location() #12
  %18858 = load i32, ptr %18857, align 4, !tbaa !5
  %18859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18846, ptr noundef @.str.5, i32 noundef %18847, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 703, ptr noundef %18850, ptr noundef %18853, ptr noundef %18856, i32 noundef %18858) #11
  br label %18860

18860:                                            ; preds = %18843, %18826
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #11
  br label %18861

18861:                                            ; preds = %18860
  br label %18862

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

18863:                                            ; No predecessors!
  br label %18864

18864:                                            ; preds = %18863
  br label %18865

18865:                                            ; preds = %18864, %18805
  br label %18866

18866:                                            ; preds = %18865
  br label %18867

18867:                                            ; preds = %18866
  %18868 = load i32, ptr %353, align 4, !tbaa !5
  %18869 = icmp eq i32 %18868, 1
  br i1 %18869, label %18870, label %18935

18870:                                            ; preds = %18867
  br label %18871

18871:                                            ; preds = %18870
  %18872 = load i32, ptr @test_count, align 4, !tbaa !5
  %18873 = add nsw i32 %18872, 1
  store i32 %18873, ptr @test_count, align 4, !tbaa !5
  %18874 = load ptr, ptr %384, align 8, !tbaa !9
  %18875 = load i32, ptr %18874, align 8
  %18876 = lshr i32 %18875, 20
  %18877 = and i32 %18876, 1
  %18878 = icmp ne i32 %18877, 0
  br i1 %18878, label %18932, label %18879

18879:                                            ; preds = %18871
  br label %18880

18880:                                            ; preds = %18879
  br label %18881

18881:                                            ; preds = %18880
  call void @llvm.lifetime.start.p0(i64 4, ptr %387) #11
  %18882 = call ptr @__errno_location() #12
  %18883 = load i32, ptr %18882, align 4, !tbaa !5
  store i32 %18883, ptr %387, align 4, !tbaa !5
  %18884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18885 = call i32 @s2n_print_stacktrace(ptr noundef %18884)
  %18886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18887 = trunc i8 %18886 to i1
  br i1 %18887, label %18888, label %18910

18888:                                            ; preds = %18881
  %18889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18890 = call i32 @fileno(ptr noundef %18889) #11
  %18891 = call i32 @isatty(i32 noundef %18890) #11
  %18892 = icmp ne i32 %18891, 0
  br i1 %18892, label %18893, label %18910

18893:                                            ; preds = %18888
  %18894 = load i32, ptr %387, align 4, !tbaa !5
  %18895 = call ptr @__errno_location() #12
  store i32 %18894, ptr %18895, align 4, !tbaa !5
  %18896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18897 = load i32, ptr @test_count, align 4, !tbaa !5
  %18898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18899 = load i32, ptr %18898, align 4, !tbaa !5
  %18900 = call ptr @s2n_strerror(i32 noundef %18899, ptr noundef @.str.4)
  %18901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18902 = load i32, ptr %18901, align 4, !tbaa !5
  %18903 = call ptr @s2n_strerror_debug(i32 noundef %18902, ptr noundef @.str.4)
  %18904 = call ptr @__errno_location() #12
  %18905 = load i32, ptr %18904, align 4, !tbaa !5
  %18906 = call ptr @strerror(i32 noundef %18905) #11
  %18907 = call ptr @__errno_location() #12
  %18908 = load i32, ptr %18907, align 4, !tbaa !5
  %18909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18896, ptr noundef @.str.2, i32 noundef %18897, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 706, ptr noundef %18900, ptr noundef %18903, ptr noundef %18906, i32 noundef %18908) #11
  br label %18927

18910:                                            ; preds = %18888, %18881
  %18911 = load i32, ptr %387, align 4, !tbaa !5
  %18912 = call ptr @__errno_location() #12
  store i32 %18911, ptr %18912, align 4, !tbaa !5
  %18913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18914 = load i32, ptr @test_count, align 4, !tbaa !5
  %18915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18916 = load i32, ptr %18915, align 4, !tbaa !5
  %18917 = call ptr @s2n_strerror(i32 noundef %18916, ptr noundef @.str.4)
  %18918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18919 = load i32, ptr %18918, align 4, !tbaa !5
  %18920 = call ptr @s2n_strerror_debug(i32 noundef %18919, ptr noundef @.str.4)
  %18921 = call ptr @__errno_location() #12
  %18922 = load i32, ptr %18921, align 4, !tbaa !5
  %18923 = call ptr @strerror(i32 noundef %18922) #11
  %18924 = call ptr @__errno_location() #12
  %18925 = load i32, ptr %18924, align 4, !tbaa !5
  %18926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18913, ptr noundef @.str.5, i32 noundef %18914, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 706, ptr noundef %18917, ptr noundef %18920, ptr noundef %18923, i32 noundef %18925) #11
  br label %18927

18927:                                            ; preds = %18910, %18893
  call void @llvm.lifetime.end.p0(i64 4, ptr %387) #11
  br label %18928

18928:                                            ; preds = %18927
  br label %18929

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

18930:                                            ; No predecessors!
  br label %18931

18931:                                            ; preds = %18930
  br label %18932

18932:                                            ; preds = %18931, %18871
  br label %18933

18933:                                            ; preds = %18932
  br label %18934

18934:                                            ; preds = %18933
  br label %19000

18935:                                            ; preds = %18867
  br label %18936

18936:                                            ; preds = %18935
  %18937 = load i32, ptr @test_count, align 4, !tbaa !5
  %18938 = add nsw i32 %18937, 1
  store i32 %18938, ptr @test_count, align 4, !tbaa !5
  %18939 = load ptr, ptr %384, align 8, !tbaa !9
  %18940 = load i32, ptr %18939, align 8
  %18941 = lshr i32 %18940, 20
  %18942 = and i32 %18941, 1
  %18943 = icmp ne i32 %18942, 0
  br i1 %18943, label %18944, label %18997

18944:                                            ; preds = %18936
  br label %18945

18945:                                            ; preds = %18944
  br label %18946

18946:                                            ; preds = %18945
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #11
  %18947 = call ptr @__errno_location() #12
  %18948 = load i32, ptr %18947, align 4, !tbaa !5
  store i32 %18948, ptr %388, align 4, !tbaa !5
  %18949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18950 = call i32 @s2n_print_stacktrace(ptr noundef %18949)
  %18951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18952 = trunc i8 %18951 to i1
  br i1 %18952, label %18953, label %18975

18953:                                            ; preds = %18946
  %18954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18955 = call i32 @fileno(ptr noundef %18954) #11
  %18956 = call i32 @isatty(i32 noundef %18955) #11
  %18957 = icmp ne i32 %18956, 0
  br i1 %18957, label %18958, label %18975

18958:                                            ; preds = %18953
  %18959 = load i32, ptr %388, align 4, !tbaa !5
  %18960 = call ptr @__errno_location() #12
  store i32 %18959, ptr %18960, align 4, !tbaa !5
  %18961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18962 = load i32, ptr @test_count, align 4, !tbaa !5
  %18963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18964 = load i32, ptr %18963, align 4, !tbaa !5
  %18965 = call ptr @s2n_strerror(i32 noundef %18964, ptr noundef @.str.4)
  %18966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18967 = load i32, ptr %18966, align 4, !tbaa !5
  %18968 = call ptr @s2n_strerror_debug(i32 noundef %18967, ptr noundef @.str.4)
  %18969 = call ptr @__errno_location() #12
  %18970 = load i32, ptr %18969, align 4, !tbaa !5
  %18971 = call ptr @strerror(i32 noundef %18970) #11
  %18972 = call ptr @__errno_location() #12
  %18973 = load i32, ptr %18972, align 4, !tbaa !5
  %18974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18961, ptr noundef @.str.2, i32 noundef %18962, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 708, ptr noundef %18965, ptr noundef %18968, ptr noundef %18971, i32 noundef %18973) #11
  br label %18992

18975:                                            ; preds = %18953, %18946
  %18976 = load i32, ptr %388, align 4, !tbaa !5
  %18977 = call ptr @__errno_location() #12
  store i32 %18976, ptr %18977, align 4, !tbaa !5
  %18978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18979 = load i32, ptr @test_count, align 4, !tbaa !5
  %18980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18981 = load i32, ptr %18980, align 4, !tbaa !5
  %18982 = call ptr @s2n_strerror(i32 noundef %18981, ptr noundef @.str.4)
  %18983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18984 = load i32, ptr %18983, align 4, !tbaa !5
  %18985 = call ptr @s2n_strerror_debug(i32 noundef %18984, ptr noundef @.str.4)
  %18986 = call ptr @__errno_location() #12
  %18987 = load i32, ptr %18986, align 4, !tbaa !5
  %18988 = call ptr @strerror(i32 noundef %18987) #11
  %18989 = call ptr @__errno_location() #12
  %18990 = load i32, ptr %18989, align 4, !tbaa !5
  %18991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18978, ptr noundef @.str.5, i32 noundef %18979, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 708, ptr noundef %18982, ptr noundef %18985, ptr noundef %18988, i32 noundef %18990) #11
  br label %18992

18992:                                            ; preds = %18975, %18958
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #11
  br label %18993

18993:                                            ; preds = %18992
  br label %18994

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

18995:                                            ; No predecessors!
  br label %18996

18996:                                            ; preds = %18995
  br label %18997

18997:                                            ; preds = %18996, %18936
  br label %18998

18998:                                            ; preds = %18997
  br label %18999

18999:                                            ; preds = %18998
  br label %19000

19000:                                            ; preds = %18999, %18934
  %19001 = call i32 @s2n_connection_ptr_free(ptr noundef %384)
  %19002 = getelementptr inbounds %struct.s2n_result, ptr %389, i32 0, i32 0
  store i32 %19001, ptr %19002, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %384) #11
  %19003 = call i32 @s2n_config_ptr_free(ptr noundef %376)
  %19004 = getelementptr inbounds %struct.s2n_result, ptr %390, i32 0, i32 0
  store i32 %19003, ptr %19004, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %376) #11
  br label %19005

19005:                                            ; preds = %19000
  %19006 = load i32, ptr %375, align 4, !tbaa !5
  %19007 = add nsw i32 %19006, 1
  store i32 %19007, ptr %375, align 4, !tbaa !5
  br label %18298, !llvm.loop !67

19008:                                            ; preds = %18301
  call void @llvm.lifetime.start.p0(i64 8, ptr %391) #11
  %19009 = call ptr @s2n_config_new()
  store ptr %19009, ptr %391, align 8, !tbaa !9
  br label %19010

19010:                                            ; preds = %19008
  %19011 = load i32, ptr @test_count, align 4, !tbaa !5
  %19012 = add nsw i32 %19011, 1
  store i32 %19012, ptr @test_count, align 4, !tbaa !5
  %19013 = load ptr, ptr %391, align 8, !tbaa !9
  %19014 = icmp eq ptr %19013, null
  br i1 %19014, label %19015, label %19068

19015:                                            ; preds = %19010
  br label %19016

19016:                                            ; preds = %19015
  br label %19017

19017:                                            ; preds = %19016
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #11
  %19018 = call ptr @__errno_location() #12
  %19019 = load i32, ptr %19018, align 4, !tbaa !5
  store i32 %19019, ptr %392, align 4, !tbaa !5
  %19020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19021 = call i32 @s2n_print_stacktrace(ptr noundef %19020)
  %19022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19023 = trunc i8 %19022 to i1
  br i1 %19023, label %19024, label %19046

19024:                                            ; preds = %19017
  %19025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19026 = call i32 @fileno(ptr noundef %19025) #11
  %19027 = call i32 @isatty(i32 noundef %19026) #11
  %19028 = icmp ne i32 %19027, 0
  br i1 %19028, label %19029, label %19046

19029:                                            ; preds = %19024
  %19030 = load i32, ptr %392, align 4, !tbaa !5
  %19031 = call ptr @__errno_location() #12
  store i32 %19030, ptr %19031, align 4, !tbaa !5
  %19032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19033 = load i32, ptr @test_count, align 4, !tbaa !5
  %19034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19035 = load i32, ptr %19034, align 4, !tbaa !5
  %19036 = call ptr @s2n_strerror(i32 noundef %19035, ptr noundef @.str.4)
  %19037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19038 = load i32, ptr %19037, align 4, !tbaa !5
  %19039 = call ptr @s2n_strerror_debug(i32 noundef %19038, ptr noundef @.str.4)
  %19040 = call ptr @__errno_location() #12
  %19041 = load i32, ptr %19040, align 4, !tbaa !5
  %19042 = call ptr @strerror(i32 noundef %19041) #11
  %19043 = call ptr @__errno_location() #12
  %19044 = load i32, ptr %19043, align 4, !tbaa !5
  %19045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19032, ptr noundef @.str.2, i32 noundef %19033, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 717, ptr noundef %19036, ptr noundef %19039, ptr noundef %19042, i32 noundef %19044) #11
  br label %19063

19046:                                            ; preds = %19024, %19017
  %19047 = load i32, ptr %392, align 4, !tbaa !5
  %19048 = call ptr @__errno_location() #12
  store i32 %19047, ptr %19048, align 4, !tbaa !5
  %19049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19050 = load i32, ptr @test_count, align 4, !tbaa !5
  %19051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19052 = load i32, ptr %19051, align 4, !tbaa !5
  %19053 = call ptr @s2n_strerror(i32 noundef %19052, ptr noundef @.str.4)
  %19054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19055 = load i32, ptr %19054, align 4, !tbaa !5
  %19056 = call ptr @s2n_strerror_debug(i32 noundef %19055, ptr noundef @.str.4)
  %19057 = call ptr @__errno_location() #12
  %19058 = load i32, ptr %19057, align 4, !tbaa !5
  %19059 = call ptr @strerror(i32 noundef %19058) #11
  %19060 = call ptr @__errno_location() #12
  %19061 = load i32, ptr %19060, align 4, !tbaa !5
  %19062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19049, ptr noundef @.str.5, i32 noundef %19050, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 717, ptr noundef %19053, ptr noundef %19056, ptr noundef %19059, i32 noundef %19061) #11
  br label %19063

19063:                                            ; preds = %19046, %19029
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #11
  br label %19064

19064:                                            ; preds = %19063
  br label %19065

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

19066:                                            ; No predecessors!
  br label %19067

19067:                                            ; preds = %19066
  br label %19068

19068:                                            ; preds = %19067, %19010
  br label %19069

19069:                                            ; preds = %19068
  br label %19070

19070:                                            ; preds = %19069
  br label %19071

19071:                                            ; preds = %19070
  %19072 = load i32, ptr @test_count, align 4, !tbaa !5
  %19073 = add nsw i32 %19072, 1
  store i32 %19073, ptr @test_count, align 4, !tbaa !5
  %19074 = load ptr, ptr %391, align 8, !tbaa !9
  %19075 = call i32 @s2n_config_set_status_request_type(ptr noundef %19074, i32 noundef 1)
  %19076 = icmp eq i32 %19075, -1
  br i1 %19076, label %19077, label %19130

19077:                                            ; preds = %19071
  br label %19078

19078:                                            ; preds = %19077
  br label %19079

19079:                                            ; preds = %19078
  call void @llvm.lifetime.start.p0(i64 4, ptr %393) #11
  %19080 = call ptr @__errno_location() #12
  %19081 = load i32, ptr %19080, align 4, !tbaa !5
  store i32 %19081, ptr %393, align 4, !tbaa !5
  %19082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19083 = call i32 @s2n_print_stacktrace(ptr noundef %19082)
  %19084 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19085 = trunc i8 %19084 to i1
  br i1 %19085, label %19086, label %19108

19086:                                            ; preds = %19079
  %19087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19088 = call i32 @fileno(ptr noundef %19087) #11
  %19089 = call i32 @isatty(i32 noundef %19088) #11
  %19090 = icmp ne i32 %19089, 0
  br i1 %19090, label %19091, label %19108

19091:                                            ; preds = %19086
  %19092 = load i32, ptr %393, align 4, !tbaa !5
  %19093 = call ptr @__errno_location() #12
  store i32 %19092, ptr %19093, align 4, !tbaa !5
  %19094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19095 = load i32, ptr @test_count, align 4, !tbaa !5
  %19096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19097 = load i32, ptr %19096, align 4, !tbaa !5
  %19098 = call ptr @s2n_strerror(i32 noundef %19097, ptr noundef @.str.4)
  %19099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19100 = load i32, ptr %19099, align 4, !tbaa !5
  %19101 = call ptr @s2n_strerror_debug(i32 noundef %19100, ptr noundef @.str.4)
  %19102 = call ptr @__errno_location() #12
  %19103 = load i32, ptr %19102, align 4, !tbaa !5
  %19104 = call ptr @strerror(i32 noundef %19103) #11
  %19105 = call ptr @__errno_location() #12
  %19106 = load i32, ptr %19105, align 4, !tbaa !5
  %19107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19094, ptr noundef @.str.2, i32 noundef %19095, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 719, ptr noundef %19098, ptr noundef %19101, ptr noundef %19104, i32 noundef %19106) #11
  br label %19125

19108:                                            ; preds = %19086, %19079
  %19109 = load i32, ptr %393, align 4, !tbaa !5
  %19110 = call ptr @__errno_location() #12
  store i32 %19109, ptr %19110, align 4, !tbaa !5
  %19111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19112 = load i32, ptr @test_count, align 4, !tbaa !5
  %19113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19114 = load i32, ptr %19113, align 4, !tbaa !5
  %19115 = call ptr @s2n_strerror(i32 noundef %19114, ptr noundef @.str.4)
  %19116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19117 = load i32, ptr %19116, align 4, !tbaa !5
  %19118 = call ptr @s2n_strerror_debug(i32 noundef %19117, ptr noundef @.str.4)
  %19119 = call ptr @__errno_location() #12
  %19120 = load i32, ptr %19119, align 4, !tbaa !5
  %19121 = call ptr @strerror(i32 noundef %19120) #11
  %19122 = call ptr @__errno_location() #12
  %19123 = load i32, ptr %19122, align 4, !tbaa !5
  %19124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19111, ptr noundef @.str.5, i32 noundef %19112, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 719, ptr noundef %19115, ptr noundef %19118, ptr noundef %19121, i32 noundef %19123) #11
  br label %19125

19125:                                            ; preds = %19108, %19091
  call void @llvm.lifetime.end.p0(i64 4, ptr %393) #11
  br label %19126

19126:                                            ; preds = %19125
  br label %19127

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

19128:                                            ; No predecessors!
  br label %19129

19129:                                            ; preds = %19128
  br label %19130

19130:                                            ; preds = %19129, %19071
  br label %19131

19131:                                            ; preds = %19130
  br label %19132

19132:                                            ; preds = %19131
  br label %19133

19133:                                            ; preds = %19132
  %19134 = load i32, ptr @test_count, align 4, !tbaa !5
  %19135 = add nsw i32 %19134, 1
  store i32 %19135, ptr @test_count, align 4, !tbaa !5
  %19136 = load ptr, ptr %391, align 8, !tbaa !9
  %19137 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %19136, ptr noundef @.str.15, ptr noundef null)
  %19138 = icmp eq i32 %19137, -1
  br i1 %19138, label %19139, label %19192

19139:                                            ; preds = %19133
  br label %19140

19140:                                            ; preds = %19139
  br label %19141

19141:                                            ; preds = %19140
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #11
  %19142 = call ptr @__errno_location() #12
  %19143 = load i32, ptr %19142, align 4, !tbaa !5
  store i32 %19143, ptr %394, align 4, !tbaa !5
  %19144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19145 = call i32 @s2n_print_stacktrace(ptr noundef %19144)
  %19146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19147 = trunc i8 %19146 to i1
  br i1 %19147, label %19148, label %19170

19148:                                            ; preds = %19141
  %19149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19150 = call i32 @fileno(ptr noundef %19149) #11
  %19151 = call i32 @isatty(i32 noundef %19150) #11
  %19152 = icmp ne i32 %19151, 0
  br i1 %19152, label %19153, label %19170

19153:                                            ; preds = %19148
  %19154 = load i32, ptr %394, align 4, !tbaa !5
  %19155 = call ptr @__errno_location() #12
  store i32 %19154, ptr %19155, align 4, !tbaa !5
  %19156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19157 = load i32, ptr @test_count, align 4, !tbaa !5
  %19158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19159 = load i32, ptr %19158, align 4, !tbaa !5
  %19160 = call ptr @s2n_strerror(i32 noundef %19159, ptr noundef @.str.4)
  %19161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19162 = load i32, ptr %19161, align 4, !tbaa !5
  %19163 = call ptr @s2n_strerror_debug(i32 noundef %19162, ptr noundef @.str.4)
  %19164 = call ptr @__errno_location() #12
  %19165 = load i32, ptr %19164, align 4, !tbaa !5
  %19166 = call ptr @strerror(i32 noundef %19165) #11
  %19167 = call ptr @__errno_location() #12
  %19168 = load i32, ptr %19167, align 4, !tbaa !5
  %19169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19156, ptr noundef @.str.2, i32 noundef %19157, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 720, ptr noundef %19160, ptr noundef %19163, ptr noundef %19166, i32 noundef %19168) #11
  br label %19187

19170:                                            ; preds = %19148, %19141
  %19171 = load i32, ptr %394, align 4, !tbaa !5
  %19172 = call ptr @__errno_location() #12
  store i32 %19171, ptr %19172, align 4, !tbaa !5
  %19173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19174 = load i32, ptr @test_count, align 4, !tbaa !5
  %19175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19176 = load i32, ptr %19175, align 4, !tbaa !5
  %19177 = call ptr @s2n_strerror(i32 noundef %19176, ptr noundef @.str.4)
  %19178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19179 = load i32, ptr %19178, align 4, !tbaa !5
  %19180 = call ptr @s2n_strerror_debug(i32 noundef %19179, ptr noundef @.str.4)
  %19181 = call ptr @__errno_location() #12
  %19182 = load i32, ptr %19181, align 4, !tbaa !5
  %19183 = call ptr @strerror(i32 noundef %19182) #11
  %19184 = call ptr @__errno_location() #12
  %19185 = load i32, ptr %19184, align 4, !tbaa !5
  %19186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19173, ptr noundef @.str.5, i32 noundef %19174, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 720, ptr noundef %19177, ptr noundef %19180, ptr noundef %19183, i32 noundef %19185) #11
  br label %19187

19187:                                            ; preds = %19170, %19153
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #11
  br label %19188

19188:                                            ; preds = %19187
  br label %19189

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

19190:                                            ; No predecessors!
  br label %19191

19191:                                            ; preds = %19190
  br label %19192

19192:                                            ; preds = %19191, %19133
  br label %19193

19193:                                            ; preds = %19192
  br label %19194

19194:                                            ; preds = %19193
  call void @llvm.lifetime.start.p0(i64 8, ptr %395) #11
  %19195 = load i32, ptr %353, align 4, !tbaa !5
  %19196 = call ptr @s2n_connection_new(i32 noundef %19195)
  store ptr %19196, ptr %395, align 8, !tbaa !9
  br label %19197

19197:                                            ; preds = %19194
  %19198 = load i32, ptr @test_count, align 4, !tbaa !5
  %19199 = add nsw i32 %19198, 1
  store i32 %19199, ptr @test_count, align 4, !tbaa !5
  %19200 = load ptr, ptr %395, align 8, !tbaa !9
  %19201 = icmp eq ptr %19200, null
  br i1 %19201, label %19202, label %19255

19202:                                            ; preds = %19197
  br label %19203

19203:                                            ; preds = %19202
  br label %19204

19204:                                            ; preds = %19203
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #11
  %19205 = call ptr @__errno_location() #12
  %19206 = load i32, ptr %19205, align 4, !tbaa !5
  store i32 %19206, ptr %396, align 4, !tbaa !5
  %19207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19208 = call i32 @s2n_print_stacktrace(ptr noundef %19207)
  %19209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19210 = trunc i8 %19209 to i1
  br i1 %19210, label %19211, label %19233

19211:                                            ; preds = %19204
  %19212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19213 = call i32 @fileno(ptr noundef %19212) #11
  %19214 = call i32 @isatty(i32 noundef %19213) #11
  %19215 = icmp ne i32 %19214, 0
  br i1 %19215, label %19216, label %19233

19216:                                            ; preds = %19211
  %19217 = load i32, ptr %396, align 4, !tbaa !5
  %19218 = call ptr @__errno_location() #12
  store i32 %19217, ptr %19218, align 4, !tbaa !5
  %19219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19220 = load i32, ptr @test_count, align 4, !tbaa !5
  %19221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19222 = load i32, ptr %19221, align 4, !tbaa !5
  %19223 = call ptr @s2n_strerror(i32 noundef %19222, ptr noundef @.str.4)
  %19224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19225 = load i32, ptr %19224, align 4, !tbaa !5
  %19226 = call ptr @s2n_strerror_debug(i32 noundef %19225, ptr noundef @.str.4)
  %19227 = call ptr @__errno_location() #12
  %19228 = load i32, ptr %19227, align 4, !tbaa !5
  %19229 = call ptr @strerror(i32 noundef %19228) #11
  %19230 = call ptr @__errno_location() #12
  %19231 = load i32, ptr %19230, align 4, !tbaa !5
  %19232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19219, ptr noundef @.str.2, i32 noundef %19220, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 723, ptr noundef %19223, ptr noundef %19226, ptr noundef %19229, i32 noundef %19231) #11
  br label %19250

19233:                                            ; preds = %19211, %19204
  %19234 = load i32, ptr %396, align 4, !tbaa !5
  %19235 = call ptr @__errno_location() #12
  store i32 %19234, ptr %19235, align 4, !tbaa !5
  %19236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19237 = load i32, ptr @test_count, align 4, !tbaa !5
  %19238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19239 = load i32, ptr %19238, align 4, !tbaa !5
  %19240 = call ptr @s2n_strerror(i32 noundef %19239, ptr noundef @.str.4)
  %19241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19242 = load i32, ptr %19241, align 4, !tbaa !5
  %19243 = call ptr @s2n_strerror_debug(i32 noundef %19242, ptr noundef @.str.4)
  %19244 = call ptr @__errno_location() #12
  %19245 = load i32, ptr %19244, align 4, !tbaa !5
  %19246 = call ptr @strerror(i32 noundef %19245) #11
  %19247 = call ptr @__errno_location() #12
  %19248 = load i32, ptr %19247, align 4, !tbaa !5
  %19249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19236, ptr noundef @.str.5, i32 noundef %19237, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 723, ptr noundef %19240, ptr noundef %19243, ptr noundef %19246, i32 noundef %19248) #11
  br label %19250

19250:                                            ; preds = %19233, %19216
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #11
  br label %19251

19251:                                            ; preds = %19250
  br label %19252

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

19253:                                            ; No predecessors!
  br label %19254

19254:                                            ; preds = %19253
  br label %19255

19255:                                            ; preds = %19254, %19197
  br label %19256

19256:                                            ; preds = %19255
  br label %19257

19257:                                            ; preds = %19256
  br label %19258

19258:                                            ; preds = %19257
  %19259 = load i32, ptr @test_count, align 4, !tbaa !5
  %19260 = add nsw i32 %19259, 1
  store i32 %19260, ptr @test_count, align 4, !tbaa !5
  %19261 = load ptr, ptr %395, align 8, !tbaa !9
  %19262 = load ptr, ptr %391, align 8, !tbaa !9
  %19263 = call i32 @s2n_connection_set_config(ptr noundef %19261, ptr noundef %19262)
  %19264 = icmp eq i32 %19263, -1
  br i1 %19264, label %19265, label %19318

19265:                                            ; preds = %19258
  br label %19266

19266:                                            ; preds = %19265
  br label %19267

19267:                                            ; preds = %19266
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #11
  %19268 = call ptr @__errno_location() #12
  %19269 = load i32, ptr %19268, align 4, !tbaa !5
  store i32 %19269, ptr %397, align 4, !tbaa !5
  %19270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19271 = call i32 @s2n_print_stacktrace(ptr noundef %19270)
  %19272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19273 = trunc i8 %19272 to i1
  br i1 %19273, label %19274, label %19296

19274:                                            ; preds = %19267
  %19275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19276 = call i32 @fileno(ptr noundef %19275) #11
  %19277 = call i32 @isatty(i32 noundef %19276) #11
  %19278 = icmp ne i32 %19277, 0
  br i1 %19278, label %19279, label %19296

19279:                                            ; preds = %19274
  %19280 = load i32, ptr %397, align 4, !tbaa !5
  %19281 = call ptr @__errno_location() #12
  store i32 %19280, ptr %19281, align 4, !tbaa !5
  %19282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19283 = load i32, ptr @test_count, align 4, !tbaa !5
  %19284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19285 = load i32, ptr %19284, align 4, !tbaa !5
  %19286 = call ptr @s2n_strerror(i32 noundef %19285, ptr noundef @.str.4)
  %19287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19288 = load i32, ptr %19287, align 4, !tbaa !5
  %19289 = call ptr @s2n_strerror_debug(i32 noundef %19288, ptr noundef @.str.4)
  %19290 = call ptr @__errno_location() #12
  %19291 = load i32, ptr %19290, align 4, !tbaa !5
  %19292 = call ptr @strerror(i32 noundef %19291) #11
  %19293 = call ptr @__errno_location() #12
  %19294 = load i32, ptr %19293, align 4, !tbaa !5
  %19295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19282, ptr noundef @.str.2, i32 noundef %19283, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 724, ptr noundef %19286, ptr noundef %19289, ptr noundef %19292, i32 noundef %19294) #11
  br label %19313

19296:                                            ; preds = %19274, %19267
  %19297 = load i32, ptr %397, align 4, !tbaa !5
  %19298 = call ptr @__errno_location() #12
  store i32 %19297, ptr %19298, align 4, !tbaa !5
  %19299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19300 = load i32, ptr @test_count, align 4, !tbaa !5
  %19301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19302 = load i32, ptr %19301, align 4, !tbaa !5
  %19303 = call ptr @s2n_strerror(i32 noundef %19302, ptr noundef @.str.4)
  %19304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19305 = load i32, ptr %19304, align 4, !tbaa !5
  %19306 = call ptr @s2n_strerror_debug(i32 noundef %19305, ptr noundef @.str.4)
  %19307 = call ptr @__errno_location() #12
  %19308 = load i32, ptr %19307, align 4, !tbaa !5
  %19309 = call ptr @strerror(i32 noundef %19308) #11
  %19310 = call ptr @__errno_location() #12
  %19311 = load i32, ptr %19310, align 4, !tbaa !5
  %19312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19299, ptr noundef @.str.5, i32 noundef %19300, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 724, ptr noundef %19303, ptr noundef %19306, ptr noundef %19309, i32 noundef %19311) #11
  br label %19313

19313:                                            ; preds = %19296, %19279
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #11
  br label %19314

19314:                                            ; preds = %19313
  br label %19315

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

19316:                                            ; No predecessors!
  br label %19317

19317:                                            ; preds = %19316
  br label %19318

19318:                                            ; preds = %19317, %19258
  br label %19319

19319:                                            ; preds = %19318
  br label %19320

19320:                                            ; preds = %19319
  br label %19321

19321:                                            ; preds = %19320
  %19322 = load i32, ptr @test_count, align 4, !tbaa !5
  %19323 = add nsw i32 %19322, 1
  store i32 %19323, ptr @test_count, align 4, !tbaa !5
  %19324 = load ptr, ptr %395, align 8, !tbaa !9
  %19325 = load i32, ptr %19324, align 8
  %19326 = lshr i32 %19325, 20
  %19327 = and i32 %19326, 1
  %19328 = icmp ne i32 %19327, 0
  br i1 %19328, label %19382, label %19329

19329:                                            ; preds = %19321
  br label %19330

19330:                                            ; preds = %19329
  br label %19331

19331:                                            ; preds = %19330
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #11
  %19332 = call ptr @__errno_location() #12
  %19333 = load i32, ptr %19332, align 4, !tbaa !5
  store i32 %19333, ptr %398, align 4, !tbaa !5
  %19334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19335 = call i32 @s2n_print_stacktrace(ptr noundef %19334)
  %19336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19337 = trunc i8 %19336 to i1
  br i1 %19337, label %19338, label %19360

19338:                                            ; preds = %19331
  %19339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19340 = call i32 @fileno(ptr noundef %19339) #11
  %19341 = call i32 @isatty(i32 noundef %19340) #11
  %19342 = icmp ne i32 %19341, 0
  br i1 %19342, label %19343, label %19360

19343:                                            ; preds = %19338
  %19344 = load i32, ptr %398, align 4, !tbaa !5
  %19345 = call ptr @__errno_location() #12
  store i32 %19344, ptr %19345, align 4, !tbaa !5
  %19346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19347 = load i32, ptr @test_count, align 4, !tbaa !5
  %19348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19349 = load i32, ptr %19348, align 4, !tbaa !5
  %19350 = call ptr @s2n_strerror(i32 noundef %19349, ptr noundef @.str.4)
  %19351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19352 = load i32, ptr %19351, align 4, !tbaa !5
  %19353 = call ptr @s2n_strerror_debug(i32 noundef %19352, ptr noundef @.str.4)
  %19354 = call ptr @__errno_location() #12
  %19355 = load i32, ptr %19354, align 4, !tbaa !5
  %19356 = call ptr @strerror(i32 noundef %19355) #11
  %19357 = call ptr @__errno_location() #12
  %19358 = load i32, ptr %19357, align 4, !tbaa !5
  %19359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19346, ptr noundef @.str.2, i32 noundef %19347, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 726, ptr noundef %19350, ptr noundef %19353, ptr noundef %19356, i32 noundef %19358) #11
  br label %19377

19360:                                            ; preds = %19338, %19331
  %19361 = load i32, ptr %398, align 4, !tbaa !5
  %19362 = call ptr @__errno_location() #12
  store i32 %19361, ptr %19362, align 4, !tbaa !5
  %19363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19364 = load i32, ptr @test_count, align 4, !tbaa !5
  %19365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19366 = load i32, ptr %19365, align 4, !tbaa !5
  %19367 = call ptr @s2n_strerror(i32 noundef %19366, ptr noundef @.str.4)
  %19368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19369 = load i32, ptr %19368, align 4, !tbaa !5
  %19370 = call ptr @s2n_strerror_debug(i32 noundef %19369, ptr noundef @.str.4)
  %19371 = call ptr @__errno_location() #12
  %19372 = load i32, ptr %19371, align 4, !tbaa !5
  %19373 = call ptr @strerror(i32 noundef %19372) #11
  %19374 = call ptr @__errno_location() #12
  %19375 = load i32, ptr %19374, align 4, !tbaa !5
  %19376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19363, ptr noundef @.str.5, i32 noundef %19364, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 726, ptr noundef %19367, ptr noundef %19370, ptr noundef %19373, i32 noundef %19375) #11
  br label %19377

19377:                                            ; preds = %19360, %19343
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #11
  br label %19378

19378:                                            ; preds = %19377
  br label %19379

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

19380:                                            ; No predecessors!
  br label %19381

19381:                                            ; preds = %19380
  br label %19382

19382:                                            ; preds = %19381, %19321
  br label %19383

19383:                                            ; preds = %19382
  br label %19384

19384:                                            ; preds = %19383
  %19385 = call i32 @s2n_connection_ptr_free(ptr noundef %395)
  %19386 = getelementptr inbounds %struct.s2n_result, ptr %399, i32 0, i32 0
  store i32 %19385, ptr %19386, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %395) #11
  %19387 = call i32 @s2n_config_ptr_free(ptr noundef %391)
  %19388 = getelementptr inbounds %struct.s2n_result, ptr %400, i32 0, i32 0
  store i32 %19387, ptr %19388, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %391) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %401) #11
  %19389 = call ptr @s2n_config_new()
  store ptr %19389, ptr %401, align 8, !tbaa !9
  br label %19390

19390:                                            ; preds = %19384
  %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 %401, align 8, !tbaa !9
  %19394 = icmp eq ptr %19393, null
  br i1 %19394, label %19395, label %19448

19395:                                            ; preds = %19390
  br label %19396

19396:                                            ; preds = %19395
  br label %19397

19397:                                            ; preds = %19396
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #11
  %19398 = call ptr @__errno_location() #12
  %19399 = load i32, ptr %19398, align 4, !tbaa !5
  store i32 %19399, ptr %402, align 4, !tbaa !5
  %19400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19401 = call i32 @s2n_print_stacktrace(ptr noundef %19400)
  %19402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19403 = trunc i8 %19402 to i1
  br i1 %19403, label %19404, label %19426

19404:                                            ; preds = %19397
  %19405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19406 = call i32 @fileno(ptr noundef %19405) #11
  %19407 = call i32 @isatty(i32 noundef %19406) #11
  %19408 = icmp ne i32 %19407, 0
  br i1 %19408, label %19409, label %19426

19409:                                            ; preds = %19404
  %19410 = load i32, ptr %402, align 4, !tbaa !5
  %19411 = call ptr @__errno_location() #12
  store i32 %19410, ptr %19411, align 4, !tbaa !5
  %19412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19413 = load i32, ptr @test_count, align 4, !tbaa !5
  %19414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19415 = load i32, ptr %19414, align 4, !tbaa !5
  %19416 = call ptr @s2n_strerror(i32 noundef %19415, ptr noundef @.str.4)
  %19417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19418 = load i32, ptr %19417, align 4, !tbaa !5
  %19419 = call ptr @s2n_strerror_debug(i32 noundef %19418, ptr noundef @.str.4)
  %19420 = call ptr @__errno_location() #12
  %19421 = load i32, ptr %19420, align 4, !tbaa !5
  %19422 = call ptr @strerror(i32 noundef %19421) #11
  %19423 = call ptr @__errno_location() #12
  %19424 = load i32, ptr %19423, align 4, !tbaa !5
  %19425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19412, ptr noundef @.str.2, i32 noundef %19413, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 734, ptr noundef %19416, ptr noundef %19419, ptr noundef %19422, i32 noundef %19424) #11
  br label %19443

19426:                                            ; preds = %19404, %19397
  %19427 = load i32, ptr %402, align 4, !tbaa !5
  %19428 = call ptr @__errno_location() #12
  store i32 %19427, ptr %19428, align 4, !tbaa !5
  %19429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19430 = load i32, ptr @test_count, align 4, !tbaa !5
  %19431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19432 = load i32, ptr %19431, align 4, !tbaa !5
  %19433 = call ptr @s2n_strerror(i32 noundef %19432, ptr noundef @.str.4)
  %19434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19435 = load i32, ptr %19434, align 4, !tbaa !5
  %19436 = call ptr @s2n_strerror_debug(i32 noundef %19435, ptr noundef @.str.4)
  %19437 = call ptr @__errno_location() #12
  %19438 = load i32, ptr %19437, align 4, !tbaa !5
  %19439 = call ptr @strerror(i32 noundef %19438) #11
  %19440 = call ptr @__errno_location() #12
  %19441 = load i32, ptr %19440, align 4, !tbaa !5
  %19442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19429, ptr noundef @.str.5, i32 noundef %19430, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 734, ptr noundef %19433, ptr noundef %19436, ptr noundef %19439, i32 noundef %19441) #11
  br label %19443

19443:                                            ; preds = %19426, %19409
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #11
  br label %19444

19444:                                            ; preds = %19443
  br label %19445

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

19446:                                            ; No predecessors!
  br label %19447

19447:                                            ; preds = %19446
  br label %19448

19448:                                            ; preds = %19447, %19390
  br label %19449

19449:                                            ; preds = %19448
  br label %19450

19450:                                            ; preds = %19449
  br label %19451

19451:                                            ; preds = %19450
  %19452 = load i32, ptr @test_count, align 4, !tbaa !5
  %19453 = add nsw i32 %19452, 1
  store i32 %19453, ptr @test_count, align 4, !tbaa !5
  %19454 = load ptr, ptr %401, align 8, !tbaa !9
  %19455 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %19454, ptr noundef @.str.15, ptr noundef null)
  %19456 = icmp eq i32 %19455, -1
  br i1 %19456, label %19457, label %19510

19457:                                            ; preds = %19451
  br label %19458

19458:                                            ; preds = %19457
  br label %19459

19459:                                            ; preds = %19458
  call void @llvm.lifetime.start.p0(i64 4, ptr %403) #11
  %19460 = call ptr @__errno_location() #12
  %19461 = load i32, ptr %19460, align 4, !tbaa !5
  store i32 %19461, ptr %403, align 4, !tbaa !5
  %19462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19463 = call i32 @s2n_print_stacktrace(ptr noundef %19462)
  %19464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19465 = trunc i8 %19464 to i1
  br i1 %19465, label %19466, label %19488

19466:                                            ; preds = %19459
  %19467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19468 = call i32 @fileno(ptr noundef %19467) #11
  %19469 = call i32 @isatty(i32 noundef %19468) #11
  %19470 = icmp ne i32 %19469, 0
  br i1 %19470, label %19471, label %19488

19471:                                            ; preds = %19466
  %19472 = load i32, ptr %403, align 4, !tbaa !5
  %19473 = call ptr @__errno_location() #12
  store i32 %19472, ptr %19473, align 4, !tbaa !5
  %19474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19475 = load i32, ptr @test_count, align 4, !tbaa !5
  %19476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19477 = load i32, ptr %19476, align 4, !tbaa !5
  %19478 = call ptr @s2n_strerror(i32 noundef %19477, ptr noundef @.str.4)
  %19479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19480 = load i32, ptr %19479, align 4, !tbaa !5
  %19481 = call ptr @s2n_strerror_debug(i32 noundef %19480, ptr noundef @.str.4)
  %19482 = call ptr @__errno_location() #12
  %19483 = load i32, ptr %19482, align 4, !tbaa !5
  %19484 = call ptr @strerror(i32 noundef %19483) #11
  %19485 = call ptr @__errno_location() #12
  %19486 = load i32, ptr %19485, align 4, !tbaa !5
  %19487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19474, ptr noundef @.str.2, i32 noundef %19475, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 736, ptr noundef %19478, ptr noundef %19481, ptr noundef %19484, i32 noundef %19486) #11
  br label %19505

19488:                                            ; preds = %19466, %19459
  %19489 = load i32, ptr %403, align 4, !tbaa !5
  %19490 = call ptr @__errno_location() #12
  store i32 %19489, ptr %19490, align 4, !tbaa !5
  %19491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19492 = load i32, ptr @test_count, align 4, !tbaa !5
  %19493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19494 = load i32, ptr %19493, align 4, !tbaa !5
  %19495 = call ptr @s2n_strerror(i32 noundef %19494, ptr noundef @.str.4)
  %19496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19497 = load i32, ptr %19496, align 4, !tbaa !5
  %19498 = call ptr @s2n_strerror_debug(i32 noundef %19497, ptr noundef @.str.4)
  %19499 = call ptr @__errno_location() #12
  %19500 = load i32, ptr %19499, align 4, !tbaa !5
  %19501 = call ptr @strerror(i32 noundef %19500) #11
  %19502 = call ptr @__errno_location() #12
  %19503 = load i32, ptr %19502, align 4, !tbaa !5
  %19504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19491, ptr noundef @.str.5, i32 noundef %19492, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 736, ptr noundef %19495, ptr noundef %19498, ptr noundef %19501, i32 noundef %19503) #11
  br label %19505

19505:                                            ; preds = %19488, %19471
  call void @llvm.lifetime.end.p0(i64 4, ptr %403) #11
  br label %19506

19506:                                            ; preds = %19505
  br label %19507

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

19508:                                            ; No predecessors!
  br label %19509

19509:                                            ; preds = %19508
  br label %19510

19510:                                            ; preds = %19509, %19451
  br label %19511

19511:                                            ; preds = %19510
  br label %19512

19512:                                            ; preds = %19511
  br label %19513

19513:                                            ; preds = %19512
  %19514 = load i32, ptr @test_count, align 4, !tbaa !5
  %19515 = add nsw i32 %19514, 1
  store i32 %19515, ptr @test_count, align 4, !tbaa !5
  %19516 = load ptr, ptr %401, align 8, !tbaa !9
  %19517 = call i32 @s2n_config_set_status_request_type(ptr noundef %19516, i32 noundef 0)
  %19518 = icmp eq i32 %19517, -1
  br i1 %19518, label %19519, label %19572

19519:                                            ; preds = %19513
  br label %19520

19520:                                            ; preds = %19519
  br label %19521

19521:                                            ; preds = %19520
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #11
  %19522 = call ptr @__errno_location() #12
  %19523 = load i32, ptr %19522, align 4, !tbaa !5
  store i32 %19523, ptr %404, align 4, !tbaa !5
  %19524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19525 = call i32 @s2n_print_stacktrace(ptr noundef %19524)
  %19526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19527 = trunc i8 %19526 to i1
  br i1 %19527, label %19528, label %19550

19528:                                            ; preds = %19521
  %19529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19530 = call i32 @fileno(ptr noundef %19529) #11
  %19531 = call i32 @isatty(i32 noundef %19530) #11
  %19532 = icmp ne i32 %19531, 0
  br i1 %19532, label %19533, label %19550

19533:                                            ; preds = %19528
  %19534 = load i32, ptr %404, align 4, !tbaa !5
  %19535 = call ptr @__errno_location() #12
  store i32 %19534, ptr %19535, align 4, !tbaa !5
  %19536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19537 = load i32, ptr @test_count, align 4, !tbaa !5
  %19538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19539 = load i32, ptr %19538, align 4, !tbaa !5
  %19540 = call ptr @s2n_strerror(i32 noundef %19539, ptr noundef @.str.4)
  %19541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19542 = load i32, ptr %19541, align 4, !tbaa !5
  %19543 = call ptr @s2n_strerror_debug(i32 noundef %19542, ptr noundef @.str.4)
  %19544 = call ptr @__errno_location() #12
  %19545 = load i32, ptr %19544, align 4, !tbaa !5
  %19546 = call ptr @strerror(i32 noundef %19545) #11
  %19547 = call ptr @__errno_location() #12
  %19548 = load i32, ptr %19547, align 4, !tbaa !5
  %19549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19536, ptr noundef @.str.2, i32 noundef %19537, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 737, ptr noundef %19540, ptr noundef %19543, ptr noundef %19546, i32 noundef %19548) #11
  br label %19567

19550:                                            ; preds = %19528, %19521
  %19551 = load i32, ptr %404, align 4, !tbaa !5
  %19552 = call ptr @__errno_location() #12
  store i32 %19551, ptr %19552, align 4, !tbaa !5
  %19553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19554 = load i32, ptr @test_count, align 4, !tbaa !5
  %19555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19556 = load i32, ptr %19555, align 4, !tbaa !5
  %19557 = call ptr @s2n_strerror(i32 noundef %19556, ptr noundef @.str.4)
  %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_debug(i32 noundef %19559, ptr noundef @.str.4)
  %19561 = call ptr @__errno_location() #12
  %19562 = load i32, ptr %19561, align 4, !tbaa !5
  %19563 = call ptr @strerror(i32 noundef %19562) #11
  %19564 = call ptr @__errno_location() #12
  %19565 = load i32, ptr %19564, align 4, !tbaa !5
  %19566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19553, ptr noundef @.str.5, i32 noundef %19554, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 737, ptr noundef %19557, ptr noundef %19560, ptr noundef %19563, i32 noundef %19565) #11
  br label %19567

19567:                                            ; preds = %19550, %19533
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #11
  br label %19568

19568:                                            ; preds = %19567
  br label %19569

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

19570:                                            ; No predecessors!
  br label %19571

19571:                                            ; preds = %19570
  br label %19572

19572:                                            ; preds = %19571, %19513
  br label %19573

19573:                                            ; preds = %19572
  br label %19574

19574:                                            ; preds = %19573
  call void @llvm.lifetime.start.p0(i64 8, ptr %405) #11
  %19575 = load i32, ptr %353, align 4, !tbaa !5
  %19576 = call ptr @s2n_connection_new(i32 noundef %19575)
  store ptr %19576, ptr %405, align 8, !tbaa !9
  br label %19577

19577:                                            ; preds = %19574
  %19578 = load i32, ptr @test_count, align 4, !tbaa !5
  %19579 = add nsw i32 %19578, 1
  store i32 %19579, ptr @test_count, align 4, !tbaa !5
  %19580 = load ptr, ptr %405, align 8, !tbaa !9
  %19581 = icmp eq ptr %19580, null
  br i1 %19581, label %19582, label %19635

19582:                                            ; preds = %19577
  br label %19583

19583:                                            ; preds = %19582
  br label %19584

19584:                                            ; preds = %19583
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #11
  %19585 = call ptr @__errno_location() #12
  %19586 = load i32, ptr %19585, align 4, !tbaa !5
  store i32 %19586, ptr %406, align 4, !tbaa !5
  %19587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19588 = call i32 @s2n_print_stacktrace(ptr noundef %19587)
  %19589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19590 = trunc i8 %19589 to i1
  br i1 %19590, label %19591, label %19613

19591:                                            ; preds = %19584
  %19592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19593 = call i32 @fileno(ptr noundef %19592) #11
  %19594 = call i32 @isatty(i32 noundef %19593) #11
  %19595 = icmp ne i32 %19594, 0
  br i1 %19595, label %19596, label %19613

19596:                                            ; preds = %19591
  %19597 = load i32, ptr %406, align 4, !tbaa !5
  %19598 = call ptr @__errno_location() #12
  store i32 %19597, ptr %19598, align 4, !tbaa !5
  %19599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19600 = load i32, ptr @test_count, align 4, !tbaa !5
  %19601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19602 = load i32, ptr %19601, align 4, !tbaa !5
  %19603 = call ptr @s2n_strerror(i32 noundef %19602, ptr noundef @.str.4)
  %19604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19605 = load i32, ptr %19604, align 4, !tbaa !5
  %19606 = call ptr @s2n_strerror_debug(i32 noundef %19605, ptr noundef @.str.4)
  %19607 = call ptr @__errno_location() #12
  %19608 = load i32, ptr %19607, align 4, !tbaa !5
  %19609 = call ptr @strerror(i32 noundef %19608) #11
  %19610 = call ptr @__errno_location() #12
  %19611 = load i32, ptr %19610, align 4, !tbaa !5
  %19612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19599, ptr noundef @.str.2, i32 noundef %19600, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 740, ptr noundef %19603, ptr noundef %19606, ptr noundef %19609, i32 noundef %19611) #11
  br label %19630

19613:                                            ; preds = %19591, %19584
  %19614 = load i32, ptr %406, align 4, !tbaa !5
  %19615 = call ptr @__errno_location() #12
  store i32 %19614, ptr %19615, align 4, !tbaa !5
  %19616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19617 = load i32, ptr @test_count, align 4, !tbaa !5
  %19618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19619 = load i32, ptr %19618, align 4, !tbaa !5
  %19620 = call ptr @s2n_strerror(i32 noundef %19619, ptr noundef @.str.4)
  %19621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19622 = load i32, ptr %19621, align 4, !tbaa !5
  %19623 = call ptr @s2n_strerror_debug(i32 noundef %19622, ptr noundef @.str.4)
  %19624 = call ptr @__errno_location() #12
  %19625 = load i32, ptr %19624, align 4, !tbaa !5
  %19626 = call ptr @strerror(i32 noundef %19625) #11
  %19627 = call ptr @__errno_location() #12
  %19628 = load i32, ptr %19627, align 4, !tbaa !5
  %19629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19616, ptr noundef @.str.5, i32 noundef %19617, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 740, ptr noundef %19620, ptr noundef %19623, ptr noundef %19626, i32 noundef %19628) #11
  br label %19630

19630:                                            ; preds = %19613, %19596
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #11
  br label %19631

19631:                                            ; preds = %19630
  br label %19632

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

19633:                                            ; No predecessors!
  br label %19634

19634:                                            ; preds = %19633
  br label %19635

19635:                                            ; preds = %19634, %19577
  br label %19636

19636:                                            ; preds = %19635
  br label %19637

19637:                                            ; preds = %19636
  br label %19638

19638:                                            ; preds = %19637
  %19639 = load i32, ptr @test_count, align 4, !tbaa !5
  %19640 = add nsw i32 %19639, 1
  store i32 %19640, ptr @test_count, align 4, !tbaa !5
  %19641 = load ptr, ptr %405, align 8, !tbaa !9
  %19642 = load ptr, ptr %401, align 8, !tbaa !9
  %19643 = call i32 @s2n_connection_set_config(ptr noundef %19641, ptr noundef %19642)
  %19644 = icmp eq i32 %19643, -1
  br i1 %19644, label %19645, label %19698

19645:                                            ; preds = %19638
  br label %19646

19646:                                            ; preds = %19645
  br label %19647

19647:                                            ; preds = %19646
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #11
  %19648 = call ptr @__errno_location() #12
  %19649 = load i32, ptr %19648, align 4, !tbaa !5
  store i32 %19649, ptr %407, align 4, !tbaa !5
  %19650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19651 = call i32 @s2n_print_stacktrace(ptr noundef %19650)
  %19652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19653 = trunc i8 %19652 to i1
  br i1 %19653, label %19654, label %19676

19654:                                            ; preds = %19647
  %19655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19656 = call i32 @fileno(ptr noundef %19655) #11
  %19657 = call i32 @isatty(i32 noundef %19656) #11
  %19658 = icmp ne i32 %19657, 0
  br i1 %19658, label %19659, label %19676

19659:                                            ; preds = %19654
  %19660 = load i32, ptr %407, align 4, !tbaa !5
  %19661 = call ptr @__errno_location() #12
  store i32 %19660, ptr %19661, align 4, !tbaa !5
  %19662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19663 = load i32, ptr @test_count, align 4, !tbaa !5
  %19664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19665 = load i32, ptr %19664, align 4, !tbaa !5
  %19666 = call ptr @s2n_strerror(i32 noundef %19665, ptr noundef @.str.4)
  %19667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19668 = load i32, ptr %19667, align 4, !tbaa !5
  %19669 = call ptr @s2n_strerror_debug(i32 noundef %19668, ptr noundef @.str.4)
  %19670 = call ptr @__errno_location() #12
  %19671 = load i32, ptr %19670, align 4, !tbaa !5
  %19672 = call ptr @strerror(i32 noundef %19671) #11
  %19673 = call ptr @__errno_location() #12
  %19674 = load i32, ptr %19673, align 4, !tbaa !5
  %19675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19662, ptr noundef @.str.2, i32 noundef %19663, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 741, ptr noundef %19666, ptr noundef %19669, ptr noundef %19672, i32 noundef %19674) #11
  br label %19693

19676:                                            ; preds = %19654, %19647
  %19677 = load i32, ptr %407, 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.4)
  %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.4)
  %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.5, i32 noundef %19680, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 741, ptr noundef %19683, ptr noundef %19686, ptr noundef %19689, i32 noundef %19691) #11
  br label %19693

19693:                                            ; preds = %19676, %19659
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #11
  br label %19694

19694:                                            ; preds = %19693
  br label %19695

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

19696:                                            ; No predecessors!
  br label %19697

19697:                                            ; preds = %19696
  br label %19698

19698:                                            ; preds = %19697, %19638
  br label %19699

19699:                                            ; preds = %19698
  br label %19700

19700:                                            ; preds = %19699
  br label %19701

19701:                                            ; preds = %19700
  %19702 = load i32, ptr @test_count, align 4, !tbaa !5
  %19703 = add nsw i32 %19702, 1
  store i32 %19703, ptr @test_count, align 4, !tbaa !5
  %19704 = load ptr, ptr %405, align 8, !tbaa !9
  %19705 = load i32, ptr %19704, align 8
  %19706 = lshr i32 %19705, 20
  %19707 = and i32 %19706, 1
  %19708 = icmp ne i32 %19707, 0
  br i1 %19708, label %19709, label %19762

19709:                                            ; preds = %19701
  br label %19710

19710:                                            ; preds = %19709
  br label %19711

19711:                                            ; preds = %19710
  call void @llvm.lifetime.start.p0(i64 4, ptr %408) #11
  %19712 = call ptr @__errno_location() #12
  %19713 = load i32, ptr %19712, align 4, !tbaa !5
  store i32 %19713, ptr %408, align 4, !tbaa !5
  %19714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19715 = call i32 @s2n_print_stacktrace(ptr noundef %19714)
  %19716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19717 = trunc i8 %19716 to i1
  br i1 %19717, label %19718, label %19740

19718:                                            ; preds = %19711
  %19719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19720 = call i32 @fileno(ptr noundef %19719) #11
  %19721 = call i32 @isatty(i32 noundef %19720) #11
  %19722 = icmp ne i32 %19721, 0
  br i1 %19722, label %19723, label %19740

19723:                                            ; preds = %19718
  %19724 = load i32, ptr %408, align 4, !tbaa !5
  %19725 = call ptr @__errno_location() #12
  store i32 %19724, ptr %19725, align 4, !tbaa !5
  %19726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19727 = load i32, ptr @test_count, align 4, !tbaa !5
  %19728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19729 = load i32, ptr %19728, align 4, !tbaa !5
  %19730 = call ptr @s2n_strerror(i32 noundef %19729, ptr noundef @.str.4)
  %19731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19732 = load i32, ptr %19731, align 4, !tbaa !5
  %19733 = call ptr @s2n_strerror_debug(i32 noundef %19732, ptr noundef @.str.4)
  %19734 = call ptr @__errno_location() #12
  %19735 = load i32, ptr %19734, align 4, !tbaa !5
  %19736 = call ptr @strerror(i32 noundef %19735) #11
  %19737 = call ptr @__errno_location() #12
  %19738 = load i32, ptr %19737, align 4, !tbaa !5
  %19739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19726, ptr noundef @.str.2, i32 noundef %19727, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 743, ptr noundef %19730, ptr noundef %19733, ptr noundef %19736, i32 noundef %19738) #11
  br label %19757

19740:                                            ; preds = %19718, %19711
  %19741 = load i32, ptr %408, 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.4)
  %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.4)
  %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.5, i32 noundef %19744, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 743, ptr noundef %19747, ptr noundef %19750, ptr noundef %19753, i32 noundef %19755) #11
  br label %19757

19757:                                            ; preds = %19740, %19723
  call void @llvm.lifetime.end.p0(i64 4, ptr %408) #11
  br label %19758

19758:                                            ; preds = %19757
  br label %19759

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

19760:                                            ; No predecessors!
  br label %19761

19761:                                            ; preds = %19760
  br label %19762

19762:                                            ; preds = %19761, %19701
  br label %19763

19763:                                            ; preds = %19762
  br label %19764

19764:                                            ; preds = %19763
  %19765 = call i32 @s2n_connection_ptr_free(ptr noundef %405)
  %19766 = getelementptr inbounds %struct.s2n_result, ptr %409, i32 0, i32 0
  store i32 %19765, ptr %19766, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %405) #11
  %19767 = call i32 @s2n_config_ptr_free(ptr noundef %401)
  %19768 = getelementptr inbounds %struct.s2n_result, ptr %410, i32 0, i32 0
  store i32 %19767, ptr %19768, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %401) #11
  store i32 0, ptr %352, align 4
  br label %19769

19769:                                            ; preds = %19764, %17466
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #11
  %19770 = load i32, ptr %352, align 4
  switch i32 %19770, label %19775 [
    i32 0, label %19771
  ]

19771:                                            ; preds = %19769
  br label %19772

19772:                                            ; preds = %19771
  %19773 = load i64, ptr %351, align 8, !tbaa !66
  %19774 = add i64 %19773, 1
  store i64 %19774, ptr %351, align 8, !tbaa !66
  br label %17456, !llvm.loop !69

19775:                                            ; preds = %19769, %17459
  call void @llvm.lifetime.end.p0(i64 8, ptr %351) #11
  br label %19776

19776:                                            ; preds = %19775
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #11
  store i32 0, ptr %411, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 12000, ptr %412) #11
  call void @llvm.memset.p0.i64(ptr align 16 %412, i8 0, i64 12000, i1 false)
  br label %19777

19777:                                            ; preds = %19776
  %19778 = load i32, ptr @test_count, align 4, !tbaa !5
  %19779 = add nsw i32 %19778, 1
  store i32 %19779, ptr @test_count, align 4, !tbaa !5
  %19780 = getelementptr inbounds [12000 x i8], ptr %412, i64 0, i64 0
  %19781 = call i32 @s2n_read_test_pem_and_len(ptr noundef @.str.149, ptr noundef %19780, ptr noundef %411, i64 noundef 12000)
  %19782 = icmp eq i32 %19781, -1
  br i1 %19782, label %19783, label %19836

19783:                                            ; preds = %19777
  br label %19784

19784:                                            ; preds = %19783
  br label %19785

19785:                                            ; preds = %19784
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #11
  %19786 = call ptr @__errno_location() #12
  %19787 = load i32, ptr %19786, align 4, !tbaa !5
  store i32 %19787, ptr %413, align 4, !tbaa !5
  %19788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19789 = call i32 @s2n_print_stacktrace(ptr noundef %19788)
  %19790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19791 = trunc i8 %19790 to i1
  br i1 %19791, label %19792, label %19814

19792:                                            ; preds = %19785
  %19793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19794 = call i32 @fileno(ptr noundef %19793) #11
  %19795 = call i32 @isatty(i32 noundef %19794) #11
  %19796 = icmp ne i32 %19795, 0
  br i1 %19796, label %19797, label %19814

19797:                                            ; preds = %19792
  %19798 = load i32, ptr %413, align 4, !tbaa !5
  %19799 = call ptr @__errno_location() #12
  store i32 %19798, ptr %19799, align 4, !tbaa !5
  %19800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19801 = load i32, ptr @test_count, align 4, !tbaa !5
  %19802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19803 = load i32, ptr %19802, align 4, !tbaa !5
  %19804 = call ptr @s2n_strerror(i32 noundef %19803, ptr noundef @.str.4)
  %19805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19806 = load i32, ptr %19805, align 4, !tbaa !5
  %19807 = call ptr @s2n_strerror_debug(i32 noundef %19806, ptr noundef @.str.4)
  %19808 = call ptr @__errno_location() #12
  %19809 = load i32, ptr %19808, align 4, !tbaa !5
  %19810 = call ptr @strerror(i32 noundef %19809) #11
  %19811 = call ptr @__errno_location() #12
  %19812 = load i32, ptr %19811, align 4, !tbaa !5
  %19813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19800, ptr noundef @.str.2, i32 noundef %19801, ptr noundef @.str.150, ptr noundef @.str.1, i32 noundef 752, ptr noundef %19804, ptr noundef %19807, ptr noundef %19810, i32 noundef %19812) #11
  br label %19831

19814:                                            ; preds = %19792, %19785
  %19815 = load i32, ptr %413, align 4, !tbaa !5
  %19816 = call ptr @__errno_location() #12
  store i32 %19815, ptr %19816, align 4, !tbaa !5
  %19817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19818 = load i32, ptr @test_count, align 4, !tbaa !5
  %19819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19820 = load i32, ptr %19819, align 4, !tbaa !5
  %19821 = call ptr @s2n_strerror(i32 noundef %19820, ptr noundef @.str.4)
  %19822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19823 = load i32, ptr %19822, align 4, !tbaa !5
  %19824 = call ptr @s2n_strerror_debug(i32 noundef %19823, ptr noundef @.str.4)
  %19825 = call ptr @__errno_location() #12
  %19826 = load i32, ptr %19825, align 4, !tbaa !5
  %19827 = call ptr @strerror(i32 noundef %19826) #11
  %19828 = call ptr @__errno_location() #12
  %19829 = load i32, ptr %19828, align 4, !tbaa !5
  %19830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19817, ptr noundef @.str.5, i32 noundef %19818, ptr noundef @.str.150, ptr noundef @.str.1, i32 noundef 752, ptr noundef %19821, ptr noundef %19824, ptr noundef %19827, i32 noundef %19829) #11
  br label %19831

19831:                                            ; preds = %19814, %19797
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #11
  br label %19832

19832:                                            ; preds = %19831
  br label %19833

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

19834:                                            ; No predecessors!
  br label %19835

19835:                                            ; preds = %19834
  br label %19836

19836:                                            ; preds = %19835, %19777
  br label %19837

19837:                                            ; preds = %19836
  br label %19838

19838:                                            ; preds = %19837
  call void @llvm.lifetime.start.p0(i64 8, ptr %414) #11
  %19839 = call ptr @s2n_config_new()
  store ptr %19839, ptr %414, align 8, !tbaa !9
  br label %19840

19840:                                            ; preds = %19838
  %19841 = load i32, ptr @test_count, align 4, !tbaa !5
  %19842 = add nsw i32 %19841, 1
  store i32 %19842, ptr @test_count, align 4, !tbaa !5
  %19843 = load ptr, ptr %414, align 8, !tbaa !9
  %19844 = getelementptr inbounds [12000 x i8], ptr %412, i64 0, i64 0
  %19845 = load i32, ptr %411, align 4, !tbaa !5
  %19846 = call i32 @s2n_config_add_cert_chain(ptr noundef %19843, ptr noundef %19844, i32 noundef %19845)
  %19847 = icmp eq i32 %19846, -1
  br i1 %19847, label %19848, label %19901

19848:                                            ; preds = %19840
  br label %19849

19849:                                            ; preds = %19848
  br label %19850

19850:                                            ; preds = %19849
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #11
  %19851 = call ptr @__errno_location() #12
  %19852 = load i32, ptr %19851, align 4, !tbaa !5
  store i32 %19852, ptr %415, align 4, !tbaa !5
  %19853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19854 = call i32 @s2n_print_stacktrace(ptr noundef %19853)
  %19855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19856 = trunc i8 %19855 to i1
  br i1 %19856, label %19857, label %19879

19857:                                            ; preds = %19850
  %19858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19859 = call i32 @fileno(ptr noundef %19858) #11
  %19860 = call i32 @isatty(i32 noundef %19859) #11
  %19861 = icmp ne i32 %19860, 0
  br i1 %19861, label %19862, label %19879

19862:                                            ; preds = %19857
  %19863 = load i32, ptr %415, align 4, !tbaa !5
  %19864 = call ptr @__errno_location() #12
  store i32 %19863, ptr %19864, align 4, !tbaa !5
  %19865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19866 = load i32, ptr @test_count, align 4, !tbaa !5
  %19867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19868 = load i32, ptr %19867, align 4, !tbaa !5
  %19869 = call ptr @s2n_strerror(i32 noundef %19868, ptr noundef @.str.4)
  %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_debug(i32 noundef %19871, ptr noundef @.str.4)
  %19873 = call ptr @__errno_location() #12
  %19874 = load i32, ptr %19873, align 4, !tbaa !5
  %19875 = call ptr @strerror(i32 noundef %19874) #11
  %19876 = call ptr @__errno_location() #12
  %19877 = load i32, ptr %19876, align 4, !tbaa !5
  %19878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19865, ptr noundef @.str.2, i32 noundef %19866, ptr noundef @.str.151, ptr noundef @.str.1, i32 noundef 755, ptr noundef %19869, ptr noundef %19872, ptr noundef %19875, i32 noundef %19877) #11
  br label %19896

19879:                                            ; preds = %19857, %19850
  %19880 = load i32, ptr %415, align 4, !tbaa !5
  %19881 = call ptr @__errno_location() #12
  store i32 %19880, ptr %19881, align 4, !tbaa !5
  %19882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19883 = load i32, ptr @test_count, align 4, !tbaa !5
  %19884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19885 = load i32, ptr %19884, align 4, !tbaa !5
  %19886 = call ptr @s2n_strerror(i32 noundef %19885, ptr noundef @.str.4)
  %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_debug(i32 noundef %19888, ptr noundef @.str.4)
  %19890 = call ptr @__errno_location() #12
  %19891 = load i32, ptr %19890, align 4, !tbaa !5
  %19892 = call ptr @strerror(i32 noundef %19891) #11
  %19893 = call ptr @__errno_location() #12
  %19894 = load i32, ptr %19893, align 4, !tbaa !5
  %19895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19882, ptr noundef @.str.5, i32 noundef %19883, ptr noundef @.str.151, ptr noundef @.str.1, i32 noundef 755, ptr noundef %19886, ptr noundef %19889, ptr noundef %19892, i32 noundef %19894) #11
  br label %19896

19896:                                            ; preds = %19879, %19862
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #11
  br label %19897

19897:                                            ; preds = %19896
  br label %19898

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

19899:                                            ; No predecessors!
  br label %19900

19900:                                            ; preds = %19899
  br label %19901

19901:                                            ; preds = %19900, %19840
  br label %19902

19902:                                            ; preds = %19901
  br label %19903

19903:                                            ; preds = %19902
  br label %19904

19904:                                            ; preds = %19903
  %19905 = load i32, ptr @test_count, align 4, !tbaa !5
  %19906 = add nsw i32 %19905, 1
  store i32 %19906, ptr @test_count, align 4, !tbaa !5
  %19907 = load ptr, ptr %414, align 8, !tbaa !9
  %19908 = load i32, ptr %19907, align 8
  %19909 = lshr i32 %19908, 11
  %19910 = and i32 %19909, 1
  %19911 = icmp ne i32 %19910, 0
  br i1 %19911, label %19965, label %19912

19912:                                            ; preds = %19904
  br label %19913

19913:                                            ; preds = %19912
  br label %19914

19914:                                            ; preds = %19913
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #11
  %19915 = call ptr @__errno_location() #12
  %19916 = load i32, ptr %19915, align 4, !tbaa !5
  store i32 %19916, ptr %416, align 4, !tbaa !5
  %19917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19918 = call i32 @s2n_print_stacktrace(ptr noundef %19917)
  %19919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19920 = trunc i8 %19919 to i1
  br i1 %19920, label %19921, label %19943

19921:                                            ; preds = %19914
  %19922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19923 = call i32 @fileno(ptr noundef %19922) #11
  %19924 = call i32 @isatty(i32 noundef %19923) #11
  %19925 = icmp ne i32 %19924, 0
  br i1 %19925, label %19926, label %19943

19926:                                            ; preds = %19921
  %19927 = load i32, ptr %416, align 4, !tbaa !5
  %19928 = call ptr @__errno_location() #12
  store i32 %19927, ptr %19928, align 4, !tbaa !5
  %19929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19930 = load i32, ptr @test_count, align 4, !tbaa !5
  %19931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19932 = load i32, ptr %19931, align 4, !tbaa !5
  %19933 = call ptr @s2n_strerror(i32 noundef %19932, ptr noundef @.str.4)
  %19934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19935 = load i32, ptr %19934, align 4, !tbaa !5
  %19936 = call ptr @s2n_strerror_debug(i32 noundef %19935, ptr noundef @.str.4)
  %19937 = call ptr @__errno_location() #12
  %19938 = load i32, ptr %19937, align 4, !tbaa !5
  %19939 = call ptr @strerror(i32 noundef %19938) #11
  %19940 = call ptr @__errno_location() #12
  %19941 = load i32, ptr %19940, align 4, !tbaa !5
  %19942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19929, ptr noundef @.str.2, i32 noundef %19930, ptr noundef @.str.152, ptr noundef @.str.1, i32 noundef 756, ptr noundef %19933, ptr noundef %19936, ptr noundef %19939, i32 noundef %19941) #11
  br label %19960

19943:                                            ; preds = %19921, %19914
  %19944 = load i32, ptr %416, align 4, !tbaa !5
  %19945 = call ptr @__errno_location() #12
  store i32 %19944, ptr %19945, align 4, !tbaa !5
  %19946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19947 = load i32, ptr @test_count, align 4, !tbaa !5
  %19948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19949 = load i32, ptr %19948, align 4, !tbaa !5
  %19950 = call ptr @s2n_strerror(i32 noundef %19949, ptr noundef @.str.4)
  %19951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19952 = load i32, ptr %19951, align 4, !tbaa !5
  %19953 = call ptr @s2n_strerror_debug(i32 noundef %19952, ptr noundef @.str.4)
  %19954 = call ptr @__errno_location() #12
  %19955 = load i32, ptr %19954, align 4, !tbaa !5
  %19956 = call ptr @strerror(i32 noundef %19955) #11
  %19957 = call ptr @__errno_location() #12
  %19958 = load i32, ptr %19957, align 4, !tbaa !5
  %19959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19946, ptr noundef @.str.5, i32 noundef %19947, ptr noundef @.str.152, ptr noundef @.str.1, i32 noundef 756, ptr noundef %19950, ptr noundef %19953, ptr noundef %19956, i32 noundef %19958) #11
  br label %19960

19960:                                            ; preds = %19943, %19926
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #11
  br label %19961

19961:                                            ; preds = %19960
  br label %19962

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

19963:                                            ; No predecessors!
  br label %19964

19964:                                            ; preds = %19963
  br label %19965

19965:                                            ; preds = %19964, %19904
  br label %19966

19966:                                            ; preds = %19965
  br label %19967

19967:                                            ; preds = %19966
  br label %19968

19968:                                            ; preds = %19967
  %19969 = load i32, ptr @test_count, align 4, !tbaa !5
  %19970 = add nsw i32 %19969, 1
  store i32 %19970, ptr @test_count, align 4, !tbaa !5
  %19971 = load ptr, ptr %414, align 8, !tbaa !9
  %19972 = getelementptr inbounds %struct.s2n_config, ptr %19971, i32 0, i32 51
  %19973 = load i32, ptr %19972, align 8, !tbaa !58
  %19974 = icmp eq i32 %19973, 2
  br i1 %19974, label %20028, label %19975

19975:                                            ; preds = %19968
  br label %19976

19976:                                            ; preds = %19975
  br label %19977

19977:                                            ; preds = %19976
  call void @llvm.lifetime.start.p0(i64 4, ptr %417) #11
  %19978 = call ptr @__errno_location() #12
  %19979 = load i32, ptr %19978, align 4, !tbaa !5
  store i32 %19979, ptr %417, align 4, !tbaa !5
  %19980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19981 = call i32 @s2n_print_stacktrace(ptr noundef %19980)
  %19982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19983 = trunc i8 %19982 to i1
  br i1 %19983, label %19984, label %20006

19984:                                            ; preds = %19977
  %19985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19986 = call i32 @fileno(ptr noundef %19985) #11
  %19987 = call i32 @isatty(i32 noundef %19986) #11
  %19988 = icmp ne i32 %19987, 0
  br i1 %19988, label %19989, label %20006

19989:                                            ; preds = %19984
  %19990 = load i32, ptr %417, align 4, !tbaa !5
  %19991 = call ptr @__errno_location() #12
  store i32 %19990, ptr %19991, align 4, !tbaa !5
  %19992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19993 = load i32, ptr @test_count, align 4, !tbaa !5
  %19994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19995 = load i32, ptr %19994, align 4, !tbaa !5
  %19996 = call ptr @s2n_strerror(i32 noundef %19995, ptr noundef @.str.4)
  %19997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19998 = load i32, ptr %19997, align 4, !tbaa !5
  %19999 = call ptr @s2n_strerror_debug(i32 noundef %19998, ptr noundef @.str.4)
  %20000 = call ptr @__errno_location() #12
  %20001 = load i32, ptr %20000, align 4, !tbaa !5
  %20002 = call ptr @strerror(i32 noundef %20001) #11
  %20003 = call ptr @__errno_location() #12
  %20004 = load i32, ptr %20003, align 4, !tbaa !5
  %20005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19992, ptr noundef @.str.2, i32 noundef %19993, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 757, ptr noundef %19996, ptr noundef %19999, ptr noundef %20002, i32 noundef %20004) #11
  br label %20023

20006:                                            ; preds = %19984, %19977
  %20007 = load i32, ptr %417, align 4, !tbaa !5
  %20008 = call ptr @__errno_location() #12
  store i32 %20007, ptr %20008, align 4, !tbaa !5
  %20009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20010 = load i32, ptr @test_count, align 4, !tbaa !5
  %20011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20012 = load i32, ptr %20011, align 4, !tbaa !5
  %20013 = call ptr @s2n_strerror(i32 noundef %20012, ptr noundef @.str.4)
  %20014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20015 = load i32, ptr %20014, align 4, !tbaa !5
  %20016 = call ptr @s2n_strerror_debug(i32 noundef %20015, ptr noundef @.str.4)
  %20017 = call ptr @__errno_location() #12
  %20018 = load i32, ptr %20017, align 4, !tbaa !5
  %20019 = call ptr @strerror(i32 noundef %20018) #11
  %20020 = call ptr @__errno_location() #12
  %20021 = load i32, ptr %20020, align 4, !tbaa !5
  %20022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20009, ptr noundef @.str.5, i32 noundef %20010, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 757, ptr noundef %20013, ptr noundef %20016, ptr noundef %20019, i32 noundef %20021) #11
  br label %20023

20023:                                            ; preds = %20006, %19989
  call void @llvm.lifetime.end.p0(i64 4, ptr %417) #11
  br label %20024

20024:                                            ; preds = %20023
  br label %20025

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

20026:                                            ; No predecessors!
  br label %20027

20027:                                            ; preds = %20026
  br label %20028

20028:                                            ; preds = %20027, %19968
  br label %20029

20029:                                            ; preds = %20028
  br label %20030

20030:                                            ; preds = %20029
  call void @llvm.lifetime.start.p0(i64 8, ptr %418) #11
  %20031 = load ptr, ptr %414, align 8, !tbaa !9
  %20032 = call ptr @s2n_config_get_single_default_cert(ptr noundef %20031)
  store ptr %20032, ptr %418, align 8, !tbaa !9
  br label %20033

20033:                                            ; preds = %20030
  %20034 = load ptr, ptr %418, align 8, !tbaa !9
  %20035 = icmp ne ptr %20034, null
  br i1 %20035, label %20069, label %20036

20036:                                            ; preds = %20033
  br label %20037

20037:                                            ; preds = %20036
  br label %20038

20038:                                            ; preds = %20037
  %20039 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %20040 = getelementptr inbounds %struct.s2n_debug_info, ptr %20039, i32 0, i32 0
  store ptr @.str.153, ptr %20040, align 8, !tbaa !70
  %20041 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %20042 = getelementptr inbounds %struct.s2n_debug_info, ptr %20041, i32 0, i32 0
  %20043 = load ptr, ptr %20042, align 8, !tbaa !70
  %20044 = getelementptr inbounds i8, ptr %20043, i64 21
  %20045 = call ptr @strrchr(ptr noundef %20044, i32 noundef 47) #14
  %20046 = icmp ne ptr %20045, null
  br i1 %20046, label %20047, label %20054

20047:                                            ; preds = %20038
  %20048 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %20049 = getelementptr inbounds %struct.s2n_debug_info, ptr %20048, i32 0, i32 0
  %20050 = load ptr, ptr %20049, align 8, !tbaa !70
  %20051 = getelementptr inbounds i8, ptr %20050, i64 21
  %20052 = call ptr @strrchr(ptr noundef %20051, i32 noundef 47) #14
  %20053 = getelementptr inbounds i8, ptr %20052, i64 1
  br label %20059

20054:                                            ; preds = %20038
  %20055 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %20056 = getelementptr inbounds %struct.s2n_debug_info, ptr %20055, i32 0, i32 0
  %20057 = load ptr, ptr %20056, align 8, !tbaa !70
  %20058 = getelementptr inbounds i8, ptr %20057, i64 21
  br label %20059

20059:                                            ; preds = %20054, %20047
  %20060 = phi ptr [ %20053, %20047 ], [ %20058, %20054 ]
  %20061 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  %20062 = getelementptr inbounds %struct.s2n_debug_info, ptr %20061, i32 0, i32 1
  store ptr %20060, ptr %20062, align 8, !tbaa !72
  %20063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 402653193, ptr %20063, align 4, !tbaa !5
  %20064 = call i32 @s2n_calculate_stacktrace()
  br label %20065

20065:                                            ; preds = %20059
  br label %20066

20066:                                            ; preds = %20065
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %352, align 4
  br label %20596

20067:                                            ; No predecessors!
  br label %20068

20068:                                            ; preds = %20067
  br label %20069

20069:                                            ; preds = %20068, %20033
  br label %20070

20070:                                            ; preds = %20069
  br label %20071

20071:                                            ; preds = %20070
  br label %20072

20072:                                            ; preds = %20071
  br label %20073

20073:                                            ; preds = %20072
  %20074 = load i32, ptr @test_count, align 4, !tbaa !5
  %20075 = add nsw i32 %20074, 1
  store i32 %20075, ptr @test_count, align 4, !tbaa !5
  %20076 = load ptr, ptr %418, align 8, !tbaa !9
  %20077 = getelementptr inbounds %struct.s2n_cert_chain_and_key, ptr %20076, i32 0, i32 1
  %20078 = load ptr, ptr %20077, align 8, !tbaa !73
  %20079 = call i32 @s2n_pkey_check_key_exists(ptr noundef %20078)
  %20080 = icmp eq i32 %20079, -1
  br i1 %20080, label %20134, label %20081

20081:                                            ; preds = %20073
  br label %20082

20082:                                            ; preds = %20081
  br label %20083

20083:                                            ; preds = %20082
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #11
  %20084 = call ptr @__errno_location() #12
  %20085 = load i32, ptr %20084, align 4, !tbaa !5
  store i32 %20085, ptr %419, align 4, !tbaa !5
  %20086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20087 = call i32 @s2n_print_stacktrace(ptr noundef %20086)
  %20088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20089 = trunc i8 %20088 to i1
  br i1 %20089, label %20090, label %20112

20090:                                            ; preds = %20083
  %20091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20092 = call i32 @fileno(ptr noundef %20091) #11
  %20093 = call i32 @isatty(i32 noundef %20092) #11
  %20094 = icmp ne i32 %20093, 0
  br i1 %20094, label %20095, label %20112

20095:                                            ; preds = %20090
  %20096 = load i32, ptr %419, align 4, !tbaa !5
  %20097 = call ptr @__errno_location() #12
  store i32 %20096, ptr %20097, align 4, !tbaa !5
  %20098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20099 = load i32, ptr @test_count, align 4, !tbaa !5
  %20100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20101 = load i32, ptr %20100, align 4, !tbaa !5
  %20102 = call ptr @s2n_strerror(i32 noundef %20101, ptr noundef @.str.4)
  %20103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20104 = load i32, ptr %20103, align 4, !tbaa !5
  %20105 = call ptr @s2n_strerror_debug(i32 noundef %20104, ptr noundef @.str.4)
  %20106 = call ptr @__errno_location() #12
  %20107 = load i32, ptr %20106, align 4, !tbaa !5
  %20108 = call ptr @strerror(i32 noundef %20107) #11
  %20109 = call ptr @__errno_location() #12
  %20110 = load i32, ptr %20109, align 4, !tbaa !5
  %20111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20098, ptr noundef @.str.2, i32 noundef %20099, ptr noundef @.str.154, ptr noundef @.str.1, i32 noundef 761, ptr noundef %20102, ptr noundef %20105, ptr noundef %20108, i32 noundef %20110) #11
  br label %20129

20112:                                            ; preds = %20090, %20083
  %20113 = load i32, ptr %419, align 4, !tbaa !5
  %20114 = call ptr @__errno_location() #12
  store i32 %20113, ptr %20114, align 4, !tbaa !5
  %20115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20116 = load i32, ptr @test_count, align 4, !tbaa !5
  %20117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20118 = load i32, ptr %20117, align 4, !tbaa !5
  %20119 = call ptr @s2n_strerror(i32 noundef %20118, ptr noundef @.str.4)
  %20120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20121 = load i32, ptr %20120, align 4, !tbaa !5
  %20122 = call ptr @s2n_strerror_debug(i32 noundef %20121, ptr noundef @.str.4)
  %20123 = call ptr @__errno_location() #12
  %20124 = load i32, ptr %20123, align 4, !tbaa !5
  %20125 = call ptr @strerror(i32 noundef %20124) #11
  %20126 = call ptr @__errno_location() #12
  %20127 = load i32, ptr %20126, align 4, !tbaa !5
  %20128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20115, ptr noundef @.str.5, i32 noundef %20116, ptr noundef @.str.154, ptr noundef @.str.1, i32 noundef 761, ptr noundef %20119, ptr noundef %20122, ptr noundef %20125, i32 noundef %20127) #11
  br label %20129

20129:                                            ; preds = %20112, %20095
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #11
  br label %20130

20130:                                            ; preds = %20129
  br label %20131

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

20132:                                            ; No predecessors!
  br label %20133

20133:                                            ; preds = %20132
  br label %20134

20134:                                            ; preds = %20133, %20073
  br label %20135

20135:                                            ; preds = %20134
  br label %20136

20136:                                            ; preds = %20135
  br label %20137

20137:                                            ; preds = %20136
  %20138 = load i32, ptr @test_count, align 4, !tbaa !5
  %20139 = add nsw i32 %20138, 1
  store i32 %20139, ptr @test_count, align 4, !tbaa !5
  %20140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20141 = load i32, ptr %20140, align 4, !tbaa !5
  %20142 = icmp eq i32 %20141, 0
  br i1 %20142, label %20143, label %20196

20143:                                            ; preds = %20137
  br label %20144

20144:                                            ; preds = %20143
  br label %20145

20145:                                            ; preds = %20144
  call void @llvm.lifetime.start.p0(i64 4, ptr %420) #11
  %20146 = call ptr @__errno_location() #12
  %20147 = load i32, ptr %20146, align 4, !tbaa !5
  store i32 %20147, ptr %420, align 4, !tbaa !5
  %20148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20149 = call i32 @s2n_print_stacktrace(ptr noundef %20148)
  %20150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20151 = trunc i8 %20150 to i1
  br i1 %20151, label %20152, label %20174

20152:                                            ; preds = %20145
  %20153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20154 = call i32 @fileno(ptr noundef %20153) #11
  %20155 = call i32 @isatty(i32 noundef %20154) #11
  %20156 = icmp ne i32 %20155, 0
  br i1 %20156, label %20157, label %20174

20157:                                            ; preds = %20152
  %20158 = load i32, ptr %420, align 4, !tbaa !5
  %20159 = call ptr @__errno_location() #12
  store i32 %20158, ptr %20159, align 4, !tbaa !5
  %20160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20161 = load i32, ptr @test_count, align 4, !tbaa !5
  %20162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20163 = load i32, ptr %20162, align 4, !tbaa !5
  %20164 = call ptr @s2n_strerror(i32 noundef %20163, ptr noundef @.str.4)
  %20165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20166 = load i32, ptr %20165, align 4, !tbaa !5
  %20167 = call ptr @s2n_strerror_debug(i32 noundef %20166, ptr noundef @.str.4)
  %20168 = call ptr @__errno_location() #12
  %20169 = load i32, ptr %20168, align 4, !tbaa !5
  %20170 = call ptr @strerror(i32 noundef %20169) #11
  %20171 = call ptr @__errno_location() #12
  %20172 = load i32, ptr %20171, align 4, !tbaa !5
  %20173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20160, ptr noundef @.str.2, i32 noundef %20161, ptr noundef @.str.155, ptr noundef @.str.1, i32 noundef 761, ptr noundef %20164, ptr noundef %20167, ptr noundef %20170, i32 noundef %20172) #11
  br label %20191

20174:                                            ; preds = %20152, %20145
  %20175 = load i32, ptr %420, align 4, !tbaa !5
  %20176 = call ptr @__errno_location() #12
  store i32 %20175, ptr %20176, align 4, !tbaa !5
  %20177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20178 = load i32, ptr @test_count, align 4, !tbaa !5
  %20179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20180 = load i32, ptr %20179, align 4, !tbaa !5
  %20181 = call ptr @s2n_strerror(i32 noundef %20180, ptr noundef @.str.4)
  %20182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20183 = load i32, ptr %20182, align 4, !tbaa !5
  %20184 = call ptr @s2n_strerror_debug(i32 noundef %20183, ptr noundef @.str.4)
  %20185 = call ptr @__errno_location() #12
  %20186 = load i32, ptr %20185, align 4, !tbaa !5
  %20187 = call ptr @strerror(i32 noundef %20186) #11
  %20188 = call ptr @__errno_location() #12
  %20189 = load i32, ptr %20188, align 4, !tbaa !5
  %20190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20177, ptr noundef @.str.5, i32 noundef %20178, ptr noundef @.str.155, ptr noundef @.str.1, i32 noundef 761, ptr noundef %20181, ptr noundef %20184, ptr noundef %20187, i32 noundef %20189) #11
  br label %20191

20191:                                            ; preds = %20174, %20157
  call void @llvm.lifetime.end.p0(i64 4, ptr %420) #11
  br label %20192

20192:                                            ; preds = %20191
  br label %20193

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

20194:                                            ; No predecessors!
  br label %20195

20195:                                            ; preds = %20194
  br label %20196

20196:                                            ; preds = %20195, %20137
  br label %20197

20197:                                            ; preds = %20196
  br label %20198

20198:                                            ; preds = %20197
  br label %20199

20199:                                            ; preds = %20198
  %20200 = load i32, ptr @test_count, align 4, !tbaa !5
  %20201 = add nsw i32 %20200, 1
  store i32 %20201, ptr @test_count, align 4, !tbaa !5
  %20202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20203 = load i32, ptr %20202, align 4, !tbaa !5
  %20204 = call ptr @s2n_strerror_debug(i32 noundef %20203, ptr noundef @.str.4)
  %20205 = icmp eq ptr %20204, null
  br i1 %20205, label %20206, label %20259

20206:                                            ; preds = %20199
  br label %20207

20207:                                            ; preds = %20206
  br label %20208

20208:                                            ; preds = %20207
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #11
  %20209 = call ptr @__errno_location() #12
  %20210 = load i32, ptr %20209, align 4, !tbaa !5
  store i32 %20210, ptr %421, align 4, !tbaa !5
  %20211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20212 = call i32 @s2n_print_stacktrace(ptr noundef %20211)
  %20213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20214 = trunc i8 %20213 to i1
  br i1 %20214, label %20215, label %20237

20215:                                            ; preds = %20208
  %20216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20217 = call i32 @fileno(ptr noundef %20216) #11
  %20218 = call i32 @isatty(i32 noundef %20217) #11
  %20219 = icmp ne i32 %20218, 0
  br i1 %20219, label %20220, label %20237

20220:                                            ; preds = %20215
  %20221 = load i32, ptr %421, align 4, !tbaa !5
  %20222 = call ptr @__errno_location() #12
  store i32 %20221, ptr %20222, align 4, !tbaa !5
  %20223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20224 = load i32, ptr @test_count, align 4, !tbaa !5
  %20225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20226 = load i32, ptr %20225, align 4, !tbaa !5
  %20227 = call ptr @s2n_strerror(i32 noundef %20226, ptr noundef @.str.4)
  %20228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20229 = load i32, ptr %20228, align 4, !tbaa !5
  %20230 = call ptr @s2n_strerror_debug(i32 noundef %20229, ptr noundef @.str.4)
  %20231 = call ptr @__errno_location() #12
  %20232 = load i32, ptr %20231, align 4, !tbaa !5
  %20233 = call ptr @strerror(i32 noundef %20232) #11
  %20234 = call ptr @__errno_location() #12
  %20235 = load i32, ptr %20234, align 4, !tbaa !5
  %20236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20223, ptr noundef @.str.2, i32 noundef %20224, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 761, ptr noundef %20227, ptr noundef %20230, ptr noundef %20233, i32 noundef %20235) #11
  br label %20254

20237:                                            ; preds = %20215, %20208
  %20238 = load i32, ptr %421, align 4, !tbaa !5
  %20239 = call ptr @__errno_location() #12
  store i32 %20238, ptr %20239, align 4, !tbaa !5
  %20240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20241 = load i32, ptr @test_count, align 4, !tbaa !5
  %20242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20243 = load i32, ptr %20242, align 4, !tbaa !5
  %20244 = call ptr @s2n_strerror(i32 noundef %20243, ptr noundef @.str.4)
  %20245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20246 = load i32, ptr %20245, align 4, !tbaa !5
  %20247 = call ptr @s2n_strerror_debug(i32 noundef %20246, ptr noundef @.str.4)
  %20248 = call ptr @__errno_location() #12
  %20249 = load i32, ptr %20248, align 4, !tbaa !5
  %20250 = call ptr @strerror(i32 noundef %20249) #11
  %20251 = call ptr @__errno_location() #12
  %20252 = load i32, ptr %20251, align 4, !tbaa !5
  %20253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20240, ptr noundef @.str.5, i32 noundef %20241, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 761, ptr noundef %20244, ptr noundef %20247, ptr noundef %20250, i32 noundef %20252) #11
  br label %20254

20254:                                            ; preds = %20237, %20220
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #11
  br label %20255

20255:                                            ; preds = %20254
  br label %20256

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

20257:                                            ; No predecessors!
  br label %20258

20258:                                            ; preds = %20257
  br label %20259

20259:                                            ; preds = %20258, %20199
  br label %20260

20260:                                            ; preds = %20259
  br label %20261

20261:                                            ; preds = %20260
  br label %20262

20262:                                            ; preds = %20261
  %20263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20263, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20264 = call ptr @__errno_location() #12
  store i32 0, ptr %20264, align 4, !tbaa !5
  br label %20265

20265:                                            ; preds = %20262
  br label %20266

20266:                                            ; preds = %20265
  br label %20267

20267:                                            ; preds = %20266
  br label %20268

20268:                                            ; preds = %20267
  call void @llvm.lifetime.start.p0(i64 8, ptr %422) #11
  %20269 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %20269, ptr %422, align 8, !tbaa !9
  br label %20270

20270:                                            ; preds = %20268
  br label %20271

20271:                                            ; preds = %20270
  br label %20272

20272:                                            ; preds = %20271
  %20273 = load i32, ptr @test_count, align 4, !tbaa !5
  %20274 = add nsw i32 %20273, 1
  store i32 %20274, ptr @test_count, align 4, !tbaa !5
  %20275 = load ptr, ptr %422, align 8, !tbaa !9
  %20276 = load ptr, ptr %414, align 8, !tbaa !9
  %20277 = call i32 @s2n_connection_set_config(ptr noundef %20275, ptr noundef %20276)
  %20278 = icmp eq i32 %20277, -1
  br i1 %20278, label %20332, label %20279

20279:                                            ; preds = %20272
  br label %20280

20280:                                            ; preds = %20279
  br label %20281

20281:                                            ; preds = %20280
  call void @llvm.lifetime.start.p0(i64 4, ptr %423) #11
  %20282 = call ptr @__errno_location() #12
  %20283 = load i32, ptr %20282, align 4, !tbaa !5
  store i32 %20283, ptr %423, align 4, !tbaa !5
  %20284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20285 = call i32 @s2n_print_stacktrace(ptr noundef %20284)
  %20286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20287 = trunc i8 %20286 to i1
  br i1 %20287, label %20288, label %20310

20288:                                            ; preds = %20281
  %20289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20290 = call i32 @fileno(ptr noundef %20289) #11
  %20291 = call i32 @isatty(i32 noundef %20290) #11
  %20292 = icmp ne i32 %20291, 0
  br i1 %20292, label %20293, label %20310

20293:                                            ; preds = %20288
  %20294 = load i32, ptr %423, align 4, !tbaa !5
  %20295 = call ptr @__errno_location() #12
  store i32 %20294, ptr %20295, align 4, !tbaa !5
  %20296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20297 = load i32, ptr @test_count, align 4, !tbaa !5
  %20298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20299 = load i32, ptr %20298, align 4, !tbaa !5
  %20300 = call ptr @s2n_strerror(i32 noundef %20299, ptr noundef @.str.4)
  %20301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20302 = load i32, ptr %20301, align 4, !tbaa !5
  %20303 = call ptr @s2n_strerror_debug(i32 noundef %20302, ptr noundef @.str.4)
  %20304 = call ptr @__errno_location() #12
  %20305 = load i32, ptr %20304, align 4, !tbaa !5
  %20306 = call ptr @strerror(i32 noundef %20305) #11
  %20307 = call ptr @__errno_location() #12
  %20308 = load i32, ptr %20307, align 4, !tbaa !5
  %20309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20296, ptr noundef @.str.2, i32 noundef %20297, ptr noundef @.str.156, ptr noundef @.str.1, i32 noundef 765, ptr noundef %20300, ptr noundef %20303, ptr noundef %20306, i32 noundef %20308) #11
  br label %20327

20310:                                            ; preds = %20288, %20281
  %20311 = load i32, ptr %423, align 4, !tbaa !5
  %20312 = call ptr @__errno_location() #12
  store i32 %20311, ptr %20312, align 4, !tbaa !5
  %20313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20314 = load i32, ptr @test_count, align 4, !tbaa !5
  %20315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20316 = load i32, ptr %20315, align 4, !tbaa !5
  %20317 = call ptr @s2n_strerror(i32 noundef %20316, ptr noundef @.str.4)
  %20318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20319 = load i32, ptr %20318, align 4, !tbaa !5
  %20320 = call ptr @s2n_strerror_debug(i32 noundef %20319, ptr noundef @.str.4)
  %20321 = call ptr @__errno_location() #12
  %20322 = load i32, ptr %20321, align 4, !tbaa !5
  %20323 = call ptr @strerror(i32 noundef %20322) #11
  %20324 = call ptr @__errno_location() #12
  %20325 = load i32, ptr %20324, align 4, !tbaa !5
  %20326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20313, ptr noundef @.str.5, i32 noundef %20314, ptr noundef @.str.156, ptr noundef @.str.1, i32 noundef 765, ptr noundef %20317, ptr noundef %20320, ptr noundef %20323, i32 noundef %20325) #11
  br label %20327

20327:                                            ; preds = %20310, %20293
  call void @llvm.lifetime.end.p0(i64 4, ptr %423) #11
  br label %20328

20328:                                            ; preds = %20327
  br label %20329

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

20330:                                            ; No predecessors!
  br label %20331

20331:                                            ; preds = %20330
  br label %20332

20332:                                            ; preds = %20331, %20272
  br label %20333

20333:                                            ; preds = %20332
  br label %20334

20334:                                            ; preds = %20333
  br label %20335

20335:                                            ; preds = %20334
  %20336 = load i32, ptr @test_count, align 4, !tbaa !5
  %20337 = add nsw i32 %20336, 1
  store i32 %20337, ptr @test_count, align 4, !tbaa !5
  %20338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20339 = load i32, ptr %20338, align 4, !tbaa !5
  %20340 = icmp eq i32 %20339, 469762116
  br i1 %20340, label %20394, label %20341

20341:                                            ; preds = %20335
  br label %20342

20342:                                            ; preds = %20341
  br label %20343

20343:                                            ; preds = %20342
  call void @llvm.lifetime.start.p0(i64 4, ptr %424) #11
  %20344 = call ptr @__errno_location() #12
  %20345 = load i32, ptr %20344, align 4, !tbaa !5
  store i32 %20345, ptr %424, align 4, !tbaa !5
  %20346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20347 = call i32 @s2n_print_stacktrace(ptr noundef %20346)
  %20348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20349 = trunc i8 %20348 to i1
  br i1 %20349, label %20350, label %20372

20350:                                            ; preds = %20343
  %20351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20352 = call i32 @fileno(ptr noundef %20351) #11
  %20353 = call i32 @isatty(i32 noundef %20352) #11
  %20354 = icmp ne i32 %20353, 0
  br i1 %20354, label %20355, label %20372

20355:                                            ; preds = %20350
  %20356 = load i32, ptr %424, align 4, !tbaa !5
  %20357 = call ptr @__errno_location() #12
  store i32 %20356, ptr %20357, align 4, !tbaa !5
  %20358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20359 = load i32, ptr @test_count, align 4, !tbaa !5
  %20360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20361 = load i32, ptr %20360, align 4, !tbaa !5
  %20362 = call ptr @s2n_strerror(i32 noundef %20361, ptr noundef @.str.4)
  %20363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20364 = load i32, ptr %20363, align 4, !tbaa !5
  %20365 = call ptr @s2n_strerror_debug(i32 noundef %20364, ptr noundef @.str.4)
  %20366 = call ptr @__errno_location() #12
  %20367 = load i32, ptr %20366, align 4, !tbaa !5
  %20368 = call ptr @strerror(i32 noundef %20367) #11
  %20369 = call ptr @__errno_location() #12
  %20370 = load i32, ptr %20369, align 4, !tbaa !5
  %20371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20358, ptr noundef @.str.2, i32 noundef %20359, ptr noundef @.str.157, ptr noundef @.str.1, i32 noundef 765, ptr noundef %20362, ptr noundef %20365, ptr noundef %20368, i32 noundef %20370) #11
  br label %20389

20372:                                            ; preds = %20350, %20343
  %20373 = load i32, ptr %424, align 4, !tbaa !5
  %20374 = call ptr @__errno_location() #12
  store i32 %20373, ptr %20374, align 4, !tbaa !5
  %20375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20376 = load i32, ptr @test_count, align 4, !tbaa !5
  %20377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20378 = load i32, ptr %20377, align 4, !tbaa !5
  %20379 = call ptr @s2n_strerror(i32 noundef %20378, ptr noundef @.str.4)
  %20380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20381 = load i32, ptr %20380, align 4, !tbaa !5
  %20382 = call ptr @s2n_strerror_debug(i32 noundef %20381, ptr noundef @.str.4)
  %20383 = call ptr @__errno_location() #12
  %20384 = load i32, ptr %20383, align 4, !tbaa !5
  %20385 = call ptr @strerror(i32 noundef %20384) #11
  %20386 = call ptr @__errno_location() #12
  %20387 = load i32, ptr %20386, align 4, !tbaa !5
  %20388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20375, ptr noundef @.str.5, i32 noundef %20376, ptr noundef @.str.157, ptr noundef @.str.1, i32 noundef 765, ptr noundef %20379, ptr noundef %20382, ptr noundef %20385, i32 noundef %20387) #11
  br label %20389

20389:                                            ; preds = %20372, %20355
  call void @llvm.lifetime.end.p0(i64 4, ptr %424) #11
  br label %20390

20390:                                            ; preds = %20389
  br label %20391

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

20392:                                            ; No predecessors!
  br label %20393

20393:                                            ; preds = %20392
  br label %20394

20394:                                            ; preds = %20393, %20335
  br label %20395

20395:                                            ; preds = %20394
  br label %20396

20396:                                            ; preds = %20395
  br label %20397

20397:                                            ; preds = %20396
  %20398 = load i32, ptr @test_count, align 4, !tbaa !5
  %20399 = add nsw i32 %20398, 1
  store i32 %20399, ptr @test_count, align 4, !tbaa !5
  %20400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20401 = load i32, ptr %20400, align 4, !tbaa !5
  %20402 = call ptr @s2n_strerror_debug(i32 noundef %20401, ptr noundef @.str.4)
  %20403 = icmp eq ptr %20402, null
  br i1 %20403, label %20404, label %20457

20404:                                            ; preds = %20397
  br label %20405

20405:                                            ; preds = %20404
  br label %20406

20406:                                            ; preds = %20405
  call void @llvm.lifetime.start.p0(i64 4, ptr %425) #11
  %20407 = call ptr @__errno_location() #12
  %20408 = load i32, ptr %20407, align 4, !tbaa !5
  store i32 %20408, ptr %425, align 4, !tbaa !5
  %20409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20410 = call i32 @s2n_print_stacktrace(ptr noundef %20409)
  %20411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20412 = trunc i8 %20411 to i1
  br i1 %20412, label %20413, label %20435

20413:                                            ; preds = %20406
  %20414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20415 = call i32 @fileno(ptr noundef %20414) #11
  %20416 = call i32 @isatty(i32 noundef %20415) #11
  %20417 = icmp ne i32 %20416, 0
  br i1 %20417, label %20418, label %20435

20418:                                            ; preds = %20413
  %20419 = load i32, ptr %425, align 4, !tbaa !5
  %20420 = call ptr @__errno_location() #12
  store i32 %20419, ptr %20420, align 4, !tbaa !5
  %20421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20422 = load i32, ptr @test_count, align 4, !tbaa !5
  %20423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20424 = load i32, ptr %20423, align 4, !tbaa !5
  %20425 = call ptr @s2n_strerror(i32 noundef %20424, ptr noundef @.str.4)
  %20426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20427 = load i32, ptr %20426, align 4, !tbaa !5
  %20428 = call ptr @s2n_strerror_debug(i32 noundef %20427, ptr noundef @.str.4)
  %20429 = call ptr @__errno_location() #12
  %20430 = load i32, ptr %20429, align 4, !tbaa !5
  %20431 = call ptr @strerror(i32 noundef %20430) #11
  %20432 = call ptr @__errno_location() #12
  %20433 = load i32, ptr %20432, align 4, !tbaa !5
  %20434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20421, ptr noundef @.str.2, i32 noundef %20422, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 765, ptr noundef %20425, ptr noundef %20428, ptr noundef %20431, i32 noundef %20433) #11
  br label %20452

20435:                                            ; preds = %20413, %20406
  %20436 = load i32, ptr %425, align 4, !tbaa !5
  %20437 = call ptr @__errno_location() #12
  store i32 %20436, ptr %20437, align 4, !tbaa !5
  %20438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20439 = load i32, ptr @test_count, align 4, !tbaa !5
  %20440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20441 = load i32, ptr %20440, align 4, !tbaa !5
  %20442 = call ptr @s2n_strerror(i32 noundef %20441, ptr noundef @.str.4)
  %20443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20444 = load i32, ptr %20443, align 4, !tbaa !5
  %20445 = call ptr @s2n_strerror_debug(i32 noundef %20444, ptr noundef @.str.4)
  %20446 = call ptr @__errno_location() #12
  %20447 = load i32, ptr %20446, align 4, !tbaa !5
  %20448 = call ptr @strerror(i32 noundef %20447) #11
  %20449 = call ptr @__errno_location() #12
  %20450 = load i32, ptr %20449, align 4, !tbaa !5
  %20451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20438, ptr noundef @.str.5, i32 noundef %20439, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 765, ptr noundef %20442, ptr noundef %20445, ptr noundef %20448, i32 noundef %20450) #11
  br label %20452

20452:                                            ; preds = %20435, %20418
  call void @llvm.lifetime.end.p0(i64 4, ptr %425) #11
  br label %20453

20453:                                            ; preds = %20452
  br label %20454

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

20455:                                            ; No predecessors!
  br label %20456

20456:                                            ; preds = %20455
  br label %20457

20457:                                            ; preds = %20456, %20397
  br label %20458

20458:                                            ; preds = %20457
  br label %20459

20459:                                            ; preds = %20458
  br label %20460

20460:                                            ; preds = %20459
  br label %20461

20461:                                            ; preds = %20460
  br label %20462

20462:                                            ; preds = %20461
  %20463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20463, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20464 = call ptr @__errno_location() #12
  store i32 0, ptr %20464, align 4, !tbaa !5
  br label %20465

20465:                                            ; preds = %20462
  br label %20466

20466:                                            ; preds = %20465
  br label %20467

20467:                                            ; preds = %20466
  br label %20468

20468:                                            ; preds = %20467
  br label %20469

20469:                                            ; preds = %20468
  %20470 = load i32, ptr @test_count, align 4, !tbaa !5
  %20471 = add nsw i32 %20470, 1
  store i32 %20471, ptr @test_count, align 4, !tbaa !5
  %20472 = load ptr, ptr %414, align 8, !tbaa !9
  %20473 = call i32 @s2n_config_set_async_pkey_callback(ptr noundef %20472, ptr noundef @s2n_test_async_pkey_fn)
  %20474 = icmp eq i32 %20473, -1
  br i1 %20474, label %20475, label %20528

20475:                                            ; preds = %20469
  br label %20476

20476:                                            ; preds = %20475
  br label %20477

20477:                                            ; preds = %20476
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #11
  %20478 = call ptr @__errno_location() #12
  %20479 = load i32, ptr %20478, align 4, !tbaa !5
  store i32 %20479, ptr %426, align 4, !tbaa !5
  %20480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20481 = call i32 @s2n_print_stacktrace(ptr noundef %20480)
  %20482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20483 = trunc i8 %20482 to i1
  br i1 %20483, label %20484, label %20506

20484:                                            ; preds = %20477
  %20485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20486 = call i32 @fileno(ptr noundef %20485) #11
  %20487 = call i32 @isatty(i32 noundef %20486) #11
  %20488 = icmp ne i32 %20487, 0
  br i1 %20488, label %20489, label %20506

20489:                                            ; preds = %20484
  %20490 = load i32, ptr %426, align 4, !tbaa !5
  %20491 = call ptr @__errno_location() #12
  store i32 %20490, ptr %20491, align 4, !tbaa !5
  %20492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20493 = load i32, ptr @test_count, align 4, !tbaa !5
  %20494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20495 = load i32, ptr %20494, align 4, !tbaa !5
  %20496 = call ptr @s2n_strerror(i32 noundef %20495, ptr noundef @.str.4)
  %20497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20498 = load i32, ptr %20497, align 4, !tbaa !5
  %20499 = call ptr @s2n_strerror_debug(i32 noundef %20498, ptr noundef @.str.4)
  %20500 = call ptr @__errno_location() #12
  %20501 = load i32, ptr %20500, align 4, !tbaa !5
  %20502 = call ptr @strerror(i32 noundef %20501) #11
  %20503 = call ptr @__errno_location() #12
  %20504 = load i32, ptr %20503, align 4, !tbaa !5
  %20505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20492, ptr noundef @.str.2, i32 noundef %20493, ptr noundef @.str.158, ptr noundef @.str.1, i32 noundef 766, ptr noundef %20496, ptr noundef %20499, ptr noundef %20502, i32 noundef %20504) #11
  br label %20523

20506:                                            ; preds = %20484, %20477
  %20507 = load i32, ptr %426, align 4, !tbaa !5
  %20508 = call ptr @__errno_location() #12
  store i32 %20507, ptr %20508, align 4, !tbaa !5
  %20509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20510 = load i32, ptr @test_count, align 4, !tbaa !5
  %20511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20512 = load i32, ptr %20511, align 4, !tbaa !5
  %20513 = call ptr @s2n_strerror(i32 noundef %20512, ptr noundef @.str.4)
  %20514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20515 = load i32, ptr %20514, align 4, !tbaa !5
  %20516 = call ptr @s2n_strerror_debug(i32 noundef %20515, ptr noundef @.str.4)
  %20517 = call ptr @__errno_location() #12
  %20518 = load i32, ptr %20517, align 4, !tbaa !5
  %20519 = call ptr @strerror(i32 noundef %20518) #11
  %20520 = call ptr @__errno_location() #12
  %20521 = load i32, ptr %20520, align 4, !tbaa !5
  %20522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20509, ptr noundef @.str.5, i32 noundef %20510, ptr noundef @.str.158, ptr noundef @.str.1, i32 noundef 766, ptr noundef %20513, ptr noundef %20516, ptr noundef %20519, i32 noundef %20521) #11
  br label %20523

20523:                                            ; preds = %20506, %20489
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #11
  br label %20524

20524:                                            ; preds = %20523
  br label %20525

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

20526:                                            ; No predecessors!
  br label %20527

20527:                                            ; preds = %20526
  br label %20528

20528:                                            ; preds = %20527, %20469
  br label %20529

20529:                                            ; preds = %20528
  br label %20530

20530:                                            ; preds = %20529
  br label %20531

20531:                                            ; preds = %20530
  %20532 = load i32, ptr @test_count, align 4, !tbaa !5
  %20533 = add nsw i32 %20532, 1
  store i32 %20533, ptr @test_count, align 4, !tbaa !5
  %20534 = load ptr, ptr %422, align 8, !tbaa !9
  %20535 = load ptr, ptr %414, align 8, !tbaa !9
  %20536 = call i32 @s2n_connection_set_config(ptr noundef %20534, ptr noundef %20535)
  %20537 = icmp eq i32 %20536, -1
  br i1 %20537, label %20538, label %20591

20538:                                            ; preds = %20531
  br label %20539

20539:                                            ; preds = %20538
  br label %20540

20540:                                            ; preds = %20539
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #11
  %20541 = call ptr @__errno_location() #12
  %20542 = load i32, ptr %20541, align 4, !tbaa !5
  store i32 %20542, ptr %427, align 4, !tbaa !5
  %20543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20544 = call i32 @s2n_print_stacktrace(ptr noundef %20543)
  %20545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20546 = trunc i8 %20545 to i1
  br i1 %20546, label %20547, label %20569

20547:                                            ; preds = %20540
  %20548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20549 = call i32 @fileno(ptr noundef %20548) #11
  %20550 = call i32 @isatty(i32 noundef %20549) #11
  %20551 = icmp ne i32 %20550, 0
  br i1 %20551, label %20552, label %20569

20552:                                            ; preds = %20547
  %20553 = load i32, ptr %427, align 4, !tbaa !5
  %20554 = call ptr @__errno_location() #12
  store i32 %20553, ptr %20554, align 4, !tbaa !5
  %20555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20556 = load i32, ptr @test_count, align 4, !tbaa !5
  %20557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20558 = load i32, ptr %20557, align 4, !tbaa !5
  %20559 = call ptr @s2n_strerror(i32 noundef %20558, ptr noundef @.str.4)
  %20560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20561 = load i32, ptr %20560, align 4, !tbaa !5
  %20562 = call ptr @s2n_strerror_debug(i32 noundef %20561, ptr noundef @.str.4)
  %20563 = call ptr @__errno_location() #12
  %20564 = load i32, ptr %20563, align 4, !tbaa !5
  %20565 = call ptr @strerror(i32 noundef %20564) #11
  %20566 = call ptr @__errno_location() #12
  %20567 = load i32, ptr %20566, align 4, !tbaa !5
  %20568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20555, ptr noundef @.str.2, i32 noundef %20556, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 767, ptr noundef %20559, ptr noundef %20562, ptr noundef %20565, i32 noundef %20567) #11
  br label %20586

20569:                                            ; preds = %20547, %20540
  %20570 = load i32, ptr %427, align 4, !tbaa !5
  %20571 = call ptr @__errno_location() #12
  store i32 %20570, ptr %20571, align 4, !tbaa !5
  %20572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20573 = load i32, ptr @test_count, align 4, !tbaa !5
  %20574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20575 = load i32, ptr %20574, align 4, !tbaa !5
  %20576 = call ptr @s2n_strerror(i32 noundef %20575, ptr noundef @.str.4)
  %20577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20578 = load i32, ptr %20577, align 4, !tbaa !5
  %20579 = call ptr @s2n_strerror_debug(i32 noundef %20578, ptr noundef @.str.4)
  %20580 = call ptr @__errno_location() #12
  %20581 = load i32, ptr %20580, align 4, !tbaa !5
  %20582 = call ptr @strerror(i32 noundef %20581) #11
  %20583 = call ptr @__errno_location() #12
  %20584 = load i32, ptr %20583, align 4, !tbaa !5
  %20585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20572, ptr noundef @.str.5, i32 noundef %20573, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 767, ptr noundef %20576, ptr noundef %20579, ptr noundef %20582, i32 noundef %20584) #11
  br label %20586

20586:                                            ; preds = %20569, %20552
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #11
  br label %20587

20587:                                            ; preds = %20586
  br label %20588

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

20589:                                            ; No predecessors!
  br label %20590

20590:                                            ; preds = %20589
  br label %20591

20591:                                            ; preds = %20590, %20531
  br label %20592

20592:                                            ; preds = %20591
  br label %20593

20593:                                            ; preds = %20592
  %20594 = call i32 @s2n_connection_ptr_free(ptr noundef %422)
  %20595 = getelementptr inbounds %struct.s2n_result, ptr %428, i32 0, i32 0
  store i32 %20594, ptr %20595, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %422) #11
  store i32 0, ptr %352, align 4
  br label %20596

20596:                                            ; preds = %20593, %20066
  call void @llvm.lifetime.end.p0(i64 8, ptr %418) #11
  %20597 = call i32 @s2n_config_ptr_free(ptr noundef %414)
  %20598 = getelementptr inbounds %struct.s2n_result, ptr %429, i32 0, i32 0
  store i32 %20597, ptr %20598, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %414) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr %412) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #11
  %20599 = load i32, ptr %352, align 4
  switch i32 %20599, label %32269 [
    i32 0, label %20600
  ]

20600:                                            ; preds = %20596
  br label %20601

20601:                                            ; preds = %20600
  br label %20602

20602:                                            ; preds = %20601
  br label %20603

20603:                                            ; preds = %20602
  %20604 = load i32, ptr @test_count, align 4, !tbaa !5
  %20605 = add nsw i32 %20604, 1
  store i32 %20605, ptr @test_count, align 4, !tbaa !5
  %20606 = call i32 @s2n_config_load_system_certs(ptr noundef null)
  %20607 = icmp eq i32 %20606, -1
  br i1 %20607, label %20661, label %20608

20608:                                            ; preds = %20603
  br label %20609

20609:                                            ; preds = %20608
  br label %20610

20610:                                            ; preds = %20609
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #11
  %20611 = call ptr @__errno_location() #12
  %20612 = load i32, ptr %20611, align 4, !tbaa !5
  store i32 %20612, ptr %430, align 4, !tbaa !5
  %20613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20614 = call i32 @s2n_print_stacktrace(ptr noundef %20613)
  %20615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20616 = trunc i8 %20615 to i1
  br i1 %20616, label %20617, label %20639

20617:                                            ; preds = %20610
  %20618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20619 = call i32 @fileno(ptr noundef %20618) #11
  %20620 = call i32 @isatty(i32 noundef %20619) #11
  %20621 = icmp ne i32 %20620, 0
  br i1 %20621, label %20622, label %20639

20622:                                            ; preds = %20617
  %20623 = load i32, ptr %430, align 4, !tbaa !5
  %20624 = call ptr @__errno_location() #12
  store i32 %20623, ptr %20624, align 4, !tbaa !5
  %20625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20626 = load i32, ptr @test_count, align 4, !tbaa !5
  %20627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20628 = load i32, ptr %20627, align 4, !tbaa !5
  %20629 = call ptr @s2n_strerror(i32 noundef %20628, ptr noundef @.str.4)
  %20630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20631 = load i32, ptr %20630, align 4, !tbaa !5
  %20632 = call ptr @s2n_strerror_debug(i32 noundef %20631, ptr noundef @.str.4)
  %20633 = call ptr @__errno_location() #12
  %20634 = load i32, ptr %20633, align 4, !tbaa !5
  %20635 = call ptr @strerror(i32 noundef %20634) #11
  %20636 = call ptr @__errno_location() #12
  %20637 = load i32, ptr %20636, align 4, !tbaa !5
  %20638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20625, ptr noundef @.str.2, i32 noundef %20626, ptr noundef @.str.159, ptr noundef @.str.1, i32 noundef 774, ptr noundef %20629, ptr noundef %20632, ptr noundef %20635, i32 noundef %20637) #11
  br label %20656

20639:                                            ; preds = %20617, %20610
  %20640 = load i32, ptr %430, align 4, !tbaa !5
  %20641 = call ptr @__errno_location() #12
  store i32 %20640, ptr %20641, align 4, !tbaa !5
  %20642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20643 = load i32, ptr @test_count, align 4, !tbaa !5
  %20644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20645 = load i32, ptr %20644, align 4, !tbaa !5
  %20646 = call ptr @s2n_strerror(i32 noundef %20645, ptr noundef @.str.4)
  %20647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20648 = load i32, ptr %20647, align 4, !tbaa !5
  %20649 = call ptr @s2n_strerror_debug(i32 noundef %20648, ptr noundef @.str.4)
  %20650 = call ptr @__errno_location() #12
  %20651 = load i32, ptr %20650, align 4, !tbaa !5
  %20652 = call ptr @strerror(i32 noundef %20651) #11
  %20653 = call ptr @__errno_location() #12
  %20654 = load i32, ptr %20653, align 4, !tbaa !5
  %20655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20642, ptr noundef @.str.5, i32 noundef %20643, ptr noundef @.str.159, ptr noundef @.str.1, i32 noundef 774, ptr noundef %20646, ptr noundef %20649, ptr noundef %20652, i32 noundef %20654) #11
  br label %20656

20656:                                            ; preds = %20639, %20622
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #11
  br label %20657

20657:                                            ; preds = %20656
  br label %20658

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

20659:                                            ; No predecessors!
  br label %20660

20660:                                            ; preds = %20659
  br label %20661

20661:                                            ; preds = %20660, %20603
  br label %20662

20662:                                            ; preds = %20661
  br label %20663

20663:                                            ; preds = %20662
  br label %20664

20664:                                            ; preds = %20663
  %20665 = load i32, ptr @test_count, align 4, !tbaa !5
  %20666 = add nsw i32 %20665, 1
  store i32 %20666, ptr @test_count, align 4, !tbaa !5
  %20667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20668 = load i32, ptr %20667, align 4, !tbaa !5
  %20669 = icmp eq i32 %20668, 402653193
  br i1 %20669, label %20723, label %20670

20670:                                            ; preds = %20664
  br label %20671

20671:                                            ; preds = %20670
  br label %20672

20672:                                            ; preds = %20671
  call void @llvm.lifetime.start.p0(i64 4, ptr %431) #11
  %20673 = call ptr @__errno_location() #12
  %20674 = load i32, ptr %20673, align 4, !tbaa !5
  store i32 %20674, ptr %431, align 4, !tbaa !5
  %20675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20676 = call i32 @s2n_print_stacktrace(ptr noundef %20675)
  %20677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20678 = trunc i8 %20677 to i1
  br i1 %20678, label %20679, label %20701

20679:                                            ; preds = %20672
  %20680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20681 = call i32 @fileno(ptr noundef %20680) #11
  %20682 = call i32 @isatty(i32 noundef %20681) #11
  %20683 = icmp ne i32 %20682, 0
  br i1 %20683, label %20684, label %20701

20684:                                            ; preds = %20679
  %20685 = load i32, ptr %431, align 4, !tbaa !5
  %20686 = call ptr @__errno_location() #12
  store i32 %20685, ptr %20686, align 4, !tbaa !5
  %20687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20688 = load i32, ptr @test_count, align 4, !tbaa !5
  %20689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20690 = load i32, ptr %20689, align 4, !tbaa !5
  %20691 = call ptr @s2n_strerror(i32 noundef %20690, ptr noundef @.str.4)
  %20692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20693 = load i32, ptr %20692, align 4, !tbaa !5
  %20694 = call ptr @s2n_strerror_debug(i32 noundef %20693, ptr noundef @.str.4)
  %20695 = call ptr @__errno_location() #12
  %20696 = load i32, ptr %20695, align 4, !tbaa !5
  %20697 = call ptr @strerror(i32 noundef %20696) #11
  %20698 = call ptr @__errno_location() #12
  %20699 = load i32, ptr %20698, align 4, !tbaa !5
  %20700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20687, ptr noundef @.str.2, i32 noundef %20688, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 774, ptr noundef %20691, ptr noundef %20694, ptr noundef %20697, i32 noundef %20699) #11
  br label %20718

20701:                                            ; preds = %20679, %20672
  %20702 = load i32, ptr %431, align 4, !tbaa !5
  %20703 = call ptr @__errno_location() #12
  store i32 %20702, ptr %20703, align 4, !tbaa !5
  %20704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20705 = load i32, ptr @test_count, align 4, !tbaa !5
  %20706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20707 = load i32, ptr %20706, align 4, !tbaa !5
  %20708 = call ptr @s2n_strerror(i32 noundef %20707, ptr noundef @.str.4)
  %20709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20710 = load i32, ptr %20709, align 4, !tbaa !5
  %20711 = call ptr @s2n_strerror_debug(i32 noundef %20710, ptr noundef @.str.4)
  %20712 = call ptr @__errno_location() #12
  %20713 = load i32, ptr %20712, align 4, !tbaa !5
  %20714 = call ptr @strerror(i32 noundef %20713) #11
  %20715 = call ptr @__errno_location() #12
  %20716 = load i32, ptr %20715, align 4, !tbaa !5
  %20717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20704, ptr noundef @.str.5, i32 noundef %20705, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 774, ptr noundef %20708, ptr noundef %20711, ptr noundef %20714, i32 noundef %20716) #11
  br label %20718

20718:                                            ; preds = %20701, %20684
  call void @llvm.lifetime.end.p0(i64 4, ptr %431) #11
  br label %20719

20719:                                            ; preds = %20718
  br label %20720

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

20721:                                            ; No predecessors!
  br label %20722

20722:                                            ; preds = %20721
  br label %20723

20723:                                            ; preds = %20722, %20664
  br label %20724

20724:                                            ; preds = %20723
  br label %20725

20725:                                            ; preds = %20724
  br label %20726

20726:                                            ; preds = %20725
  %20727 = load i32, ptr @test_count, align 4, !tbaa !5
  %20728 = add nsw i32 %20727, 1
  store i32 %20728, ptr @test_count, align 4, !tbaa !5
  %20729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20730 = load i32, ptr %20729, align 4, !tbaa !5
  %20731 = call ptr @s2n_strerror_debug(i32 noundef %20730, ptr noundef @.str.4)
  %20732 = icmp eq ptr %20731, null
  br i1 %20732, label %20733, label %20786

20733:                                            ; preds = %20726
  br label %20734

20734:                                            ; preds = %20733
  br label %20735

20735:                                            ; preds = %20734
  call void @llvm.lifetime.start.p0(i64 4, ptr %432) #11
  %20736 = call ptr @__errno_location() #12
  %20737 = load i32, ptr %20736, align 4, !tbaa !5
  store i32 %20737, ptr %432, align 4, !tbaa !5
  %20738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20739 = call i32 @s2n_print_stacktrace(ptr noundef %20738)
  %20740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20741 = trunc i8 %20740 to i1
  br i1 %20741, label %20742, label %20764

20742:                                            ; preds = %20735
  %20743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20744 = call i32 @fileno(ptr noundef %20743) #11
  %20745 = call i32 @isatty(i32 noundef %20744) #11
  %20746 = icmp ne i32 %20745, 0
  br i1 %20746, label %20747, label %20764

20747:                                            ; preds = %20742
  %20748 = load i32, ptr %432, align 4, !tbaa !5
  %20749 = call ptr @__errno_location() #12
  store i32 %20748, ptr %20749, align 4, !tbaa !5
  %20750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20751 = load i32, ptr @test_count, align 4, !tbaa !5
  %20752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20753 = load i32, ptr %20752, align 4, !tbaa !5
  %20754 = call ptr @s2n_strerror(i32 noundef %20753, ptr noundef @.str.4)
  %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_debug(i32 noundef %20756, ptr noundef @.str.4)
  %20758 = call ptr @__errno_location() #12
  %20759 = load i32, ptr %20758, align 4, !tbaa !5
  %20760 = call ptr @strerror(i32 noundef %20759) #11
  %20761 = call ptr @__errno_location() #12
  %20762 = load i32, ptr %20761, align 4, !tbaa !5
  %20763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20750, ptr noundef @.str.2, i32 noundef %20751, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 774, ptr noundef %20754, ptr noundef %20757, ptr noundef %20760, i32 noundef %20762) #11
  br label %20781

20764:                                            ; preds = %20742, %20735
  %20765 = load i32, ptr %432, align 4, !tbaa !5
  %20766 = call ptr @__errno_location() #12
  store i32 %20765, ptr %20766, align 4, !tbaa !5
  %20767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20768 = load i32, ptr @test_count, align 4, !tbaa !5
  %20769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20770 = load i32, ptr %20769, align 4, !tbaa !5
  %20771 = call ptr @s2n_strerror(i32 noundef %20770, ptr noundef @.str.4)
  %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_debug(i32 noundef %20773, ptr noundef @.str.4)
  %20775 = call ptr @__errno_location() #12
  %20776 = load i32, ptr %20775, align 4, !tbaa !5
  %20777 = call ptr @strerror(i32 noundef %20776) #11
  %20778 = call ptr @__errno_location() #12
  %20779 = load i32, ptr %20778, align 4, !tbaa !5
  %20780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20767, ptr noundef @.str.5, i32 noundef %20768, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 774, ptr noundef %20771, ptr noundef %20774, ptr noundef %20777, i32 noundef %20779) #11
  br label %20781

20781:                                            ; preds = %20764, %20747
  call void @llvm.lifetime.end.p0(i64 4, ptr %432) #11
  br label %20782

20782:                                            ; preds = %20781
  br label %20783

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

20784:                                            ; No predecessors!
  br label %20785

20785:                                            ; preds = %20784
  br label %20786

20786:                                            ; preds = %20785, %20726
  br label %20787

20787:                                            ; preds = %20786
  br label %20788

20788:                                            ; preds = %20787
  br label %20789

20789:                                            ; preds = %20788
  br label %20790

20790:                                            ; preds = %20789
  br label %20791

20791:                                            ; preds = %20790
  %20792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20792, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20793 = call ptr @__errno_location() #12
  store i32 0, ptr %20793, align 4, !tbaa !5
  br label %20794

20794:                                            ; preds = %20791
  br label %20795

20795:                                            ; preds = %20794
  br label %20796

20796:                                            ; preds = %20795
  br label %20797

20797:                                            ; preds = %20796
  call void @llvm.lifetime.start.p0(i64 8, ptr %433) #11
  %20798 = call ptr @s2n_config_new_minimal()
  store ptr %20798, ptr %433, align 8, !tbaa !9
  br label %20799

20799:                                            ; preds = %20797
  %20800 = load i32, ptr @test_count, align 4, !tbaa !5
  %20801 = add nsw i32 %20800, 1
  store i32 %20801, ptr @test_count, align 4, !tbaa !5
  %20802 = load ptr, ptr %433, align 8, !tbaa !9
  %20803 = icmp eq ptr %20802, null
  br i1 %20803, label %20804, label %20857

20804:                                            ; preds = %20799
  br label %20805

20805:                                            ; preds = %20804
  br label %20806

20806:                                            ; preds = %20805
  call void @llvm.lifetime.start.p0(i64 4, ptr %434) #11
  %20807 = call ptr @__errno_location() #12
  %20808 = load i32, ptr %20807, align 4, !tbaa !5
  store i32 %20808, ptr %434, align 4, !tbaa !5
  %20809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20810 = call i32 @s2n_print_stacktrace(ptr noundef %20809)
  %20811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20812 = trunc i8 %20811 to i1
  br i1 %20812, label %20813, label %20835

20813:                                            ; preds = %20806
  %20814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20815 = call i32 @fileno(ptr noundef %20814) #11
  %20816 = call i32 @isatty(i32 noundef %20815) #11
  %20817 = icmp ne i32 %20816, 0
  br i1 %20817, label %20818, label %20835

20818:                                            ; preds = %20813
  %20819 = load i32, ptr %434, align 4, !tbaa !5
  %20820 = call ptr @__errno_location() #12
  store i32 %20819, ptr %20820, align 4, !tbaa !5
  %20821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20822 = load i32, ptr @test_count, align 4, !tbaa !5
  %20823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20824 = load i32, ptr %20823, align 4, !tbaa !5
  %20825 = call ptr @s2n_strerror(i32 noundef %20824, ptr noundef @.str.4)
  %20826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20827 = load i32, ptr %20826, align 4, !tbaa !5
  %20828 = call ptr @s2n_strerror_debug(i32 noundef %20827, ptr noundef @.str.4)
  %20829 = call ptr @__errno_location() #12
  %20830 = load i32, ptr %20829, align 4, !tbaa !5
  %20831 = call ptr @strerror(i32 noundef %20830) #11
  %20832 = call ptr @__errno_location() #12
  %20833 = load i32, ptr %20832, align 4, !tbaa !5
  %20834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20821, ptr noundef @.str.2, i32 noundef %20822, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 780, ptr noundef %20825, ptr noundef %20828, ptr noundef %20831, i32 noundef %20833) #11
  br label %20852

20835:                                            ; preds = %20813, %20806
  %20836 = load i32, ptr %434, align 4, !tbaa !5
  %20837 = call ptr @__errno_location() #12
  store i32 %20836, ptr %20837, align 4, !tbaa !5
  %20838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20839 = load i32, ptr @test_count, align 4, !tbaa !5
  %20840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20841 = load i32, ptr %20840, align 4, !tbaa !5
  %20842 = call ptr @s2n_strerror(i32 noundef %20841, ptr noundef @.str.4)
  %20843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20844 = load i32, ptr %20843, align 4, !tbaa !5
  %20845 = call ptr @s2n_strerror_debug(i32 noundef %20844, ptr noundef @.str.4)
  %20846 = call ptr @__errno_location() #12
  %20847 = load i32, ptr %20846, align 4, !tbaa !5
  %20848 = call ptr @strerror(i32 noundef %20847) #11
  %20849 = call ptr @__errno_location() #12
  %20850 = load i32, ptr %20849, align 4, !tbaa !5
  %20851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20838, ptr noundef @.str.5, i32 noundef %20839, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 780, ptr noundef %20842, ptr noundef %20845, ptr noundef %20848, i32 noundef %20850) #11
  br label %20852

20852:                                            ; preds = %20835, %20818
  call void @llvm.lifetime.end.p0(i64 4, ptr %434) #11
  br label %20853

20853:                                            ; preds = %20852
  br label %20854

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

20855:                                            ; No predecessors!
  br label %20856

20856:                                            ; preds = %20855
  br label %20857

20857:                                            ; preds = %20856, %20799
  br label %20858

20858:                                            ; preds = %20857
  br label %20859

20859:                                            ; preds = %20858
  br label %20860

20860:                                            ; preds = %20859
  %20861 = load i32, ptr @test_count, align 4, !tbaa !5
  %20862 = add nsw i32 %20861, 1
  store i32 %20862, ptr @test_count, align 4, !tbaa !5
  %20863 = load ptr, ptr %433, align 8, !tbaa !9
  %20864 = getelementptr inbounds %struct.s2n_config, ptr %20863, i32 0, i32 37
  %20865 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %20864, i32 0, i32 0
  %20866 = load ptr, ptr %20865, align 8, !tbaa !74
  %20867 = icmp eq ptr %20866, null
  br i1 %20867, label %20921, label %20868

20868:                                            ; preds = %20860
  br label %20869

20869:                                            ; preds = %20868
  br label %20870

20870:                                            ; preds = %20869
  call void @llvm.lifetime.start.p0(i64 4, ptr %435) #11
  %20871 = call ptr @__errno_location() #12
  %20872 = load i32, ptr %20871, align 4, !tbaa !5
  store i32 %20872, ptr %435, align 4, !tbaa !5
  %20873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20874 = call i32 @s2n_print_stacktrace(ptr noundef %20873)
  %20875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20876 = trunc i8 %20875 to i1
  br i1 %20876, label %20877, label %20899

20877:                                            ; preds = %20870
  %20878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20879 = call i32 @fileno(ptr noundef %20878) #11
  %20880 = call i32 @isatty(i32 noundef %20879) #11
  %20881 = icmp ne i32 %20880, 0
  br i1 %20881, label %20882, label %20899

20882:                                            ; preds = %20877
  %20883 = load i32, ptr %435, align 4, !tbaa !5
  %20884 = call ptr @__errno_location() #12
  store i32 %20883, ptr %20884, align 4, !tbaa !5
  %20885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20886 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %20888, ptr noundef @.str.4)
  %20890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20891 = load i32, ptr %20890, align 4, !tbaa !5
  %20892 = call ptr @s2n_strerror_debug(i32 noundef %20891, ptr noundef @.str.4)
  %20893 = call ptr @__errno_location() #12
  %20894 = load i32, ptr %20893, align 4, !tbaa !5
  %20895 = call ptr @strerror(i32 noundef %20894) #11
  %20896 = call ptr @__errno_location() #12
  %20897 = load i32, ptr %20896, align 4, !tbaa !5
  %20898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20885, ptr noundef @.str.2, i32 noundef %20886, ptr noundef @.str.160, ptr noundef @.str.1, i32 noundef 781, ptr noundef %20889, ptr noundef %20892, ptr noundef %20895, i32 noundef %20897) #11
  br label %20916

20899:                                            ; preds = %20877, %20870
  %20900 = load i32, ptr %435, align 4, !tbaa !5
  %20901 = call ptr @__errno_location() #12
  store i32 %20900, ptr %20901, align 4, !tbaa !5
  %20902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20903 = load i32, ptr @test_count, align 4, !tbaa !5
  %20904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20905 = load i32, ptr %20904, align 4, !tbaa !5
  %20906 = call ptr @s2n_strerror(i32 noundef %20905, ptr noundef @.str.4)
  %20907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20908 = load i32, ptr %20907, align 4, !tbaa !5
  %20909 = call ptr @s2n_strerror_debug(i32 noundef %20908, ptr noundef @.str.4)
  %20910 = call ptr @__errno_location() #12
  %20911 = load i32, ptr %20910, align 4, !tbaa !5
  %20912 = call ptr @strerror(i32 noundef %20911) #11
  %20913 = call ptr @__errno_location() #12
  %20914 = load i32, ptr %20913, align 4, !tbaa !5
  %20915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20902, ptr noundef @.str.5, i32 noundef %20903, ptr noundef @.str.160, ptr noundef @.str.1, i32 noundef 781, ptr noundef %20906, ptr noundef %20909, ptr noundef %20912, i32 noundef %20914) #11
  br label %20916

20916:                                            ; preds = %20899, %20882
  call void @llvm.lifetime.end.p0(i64 4, ptr %435) #11
  br label %20917

20917:                                            ; preds = %20916
  br label %20918

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

20919:                                            ; No predecessors!
  br label %20920

20920:                                            ; preds = %20919
  br label %20921

20921:                                            ; preds = %20920, %20860
  br label %20922

20922:                                            ; preds = %20921
  br label %20923

20923:                                            ; preds = %20922
  br label %20924

20924:                                            ; preds = %20923
  %20925 = load i32, ptr @test_count, align 4, !tbaa !5
  %20926 = add nsw i32 %20925, 1
  store i32 %20926, ptr @test_count, align 4, !tbaa !5
  %20927 = load ptr, ptr %433, align 8, !tbaa !9
  %20928 = getelementptr inbounds %struct.s2n_config, ptr %20927, i32 0, i32 37
  %20929 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %20928, i32 0, i32 1
  %20930 = load i8, ptr %20929, align 8
  %20931 = and i8 %20930, 1
  %20932 = zext i8 %20931 to i32
  %20933 = icmp ne i32 %20932, 0
  br i1 %20933, label %20934, label %20987

20934:                                            ; preds = %20924
  br label %20935

20935:                                            ; preds = %20934
  br label %20936

20936:                                            ; preds = %20935
  call void @llvm.lifetime.start.p0(i64 4, ptr %436) #11
  %20937 = call ptr @__errno_location() #12
  %20938 = load i32, ptr %20937, align 4, !tbaa !5
  store i32 %20938, ptr %436, align 4, !tbaa !5
  %20939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20940 = call i32 @s2n_print_stacktrace(ptr noundef %20939)
  %20941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20942 = trunc i8 %20941 to i1
  br i1 %20942, label %20943, label %20965

20943:                                            ; preds = %20936
  %20944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20945 = call i32 @fileno(ptr noundef %20944) #11
  %20946 = call i32 @isatty(i32 noundef %20945) #11
  %20947 = icmp ne i32 %20946, 0
  br i1 %20947, label %20948, label %20965

20948:                                            ; preds = %20943
  %20949 = load i32, ptr %436, align 4, !tbaa !5
  %20950 = call ptr @__errno_location() #12
  store i32 %20949, ptr %20950, align 4, !tbaa !5
  %20951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20952 = load i32, ptr @test_count, align 4, !tbaa !5
  %20953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20954 = load i32, ptr %20953, align 4, !tbaa !5
  %20955 = call ptr @s2n_strerror(i32 noundef %20954, ptr noundef @.str.4)
  %20956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20957 = load i32, ptr %20956, align 4, !tbaa !5
  %20958 = call ptr @s2n_strerror_debug(i32 noundef %20957, ptr noundef @.str.4)
  %20959 = call ptr @__errno_location() #12
  %20960 = load i32, ptr %20959, align 4, !tbaa !5
  %20961 = call ptr @strerror(i32 noundef %20960) #11
  %20962 = call ptr @__errno_location() #12
  %20963 = load i32, ptr %20962, align 4, !tbaa !5
  %20964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20951, ptr noundef @.str.2, i32 noundef %20952, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 782, ptr noundef %20955, ptr noundef %20958, ptr noundef %20961, i32 noundef %20963) #11
  br label %20982

20965:                                            ; preds = %20943, %20936
  %20966 = load i32, ptr %436, align 4, !tbaa !5
  %20967 = call ptr @__errno_location() #12
  store i32 %20966, ptr %20967, align 4, !tbaa !5
  %20968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20969 = load i32, ptr @test_count, align 4, !tbaa !5
  %20970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20971 = load i32, ptr %20970, align 4, !tbaa !5
  %20972 = call ptr @s2n_strerror(i32 noundef %20971, ptr noundef @.str.4)
  %20973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20974 = load i32, ptr %20973, align 4, !tbaa !5
  %20975 = call ptr @s2n_strerror_debug(i32 noundef %20974, ptr noundef @.str.4)
  %20976 = call ptr @__errno_location() #12
  %20977 = load i32, ptr %20976, align 4, !tbaa !5
  %20978 = call ptr @strerror(i32 noundef %20977) #11
  %20979 = call ptr @__errno_location() #12
  %20980 = load i32, ptr %20979, align 4, !tbaa !5
  %20981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20968, ptr noundef @.str.5, i32 noundef %20969, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 782, ptr noundef %20972, ptr noundef %20975, ptr noundef %20978, i32 noundef %20980) #11
  br label %20982

20982:                                            ; preds = %20965, %20948
  call void @llvm.lifetime.end.p0(i64 4, ptr %436) #11
  br label %20983

20983:                                            ; preds = %20982
  br label %20984

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

20985:                                            ; No predecessors!
  br label %20986

20986:                                            ; preds = %20985
  br label %20987

20987:                                            ; preds = %20986, %20924
  br label %20988

20988:                                            ; preds = %20987
  br label %20989

20989:                                            ; preds = %20988
  br label %20990

20990:                                            ; preds = %20989
  %20991 = load i32, ptr @test_count, align 4, !tbaa !5
  %20992 = add nsw i32 %20991, 1
  store i32 %20992, ptr @test_count, align 4, !tbaa !5
  %20993 = load ptr, ptr %433, align 8, !tbaa !9
  %20994 = call i32 @s2n_config_load_system_certs(ptr noundef %20993)
  %20995 = icmp eq i32 %20994, -1
  br i1 %20995, label %20996, label %21049

20996:                                            ; preds = %20990
  br label %20997

20997:                                            ; preds = %20996
  br label %20998

20998:                                            ; preds = %20997
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #11
  %20999 = call ptr @__errno_location() #12
  %21000 = load i32, ptr %20999, align 4, !tbaa !5
  store i32 %21000, ptr %437, align 4, !tbaa !5
  %21001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21002 = call i32 @s2n_print_stacktrace(ptr noundef %21001)
  %21003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21004 = trunc i8 %21003 to i1
  br i1 %21004, label %21005, label %21027

21005:                                            ; preds = %20998
  %21006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21007 = call i32 @fileno(ptr noundef %21006) #11
  %21008 = call i32 @isatty(i32 noundef %21007) #11
  %21009 = icmp ne i32 %21008, 0
  br i1 %21009, label %21010, label %21027

21010:                                            ; preds = %21005
  %21011 = load i32, ptr %437, align 4, !tbaa !5
  %21012 = call ptr @__errno_location() #12
  store i32 %21011, ptr %21012, align 4, !tbaa !5
  %21013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21014 = load i32, ptr @test_count, align 4, !tbaa !5
  %21015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21016 = load i32, ptr %21015, align 4, !tbaa !5
  %21017 = call ptr @s2n_strerror(i32 noundef %21016, ptr noundef @.str.4)
  %21018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21019 = load i32, ptr %21018, align 4, !tbaa !5
  %21020 = call ptr @s2n_strerror_debug(i32 noundef %21019, ptr noundef @.str.4)
  %21021 = call ptr @__errno_location() #12
  %21022 = load i32, ptr %21021, align 4, !tbaa !5
  %21023 = call ptr @strerror(i32 noundef %21022) #11
  %21024 = call ptr @__errno_location() #12
  %21025 = load i32, ptr %21024, align 4, !tbaa !5
  %21026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21013, ptr noundef @.str.2, i32 noundef %21014, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 785, ptr noundef %21017, ptr noundef %21020, ptr noundef %21023, i32 noundef %21025) #11
  br label %21044

21027:                                            ; preds = %21005, %20998
  %21028 = load i32, ptr %437, align 4, !tbaa !5
  %21029 = call ptr @__errno_location() #12
  store i32 %21028, ptr %21029, align 4, !tbaa !5
  %21030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21031 = load i32, ptr @test_count, align 4, !tbaa !5
  %21032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21033 = load i32, ptr %21032, align 4, !tbaa !5
  %21034 = call ptr @s2n_strerror(i32 noundef %21033, ptr noundef @.str.4)
  %21035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21036 = load i32, ptr %21035, align 4, !tbaa !5
  %21037 = call ptr @s2n_strerror_debug(i32 noundef %21036, ptr noundef @.str.4)
  %21038 = call ptr @__errno_location() #12
  %21039 = load i32, ptr %21038, align 4, !tbaa !5
  %21040 = call ptr @strerror(i32 noundef %21039) #11
  %21041 = call ptr @__errno_location() #12
  %21042 = load i32, ptr %21041, align 4, !tbaa !5
  %21043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21030, ptr noundef @.str.5, i32 noundef %21031, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 785, ptr noundef %21034, ptr noundef %21037, ptr noundef %21040, i32 noundef %21042) #11
  br label %21044

21044:                                            ; preds = %21027, %21010
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #11
  br label %21045

21045:                                            ; preds = %21044
  br label %21046

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

21047:                                            ; No predecessors!
  br label %21048

21048:                                            ; preds = %21047
  br label %21049

21049:                                            ; preds = %21048, %20990
  br label %21050

21050:                                            ; preds = %21049
  br label %21051

21051:                                            ; preds = %21050
  br label %21052

21052:                                            ; preds = %21051
  %21053 = load i32, ptr @test_count, align 4, !tbaa !5
  %21054 = add nsw i32 %21053, 1
  store i32 %21054, ptr @test_count, align 4, !tbaa !5
  %21055 = load ptr, ptr %433, align 8, !tbaa !9
  %21056 = getelementptr inbounds %struct.s2n_config, ptr %21055, i32 0, i32 37
  %21057 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %21056, i32 0, i32 0
  %21058 = load ptr, ptr %21057, align 8, !tbaa !74
  %21059 = icmp eq ptr %21058, null
  br i1 %21059, label %21060, label %21113

21060:                                            ; preds = %21052
  br label %21061

21061:                                            ; preds = %21060
  br label %21062

21062:                                            ; preds = %21061
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #11
  %21063 = call ptr @__errno_location() #12
  %21064 = load i32, ptr %21063, align 4, !tbaa !5
  store i32 %21064, ptr %438, align 4, !tbaa !5
  %21065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21066 = call i32 @s2n_print_stacktrace(ptr noundef %21065)
  %21067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21068 = trunc i8 %21067 to i1
  br i1 %21068, label %21069, label %21091

21069:                                            ; preds = %21062
  %21070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21071 = call i32 @fileno(ptr noundef %21070) #11
  %21072 = call i32 @isatty(i32 noundef %21071) #11
  %21073 = icmp ne i32 %21072, 0
  br i1 %21073, label %21074, label %21091

21074:                                            ; preds = %21069
  %21075 = load i32, ptr %438, align 4, !tbaa !5
  %21076 = call ptr @__errno_location() #12
  store i32 %21075, ptr %21076, align 4, !tbaa !5
  %21077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21078 = load i32, ptr @test_count, align 4, !tbaa !5
  %21079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21080 = load i32, ptr %21079, align 4, !tbaa !5
  %21081 = call ptr @s2n_strerror(i32 noundef %21080, ptr noundef @.str.4)
  %21082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21083 = load i32, ptr %21082, align 4, !tbaa !5
  %21084 = call ptr @s2n_strerror_debug(i32 noundef %21083, ptr noundef @.str.4)
  %21085 = call ptr @__errno_location() #12
  %21086 = load i32, ptr %21085, align 4, !tbaa !5
  %21087 = call ptr @strerror(i32 noundef %21086) #11
  %21088 = call ptr @__errno_location() #12
  %21089 = load i32, ptr %21088, align 4, !tbaa !5
  %21090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21077, ptr noundef @.str.2, i32 noundef %21078, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 786, ptr noundef %21081, ptr noundef %21084, ptr noundef %21087, i32 noundef %21089) #11
  br label %21108

21091:                                            ; preds = %21069, %21062
  %21092 = load i32, ptr %438, align 4, !tbaa !5
  %21093 = call ptr @__errno_location() #12
  store i32 %21092, ptr %21093, align 4, !tbaa !5
  %21094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21095 = load i32, ptr @test_count, align 4, !tbaa !5
  %21096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21097 = load i32, ptr %21096, align 4, !tbaa !5
  %21098 = call ptr @s2n_strerror(i32 noundef %21097, ptr noundef @.str.4)
  %21099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21100 = load i32, ptr %21099, align 4, !tbaa !5
  %21101 = call ptr @s2n_strerror_debug(i32 noundef %21100, ptr noundef @.str.4)
  %21102 = call ptr @__errno_location() #12
  %21103 = load i32, ptr %21102, align 4, !tbaa !5
  %21104 = call ptr @strerror(i32 noundef %21103) #11
  %21105 = call ptr @__errno_location() #12
  %21106 = load i32, ptr %21105, align 4, !tbaa !5
  %21107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21094, ptr noundef @.str.5, i32 noundef %21095, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 786, ptr noundef %21098, ptr noundef %21101, ptr noundef %21104, i32 noundef %21106) #11
  br label %21108

21108:                                            ; preds = %21091, %21074
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #11
  br label %21109

21109:                                            ; preds = %21108
  br label %21110

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

21111:                                            ; No predecessors!
  br label %21112

21112:                                            ; preds = %21111
  br label %21113

21113:                                            ; preds = %21112, %21052
  br label %21114

21114:                                            ; preds = %21113
  br label %21115

21115:                                            ; preds = %21114
  br label %21116

21116:                                            ; preds = %21115
  %21117 = load i32, ptr @test_count, align 4, !tbaa !5
  %21118 = add nsw i32 %21117, 1
  store i32 %21118, ptr @test_count, align 4, !tbaa !5
  %21119 = load ptr, ptr %433, align 8, !tbaa !9
  %21120 = getelementptr inbounds %struct.s2n_config, ptr %21119, i32 0, i32 37
  %21121 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %21120, i32 0, i32 1
  %21122 = load i8, ptr %21121, align 8
  %21123 = and i8 %21122, 1
  %21124 = zext i8 %21123 to i32
  %21125 = icmp ne i32 %21124, 0
  br i1 %21125, label %21179, label %21126

21126:                                            ; preds = %21116
  br label %21127

21127:                                            ; preds = %21126
  br label %21128

21128:                                            ; preds = %21127
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #11
  %21129 = call ptr @__errno_location() #12
  %21130 = load i32, ptr %21129, align 4, !tbaa !5
  store i32 %21130, ptr %439, align 4, !tbaa !5
  %21131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21132 = call i32 @s2n_print_stacktrace(ptr noundef %21131)
  %21133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21134 = trunc i8 %21133 to i1
  br i1 %21134, label %21135, label %21157

21135:                                            ; preds = %21128
  %21136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21137 = call i32 @fileno(ptr noundef %21136) #11
  %21138 = call i32 @isatty(i32 noundef %21137) #11
  %21139 = icmp ne i32 %21138, 0
  br i1 %21139, label %21140, label %21157

21140:                                            ; preds = %21135
  %21141 = load i32, ptr %439, align 4, !tbaa !5
  %21142 = call ptr @__errno_location() #12
  store i32 %21141, ptr %21142, align 4, !tbaa !5
  %21143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21144 = load i32, ptr @test_count, align 4, !tbaa !5
  %21145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21146 = load i32, ptr %21145, align 4, !tbaa !5
  %21147 = call ptr @s2n_strerror(i32 noundef %21146, ptr noundef @.str.4)
  %21148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21149 = load i32, ptr %21148, align 4, !tbaa !5
  %21150 = call ptr @s2n_strerror_debug(i32 noundef %21149, ptr noundef @.str.4)
  %21151 = call ptr @__errno_location() #12
  %21152 = load i32, ptr %21151, align 4, !tbaa !5
  %21153 = call ptr @strerror(i32 noundef %21152) #11
  %21154 = call ptr @__errno_location() #12
  %21155 = load i32, ptr %21154, align 4, !tbaa !5
  %21156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21143, ptr noundef @.str.2, i32 noundef %21144, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 787, ptr noundef %21147, ptr noundef %21150, ptr noundef %21153, i32 noundef %21155) #11
  br label %21174

21157:                                            ; preds = %21135, %21128
  %21158 = load i32, ptr %439, align 4, !tbaa !5
  %21159 = call ptr @__errno_location() #12
  store i32 %21158, ptr %21159, align 4, !tbaa !5
  %21160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21161 = load i32, ptr @test_count, align 4, !tbaa !5
  %21162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21163 = load i32, ptr %21162, align 4, !tbaa !5
  %21164 = call ptr @s2n_strerror(i32 noundef %21163, ptr noundef @.str.4)
  %21165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21166 = load i32, ptr %21165, align 4, !tbaa !5
  %21167 = call ptr @s2n_strerror_debug(i32 noundef %21166, ptr noundef @.str.4)
  %21168 = call ptr @__errno_location() #12
  %21169 = load i32, ptr %21168, align 4, !tbaa !5
  %21170 = call ptr @strerror(i32 noundef %21169) #11
  %21171 = call ptr @__errno_location() #12
  %21172 = load i32, ptr %21171, align 4, !tbaa !5
  %21173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21160, ptr noundef @.str.5, i32 noundef %21161, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 787, ptr noundef %21164, ptr noundef %21167, ptr noundef %21170, i32 noundef %21172) #11
  br label %21174

21174:                                            ; preds = %21157, %21140
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #11
  br label %21175

21175:                                            ; preds = %21174
  br label %21176

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

21177:                                            ; No predecessors!
  br label %21178

21178:                                            ; preds = %21177
  br label %21179

21179:                                            ; preds = %21178, %21116
  br label %21180

21180:                                            ; preds = %21179
  br label %21181

21181:                                            ; preds = %21180
  call void @llvm.lifetime.start.p0(i64 4, ptr %440) #11
  store i32 0, ptr %440, align 4, !tbaa !5
  br label %21182

21182:                                            ; preds = %21451, %21181
  %21183 = load i32, ptr %440, align 4, !tbaa !5
  %21184 = icmp slt i32 %21183, 20
  br i1 %21184, label %21186, label %21185

21185:                                            ; preds = %21182
  store i32 2045, ptr %352, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %440) #11
  br label %21454

21186:                                            ; preds = %21182
  br label %21187

21187:                                            ; preds = %21186
  br label %21188

21188:                                            ; preds = %21187
  br label %21189

21189:                                            ; preds = %21188
  %21190 = load i32, ptr @test_count, align 4, !tbaa !5
  %21191 = add nsw i32 %21190, 1
  store i32 %21191, ptr @test_count, align 4, !tbaa !5
  %21192 = load ptr, ptr %433, align 8, !tbaa !9
  %21193 = call i32 @s2n_config_load_system_certs(ptr noundef %21192)
  %21194 = icmp eq i32 %21193, -1
  br i1 %21194, label %21248, label %21195

21195:                                            ; preds = %21189
  br label %21196

21196:                                            ; preds = %21195
  br label %21197

21197:                                            ; preds = %21196
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #11
  %21198 = call ptr @__errno_location() #12
  %21199 = load i32, ptr %21198, align 4, !tbaa !5
  store i32 %21199, ptr %441, align 4, !tbaa !5
  %21200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21201 = call i32 @s2n_print_stacktrace(ptr noundef %21200)
  %21202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21203 = trunc i8 %21202 to i1
  br i1 %21203, label %21204, label %21226

21204:                                            ; preds = %21197
  %21205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21206 = call i32 @fileno(ptr noundef %21205) #11
  %21207 = call i32 @isatty(i32 noundef %21206) #11
  %21208 = icmp ne i32 %21207, 0
  br i1 %21208, label %21209, label %21226

21209:                                            ; preds = %21204
  %21210 = load i32, ptr %441, 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.4)
  %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.4)
  %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.2, i32 noundef %21213, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 791, ptr noundef %21216, ptr noundef %21219, ptr noundef %21222, i32 noundef %21224) #11
  br label %21243

21226:                                            ; preds = %21204, %21197
  %21227 = load i32, ptr %441, align 4, !tbaa !5
  %21228 = call ptr @__errno_location() #12
  store i32 %21227, ptr %21228, align 4, !tbaa !5
  %21229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21230 = load i32, ptr @test_count, align 4, !tbaa !5
  %21231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21232 = load i32, ptr %21231, align 4, !tbaa !5
  %21233 = call ptr @s2n_strerror(i32 noundef %21232, ptr noundef @.str.4)
  %21234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21235 = load i32, ptr %21234, align 4, !tbaa !5
  %21236 = call ptr @s2n_strerror_debug(i32 noundef %21235, ptr noundef @.str.4)
  %21237 = call ptr @__errno_location() #12
  %21238 = load i32, ptr %21237, align 4, !tbaa !5
  %21239 = call ptr @strerror(i32 noundef %21238) #11
  %21240 = call ptr @__errno_location() #12
  %21241 = load i32, ptr %21240, align 4, !tbaa !5
  %21242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21229, ptr noundef @.str.5, i32 noundef %21230, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 791, ptr noundef %21233, ptr noundef %21236, ptr noundef %21239, i32 noundef %21241) #11
  br label %21243

21243:                                            ; preds = %21226, %21209
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #11
  br label %21244

21244:                                            ; preds = %21243
  br label %21245

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

21246:                                            ; No predecessors!
  br label %21247

21247:                                            ; preds = %21246
  br label %21248

21248:                                            ; preds = %21247, %21189
  br label %21249

21249:                                            ; preds = %21248
  br label %21250

21250:                                            ; preds = %21249
  br label %21251

21251:                                            ; preds = %21250
  %21252 = load i32, ptr @test_count, align 4, !tbaa !5
  %21253 = add nsw i32 %21252, 1
  store i32 %21253, ptr @test_count, align 4, !tbaa !5
  %21254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21255 = load i32, ptr %21254, align 4, !tbaa !5
  %21256 = icmp eq i32 %21255, 402653238
  br i1 %21256, label %21310, label %21257

21257:                                            ; preds = %21251
  br label %21258

21258:                                            ; preds = %21257
  br label %21259

21259:                                            ; preds = %21258
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #11
  %21260 = call ptr @__errno_location() #12
  %21261 = load i32, ptr %21260, align 4, !tbaa !5
  store i32 %21261, ptr %442, align 4, !tbaa !5
  %21262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21263 = call i32 @s2n_print_stacktrace(ptr noundef %21262)
  %21264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21265 = trunc i8 %21264 to i1
  br i1 %21265, label %21266, label %21288

21266:                                            ; preds = %21259
  %21267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21268 = call i32 @fileno(ptr noundef %21267) #11
  %21269 = call i32 @isatty(i32 noundef %21268) #11
  %21270 = icmp ne i32 %21269, 0
  br i1 %21270, label %21271, label %21288

21271:                                            ; preds = %21266
  %21272 = load i32, ptr %442, 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.4)
  %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.4)
  %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.2, i32 noundef %21275, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 791, ptr noundef %21278, ptr noundef %21281, ptr noundef %21284, i32 noundef %21286) #11
  br label %21305

21288:                                            ; preds = %21266, %21259
  %21289 = load i32, ptr %442, align 4, !tbaa !5
  %21290 = call ptr @__errno_location() #12
  store i32 %21289, ptr %21290, align 4, !tbaa !5
  %21291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21292 = load i32, ptr @test_count, align 4, !tbaa !5
  %21293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21294 = load i32, ptr %21293, align 4, !tbaa !5
  %21295 = call ptr @s2n_strerror(i32 noundef %21294, ptr noundef @.str.4)
  %21296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21297 = load i32, ptr %21296, align 4, !tbaa !5
  %21298 = call ptr @s2n_strerror_debug(i32 noundef %21297, ptr noundef @.str.4)
  %21299 = call ptr @__errno_location() #12
  %21300 = load i32, ptr %21299, align 4, !tbaa !5
  %21301 = call ptr @strerror(i32 noundef %21300) #11
  %21302 = call ptr @__errno_location() #12
  %21303 = load i32, ptr %21302, align 4, !tbaa !5
  %21304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21291, ptr noundef @.str.5, i32 noundef %21292, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 791, ptr noundef %21295, ptr noundef %21298, ptr noundef %21301, i32 noundef %21303) #11
  br label %21305

21305:                                            ; preds = %21288, %21271
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #11
  br label %21306

21306:                                            ; preds = %21305
  br label %21307

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

21308:                                            ; No predecessors!
  br label %21309

21309:                                            ; preds = %21308
  br label %21310

21310:                                            ; preds = %21309, %21251
  br label %21311

21311:                                            ; preds = %21310
  br label %21312

21312:                                            ; preds = %21311
  br label %21313

21313:                                            ; preds = %21312
  %21314 = load i32, ptr @test_count, align 4, !tbaa !5
  %21315 = add nsw i32 %21314, 1
  store i32 %21315, ptr @test_count, align 4, !tbaa !5
  %21316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21317 = load i32, ptr %21316, align 4, !tbaa !5
  %21318 = call ptr @s2n_strerror_debug(i32 noundef %21317, ptr noundef @.str.4)
  %21319 = icmp eq ptr %21318, null
  br i1 %21319, label %21320, label %21373

21320:                                            ; preds = %21313
  br label %21321

21321:                                            ; preds = %21320
  br label %21322

21322:                                            ; preds = %21321
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #11
  %21323 = call ptr @__errno_location() #12
  %21324 = load i32, ptr %21323, align 4, !tbaa !5
  store i32 %21324, ptr %443, align 4, !tbaa !5
  %21325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21326 = call i32 @s2n_print_stacktrace(ptr noundef %21325)
  %21327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21328 = trunc i8 %21327 to i1
  br i1 %21328, label %21329, label %21351

21329:                                            ; preds = %21322
  %21330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21331 = call i32 @fileno(ptr noundef %21330) #11
  %21332 = call i32 @isatty(i32 noundef %21331) #11
  %21333 = icmp ne i32 %21332, 0
  br i1 %21333, label %21334, label %21351

21334:                                            ; preds = %21329
  %21335 = load i32, ptr %443, 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.4)
  %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.4)
  %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.2, i32 noundef %21338, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 791, ptr noundef %21341, ptr noundef %21344, ptr noundef %21347, i32 noundef %21349) #11
  br label %21368

21351:                                            ; preds = %21329, %21322
  %21352 = load i32, ptr %443, align 4, !tbaa !5
  %21353 = call ptr @__errno_location() #12
  store i32 %21352, ptr %21353, align 4, !tbaa !5
  %21354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21355 = load i32, ptr @test_count, align 4, !tbaa !5
  %21356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21357 = load i32, ptr %21356, align 4, !tbaa !5
  %21358 = call ptr @s2n_strerror(i32 noundef %21357, ptr noundef @.str.4)
  %21359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21360 = load i32, ptr %21359, align 4, !tbaa !5
  %21361 = call ptr @s2n_strerror_debug(i32 noundef %21360, ptr noundef @.str.4)
  %21362 = call ptr @__errno_location() #12
  %21363 = load i32, ptr %21362, align 4, !tbaa !5
  %21364 = call ptr @strerror(i32 noundef %21363) #11
  %21365 = call ptr @__errno_location() #12
  %21366 = load i32, ptr %21365, align 4, !tbaa !5
  %21367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21354, ptr noundef @.str.5, i32 noundef %21355, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 791, ptr noundef %21358, ptr noundef %21361, ptr noundef %21364, i32 noundef %21366) #11
  br label %21368

21368:                                            ; preds = %21351, %21334
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #11
  br label %21369

21369:                                            ; preds = %21368
  br label %21370

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

21371:                                            ; No predecessors!
  br label %21372

21372:                                            ; preds = %21371
  br label %21373

21373:                                            ; preds = %21372, %21313
  br label %21374

21374:                                            ; preds = %21373
  br label %21375

21375:                                            ; preds = %21374
  br label %21376

21376:                                            ; preds = %21375
  br label %21377

21377:                                            ; preds = %21376
  br label %21378

21378:                                            ; preds = %21377
  %21379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21379, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21380 = call ptr @__errno_location() #12
  store i32 0, ptr %21380, align 4, !tbaa !5
  br label %21381

21381:                                            ; preds = %21378
  br label %21382

21382:                                            ; preds = %21381
  br label %21383

21383:                                            ; preds = %21382
  br label %21384

21384:                                            ; preds = %21383
  br label %21385

21385:                                            ; preds = %21384
  %21386 = load i32, ptr @test_count, align 4, !tbaa !5
  %21387 = add nsw i32 %21386, 1
  store i32 %21387, ptr @test_count, align 4, !tbaa !5
  %21388 = load ptr, ptr %433, align 8, !tbaa !9
  %21389 = getelementptr inbounds %struct.s2n_config, ptr %21388, i32 0, i32 37
  %21390 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %21389, i32 0, i32 1
  %21391 = load i8, ptr %21390, align 8
  %21392 = and i8 %21391, 1
  %21393 = zext i8 %21392 to i32
  %21394 = icmp ne i32 %21393, 0
  br i1 %21394, label %21448, label %21395

21395:                                            ; preds = %21385
  br label %21396

21396:                                            ; preds = %21395
  br label %21397

21397:                                            ; preds = %21396
  call void @llvm.lifetime.start.p0(i64 4, ptr %444) #11
  %21398 = call ptr @__errno_location() #12
  %21399 = load i32, ptr %21398, align 4, !tbaa !5
  store i32 %21399, ptr %444, align 4, !tbaa !5
  %21400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21401 = call i32 @s2n_print_stacktrace(ptr noundef %21400)
  %21402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21403 = trunc i8 %21402 to i1
  br i1 %21403, label %21404, label %21426

21404:                                            ; preds = %21397
  %21405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21406 = call i32 @fileno(ptr noundef %21405) #11
  %21407 = call i32 @isatty(i32 noundef %21406) #11
  %21408 = icmp ne i32 %21407, 0
  br i1 %21408, label %21409, label %21426

21409:                                            ; preds = %21404
  %21410 = load i32, ptr %444, align 4, !tbaa !5
  %21411 = call ptr @__errno_location() #12
  store i32 %21410, ptr %21411, align 4, !tbaa !5
  %21412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21413 = load i32, ptr @test_count, align 4, !tbaa !5
  %21414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21415 = load i32, ptr %21414, align 4, !tbaa !5
  %21416 = call ptr @s2n_strerror(i32 noundef %21415, ptr noundef @.str.4)
  %21417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21418 = load i32, ptr %21417, align 4, !tbaa !5
  %21419 = call ptr @s2n_strerror_debug(i32 noundef %21418, ptr noundef @.str.4)
  %21420 = call ptr @__errno_location() #12
  %21421 = load i32, ptr %21420, align 4, !tbaa !5
  %21422 = call ptr @strerror(i32 noundef %21421) #11
  %21423 = call ptr @__errno_location() #12
  %21424 = load i32, ptr %21423, align 4, !tbaa !5
  %21425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21412, ptr noundef @.str.2, i32 noundef %21413, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 792, ptr noundef %21416, ptr noundef %21419, ptr noundef %21422, i32 noundef %21424) #11
  br label %21443

21426:                                            ; preds = %21404, %21397
  %21427 = load i32, ptr %444, align 4, !tbaa !5
  %21428 = call ptr @__errno_location() #12
  store i32 %21427, ptr %21428, align 4, !tbaa !5
  %21429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21430 = load i32, ptr @test_count, align 4, !tbaa !5
  %21431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21432 = load i32, ptr %21431, align 4, !tbaa !5
  %21433 = call ptr @s2n_strerror(i32 noundef %21432, ptr noundef @.str.4)
  %21434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21435 = load i32, ptr %21434, align 4, !tbaa !5
  %21436 = call ptr @s2n_strerror_debug(i32 noundef %21435, ptr noundef @.str.4)
  %21437 = call ptr @__errno_location() #12
  %21438 = load i32, ptr %21437, align 4, !tbaa !5
  %21439 = call ptr @strerror(i32 noundef %21438) #11
  %21440 = call ptr @__errno_location() #12
  %21441 = load i32, ptr %21440, align 4, !tbaa !5
  %21442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21429, ptr noundef @.str.5, i32 noundef %21430, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 792, ptr noundef %21433, ptr noundef %21436, ptr noundef %21439, i32 noundef %21441) #11
  br label %21443

21443:                                            ; preds = %21426, %21409
  call void @llvm.lifetime.end.p0(i64 4, ptr %444) #11
  br label %21444

21444:                                            ; preds = %21443
  br label %21445

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

21446:                                            ; No predecessors!
  br label %21447

21447:                                            ; preds = %21446
  br label %21448

21448:                                            ; preds = %21447, %21385
  br label %21449

21449:                                            ; preds = %21448
  br label %21450

21450:                                            ; preds = %21449
  br label %21451

21451:                                            ; preds = %21450
  %21452 = load i32, ptr %440, align 4, !tbaa !5
  %21453 = add nsw i32 %21452, 1
  store i32 %21453, ptr %440, align 4, !tbaa !5
  br label %21182, !llvm.loop !75

21454:                                            ; preds = %21185
  %21455 = call i32 @s2n_config_ptr_free(ptr noundef %433)
  %21456 = getelementptr inbounds %struct.s2n_result, ptr %445, i32 0, i32 0
  store i32 %21455, ptr %21456, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %433) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %446) #11
  %21457 = call ptr @s2n_config_new()
  store ptr %21457, ptr %446, align 8, !tbaa !9
  br label %21458

21458:                                            ; preds = %21454
  %21459 = load i32, ptr @test_count, align 4, !tbaa !5
  %21460 = add nsw i32 %21459, 1
  store i32 %21460, ptr @test_count, align 4, !tbaa !5
  %21461 = load ptr, ptr %446, align 8, !tbaa !9
  %21462 = icmp eq ptr %21461, null
  br i1 %21462, label %21463, label %21516

21463:                                            ; preds = %21458
  br label %21464

21464:                                            ; preds = %21463
  br label %21465

21465:                                            ; preds = %21464
  call void @llvm.lifetime.start.p0(i64 4, ptr %447) #11
  %21466 = call ptr @__errno_location() #12
  %21467 = load i32, ptr %21466, align 4, !tbaa !5
  store i32 %21467, ptr %447, align 4, !tbaa !5
  %21468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21469 = call i32 @s2n_print_stacktrace(ptr noundef %21468)
  %21470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21471 = trunc i8 %21470 to i1
  br i1 %21471, label %21472, label %21494

21472:                                            ; preds = %21465
  %21473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21474 = call i32 @fileno(ptr noundef %21473) #11
  %21475 = call i32 @isatty(i32 noundef %21474) #11
  %21476 = icmp ne i32 %21475, 0
  br i1 %21476, label %21477, label %21494

21477:                                            ; preds = %21472
  %21478 = load i32, ptr %447, align 4, !tbaa !5
  %21479 = call ptr @__errno_location() #12
  store i32 %21478, ptr %21479, align 4, !tbaa !5
  %21480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21481 = load i32, ptr @test_count, align 4, !tbaa !5
  %21482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21483 = load i32, ptr %21482, align 4, !tbaa !5
  %21484 = call ptr @s2n_strerror(i32 noundef %21483, ptr noundef @.str.4)
  %21485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21486 = load i32, ptr %21485, align 4, !tbaa !5
  %21487 = call ptr @s2n_strerror_debug(i32 noundef %21486, ptr noundef @.str.4)
  %21488 = call ptr @__errno_location() #12
  %21489 = load i32, ptr %21488, align 4, !tbaa !5
  %21490 = call ptr @strerror(i32 noundef %21489) #11
  %21491 = call ptr @__errno_location() #12
  %21492 = load i32, ptr %21491, align 4, !tbaa !5
  %21493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21480, ptr noundef @.str.2, i32 noundef %21481, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 799, ptr noundef %21484, ptr noundef %21487, ptr noundef %21490, i32 noundef %21492) #11
  br label %21511

21494:                                            ; preds = %21472, %21465
  %21495 = load i32, ptr %447, align 4, !tbaa !5
  %21496 = call ptr @__errno_location() #12
  store i32 %21495, ptr %21496, align 4, !tbaa !5
  %21497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21498 = load i32, ptr @test_count, align 4, !tbaa !5
  %21499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21500 = load i32, ptr %21499, align 4, !tbaa !5
  %21501 = call ptr @s2n_strerror(i32 noundef %21500, ptr noundef @.str.4)
  %21502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21503 = load i32, ptr %21502, align 4, !tbaa !5
  %21504 = call ptr @s2n_strerror_debug(i32 noundef %21503, ptr noundef @.str.4)
  %21505 = call ptr @__errno_location() #12
  %21506 = load i32, ptr %21505, align 4, !tbaa !5
  %21507 = call ptr @strerror(i32 noundef %21506) #11
  %21508 = call ptr @__errno_location() #12
  %21509 = load i32, ptr %21508, align 4, !tbaa !5
  %21510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21497, ptr noundef @.str.5, i32 noundef %21498, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 799, ptr noundef %21501, ptr noundef %21504, ptr noundef %21507, i32 noundef %21509) #11
  br label %21511

21511:                                            ; preds = %21494, %21477
  call void @llvm.lifetime.end.p0(i64 4, ptr %447) #11
  br label %21512

21512:                                            ; preds = %21511
  br label %21513

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

21514:                                            ; No predecessors!
  br label %21515

21515:                                            ; preds = %21514
  br label %21516

21516:                                            ; preds = %21515, %21458
  br label %21517

21517:                                            ; preds = %21516
  br label %21518

21518:                                            ; preds = %21517
  br label %21519

21519:                                            ; preds = %21518
  %21520 = load i32, ptr @test_count, align 4, !tbaa !5
  %21521 = add nsw i32 %21520, 1
  store i32 %21521, ptr @test_count, align 4, !tbaa !5
  %21522 = load ptr, ptr %446, align 8, !tbaa !9
  %21523 = getelementptr inbounds %struct.s2n_config, ptr %21522, i32 0, i32 37
  %21524 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %21523, i32 0, i32 0
  %21525 = load ptr, ptr %21524, align 8, !tbaa !74
  %21526 = icmp eq ptr %21525, null
  br i1 %21526, label %21527, label %21580

21527:                                            ; preds = %21519
  br label %21528

21528:                                            ; preds = %21527
  br label %21529

21529:                                            ; preds = %21528
  call void @llvm.lifetime.start.p0(i64 4, ptr %448) #11
  %21530 = call ptr @__errno_location() #12
  %21531 = load i32, ptr %21530, align 4, !tbaa !5
  store i32 %21531, ptr %448, align 4, !tbaa !5
  %21532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21533 = call i32 @s2n_print_stacktrace(ptr noundef %21532)
  %21534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21535 = trunc i8 %21534 to i1
  br i1 %21535, label %21536, label %21558

21536:                                            ; preds = %21529
  %21537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21538 = call i32 @fileno(ptr noundef %21537) #11
  %21539 = call i32 @isatty(i32 noundef %21538) #11
  %21540 = icmp ne i32 %21539, 0
  br i1 %21540, label %21541, label %21558

21541:                                            ; preds = %21536
  %21542 = load i32, ptr %448, align 4, !tbaa !5
  %21543 = call ptr @__errno_location() #12
  store i32 %21542, ptr %21543, align 4, !tbaa !5
  %21544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21545 = load i32, ptr @test_count, align 4, !tbaa !5
  %21546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21547 = load i32, ptr %21546, align 4, !tbaa !5
  %21548 = call ptr @s2n_strerror(i32 noundef %21547, ptr noundef @.str.4)
  %21549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21550 = load i32, ptr %21549, align 4, !tbaa !5
  %21551 = call ptr @s2n_strerror_debug(i32 noundef %21550, ptr noundef @.str.4)
  %21552 = call ptr @__errno_location() #12
  %21553 = load i32, ptr %21552, align 4, !tbaa !5
  %21554 = call ptr @strerror(i32 noundef %21553) #11
  %21555 = call ptr @__errno_location() #12
  %21556 = load i32, ptr %21555, align 4, !tbaa !5
  %21557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21544, ptr noundef @.str.2, i32 noundef %21545, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 800, ptr noundef %21548, ptr noundef %21551, ptr noundef %21554, i32 noundef %21556) #11
  br label %21575

21558:                                            ; preds = %21536, %21529
  %21559 = load i32, ptr %448, align 4, !tbaa !5
  %21560 = call ptr @__errno_location() #12
  store i32 %21559, ptr %21560, align 4, !tbaa !5
  %21561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21562 = load i32, ptr @test_count, align 4, !tbaa !5
  %21563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21564 = load i32, ptr %21563, align 4, !tbaa !5
  %21565 = call ptr @s2n_strerror(i32 noundef %21564, ptr noundef @.str.4)
  %21566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21567 = load i32, ptr %21566, align 4, !tbaa !5
  %21568 = call ptr @s2n_strerror_debug(i32 noundef %21567, ptr noundef @.str.4)
  %21569 = call ptr @__errno_location() #12
  %21570 = load i32, ptr %21569, align 4, !tbaa !5
  %21571 = call ptr @strerror(i32 noundef %21570) #11
  %21572 = call ptr @__errno_location() #12
  %21573 = load i32, ptr %21572, align 4, !tbaa !5
  %21574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21561, ptr noundef @.str.5, i32 noundef %21562, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 800, ptr noundef %21565, ptr noundef %21568, ptr noundef %21571, i32 noundef %21573) #11
  br label %21575

21575:                                            ; preds = %21558, %21541
  call void @llvm.lifetime.end.p0(i64 4, ptr %448) #11
  br label %21576

21576:                                            ; preds = %21575
  br label %21577

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

21578:                                            ; No predecessors!
  br label %21579

21579:                                            ; preds = %21578
  br label %21580

21580:                                            ; preds = %21579, %21519
  br label %21581

21581:                                            ; preds = %21580
  br label %21582

21582:                                            ; preds = %21581
  br label %21583

21583:                                            ; preds = %21582
  %21584 = load i32, ptr @test_count, align 4, !tbaa !5
  %21585 = add nsw i32 %21584, 1
  store i32 %21585, ptr @test_count, align 4, !tbaa !5
  %21586 = load ptr, ptr %446, align 8, !tbaa !9
  %21587 = getelementptr inbounds %struct.s2n_config, ptr %21586, i32 0, i32 37
  %21588 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %21587, i32 0, i32 1
  %21589 = load i8, ptr %21588, align 8
  %21590 = and i8 %21589, 1
  %21591 = zext i8 %21590 to i32
  %21592 = icmp ne i32 %21591, 0
  br i1 %21592, label %21646, label %21593

21593:                                            ; preds = %21583
  br label %21594

21594:                                            ; preds = %21593
  br label %21595

21595:                                            ; preds = %21594
  call void @llvm.lifetime.start.p0(i64 4, ptr %449) #11
  %21596 = call ptr @__errno_location() #12
  %21597 = load i32, ptr %21596, align 4, !tbaa !5
  store i32 %21597, ptr %449, align 4, !tbaa !5
  %21598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21599 = call i32 @s2n_print_stacktrace(ptr noundef %21598)
  %21600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21601 = trunc i8 %21600 to i1
  br i1 %21601, label %21602, label %21624

21602:                                            ; preds = %21595
  %21603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21604 = call i32 @fileno(ptr noundef %21603) #11
  %21605 = call i32 @isatty(i32 noundef %21604) #11
  %21606 = icmp ne i32 %21605, 0
  br i1 %21606, label %21607, label %21624

21607:                                            ; preds = %21602
  %21608 = load i32, ptr %449, align 4, !tbaa !5
  %21609 = call ptr @__errno_location() #12
  store i32 %21608, ptr %21609, align 4, !tbaa !5
  %21610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21611 = load i32, ptr @test_count, align 4, !tbaa !5
  %21612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21613 = load i32, ptr %21612, align 4, !tbaa !5
  %21614 = call ptr @s2n_strerror(i32 noundef %21613, ptr noundef @.str.4)
  %21615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21616 = load i32, ptr %21615, align 4, !tbaa !5
  %21617 = call ptr @s2n_strerror_debug(i32 noundef %21616, ptr noundef @.str.4)
  %21618 = call ptr @__errno_location() #12
  %21619 = load i32, ptr %21618, align 4, !tbaa !5
  %21620 = call ptr @strerror(i32 noundef %21619) #11
  %21621 = call ptr @__errno_location() #12
  %21622 = load i32, ptr %21621, align 4, !tbaa !5
  %21623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21610, ptr noundef @.str.2, i32 noundef %21611, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 801, ptr noundef %21614, ptr noundef %21617, ptr noundef %21620, i32 noundef %21622) #11
  br label %21641

21624:                                            ; preds = %21602, %21595
  %21625 = load i32, ptr %449, align 4, !tbaa !5
  %21626 = call ptr @__errno_location() #12
  store i32 %21625, ptr %21626, align 4, !tbaa !5
  %21627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21628 = load i32, ptr @test_count, align 4, !tbaa !5
  %21629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21630 = load i32, ptr %21629, align 4, !tbaa !5
  %21631 = call ptr @s2n_strerror(i32 noundef %21630, ptr noundef @.str.4)
  %21632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21633 = load i32, ptr %21632, align 4, !tbaa !5
  %21634 = call ptr @s2n_strerror_debug(i32 noundef %21633, ptr noundef @.str.4)
  %21635 = call ptr @__errno_location() #12
  %21636 = load i32, ptr %21635, align 4, !tbaa !5
  %21637 = call ptr @strerror(i32 noundef %21636) #11
  %21638 = call ptr @__errno_location() #12
  %21639 = load i32, ptr %21638, align 4, !tbaa !5
  %21640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21627, ptr noundef @.str.5, i32 noundef %21628, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 801, ptr noundef %21631, ptr noundef %21634, ptr noundef %21637, i32 noundef %21639) #11
  br label %21641

21641:                                            ; preds = %21624, %21607
  call void @llvm.lifetime.end.p0(i64 4, ptr %449) #11
  br label %21642

21642:                                            ; preds = %21641
  br label %21643

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

21644:                                            ; No predecessors!
  br label %21645

21645:                                            ; preds = %21644
  br label %21646

21646:                                            ; preds = %21645, %21583
  br label %21647

21647:                                            ; preds = %21646
  br label %21648

21648:                                            ; preds = %21647
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #11
  store i32 0, ptr %450, align 4, !tbaa !5
  br label %21649

21649:                                            ; preds = %21918, %21648
  %21650 = load i32, ptr %450, align 4, !tbaa !5
  %21651 = icmp slt i32 %21650, 20
  br i1 %21651, label %21653, label %21652

21652:                                            ; preds = %21649
  store i32 2096, ptr %352, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #11
  br label %21921

21653:                                            ; preds = %21649
  br label %21654

21654:                                            ; preds = %21653
  br label %21655

21655:                                            ; preds = %21654
  br label %21656

21656:                                            ; preds = %21655
  %21657 = load i32, ptr @test_count, align 4, !tbaa !5
  %21658 = add nsw i32 %21657, 1
  store i32 %21658, ptr @test_count, align 4, !tbaa !5
  %21659 = load ptr, ptr %446, align 8, !tbaa !9
  %21660 = call i32 @s2n_config_load_system_certs(ptr noundef %21659)
  %21661 = icmp eq i32 %21660, -1
  br i1 %21661, label %21715, label %21662

21662:                                            ; preds = %21656
  br label %21663

21663:                                            ; preds = %21662
  br label %21664

21664:                                            ; preds = %21663
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #11
  %21665 = call ptr @__errno_location() #12
  %21666 = load i32, ptr %21665, align 4, !tbaa !5
  store i32 %21666, ptr %451, align 4, !tbaa !5
  %21667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21668 = call i32 @s2n_print_stacktrace(ptr noundef %21667)
  %21669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21670 = trunc i8 %21669 to i1
  br i1 %21670, label %21671, label %21693

21671:                                            ; preds = %21664
  %21672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21673 = call i32 @fileno(ptr noundef %21672) #11
  %21674 = call i32 @isatty(i32 noundef %21673) #11
  %21675 = icmp ne i32 %21674, 0
  br i1 %21675, label %21676, label %21693

21676:                                            ; preds = %21671
  %21677 = load i32, ptr %451, align 4, !tbaa !5
  %21678 = call ptr @__errno_location() #12
  store i32 %21677, ptr %21678, align 4, !tbaa !5
  %21679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21680 = load i32, ptr @test_count, align 4, !tbaa !5
  %21681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21682 = load i32, ptr %21681, align 4, !tbaa !5
  %21683 = call ptr @s2n_strerror(i32 noundef %21682, ptr noundef @.str.4)
  %21684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21685 = load i32, ptr %21684, align 4, !tbaa !5
  %21686 = call ptr @s2n_strerror_debug(i32 noundef %21685, ptr noundef @.str.4)
  %21687 = call ptr @__errno_location() #12
  %21688 = load i32, ptr %21687, align 4, !tbaa !5
  %21689 = call ptr @strerror(i32 noundef %21688) #11
  %21690 = call ptr @__errno_location() #12
  %21691 = load i32, ptr %21690, align 4, !tbaa !5
  %21692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21679, ptr noundef @.str.2, i32 noundef %21680, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 805, ptr noundef %21683, ptr noundef %21686, ptr noundef %21689, i32 noundef %21691) #11
  br label %21710

21693:                                            ; preds = %21671, %21664
  %21694 = load i32, ptr %451, align 4, !tbaa !5
  %21695 = call ptr @__errno_location() #12
  store i32 %21694, ptr %21695, align 4, !tbaa !5
  %21696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21697 = load i32, ptr @test_count, align 4, !tbaa !5
  %21698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21699 = load i32, ptr %21698, align 4, !tbaa !5
  %21700 = call ptr @s2n_strerror(i32 noundef %21699, ptr noundef @.str.4)
  %21701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21702 = load i32, ptr %21701, align 4, !tbaa !5
  %21703 = call ptr @s2n_strerror_debug(i32 noundef %21702, ptr noundef @.str.4)
  %21704 = call ptr @__errno_location() #12
  %21705 = load i32, ptr %21704, align 4, !tbaa !5
  %21706 = call ptr @strerror(i32 noundef %21705) #11
  %21707 = call ptr @__errno_location() #12
  %21708 = load i32, ptr %21707, align 4, !tbaa !5
  %21709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21696, ptr noundef @.str.5, i32 noundef %21697, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 805, ptr noundef %21700, ptr noundef %21703, ptr noundef %21706, i32 noundef %21708) #11
  br label %21710

21710:                                            ; preds = %21693, %21676
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #11
  br label %21711

21711:                                            ; preds = %21710
  br label %21712

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

21713:                                            ; No predecessors!
  br label %21714

21714:                                            ; preds = %21713
  br label %21715

21715:                                            ; preds = %21714, %21656
  br label %21716

21716:                                            ; preds = %21715
  br label %21717

21717:                                            ; preds = %21716
  br label %21718

21718:                                            ; preds = %21717
  %21719 = load i32, ptr @test_count, align 4, !tbaa !5
  %21720 = add nsw i32 %21719, 1
  store i32 %21720, 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 = icmp eq i32 %21722, 402653238
  br i1 %21723, label %21777, label %21724

21724:                                            ; preds = %21718
  br label %21725

21725:                                            ; preds = %21724
  br label %21726

21726:                                            ; preds = %21725
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #11
  %21727 = call ptr @__errno_location() #12
  %21728 = load i32, ptr %21727, align 4, !tbaa !5
  store i32 %21728, ptr %452, align 4, !tbaa !5
  %21729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21730 = call i32 @s2n_print_stacktrace(ptr noundef %21729)
  %21731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21732 = trunc i8 %21731 to i1
  br i1 %21732, label %21733, label %21755

21733:                                            ; preds = %21726
  %21734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21735 = call i32 @fileno(ptr noundef %21734) #11
  %21736 = call i32 @isatty(i32 noundef %21735) #11
  %21737 = icmp ne i32 %21736, 0
  br i1 %21737, label %21738, label %21755

21738:                                            ; preds = %21733
  %21739 = load i32, ptr %452, align 4, !tbaa !5
  %21740 = call ptr @__errno_location() #12
  store i32 %21739, ptr %21740, align 4, !tbaa !5
  %21741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21742 = load i32, ptr @test_count, align 4, !tbaa !5
  %21743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21744 = load i32, ptr %21743, align 4, !tbaa !5
  %21745 = call ptr @s2n_strerror(i32 noundef %21744, ptr noundef @.str.4)
  %21746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21747 = load i32, ptr %21746, align 4, !tbaa !5
  %21748 = call ptr @s2n_strerror_debug(i32 noundef %21747, ptr noundef @.str.4)
  %21749 = call ptr @__errno_location() #12
  %21750 = load i32, ptr %21749, align 4, !tbaa !5
  %21751 = call ptr @strerror(i32 noundef %21750) #11
  %21752 = call ptr @__errno_location() #12
  %21753 = load i32, ptr %21752, align 4, !tbaa !5
  %21754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21741, ptr noundef @.str.2, i32 noundef %21742, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 805, ptr noundef %21745, ptr noundef %21748, ptr noundef %21751, i32 noundef %21753) #11
  br label %21772

21755:                                            ; preds = %21733, %21726
  %21756 = load i32, ptr %452, align 4, !tbaa !5
  %21757 = call ptr @__errno_location() #12
  store i32 %21756, ptr %21757, align 4, !tbaa !5
  %21758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21759 = load i32, ptr @test_count, align 4, !tbaa !5
  %21760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21761 = load i32, ptr %21760, align 4, !tbaa !5
  %21762 = call ptr @s2n_strerror(i32 noundef %21761, ptr noundef @.str.4)
  %21763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21764 = load i32, ptr %21763, align 4, !tbaa !5
  %21765 = call ptr @s2n_strerror_debug(i32 noundef %21764, ptr noundef @.str.4)
  %21766 = call ptr @__errno_location() #12
  %21767 = load i32, ptr %21766, align 4, !tbaa !5
  %21768 = call ptr @strerror(i32 noundef %21767) #11
  %21769 = call ptr @__errno_location() #12
  %21770 = load i32, ptr %21769, align 4, !tbaa !5
  %21771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21758, ptr noundef @.str.5, i32 noundef %21759, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 805, ptr noundef %21762, ptr noundef %21765, ptr noundef %21768, i32 noundef %21770) #11
  br label %21772

21772:                                            ; preds = %21755, %21738
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #11
  br label %21773

21773:                                            ; preds = %21772
  br label %21774

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

21775:                                            ; No predecessors!
  br label %21776

21776:                                            ; preds = %21775
  br label %21777

21777:                                            ; preds = %21776, %21718
  br label %21778

21778:                                            ; preds = %21777
  br label %21779

21779:                                            ; preds = %21778
  br label %21780

21780:                                            ; preds = %21779
  %21781 = load i32, ptr @test_count, align 4, !tbaa !5
  %21782 = add nsw i32 %21781, 1
  store i32 %21782, ptr @test_count, align 4, !tbaa !5
  %21783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21784 = load i32, ptr %21783, align 4, !tbaa !5
  %21785 = call ptr @s2n_strerror_debug(i32 noundef %21784, ptr noundef @.str.4)
  %21786 = icmp eq ptr %21785, null
  br i1 %21786, label %21787, label %21840

21787:                                            ; preds = %21780
  br label %21788

21788:                                            ; preds = %21787
  br label %21789

21789:                                            ; preds = %21788
  call void @llvm.lifetime.start.p0(i64 4, ptr %453) #11
  %21790 = call ptr @__errno_location() #12
  %21791 = load i32, ptr %21790, align 4, !tbaa !5
  store i32 %21791, ptr %453, align 4, !tbaa !5
  %21792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21793 = call i32 @s2n_print_stacktrace(ptr noundef %21792)
  %21794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21795 = trunc i8 %21794 to i1
  br i1 %21795, label %21796, label %21818

21796:                                            ; preds = %21789
  %21797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21798 = call i32 @fileno(ptr noundef %21797) #11
  %21799 = call i32 @isatty(i32 noundef %21798) #11
  %21800 = icmp ne i32 %21799, 0
  br i1 %21800, label %21801, label %21818

21801:                                            ; preds = %21796
  %21802 = load i32, ptr %453, align 4, !tbaa !5
  %21803 = call ptr @__errno_location() #12
  store i32 %21802, ptr %21803, align 4, !tbaa !5
  %21804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21805 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %21807, ptr noundef @.str.4)
  %21809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21810 = load i32, ptr %21809, align 4, !tbaa !5
  %21811 = call ptr @s2n_strerror_debug(i32 noundef %21810, ptr noundef @.str.4)
  %21812 = call ptr @__errno_location() #12
  %21813 = load i32, ptr %21812, align 4, !tbaa !5
  %21814 = call ptr @strerror(i32 noundef %21813) #11
  %21815 = call ptr @__errno_location() #12
  %21816 = load i32, ptr %21815, align 4, !tbaa !5
  %21817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21804, ptr noundef @.str.2, i32 noundef %21805, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 805, ptr noundef %21808, ptr noundef %21811, ptr noundef %21814, i32 noundef %21816) #11
  br label %21835

21818:                                            ; preds = %21796, %21789
  %21819 = load i32, ptr %453, align 4, !tbaa !5
  %21820 = call ptr @__errno_location() #12
  store i32 %21819, ptr %21820, align 4, !tbaa !5
  %21821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21822 = load i32, ptr @test_count, align 4, !tbaa !5
  %21823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21824 = load i32, ptr %21823, align 4, !tbaa !5
  %21825 = call ptr @s2n_strerror(i32 noundef %21824, ptr noundef @.str.4)
  %21826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21827 = load i32, ptr %21826, align 4, !tbaa !5
  %21828 = call ptr @s2n_strerror_debug(i32 noundef %21827, ptr noundef @.str.4)
  %21829 = call ptr @__errno_location() #12
  %21830 = load i32, ptr %21829, align 4, !tbaa !5
  %21831 = call ptr @strerror(i32 noundef %21830) #11
  %21832 = call ptr @__errno_location() #12
  %21833 = load i32, ptr %21832, align 4, !tbaa !5
  %21834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21821, ptr noundef @.str.5, i32 noundef %21822, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 805, ptr noundef %21825, ptr noundef %21828, ptr noundef %21831, i32 noundef %21833) #11
  br label %21835

21835:                                            ; preds = %21818, %21801
  call void @llvm.lifetime.end.p0(i64 4, ptr %453) #11
  br label %21836

21836:                                            ; preds = %21835
  br label %21837

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

21838:                                            ; No predecessors!
  br label %21839

21839:                                            ; preds = %21838
  br label %21840

21840:                                            ; preds = %21839, %21780
  br label %21841

21841:                                            ; preds = %21840
  br label %21842

21842:                                            ; preds = %21841
  br label %21843

21843:                                            ; preds = %21842
  br label %21844

21844:                                            ; preds = %21843
  br label %21845

21845:                                            ; preds = %21844
  %21846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21846, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21847 = call ptr @__errno_location() #12
  store i32 0, ptr %21847, align 4, !tbaa !5
  br label %21848

21848:                                            ; preds = %21845
  br label %21849

21849:                                            ; preds = %21848
  br label %21850

21850:                                            ; preds = %21849
  br label %21851

21851:                                            ; preds = %21850
  br label %21852

21852:                                            ; preds = %21851
  %21853 = load i32, ptr @test_count, align 4, !tbaa !5
  %21854 = add nsw i32 %21853, 1
  store i32 %21854, ptr @test_count, align 4, !tbaa !5
  %21855 = load ptr, ptr %446, align 8, !tbaa !9
  %21856 = getelementptr inbounds %struct.s2n_config, ptr %21855, i32 0, i32 37
  %21857 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %21856, i32 0, i32 1
  %21858 = load i8, ptr %21857, align 8
  %21859 = and i8 %21858, 1
  %21860 = zext i8 %21859 to i32
  %21861 = icmp ne i32 %21860, 0
  br i1 %21861, label %21915, label %21862

21862:                                            ; preds = %21852
  br label %21863

21863:                                            ; preds = %21862
  br label %21864

21864:                                            ; preds = %21863
  call void @llvm.lifetime.start.p0(i64 4, ptr %454) #11
  %21865 = call ptr @__errno_location() #12
  %21866 = load i32, ptr %21865, align 4, !tbaa !5
  store i32 %21866, ptr %454, align 4, !tbaa !5
  %21867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21868 = call i32 @s2n_print_stacktrace(ptr noundef %21867)
  %21869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21870 = trunc i8 %21869 to i1
  br i1 %21870, label %21871, label %21893

21871:                                            ; preds = %21864
  %21872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21873 = call i32 @fileno(ptr noundef %21872) #11
  %21874 = call i32 @isatty(i32 noundef %21873) #11
  %21875 = icmp ne i32 %21874, 0
  br i1 %21875, label %21876, label %21893

21876:                                            ; preds = %21871
  %21877 = load i32, ptr %454, align 4, !tbaa !5
  %21878 = call ptr @__errno_location() #12
  store i32 %21877, ptr %21878, align 4, !tbaa !5
  %21879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21880 = load i32, ptr @test_count, align 4, !tbaa !5
  %21881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21882 = load i32, ptr %21881, align 4, !tbaa !5
  %21883 = call ptr @s2n_strerror(i32 noundef %21882, ptr noundef @.str.4)
  %21884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21885 = load i32, ptr %21884, align 4, !tbaa !5
  %21886 = call ptr @s2n_strerror_debug(i32 noundef %21885, ptr noundef @.str.4)
  %21887 = call ptr @__errno_location() #12
  %21888 = load i32, ptr %21887, align 4, !tbaa !5
  %21889 = call ptr @strerror(i32 noundef %21888) #11
  %21890 = call ptr @__errno_location() #12
  %21891 = load i32, ptr %21890, align 4, !tbaa !5
  %21892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21879, ptr noundef @.str.2, i32 noundef %21880, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 806, ptr noundef %21883, ptr noundef %21886, ptr noundef %21889, i32 noundef %21891) #11
  br label %21910

21893:                                            ; preds = %21871, %21864
  %21894 = load i32, ptr %454, align 4, !tbaa !5
  %21895 = call ptr @__errno_location() #12
  store i32 %21894, ptr %21895, align 4, !tbaa !5
  %21896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21897 = load i32, ptr @test_count, align 4, !tbaa !5
  %21898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21899 = load i32, ptr %21898, align 4, !tbaa !5
  %21900 = call ptr @s2n_strerror(i32 noundef %21899, ptr noundef @.str.4)
  %21901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21902 = load i32, ptr %21901, align 4, !tbaa !5
  %21903 = call ptr @s2n_strerror_debug(i32 noundef %21902, ptr noundef @.str.4)
  %21904 = call ptr @__errno_location() #12
  %21905 = load i32, ptr %21904, align 4, !tbaa !5
  %21906 = call ptr @strerror(i32 noundef %21905) #11
  %21907 = call ptr @__errno_location() #12
  %21908 = load i32, ptr %21907, align 4, !tbaa !5
  %21909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21896, ptr noundef @.str.5, i32 noundef %21897, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 806, ptr noundef %21900, ptr noundef %21903, ptr noundef %21906, i32 noundef %21908) #11
  br label %21910

21910:                                            ; preds = %21893, %21876
  call void @llvm.lifetime.end.p0(i64 4, ptr %454) #11
  br label %21911

21911:                                            ; preds = %21910
  br label %21912

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

21913:                                            ; No predecessors!
  br label %21914

21914:                                            ; preds = %21913
  br label %21915

21915:                                            ; preds = %21914, %21852
  br label %21916

21916:                                            ; preds = %21915
  br label %21917

21917:                                            ; preds = %21916
  br label %21918

21918:                                            ; preds = %21917
  %21919 = load i32, ptr %450, align 4, !tbaa !5
  %21920 = add nsw i32 %21919, 1
  store i32 %21920, ptr %450, align 4, !tbaa !5
  br label %21649, !llvm.loop !76

21921:                                            ; preds = %21652
  %21922 = call i32 @s2n_config_ptr_free(ptr noundef %446)
  %21923 = getelementptr inbounds %struct.s2n_result, ptr %455, i32 0, i32 0
  store i32 %21922, ptr %21923, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %446) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %456) #11
  %21924 = call ptr @s2n_fetch_default_config()
  store ptr %21924, ptr %456, align 8, !tbaa !9
  br label %21925

21925:                                            ; preds = %21921
  %21926 = load i32, ptr @test_count, align 4, !tbaa !5
  %21927 = add nsw i32 %21926, 1
  store i32 %21927, ptr @test_count, align 4, !tbaa !5
  %21928 = load ptr, ptr %456, align 8, !tbaa !9
  %21929 = icmp eq ptr %21928, null
  br i1 %21929, label %21930, label %21983

21930:                                            ; preds = %21925
  br label %21931

21931:                                            ; preds = %21930
  br label %21932

21932:                                            ; preds = %21931
  call void @llvm.lifetime.start.p0(i64 4, ptr %457) #11
  %21933 = call ptr @__errno_location() #12
  %21934 = load i32, ptr %21933, align 4, !tbaa !5
  store i32 %21934, ptr %457, align 4, !tbaa !5
  %21935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21936 = call i32 @s2n_print_stacktrace(ptr noundef %21935)
  %21937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21938 = trunc i8 %21937 to i1
  br i1 %21938, label %21939, label %21961

21939:                                            ; preds = %21932
  %21940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21941 = call i32 @fileno(ptr noundef %21940) #11
  %21942 = call i32 @isatty(i32 noundef %21941) #11
  %21943 = icmp ne i32 %21942, 0
  br i1 %21943, label %21944, label %21961

21944:                                            ; preds = %21939
  %21945 = load i32, ptr %457, align 4, !tbaa !5
  %21946 = call ptr @__errno_location() #12
  store i32 %21945, ptr %21946, align 4, !tbaa !5
  %21947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21948 = load i32, ptr @test_count, align 4, !tbaa !5
  %21949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21950 = load i32, ptr %21949, align 4, !tbaa !5
  %21951 = call ptr @s2n_strerror(i32 noundef %21950, ptr noundef @.str.4)
  %21952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21953 = load i32, ptr %21952, align 4, !tbaa !5
  %21954 = call ptr @s2n_strerror_debug(i32 noundef %21953, ptr noundef @.str.4)
  %21955 = call ptr @__errno_location() #12
  %21956 = load i32, ptr %21955, align 4, !tbaa !5
  %21957 = call ptr @strerror(i32 noundef %21956) #11
  %21958 = call ptr @__errno_location() #12
  %21959 = load i32, ptr %21958, align 4, !tbaa !5
  %21960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21947, ptr noundef @.str.2, i32 noundef %21948, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 813, ptr noundef %21951, ptr noundef %21954, ptr noundef %21957, i32 noundef %21959) #11
  br label %21978

21961:                                            ; preds = %21939, %21932
  %21962 = load i32, ptr %457, align 4, !tbaa !5
  %21963 = call ptr @__errno_location() #12
  store i32 %21962, ptr %21963, align 4, !tbaa !5
  %21964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21965 = load i32, ptr @test_count, align 4, !tbaa !5
  %21966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21967 = load i32, ptr %21966, align 4, !tbaa !5
  %21968 = call ptr @s2n_strerror(i32 noundef %21967, ptr noundef @.str.4)
  %21969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21970 = load i32, ptr %21969, align 4, !tbaa !5
  %21971 = call ptr @s2n_strerror_debug(i32 noundef %21970, ptr noundef @.str.4)
  %21972 = call ptr @__errno_location() #12
  %21973 = load i32, ptr %21972, align 4, !tbaa !5
  %21974 = call ptr @strerror(i32 noundef %21973) #11
  %21975 = call ptr @__errno_location() #12
  %21976 = load i32, ptr %21975, align 4, !tbaa !5
  %21977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21964, ptr noundef @.str.5, i32 noundef %21965, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 813, ptr noundef %21968, ptr noundef %21971, ptr noundef %21974, i32 noundef %21976) #11
  br label %21978

21978:                                            ; preds = %21961, %21944
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #11
  br label %21979

21979:                                            ; preds = %21978
  br label %21980

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

21981:                                            ; No predecessors!
  br label %21982

21982:                                            ; preds = %21981
  br label %21983

21983:                                            ; preds = %21982, %21925
  br label %21984

21984:                                            ; preds = %21983
  br label %21985

21985:                                            ; preds = %21984
  br label %21986

21986:                                            ; preds = %21985
  %21987 = load i32, ptr @test_count, align 4, !tbaa !5
  %21988 = add nsw i32 %21987, 1
  store i32 %21988, ptr @test_count, align 4, !tbaa !5
  %21989 = load ptr, ptr %456, align 8, !tbaa !9
  %21990 = getelementptr inbounds %struct.s2n_config, ptr %21989, i32 0, i32 37
  %21991 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %21990, i32 0, i32 1
  %21992 = load i8, ptr %21991, align 8
  %21993 = and i8 %21992, 1
  %21994 = zext i8 %21993 to i32
  %21995 = icmp ne i32 %21994, 0
  br i1 %21995, label %22049, label %21996

21996:                                            ; preds = %21986
  br label %21997

21997:                                            ; preds = %21996
  br label %21998

21998:                                            ; preds = %21997
  call void @llvm.lifetime.start.p0(i64 4, ptr %458) #11
  %21999 = call ptr @__errno_location() #12
  %22000 = load i32, ptr %21999, align 4, !tbaa !5
  store i32 %22000, ptr %458, align 4, !tbaa !5
  %22001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22002 = call i32 @s2n_print_stacktrace(ptr noundef %22001)
  %22003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22004 = trunc i8 %22003 to i1
  br i1 %22004, label %22005, label %22027

22005:                                            ; preds = %21998
  %22006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22007 = call i32 @fileno(ptr noundef %22006) #11
  %22008 = call i32 @isatty(i32 noundef %22007) #11
  %22009 = icmp ne i32 %22008, 0
  br i1 %22009, label %22010, label %22027

22010:                                            ; preds = %22005
  %22011 = load i32, ptr %458, align 4, !tbaa !5
  %22012 = call ptr @__errno_location() #12
  store i32 %22011, ptr %22012, align 4, !tbaa !5
  %22013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22014 = load i32, ptr @test_count, align 4, !tbaa !5
  %22015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22016 = load i32, ptr %22015, align 4, !tbaa !5
  %22017 = call ptr @s2n_strerror(i32 noundef %22016, ptr noundef @.str.4)
  %22018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22019 = load i32, ptr %22018, align 4, !tbaa !5
  %22020 = call ptr @s2n_strerror_debug(i32 noundef %22019, ptr noundef @.str.4)
  %22021 = call ptr @__errno_location() #12
  %22022 = load i32, ptr %22021, align 4, !tbaa !5
  %22023 = call ptr @strerror(i32 noundef %22022) #11
  %22024 = call ptr @__errno_location() #12
  %22025 = load i32, ptr %22024, align 4, !tbaa !5
  %22026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22013, ptr noundef @.str.2, i32 noundef %22014, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 814, ptr noundef %22017, ptr noundef %22020, ptr noundef %22023, i32 noundef %22025) #11
  br label %22044

22027:                                            ; preds = %22005, %21998
  %22028 = load i32, ptr %458, align 4, !tbaa !5
  %22029 = call ptr @__errno_location() #12
  store i32 %22028, ptr %22029, align 4, !tbaa !5
  %22030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22031 = load i32, ptr @test_count, align 4, !tbaa !5
  %22032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22033 = load i32, ptr %22032, align 4, !tbaa !5
  %22034 = call ptr @s2n_strerror(i32 noundef %22033, ptr noundef @.str.4)
  %22035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22036 = load i32, ptr %22035, align 4, !tbaa !5
  %22037 = call ptr @s2n_strerror_debug(i32 noundef %22036, ptr noundef @.str.4)
  %22038 = call ptr @__errno_location() #12
  %22039 = load i32, ptr %22038, align 4, !tbaa !5
  %22040 = call ptr @strerror(i32 noundef %22039) #11
  %22041 = call ptr @__errno_location() #12
  %22042 = load i32, ptr %22041, align 4, !tbaa !5
  %22043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22030, ptr noundef @.str.5, i32 noundef %22031, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 814, ptr noundef %22034, ptr noundef %22037, ptr noundef %22040, i32 noundef %22042) #11
  br label %22044

22044:                                            ; preds = %22027, %22010
  call void @llvm.lifetime.end.p0(i64 4, ptr %458) #11
  br label %22045

22045:                                            ; preds = %22044
  br label %22046

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

22047:                                            ; No predecessors!
  br label %22048

22048:                                            ; preds = %22047
  br label %22049

22049:                                            ; preds = %22048, %21986
  br label %22050

22050:                                            ; preds = %22049
  br label %22051

22051:                                            ; preds = %22050
  call void @llvm.lifetime.end.p0(i64 8, ptr %456) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %459) #11
  %22052 = call ptr @s2n_config_new()
  store ptr %22052, ptr %459, align 8, !tbaa !9
  br label %22053

22053:                                            ; preds = %22051
  %22054 = load i32, ptr @test_count, align 4, !tbaa !5
  %22055 = add nsw i32 %22054, 1
  store i32 %22055, ptr @test_count, align 4, !tbaa !5
  %22056 = load ptr, ptr %459, align 8, !tbaa !9
  %22057 = icmp eq ptr %22056, null
  br i1 %22057, label %22058, label %22111

22058:                                            ; preds = %22053
  br label %22059

22059:                                            ; preds = %22058
  br label %22060

22060:                                            ; preds = %22059
  call void @llvm.lifetime.start.p0(i64 4, ptr %460) #11
  %22061 = call ptr @__errno_location() #12
  %22062 = load i32, ptr %22061, align 4, !tbaa !5
  store i32 %22062, ptr %460, align 4, !tbaa !5
  %22063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22064 = call i32 @s2n_print_stacktrace(ptr noundef %22063)
  %22065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22066 = trunc i8 %22065 to i1
  br i1 %22066, label %22067, label %22089

22067:                                            ; preds = %22060
  %22068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22069 = call i32 @fileno(ptr noundef %22068) #11
  %22070 = call i32 @isatty(i32 noundef %22069) #11
  %22071 = icmp ne i32 %22070, 0
  br i1 %22071, label %22072, label %22089

22072:                                            ; preds = %22067
  %22073 = load i32, ptr %460, align 4, !tbaa !5
  %22074 = call ptr @__errno_location() #12
  store i32 %22073, ptr %22074, align 4, !tbaa !5
  %22075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22076 = load i32, ptr @test_count, align 4, !tbaa !5
  %22077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22078 = load i32, ptr %22077, align 4, !tbaa !5
  %22079 = call ptr @s2n_strerror(i32 noundef %22078, ptr noundef @.str.4)
  %22080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22081 = load i32, ptr %22080, align 4, !tbaa !5
  %22082 = call ptr @s2n_strerror_debug(i32 noundef %22081, ptr noundef @.str.4)
  %22083 = call ptr @__errno_location() #12
  %22084 = load i32, ptr %22083, align 4, !tbaa !5
  %22085 = call ptr @strerror(i32 noundef %22084) #11
  %22086 = call ptr @__errno_location() #12
  %22087 = load i32, ptr %22086, align 4, !tbaa !5
  %22088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22075, ptr noundef @.str.2, i32 noundef %22076, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 820, ptr noundef %22079, ptr noundef %22082, ptr noundef %22085, i32 noundef %22087) #11
  br label %22106

22089:                                            ; preds = %22067, %22060
  %22090 = load i32, ptr %460, align 4, !tbaa !5
  %22091 = call ptr @__errno_location() #12
  store i32 %22090, ptr %22091, align 4, !tbaa !5
  %22092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22093 = load i32, ptr @test_count, align 4, !tbaa !5
  %22094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22095 = load i32, ptr %22094, align 4, !tbaa !5
  %22096 = call ptr @s2n_strerror(i32 noundef %22095, ptr noundef @.str.4)
  %22097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22098 = load i32, ptr %22097, align 4, !tbaa !5
  %22099 = call ptr @s2n_strerror_debug(i32 noundef %22098, ptr noundef @.str.4)
  %22100 = call ptr @__errno_location() #12
  %22101 = load i32, ptr %22100, align 4, !tbaa !5
  %22102 = call ptr @strerror(i32 noundef %22101) #11
  %22103 = call ptr @__errno_location() #12
  %22104 = load i32, ptr %22103, align 4, !tbaa !5
  %22105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22092, ptr noundef @.str.5, i32 noundef %22093, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 820, ptr noundef %22096, ptr noundef %22099, ptr noundef %22102, i32 noundef %22104) #11
  br label %22106

22106:                                            ; preds = %22089, %22072
  call void @llvm.lifetime.end.p0(i64 4, ptr %460) #11
  br label %22107

22107:                                            ; preds = %22106
  br label %22108

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

22109:                                            ; No predecessors!
  br label %22110

22110:                                            ; preds = %22109
  br label %22111

22111:                                            ; preds = %22110, %22053
  br label %22112

22112:                                            ; preds = %22111
  br label %22113

22113:                                            ; preds = %22112
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #11
  store i32 0, ptr %461, align 4, !tbaa !5
  br label %22114

22114:                                            ; preds = %22703, %22113
  %22115 = load i32, ptr %461, align 4, !tbaa !5
  %22116 = icmp slt i32 %22115, 20
  br i1 %22116, label %22118, label %22117

22117:                                            ; preds = %22114
  store i32 2147, ptr %352, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #11
  br label %22706

22118:                                            ; preds = %22114
  br label %22119

22119:                                            ; preds = %22118
  %22120 = load i32, ptr @test_count, align 4, !tbaa !5
  %22121 = add nsw i32 %22120, 1
  store i32 %22121, ptr @test_count, align 4, !tbaa !5
  %22122 = load ptr, ptr %459, align 8, !tbaa !9
  %22123 = getelementptr inbounds %struct.s2n_config, ptr %22122, i32 0, i32 37
  %22124 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %22123, i32 0, i32 0
  %22125 = load ptr, ptr %22124, align 8, !tbaa !74
  %22126 = icmp eq ptr %22125, null
  br i1 %22126, label %22127, label %22180

22127:                                            ; preds = %22119
  br label %22128

22128:                                            ; preds = %22127
  br label %22129

22129:                                            ; preds = %22128
  call void @llvm.lifetime.start.p0(i64 4, ptr %462) #11
  %22130 = call ptr @__errno_location() #12
  %22131 = load i32, ptr %22130, align 4, !tbaa !5
  store i32 %22131, ptr %462, align 4, !tbaa !5
  %22132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22133 = call i32 @s2n_print_stacktrace(ptr noundef %22132)
  %22134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22135 = trunc i8 %22134 to i1
  br i1 %22135, label %22136, label %22158

22136:                                            ; preds = %22129
  %22137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22138 = call i32 @fileno(ptr noundef %22137) #11
  %22139 = call i32 @isatty(i32 noundef %22138) #11
  %22140 = icmp ne i32 %22139, 0
  br i1 %22140, label %22141, label %22158

22141:                                            ; preds = %22136
  %22142 = load i32, ptr %462, align 4, !tbaa !5
  %22143 = call ptr @__errno_location() #12
  store i32 %22142, ptr %22143, align 4, !tbaa !5
  %22144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22145 = load i32, ptr @test_count, align 4, !tbaa !5
  %22146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22147 = load i32, ptr %22146, align 4, !tbaa !5
  %22148 = call ptr @s2n_strerror(i32 noundef %22147, ptr noundef @.str.4)
  %22149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22150 = load i32, ptr %22149, align 4, !tbaa !5
  %22151 = call ptr @s2n_strerror_debug(i32 noundef %22150, ptr noundef @.str.4)
  %22152 = call ptr @__errno_location() #12
  %22153 = load i32, ptr %22152, align 4, !tbaa !5
  %22154 = call ptr @strerror(i32 noundef %22153) #11
  %22155 = call ptr @__errno_location() #12
  %22156 = load i32, ptr %22155, align 4, !tbaa !5
  %22157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22144, ptr noundef @.str.2, i32 noundef %22145, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 824, ptr noundef %22148, ptr noundef %22151, ptr noundef %22154, i32 noundef %22156) #11
  br label %22175

22158:                                            ; preds = %22136, %22129
  %22159 = load i32, ptr %462, align 4, !tbaa !5
  %22160 = call ptr @__errno_location() #12
  store i32 %22159, ptr %22160, align 4, !tbaa !5
  %22161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22162 = load i32, ptr @test_count, align 4, !tbaa !5
  %22163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22164 = load i32, ptr %22163, align 4, !tbaa !5
  %22165 = call ptr @s2n_strerror(i32 noundef %22164, ptr noundef @.str.4)
  %22166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22167 = load i32, ptr %22166, align 4, !tbaa !5
  %22168 = call ptr @s2n_strerror_debug(i32 noundef %22167, ptr noundef @.str.4)
  %22169 = call ptr @__errno_location() #12
  %22170 = load i32, ptr %22169, align 4, !tbaa !5
  %22171 = call ptr @strerror(i32 noundef %22170) #11
  %22172 = call ptr @__errno_location() #12
  %22173 = load i32, ptr %22172, align 4, !tbaa !5
  %22174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22161, ptr noundef @.str.5, i32 noundef %22162, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 824, ptr noundef %22165, ptr noundef %22168, ptr noundef %22171, i32 noundef %22173) #11
  br label %22175

22175:                                            ; preds = %22158, %22141
  call void @llvm.lifetime.end.p0(i64 4, ptr %462) #11
  br label %22176

22176:                                            ; preds = %22175
  br label %22177

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

22178:                                            ; No predecessors!
  br label %22179

22179:                                            ; preds = %22178
  br label %22180

22180:                                            ; preds = %22179, %22119
  br label %22181

22181:                                            ; preds = %22180
  br label %22182

22182:                                            ; preds = %22181
  br label %22183

22183:                                            ; preds = %22182
  %22184 = load i32, ptr @test_count, align 4, !tbaa !5
  %22185 = add nsw i32 %22184, 1
  store i32 %22185, ptr @test_count, align 4, !tbaa !5
  %22186 = load ptr, ptr %459, align 8, !tbaa !9
  %22187 = getelementptr inbounds %struct.s2n_config, ptr %22186, i32 0, i32 37
  %22188 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %22187, i32 0, i32 1
  %22189 = load i8, ptr %22188, align 8
  %22190 = and i8 %22189, 1
  %22191 = zext i8 %22190 to i32
  %22192 = icmp ne i32 %22191, 0
  br i1 %22192, label %22246, label %22193

22193:                                            ; preds = %22183
  br label %22194

22194:                                            ; preds = %22193
  br label %22195

22195:                                            ; preds = %22194
  call void @llvm.lifetime.start.p0(i64 4, ptr %463) #11
  %22196 = call ptr @__errno_location() #12
  %22197 = load i32, ptr %22196, align 4, !tbaa !5
  store i32 %22197, ptr %463, align 4, !tbaa !5
  %22198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22199 = call i32 @s2n_print_stacktrace(ptr noundef %22198)
  %22200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22201 = trunc i8 %22200 to i1
  br i1 %22201, label %22202, label %22224

22202:                                            ; preds = %22195
  %22203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22204 = call i32 @fileno(ptr noundef %22203) #11
  %22205 = call i32 @isatty(i32 noundef %22204) #11
  %22206 = icmp ne i32 %22205, 0
  br i1 %22206, label %22207, label %22224

22207:                                            ; preds = %22202
  %22208 = load i32, ptr %463, align 4, !tbaa !5
  %22209 = call ptr @__errno_location() #12
  store i32 %22208, ptr %22209, align 4, !tbaa !5
  %22210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22211 = load i32, ptr @test_count, align 4, !tbaa !5
  %22212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22213 = load i32, ptr %22212, align 4, !tbaa !5
  %22214 = call ptr @s2n_strerror(i32 noundef %22213, ptr noundef @.str.4)
  %22215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22216 = load i32, ptr %22215, align 4, !tbaa !5
  %22217 = call ptr @s2n_strerror_debug(i32 noundef %22216, ptr noundef @.str.4)
  %22218 = call ptr @__errno_location() #12
  %22219 = load i32, ptr %22218, align 4, !tbaa !5
  %22220 = call ptr @strerror(i32 noundef %22219) #11
  %22221 = call ptr @__errno_location() #12
  %22222 = load i32, ptr %22221, align 4, !tbaa !5
  %22223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22210, ptr noundef @.str.2, i32 noundef %22211, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 825, ptr noundef %22214, ptr noundef %22217, ptr noundef %22220, i32 noundef %22222) #11
  br label %22241

22224:                                            ; preds = %22202, %22195
  %22225 = load i32, ptr %463, align 4, !tbaa !5
  %22226 = call ptr @__errno_location() #12
  store i32 %22225, ptr %22226, align 4, !tbaa !5
  %22227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22228 = load i32, ptr @test_count, align 4, !tbaa !5
  %22229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22230 = load i32, ptr %22229, align 4, !tbaa !5
  %22231 = call ptr @s2n_strerror(i32 noundef %22230, ptr noundef @.str.4)
  %22232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22233 = load i32, ptr %22232, align 4, !tbaa !5
  %22234 = call ptr @s2n_strerror_debug(i32 noundef %22233, ptr noundef @.str.4)
  %22235 = call ptr @__errno_location() #12
  %22236 = load i32, ptr %22235, align 4, !tbaa !5
  %22237 = call ptr @strerror(i32 noundef %22236) #11
  %22238 = call ptr @__errno_location() #12
  %22239 = load i32, ptr %22238, align 4, !tbaa !5
  %22240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22227, ptr noundef @.str.5, i32 noundef %22228, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 825, ptr noundef %22231, ptr noundef %22234, ptr noundef %22237, i32 noundef %22239) #11
  br label %22241

22241:                                            ; preds = %22224, %22207
  call void @llvm.lifetime.end.p0(i64 4, ptr %463) #11
  br label %22242

22242:                                            ; preds = %22241
  br label %22243

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

22244:                                            ; No predecessors!
  br label %22245

22245:                                            ; preds = %22244
  br label %22246

22246:                                            ; preds = %22245, %22183
  br label %22247

22247:                                            ; preds = %22246
  br label %22248

22248:                                            ; preds = %22247
  br label %22249

22249:                                            ; preds = %22248
  br label %22250

22250:                                            ; preds = %22249
  br label %22251

22251:                                            ; preds = %22250
  %22252 = load i32, ptr @test_count, align 4, !tbaa !5
  %22253 = add nsw i32 %22252, 1
  store i32 %22253, ptr @test_count, align 4, !tbaa !5
  %22254 = load ptr, ptr %459, align 8, !tbaa !9
  %22255 = call i32 @s2n_config_load_system_certs(ptr noundef %22254)
  %22256 = icmp eq i32 %22255, -1
  br i1 %22256, label %22310, label %22257

22257:                                            ; preds = %22251
  br label %22258

22258:                                            ; preds = %22257
  br label %22259

22259:                                            ; preds = %22258
  call void @llvm.lifetime.start.p0(i64 4, ptr %464) #11
  %22260 = call ptr @__errno_location() #12
  %22261 = load i32, ptr %22260, align 4, !tbaa !5
  store i32 %22261, ptr %464, align 4, !tbaa !5
  %22262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22263 = call i32 @s2n_print_stacktrace(ptr noundef %22262)
  %22264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22265 = trunc i8 %22264 to i1
  br i1 %22265, label %22266, label %22288

22266:                                            ; preds = %22259
  %22267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22268 = call i32 @fileno(ptr noundef %22267) #11
  %22269 = call i32 @isatty(i32 noundef %22268) #11
  %22270 = icmp ne i32 %22269, 0
  br i1 %22270, label %22271, label %22288

22271:                                            ; preds = %22266
  %22272 = load i32, ptr %464, align 4, !tbaa !5
  %22273 = call ptr @__errno_location() #12
  store i32 %22272, ptr %22273, align 4, !tbaa !5
  %22274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22275 = load i32, ptr @test_count, align 4, !tbaa !5
  %22276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22277 = load i32, ptr %22276, align 4, !tbaa !5
  %22278 = call ptr @s2n_strerror(i32 noundef %22277, ptr noundef @.str.4)
  %22279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22280 = load i32, ptr %22279, align 4, !tbaa !5
  %22281 = call ptr @s2n_strerror_debug(i32 noundef %22280, ptr noundef @.str.4)
  %22282 = call ptr @__errno_location() #12
  %22283 = load i32, ptr %22282, align 4, !tbaa !5
  %22284 = call ptr @strerror(i32 noundef %22283) #11
  %22285 = call ptr @__errno_location() #12
  %22286 = load i32, ptr %22285, align 4, !tbaa !5
  %22287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22274, ptr noundef @.str.2, i32 noundef %22275, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 826, ptr noundef %22278, ptr noundef %22281, ptr noundef %22284, i32 noundef %22286) #11
  br label %22305

22288:                                            ; preds = %22266, %22259
  %22289 = load i32, ptr %464, align 4, !tbaa !5
  %22290 = call ptr @__errno_location() #12
  store i32 %22289, ptr %22290, align 4, !tbaa !5
  %22291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22292 = load i32, ptr @test_count, align 4, !tbaa !5
  %22293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22294 = load i32, ptr %22293, align 4, !tbaa !5
  %22295 = call ptr @s2n_strerror(i32 noundef %22294, ptr noundef @.str.4)
  %22296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22297 = load i32, ptr %22296, align 4, !tbaa !5
  %22298 = call ptr @s2n_strerror_debug(i32 noundef %22297, ptr noundef @.str.4)
  %22299 = call ptr @__errno_location() #12
  %22300 = load i32, ptr %22299, align 4, !tbaa !5
  %22301 = call ptr @strerror(i32 noundef %22300) #11
  %22302 = call ptr @__errno_location() #12
  %22303 = load i32, ptr %22302, align 4, !tbaa !5
  %22304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22291, ptr noundef @.str.5, i32 noundef %22292, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 826, ptr noundef %22295, ptr noundef %22298, ptr noundef %22301, i32 noundef %22303) #11
  br label %22305

22305:                                            ; preds = %22288, %22271
  call void @llvm.lifetime.end.p0(i64 4, ptr %464) #11
  br label %22306

22306:                                            ; preds = %22305
  br label %22307

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

22308:                                            ; No predecessors!
  br label %22309

22309:                                            ; preds = %22308
  br label %22310

22310:                                            ; preds = %22309, %22251
  br label %22311

22311:                                            ; preds = %22310
  br label %22312

22312:                                            ; preds = %22311
  br label %22313

22313:                                            ; preds = %22312
  %22314 = load i32, ptr @test_count, align 4, !tbaa !5
  %22315 = add nsw i32 %22314, 1
  store i32 %22315, ptr @test_count, align 4, !tbaa !5
  %22316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22317 = load i32, ptr %22316, align 4, !tbaa !5
  %22318 = icmp eq i32 %22317, 402653238
  br i1 %22318, label %22372, label %22319

22319:                                            ; preds = %22313
  br label %22320

22320:                                            ; preds = %22319
  br label %22321

22321:                                            ; preds = %22320
  call void @llvm.lifetime.start.p0(i64 4, ptr %465) #11
  %22322 = call ptr @__errno_location() #12
  %22323 = load i32, ptr %22322, align 4, !tbaa !5
  store i32 %22323, ptr %465, align 4, !tbaa !5
  %22324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22325 = call i32 @s2n_print_stacktrace(ptr noundef %22324)
  %22326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22327 = trunc i8 %22326 to i1
  br i1 %22327, label %22328, label %22350

22328:                                            ; preds = %22321
  %22329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22330 = call i32 @fileno(ptr noundef %22329) #11
  %22331 = call i32 @isatty(i32 noundef %22330) #11
  %22332 = icmp ne i32 %22331, 0
  br i1 %22332, label %22333, label %22350

22333:                                            ; preds = %22328
  %22334 = load i32, ptr %465, align 4, !tbaa !5
  %22335 = call ptr @__errno_location() #12
  store i32 %22334, ptr %22335, align 4, !tbaa !5
  %22336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22337 = load i32, ptr @test_count, align 4, !tbaa !5
  %22338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22339 = load i32, ptr %22338, align 4, !tbaa !5
  %22340 = call ptr @s2n_strerror(i32 noundef %22339, ptr noundef @.str.4)
  %22341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22342 = load i32, ptr %22341, align 4, !tbaa !5
  %22343 = call ptr @s2n_strerror_debug(i32 noundef %22342, ptr noundef @.str.4)
  %22344 = call ptr @__errno_location() #12
  %22345 = load i32, ptr %22344, align 4, !tbaa !5
  %22346 = call ptr @strerror(i32 noundef %22345) #11
  %22347 = call ptr @__errno_location() #12
  %22348 = load i32, ptr %22347, align 4, !tbaa !5
  %22349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22336, ptr noundef @.str.2, i32 noundef %22337, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 826, ptr noundef %22340, ptr noundef %22343, ptr noundef %22346, i32 noundef %22348) #11
  br label %22367

22350:                                            ; preds = %22328, %22321
  %22351 = load i32, ptr %465, align 4, !tbaa !5
  %22352 = call ptr @__errno_location() #12
  store i32 %22351, ptr %22352, align 4, !tbaa !5
  %22353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22354 = load i32, ptr @test_count, align 4, !tbaa !5
  %22355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22356 = load i32, ptr %22355, align 4, !tbaa !5
  %22357 = call ptr @s2n_strerror(i32 noundef %22356, ptr noundef @.str.4)
  %22358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22359 = load i32, ptr %22358, align 4, !tbaa !5
  %22360 = call ptr @s2n_strerror_debug(i32 noundef %22359, ptr noundef @.str.4)
  %22361 = call ptr @__errno_location() #12
  %22362 = load i32, ptr %22361, align 4, !tbaa !5
  %22363 = call ptr @strerror(i32 noundef %22362) #11
  %22364 = call ptr @__errno_location() #12
  %22365 = load i32, ptr %22364, align 4, !tbaa !5
  %22366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22353, ptr noundef @.str.5, i32 noundef %22354, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 826, ptr noundef %22357, ptr noundef %22360, ptr noundef %22363, i32 noundef %22365) #11
  br label %22367

22367:                                            ; preds = %22350, %22333
  call void @llvm.lifetime.end.p0(i64 4, ptr %465) #11
  br label %22368

22368:                                            ; preds = %22367
  br label %22369

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

22370:                                            ; No predecessors!
  br label %22371

22371:                                            ; preds = %22370
  br label %22372

22372:                                            ; preds = %22371, %22313
  br label %22373

22373:                                            ; preds = %22372
  br label %22374

22374:                                            ; preds = %22373
  br label %22375

22375:                                            ; preds = %22374
  %22376 = load i32, ptr @test_count, align 4, !tbaa !5
  %22377 = add nsw i32 %22376, 1
  store i32 %22377, ptr @test_count, align 4, !tbaa !5
  %22378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22379 = load i32, ptr %22378, align 4, !tbaa !5
  %22380 = call ptr @s2n_strerror_debug(i32 noundef %22379, ptr noundef @.str.4)
  %22381 = icmp eq ptr %22380, null
  br i1 %22381, label %22382, label %22435

22382:                                            ; preds = %22375
  br label %22383

22383:                                            ; preds = %22382
  br label %22384

22384:                                            ; preds = %22383
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #11
  %22385 = call ptr @__errno_location() #12
  %22386 = load i32, ptr %22385, align 4, !tbaa !5
  store i32 %22386, ptr %466, align 4, !tbaa !5
  %22387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22388 = call i32 @s2n_print_stacktrace(ptr noundef %22387)
  %22389 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22390 = trunc i8 %22389 to i1
  br i1 %22390, label %22391, label %22413

22391:                                            ; preds = %22384
  %22392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22393 = call i32 @fileno(ptr noundef %22392) #11
  %22394 = call i32 @isatty(i32 noundef %22393) #11
  %22395 = icmp ne i32 %22394, 0
  br i1 %22395, label %22396, label %22413

22396:                                            ; preds = %22391
  %22397 = load i32, ptr %466, align 4, !tbaa !5
  %22398 = call ptr @__errno_location() #12
  store i32 %22397, ptr %22398, align 4, !tbaa !5
  %22399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22400 = load i32, ptr @test_count, align 4, !tbaa !5
  %22401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22402 = load i32, ptr %22401, align 4, !tbaa !5
  %22403 = call ptr @s2n_strerror(i32 noundef %22402, ptr noundef @.str.4)
  %22404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22405 = load i32, ptr %22404, align 4, !tbaa !5
  %22406 = call ptr @s2n_strerror_debug(i32 noundef %22405, ptr noundef @.str.4)
  %22407 = call ptr @__errno_location() #12
  %22408 = load i32, ptr %22407, align 4, !tbaa !5
  %22409 = call ptr @strerror(i32 noundef %22408) #11
  %22410 = call ptr @__errno_location() #12
  %22411 = load i32, ptr %22410, align 4, !tbaa !5
  %22412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22399, ptr noundef @.str.2, i32 noundef %22400, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 826, ptr noundef %22403, ptr noundef %22406, ptr noundef %22409, i32 noundef %22411) #11
  br label %22430

22413:                                            ; preds = %22391, %22384
  %22414 = load i32, ptr %466, align 4, !tbaa !5
  %22415 = call ptr @__errno_location() #12
  store i32 %22414, ptr %22415, align 4, !tbaa !5
  %22416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22417 = load i32, ptr @test_count, align 4, !tbaa !5
  %22418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22419 = load i32, ptr %22418, align 4, !tbaa !5
  %22420 = call ptr @s2n_strerror(i32 noundef %22419, ptr noundef @.str.4)
  %22421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22422 = load i32, ptr %22421, align 4, !tbaa !5
  %22423 = call ptr @s2n_strerror_debug(i32 noundef %22422, ptr noundef @.str.4)
  %22424 = call ptr @__errno_location() #12
  %22425 = load i32, ptr %22424, align 4, !tbaa !5
  %22426 = call ptr @strerror(i32 noundef %22425) #11
  %22427 = call ptr @__errno_location() #12
  %22428 = load i32, ptr %22427, align 4, !tbaa !5
  %22429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22416, ptr noundef @.str.5, i32 noundef %22417, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 826, ptr noundef %22420, ptr noundef %22423, ptr noundef %22426, i32 noundef %22428) #11
  br label %22430

22430:                                            ; preds = %22413, %22396
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #11
  br label %22431

22431:                                            ; preds = %22430
  br label %22432

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

22433:                                            ; No predecessors!
  br label %22434

22434:                                            ; preds = %22433
  br label %22435

22435:                                            ; preds = %22434, %22375
  br label %22436

22436:                                            ; preds = %22435
  br label %22437

22437:                                            ; preds = %22436
  br label %22438

22438:                                            ; preds = %22437
  br label %22439

22439:                                            ; preds = %22438
  br label %22440

22440:                                            ; preds = %22439
  %22441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22441, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22442 = call ptr @__errno_location() #12
  store i32 0, ptr %22442, align 4, !tbaa !5
  br label %22443

22443:                                            ; preds = %22440
  br label %22444

22444:                                            ; preds = %22443
  br label %22445

22445:                                            ; preds = %22444
  br label %22446

22446:                                            ; preds = %22445
  br label %22447

22447:                                            ; preds = %22446
  %22448 = load i32, ptr @test_count, align 4, !tbaa !5
  %22449 = add nsw i32 %22448, 1
  store i32 %22449, ptr @test_count, align 4, !tbaa !5
  %22450 = load ptr, ptr %459, align 8, !tbaa !9
  %22451 = call i32 @s2n_config_wipe_trust_store(ptr noundef %22450)
  %22452 = icmp eq i32 %22451, -1
  br i1 %22452, label %22453, label %22506

22453:                                            ; preds = %22447
  br label %22454

22454:                                            ; preds = %22453
  br label %22455

22455:                                            ; preds = %22454
  call void @llvm.lifetime.start.p0(i64 4, ptr %467) #11
  %22456 = call ptr @__errno_location() #12
  %22457 = load i32, ptr %22456, align 4, !tbaa !5
  store i32 %22457, ptr %467, align 4, !tbaa !5
  %22458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22459 = call i32 @s2n_print_stacktrace(ptr noundef %22458)
  %22460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22461 = trunc i8 %22460 to i1
  br i1 %22461, label %22462, label %22484

22462:                                            ; preds = %22455
  %22463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22464 = call i32 @fileno(ptr noundef %22463) #11
  %22465 = call i32 @isatty(i32 noundef %22464) #11
  %22466 = icmp ne i32 %22465, 0
  br i1 %22466, label %22467, label %22484

22467:                                            ; preds = %22462
  %22468 = load i32, ptr %467, align 4, !tbaa !5
  %22469 = call ptr @__errno_location() #12
  store i32 %22468, ptr %22469, align 4, !tbaa !5
  %22470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22471 = load i32, ptr @test_count, align 4, !tbaa !5
  %22472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22473 = load i32, ptr %22472, align 4, !tbaa !5
  %22474 = call ptr @s2n_strerror(i32 noundef %22473, ptr noundef @.str.4)
  %22475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22476 = load i32, ptr %22475, align 4, !tbaa !5
  %22477 = call ptr @s2n_strerror_debug(i32 noundef %22476, ptr noundef @.str.4)
  %22478 = call ptr @__errno_location() #12
  %22479 = load i32, ptr %22478, align 4, !tbaa !5
  %22480 = call ptr @strerror(i32 noundef %22479) #11
  %22481 = call ptr @__errno_location() #12
  %22482 = load i32, ptr %22481, align 4, !tbaa !5
  %22483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22470, ptr noundef @.str.2, i32 noundef %22471, ptr noundef @.str.167, ptr noundef @.str.1, i32 noundef 828, ptr noundef %22474, ptr noundef %22477, ptr noundef %22480, i32 noundef %22482) #11
  br label %22501

22484:                                            ; preds = %22462, %22455
  %22485 = load i32, ptr %467, align 4, !tbaa !5
  %22486 = call ptr @__errno_location() #12
  store i32 %22485, ptr %22486, align 4, !tbaa !5
  %22487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22488 = load i32, ptr @test_count, align 4, !tbaa !5
  %22489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22490 = load i32, ptr %22489, align 4, !tbaa !5
  %22491 = call ptr @s2n_strerror(i32 noundef %22490, ptr noundef @.str.4)
  %22492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22493 = load i32, ptr %22492, align 4, !tbaa !5
  %22494 = call ptr @s2n_strerror_debug(i32 noundef %22493, ptr noundef @.str.4)
  %22495 = call ptr @__errno_location() #12
  %22496 = load i32, ptr %22495, align 4, !tbaa !5
  %22497 = call ptr @strerror(i32 noundef %22496) #11
  %22498 = call ptr @__errno_location() #12
  %22499 = load i32, ptr %22498, align 4, !tbaa !5
  %22500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22487, ptr noundef @.str.5, i32 noundef %22488, ptr noundef @.str.167, ptr noundef @.str.1, i32 noundef 828, ptr noundef %22491, ptr noundef %22494, ptr noundef %22497, i32 noundef %22499) #11
  br label %22501

22501:                                            ; preds = %22484, %22467
  call void @llvm.lifetime.end.p0(i64 4, ptr %467) #11
  br label %22502

22502:                                            ; preds = %22501
  br label %22503

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

22504:                                            ; No predecessors!
  br label %22505

22505:                                            ; preds = %22504
  br label %22506

22506:                                            ; preds = %22505, %22447
  br label %22507

22507:                                            ; preds = %22506
  br label %22508

22508:                                            ; preds = %22507
  br label %22509

22509:                                            ; preds = %22508
  %22510 = load i32, ptr @test_count, align 4, !tbaa !5
  %22511 = add nsw i32 %22510, 1
  store i32 %22511, ptr @test_count, align 4, !tbaa !5
  %22512 = load ptr, ptr %459, align 8, !tbaa !9
  %22513 = getelementptr inbounds %struct.s2n_config, ptr %22512, i32 0, i32 37
  %22514 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %22513, i32 0, i32 1
  %22515 = load i8, ptr %22514, align 8
  %22516 = and i8 %22515, 1
  %22517 = zext i8 %22516 to i32
  %22518 = icmp ne i32 %22517, 0
  br i1 %22518, label %22519, label %22572

22519:                                            ; preds = %22509
  br label %22520

22520:                                            ; preds = %22519
  br label %22521

22521:                                            ; preds = %22520
  call void @llvm.lifetime.start.p0(i64 4, ptr %468) #11
  %22522 = call ptr @__errno_location() #12
  %22523 = load i32, ptr %22522, align 4, !tbaa !5
  store i32 %22523, ptr %468, align 4, !tbaa !5
  %22524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22525 = call i32 @s2n_print_stacktrace(ptr noundef %22524)
  %22526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22527 = trunc i8 %22526 to i1
  br i1 %22527, label %22528, label %22550

22528:                                            ; preds = %22521
  %22529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22530 = call i32 @fileno(ptr noundef %22529) #11
  %22531 = call i32 @isatty(i32 noundef %22530) #11
  %22532 = icmp ne i32 %22531, 0
  br i1 %22532, label %22533, label %22550

22533:                                            ; preds = %22528
  %22534 = load i32, ptr %468, align 4, !tbaa !5
  %22535 = call ptr @__errno_location() #12
  store i32 %22534, ptr %22535, align 4, !tbaa !5
  %22536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22537 = load i32, ptr @test_count, align 4, !tbaa !5
  %22538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22539 = load i32, ptr %22538, align 4, !tbaa !5
  %22540 = call ptr @s2n_strerror(i32 noundef %22539, ptr noundef @.str.4)
  %22541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22542 = load i32, ptr %22541, align 4, !tbaa !5
  %22543 = call ptr @s2n_strerror_debug(i32 noundef %22542, ptr noundef @.str.4)
  %22544 = call ptr @__errno_location() #12
  %22545 = load i32, ptr %22544, align 4, !tbaa !5
  %22546 = call ptr @strerror(i32 noundef %22545) #11
  %22547 = call ptr @__errno_location() #12
  %22548 = load i32, ptr %22547, align 4, !tbaa !5
  %22549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22536, ptr noundef @.str.2, i32 noundef %22537, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 831, ptr noundef %22540, ptr noundef %22543, ptr noundef %22546, i32 noundef %22548) #11
  br label %22567

22550:                                            ; preds = %22528, %22521
  %22551 = load i32, ptr %468, align 4, !tbaa !5
  %22552 = call ptr @__errno_location() #12
  store i32 %22551, ptr %22552, align 4, !tbaa !5
  %22553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22554 = load i32, ptr @test_count, align 4, !tbaa !5
  %22555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22556 = load i32, ptr %22555, align 4, !tbaa !5
  %22557 = call ptr @s2n_strerror(i32 noundef %22556, ptr noundef @.str.4)
  %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_debug(i32 noundef %22559, ptr noundef @.str.4)
  %22561 = call ptr @__errno_location() #12
  %22562 = load i32, ptr %22561, align 4, !tbaa !5
  %22563 = call ptr @strerror(i32 noundef %22562) #11
  %22564 = call ptr @__errno_location() #12
  %22565 = load i32, ptr %22564, align 4, !tbaa !5
  %22566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22553, ptr noundef @.str.5, i32 noundef %22554, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 831, ptr noundef %22557, ptr noundef %22560, ptr noundef %22563, i32 noundef %22565) #11
  br label %22567

22567:                                            ; preds = %22550, %22533
  call void @llvm.lifetime.end.p0(i64 4, ptr %468) #11
  br label %22568

22568:                                            ; preds = %22567
  br label %22569

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

22570:                                            ; No predecessors!
  br label %22571

22571:                                            ; preds = %22570
  br label %22572

22572:                                            ; preds = %22571, %22509
  br label %22573

22573:                                            ; preds = %22572
  br label %22574

22574:                                            ; preds = %22573
  br label %22575

22575:                                            ; preds = %22574
  %22576 = load i32, ptr @test_count, align 4, !tbaa !5
  %22577 = add nsw i32 %22576, 1
  store i32 %22577, ptr @test_count, align 4, !tbaa !5
  %22578 = load ptr, ptr %459, align 8, !tbaa !9
  %22579 = call i32 @s2n_config_load_system_certs(ptr noundef %22578)
  %22580 = icmp eq i32 %22579, -1
  br i1 %22580, label %22581, label %22634

22581:                                            ; preds = %22575
  br label %22582

22582:                                            ; preds = %22581
  br label %22583

22583:                                            ; preds = %22582
  call void @llvm.lifetime.start.p0(i64 4, ptr %469) #11
  %22584 = call ptr @__errno_location() #12
  %22585 = load i32, ptr %22584, align 4, !tbaa !5
  store i32 %22585, ptr %469, align 4, !tbaa !5
  %22586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22587 = call i32 @s2n_print_stacktrace(ptr noundef %22586)
  %22588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22589 = trunc i8 %22588 to i1
  br i1 %22589, label %22590, label %22612

22590:                                            ; preds = %22583
  %22591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22592 = call i32 @fileno(ptr noundef %22591) #11
  %22593 = call i32 @isatty(i32 noundef %22592) #11
  %22594 = icmp ne i32 %22593, 0
  br i1 %22594, label %22595, label %22612

22595:                                            ; preds = %22590
  %22596 = load i32, ptr %469, align 4, !tbaa !5
  %22597 = call ptr @__errno_location() #12
  store i32 %22596, ptr %22597, align 4, !tbaa !5
  %22598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22599 = load i32, ptr @test_count, align 4, !tbaa !5
  %22600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22601 = load i32, ptr %22600, align 4, !tbaa !5
  %22602 = call ptr @s2n_strerror(i32 noundef %22601, ptr noundef @.str.4)
  %22603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22604 = load i32, ptr %22603, align 4, !tbaa !5
  %22605 = call ptr @s2n_strerror_debug(i32 noundef %22604, ptr noundef @.str.4)
  %22606 = call ptr @__errno_location() #12
  %22607 = load i32, ptr %22606, align 4, !tbaa !5
  %22608 = call ptr @strerror(i32 noundef %22607) #11
  %22609 = call ptr @__errno_location() #12
  %22610 = load i32, ptr %22609, align 4, !tbaa !5
  %22611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22598, ptr noundef @.str.2, i32 noundef %22599, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 832, ptr noundef %22602, ptr noundef %22605, ptr noundef %22608, i32 noundef %22610) #11
  br label %22629

22612:                                            ; preds = %22590, %22583
  %22613 = load i32, ptr %469, align 4, !tbaa !5
  %22614 = call ptr @__errno_location() #12
  store i32 %22613, ptr %22614, align 4, !tbaa !5
  %22615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22616 = load i32, ptr @test_count, align 4, !tbaa !5
  %22617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22618 = load i32, ptr %22617, align 4, !tbaa !5
  %22619 = call ptr @s2n_strerror(i32 noundef %22618, ptr noundef @.str.4)
  %22620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22621 = load i32, ptr %22620, align 4, !tbaa !5
  %22622 = call ptr @s2n_strerror_debug(i32 noundef %22621, ptr noundef @.str.4)
  %22623 = call ptr @__errno_location() #12
  %22624 = load i32, ptr %22623, align 4, !tbaa !5
  %22625 = call ptr @strerror(i32 noundef %22624) #11
  %22626 = call ptr @__errno_location() #12
  %22627 = load i32, ptr %22626, align 4, !tbaa !5
  %22628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22615, ptr noundef @.str.5, i32 noundef %22616, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 832, ptr noundef %22619, ptr noundef %22622, ptr noundef %22625, i32 noundef %22627) #11
  br label %22629

22629:                                            ; preds = %22612, %22595
  call void @llvm.lifetime.end.p0(i64 4, ptr %469) #11
  br label %22630

22630:                                            ; preds = %22629
  br label %22631

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

22632:                                            ; No predecessors!
  br label %22633

22633:                                            ; preds = %22632
  br label %22634

22634:                                            ; preds = %22633, %22575
  br label %22635

22635:                                            ; preds = %22634
  br label %22636

22636:                                            ; preds = %22635
  br label %22637

22637:                                            ; preds = %22636
  %22638 = load i32, ptr @test_count, align 4, !tbaa !5
  %22639 = add nsw i32 %22638, 1
  store i32 %22639, ptr @test_count, align 4, !tbaa !5
  %22640 = load ptr, ptr %459, align 8, !tbaa !9
  %22641 = getelementptr inbounds %struct.s2n_config, ptr %22640, i32 0, i32 37
  %22642 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %22641, i32 0, i32 1
  %22643 = load i8, ptr %22642, align 8
  %22644 = and i8 %22643, 1
  %22645 = zext i8 %22644 to i32
  %22646 = icmp ne i32 %22645, 0
  br i1 %22646, label %22700, label %22647

22647:                                            ; preds = %22637
  br label %22648

22648:                                            ; preds = %22647
  br label %22649

22649:                                            ; preds = %22648
  call void @llvm.lifetime.start.p0(i64 4, ptr %470) #11
  %22650 = call ptr @__errno_location() #12
  %22651 = load i32, ptr %22650, align 4, !tbaa !5
  store i32 %22651, ptr %470, align 4, !tbaa !5
  %22652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22653 = call i32 @s2n_print_stacktrace(ptr noundef %22652)
  %22654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22655 = trunc i8 %22654 to i1
  br i1 %22655, label %22656, label %22678

22656:                                            ; preds = %22649
  %22657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22658 = call i32 @fileno(ptr noundef %22657) #11
  %22659 = call i32 @isatty(i32 noundef %22658) #11
  %22660 = icmp ne i32 %22659, 0
  br i1 %22660, label %22661, label %22678

22661:                                            ; preds = %22656
  %22662 = load i32, ptr %470, align 4, !tbaa !5
  %22663 = call ptr @__errno_location() #12
  store i32 %22662, ptr %22663, align 4, !tbaa !5
  %22664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22665 = load i32, ptr @test_count, align 4, !tbaa !5
  %22666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22667 = load i32, ptr %22666, align 4, !tbaa !5
  %22668 = call ptr @s2n_strerror(i32 noundef %22667, ptr noundef @.str.4)
  %22669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22670 = load i32, ptr %22669, align 4, !tbaa !5
  %22671 = call ptr @s2n_strerror_debug(i32 noundef %22670, ptr noundef @.str.4)
  %22672 = call ptr @__errno_location() #12
  %22673 = load i32, ptr %22672, align 4, !tbaa !5
  %22674 = call ptr @strerror(i32 noundef %22673) #11
  %22675 = call ptr @__errno_location() #12
  %22676 = load i32, ptr %22675, align 4, !tbaa !5
  %22677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22664, ptr noundef @.str.2, i32 noundef %22665, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 833, ptr noundef %22668, ptr noundef %22671, ptr noundef %22674, i32 noundef %22676) #11
  br label %22695

22678:                                            ; preds = %22656, %22649
  %22679 = load i32, ptr %470, align 4, !tbaa !5
  %22680 = call ptr @__errno_location() #12
  store i32 %22679, ptr %22680, align 4, !tbaa !5
  %22681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22682 = load i32, ptr @test_count, align 4, !tbaa !5
  %22683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22684 = load i32, ptr %22683, align 4, !tbaa !5
  %22685 = call ptr @s2n_strerror(i32 noundef %22684, ptr noundef @.str.4)
  %22686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22687 = load i32, ptr %22686, align 4, !tbaa !5
  %22688 = call ptr @s2n_strerror_debug(i32 noundef %22687, ptr noundef @.str.4)
  %22689 = call ptr @__errno_location() #12
  %22690 = load i32, ptr %22689, align 4, !tbaa !5
  %22691 = call ptr @strerror(i32 noundef %22690) #11
  %22692 = call ptr @__errno_location() #12
  %22693 = load i32, ptr %22692, align 4, !tbaa !5
  %22694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22681, ptr noundef @.str.5, i32 noundef %22682, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 833, ptr noundef %22685, ptr noundef %22688, ptr noundef %22691, i32 noundef %22693) #11
  br label %22695

22695:                                            ; preds = %22678, %22661
  call void @llvm.lifetime.end.p0(i64 4, ptr %470) #11
  br label %22696

22696:                                            ; preds = %22695
  br label %22697

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

22698:                                            ; No predecessors!
  br label %22699

22699:                                            ; preds = %22698
  br label %22700

22700:                                            ; preds = %22699, %22637
  br label %22701

22701:                                            ; preds = %22700
  br label %22702

22702:                                            ; preds = %22701
  br label %22703

22703:                                            ; preds = %22702
  %22704 = load i32, ptr %461, align 4, !tbaa !5
  %22705 = add nsw i32 %22704, 1
  store i32 %22705, ptr %461, align 4, !tbaa !5
  br label %22114, !llvm.loop !77

22706:                                            ; preds = %22117
  %22707 = call i32 @s2n_config_ptr_free(ptr noundef %459)
  %22708 = getelementptr inbounds %struct.s2n_result, ptr %471, i32 0, i32 0
  store i32 %22707, ptr %22708, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %459) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %472) #11
  %22709 = call ptr @s2n_config_new_minimal()
  store ptr %22709, ptr %472, align 8, !tbaa !9
  br label %22710

22710:                                            ; preds = %22706
  %22711 = load i32, ptr @test_count, align 4, !tbaa !5
  %22712 = add nsw i32 %22711, 1
  store i32 %22712, ptr @test_count, align 4, !tbaa !5
  %22713 = load ptr, ptr %472, align 8, !tbaa !9
  %22714 = icmp eq ptr %22713, null
  br i1 %22714, label %22715, label %22768

22715:                                            ; preds = %22710
  br label %22716

22716:                                            ; preds = %22715
  br label %22717

22717:                                            ; preds = %22716
  call void @llvm.lifetime.start.p0(i64 4, ptr %473) #11
  %22718 = call ptr @__errno_location() #12
  %22719 = load i32, ptr %22718, align 4, !tbaa !5
  store i32 %22719, ptr %473, align 4, !tbaa !5
  %22720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22721 = call i32 @s2n_print_stacktrace(ptr noundef %22720)
  %22722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22723 = trunc i8 %22722 to i1
  br i1 %22723, label %22724, label %22746

22724:                                            ; preds = %22717
  %22725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22726 = call i32 @fileno(ptr noundef %22725) #11
  %22727 = call i32 @isatty(i32 noundef %22726) #11
  %22728 = icmp ne i32 %22727, 0
  br i1 %22728, label %22729, label %22746

22729:                                            ; preds = %22724
  %22730 = load i32, ptr %473, align 4, !tbaa !5
  %22731 = call ptr @__errno_location() #12
  store i32 %22730, ptr %22731, align 4, !tbaa !5
  %22732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22733 = load i32, ptr @test_count, align 4, !tbaa !5
  %22734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22735 = load i32, ptr %22734, align 4, !tbaa !5
  %22736 = call ptr @s2n_strerror(i32 noundef %22735, ptr noundef @.str.4)
  %22737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22738 = load i32, ptr %22737, align 4, !tbaa !5
  %22739 = call ptr @s2n_strerror_debug(i32 noundef %22738, ptr noundef @.str.4)
  %22740 = call ptr @__errno_location() #12
  %22741 = load i32, ptr %22740, align 4, !tbaa !5
  %22742 = call ptr @strerror(i32 noundef %22741) #11
  %22743 = call ptr @__errno_location() #12
  %22744 = load i32, ptr %22743, align 4, !tbaa !5
  %22745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22732, ptr noundef @.str.2, i32 noundef %22733, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 845, ptr noundef %22736, ptr noundef %22739, ptr noundef %22742, i32 noundef %22744) #11
  br label %22763

22746:                                            ; preds = %22724, %22717
  %22747 = load i32, ptr %473, align 4, !tbaa !5
  %22748 = call ptr @__errno_location() #12
  store i32 %22747, ptr %22748, align 4, !tbaa !5
  %22749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22750 = load i32, ptr @test_count, align 4, !tbaa !5
  %22751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22752 = load i32, ptr %22751, align 4, !tbaa !5
  %22753 = call ptr @s2n_strerror(i32 noundef %22752, ptr noundef @.str.4)
  %22754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22755 = load i32, ptr %22754, align 4, !tbaa !5
  %22756 = call ptr @s2n_strerror_debug(i32 noundef %22755, ptr noundef @.str.4)
  %22757 = call ptr @__errno_location() #12
  %22758 = load i32, ptr %22757, align 4, !tbaa !5
  %22759 = call ptr @strerror(i32 noundef %22758) #11
  %22760 = call ptr @__errno_location() #12
  %22761 = load i32, ptr %22760, align 4, !tbaa !5
  %22762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22749, ptr noundef @.str.5, i32 noundef %22750, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 845, ptr noundef %22753, ptr noundef %22756, ptr noundef %22759, i32 noundef %22761) #11
  br label %22763

22763:                                            ; preds = %22746, %22729
  call void @llvm.lifetime.end.p0(i64 4, ptr %473) #11
  br label %22764

22764:                                            ; preds = %22763
  br label %22765

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

22766:                                            ; No predecessors!
  br label %22767

22767:                                            ; preds = %22766
  br label %22768

22768:                                            ; preds = %22767, %22710
  br label %22769

22769:                                            ; preds = %22768
  br label %22770

22770:                                            ; preds = %22769
  br label %22771

22771:                                            ; preds = %22770
  %22772 = load i32, ptr @test_count, align 4, !tbaa !5
  %22773 = add nsw i32 %22772, 1
  store i32 %22773, ptr @test_count, align 4, !tbaa !5
  %22774 = load ptr, ptr %472, align 8, !tbaa !9
  %22775 = getelementptr inbounds %struct.s2n_config, ptr %22774, i32 0, i32 37
  %22776 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %22775, i32 0, i32 0
  %22777 = load ptr, ptr %22776, align 8, !tbaa !74
  %22778 = icmp eq ptr %22777, null
  br i1 %22778, label %22832, label %22779

22779:                                            ; preds = %22771
  br label %22780

22780:                                            ; preds = %22779
  br label %22781

22781:                                            ; preds = %22780
  call void @llvm.lifetime.start.p0(i64 4, ptr %474) #11
  %22782 = call ptr @__errno_location() #12
  %22783 = load i32, ptr %22782, align 4, !tbaa !5
  store i32 %22783, ptr %474, align 4, !tbaa !5
  %22784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22785 = call i32 @s2n_print_stacktrace(ptr noundef %22784)
  %22786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22787 = trunc i8 %22786 to i1
  br i1 %22787, label %22788, label %22810

22788:                                            ; preds = %22781
  %22789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22790 = call i32 @fileno(ptr noundef %22789) #11
  %22791 = call i32 @isatty(i32 noundef %22790) #11
  %22792 = icmp ne i32 %22791, 0
  br i1 %22792, label %22793, label %22810

22793:                                            ; preds = %22788
  %22794 = load i32, ptr %474, align 4, !tbaa !5
  %22795 = call ptr @__errno_location() #12
  store i32 %22794, ptr %22795, align 4, !tbaa !5
  %22796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22797 = load i32, ptr @test_count, align 4, !tbaa !5
  %22798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22799 = load i32, ptr %22798, align 4, !tbaa !5
  %22800 = call ptr @s2n_strerror(i32 noundef %22799, ptr noundef @.str.4)
  %22801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22802 = load i32, ptr %22801, align 4, !tbaa !5
  %22803 = call ptr @s2n_strerror_debug(i32 noundef %22802, ptr noundef @.str.4)
  %22804 = call ptr @__errno_location() #12
  %22805 = load i32, ptr %22804, align 4, !tbaa !5
  %22806 = call ptr @strerror(i32 noundef %22805) #11
  %22807 = call ptr @__errno_location() #12
  %22808 = load i32, ptr %22807, align 4, !tbaa !5
  %22809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22796, ptr noundef @.str.2, i32 noundef %22797, ptr noundef @.str.160, ptr noundef @.str.1, i32 noundef 846, ptr noundef %22800, ptr noundef %22803, ptr noundef %22806, i32 noundef %22808) #11
  br label %22827

22810:                                            ; preds = %22788, %22781
  %22811 = load i32, ptr %474, align 4, !tbaa !5
  %22812 = call ptr @__errno_location() #12
  store i32 %22811, ptr %22812, align 4, !tbaa !5
  %22813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22814 = load i32, ptr @test_count, align 4, !tbaa !5
  %22815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22816 = load i32, ptr %22815, align 4, !tbaa !5
  %22817 = call ptr @s2n_strerror(i32 noundef %22816, ptr noundef @.str.4)
  %22818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22819 = load i32, ptr %22818, align 4, !tbaa !5
  %22820 = call ptr @s2n_strerror_debug(i32 noundef %22819, ptr noundef @.str.4)
  %22821 = call ptr @__errno_location() #12
  %22822 = load i32, ptr %22821, align 4, !tbaa !5
  %22823 = call ptr @strerror(i32 noundef %22822) #11
  %22824 = call ptr @__errno_location() #12
  %22825 = load i32, ptr %22824, align 4, !tbaa !5
  %22826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22813, ptr noundef @.str.5, i32 noundef %22814, ptr noundef @.str.160, ptr noundef @.str.1, i32 noundef 846, ptr noundef %22817, ptr noundef %22820, ptr noundef %22823, i32 noundef %22825) #11
  br label %22827

22827:                                            ; preds = %22810, %22793
  call void @llvm.lifetime.end.p0(i64 4, ptr %474) #11
  br label %22828

22828:                                            ; preds = %22827
  br label %22829

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

22830:                                            ; No predecessors!
  br label %22831

22831:                                            ; preds = %22830
  br label %22832

22832:                                            ; preds = %22831, %22771
  br label %22833

22833:                                            ; preds = %22832
  br label %22834

22834:                                            ; preds = %22833
  br label %22835

22835:                                            ; preds = %22834
  %22836 = load i32, ptr @test_count, align 4, !tbaa !5
  %22837 = add nsw i32 %22836, 1
  store i32 %22837, ptr @test_count, align 4, !tbaa !5
  %22838 = load ptr, ptr %472, align 8, !tbaa !9
  %22839 = getelementptr inbounds %struct.s2n_config, ptr %22838, i32 0, i32 37
  %22840 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %22839, i32 0, i32 1
  %22841 = load i8, ptr %22840, align 8
  %22842 = and i8 %22841, 1
  %22843 = zext i8 %22842 to i32
  %22844 = icmp ne i32 %22843, 0
  br i1 %22844, label %22845, label %22898

22845:                                            ; preds = %22835
  br label %22846

22846:                                            ; preds = %22845
  br label %22847

22847:                                            ; preds = %22846
  call void @llvm.lifetime.start.p0(i64 4, ptr %475) #11
  %22848 = call ptr @__errno_location() #12
  %22849 = load i32, ptr %22848, align 4, !tbaa !5
  store i32 %22849, ptr %475, align 4, !tbaa !5
  %22850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22851 = call i32 @s2n_print_stacktrace(ptr noundef %22850)
  %22852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22853 = trunc i8 %22852 to i1
  br i1 %22853, label %22854, label %22876

22854:                                            ; preds = %22847
  %22855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22856 = call i32 @fileno(ptr noundef %22855) #11
  %22857 = call i32 @isatty(i32 noundef %22856) #11
  %22858 = icmp ne i32 %22857, 0
  br i1 %22858, label %22859, label %22876

22859:                                            ; preds = %22854
  %22860 = load i32, ptr %475, align 4, !tbaa !5
  %22861 = call ptr @__errno_location() #12
  store i32 %22860, ptr %22861, align 4, !tbaa !5
  %22862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22863 = load i32, ptr @test_count, align 4, !tbaa !5
  %22864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22865 = load i32, ptr %22864, align 4, !tbaa !5
  %22866 = call ptr @s2n_strerror(i32 noundef %22865, ptr noundef @.str.4)
  %22867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22868 = load i32, ptr %22867, align 4, !tbaa !5
  %22869 = call ptr @s2n_strerror_debug(i32 noundef %22868, ptr noundef @.str.4)
  %22870 = call ptr @__errno_location() #12
  %22871 = load i32, ptr %22870, align 4, !tbaa !5
  %22872 = call ptr @strerror(i32 noundef %22871) #11
  %22873 = call ptr @__errno_location() #12
  %22874 = load i32, ptr %22873, align 4, !tbaa !5
  %22875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22862, ptr noundef @.str.2, i32 noundef %22863, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 847, ptr noundef %22866, ptr noundef %22869, ptr noundef %22872, i32 noundef %22874) #11
  br label %22893

22876:                                            ; preds = %22854, %22847
  %22877 = load i32, ptr %475, align 4, !tbaa !5
  %22878 = call ptr @__errno_location() #12
  store i32 %22877, ptr %22878, align 4, !tbaa !5
  %22879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22880 = load i32, ptr @test_count, align 4, !tbaa !5
  %22881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22882 = load i32, ptr %22881, align 4, !tbaa !5
  %22883 = call ptr @s2n_strerror(i32 noundef %22882, ptr noundef @.str.4)
  %22884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22885 = load i32, ptr %22884, align 4, !tbaa !5
  %22886 = call ptr @s2n_strerror_debug(i32 noundef %22885, ptr noundef @.str.4)
  %22887 = call ptr @__errno_location() #12
  %22888 = load i32, ptr %22887, align 4, !tbaa !5
  %22889 = call ptr @strerror(i32 noundef %22888) #11
  %22890 = call ptr @__errno_location() #12
  %22891 = load i32, ptr %22890, align 4, !tbaa !5
  %22892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22879, ptr noundef @.str.5, i32 noundef %22880, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 847, ptr noundef %22883, ptr noundef %22886, ptr noundef %22889, i32 noundef %22891) #11
  br label %22893

22893:                                            ; preds = %22876, %22859
  call void @llvm.lifetime.end.p0(i64 4, ptr %475) #11
  br label %22894

22894:                                            ; preds = %22893
  br label %22895

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

22896:                                            ; No predecessors!
  br label %22897

22897:                                            ; preds = %22896
  br label %22898

22898:                                            ; preds = %22897, %22835
  br label %22899

22899:                                            ; preds = %22898
  br label %22900

22900:                                            ; preds = %22899
  br label %22901

22901:                                            ; preds = %22900
  %22902 = load i32, ptr @test_count, align 4, !tbaa !5
  %22903 = add nsw i32 %22902, 1
  store i32 %22903, ptr @test_count, align 4, !tbaa !5
  %22904 = load ptr, ptr %472, align 8, !tbaa !9
  %22905 = getelementptr inbounds %struct.s2n_config, ptr %22904, i32 0, i32 37
  %22906 = call i32 @s2n_x509_trust_store_from_ca_file(ptr noundef %22905, ptr noundef @.str.168, ptr noundef null)
  %22907 = icmp eq i32 %22906, -1
  br i1 %22907, label %22908, label %22961

22908:                                            ; preds = %22901
  br label %22909

22909:                                            ; preds = %22908
  br label %22910

22910:                                            ; preds = %22909
  call void @llvm.lifetime.start.p0(i64 4, ptr %476) #11
  %22911 = call ptr @__errno_location() #12
  %22912 = load i32, ptr %22911, align 4, !tbaa !5
  store i32 %22912, ptr %476, align 4, !tbaa !5
  %22913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22914 = call i32 @s2n_print_stacktrace(ptr noundef %22913)
  %22915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22916 = trunc i8 %22915 to i1
  br i1 %22916, label %22917, label %22939

22917:                                            ; preds = %22910
  %22918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22919 = call i32 @fileno(ptr noundef %22918) #11
  %22920 = call i32 @isatty(i32 noundef %22919) #11
  %22921 = icmp ne i32 %22920, 0
  br i1 %22921, label %22922, label %22939

22922:                                            ; preds = %22917
  %22923 = load i32, ptr %476, align 4, !tbaa !5
  %22924 = call ptr @__errno_location() #12
  store i32 %22923, ptr %22924, align 4, !tbaa !5
  %22925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22926 = load i32, ptr @test_count, align 4, !tbaa !5
  %22927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22928 = load i32, ptr %22927, align 4, !tbaa !5
  %22929 = call ptr @s2n_strerror(i32 noundef %22928, ptr noundef @.str.4)
  %22930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22931 = load i32, ptr %22930, align 4, !tbaa !5
  %22932 = call ptr @s2n_strerror_debug(i32 noundef %22931, ptr noundef @.str.4)
  %22933 = call ptr @__errno_location() #12
  %22934 = load i32, ptr %22933, align 4, !tbaa !5
  %22935 = call ptr @strerror(i32 noundef %22934) #11
  %22936 = call ptr @__errno_location() #12
  %22937 = load i32, ptr %22936, align 4, !tbaa !5
  %22938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22925, ptr noundef @.str.2, i32 noundef %22926, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 850, ptr noundef %22929, ptr noundef %22932, ptr noundef %22935, i32 noundef %22937) #11
  br label %22956

22939:                                            ; preds = %22917, %22910
  %22940 = load i32, ptr %476, align 4, !tbaa !5
  %22941 = call ptr @__errno_location() #12
  store i32 %22940, ptr %22941, align 4, !tbaa !5
  %22942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22943 = load i32, ptr @test_count, align 4, !tbaa !5
  %22944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22945 = load i32, ptr %22944, align 4, !tbaa !5
  %22946 = call ptr @s2n_strerror(i32 noundef %22945, ptr noundef @.str.4)
  %22947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22948 = load i32, ptr %22947, align 4, !tbaa !5
  %22949 = call ptr @s2n_strerror_debug(i32 noundef %22948, ptr noundef @.str.4)
  %22950 = call ptr @__errno_location() #12
  %22951 = load i32, ptr %22950, align 4, !tbaa !5
  %22952 = call ptr @strerror(i32 noundef %22951) #11
  %22953 = call ptr @__errno_location() #12
  %22954 = load i32, ptr %22953, align 4, !tbaa !5
  %22955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22942, ptr noundef @.str.5, i32 noundef %22943, ptr noundef @.str.169, ptr noundef @.str.1, i32 noundef 850, ptr noundef %22946, ptr noundef %22949, ptr noundef %22952, i32 noundef %22954) #11
  br label %22956

22956:                                            ; preds = %22939, %22922
  call void @llvm.lifetime.end.p0(i64 4, ptr %476) #11
  br label %22957

22957:                                            ; preds = %22956
  br label %22958

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

22959:                                            ; No predecessors!
  br label %22960

22960:                                            ; preds = %22959
  br label %22961

22961:                                            ; preds = %22960, %22901
  br label %22962

22962:                                            ; preds = %22961
  br label %22963

22963:                                            ; preds = %22962
  br label %22964

22964:                                            ; preds = %22963
  %22965 = load i32, ptr @test_count, align 4, !tbaa !5
  %22966 = add nsw i32 %22965, 1
  store i32 %22966, ptr @test_count, align 4, !tbaa !5
  %22967 = load ptr, ptr %472, align 8, !tbaa !9
  %22968 = getelementptr inbounds %struct.s2n_config, ptr %22967, i32 0, i32 37
  %22969 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %22968, i32 0, i32 0
  %22970 = load ptr, ptr %22969, align 8, !tbaa !74
  %22971 = icmp eq ptr %22970, null
  br i1 %22971, label %22972, label %23025

22972:                                            ; preds = %22964
  br label %22973

22973:                                            ; preds = %22972
  br label %22974

22974:                                            ; preds = %22973
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #11
  %22975 = call ptr @__errno_location() #12
  %22976 = load i32, ptr %22975, align 4, !tbaa !5
  store i32 %22976, ptr %477, align 4, !tbaa !5
  %22977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22978 = call i32 @s2n_print_stacktrace(ptr noundef %22977)
  %22979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22980 = trunc i8 %22979 to i1
  br i1 %22980, label %22981, label %23003

22981:                                            ; preds = %22974
  %22982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22983 = call i32 @fileno(ptr noundef %22982) #11
  %22984 = call i32 @isatty(i32 noundef %22983) #11
  %22985 = icmp ne i32 %22984, 0
  br i1 %22985, label %22986, label %23003

22986:                                            ; preds = %22981
  %22987 = load i32, ptr %477, align 4, !tbaa !5
  %22988 = call ptr @__errno_location() #12
  store i32 %22987, ptr %22988, align 4, !tbaa !5
  %22989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22990 = load i32, ptr @test_count, align 4, !tbaa !5
  %22991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22992 = load i32, ptr %22991, align 4, !tbaa !5
  %22993 = call ptr @s2n_strerror(i32 noundef %22992, ptr noundef @.str.4)
  %22994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22995 = load i32, ptr %22994, align 4, !tbaa !5
  %22996 = call ptr @s2n_strerror_debug(i32 noundef %22995, ptr noundef @.str.4)
  %22997 = call ptr @__errno_location() #12
  %22998 = load i32, ptr %22997, align 4, !tbaa !5
  %22999 = call ptr @strerror(i32 noundef %22998) #11
  %23000 = call ptr @__errno_location() #12
  %23001 = load i32, ptr %23000, align 4, !tbaa !5
  %23002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22989, ptr noundef @.str.2, i32 noundef %22990, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 851, ptr noundef %22993, ptr noundef %22996, ptr noundef %22999, i32 noundef %23001) #11
  br label %23020

23003:                                            ; preds = %22981, %22974
  %23004 = load i32, ptr %477, align 4, !tbaa !5
  %23005 = call ptr @__errno_location() #12
  store i32 %23004, ptr %23005, align 4, !tbaa !5
  %23006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23007 = load i32, ptr @test_count, align 4, !tbaa !5
  %23008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23009 = load i32, ptr %23008, align 4, !tbaa !5
  %23010 = call ptr @s2n_strerror(i32 noundef %23009, ptr noundef @.str.4)
  %23011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23012 = load i32, ptr %23011, align 4, !tbaa !5
  %23013 = call ptr @s2n_strerror_debug(i32 noundef %23012, ptr noundef @.str.4)
  %23014 = call ptr @__errno_location() #12
  %23015 = load i32, ptr %23014, align 4, !tbaa !5
  %23016 = call ptr @strerror(i32 noundef %23015) #11
  %23017 = call ptr @__errno_location() #12
  %23018 = load i32, ptr %23017, align 4, !tbaa !5
  %23019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23006, ptr noundef @.str.5, i32 noundef %23007, ptr noundef @.str.163, ptr noundef @.str.1, i32 noundef 851, ptr noundef %23010, ptr noundef %23013, ptr noundef %23016, i32 noundef %23018) #11
  br label %23020

23020:                                            ; preds = %23003, %22986
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #11
  br label %23021

23021:                                            ; preds = %23020
  br label %23022

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

23023:                                            ; No predecessors!
  br label %23024

23024:                                            ; preds = %23023
  br label %23025

23025:                                            ; preds = %23024, %22964
  br label %23026

23026:                                            ; preds = %23025
  br label %23027

23027:                                            ; preds = %23026
  br label %23028

23028:                                            ; preds = %23027
  %23029 = load i32, ptr @test_count, align 4, !tbaa !5
  %23030 = add nsw i32 %23029, 1
  store i32 %23030, ptr @test_count, align 4, !tbaa !5
  %23031 = load ptr, ptr %472, align 8, !tbaa !9
  %23032 = getelementptr inbounds %struct.s2n_config, ptr %23031, i32 0, i32 37
  %23033 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %23032, i32 0, i32 1
  %23034 = load i8, ptr %23033, align 8
  %23035 = and i8 %23034, 1
  %23036 = zext i8 %23035 to i32
  %23037 = icmp ne i32 %23036, 0
  br i1 %23037, label %23038, label %23091

23038:                                            ; preds = %23028
  br label %23039

23039:                                            ; preds = %23038
  br label %23040

23040:                                            ; preds = %23039
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #11
  %23041 = call ptr @__errno_location() #12
  %23042 = load i32, ptr %23041, align 4, !tbaa !5
  store i32 %23042, ptr %478, align 4, !tbaa !5
  %23043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23044 = call i32 @s2n_print_stacktrace(ptr noundef %23043)
  %23045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23046 = trunc i8 %23045 to i1
  br i1 %23046, label %23047, label %23069

23047:                                            ; preds = %23040
  %23048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23049 = call i32 @fileno(ptr noundef %23048) #11
  %23050 = call i32 @isatty(i32 noundef %23049) #11
  %23051 = icmp ne i32 %23050, 0
  br i1 %23051, label %23052, label %23069

23052:                                            ; preds = %23047
  %23053 = load i32, ptr %478, align 4, !tbaa !5
  %23054 = call ptr @__errno_location() #12
  store i32 %23053, ptr %23054, align 4, !tbaa !5
  %23055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23056 = load i32, ptr @test_count, align 4, !tbaa !5
  %23057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23058 = load i32, ptr %23057, align 4, !tbaa !5
  %23059 = call ptr @s2n_strerror(i32 noundef %23058, ptr noundef @.str.4)
  %23060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23061 = load i32, ptr %23060, align 4, !tbaa !5
  %23062 = call ptr @s2n_strerror_debug(i32 noundef %23061, ptr noundef @.str.4)
  %23063 = call ptr @__errno_location() #12
  %23064 = load i32, ptr %23063, align 4, !tbaa !5
  %23065 = call ptr @strerror(i32 noundef %23064) #11
  %23066 = call ptr @__errno_location() #12
  %23067 = load i32, ptr %23066, align 4, !tbaa !5
  %23068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23055, ptr noundef @.str.2, i32 noundef %23056, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 852, ptr noundef %23059, ptr noundef %23062, ptr noundef %23065, i32 noundef %23067) #11
  br label %23086

23069:                                            ; preds = %23047, %23040
  %23070 = load i32, ptr %478, align 4, !tbaa !5
  %23071 = call ptr @__errno_location() #12
  store i32 %23070, ptr %23071, align 4, !tbaa !5
  %23072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23073 = load i32, ptr @test_count, align 4, !tbaa !5
  %23074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23075 = load i32, ptr %23074, align 4, !tbaa !5
  %23076 = call ptr @s2n_strerror(i32 noundef %23075, ptr noundef @.str.4)
  %23077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23078 = load i32, ptr %23077, align 4, !tbaa !5
  %23079 = call ptr @s2n_strerror_debug(i32 noundef %23078, ptr noundef @.str.4)
  %23080 = call ptr @__errno_location() #12
  %23081 = load i32, ptr %23080, align 4, !tbaa !5
  %23082 = call ptr @strerror(i32 noundef %23081) #11
  %23083 = call ptr @__errno_location() #12
  %23084 = load i32, ptr %23083, align 4, !tbaa !5
  %23085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23072, ptr noundef @.str.5, i32 noundef %23073, ptr noundef @.str.161, ptr noundef @.str.1, i32 noundef 852, ptr noundef %23076, ptr noundef %23079, ptr noundef %23082, i32 noundef %23084) #11
  br label %23086

23086:                                            ; preds = %23069, %23052
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #11
  br label %23087

23087:                                            ; preds = %23086
  br label %23088

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

23089:                                            ; No predecessors!
  br label %23090

23090:                                            ; preds = %23089
  br label %23091

23091:                                            ; preds = %23090, %23028
  br label %23092

23092:                                            ; preds = %23091
  br label %23093

23093:                                            ; preds = %23092
  call void @llvm.lifetime.start.p0(i64 8, ptr %479) #11
  %23094 = load ptr, ptr %472, align 8, !tbaa !9
  %23095 = getelementptr inbounds %struct.s2n_config, ptr %23094, i32 0, i32 37
  %23096 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %23095, i32 0, i32 0
  %23097 = load ptr, ptr %23096, align 8, !tbaa !74
  %23098 = call ptr @X509_STORE_get0_objects(ptr noundef %23097)
  store ptr %23098, ptr %479, align 8, !tbaa !9
  br label %23099

23099:                                            ; preds = %23093
  %23100 = load i32, ptr @test_count, align 4, !tbaa !5
  %23101 = add nsw i32 %23100, 1
  store i32 %23101, ptr @test_count, align 4, !tbaa !5
  %23102 = load ptr, ptr %479, align 8, !tbaa !9
  %23103 = icmp eq ptr %23102, null
  br i1 %23103, label %23104, label %23157

23104:                                            ; preds = %23099
  br label %23105

23105:                                            ; preds = %23104
  br label %23106

23106:                                            ; preds = %23105
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #11
  %23107 = call ptr @__errno_location() #12
  %23108 = load i32, ptr %23107, align 4, !tbaa !5
  store i32 %23108, ptr %480, align 4, !tbaa !5
  %23109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23110 = call i32 @s2n_print_stacktrace(ptr noundef %23109)
  %23111 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23112 = trunc i8 %23111 to i1
  br i1 %23112, label %23113, label %23135

23113:                                            ; preds = %23106
  %23114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23115 = call i32 @fileno(ptr noundef %23114) #11
  %23116 = call i32 @isatty(i32 noundef %23115) #11
  %23117 = icmp ne i32 %23116, 0
  br i1 %23117, label %23118, label %23135

23118:                                            ; preds = %23113
  %23119 = load i32, ptr %480, align 4, !tbaa !5
  %23120 = call ptr @__errno_location() #12
  store i32 %23119, ptr %23120, align 4, !tbaa !5
  %23121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23122 = load i32, ptr @test_count, align 4, !tbaa !5
  %23123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23124 = load i32, ptr %23123, align 4, !tbaa !5
  %23125 = call ptr @s2n_strerror(i32 noundef %23124, ptr noundef @.str.4)
  %23126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23127 = load i32, ptr %23126, align 4, !tbaa !5
  %23128 = call ptr @s2n_strerror_debug(i32 noundef %23127, ptr noundef @.str.4)
  %23129 = call ptr @__errno_location() #12
  %23130 = load i32, ptr %23129, align 4, !tbaa !5
  %23131 = call ptr @strerror(i32 noundef %23130) #11
  %23132 = call ptr @__errno_location() #12
  %23133 = load i32, ptr %23132, align 4, !tbaa !5
  %23134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23121, ptr noundef @.str.2, i32 noundef %23122, ptr noundef @.str.170, ptr noundef @.str.1, i32 noundef 856, ptr noundef %23125, ptr noundef %23128, ptr noundef %23131, i32 noundef %23133) #11
  br label %23152

23135:                                            ; preds = %23113, %23106
  %23136 = load i32, ptr %480, align 4, !tbaa !5
  %23137 = call ptr @__errno_location() #12
  store i32 %23136, ptr %23137, align 4, !tbaa !5
  %23138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23139 = load i32, ptr @test_count, align 4, !tbaa !5
  %23140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23141 = load i32, ptr %23140, align 4, !tbaa !5
  %23142 = call ptr @s2n_strerror(i32 noundef %23141, ptr noundef @.str.4)
  %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_debug(i32 noundef %23144, ptr noundef @.str.4)
  %23146 = call ptr @__errno_location() #12
  %23147 = load i32, ptr %23146, align 4, !tbaa !5
  %23148 = call ptr @strerror(i32 noundef %23147) #11
  %23149 = call ptr @__errno_location() #12
  %23150 = load i32, ptr %23149, align 4, !tbaa !5
  %23151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23138, ptr noundef @.str.5, i32 noundef %23139, ptr noundef @.str.170, ptr noundef @.str.1, i32 noundef 856, ptr noundef %23142, ptr noundef %23145, ptr noundef %23148, i32 noundef %23150) #11
  br label %23152

23152:                                            ; preds = %23135, %23118
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #11
  br label %23153

23153:                                            ; preds = %23152
  br label %23154

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

23155:                                            ; No predecessors!
  br label %23156

23156:                                            ; preds = %23155
  br label %23157

23157:                                            ; preds = %23156, %23099
  br label %23158

23158:                                            ; preds = %23157
  br label %23159

23159:                                            ; preds = %23158
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #11
  %23160 = load ptr, ptr %479, align 8, !tbaa !9
  %23161 = call ptr @ossl_check_const_X509_OBJECT_sk_type(ptr noundef %23160)
  %23162 = call i32 @OPENSSL_sk_num(ptr noundef %23161)
  store i32 %23162, ptr %481, align 4, !tbaa !5
  br label %23163

23163:                                            ; preds = %23159
  %23164 = load i32, ptr @test_count, align 4, !tbaa !5
  %23165 = add nsw i32 %23164, 1
  store i32 %23165, ptr @test_count, align 4, !tbaa !5
  %23166 = load i32, ptr %481, align 4, !tbaa !5
  %23167 = icmp eq i32 %23166, 1
  br i1 %23167, label %23221, label %23168

23168:                                            ; preds = %23163
  br label %23169

23169:                                            ; preds = %23168
  br label %23170

23170:                                            ; preds = %23169
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #11
  %23171 = call ptr @__errno_location() #12
  %23172 = load i32, ptr %23171, align 4, !tbaa !5
  store i32 %23172, ptr %482, align 4, !tbaa !5
  %23173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23174 = call i32 @s2n_print_stacktrace(ptr noundef %23173)
  %23175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23176 = trunc i8 %23175 to i1
  br i1 %23176, label %23177, label %23199

23177:                                            ; preds = %23170
  %23178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23179 = call i32 @fileno(ptr noundef %23178) #11
  %23180 = call i32 @isatty(i32 noundef %23179) #11
  %23181 = icmp ne i32 %23180, 0
  br i1 %23181, label %23182, label %23199

23182:                                            ; preds = %23177
  %23183 = load i32, ptr %482, align 4, !tbaa !5
  %23184 = call ptr @__errno_location() #12
  store i32 %23183, ptr %23184, align 4, !tbaa !5
  %23185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23186 = load i32, ptr @test_count, align 4, !tbaa !5
  %23187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23188 = load i32, ptr %23187, align 4, !tbaa !5
  %23189 = call ptr @s2n_strerror(i32 noundef %23188, ptr noundef @.str.4)
  %23190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23191 = load i32, ptr %23190, align 4, !tbaa !5
  %23192 = call ptr @s2n_strerror_debug(i32 noundef %23191, ptr noundef @.str.4)
  %23193 = call ptr @__errno_location() #12
  %23194 = load i32, ptr %23193, align 4, !tbaa !5
  %23195 = call ptr @strerror(i32 noundef %23194) #11
  %23196 = call ptr @__errno_location() #12
  %23197 = load i32, ptr %23196, align 4, !tbaa !5
  %23198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23185, ptr noundef @.str.2, i32 noundef %23186, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 858, ptr noundef %23189, ptr noundef %23192, ptr noundef %23195, i32 noundef %23197) #11
  br label %23216

23199:                                            ; preds = %23177, %23170
  %23200 = load i32, ptr %482, align 4, !tbaa !5
  %23201 = call ptr @__errno_location() #12
  store i32 %23200, ptr %23201, align 4, !tbaa !5
  %23202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23203 = load i32, ptr @test_count, align 4, !tbaa !5
  %23204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23205 = load i32, ptr %23204, align 4, !tbaa !5
  %23206 = call ptr @s2n_strerror(i32 noundef %23205, ptr noundef @.str.4)
  %23207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23208 = load i32, ptr %23207, align 4, !tbaa !5
  %23209 = call ptr @s2n_strerror_debug(i32 noundef %23208, ptr noundef @.str.4)
  %23210 = call ptr @__errno_location() #12
  %23211 = load i32, ptr %23210, align 4, !tbaa !5
  %23212 = call ptr @strerror(i32 noundef %23211) #11
  %23213 = call ptr @__errno_location() #12
  %23214 = load i32, ptr %23213, align 4, !tbaa !5
  %23215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23202, ptr noundef @.str.5, i32 noundef %23203, ptr noundef @.str.171, ptr noundef @.str.1, i32 noundef 858, ptr noundef %23206, ptr noundef %23209, ptr noundef %23212, i32 noundef %23214) #11
  br label %23216

23216:                                            ; preds = %23199, %23182
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #11
  br label %23217

23217:                                            ; preds = %23216
  br label %23218

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

23219:                                            ; No predecessors!
  br label %23220

23220:                                            ; preds = %23219
  br label %23221

23221:                                            ; preds = %23220, %23163
  br label %23222

23222:                                            ; preds = %23221
  br label %23223

23223:                                            ; preds = %23222
  br label %23224

23224:                                            ; preds = %23223
  %23225 = load i32, ptr @test_count, align 4, !tbaa !5
  %23226 = add nsw i32 %23225, 1
  store i32 %23226, ptr @test_count, align 4, !tbaa !5
  %23227 = call i32 @setenv(ptr noundef @.str.172, ptr noundef @.str.173, i32 noundef 1) #11
  %23228 = icmp eq i32 %23227, -1
  br i1 %23228, label %23229, label %23282

23229:                                            ; preds = %23224
  br label %23230

23230:                                            ; preds = %23229
  br label %23231

23231:                                            ; preds = %23230
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #11
  %23232 = call ptr @__errno_location() #12
  %23233 = load i32, ptr %23232, align 4, !tbaa !5
  store i32 %23233, ptr %483, align 4, !tbaa !5
  %23234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23235 = call i32 @s2n_print_stacktrace(ptr noundef %23234)
  %23236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23237 = trunc i8 %23236 to i1
  br i1 %23237, label %23238, label %23260

23238:                                            ; preds = %23231
  %23239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23240 = call i32 @fileno(ptr noundef %23239) #11
  %23241 = call i32 @isatty(i32 noundef %23240) #11
  %23242 = icmp ne i32 %23241, 0
  br i1 %23242, label %23243, label %23260

23243:                                            ; preds = %23238
  %23244 = load i32, ptr %483, align 4, !tbaa !5
  %23245 = call ptr @__errno_location() #12
  store i32 %23244, ptr %23245, align 4, !tbaa !5
  %23246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23247 = load i32, ptr @test_count, align 4, !tbaa !5
  %23248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23249 = load i32, ptr %23248, align 4, !tbaa !5
  %23250 = call ptr @s2n_strerror(i32 noundef %23249, ptr noundef @.str.4)
  %23251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23252 = load i32, ptr %23251, align 4, !tbaa !5
  %23253 = call ptr @s2n_strerror_debug(i32 noundef %23252, ptr noundef @.str.4)
  %23254 = call ptr @__errno_location() #12
  %23255 = load i32, ptr %23254, align 4, !tbaa !5
  %23256 = call ptr @strerror(i32 noundef %23255) #11
  %23257 = call ptr @__errno_location() #12
  %23258 = load i32, ptr %23257, align 4, !tbaa !5
  %23259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23246, ptr noundef @.str.2, i32 noundef %23247, ptr noundef @.str.174, ptr noundef @.str.1, i32 noundef 861, ptr noundef %23250, ptr noundef %23253, ptr noundef %23256, i32 noundef %23258) #11
  br label %23277

23260:                                            ; preds = %23238, %23231
  %23261 = load i32, ptr %483, align 4, !tbaa !5
  %23262 = call ptr @__errno_location() #12
  store i32 %23261, ptr %23262, align 4, !tbaa !5
  %23263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23264 = load i32, ptr @test_count, align 4, !tbaa !5
  %23265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23266 = load i32, ptr %23265, align 4, !tbaa !5
  %23267 = call ptr @s2n_strerror(i32 noundef %23266, ptr noundef @.str.4)
  %23268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23269 = load i32, ptr %23268, align 4, !tbaa !5
  %23270 = call ptr @s2n_strerror_debug(i32 noundef %23269, ptr noundef @.str.4)
  %23271 = call ptr @__errno_location() #12
  %23272 = load i32, ptr %23271, align 4, !tbaa !5
  %23273 = call ptr @strerror(i32 noundef %23272) #11
  %23274 = call ptr @__errno_location() #12
  %23275 = load i32, ptr %23274, align 4, !tbaa !5
  %23276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23263, ptr noundef @.str.5, i32 noundef %23264, ptr noundef @.str.174, ptr noundef @.str.1, i32 noundef 861, ptr noundef %23267, ptr noundef %23270, ptr noundef %23273, i32 noundef %23275) #11
  br label %23277

23277:                                            ; preds = %23260, %23243
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #11
  br label %23278

23278:                                            ; preds = %23277
  br label %23279

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

23280:                                            ; No predecessors!
  br label %23281

23281:                                            ; preds = %23280
  br label %23282

23282:                                            ; preds = %23281, %23224
  br label %23283

23283:                                            ; preds = %23282
  br label %23284

23284:                                            ; preds = %23283
  br label %23285

23285:                                            ; preds = %23284
  %23286 = load i32, ptr @test_count, align 4, !tbaa !5
  %23287 = add nsw i32 %23286, 1
  store i32 %23287, ptr @test_count, align 4, !tbaa !5
  %23288 = load ptr, ptr %472, align 8, !tbaa !9
  %23289 = call i32 @s2n_config_load_system_certs(ptr noundef %23288)
  %23290 = icmp eq i32 %23289, -1
  br i1 %23290, label %23291, label %23344

23291:                                            ; preds = %23285
  br label %23292

23292:                                            ; preds = %23291
  br label %23293

23293:                                            ; preds = %23292
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #11
  %23294 = call ptr @__errno_location() #12
  %23295 = load i32, ptr %23294, align 4, !tbaa !5
  store i32 %23295, ptr %484, align 4, !tbaa !5
  %23296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23297 = call i32 @s2n_print_stacktrace(ptr noundef %23296)
  %23298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23299 = trunc i8 %23298 to i1
  br i1 %23299, label %23300, label %23322

23300:                                            ; preds = %23293
  %23301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23302 = call i32 @fileno(ptr noundef %23301) #11
  %23303 = call i32 @isatty(i32 noundef %23302) #11
  %23304 = icmp ne i32 %23303, 0
  br i1 %23304, label %23305, label %23322

23305:                                            ; preds = %23300
  %23306 = load i32, ptr %484, align 4, !tbaa !5
  %23307 = call ptr @__errno_location() #12
  store i32 %23306, ptr %23307, align 4, !tbaa !5
  %23308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23309 = load i32, ptr @test_count, align 4, !tbaa !5
  %23310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23311 = load i32, ptr %23310, align 4, !tbaa !5
  %23312 = call ptr @s2n_strerror(i32 noundef %23311, ptr noundef @.str.4)
  %23313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23314 = load i32, ptr %23313, align 4, !tbaa !5
  %23315 = call ptr @s2n_strerror_debug(i32 noundef %23314, ptr noundef @.str.4)
  %23316 = call ptr @__errno_location() #12
  %23317 = load i32, ptr %23316, align 4, !tbaa !5
  %23318 = call ptr @strerror(i32 noundef %23317) #11
  %23319 = call ptr @__errno_location() #12
  %23320 = load i32, ptr %23319, align 4, !tbaa !5
  %23321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23308, ptr noundef @.str.2, i32 noundef %23309, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 864, ptr noundef %23312, ptr noundef %23315, ptr noundef %23318, i32 noundef %23320) #11
  br label %23339

23322:                                            ; preds = %23300, %23293
  %23323 = load i32, ptr %484, align 4, !tbaa !5
  %23324 = call ptr @__errno_location() #12
  store i32 %23323, ptr %23324, align 4, !tbaa !5
  %23325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23326 = load i32, ptr @test_count, align 4, !tbaa !5
  %23327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23328 = load i32, ptr %23327, align 4, !tbaa !5
  %23329 = call ptr @s2n_strerror(i32 noundef %23328, ptr noundef @.str.4)
  %23330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23331 = load i32, ptr %23330, align 4, !tbaa !5
  %23332 = call ptr @s2n_strerror_debug(i32 noundef %23331, ptr noundef @.str.4)
  %23333 = call ptr @__errno_location() #12
  %23334 = load i32, ptr %23333, align 4, !tbaa !5
  %23335 = call ptr @strerror(i32 noundef %23334) #11
  %23336 = call ptr @__errno_location() #12
  %23337 = load i32, ptr %23336, align 4, !tbaa !5
  %23338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23325, ptr noundef @.str.5, i32 noundef %23326, ptr noundef @.str.162, ptr noundef @.str.1, i32 noundef 864, ptr noundef %23329, ptr noundef %23332, ptr noundef %23335, i32 noundef %23337) #11
  br label %23339

23339:                                            ; preds = %23322, %23305
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #11
  br label %23340

23340:                                            ; preds = %23339
  br label %23341

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

23342:                                            ; No predecessors!
  br label %23343

23343:                                            ; preds = %23342
  br label %23344

23344:                                            ; preds = %23343, %23285
  br label %23345

23345:                                            ; preds = %23344
  br label %23346

23346:                                            ; preds = %23345
  br label %23347

23347:                                            ; preds = %23346
  %23348 = load i32, ptr @test_count, align 4, !tbaa !5
  %23349 = add nsw i32 %23348, 1
  store i32 %23349, ptr @test_count, align 4, !tbaa !5
  %23350 = load ptr, ptr %472, align 8, !tbaa !9
  %23351 = getelementptr inbounds %struct.s2n_config, ptr %23350, i32 0, i32 37
  %23352 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %23351, i32 0, i32 1
  %23353 = load i8, ptr %23352, align 8
  %23354 = and i8 %23353, 1
  %23355 = zext i8 %23354 to i32
  %23356 = icmp ne i32 %23355, 0
  br i1 %23356, label %23410, label %23357

23357:                                            ; preds = %23347
  br label %23358

23358:                                            ; preds = %23357
  br label %23359

23359:                                            ; preds = %23358
  call void @llvm.lifetime.start.p0(i64 4, ptr %485) #11
  %23360 = call ptr @__errno_location() #12
  %23361 = load i32, ptr %23360, align 4, !tbaa !5
  store i32 %23361, ptr %485, align 4, !tbaa !5
  %23362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23363 = call i32 @s2n_print_stacktrace(ptr noundef %23362)
  %23364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23365 = trunc i8 %23364 to i1
  br i1 %23365, label %23366, label %23388

23366:                                            ; preds = %23359
  %23367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23368 = call i32 @fileno(ptr noundef %23367) #11
  %23369 = call i32 @isatty(i32 noundef %23368) #11
  %23370 = icmp ne i32 %23369, 0
  br i1 %23370, label %23371, label %23388

23371:                                            ; preds = %23366
  %23372 = load i32, ptr %485, align 4, !tbaa !5
  %23373 = call ptr @__errno_location() #12
  store i32 %23372, ptr %23373, align 4, !tbaa !5
  %23374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23375 = load i32, ptr @test_count, align 4, !tbaa !5
  %23376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23377 = load i32, ptr %23376, align 4, !tbaa !5
  %23378 = call ptr @s2n_strerror(i32 noundef %23377, ptr noundef @.str.4)
  %23379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23380 = load i32, ptr %23379, align 4, !tbaa !5
  %23381 = call ptr @s2n_strerror_debug(i32 noundef %23380, ptr noundef @.str.4)
  %23382 = call ptr @__errno_location() #12
  %23383 = load i32, ptr %23382, align 4, !tbaa !5
  %23384 = call ptr @strerror(i32 noundef %23383) #11
  %23385 = call ptr @__errno_location() #12
  %23386 = load i32, ptr %23385, align 4, !tbaa !5
  %23387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23374, ptr noundef @.str.2, i32 noundef %23375, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 865, ptr noundef %23378, ptr noundef %23381, ptr noundef %23384, i32 noundef %23386) #11
  br label %23405

23388:                                            ; preds = %23366, %23359
  %23389 = load i32, ptr %485, align 4, !tbaa !5
  %23390 = call ptr @__errno_location() #12
  store i32 %23389, ptr %23390, align 4, !tbaa !5
  %23391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23392 = load i32, ptr @test_count, align 4, !tbaa !5
  %23393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23394 = load i32, ptr %23393, align 4, !tbaa !5
  %23395 = call ptr @s2n_strerror(i32 noundef %23394, ptr noundef @.str.4)
  %23396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23397 = load i32, ptr %23396, align 4, !tbaa !5
  %23398 = call ptr @s2n_strerror_debug(i32 noundef %23397, ptr noundef @.str.4)
  %23399 = call ptr @__errno_location() #12
  %23400 = load i32, ptr %23399, align 4, !tbaa !5
  %23401 = call ptr @strerror(i32 noundef %23400) #11
  %23402 = call ptr @__errno_location() #12
  %23403 = load i32, ptr %23402, align 4, !tbaa !5
  %23404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23391, ptr noundef @.str.5, i32 noundef %23392, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 865, ptr noundef %23395, ptr noundef %23398, ptr noundef %23401, i32 noundef %23403) #11
  br label %23405

23405:                                            ; preds = %23388, %23371
  call void @llvm.lifetime.end.p0(i64 4, ptr %485) #11
  br label %23406

23406:                                            ; preds = %23405
  br label %23407

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

23408:                                            ; No predecessors!
  br label %23409

23409:                                            ; preds = %23408
  br label %23410

23410:                                            ; preds = %23409, %23347
  br label %23411

23411:                                            ; preds = %23410
  br label %23412

23412:                                            ; preds = %23411
  call void @llvm.lifetime.start.p0(i64 4, ptr %486) #11
  %23413 = load ptr, ptr %479, align 8, !tbaa !9
  %23414 = call ptr @ossl_check_const_X509_OBJECT_sk_type(ptr noundef %23413)
  %23415 = call i32 @OPENSSL_sk_num(ptr noundef %23414)
  store i32 %23415, ptr %486, align 4, !tbaa !5
  %23416 = call zeroext i1 @s2n_libcrypto_is_libressl()
  br i1 %23416, label %23481, label %23417

23417:                                            ; preds = %23412
  br label %23418

23418:                                            ; preds = %23417
  %23419 = load i32, ptr @test_count, align 4, !tbaa !5
  %23420 = add nsw i32 %23419, 1
  store i32 %23420, ptr @test_count, align 4, !tbaa !5
  %23421 = load i32, ptr %486, align 4, !tbaa !5
  %23422 = load i32, ptr %481, align 4, !tbaa !5
  %23423 = add nsw i32 %23422, 1
  %23424 = icmp eq i32 %23421, %23423
  br i1 %23424, label %23478, label %23425

23425:                                            ; preds = %23418
  br label %23426

23426:                                            ; preds = %23425
  br label %23427

23427:                                            ; preds = %23426
  call void @llvm.lifetime.start.p0(i64 4, ptr %487) #11
  %23428 = call ptr @__errno_location() #12
  %23429 = load i32, ptr %23428, align 4, !tbaa !5
  store i32 %23429, ptr %487, align 4, !tbaa !5
  %23430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23431 = call i32 @s2n_print_stacktrace(ptr noundef %23430)
  %23432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23433 = trunc i8 %23432 to i1
  br i1 %23433, label %23434, label %23456

23434:                                            ; preds = %23427
  %23435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23436 = call i32 @fileno(ptr noundef %23435) #11
  %23437 = call i32 @isatty(i32 noundef %23436) #11
  %23438 = icmp ne i32 %23437, 0
  br i1 %23438, label %23439, label %23456

23439:                                            ; preds = %23434
  %23440 = load i32, ptr %487, align 4, !tbaa !5
  %23441 = call ptr @__errno_location() #12
  store i32 %23440, ptr %23441, align 4, !tbaa !5
  %23442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23443 = load i32, ptr @test_count, align 4, !tbaa !5
  %23444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23445 = load i32, ptr %23444, align 4, !tbaa !5
  %23446 = call ptr @s2n_strerror(i32 noundef %23445, ptr noundef @.str.4)
  %23447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23448 = load i32, ptr %23447, align 4, !tbaa !5
  %23449 = call ptr @s2n_strerror_debug(i32 noundef %23448, ptr noundef @.str.4)
  %23450 = call ptr @__errno_location() #12
  %23451 = load i32, ptr %23450, align 4, !tbaa !5
  %23452 = call ptr @strerror(i32 noundef %23451) #11
  %23453 = call ptr @__errno_location() #12
  %23454 = load i32, ptr %23453, align 4, !tbaa !5
  %23455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23442, ptr noundef @.str.2, i32 noundef %23443, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 872, ptr noundef %23446, ptr noundef %23449, ptr noundef %23452, i32 noundef %23454) #11
  br label %23473

23456:                                            ; preds = %23434, %23427
  %23457 = load i32, ptr %487, align 4, !tbaa !5
  %23458 = call ptr @__errno_location() #12
  store i32 %23457, ptr %23458, align 4, !tbaa !5
  %23459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23460 = load i32, ptr @test_count, align 4, !tbaa !5
  %23461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23462 = load i32, ptr %23461, align 4, !tbaa !5
  %23463 = call ptr @s2n_strerror(i32 noundef %23462, ptr noundef @.str.4)
  %23464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23465 = load i32, ptr %23464, align 4, !tbaa !5
  %23466 = call ptr @s2n_strerror_debug(i32 noundef %23465, ptr noundef @.str.4)
  %23467 = call ptr @__errno_location() #12
  %23468 = load i32, ptr %23467, align 4, !tbaa !5
  %23469 = call ptr @strerror(i32 noundef %23468) #11
  %23470 = call ptr @__errno_location() #12
  %23471 = load i32, ptr %23470, align 4, !tbaa !5
  %23472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23459, ptr noundef @.str.5, i32 noundef %23460, ptr noundef @.str.175, ptr noundef @.str.1, i32 noundef 872, ptr noundef %23463, ptr noundef %23466, ptr noundef %23469, i32 noundef %23471) #11
  br label %23473

23473:                                            ; preds = %23456, %23439
  call void @llvm.lifetime.end.p0(i64 4, ptr %487) #11
  br label %23474

23474:                                            ; preds = %23473
  br label %23475

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

23476:                                            ; No predecessors!
  br label %23477

23477:                                            ; preds = %23476
  br label %23478

23478:                                            ; preds = %23477, %23418
  br label %23479

23479:                                            ; preds = %23478
  br label %23480

23480:                                            ; preds = %23479
  br label %23481

23481:                                            ; preds = %23480, %23412
  call void @llvm.lifetime.start.p0(i64 4, ptr %488) #11
  store i32 0, ptr %488, align 4, !tbaa !5
  br label %23482

23482:                                            ; preds = %23816, %23481
  %23483 = load i32, ptr %488, align 4, !tbaa !5
  %23484 = icmp slt i32 %23483, 20
  br i1 %23484, label %23486, label %23485

23485:                                            ; preds = %23482
  store i32 2282, ptr %352, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %488) #11
  br label %23819

23486:                                            ; preds = %23482
  br label %23487

23487:                                            ; preds = %23486
  br label %23488

23488:                                            ; preds = %23487
  br label %23489

23489:                                            ; preds = %23488
  %23490 = load i32, ptr @test_count, align 4, !tbaa !5
  %23491 = add nsw i32 %23490, 1
  store i32 %23491, ptr @test_count, align 4, !tbaa !5
  %23492 = load ptr, ptr %472, align 8, !tbaa !9
  %23493 = call i32 @s2n_config_load_system_certs(ptr noundef %23492)
  %23494 = icmp eq i32 %23493, -1
  br i1 %23494, label %23548, label %23495

23495:                                            ; preds = %23489
  br label %23496

23496:                                            ; preds = %23495
  br label %23497

23497:                                            ; preds = %23496
  call void @llvm.lifetime.start.p0(i64 4, ptr %489) #11
  %23498 = call ptr @__errno_location() #12
  %23499 = load i32, ptr %23498, align 4, !tbaa !5
  store i32 %23499, ptr %489, align 4, !tbaa !5
  %23500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23501 = call i32 @s2n_print_stacktrace(ptr noundef %23500)
  %23502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23503 = trunc i8 %23502 to i1
  br i1 %23503, label %23504, label %23526

23504:                                            ; preds = %23497
  %23505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23506 = call i32 @fileno(ptr noundef %23505) #11
  %23507 = call i32 @isatty(i32 noundef %23506) #11
  %23508 = icmp ne i32 %23507, 0
  br i1 %23508, label %23509, label %23526

23509:                                            ; preds = %23504
  %23510 = load i32, ptr %489, align 4, !tbaa !5
  %23511 = call ptr @__errno_location() #12
  store i32 %23510, ptr %23511, align 4, !tbaa !5
  %23512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23513 = load i32, ptr @test_count, align 4, !tbaa !5
  %23514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23515 = load i32, ptr %23514, align 4, !tbaa !5
  %23516 = call ptr @s2n_strerror(i32 noundef %23515, ptr noundef @.str.4)
  %23517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23518 = load i32, ptr %23517, align 4, !tbaa !5
  %23519 = call ptr @s2n_strerror_debug(i32 noundef %23518, ptr noundef @.str.4)
  %23520 = call ptr @__errno_location() #12
  %23521 = load i32, ptr %23520, align 4, !tbaa !5
  %23522 = call ptr @strerror(i32 noundef %23521) #11
  %23523 = call ptr @__errno_location() #12
  %23524 = load i32, ptr %23523, align 4, !tbaa !5
  %23525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23512, ptr noundef @.str.2, i32 noundef %23513, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 877, ptr noundef %23516, ptr noundef %23519, ptr noundef %23522, i32 noundef %23524) #11
  br label %23543

23526:                                            ; preds = %23504, %23497
  %23527 = load i32, ptr %489, 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.4)
  %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.4)
  %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.5, i32 noundef %23530, ptr noundef @.str.165, ptr noundef @.str.1, i32 noundef 877, ptr noundef %23533, ptr noundef %23536, ptr noundef %23539, i32 noundef %23541) #11
  br label %23543

23543:                                            ; preds = %23526, %23509
  call void @llvm.lifetime.end.p0(i64 4, ptr %489) #11
  br label %23544

23544:                                            ; preds = %23543
  br label %23545

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

23546:                                            ; No predecessors!
  br label %23547

23547:                                            ; preds = %23546
  br label %23548

23548:                                            ; preds = %23547, %23489
  br label %23549

23549:                                            ; preds = %23548
  br label %23550

23550:                                            ; preds = %23549
  br label %23551

23551:                                            ; preds = %23550
  %23552 = load i32, ptr @test_count, align 4, !tbaa !5
  %23553 = add nsw i32 %23552, 1
  store i32 %23553, ptr @test_count, align 4, !tbaa !5
  %23554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23555 = load i32, ptr %23554, align 4, !tbaa !5
  %23556 = icmp eq i32 %23555, 402653238
  br i1 %23556, label %23610, label %23557

23557:                                            ; preds = %23551
  br label %23558

23558:                                            ; preds = %23557
  br label %23559

23559:                                            ; preds = %23558
  call void @llvm.lifetime.start.p0(i64 4, ptr %490) #11
  %23560 = call ptr @__errno_location() #12
  %23561 = load i32, ptr %23560, align 4, !tbaa !5
  store i32 %23561, ptr %490, align 4, !tbaa !5
  %23562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23563 = call i32 @s2n_print_stacktrace(ptr noundef %23562)
  %23564 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23565 = trunc i8 %23564 to i1
  br i1 %23565, label %23566, label %23588

23566:                                            ; preds = %23559
  %23567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23568 = call i32 @fileno(ptr noundef %23567) #11
  %23569 = call i32 @isatty(i32 noundef %23568) #11
  %23570 = icmp ne i32 %23569, 0
  br i1 %23570, label %23571, label %23588

23571:                                            ; preds = %23566
  %23572 = load i32, ptr %490, align 4, !tbaa !5
  %23573 = call ptr @__errno_location() #12
  store i32 %23572, ptr %23573, align 4, !tbaa !5
  %23574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23575 = load i32, ptr @test_count, align 4, !tbaa !5
  %23576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23577 = load i32, ptr %23576, align 4, !tbaa !5
  %23578 = call ptr @s2n_strerror(i32 noundef %23577, ptr noundef @.str.4)
  %23579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23580 = load i32, ptr %23579, align 4, !tbaa !5
  %23581 = call ptr @s2n_strerror_debug(i32 noundef %23580, ptr noundef @.str.4)
  %23582 = call ptr @__errno_location() #12
  %23583 = load i32, ptr %23582, align 4, !tbaa !5
  %23584 = call ptr @strerror(i32 noundef %23583) #11
  %23585 = call ptr @__errno_location() #12
  %23586 = load i32, ptr %23585, align 4, !tbaa !5
  %23587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23574, ptr noundef @.str.2, i32 noundef %23575, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 877, ptr noundef %23578, ptr noundef %23581, ptr noundef %23584, i32 noundef %23586) #11
  br label %23605

23588:                                            ; preds = %23566, %23559
  %23589 = load i32, ptr %490, align 4, !tbaa !5
  %23590 = call ptr @__errno_location() #12
  store i32 %23589, ptr %23590, align 4, !tbaa !5
  %23591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23592 = load i32, ptr @test_count, align 4, !tbaa !5
  %23593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23594 = load i32, ptr %23593, align 4, !tbaa !5
  %23595 = call ptr @s2n_strerror(i32 noundef %23594, ptr noundef @.str.4)
  %23596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23597 = load i32, ptr %23596, align 4, !tbaa !5
  %23598 = call ptr @s2n_strerror_debug(i32 noundef %23597, ptr noundef @.str.4)
  %23599 = call ptr @__errno_location() #12
  %23600 = load i32, ptr %23599, align 4, !tbaa !5
  %23601 = call ptr @strerror(i32 noundef %23600) #11
  %23602 = call ptr @__errno_location() #12
  %23603 = load i32, ptr %23602, align 4, !tbaa !5
  %23604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23591, ptr noundef @.str.5, i32 noundef %23592, ptr noundef @.str.166, ptr noundef @.str.1, i32 noundef 877, ptr noundef %23595, ptr noundef %23598, ptr noundef %23601, i32 noundef %23603) #11
  br label %23605

23605:                                            ; preds = %23588, %23571
  call void @llvm.lifetime.end.p0(i64 4, ptr %490) #11
  br label %23606

23606:                                            ; preds = %23605
  br label %23607

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

23608:                                            ; No predecessors!
  br label %23609

23609:                                            ; preds = %23608
  br label %23610

23610:                                            ; preds = %23609, %23551
  br label %23611

23611:                                            ; preds = %23610
  br label %23612

23612:                                            ; preds = %23611
  br label %23613

23613:                                            ; preds = %23612
  %23614 = load i32, ptr @test_count, align 4, !tbaa !5
  %23615 = add nsw i32 %23614, 1
  store i32 %23615, ptr @test_count, align 4, !tbaa !5
  %23616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23617 = load i32, ptr %23616, align 4, !tbaa !5
  %23618 = call ptr @s2n_strerror_debug(i32 noundef %23617, ptr noundef @.str.4)
  %23619 = icmp eq ptr %23618, null
  br i1 %23619, label %23620, label %23673

23620:                                            ; preds = %23613
  br label %23621

23621:                                            ; preds = %23620
  br label %23622

23622:                                            ; preds = %23621
  call void @llvm.lifetime.start.p0(i64 4, ptr %491) #11
  %23623 = call ptr @__errno_location() #12
  %23624 = load i32, ptr %23623, align 4, !tbaa !5
  store i32 %23624, ptr %491, align 4, !tbaa !5
  %23625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23626 = call i32 @s2n_print_stacktrace(ptr noundef %23625)
  %23627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23628 = trunc i8 %23627 to i1
  br i1 %23628, label %23629, label %23651

23629:                                            ; preds = %23622
  %23630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23631 = call i32 @fileno(ptr noundef %23630) #11
  %23632 = call i32 @isatty(i32 noundef %23631) #11
  %23633 = icmp ne i32 %23632, 0
  br i1 %23633, label %23634, label %23651

23634:                                            ; preds = %23629
  %23635 = load i32, ptr %491, align 4, !tbaa !5
  %23636 = call ptr @__errno_location() #12
  store i32 %23635, ptr %23636, align 4, !tbaa !5
  %23637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23638 = load i32, ptr @test_count, align 4, !tbaa !5
  %23639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23640 = load i32, ptr %23639, align 4, !tbaa !5
  %23641 = call ptr @s2n_strerror(i32 noundef %23640, ptr noundef @.str.4)
  %23642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23643 = load i32, ptr %23642, align 4, !tbaa !5
  %23644 = call ptr @s2n_strerror_debug(i32 noundef %23643, ptr noundef @.str.4)
  %23645 = call ptr @__errno_location() #12
  %23646 = load i32, ptr %23645, align 4, !tbaa !5
  %23647 = call ptr @strerror(i32 noundef %23646) #11
  %23648 = call ptr @__errno_location() #12
  %23649 = load i32, ptr %23648, align 4, !tbaa !5
  %23650 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23637, ptr noundef @.str.2, i32 noundef %23638, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 877, ptr noundef %23641, ptr noundef %23644, ptr noundef %23647, i32 noundef %23649) #11
  br label %23668

23651:                                            ; preds = %23629, %23622
  %23652 = load i32, ptr %491, align 4, !tbaa !5
  %23653 = call ptr @__errno_location() #12
  store i32 %23652, ptr %23653, align 4, !tbaa !5
  %23654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23655 = load i32, ptr @test_count, align 4, !tbaa !5
  %23656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23657 = load i32, ptr %23656, align 4, !tbaa !5
  %23658 = call ptr @s2n_strerror(i32 noundef %23657, ptr noundef @.str.4)
  %23659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23660 = load i32, ptr %23659, align 4, !tbaa !5
  %23661 = call ptr @s2n_strerror_debug(i32 noundef %23660, ptr noundef @.str.4)
  %23662 = call ptr @__errno_location() #12
  %23663 = load i32, ptr %23662, align 4, !tbaa !5
  %23664 = call ptr @strerror(i32 noundef %23663) #11
  %23665 = call ptr @__errno_location() #12
  %23666 = load i32, ptr %23665, align 4, !tbaa !5
  %23667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23654, ptr noundef @.str.5, i32 noundef %23655, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 877, ptr noundef %23658, ptr noundef %23661, ptr noundef %23664, i32 noundef %23666) #11
  br label %23668

23668:                                            ; preds = %23651, %23634
  call void @llvm.lifetime.end.p0(i64 4, ptr %491) #11
  br label %23669

23669:                                            ; preds = %23668
  br label %23670

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

23671:                                            ; No predecessors!
  br label %23672

23672:                                            ; preds = %23671
  br label %23673

23673:                                            ; preds = %23672, %23613
  br label %23674

23674:                                            ; preds = %23673
  br label %23675

23675:                                            ; preds = %23674
  br label %23676

23676:                                            ; preds = %23675
  br label %23677

23677:                                            ; preds = %23676
  br label %23678

23678:                                            ; preds = %23677
  %23679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23679, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23680 = call ptr @__errno_location() #12
  store i32 0, ptr %23680, align 4, !tbaa !5
  br label %23681

23681:                                            ; preds = %23678
  br label %23682

23682:                                            ; preds = %23681
  br label %23683

23683:                                            ; preds = %23682
  br label %23684

23684:                                            ; preds = %23683
  br label %23685

23685:                                            ; preds = %23684
  %23686 = load i32, ptr @test_count, align 4, !tbaa !5
  %23687 = add nsw i32 %23686, 1
  store i32 %23687, ptr @test_count, align 4, !tbaa !5
  %23688 = load ptr, ptr %472, align 8, !tbaa !9
  %23689 = getelementptr inbounds %struct.s2n_config, ptr %23688, i32 0, i32 37
  %23690 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %23689, i32 0, i32 1
  %23691 = load i8, ptr %23690, align 8
  %23692 = and i8 %23691, 1
  %23693 = zext i8 %23692 to i32
  %23694 = icmp ne i32 %23693, 0
  br i1 %23694, label %23748, label %23695

23695:                                            ; preds = %23685
  br label %23696

23696:                                            ; preds = %23695
  br label %23697

23697:                                            ; preds = %23696
  call void @llvm.lifetime.start.p0(i64 4, ptr %492) #11
  %23698 = call ptr @__errno_location() #12
  %23699 = load i32, ptr %23698, align 4, !tbaa !5
  store i32 %23699, ptr %492, align 4, !tbaa !5
  %23700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23701 = call i32 @s2n_print_stacktrace(ptr noundef %23700)
  %23702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23703 = trunc i8 %23702 to i1
  br i1 %23703, label %23704, label %23726

23704:                                            ; preds = %23697
  %23705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23706 = call i32 @fileno(ptr noundef %23705) #11
  %23707 = call i32 @isatty(i32 noundef %23706) #11
  %23708 = icmp ne i32 %23707, 0
  br i1 %23708, label %23709, label %23726

23709:                                            ; preds = %23704
  %23710 = load i32, ptr %492, align 4, !tbaa !5
  %23711 = call ptr @__errno_location() #12
  store i32 %23710, ptr %23711, align 4, !tbaa !5
  %23712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23713 = load i32, ptr @test_count, align 4, !tbaa !5
  %23714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23715 = load i32, ptr %23714, align 4, !tbaa !5
  %23716 = call ptr @s2n_strerror(i32 noundef %23715, ptr noundef @.str.4)
  %23717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23718 = load i32, ptr %23717, align 4, !tbaa !5
  %23719 = call ptr @s2n_strerror_debug(i32 noundef %23718, ptr noundef @.str.4)
  %23720 = call ptr @__errno_location() #12
  %23721 = load i32, ptr %23720, align 4, !tbaa !5
  %23722 = call ptr @strerror(i32 noundef %23721) #11
  %23723 = call ptr @__errno_location() #12
  %23724 = load i32, ptr %23723, align 4, !tbaa !5
  %23725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23712, ptr noundef @.str.2, i32 noundef %23713, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 878, ptr noundef %23716, ptr noundef %23719, ptr noundef %23722, i32 noundef %23724) #11
  br label %23743

23726:                                            ; preds = %23704, %23697
  %23727 = load i32, ptr %492, align 4, !tbaa !5
  %23728 = call ptr @__errno_location() #12
  store i32 %23727, ptr %23728, align 4, !tbaa !5
  %23729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23730 = load i32, ptr @test_count, align 4, !tbaa !5
  %23731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23732 = load i32, ptr %23731, align 4, !tbaa !5
  %23733 = call ptr @s2n_strerror(i32 noundef %23732, ptr noundef @.str.4)
  %23734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23735 = load i32, ptr %23734, align 4, !tbaa !5
  %23736 = call ptr @s2n_strerror_debug(i32 noundef %23735, ptr noundef @.str.4)
  %23737 = call ptr @__errno_location() #12
  %23738 = load i32, ptr %23737, align 4, !tbaa !5
  %23739 = call ptr @strerror(i32 noundef %23738) #11
  %23740 = call ptr @__errno_location() #12
  %23741 = load i32, ptr %23740, align 4, !tbaa !5
  %23742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23729, ptr noundef @.str.5, i32 noundef %23730, ptr noundef @.str.164, ptr noundef @.str.1, i32 noundef 878, ptr noundef %23733, ptr noundef %23736, ptr noundef %23739, i32 noundef %23741) #11
  br label %23743

23743:                                            ; preds = %23726, %23709
  call void @llvm.lifetime.end.p0(i64 4, ptr %492) #11
  br label %23744

23744:                                            ; preds = %23743
  br label %23745

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

23746:                                            ; No predecessors!
  br label %23747

23747:                                            ; preds = %23746
  br label %23748

23748:                                            ; preds = %23747, %23685
  br label %23749

23749:                                            ; preds = %23748
  br label %23750

23750:                                            ; preds = %23749
  call void @llvm.lifetime.start.p0(i64 4, ptr %493) #11
  %23751 = load ptr, ptr %479, align 8, !tbaa !9
  %23752 = call ptr @ossl_check_const_X509_OBJECT_sk_type(ptr noundef %23751)
  %23753 = call i32 @OPENSSL_sk_num(ptr noundef %23752)
  store i32 %23753, ptr %493, align 4, !tbaa !5
  br label %23754

23754:                                            ; preds = %23750
  %23755 = load i32, ptr @test_count, align 4, !tbaa !5
  %23756 = add nsw i32 %23755, 1
  store i32 %23756, ptr @test_count, align 4, !tbaa !5
  %23757 = load i32, ptr %493, align 4, !tbaa !5
  %23758 = load i32, ptr %486, align 4, !tbaa !5
  %23759 = icmp eq i32 %23757, %23758
  br i1 %23759, label %23813, label %23760

23760:                                            ; preds = %23754
  br label %23761

23761:                                            ; preds = %23760
  br label %23762

23762:                                            ; preds = %23761
  call void @llvm.lifetime.start.p0(i64 4, ptr %494) #11
  %23763 = call ptr @__errno_location() #12
  %23764 = load i32, ptr %23763, align 4, !tbaa !5
  store i32 %23764, ptr %494, align 4, !tbaa !5
  %23765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23766 = call i32 @s2n_print_stacktrace(ptr noundef %23765)
  %23767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23768 = trunc i8 %23767 to i1
  br i1 %23768, label %23769, label %23791

23769:                                            ; preds = %23762
  %23770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23771 = call i32 @fileno(ptr noundef %23770) #11
  %23772 = call i32 @isatty(i32 noundef %23771) #11
  %23773 = icmp ne i32 %23772, 0
  br i1 %23773, label %23774, label %23791

23774:                                            ; preds = %23769
  %23775 = load i32, ptr %494, align 4, !tbaa !5
  %23776 = call ptr @__errno_location() #12
  store i32 %23775, ptr %23776, align 4, !tbaa !5
  %23777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23778 = load i32, ptr @test_count, align 4, !tbaa !5
  %23779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23780 = load i32, ptr %23779, align 4, !tbaa !5
  %23781 = call ptr @s2n_strerror(i32 noundef %23780, ptr noundef @.str.4)
  %23782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23783 = load i32, ptr %23782, align 4, !tbaa !5
  %23784 = call ptr @s2n_strerror_debug(i32 noundef %23783, ptr noundef @.str.4)
  %23785 = call ptr @__errno_location() #12
  %23786 = load i32, ptr %23785, align 4, !tbaa !5
  %23787 = call ptr @strerror(i32 noundef %23786) #11
  %23788 = call ptr @__errno_location() #12
  %23789 = load i32, ptr %23788, align 4, !tbaa !5
  %23790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23777, ptr noundef @.str.2, i32 noundef %23778, ptr noundef @.str.176, ptr noundef @.str.1, i32 noundef 880, ptr noundef %23781, ptr noundef %23784, ptr noundef %23787, i32 noundef %23789) #11
  br label %23808

23791:                                            ; preds = %23769, %23762
  %23792 = load i32, ptr %494, align 4, !tbaa !5
  %23793 = call ptr @__errno_location() #12
  store i32 %23792, ptr %23793, align 4, !tbaa !5
  %23794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23795 = load i32, ptr @test_count, align 4, !tbaa !5
  %23796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23797 = load i32, ptr %23796, align 4, !tbaa !5
  %23798 = call ptr @s2n_strerror(i32 noundef %23797, ptr noundef @.str.4)
  %23799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23800 = load i32, ptr %23799, align 4, !tbaa !5
  %23801 = call ptr @s2n_strerror_debug(i32 noundef %23800, ptr noundef @.str.4)
  %23802 = call ptr @__errno_location() #12
  %23803 = load i32, ptr %23802, align 4, !tbaa !5
  %23804 = call ptr @strerror(i32 noundef %23803) #11
  %23805 = call ptr @__errno_location() #12
  %23806 = load i32, ptr %23805, align 4, !tbaa !5
  %23807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23794, ptr noundef @.str.5, i32 noundef %23795, ptr noundef @.str.176, ptr noundef @.str.1, i32 noundef 880, ptr noundef %23798, ptr noundef %23801, ptr noundef %23804, i32 noundef %23806) #11
  br label %23808

23808:                                            ; preds = %23791, %23774
  call void @llvm.lifetime.end.p0(i64 4, ptr %494) #11
  br label %23809

23809:                                            ; preds = %23808
  br label %23810

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

23811:                                            ; No predecessors!
  br label %23812

23812:                                            ; preds = %23811
  br label %23813

23813:                                            ; preds = %23812, %23754
  br label %23814

23814:                                            ; preds = %23813
  br label %23815

23815:                                            ; preds = %23814
  call void @llvm.lifetime.end.p0(i64 4, ptr %493) #11
  br label %23816

23816:                                            ; preds = %23815
  %23817 = load i32, ptr %488, align 4, !tbaa !5
  %23818 = add nsw i32 %23817, 1
  store i32 %23818, ptr %488, align 4, !tbaa !5
  br label %23482, !llvm.loop !78

23819:                                            ; preds = %23485
  br label %23820

23820:                                            ; preds = %23819
  %23821 = load i32, ptr @test_count, align 4, !tbaa !5
  %23822 = add nsw i32 %23821, 1
  store i32 %23822, ptr @test_count, align 4, !tbaa !5
  %23823 = call i32 @unsetenv(ptr noundef @.str.172) #11
  %23824 = icmp eq i32 %23823, -1
  br i1 %23824, label %23825, label %23878

23825:                                            ; preds = %23820
  br label %23826

23826:                                            ; preds = %23825
  br label %23827

23827:                                            ; preds = %23826
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #11
  %23828 = call ptr @__errno_location() #12
  %23829 = load i32, ptr %23828, align 4, !tbaa !5
  store i32 %23829, ptr %495, align 4, !tbaa !5
  %23830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23831 = call i32 @s2n_print_stacktrace(ptr noundef %23830)
  %23832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23833 = trunc i8 %23832 to i1
  br i1 %23833, label %23834, label %23856

23834:                                            ; preds = %23827
  %23835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23836 = call i32 @fileno(ptr noundef %23835) #11
  %23837 = call i32 @isatty(i32 noundef %23836) #11
  %23838 = icmp ne i32 %23837, 0
  br i1 %23838, label %23839, label %23856

23839:                                            ; preds = %23834
  %23840 = load i32, ptr %495, align 4, !tbaa !5
  %23841 = call ptr @__errno_location() #12
  store i32 %23840, ptr %23841, align 4, !tbaa !5
  %23842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23843 = load i32, ptr @test_count, align 4, !tbaa !5
  %23844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23845 = load i32, ptr %23844, align 4, !tbaa !5
  %23846 = call ptr @s2n_strerror(i32 noundef %23845, ptr noundef @.str.4)
  %23847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23848 = load i32, ptr %23847, align 4, !tbaa !5
  %23849 = call ptr @s2n_strerror_debug(i32 noundef %23848, ptr noundef @.str.4)
  %23850 = call ptr @__errno_location() #12
  %23851 = load i32, ptr %23850, align 4, !tbaa !5
  %23852 = call ptr @strerror(i32 noundef %23851) #11
  %23853 = call ptr @__errno_location() #12
  %23854 = load i32, ptr %23853, align 4, !tbaa !5
  %23855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23842, ptr noundef @.str.2, i32 noundef %23843, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 883, ptr noundef %23846, ptr noundef %23849, ptr noundef %23852, i32 noundef %23854) #11
  br label %23873

23856:                                            ; preds = %23834, %23827
  %23857 = load i32, ptr %495, align 4, !tbaa !5
  %23858 = call ptr @__errno_location() #12
  store i32 %23857, ptr %23858, align 4, !tbaa !5
  %23859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23860 = load i32, ptr @test_count, align 4, !tbaa !5
  %23861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23862 = load i32, ptr %23861, align 4, !tbaa !5
  %23863 = call ptr @s2n_strerror(i32 noundef %23862, ptr noundef @.str.4)
  %23864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23865 = load i32, ptr %23864, align 4, !tbaa !5
  %23866 = call ptr @s2n_strerror_debug(i32 noundef %23865, ptr noundef @.str.4)
  %23867 = call ptr @__errno_location() #12
  %23868 = load i32, ptr %23867, align 4, !tbaa !5
  %23869 = call ptr @strerror(i32 noundef %23868) #11
  %23870 = call ptr @__errno_location() #12
  %23871 = load i32, ptr %23870, align 4, !tbaa !5
  %23872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23859, ptr noundef @.str.5, i32 noundef %23860, ptr noundef @.str.177, ptr noundef @.str.1, i32 noundef 883, ptr noundef %23863, ptr noundef %23866, ptr noundef %23869, i32 noundef %23871) #11
  br label %23873

23873:                                            ; preds = %23856, %23839
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #11
  br label %23874

23874:                                            ; preds = %23873
  br label %23875

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

23876:                                            ; No predecessors!
  br label %23877

23877:                                            ; preds = %23876
  br label %23878

23878:                                            ; preds = %23877, %23820
  br label %23879

23879:                                            ; preds = %23878
  br label %23880

23880:                                            ; preds = %23879
  call void @llvm.lifetime.end.p0(i64 4, ptr %486) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %479) #11
  %23881 = call i32 @s2n_config_ptr_free(ptr noundef %472)
  %23882 = getelementptr inbounds %struct.s2n_result, ptr %496, i32 0, i32 0
  store i32 %23881, ptr %23882, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %472) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %497) #11
  store ptr null, ptr %497, align 8, !tbaa !9
  br label %23883

23883:                                            ; preds = %23880
  %23884 = load i32, ptr @test_count, align 4, !tbaa !5
  %23885 = add nsw i32 %23884, 1
  store i32 %23885, ptr @test_count, align 4, !tbaa !5
  %23886 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %497, ptr noundef @.str.15, ptr noundef @.str.17)
  %23887 = icmp eq i32 %23886, -1
  br i1 %23887, label %23888, label %23941

23888:                                            ; preds = %23883
  br label %23889

23889:                                            ; preds = %23888
  br label %23890

23890:                                            ; preds = %23889
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #11
  %23891 = call ptr @__errno_location() #12
  %23892 = load i32, ptr %23891, align 4, !tbaa !5
  store i32 %23892, ptr %498, align 4, !tbaa !5
  %23893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23894 = call i32 @s2n_print_stacktrace(ptr noundef %23893)
  %23895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23896 = trunc i8 %23895 to i1
  br i1 %23896, label %23897, label %23919

23897:                                            ; preds = %23890
  %23898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23899 = call i32 @fileno(ptr noundef %23898) #11
  %23900 = call i32 @isatty(i32 noundef %23899) #11
  %23901 = icmp ne i32 %23900, 0
  br i1 %23901, label %23902, label %23919

23902:                                            ; preds = %23897
  %23903 = load i32, ptr %498, align 4, !tbaa !5
  %23904 = call ptr @__errno_location() #12
  store i32 %23903, ptr %23904, align 4, !tbaa !5
  %23905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23906 = load i32, ptr @test_count, align 4, !tbaa !5
  %23907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23908 = load i32, ptr %23907, align 4, !tbaa !5
  %23909 = call ptr @s2n_strerror(i32 noundef %23908, ptr noundef @.str.4)
  %23910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23911 = load i32, ptr %23910, align 4, !tbaa !5
  %23912 = call ptr @s2n_strerror_debug(i32 noundef %23911, ptr noundef @.str.4)
  %23913 = call ptr @__errno_location() #12
  %23914 = load i32, ptr %23913, align 4, !tbaa !5
  %23915 = call ptr @strerror(i32 noundef %23914) #11
  %23916 = call ptr @__errno_location() #12
  %23917 = load i32, ptr %23916, align 4, !tbaa !5
  %23918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23905, ptr noundef @.str.2, i32 noundef %23906, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 892, ptr noundef %23909, ptr noundef %23912, ptr noundef %23915, i32 noundef %23917) #11
  br label %23936

23919:                                            ; preds = %23897, %23890
  %23920 = load i32, ptr %498, align 4, !tbaa !5
  %23921 = call ptr @__errno_location() #12
  store i32 %23920, ptr %23921, align 4, !tbaa !5
  %23922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23923 = load i32, ptr @test_count, align 4, !tbaa !5
  %23924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23925 = load i32, ptr %23924, align 4, !tbaa !5
  %23926 = call ptr @s2n_strerror(i32 noundef %23925, ptr noundef @.str.4)
  %23927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23928 = load i32, ptr %23927, align 4, !tbaa !5
  %23929 = call ptr @s2n_strerror_debug(i32 noundef %23928, ptr noundef @.str.4)
  %23930 = call ptr @__errno_location() #12
  %23931 = load i32, ptr %23930, align 4, !tbaa !5
  %23932 = call ptr @strerror(i32 noundef %23931) #11
  %23933 = call ptr @__errno_location() #12
  %23934 = load i32, ptr %23933, align 4, !tbaa !5
  %23935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23922, ptr noundef @.str.5, i32 noundef %23923, ptr noundef @.str.178, ptr noundef @.str.1, i32 noundef 892, ptr noundef %23926, ptr noundef %23929, ptr noundef %23932, i32 noundef %23934) #11
  br label %23936

23936:                                            ; preds = %23919, %23902
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #11
  br label %23937

23937:                                            ; preds = %23936
  br label %23938

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

23939:                                            ; No predecessors!
  br label %23940

23940:                                            ; preds = %23939
  br label %23941

23941:                                            ; preds = %23940, %23883
  br label %23942

23942:                                            ; preds = %23941
  br label %23943

23943:                                            ; preds = %23942
  call void @llvm.lifetime.start.p0(i64 8, ptr %499) #11
  %23944 = call ptr @s2n_config_new_minimal()
  store ptr %23944, ptr %499, align 8, !tbaa !9
  br label %23945

23945:                                            ; preds = %23943
  %23946 = load i32, ptr @test_count, align 4, !tbaa !5
  %23947 = add nsw i32 %23946, 1
  store i32 %23947, ptr @test_count, align 4, !tbaa !5
  %23948 = load ptr, ptr %499, align 8, !tbaa !9
  %23949 = icmp eq ptr %23948, null
  br i1 %23949, label %23950, label %24003

23950:                                            ; preds = %23945
  br label %23951

23951:                                            ; preds = %23950
  br label %23952

23952:                                            ; preds = %23951
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #11
  %23953 = call ptr @__errno_location() #12
  %23954 = load i32, ptr %23953, align 4, !tbaa !5
  store i32 %23954, ptr %500, align 4, !tbaa !5
  %23955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23956 = call i32 @s2n_print_stacktrace(ptr noundef %23955)
  %23957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23958 = trunc i8 %23957 to i1
  br i1 %23958, label %23959, label %23981

23959:                                            ; preds = %23952
  %23960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23961 = call i32 @fileno(ptr noundef %23960) #11
  %23962 = call i32 @isatty(i32 noundef %23961) #11
  %23963 = icmp ne i32 %23962, 0
  br i1 %23963, label %23964, label %23981

23964:                                            ; preds = %23959
  %23965 = load i32, ptr %500, align 4, !tbaa !5
  %23966 = call ptr @__errno_location() #12
  store i32 %23965, ptr %23966, align 4, !tbaa !5
  %23967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23968 = load i32, ptr @test_count, align 4, !tbaa !5
  %23969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23970 = load i32, ptr %23969, align 4, !tbaa !5
  %23971 = call ptr @s2n_strerror(i32 noundef %23970, ptr noundef @.str.4)
  %23972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23973 = load i32, ptr %23972, align 4, !tbaa !5
  %23974 = call ptr @s2n_strerror_debug(i32 noundef %23973, ptr noundef @.str.4)
  %23975 = call ptr @__errno_location() #12
  %23976 = load i32, ptr %23975, align 4, !tbaa !5
  %23977 = call ptr @strerror(i32 noundef %23976) #11
  %23978 = call ptr @__errno_location() #12
  %23979 = load i32, ptr %23978, align 4, !tbaa !5
  %23980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23967, ptr noundef @.str.2, i32 noundef %23968, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 897, ptr noundef %23971, ptr noundef %23974, ptr noundef %23977, i32 noundef %23979) #11
  br label %23998

23981:                                            ; preds = %23959, %23952
  %23982 = load i32, ptr %500, align 4, !tbaa !5
  %23983 = call ptr @__errno_location() #12
  store i32 %23982, ptr %23983, align 4, !tbaa !5
  %23984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23985 = load i32, ptr @test_count, align 4, !tbaa !5
  %23986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23987 = load i32, ptr %23986, align 4, !tbaa !5
  %23988 = call ptr @s2n_strerror(i32 noundef %23987, ptr noundef @.str.4)
  %23989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23990 = load i32, ptr %23989, align 4, !tbaa !5
  %23991 = call ptr @s2n_strerror_debug(i32 noundef %23990, ptr noundef @.str.4)
  %23992 = call ptr @__errno_location() #12
  %23993 = load i32, ptr %23992, align 4, !tbaa !5
  %23994 = call ptr @strerror(i32 noundef %23993) #11
  %23995 = call ptr @__errno_location() #12
  %23996 = load i32, ptr %23995, align 4, !tbaa !5
  %23997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23984, ptr noundef @.str.5, i32 noundef %23985, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 897, ptr noundef %23988, ptr noundef %23991, ptr noundef %23994, i32 noundef %23996) #11
  br label %23998

23998:                                            ; preds = %23981, %23964
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #11
  br label %23999

23999:                                            ; preds = %23998
  br label %24000

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

24001:                                            ; No predecessors!
  br label %24002

24002:                                            ; preds = %24001
  br label %24003

24003:                                            ; preds = %24002, %23945
  br label %24004

24004:                                            ; preds = %24003
  br label %24005

24005:                                            ; preds = %24004
  br label %24006

24006:                                            ; preds = %24005
  %24007 = load i32, ptr @test_count, align 4, !tbaa !5
  %24008 = add nsw i32 %24007, 1
  store i32 %24008, ptr @test_count, align 4, !tbaa !5
  %24009 = load ptr, ptr %499, align 8, !tbaa !9
  %24010 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %24009, ptr noundef @.str.13)
  %24011 = icmp eq i32 %24010, -1
  br i1 %24011, label %24012, label %24065

24012:                                            ; preds = %24006
  br label %24013

24013:                                            ; preds = %24012
  br label %24014

24014:                                            ; preds = %24013
  call void @llvm.lifetime.start.p0(i64 4, ptr %501) #11
  %24015 = call ptr @__errno_location() #12
  %24016 = load i32, ptr %24015, align 4, !tbaa !5
  store i32 %24016, ptr %501, align 4, !tbaa !5
  %24017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24018 = call i32 @s2n_print_stacktrace(ptr noundef %24017)
  %24019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24020 = trunc i8 %24019 to i1
  br i1 %24020, label %24021, label %24043

24021:                                            ; preds = %24014
  %24022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24023 = call i32 @fileno(ptr noundef %24022) #11
  %24024 = call i32 @isatty(i32 noundef %24023) #11
  %24025 = icmp ne i32 %24024, 0
  br i1 %24025, label %24026, label %24043

24026:                                            ; preds = %24021
  %24027 = load i32, ptr %501, align 4, !tbaa !5
  %24028 = call ptr @__errno_location() #12
  store i32 %24027, ptr %24028, align 4, !tbaa !5
  %24029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24030 = load i32, ptr @test_count, align 4, !tbaa !5
  %24031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24032 = load i32, ptr %24031, align 4, !tbaa !5
  %24033 = call ptr @s2n_strerror(i32 noundef %24032, ptr noundef @.str.4)
  %24034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24035 = load i32, ptr %24034, align 4, !tbaa !5
  %24036 = call ptr @s2n_strerror_debug(i32 noundef %24035, ptr noundef @.str.4)
  %24037 = call ptr @__errno_location() #12
  %24038 = load i32, ptr %24037, align 4, !tbaa !5
  %24039 = call ptr @strerror(i32 noundef %24038) #11
  %24040 = call ptr @__errno_location() #12
  %24041 = load i32, ptr %24040, align 4, !tbaa !5
  %24042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24029, ptr noundef @.str.2, i32 noundef %24030, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 898, ptr noundef %24033, ptr noundef %24036, ptr noundef %24039, i32 noundef %24041) #11
  br label %24060

24043:                                            ; preds = %24021, %24014
  %24044 = load i32, ptr %501, 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.4)
  %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.4)
  %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.5, i32 noundef %24047, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 898, ptr noundef %24050, ptr noundef %24053, ptr noundef %24056, i32 noundef %24058) #11
  br label %24060

24060:                                            ; preds = %24043, %24026
  call void @llvm.lifetime.end.p0(i64 4, ptr %501) #11
  br label %24061

24061:                                            ; preds = %24060
  br label %24062

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

24063:                                            ; No predecessors!
  br label %24064

24064:                                            ; preds = %24063
  br label %24065

24065:                                            ; preds = %24064, %24006
  br label %24066

24066:                                            ; preds = %24065
  br label %24067

24067:                                            ; preds = %24066
  br label %24068

24068:                                            ; preds = %24067
  %24069 = load i32, ptr @test_count, align 4, !tbaa !5
  %24070 = add nsw i32 %24069, 1
  store i32 %24070, ptr @test_count, align 4, !tbaa !5
  %24071 = load ptr, ptr %499, align 8, !tbaa !9
  %24072 = load ptr, ptr %497, align 8, !tbaa !9
  %24073 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %24071, ptr noundef %24072)
  %24074 = icmp eq i32 %24073, -1
  br i1 %24074, label %24075, label %24128

24075:                                            ; preds = %24068
  br label %24076

24076:                                            ; preds = %24075
  br label %24077

24077:                                            ; preds = %24076
  call void @llvm.lifetime.start.p0(i64 4, ptr %502) #11
  %24078 = call ptr @__errno_location() #12
  %24079 = load i32, ptr %24078, align 4, !tbaa !5
  store i32 %24079, ptr %502, align 4, !tbaa !5
  %24080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24081 = call i32 @s2n_print_stacktrace(ptr noundef %24080)
  %24082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24083 = trunc i8 %24082 to i1
  br i1 %24083, label %24084, label %24106

24084:                                            ; preds = %24077
  %24085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24086 = call i32 @fileno(ptr noundef %24085) #11
  %24087 = call i32 @isatty(i32 noundef %24086) #11
  %24088 = icmp ne i32 %24087, 0
  br i1 %24088, label %24089, label %24106

24089:                                            ; preds = %24084
  %24090 = load i32, ptr %502, align 4, !tbaa !5
  %24091 = call ptr @__errno_location() #12
  store i32 %24090, ptr %24091, align 4, !tbaa !5
  %24092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24093 = load i32, ptr @test_count, align 4, !tbaa !5
  %24094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24095 = load i32, ptr %24094, align 4, !tbaa !5
  %24096 = call ptr @s2n_strerror(i32 noundef %24095, ptr noundef @.str.4)
  %24097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24098 = load i32, ptr %24097, align 4, !tbaa !5
  %24099 = call ptr @s2n_strerror_debug(i32 noundef %24098, ptr noundef @.str.4)
  %24100 = call ptr @__errno_location() #12
  %24101 = load i32, ptr %24100, align 4, !tbaa !5
  %24102 = call ptr @strerror(i32 noundef %24101) #11
  %24103 = call ptr @__errno_location() #12
  %24104 = load i32, ptr %24103, align 4, !tbaa !5
  %24105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24092, ptr noundef @.str.2, i32 noundef %24093, ptr noundef @.str.181, ptr noundef @.str.1, i32 noundef 899, ptr noundef %24096, ptr noundef %24099, ptr noundef %24102, i32 noundef %24104) #11
  br label %24123

24106:                                            ; preds = %24084, %24077
  %24107 = load i32, ptr %502, align 4, !tbaa !5
  %24108 = call ptr @__errno_location() #12
  store i32 %24107, ptr %24108, align 4, !tbaa !5
  %24109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24110 = load i32, ptr @test_count, align 4, !tbaa !5
  %24111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24112 = load i32, ptr %24111, align 4, !tbaa !5
  %24113 = call ptr @s2n_strerror(i32 noundef %24112, ptr noundef @.str.4)
  %24114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24115 = load i32, ptr %24114, align 4, !tbaa !5
  %24116 = call ptr @s2n_strerror_debug(i32 noundef %24115, ptr noundef @.str.4)
  %24117 = call ptr @__errno_location() #12
  %24118 = load i32, ptr %24117, align 4, !tbaa !5
  %24119 = call ptr @strerror(i32 noundef %24118) #11
  %24120 = call ptr @__errno_location() #12
  %24121 = load i32, ptr %24120, align 4, !tbaa !5
  %24122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24109, ptr noundef @.str.5, i32 noundef %24110, ptr noundef @.str.181, ptr noundef @.str.1, i32 noundef 899, ptr noundef %24113, ptr noundef %24116, ptr noundef %24119, i32 noundef %24121) #11
  br label %24123

24123:                                            ; preds = %24106, %24089
  call void @llvm.lifetime.end.p0(i64 4, ptr %502) #11
  br label %24124

24124:                                            ; preds = %24123
  br label %24125

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

24126:                                            ; No predecessors!
  br label %24127

24127:                                            ; preds = %24126
  br label %24128

24128:                                            ; preds = %24127, %24068
  br label %24129

24129:                                            ; preds = %24128
  br label %24130

24130:                                            ; preds = %24129
  call void @llvm.lifetime.start.p0(i64 8, ptr %503) #11
  %24131 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %24131, ptr %503, align 8, !tbaa !9
  br label %24132

24132:                                            ; preds = %24130
  %24133 = load i32, ptr @test_count, align 4, !tbaa !5
  %24134 = add nsw i32 %24133, 1
  store i32 %24134, ptr @test_count, align 4, !tbaa !5
  %24135 = load ptr, ptr %503, align 8, !tbaa !9
  %24136 = icmp eq ptr %24135, null
  br i1 %24136, label %24137, label %24190

24137:                                            ; preds = %24132
  br label %24138

24138:                                            ; preds = %24137
  br label %24139

24139:                                            ; preds = %24138
  call void @llvm.lifetime.start.p0(i64 4, ptr %504) #11
  %24140 = call ptr @__errno_location() #12
  %24141 = load i32, ptr %24140, align 4, !tbaa !5
  store i32 %24141, ptr %504, align 4, !tbaa !5
  %24142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24143 = call i32 @s2n_print_stacktrace(ptr noundef %24142)
  %24144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24145 = trunc i8 %24144 to i1
  br i1 %24145, label %24146, label %24168

24146:                                            ; preds = %24139
  %24147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24148 = call i32 @fileno(ptr noundef %24147) #11
  %24149 = call i32 @isatty(i32 noundef %24148) #11
  %24150 = icmp ne i32 %24149, 0
  br i1 %24150, label %24151, label %24168

24151:                                            ; preds = %24146
  %24152 = load i32, ptr %504, align 4, !tbaa !5
  %24153 = call ptr @__errno_location() #12
  store i32 %24152, ptr %24153, align 4, !tbaa !5
  %24154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24155 = load i32, ptr @test_count, align 4, !tbaa !5
  %24156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24157 = load i32, ptr %24156, align 4, !tbaa !5
  %24158 = call ptr @s2n_strerror(i32 noundef %24157, ptr noundef @.str.4)
  %24159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24160 = load i32, ptr %24159, align 4, !tbaa !5
  %24161 = call ptr @s2n_strerror_debug(i32 noundef %24160, ptr noundef @.str.4)
  %24162 = call ptr @__errno_location() #12
  %24163 = load i32, ptr %24162, align 4, !tbaa !5
  %24164 = call ptr @strerror(i32 noundef %24163) #11
  %24165 = call ptr @__errno_location() #12
  %24166 = load i32, ptr %24165, align 4, !tbaa !5
  %24167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24154, ptr noundef @.str.2, i32 noundef %24155, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 903, ptr noundef %24158, ptr noundef %24161, ptr noundef %24164, i32 noundef %24166) #11
  br label %24185

24168:                                            ; preds = %24146, %24139
  %24169 = load i32, ptr %504, align 4, !tbaa !5
  %24170 = call ptr @__errno_location() #12
  store i32 %24169, ptr %24170, align 4, !tbaa !5
  %24171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24172 = load i32, ptr @test_count, align 4, !tbaa !5
  %24173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24174 = load i32, ptr %24173, align 4, !tbaa !5
  %24175 = call ptr @s2n_strerror(i32 noundef %24174, ptr noundef @.str.4)
  %24176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24177 = load i32, ptr %24176, align 4, !tbaa !5
  %24178 = call ptr @s2n_strerror_debug(i32 noundef %24177, ptr noundef @.str.4)
  %24179 = call ptr @__errno_location() #12
  %24180 = load i32, ptr %24179, align 4, !tbaa !5
  %24181 = call ptr @strerror(i32 noundef %24180) #11
  %24182 = call ptr @__errno_location() #12
  %24183 = load i32, ptr %24182, align 4, !tbaa !5
  %24184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24171, ptr noundef @.str.5, i32 noundef %24172, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 903, ptr noundef %24175, ptr noundef %24178, ptr noundef %24181, i32 noundef %24183) #11
  br label %24185

24185:                                            ; preds = %24168, %24151
  call void @llvm.lifetime.end.p0(i64 4, ptr %504) #11
  br label %24186

24186:                                            ; preds = %24185
  br label %24187

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

24188:                                            ; No predecessors!
  br label %24189

24189:                                            ; preds = %24188
  br label %24190

24190:                                            ; preds = %24189, %24132
  br label %24191

24191:                                            ; preds = %24190
  br label %24192

24192:                                            ; preds = %24191
  br label %24193

24193:                                            ; preds = %24192
  %24194 = load i32, ptr @test_count, align 4, !tbaa !5
  %24195 = add nsw i32 %24194, 1
  store i32 %24195, ptr @test_count, align 4, !tbaa !5
  %24196 = load ptr, ptr %503, align 8, !tbaa !9
  %24197 = load ptr, ptr %499, align 8, !tbaa !9
  %24198 = call i32 @s2n_connection_set_config(ptr noundef %24196, ptr noundef %24197)
  %24199 = icmp eq i32 %24198, -1
  br i1 %24199, label %24200, label %24253

24200:                                            ; preds = %24193
  br label %24201

24201:                                            ; preds = %24200
  br label %24202

24202:                                            ; preds = %24201
  call void @llvm.lifetime.start.p0(i64 4, ptr %505) #11
  %24203 = call ptr @__errno_location() #12
  %24204 = load i32, ptr %24203, align 4, !tbaa !5
  store i32 %24204, ptr %505, align 4, !tbaa !5
  %24205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24206 = call i32 @s2n_print_stacktrace(ptr noundef %24205)
  %24207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24208 = trunc i8 %24207 to i1
  br i1 %24208, label %24209, label %24231

24209:                                            ; preds = %24202
  %24210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24211 = call i32 @fileno(ptr noundef %24210) #11
  %24212 = call i32 @isatty(i32 noundef %24211) #11
  %24213 = icmp ne i32 %24212, 0
  br i1 %24213, label %24214, label %24231

24214:                                            ; preds = %24209
  %24215 = load i32, ptr %505, align 4, !tbaa !5
  %24216 = call ptr @__errno_location() #12
  store i32 %24215, ptr %24216, align 4, !tbaa !5
  %24217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24218 = load i32, ptr @test_count, align 4, !tbaa !5
  %24219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24220 = load i32, ptr %24219, align 4, !tbaa !5
  %24221 = call ptr @s2n_strerror(i32 noundef %24220, ptr noundef @.str.4)
  %24222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24223 = load i32, ptr %24222, align 4, !tbaa !5
  %24224 = call ptr @s2n_strerror_debug(i32 noundef %24223, ptr noundef @.str.4)
  %24225 = call ptr @__errno_location() #12
  %24226 = load i32, ptr %24225, align 4, !tbaa !5
  %24227 = call ptr @strerror(i32 noundef %24226) #11
  %24228 = call ptr @__errno_location() #12
  %24229 = load i32, ptr %24228, align 4, !tbaa !5
  %24230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24217, ptr noundef @.str.2, i32 noundef %24218, ptr noundef @.str.183, ptr noundef @.str.1, i32 noundef 904, ptr noundef %24221, ptr noundef %24224, ptr noundef %24227, i32 noundef %24229) #11
  br label %24248

24231:                                            ; preds = %24209, %24202
  %24232 = load i32, ptr %505, align 4, !tbaa !5
  %24233 = call ptr @__errno_location() #12
  store i32 %24232, ptr %24233, align 4, !tbaa !5
  %24234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24235 = load i32, ptr @test_count, align 4, !tbaa !5
  %24236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24237 = load i32, ptr %24236, align 4, !tbaa !5
  %24238 = call ptr @s2n_strerror(i32 noundef %24237, ptr noundef @.str.4)
  %24239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24240 = load i32, ptr %24239, align 4, !tbaa !5
  %24241 = call ptr @s2n_strerror_debug(i32 noundef %24240, ptr noundef @.str.4)
  %24242 = call ptr @__errno_location() #12
  %24243 = load i32, ptr %24242, align 4, !tbaa !5
  %24244 = call ptr @strerror(i32 noundef %24243) #11
  %24245 = call ptr @__errno_location() #12
  %24246 = load i32, ptr %24245, align 4, !tbaa !5
  %24247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24234, ptr noundef @.str.5, i32 noundef %24235, ptr noundef @.str.183, ptr noundef @.str.1, i32 noundef 904, ptr noundef %24238, ptr noundef %24241, ptr noundef %24244, i32 noundef %24246) #11
  br label %24248

24248:                                            ; preds = %24231, %24214
  call void @llvm.lifetime.end.p0(i64 4, ptr %505) #11
  br label %24249

24249:                                            ; preds = %24248
  br label %24250

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

24251:                                            ; No predecessors!
  br label %24252

24252:                                            ; preds = %24251
  br label %24253

24253:                                            ; preds = %24252, %24193
  br label %24254

24254:                                            ; preds = %24253
  br label %24255

24255:                                            ; preds = %24254
  call void @llvm.lifetime.start.p0(i64 8, ptr %506) #11
  %24256 = call ptr @s2n_config_new_minimal()
  store ptr %24256, ptr %506, align 8, !tbaa !9
  br label %24257

24257:                                            ; preds = %24255
  %24258 = load i32, ptr @test_count, align 4, !tbaa !5
  %24259 = add nsw i32 %24258, 1
  store i32 %24259, ptr @test_count, align 4, !tbaa !5
  %24260 = load ptr, ptr %506, align 8, !tbaa !9
  %24261 = icmp eq ptr %24260, null
  br i1 %24261, label %24262, label %24315

24262:                                            ; preds = %24257
  br label %24263

24263:                                            ; preds = %24262
  br label %24264

24264:                                            ; preds = %24263
  call void @llvm.lifetime.start.p0(i64 4, ptr %507) #11
  %24265 = call ptr @__errno_location() #12
  %24266 = load i32, ptr %24265, align 4, !tbaa !5
  store i32 %24266, ptr %507, align 4, !tbaa !5
  %24267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24268 = call i32 @s2n_print_stacktrace(ptr noundef %24267)
  %24269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24270 = trunc i8 %24269 to i1
  br i1 %24270, label %24271, label %24293

24271:                                            ; preds = %24264
  %24272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24273 = call i32 @fileno(ptr noundef %24272) #11
  %24274 = call i32 @isatty(i32 noundef %24273) #11
  %24275 = icmp ne i32 %24274, 0
  br i1 %24275, label %24276, label %24293

24276:                                            ; preds = %24271
  %24277 = load i32, ptr %507, align 4, !tbaa !5
  %24278 = call ptr @__errno_location() #12
  store i32 %24277, ptr %24278, align 4, !tbaa !5
  %24279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24280 = load i32, ptr @test_count, align 4, !tbaa !5
  %24281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24282 = load i32, ptr %24281, align 4, !tbaa !5
  %24283 = call ptr @s2n_strerror(i32 noundef %24282, ptr noundef @.str.4)
  %24284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24285 = load i32, ptr %24284, align 4, !tbaa !5
  %24286 = call ptr @s2n_strerror_debug(i32 noundef %24285, ptr noundef @.str.4)
  %24287 = call ptr @__errno_location() #12
  %24288 = load i32, ptr %24287, align 4, !tbaa !5
  %24289 = call ptr @strerror(i32 noundef %24288) #11
  %24290 = call ptr @__errno_location() #12
  %24291 = load i32, ptr %24290, align 4, !tbaa !5
  %24292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24279, ptr noundef @.str.2, i32 noundef %24280, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 907, ptr noundef %24283, ptr noundef %24286, ptr noundef %24289, i32 noundef %24291) #11
  br label %24310

24293:                                            ; preds = %24271, %24264
  %24294 = load i32, ptr %507, align 4, !tbaa !5
  %24295 = call ptr @__errno_location() #12
  store i32 %24294, ptr %24295, align 4, !tbaa !5
  %24296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24297 = load i32, ptr @test_count, align 4, !tbaa !5
  %24298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24299 = load i32, ptr %24298, align 4, !tbaa !5
  %24300 = call ptr @s2n_strerror(i32 noundef %24299, ptr noundef @.str.4)
  %24301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24302 = load i32, ptr %24301, align 4, !tbaa !5
  %24303 = call ptr @s2n_strerror_debug(i32 noundef %24302, ptr noundef @.str.4)
  %24304 = call ptr @__errno_location() #12
  %24305 = load i32, ptr %24304, align 4, !tbaa !5
  %24306 = call ptr @strerror(i32 noundef %24305) #11
  %24307 = call ptr @__errno_location() #12
  %24308 = load i32, ptr %24307, align 4, !tbaa !5
  %24309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24296, ptr noundef @.str.5, i32 noundef %24297, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 907, ptr noundef %24300, ptr noundef %24303, ptr noundef %24306, i32 noundef %24308) #11
  br label %24310

24310:                                            ; preds = %24293, %24276
  call void @llvm.lifetime.end.p0(i64 4, ptr %507) #11
  br label %24311

24311:                                            ; preds = %24310
  br label %24312

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

24313:                                            ; No predecessors!
  br label %24314

24314:                                            ; preds = %24313
  br label %24315

24315:                                            ; preds = %24314, %24257
  br label %24316

24316:                                            ; preds = %24315
  br label %24317

24317:                                            ; preds = %24316
  br label %24318

24318:                                            ; preds = %24317
  %24319 = load i32, ptr @test_count, align 4, !tbaa !5
  %24320 = add nsw i32 %24319, 1
  store i32 %24320, ptr @test_count, align 4, !tbaa !5
  %24321 = load ptr, ptr %506, align 8, !tbaa !9
  %24322 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %24321, ptr noundef @.str.13)
  %24323 = icmp eq i32 %24322, -1
  br i1 %24323, label %24324, label %24377

24324:                                            ; preds = %24318
  br label %24325

24325:                                            ; preds = %24324
  br label %24326

24326:                                            ; preds = %24325
  call void @llvm.lifetime.start.p0(i64 4, ptr %508) #11
  %24327 = call ptr @__errno_location() #12
  %24328 = load i32, ptr %24327, align 4, !tbaa !5
  store i32 %24328, ptr %508, align 4, !tbaa !5
  %24329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24330 = call i32 @s2n_print_stacktrace(ptr noundef %24329)
  %24331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24332 = trunc i8 %24331 to i1
  br i1 %24332, label %24333, label %24355

24333:                                            ; preds = %24326
  %24334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24335 = call i32 @fileno(ptr noundef %24334) #11
  %24336 = call i32 @isatty(i32 noundef %24335) #11
  %24337 = icmp ne i32 %24336, 0
  br i1 %24337, label %24338, label %24355

24338:                                            ; preds = %24333
  %24339 = load i32, ptr %508, align 4, !tbaa !5
  %24340 = call ptr @__errno_location() #12
  store i32 %24339, ptr %24340, align 4, !tbaa !5
  %24341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24342 = load i32, ptr @test_count, align 4, !tbaa !5
  %24343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24344 = load i32, ptr %24343, align 4, !tbaa !5
  %24345 = call ptr @s2n_strerror(i32 noundef %24344, ptr noundef @.str.4)
  %24346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24347 = load i32, ptr %24346, align 4, !tbaa !5
  %24348 = call ptr @s2n_strerror_debug(i32 noundef %24347, ptr noundef @.str.4)
  %24349 = call ptr @__errno_location() #12
  %24350 = load i32, ptr %24349, align 4, !tbaa !5
  %24351 = call ptr @strerror(i32 noundef %24350) #11
  %24352 = call ptr @__errno_location() #12
  %24353 = load i32, ptr %24352, align 4, !tbaa !5
  %24354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24341, ptr noundef @.str.2, i32 noundef %24342, ptr noundef @.str.185, ptr noundef @.str.1, i32 noundef 908, ptr noundef %24345, ptr noundef %24348, ptr noundef %24351, i32 noundef %24353) #11
  br label %24372

24355:                                            ; preds = %24333, %24326
  %24356 = load i32, ptr %508, align 4, !tbaa !5
  %24357 = call ptr @__errno_location() #12
  store i32 %24356, ptr %24357, align 4, !tbaa !5
  %24358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24359 = load i32, ptr @test_count, align 4, !tbaa !5
  %24360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24361 = load i32, ptr %24360, align 4, !tbaa !5
  %24362 = call ptr @s2n_strerror(i32 noundef %24361, ptr noundef @.str.4)
  %24363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24364 = load i32, ptr %24363, align 4, !tbaa !5
  %24365 = call ptr @s2n_strerror_debug(i32 noundef %24364, ptr noundef @.str.4)
  %24366 = call ptr @__errno_location() #12
  %24367 = load i32, ptr %24366, align 4, !tbaa !5
  %24368 = call ptr @strerror(i32 noundef %24367) #11
  %24369 = call ptr @__errno_location() #12
  %24370 = load i32, ptr %24369, align 4, !tbaa !5
  %24371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24358, ptr noundef @.str.5, i32 noundef %24359, ptr noundef @.str.185, ptr noundef @.str.1, i32 noundef 908, ptr noundef %24362, ptr noundef %24365, ptr noundef %24368, i32 noundef %24370) #11
  br label %24372

24372:                                            ; preds = %24355, %24338
  call void @llvm.lifetime.end.p0(i64 4, ptr %508) #11
  br label %24373

24373:                                            ; preds = %24372
  br label %24374

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

24375:                                            ; No predecessors!
  br label %24376

24376:                                            ; preds = %24375
  br label %24377

24377:                                            ; preds = %24376, %24318
  br label %24378

24378:                                            ; preds = %24377
  br label %24379

24379:                                            ; preds = %24378
  br label %24380

24380:                                            ; preds = %24379
  %24381 = load i32, ptr @test_count, align 4, !tbaa !5
  %24382 = add nsw i32 %24381, 1
  store i32 %24382, ptr @test_count, align 4, !tbaa !5
  %24383 = load ptr, ptr %506, align 8, !tbaa !9
  %24384 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %24383, ptr noundef @.str.15, ptr noundef null)
  %24385 = icmp eq i32 %24384, -1
  br i1 %24385, label %24386, label %24439

24386:                                            ; preds = %24380
  br label %24387

24387:                                            ; preds = %24386
  br label %24388

24388:                                            ; preds = %24387
  call void @llvm.lifetime.start.p0(i64 4, ptr %509) #11
  %24389 = call ptr @__errno_location() #12
  %24390 = load i32, ptr %24389, align 4, !tbaa !5
  store i32 %24390, ptr %509, align 4, !tbaa !5
  %24391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24392 = call i32 @s2n_print_stacktrace(ptr noundef %24391)
  %24393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24394 = trunc i8 %24393 to i1
  br i1 %24394, label %24395, label %24417

24395:                                            ; preds = %24388
  %24396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24397 = call i32 @fileno(ptr noundef %24396) #11
  %24398 = call i32 @isatty(i32 noundef %24397) #11
  %24399 = icmp ne i32 %24398, 0
  br i1 %24399, label %24400, label %24417

24400:                                            ; preds = %24395
  %24401 = load i32, ptr %509, align 4, !tbaa !5
  %24402 = call ptr @__errno_location() #12
  store i32 %24401, ptr %24402, align 4, !tbaa !5
  %24403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24404 = load i32, ptr @test_count, align 4, !tbaa !5
  %24405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24406 = load i32, ptr %24405, align 4, !tbaa !5
  %24407 = call ptr @s2n_strerror(i32 noundef %24406, ptr noundef @.str.4)
  %24408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24409 = load i32, ptr %24408, align 4, !tbaa !5
  %24410 = call ptr @s2n_strerror_debug(i32 noundef %24409, ptr noundef @.str.4)
  %24411 = call ptr @__errno_location() #12
  %24412 = load i32, ptr %24411, align 4, !tbaa !5
  %24413 = call ptr @strerror(i32 noundef %24412) #11
  %24414 = call ptr @__errno_location() #12
  %24415 = load i32, ptr %24414, align 4, !tbaa !5
  %24416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24403, ptr noundef @.str.2, i32 noundef %24404, ptr noundef @.str.186, ptr noundef @.str.1, i32 noundef 909, ptr noundef %24407, ptr noundef %24410, ptr noundef %24413, i32 noundef %24415) #11
  br label %24434

24417:                                            ; preds = %24395, %24388
  %24418 = load i32, ptr %509, align 4, !tbaa !5
  %24419 = call ptr @__errno_location() #12
  store i32 %24418, ptr %24419, align 4, !tbaa !5
  %24420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24421 = load i32, ptr @test_count, align 4, !tbaa !5
  %24422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24423 = load i32, ptr %24422, align 4, !tbaa !5
  %24424 = call ptr @s2n_strerror(i32 noundef %24423, ptr noundef @.str.4)
  %24425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24426 = load i32, ptr %24425, align 4, !tbaa !5
  %24427 = call ptr @s2n_strerror_debug(i32 noundef %24426, ptr noundef @.str.4)
  %24428 = call ptr @__errno_location() #12
  %24429 = load i32, ptr %24428, align 4, !tbaa !5
  %24430 = call ptr @strerror(i32 noundef %24429) #11
  %24431 = call ptr @__errno_location() #12
  %24432 = load i32, ptr %24431, align 4, !tbaa !5
  %24433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24420, ptr noundef @.str.5, i32 noundef %24421, ptr noundef @.str.186, ptr noundef @.str.1, i32 noundef 909, ptr noundef %24424, ptr noundef %24427, ptr noundef %24430, i32 noundef %24432) #11
  br label %24434

24434:                                            ; preds = %24417, %24400
  call void @llvm.lifetime.end.p0(i64 4, ptr %509) #11
  br label %24435

24435:                                            ; preds = %24434
  br label %24436

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

24437:                                            ; No predecessors!
  br label %24438

24438:                                            ; preds = %24437
  br label %24439

24439:                                            ; preds = %24438, %24380
  br label %24440

24440:                                            ; preds = %24439
  br label %24441

24441:                                            ; preds = %24440
  call void @llvm.lifetime.start.p0(i64 8, ptr %510) #11
  %24442 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %24442, ptr %510, align 8, !tbaa !9
  br label %24443

24443:                                            ; preds = %24441
  %24444 = load i32, ptr @test_count, align 4, !tbaa !5
  %24445 = add nsw i32 %24444, 1
  store i32 %24445, ptr @test_count, align 4, !tbaa !5
  %24446 = load ptr, ptr %510, align 8, !tbaa !9
  %24447 = icmp eq ptr %24446, null
  br i1 %24447, label %24448, label %24501

24448:                                            ; preds = %24443
  br label %24449

24449:                                            ; preds = %24448
  br label %24450

24450:                                            ; preds = %24449
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #11
  %24451 = call ptr @__errno_location() #12
  %24452 = load i32, ptr %24451, align 4, !tbaa !5
  store i32 %24452, ptr %511, align 4, !tbaa !5
  %24453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24454 = call i32 @s2n_print_stacktrace(ptr noundef %24453)
  %24455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24456 = trunc i8 %24455 to i1
  br i1 %24456, label %24457, label %24479

24457:                                            ; preds = %24450
  %24458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24459 = call i32 @fileno(ptr noundef %24458) #11
  %24460 = call i32 @isatty(i32 noundef %24459) #11
  %24461 = icmp ne i32 %24460, 0
  br i1 %24461, label %24462, label %24479

24462:                                            ; preds = %24457
  %24463 = load i32, ptr %511, align 4, !tbaa !5
  %24464 = call ptr @__errno_location() #12
  store i32 %24463, ptr %24464, align 4, !tbaa !5
  %24465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24466 = load i32, ptr @test_count, align 4, !tbaa !5
  %24467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24468 = load i32, ptr %24467, align 4, !tbaa !5
  %24469 = call ptr @s2n_strerror(i32 noundef %24468, ptr noundef @.str.4)
  %24470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24471 = load i32, ptr %24470, align 4, !tbaa !5
  %24472 = call ptr @s2n_strerror_debug(i32 noundef %24471, ptr noundef @.str.4)
  %24473 = call ptr @__errno_location() #12
  %24474 = load i32, ptr %24473, align 4, !tbaa !5
  %24475 = call ptr @strerror(i32 noundef %24474) #11
  %24476 = call ptr @__errno_location() #12
  %24477 = load i32, ptr %24476, align 4, !tbaa !5
  %24478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24465, ptr noundef @.str.2, i32 noundef %24466, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 913, ptr noundef %24469, ptr noundef %24472, ptr noundef %24475, i32 noundef %24477) #11
  br label %24496

24479:                                            ; preds = %24457, %24450
  %24480 = load i32, ptr %511, align 4, !tbaa !5
  %24481 = call ptr @__errno_location() #12
  store i32 %24480, ptr %24481, align 4, !tbaa !5
  %24482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24483 = load i32, ptr @test_count, align 4, !tbaa !5
  %24484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24485 = load i32, ptr %24484, align 4, !tbaa !5
  %24486 = call ptr @s2n_strerror(i32 noundef %24485, ptr noundef @.str.4)
  %24487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24488 = load i32, ptr %24487, align 4, !tbaa !5
  %24489 = call ptr @s2n_strerror_debug(i32 noundef %24488, ptr noundef @.str.4)
  %24490 = call ptr @__errno_location() #12
  %24491 = load i32, ptr %24490, align 4, !tbaa !5
  %24492 = call ptr @strerror(i32 noundef %24491) #11
  %24493 = call ptr @__errno_location() #12
  %24494 = load i32, ptr %24493, align 4, !tbaa !5
  %24495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24482, ptr noundef @.str.5, i32 noundef %24483, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 913, ptr noundef %24486, ptr noundef %24489, ptr noundef %24492, i32 noundef %24494) #11
  br label %24496

24496:                                            ; preds = %24479, %24462
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #11
  br label %24497

24497:                                            ; preds = %24496
  br label %24498

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

24499:                                            ; No predecessors!
  br label %24500

24500:                                            ; preds = %24499
  br label %24501

24501:                                            ; preds = %24500, %24443
  br label %24502

24502:                                            ; preds = %24501
  br label %24503

24503:                                            ; preds = %24502
  br label %24504

24504:                                            ; preds = %24503
  %24505 = load i32, ptr @test_count, align 4, !tbaa !5
  %24506 = add nsw i32 %24505, 1
  store i32 %24506, ptr @test_count, align 4, !tbaa !5
  %24507 = load ptr, ptr %510, align 8, !tbaa !9
  %24508 = load ptr, ptr %506, align 8, !tbaa !9
  %24509 = call i32 @s2n_connection_set_config(ptr noundef %24507, ptr noundef %24508)
  %24510 = icmp eq i32 %24509, -1
  br i1 %24510, label %24511, label %24564

24511:                                            ; preds = %24504
  br label %24512

24512:                                            ; preds = %24511
  br label %24513

24513:                                            ; preds = %24512
  call void @llvm.lifetime.start.p0(i64 4, ptr %512) #11
  %24514 = call ptr @__errno_location() #12
  %24515 = load i32, ptr %24514, align 4, !tbaa !5
  store i32 %24515, ptr %512, align 4, !tbaa !5
  %24516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24517 = call i32 @s2n_print_stacktrace(ptr noundef %24516)
  %24518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24519 = trunc i8 %24518 to i1
  br i1 %24519, label %24520, label %24542

24520:                                            ; preds = %24513
  %24521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24522 = call i32 @fileno(ptr noundef %24521) #11
  %24523 = call i32 @isatty(i32 noundef %24522) #11
  %24524 = icmp ne i32 %24523, 0
  br i1 %24524, label %24525, label %24542

24525:                                            ; preds = %24520
  %24526 = load i32, ptr %512, align 4, !tbaa !5
  %24527 = call ptr @__errno_location() #12
  store i32 %24526, ptr %24527, align 4, !tbaa !5
  %24528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24529 = load i32, ptr @test_count, align 4, !tbaa !5
  %24530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24531 = load i32, ptr %24530, align 4, !tbaa !5
  %24532 = call ptr @s2n_strerror(i32 noundef %24531, ptr noundef @.str.4)
  %24533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24534 = load i32, ptr %24533, align 4, !tbaa !5
  %24535 = call ptr @s2n_strerror_debug(i32 noundef %24534, ptr noundef @.str.4)
  %24536 = call ptr @__errno_location() #12
  %24537 = load i32, ptr %24536, align 4, !tbaa !5
  %24538 = call ptr @strerror(i32 noundef %24537) #11
  %24539 = call ptr @__errno_location() #12
  %24540 = load i32, ptr %24539, align 4, !tbaa !5
  %24541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24528, ptr noundef @.str.2, i32 noundef %24529, ptr noundef @.str.188, ptr noundef @.str.1, i32 noundef 914, ptr noundef %24532, ptr noundef %24535, ptr noundef %24538, i32 noundef %24540) #11
  br label %24559

24542:                                            ; preds = %24520, %24513
  %24543 = load i32, ptr %512, align 4, !tbaa !5
  %24544 = call ptr @__errno_location() #12
  store i32 %24543, ptr %24544, align 4, !tbaa !5
  %24545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24546 = load i32, ptr @test_count, align 4, !tbaa !5
  %24547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24548 = load i32, ptr %24547, align 4, !tbaa !5
  %24549 = call ptr @s2n_strerror(i32 noundef %24548, ptr noundef @.str.4)
  %24550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24551 = load i32, ptr %24550, align 4, !tbaa !5
  %24552 = call ptr @s2n_strerror_debug(i32 noundef %24551, ptr noundef @.str.4)
  %24553 = call ptr @__errno_location() #12
  %24554 = load i32, ptr %24553, align 4, !tbaa !5
  %24555 = call ptr @strerror(i32 noundef %24554) #11
  %24556 = call ptr @__errno_location() #12
  %24557 = load i32, ptr %24556, align 4, !tbaa !5
  %24558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24545, ptr noundef @.str.5, i32 noundef %24546, ptr noundef @.str.188, ptr noundef @.str.1, i32 noundef 914, ptr noundef %24549, ptr noundef %24552, ptr noundef %24555, i32 noundef %24557) #11
  br label %24559

24559:                                            ; preds = %24542, %24525
  call void @llvm.lifetime.end.p0(i64 4, ptr %512) #11
  br label %24560

24560:                                            ; preds = %24559
  br label %24561

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

24562:                                            ; No predecessors!
  br label %24563

24563:                                            ; preds = %24562
  br label %24564

24564:                                            ; preds = %24563, %24504
  br label %24565

24565:                                            ; preds = %24564
  br label %24566

24566:                                            ; preds = %24565
  br label %24567

24567:                                            ; preds = %24566
  %24568 = load i32, ptr @test_count, align 4, !tbaa !5
  %24569 = add nsw i32 %24568, 1
  store i32 %24569, ptr @test_count, align 4, !tbaa !5
  %24570 = load ptr, ptr %510, align 8, !tbaa !9
  %24571 = call i32 @s2n_set_server_name(ptr noundef %24570, ptr noundef @.str.189)
  %24572 = icmp eq i32 %24571, -1
  br i1 %24572, label %24573, label %24626

24573:                                            ; preds = %24567
  br label %24574

24574:                                            ; preds = %24573
  br label %24575

24575:                                            ; preds = %24574
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #11
  %24576 = call ptr @__errno_location() #12
  %24577 = load i32, ptr %24576, align 4, !tbaa !5
  store i32 %24577, ptr %513, align 4, !tbaa !5
  %24578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24579 = call i32 @s2n_print_stacktrace(ptr noundef %24578)
  %24580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24581 = trunc i8 %24580 to i1
  br i1 %24581, label %24582, label %24604

24582:                                            ; preds = %24575
  %24583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24584 = call i32 @fileno(ptr noundef %24583) #11
  %24585 = call i32 @isatty(i32 noundef %24584) #11
  %24586 = icmp ne i32 %24585, 0
  br i1 %24586, label %24587, label %24604

24587:                                            ; preds = %24582
  %24588 = load i32, ptr %513, align 4, !tbaa !5
  %24589 = call ptr @__errno_location() #12
  store i32 %24588, ptr %24589, align 4, !tbaa !5
  %24590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24591 = load i32, ptr @test_count, align 4, !tbaa !5
  %24592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24593 = load i32, ptr %24592, align 4, !tbaa !5
  %24594 = call ptr @s2n_strerror(i32 noundef %24593, ptr noundef @.str.4)
  %24595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24596 = load i32, ptr %24595, align 4, !tbaa !5
  %24597 = call ptr @s2n_strerror_debug(i32 noundef %24596, ptr noundef @.str.4)
  %24598 = call ptr @__errno_location() #12
  %24599 = load i32, ptr %24598, align 4, !tbaa !5
  %24600 = call ptr @strerror(i32 noundef %24599) #11
  %24601 = call ptr @__errno_location() #12
  %24602 = load i32, ptr %24601, align 4, !tbaa !5
  %24603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24590, ptr noundef @.str.2, i32 noundef %24591, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 915, ptr noundef %24594, ptr noundef %24597, ptr noundef %24600, i32 noundef %24602) #11
  br label %24621

24604:                                            ; preds = %24582, %24575
  %24605 = load i32, ptr %513, align 4, !tbaa !5
  %24606 = call ptr @__errno_location() #12
  store i32 %24605, ptr %24606, align 4, !tbaa !5
  %24607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24608 = load i32, ptr @test_count, align 4, !tbaa !5
  %24609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24610 = load i32, ptr %24609, align 4, !tbaa !5
  %24611 = call ptr @s2n_strerror(i32 noundef %24610, ptr noundef @.str.4)
  %24612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24613 = load i32, ptr %24612, align 4, !tbaa !5
  %24614 = call ptr @s2n_strerror_debug(i32 noundef %24613, ptr noundef @.str.4)
  %24615 = call ptr @__errno_location() #12
  %24616 = load i32, ptr %24615, align 4, !tbaa !5
  %24617 = call ptr @strerror(i32 noundef %24616) #11
  %24618 = call ptr @__errno_location() #12
  %24619 = load i32, ptr %24618, align 4, !tbaa !5
  %24620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24607, ptr noundef @.str.5, i32 noundef %24608, ptr noundef @.str.190, ptr noundef @.str.1, i32 noundef 915, ptr noundef %24611, ptr noundef %24614, ptr noundef %24617, i32 noundef %24619) #11
  br label %24621

24621:                                            ; preds = %24604, %24587
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #11
  br label %24622

24622:                                            ; preds = %24621
  br label %24623

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

24624:                                            ; No predecessors!
  br label %24625

24625:                                            ; preds = %24624
  br label %24626

24626:                                            ; preds = %24625, %24567
  br label %24627

24627:                                            ; preds = %24626
  br label %24628

24628:                                            ; preds = %24627
  call void @llvm.lifetime.start.p0(i64 8, ptr %514) #11
  call void @llvm.memset.p0.i64(ptr align 4 %514, i8 0, i64 8, i1 false)
  br label %24629

24629:                                            ; preds = %24628
  %24630 = load i32, ptr @test_count, align 4, !tbaa !5
  %24631 = add nsw i32 %24630, 1
  store i32 %24631, ptr @test_count, align 4, !tbaa !5
  %24632 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %514)
  %24633 = icmp eq i32 %24632, -1
  br i1 %24633, label %24634, label %24687

24634:                                            ; preds = %24629
  br label %24635

24635:                                            ; preds = %24634
  br label %24636

24636:                                            ; preds = %24635
  call void @llvm.lifetime.start.p0(i64 4, ptr %515) #11
  %24637 = call ptr @__errno_location() #12
  %24638 = load i32, ptr %24637, align 4, !tbaa !5
  store i32 %24638, ptr %515, align 4, !tbaa !5
  %24639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24640 = call i32 @s2n_print_stacktrace(ptr noundef %24639)
  %24641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24642 = trunc i8 %24641 to i1
  br i1 %24642, label %24643, label %24665

24643:                                            ; preds = %24636
  %24644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24645 = call i32 @fileno(ptr noundef %24644) #11
  %24646 = call i32 @isatty(i32 noundef %24645) #11
  %24647 = icmp ne i32 %24646, 0
  br i1 %24647, label %24648, label %24665

24648:                                            ; preds = %24643
  %24649 = load i32, ptr %515, align 4, !tbaa !5
  %24650 = call ptr @__errno_location() #12
  store i32 %24649, ptr %24650, align 4, !tbaa !5
  %24651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24652 = load i32, ptr @test_count, align 4, !tbaa !5
  %24653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24654 = load i32, ptr %24653, align 4, !tbaa !5
  %24655 = call ptr @s2n_strerror(i32 noundef %24654, ptr noundef @.str.4)
  %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_debug(i32 noundef %24657, ptr noundef @.str.4)
  %24659 = call ptr @__errno_location() #12
  %24660 = load i32, ptr %24659, align 4, !tbaa !5
  %24661 = call ptr @strerror(i32 noundef %24660) #11
  %24662 = call ptr @__errno_location() #12
  %24663 = load i32, ptr %24662, align 4, !tbaa !5
  %24664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24651, ptr noundef @.str.2, i32 noundef %24652, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 918, ptr noundef %24655, ptr noundef %24658, ptr noundef %24661, i32 noundef %24663) #11
  br label %24682

24665:                                            ; preds = %24643, %24636
  %24666 = load i32, ptr %515, align 4, !tbaa !5
  %24667 = call ptr @__errno_location() #12
  store i32 %24666, ptr %24667, align 4, !tbaa !5
  %24668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24669 = load i32, ptr @test_count, align 4, !tbaa !5
  %24670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24671 = load i32, ptr %24670, align 4, !tbaa !5
  %24672 = call ptr @s2n_strerror(i32 noundef %24671, ptr noundef @.str.4)
  %24673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24674 = load i32, ptr %24673, align 4, !tbaa !5
  %24675 = call ptr @s2n_strerror_debug(i32 noundef %24674, ptr noundef @.str.4)
  %24676 = call ptr @__errno_location() #12
  %24677 = load i32, ptr %24676, align 4, !tbaa !5
  %24678 = call ptr @strerror(i32 noundef %24677) #11
  %24679 = call ptr @__errno_location() #12
  %24680 = load i32, ptr %24679, align 4, !tbaa !5
  %24681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24668, ptr noundef @.str.5, i32 noundef %24669, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 918, ptr noundef %24672, ptr noundef %24675, ptr noundef %24678, i32 noundef %24680) #11
  br label %24682

24682:                                            ; preds = %24665, %24648
  call void @llvm.lifetime.end.p0(i64 4, ptr %515) #11
  br label %24683

24683:                                            ; preds = %24682
  br label %24684

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

24685:                                            ; No predecessors!
  br label %24686

24686:                                            ; preds = %24685
  br label %24687

24687:                                            ; preds = %24686, %24629
  br label %24688

24688:                                            ; preds = %24687
  br label %24689

24689:                                            ; preds = %24688
  br label %24690

24690:                                            ; preds = %24689
  %24691 = load i32, ptr @test_count, align 4, !tbaa !5
  %24692 = add nsw i32 %24691, 1
  store i32 %24692, ptr @test_count, align 4, !tbaa !5
  %24693 = load ptr, ptr %510, align 8, !tbaa !9
  %24694 = load ptr, ptr %503, align 8, !tbaa !9
  %24695 = call i32 @s2n_connections_set_io_pair(ptr noundef %24693, ptr noundef %24694, ptr noundef %514)
  %24696 = icmp eq i32 %24695, -1
  br i1 %24696, label %24697, label %24750

24697:                                            ; preds = %24690
  br label %24698

24698:                                            ; preds = %24697
  br label %24699

24699:                                            ; preds = %24698
  call void @llvm.lifetime.start.p0(i64 4, ptr %516) #11
  %24700 = call ptr @__errno_location() #12
  %24701 = load i32, ptr %24700, align 4, !tbaa !5
  store i32 %24701, ptr %516, align 4, !tbaa !5
  %24702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24703 = call i32 @s2n_print_stacktrace(ptr noundef %24702)
  %24704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24705 = trunc i8 %24704 to i1
  br i1 %24705, label %24706, label %24728

24706:                                            ; preds = %24699
  %24707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24708 = call i32 @fileno(ptr noundef %24707) #11
  %24709 = call i32 @isatty(i32 noundef %24708) #11
  %24710 = icmp ne i32 %24709, 0
  br i1 %24710, label %24711, label %24728

24711:                                            ; preds = %24706
  %24712 = load i32, ptr %516, align 4, !tbaa !5
  %24713 = call ptr @__errno_location() #12
  store i32 %24712, ptr %24713, align 4, !tbaa !5
  %24714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24715 = load i32, ptr @test_count, align 4, !tbaa !5
  %24716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24717 = load i32, ptr %24716, align 4, !tbaa !5
  %24718 = call ptr @s2n_strerror(i32 noundef %24717, ptr noundef @.str.4)
  %24719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24720 = load i32, ptr %24719, align 4, !tbaa !5
  %24721 = call ptr @s2n_strerror_debug(i32 noundef %24720, ptr noundef @.str.4)
  %24722 = call ptr @__errno_location() #12
  %24723 = load i32, ptr %24722, align 4, !tbaa !5
  %24724 = call ptr @strerror(i32 noundef %24723) #11
  %24725 = call ptr @__errno_location() #12
  %24726 = load i32, ptr %24725, align 4, !tbaa !5
  %24727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24714, ptr noundef @.str.2, i32 noundef %24715, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 919, ptr noundef %24718, ptr noundef %24721, ptr noundef %24724, i32 noundef %24726) #11
  br label %24745

24728:                                            ; preds = %24706, %24699
  %24729 = load i32, ptr %516, align 4, !tbaa !5
  %24730 = call ptr @__errno_location() #12
  store i32 %24729, ptr %24730, align 4, !tbaa !5
  %24731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24732 = load i32, ptr @test_count, align 4, !tbaa !5
  %24733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24734 = load i32, ptr %24733, align 4, !tbaa !5
  %24735 = call ptr @s2n_strerror(i32 noundef %24734, ptr noundef @.str.4)
  %24736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24737 = load i32, ptr %24736, align 4, !tbaa !5
  %24738 = call ptr @s2n_strerror_debug(i32 noundef %24737, ptr noundef @.str.4)
  %24739 = call ptr @__errno_location() #12
  %24740 = load i32, ptr %24739, align 4, !tbaa !5
  %24741 = call ptr @strerror(i32 noundef %24740) #11
  %24742 = call ptr @__errno_location() #12
  %24743 = load i32, ptr %24742, align 4, !tbaa !5
  %24744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24731, ptr noundef @.str.5, i32 noundef %24732, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 919, ptr noundef %24735, ptr noundef %24738, ptr noundef %24741, i32 noundef %24743) #11
  br label %24745

24745:                                            ; preds = %24728, %24711
  call void @llvm.lifetime.end.p0(i64 4, ptr %516) #11
  br label %24746

24746:                                            ; preds = %24745
  br label %24747

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

24748:                                            ; No predecessors!
  br label %24749

24749:                                            ; preds = %24748
  br label %24750

24750:                                            ; preds = %24749, %24690
  br label %24751

24751:                                            ; preds = %24750
  br label %24752

24752:                                            ; preds = %24751
  br label %24753

24753:                                            ; preds = %24752
  %24754 = load i32, ptr @test_count, align 4, !tbaa !5
  %24755 = add nsw i32 %24754, 1
  store i32 %24755, ptr @test_count, align 4, !tbaa !5
  %24756 = load ptr, ptr %499, align 8, !tbaa !9
  %24757 = getelementptr inbounds %struct.s2n_config, ptr %24756, i32 0, i32 37
  %24758 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %24757, i32 0, i32 1
  %24759 = load i8, ptr %24758, align 8
  %24760 = and i8 %24759, 1
  %24761 = zext i8 %24760 to i32
  %24762 = icmp ne i32 %24761, 0
  br i1 %24762, label %24763, label %24816

24763:                                            ; preds = %24753
  br label %24764

24764:                                            ; preds = %24763
  br label %24765

24765:                                            ; preds = %24764
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #11
  %24766 = call ptr @__errno_location() #12
  %24767 = load i32, ptr %24766, align 4, !tbaa !5
  store i32 %24767, ptr %517, align 4, !tbaa !5
  %24768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24769 = call i32 @s2n_print_stacktrace(ptr noundef %24768)
  %24770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24771 = trunc i8 %24770 to i1
  br i1 %24771, label %24772, label %24794

24772:                                            ; preds = %24765
  %24773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24774 = call i32 @fileno(ptr noundef %24773) #11
  %24775 = call i32 @isatty(i32 noundef %24774) #11
  %24776 = icmp ne i32 %24775, 0
  br i1 %24776, label %24777, label %24794

24777:                                            ; preds = %24772
  %24778 = load i32, ptr %517, align 4, !tbaa !5
  %24779 = call ptr @__errno_location() #12
  store i32 %24778, ptr %24779, align 4, !tbaa !5
  %24780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24781 = load i32, ptr @test_count, align 4, !tbaa !5
  %24782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24783 = load i32, ptr %24782, align 4, !tbaa !5
  %24784 = call ptr @s2n_strerror(i32 noundef %24783, ptr noundef @.str.4)
  %24785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24786 = load i32, ptr %24785, align 4, !tbaa !5
  %24787 = call ptr @s2n_strerror_debug(i32 noundef %24786, ptr noundef @.str.4)
  %24788 = call ptr @__errno_location() #12
  %24789 = load i32, ptr %24788, align 4, !tbaa !5
  %24790 = call ptr @strerror(i32 noundef %24789) #11
  %24791 = call ptr @__errno_location() #12
  %24792 = load i32, ptr %24791, align 4, !tbaa !5
  %24793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24780, ptr noundef @.str.2, i32 noundef %24781, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 921, ptr noundef %24784, ptr noundef %24787, ptr noundef %24790, i32 noundef %24792) #11
  br label %24811

24794:                                            ; preds = %24772, %24765
  %24795 = load i32, ptr %517, align 4, !tbaa !5
  %24796 = call ptr @__errno_location() #12
  store i32 %24795, ptr %24796, align 4, !tbaa !5
  %24797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24798 = load i32, ptr @test_count, align 4, !tbaa !5
  %24799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24800 = load i32, ptr %24799, align 4, !tbaa !5
  %24801 = call ptr @s2n_strerror(i32 noundef %24800, ptr noundef @.str.4)
  %24802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24803 = load i32, ptr %24802, align 4, !tbaa !5
  %24804 = call ptr @s2n_strerror_debug(i32 noundef %24803, ptr noundef @.str.4)
  %24805 = call ptr @__errno_location() #12
  %24806 = load i32, ptr %24805, align 4, !tbaa !5
  %24807 = call ptr @strerror(i32 noundef %24806) #11
  %24808 = call ptr @__errno_location() #12
  %24809 = load i32, ptr %24808, align 4, !tbaa !5
  %24810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24797, ptr noundef @.str.5, i32 noundef %24798, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 921, ptr noundef %24801, ptr noundef %24804, ptr noundef %24807, i32 noundef %24809) #11
  br label %24811

24811:                                            ; preds = %24794, %24777
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #11
  br label %24812

24812:                                            ; preds = %24811
  br label %24813

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

24814:                                            ; No predecessors!
  br label %24815

24815:                                            ; preds = %24814
  br label %24816

24816:                                            ; preds = %24815, %24753
  br label %24817

24817:                                            ; preds = %24816
  br label %24818

24818:                                            ; preds = %24817
  br label %24819

24819:                                            ; preds = %24818
  %24820 = load i32, ptr @test_count, align 4, !tbaa !5
  %24821 = add nsw i32 %24820, 1
  store i32 %24821, ptr @test_count, align 4, !tbaa !5
  %24822 = load ptr, ptr %499, align 8, !tbaa !9
  %24823 = getelementptr inbounds %struct.s2n_config, ptr %24822, i32 0, i32 37
  %24824 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %24823, i32 0, i32 0
  %24825 = load ptr, ptr %24824, align 8, !tbaa !74
  %24826 = icmp eq ptr %24825, null
  br i1 %24826, label %24880, label %24827

24827:                                            ; preds = %24819
  br label %24828

24828:                                            ; preds = %24827
  br label %24829

24829:                                            ; preds = %24828
  call void @llvm.lifetime.start.p0(i64 4, ptr %518) #11
  %24830 = call ptr @__errno_location() #12
  %24831 = load i32, ptr %24830, align 4, !tbaa !5
  store i32 %24831, ptr %518, align 4, !tbaa !5
  %24832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24833 = call i32 @s2n_print_stacktrace(ptr noundef %24832)
  %24834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24835 = trunc i8 %24834 to i1
  br i1 %24835, label %24836, label %24858

24836:                                            ; preds = %24829
  %24837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24838 = call i32 @fileno(ptr noundef %24837) #11
  %24839 = call i32 @isatty(i32 noundef %24838) #11
  %24840 = icmp ne i32 %24839, 0
  br i1 %24840, label %24841, label %24858

24841:                                            ; preds = %24836
  %24842 = load i32, ptr %518, align 4, !tbaa !5
  %24843 = call ptr @__errno_location() #12
  store i32 %24842, ptr %24843, align 4, !tbaa !5
  %24844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24845 = load i32, ptr @test_count, align 4, !tbaa !5
  %24846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24847 = load i32, ptr %24846, align 4, !tbaa !5
  %24848 = call ptr @s2n_strerror(i32 noundef %24847, ptr noundef @.str.4)
  %24849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24850 = load i32, ptr %24849, align 4, !tbaa !5
  %24851 = call ptr @s2n_strerror_debug(i32 noundef %24850, ptr noundef @.str.4)
  %24852 = call ptr @__errno_location() #12
  %24853 = load i32, ptr %24852, align 4, !tbaa !5
  %24854 = call ptr @strerror(i32 noundef %24853) #11
  %24855 = call ptr @__errno_location() #12
  %24856 = load i32, ptr %24855, align 4, !tbaa !5
  %24857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24844, ptr noundef @.str.2, i32 noundef %24845, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 922, ptr noundef %24848, ptr noundef %24851, ptr noundef %24854, i32 noundef %24856) #11
  br label %24875

24858:                                            ; preds = %24836, %24829
  %24859 = load i32, ptr %518, align 4, !tbaa !5
  %24860 = call ptr @__errno_location() #12
  store i32 %24859, ptr %24860, align 4, !tbaa !5
  %24861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24862 = load i32, ptr @test_count, align 4, !tbaa !5
  %24863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24864 = load i32, ptr %24863, align 4, !tbaa !5
  %24865 = call ptr @s2n_strerror(i32 noundef %24864, ptr noundef @.str.4)
  %24866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24867 = load i32, ptr %24866, align 4, !tbaa !5
  %24868 = call ptr @s2n_strerror_debug(i32 noundef %24867, ptr noundef @.str.4)
  %24869 = call ptr @__errno_location() #12
  %24870 = load i32, ptr %24869, align 4, !tbaa !5
  %24871 = call ptr @strerror(i32 noundef %24870) #11
  %24872 = call ptr @__errno_location() #12
  %24873 = load i32, ptr %24872, align 4, !tbaa !5
  %24874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24861, ptr noundef @.str.5, i32 noundef %24862, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 922, ptr noundef %24865, ptr noundef %24868, ptr noundef %24871, i32 noundef %24873) #11
  br label %24875

24875:                                            ; preds = %24858, %24841
  call void @llvm.lifetime.end.p0(i64 4, ptr %518) #11
  br label %24876

24876:                                            ; preds = %24875
  br label %24877

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

24878:                                            ; No predecessors!
  br label %24879

24879:                                            ; preds = %24878
  br label %24880

24880:                                            ; preds = %24879, %24819
  br label %24881

24881:                                            ; preds = %24880
  br label %24882

24882:                                            ; preds = %24881
  br label %24883

24883:                                            ; preds = %24882
  %24884 = load i32, ptr @test_count, align 4, !tbaa !5
  %24885 = add nsw i32 %24884, 1
  store i32 %24885, ptr @test_count, align 4, !tbaa !5
  %24886 = load ptr, ptr %506, align 8, !tbaa !9
  %24887 = getelementptr inbounds %struct.s2n_config, ptr %24886, i32 0, i32 37
  %24888 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %24887, i32 0, i32 1
  %24889 = load i8, ptr %24888, align 8
  %24890 = and i8 %24889, 1
  %24891 = zext i8 %24890 to i32
  %24892 = icmp ne i32 %24891, 0
  br i1 %24892, label %24893, label %24946

24893:                                            ; preds = %24883
  br label %24894

24894:                                            ; preds = %24893
  br label %24895

24895:                                            ; preds = %24894
  call void @llvm.lifetime.start.p0(i64 4, ptr %519) #11
  %24896 = call ptr @__errno_location() #12
  %24897 = load i32, ptr %24896, align 4, !tbaa !5
  store i32 %24897, ptr %519, align 4, !tbaa !5
  %24898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24899 = call i32 @s2n_print_stacktrace(ptr noundef %24898)
  %24900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24901 = trunc i8 %24900 to i1
  br i1 %24901, label %24902, label %24924

24902:                                            ; preds = %24895
  %24903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24904 = call i32 @fileno(ptr noundef %24903) #11
  %24905 = call i32 @isatty(i32 noundef %24904) #11
  %24906 = icmp ne i32 %24905, 0
  br i1 %24906, label %24907, label %24924

24907:                                            ; preds = %24902
  %24908 = load i32, ptr %519, align 4, !tbaa !5
  %24909 = call ptr @__errno_location() #12
  store i32 %24908, ptr %24909, align 4, !tbaa !5
  %24910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24911 = load i32, ptr @test_count, align 4, !tbaa !5
  %24912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24913 = load i32, ptr %24912, align 4, !tbaa !5
  %24914 = call ptr @s2n_strerror(i32 noundef %24913, ptr noundef @.str.4)
  %24915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24916 = load i32, ptr %24915, align 4, !tbaa !5
  %24917 = call ptr @s2n_strerror_debug(i32 noundef %24916, ptr noundef @.str.4)
  %24918 = call ptr @__errno_location() #12
  %24919 = load i32, ptr %24918, align 4, !tbaa !5
  %24920 = call ptr @strerror(i32 noundef %24919) #11
  %24921 = call ptr @__errno_location() #12
  %24922 = load i32, ptr %24921, align 4, !tbaa !5
  %24923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24910, ptr noundef @.str.2, i32 noundef %24911, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 924, ptr noundef %24914, ptr noundef %24917, ptr noundef %24920, i32 noundef %24922) #11
  br label %24941

24924:                                            ; preds = %24902, %24895
  %24925 = load i32, ptr %519, align 4, !tbaa !5
  %24926 = call ptr @__errno_location() #12
  store i32 %24925, ptr %24926, align 4, !tbaa !5
  %24927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24928 = load i32, ptr @test_count, align 4, !tbaa !5
  %24929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24930 = load i32, ptr %24929, align 4, !tbaa !5
  %24931 = call ptr @s2n_strerror(i32 noundef %24930, ptr noundef @.str.4)
  %24932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24933 = load i32, ptr %24932, align 4, !tbaa !5
  %24934 = call ptr @s2n_strerror_debug(i32 noundef %24933, ptr noundef @.str.4)
  %24935 = call ptr @__errno_location() #12
  %24936 = load i32, ptr %24935, align 4, !tbaa !5
  %24937 = call ptr @strerror(i32 noundef %24936) #11
  %24938 = call ptr @__errno_location() #12
  %24939 = load i32, ptr %24938, align 4, !tbaa !5
  %24940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24927, ptr noundef @.str.5, i32 noundef %24928, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 924, ptr noundef %24931, ptr noundef %24934, ptr noundef %24937, i32 noundef %24939) #11
  br label %24941

24941:                                            ; preds = %24924, %24907
  call void @llvm.lifetime.end.p0(i64 4, ptr %519) #11
  br label %24942

24942:                                            ; preds = %24941
  br label %24943

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

24944:                                            ; No predecessors!
  br label %24945

24945:                                            ; preds = %24944
  br label %24946

24946:                                            ; preds = %24945, %24883
  br label %24947

24947:                                            ; preds = %24946
  br label %24948

24948:                                            ; preds = %24947
  br label %24949

24949:                                            ; preds = %24948
  %24950 = load i32, ptr @test_count, align 4, !tbaa !5
  %24951 = add nsw i32 %24950, 1
  store i32 %24951, ptr @test_count, align 4, !tbaa !5
  %24952 = load ptr, ptr %506, align 8, !tbaa !9
  %24953 = getelementptr inbounds %struct.s2n_config, ptr %24952, i32 0, i32 37
  %24954 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %24953, i32 0, i32 0
  %24955 = load ptr, ptr %24954, align 8, !tbaa !74
  %24956 = icmp eq ptr %24955, null
  br i1 %24956, label %24957, label %25010

24957:                                            ; preds = %24949
  br label %24958

24958:                                            ; preds = %24957
  br label %24959

24959:                                            ; preds = %24958
  call void @llvm.lifetime.start.p0(i64 4, ptr %520) #11
  %24960 = call ptr @__errno_location() #12
  %24961 = load i32, ptr %24960, align 4, !tbaa !5
  store i32 %24961, ptr %520, align 4, !tbaa !5
  %24962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24963 = call i32 @s2n_print_stacktrace(ptr noundef %24962)
  %24964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24965 = trunc i8 %24964 to i1
  br i1 %24965, label %24966, label %24988

24966:                                            ; preds = %24959
  %24967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24968 = call i32 @fileno(ptr noundef %24967) #11
  %24969 = call i32 @isatty(i32 noundef %24968) #11
  %24970 = icmp ne i32 %24969, 0
  br i1 %24970, label %24971, label %24988

24971:                                            ; preds = %24966
  %24972 = load i32, ptr %520, align 4, !tbaa !5
  %24973 = call ptr @__errno_location() #12
  store i32 %24972, ptr %24973, align 4, !tbaa !5
  %24974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24975 = load i32, ptr @test_count, align 4, !tbaa !5
  %24976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24977 = load i32, ptr %24976, align 4, !tbaa !5
  %24978 = call ptr @s2n_strerror(i32 noundef %24977, ptr noundef @.str.4)
  %24979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24980 = load i32, ptr %24979, align 4, !tbaa !5
  %24981 = call ptr @s2n_strerror_debug(i32 noundef %24980, ptr noundef @.str.4)
  %24982 = call ptr @__errno_location() #12
  %24983 = load i32, ptr %24982, align 4, !tbaa !5
  %24984 = call ptr @strerror(i32 noundef %24983) #11
  %24985 = call ptr @__errno_location() #12
  %24986 = load i32, ptr %24985, align 4, !tbaa !5
  %24987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24974, ptr noundef @.str.2, i32 noundef %24975, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 925, ptr noundef %24978, ptr noundef %24981, ptr noundef %24984, i32 noundef %24986) #11
  br label %25005

24988:                                            ; preds = %24966, %24959
  %24989 = load i32, ptr %520, align 4, !tbaa !5
  %24990 = call ptr @__errno_location() #12
  store i32 %24989, ptr %24990, align 4, !tbaa !5
  %24991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24992 = load i32, ptr @test_count, align 4, !tbaa !5
  %24993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24994 = load i32, ptr %24993, align 4, !tbaa !5
  %24995 = call ptr @s2n_strerror(i32 noundef %24994, ptr noundef @.str.4)
  %24996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24997 = load i32, ptr %24996, align 4, !tbaa !5
  %24998 = call ptr @s2n_strerror_debug(i32 noundef %24997, ptr noundef @.str.4)
  %24999 = call ptr @__errno_location() #12
  %25000 = load i32, ptr %24999, align 4, !tbaa !5
  %25001 = call ptr @strerror(i32 noundef %25000) #11
  %25002 = call ptr @__errno_location() #12
  %25003 = load i32, ptr %25002, align 4, !tbaa !5
  %25004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24991, ptr noundef @.str.5, i32 noundef %24992, ptr noundef @.str.196, ptr noundef @.str.1, i32 noundef 925, ptr noundef %24995, ptr noundef %24998, ptr noundef %25001, i32 noundef %25003) #11
  br label %25005

25005:                                            ; preds = %24988, %24971
  call void @llvm.lifetime.end.p0(i64 4, ptr %520) #11
  br label %25006

25006:                                            ; preds = %25005
  br label %25007

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

25008:                                            ; No predecessors!
  br label %25009

25009:                                            ; preds = %25008
  br label %25010

25010:                                            ; preds = %25009, %24949
  br label %25011

25011:                                            ; preds = %25010
  br label %25012

25012:                                            ; preds = %25011
  br label %25013

25013:                                            ; preds = %25012
  %25014 = load i32, ptr @test_count, align 4, !tbaa !5
  %25015 = add nsw i32 %25014, 1
  store i32 %25015, ptr @test_count, align 4, !tbaa !5
  %25016 = load ptr, ptr %503, align 8, !tbaa !9
  %25017 = load ptr, ptr %510, align 8, !tbaa !9
  %25018 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %25016, ptr noundef %25017)
  %25019 = icmp eq i32 %25018, -1
  br i1 %25019, label %25020, label %25073

25020:                                            ; preds = %25013
  br label %25021

25021:                                            ; preds = %25020
  br label %25022

25022:                                            ; preds = %25021
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #11
  %25023 = call ptr @__errno_location() #12
  %25024 = load i32, ptr %25023, align 4, !tbaa !5
  store i32 %25024, ptr %521, align 4, !tbaa !5
  %25025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25026 = call i32 @s2n_print_stacktrace(ptr noundef %25025)
  %25027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25028 = trunc i8 %25027 to i1
  br i1 %25028, label %25029, label %25051

25029:                                            ; preds = %25022
  %25030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25031 = call i32 @fileno(ptr noundef %25030) #11
  %25032 = call i32 @isatty(i32 noundef %25031) #11
  %25033 = icmp ne i32 %25032, 0
  br i1 %25033, label %25034, label %25051

25034:                                            ; preds = %25029
  %25035 = load i32, ptr %521, align 4, !tbaa !5
  %25036 = call ptr @__errno_location() #12
  store i32 %25035, ptr %25036, align 4, !tbaa !5
  %25037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25038 = load i32, ptr @test_count, align 4, !tbaa !5
  %25039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25040 = load i32, ptr %25039, align 4, !tbaa !5
  %25041 = call ptr @s2n_strerror(i32 noundef %25040, ptr noundef @.str.4)
  %25042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25043 = load i32, ptr %25042, align 4, !tbaa !5
  %25044 = call ptr @s2n_strerror_debug(i32 noundef %25043, ptr noundef @.str.4)
  %25045 = call ptr @__errno_location() #12
  %25046 = load i32, ptr %25045, align 4, !tbaa !5
  %25047 = call ptr @strerror(i32 noundef %25046) #11
  %25048 = call ptr @__errno_location() #12
  %25049 = load i32, ptr %25048, align 4, !tbaa !5
  %25050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25037, ptr noundef @.str.2, i32 noundef %25038, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 927, ptr noundef %25041, ptr noundef %25044, ptr noundef %25047, i32 noundef %25049) #11
  br label %25068

25051:                                            ; preds = %25029, %25022
  %25052 = load i32, ptr %521, align 4, !tbaa !5
  %25053 = call ptr @__errno_location() #12
  store i32 %25052, ptr %25053, align 4, !tbaa !5
  %25054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25055 = load i32, ptr @test_count, align 4, !tbaa !5
  %25056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25057 = load i32, ptr %25056, align 4, !tbaa !5
  %25058 = call ptr @s2n_strerror(i32 noundef %25057, ptr noundef @.str.4)
  %25059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25060 = load i32, ptr %25059, align 4, !tbaa !5
  %25061 = call ptr @s2n_strerror_debug(i32 noundef %25060, ptr noundef @.str.4)
  %25062 = call ptr @__errno_location() #12
  %25063 = load i32, ptr %25062, align 4, !tbaa !5
  %25064 = call ptr @strerror(i32 noundef %25063) #11
  %25065 = call ptr @__errno_location() #12
  %25066 = load i32, ptr %25065, align 4, !tbaa !5
  %25067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25054, ptr noundef @.str.5, i32 noundef %25055, ptr noundef @.str.197, ptr noundef @.str.1, i32 noundef 927, ptr noundef %25058, ptr noundef %25061, ptr noundef %25064, i32 noundef %25066) #11
  br label %25068

25068:                                            ; preds = %25051, %25034
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #11
  br label %25069

25069:                                            ; preds = %25068
  br label %25070

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

25071:                                            ; No predecessors!
  br label %25072

25072:                                            ; preds = %25071
  br label %25073

25073:                                            ; preds = %25072, %25013
  br label %25074

25074:                                            ; preds = %25073
  br label %25075

25075:                                            ; preds = %25074
  %25076 = call i32 @s2n_io_pair_close(ptr noundef %514)
  call void @llvm.lifetime.end.p0(i64 8, ptr %514) #11
  %25077 = call i32 @s2n_connection_ptr_free(ptr noundef %510)
  %25078 = getelementptr inbounds %struct.s2n_result, ptr %522, i32 0, i32 0
  store i32 %25077, ptr %25078, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %510) #11
  %25079 = call i32 @s2n_config_ptr_free(ptr noundef %506)
  %25080 = getelementptr inbounds %struct.s2n_result, ptr %523, i32 0, i32 0
  store i32 %25079, ptr %25080, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %506) #11
  %25081 = call i32 @s2n_connection_ptr_free(ptr noundef %503)
  %25082 = getelementptr inbounds %struct.s2n_result, ptr %524, i32 0, i32 0
  store i32 %25081, ptr %25082, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %503) #11
  %25083 = call i32 @s2n_config_ptr_free(ptr noundef %499)
  %25084 = getelementptr inbounds %struct.s2n_result, ptr %525, i32 0, i32 0
  store i32 %25083, ptr %25084, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %499) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %526) #11
  %25085 = call ptr @s2n_config_new_minimal()
  store ptr %25085, ptr %526, align 8, !tbaa !9
  br label %25086

25086:                                            ; preds = %25075
  %25087 = load i32, ptr @test_count, align 4, !tbaa !5
  %25088 = add nsw i32 %25087, 1
  store i32 %25088, ptr @test_count, align 4, !tbaa !5
  %25089 = load ptr, ptr %526, align 8, !tbaa !9
  %25090 = icmp eq ptr %25089, null
  br i1 %25090, label %25091, label %25144

25091:                                            ; preds = %25086
  br label %25092

25092:                                            ; preds = %25091
  br label %25093

25093:                                            ; preds = %25092
  call void @llvm.lifetime.start.p0(i64 4, ptr %527) #11
  %25094 = call ptr @__errno_location() #12
  %25095 = load i32, ptr %25094, align 4, !tbaa !5
  store i32 %25095, ptr %527, align 4, !tbaa !5
  %25096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25097 = call i32 @s2n_print_stacktrace(ptr noundef %25096)
  %25098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25099 = trunc i8 %25098 to i1
  br i1 %25099, label %25100, label %25122

25100:                                            ; preds = %25093
  %25101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25102 = call i32 @fileno(ptr noundef %25101) #11
  %25103 = call i32 @isatty(i32 noundef %25102) #11
  %25104 = icmp ne i32 %25103, 0
  br i1 %25104, label %25105, label %25122

25105:                                            ; preds = %25100
  %25106 = load i32, ptr %527, align 4, !tbaa !5
  %25107 = call ptr @__errno_location() #12
  store i32 %25106, ptr %25107, align 4, !tbaa !5
  %25108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25109 = load i32, ptr @test_count, align 4, !tbaa !5
  %25110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25111 = load i32, ptr %25110, align 4, !tbaa !5
  %25112 = call ptr @s2n_strerror(i32 noundef %25111, ptr noundef @.str.4)
  %25113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25114 = load i32, ptr %25113, align 4, !tbaa !5
  %25115 = call ptr @s2n_strerror_debug(i32 noundef %25114, ptr noundef @.str.4)
  %25116 = call ptr @__errno_location() #12
  %25117 = load i32, ptr %25116, align 4, !tbaa !5
  %25118 = call ptr @strerror(i32 noundef %25117) #11
  %25119 = call ptr @__errno_location() #12
  %25120 = load i32, ptr %25119, align 4, !tbaa !5
  %25121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25108, ptr noundef @.str.2, i32 noundef %25109, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 933, ptr noundef %25112, ptr noundef %25115, ptr noundef %25118, i32 noundef %25120) #11
  br label %25139

25122:                                            ; preds = %25100, %25093
  %25123 = load i32, ptr %527, align 4, !tbaa !5
  %25124 = call ptr @__errno_location() #12
  store i32 %25123, ptr %25124, align 4, !tbaa !5
  %25125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25126 = load i32, ptr @test_count, align 4, !tbaa !5
  %25127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25128 = load i32, ptr %25127, align 4, !tbaa !5
  %25129 = call ptr @s2n_strerror(i32 noundef %25128, ptr noundef @.str.4)
  %25130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25131 = load i32, ptr %25130, align 4, !tbaa !5
  %25132 = call ptr @s2n_strerror_debug(i32 noundef %25131, ptr noundef @.str.4)
  %25133 = call ptr @__errno_location() #12
  %25134 = load i32, ptr %25133, align 4, !tbaa !5
  %25135 = call ptr @strerror(i32 noundef %25134) #11
  %25136 = call ptr @__errno_location() #12
  %25137 = load i32, ptr %25136, align 4, !tbaa !5
  %25138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25125, ptr noundef @.str.5, i32 noundef %25126, ptr noundef @.str.179, ptr noundef @.str.1, i32 noundef 933, ptr noundef %25129, ptr noundef %25132, ptr noundef %25135, i32 noundef %25137) #11
  br label %25139

25139:                                            ; preds = %25122, %25105
  call void @llvm.lifetime.end.p0(i64 4, ptr %527) #11
  br label %25140

25140:                                            ; preds = %25139
  br label %25141

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

25142:                                            ; No predecessors!
  br label %25143

25143:                                            ; preds = %25142
  br label %25144

25144:                                            ; preds = %25143, %25086
  br label %25145

25145:                                            ; preds = %25144
  br label %25146

25146:                                            ; preds = %25145
  br label %25147

25147:                                            ; preds = %25146
  %25148 = load i32, ptr @test_count, align 4, !tbaa !5
  %25149 = add nsw i32 %25148, 1
  store i32 %25149, ptr @test_count, align 4, !tbaa !5
  %25150 = load ptr, ptr %526, align 8, !tbaa !9
  %25151 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %25150, ptr noundef @.str.13)
  %25152 = icmp eq i32 %25151, -1
  br i1 %25152, label %25153, label %25206

25153:                                            ; preds = %25147
  br label %25154

25154:                                            ; preds = %25153
  br label %25155

25155:                                            ; preds = %25154
  call void @llvm.lifetime.start.p0(i64 4, ptr %528) #11
  %25156 = call ptr @__errno_location() #12
  %25157 = load i32, ptr %25156, align 4, !tbaa !5
  store i32 %25157, ptr %528, align 4, !tbaa !5
  %25158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25159 = call i32 @s2n_print_stacktrace(ptr noundef %25158)
  %25160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25161 = trunc i8 %25160 to i1
  br i1 %25161, label %25162, label %25184

25162:                                            ; preds = %25155
  %25163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25164 = call i32 @fileno(ptr noundef %25163) #11
  %25165 = call i32 @isatty(i32 noundef %25164) #11
  %25166 = icmp ne i32 %25165, 0
  br i1 %25166, label %25167, label %25184

25167:                                            ; preds = %25162
  %25168 = load i32, ptr %528, align 4, !tbaa !5
  %25169 = call ptr @__errno_location() #12
  store i32 %25168, ptr %25169, align 4, !tbaa !5
  %25170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25171 = load i32, ptr @test_count, align 4, !tbaa !5
  %25172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25173 = load i32, ptr %25172, align 4, !tbaa !5
  %25174 = call ptr @s2n_strerror(i32 noundef %25173, ptr noundef @.str.4)
  %25175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25176 = load i32, ptr %25175, align 4, !tbaa !5
  %25177 = call ptr @s2n_strerror_debug(i32 noundef %25176, ptr noundef @.str.4)
  %25178 = call ptr @__errno_location() #12
  %25179 = load i32, ptr %25178, align 4, !tbaa !5
  %25180 = call ptr @strerror(i32 noundef %25179) #11
  %25181 = call ptr @__errno_location() #12
  %25182 = load i32, ptr %25181, align 4, !tbaa !5
  %25183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25170, ptr noundef @.str.2, i32 noundef %25171, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 934, ptr noundef %25174, ptr noundef %25177, ptr noundef %25180, i32 noundef %25182) #11
  br label %25201

25184:                                            ; preds = %25162, %25155
  %25185 = load i32, ptr %528, align 4, !tbaa !5
  %25186 = call ptr @__errno_location() #12
  store i32 %25185, ptr %25186, align 4, !tbaa !5
  %25187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25188 = load i32, ptr @test_count, align 4, !tbaa !5
  %25189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25190 = load i32, ptr %25189, align 4, !tbaa !5
  %25191 = call ptr @s2n_strerror(i32 noundef %25190, ptr noundef @.str.4)
  %25192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25193 = load i32, ptr %25192, align 4, !tbaa !5
  %25194 = call ptr @s2n_strerror_debug(i32 noundef %25193, ptr noundef @.str.4)
  %25195 = call ptr @__errno_location() #12
  %25196 = load i32, ptr %25195, align 4, !tbaa !5
  %25197 = call ptr @strerror(i32 noundef %25196) #11
  %25198 = call ptr @__errno_location() #12
  %25199 = load i32, ptr %25198, align 4, !tbaa !5
  %25200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25187, ptr noundef @.str.5, i32 noundef %25188, ptr noundef @.str.180, ptr noundef @.str.1, i32 noundef 934, ptr noundef %25191, ptr noundef %25194, ptr noundef %25197, i32 noundef %25199) #11
  br label %25201

25201:                                            ; preds = %25184, %25167
  call void @llvm.lifetime.end.p0(i64 4, ptr %528) #11
  br label %25202

25202:                                            ; preds = %25201
  br label %25203

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

25204:                                            ; No predecessors!
  br label %25205

25205:                                            ; preds = %25204
  br label %25206

25206:                                            ; preds = %25205, %25147
  br label %25207

25207:                                            ; preds = %25206
  br label %25208

25208:                                            ; preds = %25207
  br label %25209

25209:                                            ; preds = %25208
  %25210 = load i32, ptr @test_count, align 4, !tbaa !5
  %25211 = add nsw i32 %25210, 1
  store i32 %25211, ptr @test_count, align 4, !tbaa !5
  %25212 = load ptr, ptr %526, align 8, !tbaa !9
  %25213 = load ptr, ptr %497, align 8, !tbaa !9
  %25214 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %25212, ptr noundef %25213)
  %25215 = icmp eq i32 %25214, -1
  br i1 %25215, label %25216, label %25269

25216:                                            ; preds = %25209
  br label %25217

25217:                                            ; preds = %25216
  br label %25218

25218:                                            ; preds = %25217
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #11
  %25219 = call ptr @__errno_location() #12
  %25220 = load i32, ptr %25219, align 4, !tbaa !5
  store i32 %25220, ptr %529, align 4, !tbaa !5
  %25221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25222 = call i32 @s2n_print_stacktrace(ptr noundef %25221)
  %25223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25224 = trunc i8 %25223 to i1
  br i1 %25224, label %25225, label %25247

25225:                                            ; preds = %25218
  %25226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25227 = call i32 @fileno(ptr noundef %25226) #11
  %25228 = call i32 @isatty(i32 noundef %25227) #11
  %25229 = icmp ne i32 %25228, 0
  br i1 %25229, label %25230, label %25247

25230:                                            ; preds = %25225
  %25231 = load i32, ptr %529, align 4, !tbaa !5
  %25232 = call ptr @__errno_location() #12
  store i32 %25231, ptr %25232, align 4, !tbaa !5
  %25233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25234 = load i32, ptr @test_count, align 4, !tbaa !5
  %25235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25236 = load i32, ptr %25235, align 4, !tbaa !5
  %25237 = call ptr @s2n_strerror(i32 noundef %25236, ptr noundef @.str.4)
  %25238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25239 = load i32, ptr %25238, align 4, !tbaa !5
  %25240 = call ptr @s2n_strerror_debug(i32 noundef %25239, ptr noundef @.str.4)
  %25241 = call ptr @__errno_location() #12
  %25242 = load i32, ptr %25241, align 4, !tbaa !5
  %25243 = call ptr @strerror(i32 noundef %25242) #11
  %25244 = call ptr @__errno_location() #12
  %25245 = load i32, ptr %25244, align 4, !tbaa !5
  %25246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25233, ptr noundef @.str.2, i32 noundef %25234, ptr noundef @.str.181, ptr noundef @.str.1, i32 noundef 935, ptr noundef %25237, ptr noundef %25240, ptr noundef %25243, i32 noundef %25245) #11
  br label %25264

25247:                                            ; preds = %25225, %25218
  %25248 = load i32, ptr %529, align 4, !tbaa !5
  %25249 = call ptr @__errno_location() #12
  store i32 %25248, ptr %25249, align 4, !tbaa !5
  %25250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25251 = load i32, ptr @test_count, align 4, !tbaa !5
  %25252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25253 = load i32, ptr %25252, align 4, !tbaa !5
  %25254 = call ptr @s2n_strerror(i32 noundef %25253, ptr noundef @.str.4)
  %25255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25256 = load i32, ptr %25255, align 4, !tbaa !5
  %25257 = call ptr @s2n_strerror_debug(i32 noundef %25256, ptr noundef @.str.4)
  %25258 = call ptr @__errno_location() #12
  %25259 = load i32, ptr %25258, align 4, !tbaa !5
  %25260 = call ptr @strerror(i32 noundef %25259) #11
  %25261 = call ptr @__errno_location() #12
  %25262 = load i32, ptr %25261, align 4, !tbaa !5
  %25263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25250, ptr noundef @.str.5, i32 noundef %25251, ptr noundef @.str.181, ptr noundef @.str.1, i32 noundef 935, ptr noundef %25254, ptr noundef %25257, ptr noundef %25260, i32 noundef %25262) #11
  br label %25264

25264:                                            ; preds = %25247, %25230
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #11
  br label %25265

25265:                                            ; preds = %25264
  br label %25266

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

25267:                                            ; No predecessors!
  br label %25268

25268:                                            ; preds = %25267
  br label %25269

25269:                                            ; preds = %25268, %25209
  br label %25270

25270:                                            ; preds = %25269
  br label %25271

25271:                                            ; preds = %25270
  call void @llvm.lifetime.start.p0(i64 8, ptr %530) #11
  %25272 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %25272, ptr %530, align 8, !tbaa !9
  br label %25273

25273:                                            ; preds = %25271
  %25274 = load i32, ptr @test_count, align 4, !tbaa !5
  %25275 = add nsw i32 %25274, 1
  store i32 %25275, ptr @test_count, align 4, !tbaa !5
  %25276 = load ptr, ptr %530, align 8, !tbaa !9
  %25277 = icmp eq ptr %25276, null
  br i1 %25277, label %25278, label %25331

25278:                                            ; preds = %25273
  br label %25279

25279:                                            ; preds = %25278
  br label %25280

25280:                                            ; preds = %25279
  call void @llvm.lifetime.start.p0(i64 4, ptr %531) #11
  %25281 = call ptr @__errno_location() #12
  %25282 = load i32, ptr %25281, align 4, !tbaa !5
  store i32 %25282, ptr %531, align 4, !tbaa !5
  %25283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25284 = call i32 @s2n_print_stacktrace(ptr noundef %25283)
  %25285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25286 = trunc i8 %25285 to i1
  br i1 %25286, label %25287, label %25309

25287:                                            ; preds = %25280
  %25288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25289 = call i32 @fileno(ptr noundef %25288) #11
  %25290 = call i32 @isatty(i32 noundef %25289) #11
  %25291 = icmp ne i32 %25290, 0
  br i1 %25291, label %25292, label %25309

25292:                                            ; preds = %25287
  %25293 = load i32, ptr %531, align 4, !tbaa !5
  %25294 = call ptr @__errno_location() #12
  store i32 %25293, ptr %25294, align 4, !tbaa !5
  %25295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25296 = load i32, ptr @test_count, align 4, !tbaa !5
  %25297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25298 = load i32, ptr %25297, align 4, !tbaa !5
  %25299 = call ptr @s2n_strerror(i32 noundef %25298, ptr noundef @.str.4)
  %25300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25301 = load i32, ptr %25300, align 4, !tbaa !5
  %25302 = call ptr @s2n_strerror_debug(i32 noundef %25301, ptr noundef @.str.4)
  %25303 = call ptr @__errno_location() #12
  %25304 = load i32, ptr %25303, align 4, !tbaa !5
  %25305 = call ptr @strerror(i32 noundef %25304) #11
  %25306 = call ptr @__errno_location() #12
  %25307 = load i32, ptr %25306, align 4, !tbaa !5
  %25308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25295, ptr noundef @.str.2, i32 noundef %25296, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 939, ptr noundef %25299, ptr noundef %25302, ptr noundef %25305, i32 noundef %25307) #11
  br label %25326

25309:                                            ; preds = %25287, %25280
  %25310 = load i32, ptr %531, align 4, !tbaa !5
  %25311 = call ptr @__errno_location() #12
  store i32 %25310, ptr %25311, align 4, !tbaa !5
  %25312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25313 = load i32, ptr @test_count, align 4, !tbaa !5
  %25314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25315 = load i32, ptr %25314, align 4, !tbaa !5
  %25316 = call ptr @s2n_strerror(i32 noundef %25315, ptr noundef @.str.4)
  %25317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25318 = load i32, ptr %25317, align 4, !tbaa !5
  %25319 = call ptr @s2n_strerror_debug(i32 noundef %25318, ptr noundef @.str.4)
  %25320 = call ptr @__errno_location() #12
  %25321 = load i32, ptr %25320, align 4, !tbaa !5
  %25322 = call ptr @strerror(i32 noundef %25321) #11
  %25323 = call ptr @__errno_location() #12
  %25324 = load i32, ptr %25323, align 4, !tbaa !5
  %25325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25312, ptr noundef @.str.5, i32 noundef %25313, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 939, ptr noundef %25316, ptr noundef %25319, ptr noundef %25322, i32 noundef %25324) #11
  br label %25326

25326:                                            ; preds = %25309, %25292
  call void @llvm.lifetime.end.p0(i64 4, ptr %531) #11
  br label %25327

25327:                                            ; preds = %25326
  br label %25328

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

25329:                                            ; No predecessors!
  br label %25330

25330:                                            ; preds = %25329
  br label %25331

25331:                                            ; preds = %25330, %25273
  br label %25332

25332:                                            ; preds = %25331
  br label %25333

25333:                                            ; preds = %25332
  br label %25334

25334:                                            ; preds = %25333
  %25335 = load i32, ptr @test_count, align 4, !tbaa !5
  %25336 = add nsw i32 %25335, 1
  store i32 %25336, ptr @test_count, align 4, !tbaa !5
  %25337 = load ptr, ptr %530, align 8, !tbaa !9
  %25338 = load ptr, ptr %526, align 8, !tbaa !9
  %25339 = call i32 @s2n_connection_set_config(ptr noundef %25337, ptr noundef %25338)
  %25340 = icmp eq i32 %25339, -1
  br i1 %25340, label %25341, label %25394

25341:                                            ; preds = %25334
  br label %25342

25342:                                            ; preds = %25341
  br label %25343

25343:                                            ; preds = %25342
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #11
  %25344 = call ptr @__errno_location() #12
  %25345 = load i32, ptr %25344, align 4, !tbaa !5
  store i32 %25345, ptr %532, align 4, !tbaa !5
  %25346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25347 = call i32 @s2n_print_stacktrace(ptr noundef %25346)
  %25348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25349 = trunc i8 %25348 to i1
  br i1 %25349, label %25350, label %25372

25350:                                            ; preds = %25343
  %25351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25352 = call i32 @fileno(ptr noundef %25351) #11
  %25353 = call i32 @isatty(i32 noundef %25352) #11
  %25354 = icmp ne i32 %25353, 0
  br i1 %25354, label %25355, label %25372

25355:                                            ; preds = %25350
  %25356 = load i32, ptr %532, align 4, !tbaa !5
  %25357 = call ptr @__errno_location() #12
  store i32 %25356, ptr %25357, align 4, !tbaa !5
  %25358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25359 = load i32, ptr @test_count, align 4, !tbaa !5
  %25360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25361 = load i32, ptr %25360, align 4, !tbaa !5
  %25362 = call ptr @s2n_strerror(i32 noundef %25361, ptr noundef @.str.4)
  %25363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25364 = load i32, ptr %25363, align 4, !tbaa !5
  %25365 = call ptr @s2n_strerror_debug(i32 noundef %25364, ptr noundef @.str.4)
  %25366 = call ptr @__errno_location() #12
  %25367 = load i32, ptr %25366, align 4, !tbaa !5
  %25368 = call ptr @strerror(i32 noundef %25367) #11
  %25369 = call ptr @__errno_location() #12
  %25370 = load i32, ptr %25369, align 4, !tbaa !5
  %25371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25358, ptr noundef @.str.2, i32 noundef %25359, ptr noundef @.str.183, ptr noundef @.str.1, i32 noundef 940, ptr noundef %25362, ptr noundef %25365, ptr noundef %25368, i32 noundef %25370) #11
  br label %25389

25372:                                            ; preds = %25350, %25343
  %25373 = load i32, ptr %532, align 4, !tbaa !5
  %25374 = call ptr @__errno_location() #12
  store i32 %25373, ptr %25374, align 4, !tbaa !5
  %25375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25376 = load i32, ptr @test_count, align 4, !tbaa !5
  %25377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25378 = load i32, ptr %25377, align 4, !tbaa !5
  %25379 = call ptr @s2n_strerror(i32 noundef %25378, ptr noundef @.str.4)
  %25380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25381 = load i32, ptr %25380, align 4, !tbaa !5
  %25382 = call ptr @s2n_strerror_debug(i32 noundef %25381, ptr noundef @.str.4)
  %25383 = call ptr @__errno_location() #12
  %25384 = load i32, ptr %25383, align 4, !tbaa !5
  %25385 = call ptr @strerror(i32 noundef %25384) #11
  %25386 = call ptr @__errno_location() #12
  %25387 = load i32, ptr %25386, align 4, !tbaa !5
  %25388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25375, ptr noundef @.str.5, i32 noundef %25376, ptr noundef @.str.183, ptr noundef @.str.1, i32 noundef 940, ptr noundef %25379, ptr noundef %25382, ptr noundef %25385, i32 noundef %25387) #11
  br label %25389

25389:                                            ; preds = %25372, %25355
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #11
  br label %25390

25390:                                            ; preds = %25389
  br label %25391

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

25392:                                            ; No predecessors!
  br label %25393

25393:                                            ; preds = %25392
  br label %25394

25394:                                            ; preds = %25393, %25334
  br label %25395

25395:                                            ; preds = %25394
  br label %25396

25396:                                            ; preds = %25395
  call void @llvm.lifetime.start.p0(i64 8, ptr %533) #11
  %25397 = call ptr @s2n_config_new_minimal()
  store ptr %25397, ptr %533, align 8, !tbaa !9
  br label %25398

25398:                                            ; preds = %25396
  %25399 = load i32, ptr @test_count, align 4, !tbaa !5
  %25400 = add nsw i32 %25399, 1
  store i32 %25400, ptr @test_count, align 4, !tbaa !5
  %25401 = load ptr, ptr %533, align 8, !tbaa !9
  %25402 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %25401, ptr noundef @.str.13)
  %25403 = icmp eq i32 %25402, -1
  br i1 %25403, label %25404, label %25457

25404:                                            ; preds = %25398
  br label %25405

25405:                                            ; preds = %25404
  br label %25406

25406:                                            ; preds = %25405
  call void @llvm.lifetime.start.p0(i64 4, ptr %534) #11
  %25407 = call ptr @__errno_location() #12
  %25408 = load i32, ptr %25407, align 4, !tbaa !5
  store i32 %25408, ptr %534, align 4, !tbaa !5
  %25409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25410 = call i32 @s2n_print_stacktrace(ptr noundef %25409)
  %25411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25412 = trunc i8 %25411 to i1
  br i1 %25412, label %25413, label %25435

25413:                                            ; preds = %25406
  %25414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25415 = call i32 @fileno(ptr noundef %25414) #11
  %25416 = call i32 @isatty(i32 noundef %25415) #11
  %25417 = icmp ne i32 %25416, 0
  br i1 %25417, label %25418, label %25435

25418:                                            ; preds = %25413
  %25419 = load i32, ptr %534, align 4, !tbaa !5
  %25420 = call ptr @__errno_location() #12
  store i32 %25419, ptr %25420, align 4, !tbaa !5
  %25421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25422 = load i32, ptr @test_count, align 4, !tbaa !5
  %25423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25424 = load i32, ptr %25423, align 4, !tbaa !5
  %25425 = call ptr @s2n_strerror(i32 noundef %25424, ptr noundef @.str.4)
  %25426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25427 = load i32, ptr %25426, align 4, !tbaa !5
  %25428 = call ptr @s2n_strerror_debug(i32 noundef %25427, ptr noundef @.str.4)
  %25429 = call ptr @__errno_location() #12
  %25430 = load i32, ptr %25429, align 4, !tbaa !5
  %25431 = call ptr @strerror(i32 noundef %25430) #11
  %25432 = call ptr @__errno_location() #12
  %25433 = load i32, ptr %25432, align 4, !tbaa !5
  %25434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25421, ptr noundef @.str.2, i32 noundef %25422, ptr noundef @.str.185, ptr noundef @.str.1, i32 noundef 943, ptr noundef %25425, ptr noundef %25428, ptr noundef %25431, i32 noundef %25433) #11
  br label %25452

25435:                                            ; preds = %25413, %25406
  %25436 = load i32, ptr %534, align 4, !tbaa !5
  %25437 = call ptr @__errno_location() #12
  store i32 %25436, ptr %25437, align 4, !tbaa !5
  %25438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25439 = load i32, ptr @test_count, align 4, !tbaa !5
  %25440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25441 = load i32, ptr %25440, align 4, !tbaa !5
  %25442 = call ptr @s2n_strerror(i32 noundef %25441, ptr noundef @.str.4)
  %25443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25444 = load i32, ptr %25443, align 4, !tbaa !5
  %25445 = call ptr @s2n_strerror_debug(i32 noundef %25444, ptr noundef @.str.4)
  %25446 = call ptr @__errno_location() #12
  %25447 = load i32, ptr %25446, align 4, !tbaa !5
  %25448 = call ptr @strerror(i32 noundef %25447) #11
  %25449 = call ptr @__errno_location() #12
  %25450 = load i32, ptr %25449, align 4, !tbaa !5
  %25451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25438, ptr noundef @.str.5, i32 noundef %25439, ptr noundef @.str.185, ptr noundef @.str.1, i32 noundef 943, ptr noundef %25442, ptr noundef %25445, ptr noundef %25448, i32 noundef %25450) #11
  br label %25452

25452:                                            ; preds = %25435, %25418
  call void @llvm.lifetime.end.p0(i64 4, ptr %534) #11
  br label %25453

25453:                                            ; preds = %25452
  br label %25454

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

25455:                                            ; No predecessors!
  br label %25456

25456:                                            ; preds = %25455
  br label %25457

25457:                                            ; preds = %25456, %25398
  br label %25458

25458:                                            ; preds = %25457
  br label %25459

25459:                                            ; preds = %25458
  br label %25460

25460:                                            ; preds = %25459
  %25461 = load i32, ptr @test_count, align 4, !tbaa !5
  %25462 = add nsw i32 %25461, 1
  store i32 %25462, ptr @test_count, align 4, !tbaa !5
  %25463 = load ptr, ptr %533, align 8, !tbaa !9
  %25464 = icmp eq ptr %25463, null
  br i1 %25464, label %25465, label %25518

25465:                                            ; preds = %25460
  br label %25466

25466:                                            ; preds = %25465
  br label %25467

25467:                                            ; preds = %25466
  call void @llvm.lifetime.start.p0(i64 4, ptr %535) #11
  %25468 = call ptr @__errno_location() #12
  %25469 = load i32, ptr %25468, align 4, !tbaa !5
  store i32 %25469, ptr %535, align 4, !tbaa !5
  %25470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25471 = call i32 @s2n_print_stacktrace(ptr noundef %25470)
  %25472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25473 = trunc i8 %25472 to i1
  br i1 %25473, label %25474, label %25496

25474:                                            ; preds = %25467
  %25475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25476 = call i32 @fileno(ptr noundef %25475) #11
  %25477 = call i32 @isatty(i32 noundef %25476) #11
  %25478 = icmp ne i32 %25477, 0
  br i1 %25478, label %25479, label %25496

25479:                                            ; preds = %25474
  %25480 = load i32, ptr %535, align 4, !tbaa !5
  %25481 = call ptr @__errno_location() #12
  store i32 %25480, ptr %25481, align 4, !tbaa !5
  %25482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25483 = load i32, ptr @test_count, align 4, !tbaa !5
  %25484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25485 = load i32, ptr %25484, align 4, !tbaa !5
  %25486 = call ptr @s2n_strerror(i32 noundef %25485, ptr noundef @.str.4)
  %25487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25488 = load i32, ptr %25487, align 4, !tbaa !5
  %25489 = call ptr @s2n_strerror_debug(i32 noundef %25488, ptr noundef @.str.4)
  %25490 = call ptr @__errno_location() #12
  %25491 = load i32, ptr %25490, align 4, !tbaa !5
  %25492 = call ptr @strerror(i32 noundef %25491) #11
  %25493 = call ptr @__errno_location() #12
  %25494 = load i32, ptr %25493, align 4, !tbaa !5
  %25495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25482, ptr noundef @.str.2, i32 noundef %25483, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 944, ptr noundef %25486, ptr noundef %25489, ptr noundef %25492, i32 noundef %25494) #11
  br label %25513

25496:                                            ; preds = %25474, %25467
  %25497 = load i32, ptr %535, align 4, !tbaa !5
  %25498 = call ptr @__errno_location() #12
  store i32 %25497, ptr %25498, align 4, !tbaa !5
  %25499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25500 = load i32, ptr @test_count, align 4, !tbaa !5
  %25501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25502 = load i32, ptr %25501, align 4, !tbaa !5
  %25503 = call ptr @s2n_strerror(i32 noundef %25502, ptr noundef @.str.4)
  %25504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25505 = load i32, ptr %25504, align 4, !tbaa !5
  %25506 = call ptr @s2n_strerror_debug(i32 noundef %25505, ptr noundef @.str.4)
  %25507 = call ptr @__errno_location() #12
  %25508 = load i32, ptr %25507, align 4, !tbaa !5
  %25509 = call ptr @strerror(i32 noundef %25508) #11
  %25510 = call ptr @__errno_location() #12
  %25511 = load i32, ptr %25510, align 4, !tbaa !5
  %25512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25499, ptr noundef @.str.5, i32 noundef %25500, ptr noundef @.str.184, ptr noundef @.str.1, i32 noundef 944, ptr noundef %25503, ptr noundef %25506, ptr noundef %25509, i32 noundef %25511) #11
  br label %25513

25513:                                            ; preds = %25496, %25479
  call void @llvm.lifetime.end.p0(i64 4, ptr %535) #11
  br label %25514

25514:                                            ; preds = %25513
  br label %25515

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

25516:                                            ; No predecessors!
  br label %25517

25517:                                            ; preds = %25516
  br label %25518

25518:                                            ; preds = %25517, %25460
  br label %25519

25519:                                            ; preds = %25518
  br label %25520

25520:                                            ; preds = %25519
  call void @llvm.lifetime.start.p0(i64 8, ptr %536) #11
  %25521 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %25521, ptr %536, align 8, !tbaa !9
  br label %25522

25522:                                            ; preds = %25520
  %25523 = load i32, ptr @test_count, align 4, !tbaa !5
  %25524 = add nsw i32 %25523, 1
  store i32 %25524, ptr @test_count, align 4, !tbaa !5
  %25525 = load ptr, ptr %536, align 8, !tbaa !9
  %25526 = icmp eq ptr %25525, null
  br i1 %25526, label %25527, label %25580

25527:                                            ; preds = %25522
  br label %25528

25528:                                            ; preds = %25527
  br label %25529

25529:                                            ; preds = %25528
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #11
  %25530 = call ptr @__errno_location() #12
  %25531 = load i32, ptr %25530, align 4, !tbaa !5
  store i32 %25531, ptr %537, align 4, !tbaa !5
  %25532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25533 = call i32 @s2n_print_stacktrace(ptr noundef %25532)
  %25534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25535 = trunc i8 %25534 to i1
  br i1 %25535, label %25536, label %25558

25536:                                            ; preds = %25529
  %25537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25538 = call i32 @fileno(ptr noundef %25537) #11
  %25539 = call i32 @isatty(i32 noundef %25538) #11
  %25540 = icmp ne i32 %25539, 0
  br i1 %25540, label %25541, label %25558

25541:                                            ; preds = %25536
  %25542 = load i32, ptr %537, align 4, !tbaa !5
  %25543 = call ptr @__errno_location() #12
  store i32 %25542, ptr %25543, align 4, !tbaa !5
  %25544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25545 = load i32, ptr @test_count, align 4, !tbaa !5
  %25546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25547 = load i32, ptr %25546, align 4, !tbaa !5
  %25548 = call ptr @s2n_strerror(i32 noundef %25547, ptr noundef @.str.4)
  %25549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25550 = load i32, ptr %25549, align 4, !tbaa !5
  %25551 = call ptr @s2n_strerror_debug(i32 noundef %25550, ptr noundef @.str.4)
  %25552 = call ptr @__errno_location() #12
  %25553 = load i32, ptr %25552, align 4, !tbaa !5
  %25554 = call ptr @strerror(i32 noundef %25553) #11
  %25555 = call ptr @__errno_location() #12
  %25556 = load i32, ptr %25555, align 4, !tbaa !5
  %25557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25544, ptr noundef @.str.2, i32 noundef %25545, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 948, ptr noundef %25548, ptr noundef %25551, ptr noundef %25554, i32 noundef %25556) #11
  br label %25575

25558:                                            ; preds = %25536, %25529
  %25559 = load i32, ptr %537, align 4, !tbaa !5
  %25560 = call ptr @__errno_location() #12
  store i32 %25559, ptr %25560, align 4, !tbaa !5
  %25561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25562 = load i32, ptr @test_count, align 4, !tbaa !5
  %25563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25564 = load i32, ptr %25563, align 4, !tbaa !5
  %25565 = call ptr @s2n_strerror(i32 noundef %25564, ptr noundef @.str.4)
  %25566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25567 = load i32, ptr %25566, align 4, !tbaa !5
  %25568 = call ptr @s2n_strerror_debug(i32 noundef %25567, ptr noundef @.str.4)
  %25569 = call ptr @__errno_location() #12
  %25570 = load i32, ptr %25569, align 4, !tbaa !5
  %25571 = call ptr @strerror(i32 noundef %25570) #11
  %25572 = call ptr @__errno_location() #12
  %25573 = load i32, ptr %25572, align 4, !tbaa !5
  %25574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25561, ptr noundef @.str.5, i32 noundef %25562, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 948, ptr noundef %25565, ptr noundef %25568, ptr noundef %25571, i32 noundef %25573) #11
  br label %25575

25575:                                            ; preds = %25558, %25541
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #11
  br label %25576

25576:                                            ; preds = %25575
  br label %25577

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

25578:                                            ; No predecessors!
  br label %25579

25579:                                            ; preds = %25578
  br label %25580

25580:                                            ; preds = %25579, %25522
  br label %25581

25581:                                            ; preds = %25580
  br label %25582

25582:                                            ; preds = %25581
  br label %25583

25583:                                            ; preds = %25582
  %25584 = load i32, ptr @test_count, align 4, !tbaa !5
  %25585 = add nsw i32 %25584, 1
  store i32 %25585, ptr @test_count, align 4, !tbaa !5
  %25586 = load ptr, ptr %536, align 8, !tbaa !9
  %25587 = load ptr, ptr %533, align 8, !tbaa !9
  %25588 = call i32 @s2n_connection_set_config(ptr noundef %25586, ptr noundef %25587)
  %25589 = icmp eq i32 %25588, -1
  br i1 %25589, label %25590, label %25643

25590:                                            ; preds = %25583
  br label %25591

25591:                                            ; preds = %25590
  br label %25592

25592:                                            ; preds = %25591
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #11
  %25593 = call ptr @__errno_location() #12
  %25594 = load i32, ptr %25593, align 4, !tbaa !5
  store i32 %25594, ptr %538, align 4, !tbaa !5
  %25595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25596 = call i32 @s2n_print_stacktrace(ptr noundef %25595)
  %25597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25598 = trunc i8 %25597 to i1
  br i1 %25598, label %25599, label %25621

25599:                                            ; preds = %25592
  %25600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25601 = call i32 @fileno(ptr noundef %25600) #11
  %25602 = call i32 @isatty(i32 noundef %25601) #11
  %25603 = icmp ne i32 %25602, 0
  br i1 %25603, label %25604, label %25621

25604:                                            ; preds = %25599
  %25605 = load i32, ptr %538, align 4, !tbaa !5
  %25606 = call ptr @__errno_location() #12
  store i32 %25605, ptr %25606, align 4, !tbaa !5
  %25607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25608 = load i32, ptr @test_count, align 4, !tbaa !5
  %25609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25610 = load i32, ptr %25609, align 4, !tbaa !5
  %25611 = call ptr @s2n_strerror(i32 noundef %25610, ptr noundef @.str.4)
  %25612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25613 = load i32, ptr %25612, align 4, !tbaa !5
  %25614 = call ptr @s2n_strerror_debug(i32 noundef %25613, ptr noundef @.str.4)
  %25615 = call ptr @__errno_location() #12
  %25616 = load i32, ptr %25615, align 4, !tbaa !5
  %25617 = call ptr @strerror(i32 noundef %25616) #11
  %25618 = call ptr @__errno_location() #12
  %25619 = load i32, ptr %25618, align 4, !tbaa !5
  %25620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25607, ptr noundef @.str.2, i32 noundef %25608, ptr noundef @.str.188, ptr noundef @.str.1, i32 noundef 949, ptr noundef %25611, ptr noundef %25614, ptr noundef %25617, i32 noundef %25619) #11
  br label %25638

25621:                                            ; preds = %25599, %25592
  %25622 = load i32, ptr %538, align 4, !tbaa !5
  %25623 = call ptr @__errno_location() #12
  store i32 %25622, ptr %25623, align 4, !tbaa !5
  %25624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25625 = load i32, ptr @test_count, align 4, !tbaa !5
  %25626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25627 = load i32, ptr %25626, align 4, !tbaa !5
  %25628 = call ptr @s2n_strerror(i32 noundef %25627, ptr noundef @.str.4)
  %25629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25630 = load i32, ptr %25629, align 4, !tbaa !5
  %25631 = call ptr @s2n_strerror_debug(i32 noundef %25630, ptr noundef @.str.4)
  %25632 = call ptr @__errno_location() #12
  %25633 = load i32, ptr %25632, align 4, !tbaa !5
  %25634 = call ptr @strerror(i32 noundef %25633) #11
  %25635 = call ptr @__errno_location() #12
  %25636 = load i32, ptr %25635, align 4, !tbaa !5
  %25637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25624, ptr noundef @.str.5, i32 noundef %25625, ptr noundef @.str.188, ptr noundef @.str.1, i32 noundef 949, ptr noundef %25628, ptr noundef %25631, ptr noundef %25634, i32 noundef %25636) #11
  br label %25638

25638:                                            ; preds = %25621, %25604
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #11
  br label %25639

25639:                                            ; preds = %25638
  br label %25640

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

25641:                                            ; No predecessors!
  br label %25642

25642:                                            ; preds = %25641
  br label %25643

25643:                                            ; preds = %25642, %25583
  br label %25644

25644:                                            ; preds = %25643
  br label %25645

25645:                                            ; preds = %25644
  br label %25646

25646:                                            ; preds = %25645
  %25647 = load i32, ptr @test_count, align 4, !tbaa !5
  %25648 = add nsw i32 %25647, 1
  store i32 %25648, ptr @test_count, align 4, !tbaa !5
  %25649 = load ptr, ptr %536, align 8, !tbaa !9
  %25650 = call i32 @s2n_connection_set_blinding(ptr noundef %25649, i32 noundef 1)
  %25651 = icmp eq i32 %25650, -1
  br i1 %25651, label %25652, label %25705

25652:                                            ; preds = %25646
  br label %25653

25653:                                            ; preds = %25652
  br label %25654

25654:                                            ; preds = %25653
  call void @llvm.lifetime.start.p0(i64 4, ptr %539) #11
  %25655 = call ptr @__errno_location() #12
  %25656 = load i32, ptr %25655, align 4, !tbaa !5
  store i32 %25656, ptr %539, align 4, !tbaa !5
  %25657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25658 = call i32 @s2n_print_stacktrace(ptr noundef %25657)
  %25659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25660 = trunc i8 %25659 to i1
  br i1 %25660, label %25661, label %25683

25661:                                            ; preds = %25654
  %25662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25663 = call i32 @fileno(ptr noundef %25662) #11
  %25664 = call i32 @isatty(i32 noundef %25663) #11
  %25665 = icmp ne i32 %25664, 0
  br i1 %25665, label %25666, label %25683

25666:                                            ; preds = %25661
  %25667 = load i32, ptr %539, align 4, !tbaa !5
  %25668 = call ptr @__errno_location() #12
  store i32 %25667, ptr %25668, align 4, !tbaa !5
  %25669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25670 = load i32, ptr @test_count, align 4, !tbaa !5
  %25671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25672 = load i32, ptr %25671, align 4, !tbaa !5
  %25673 = call ptr @s2n_strerror(i32 noundef %25672, ptr noundef @.str.4)
  %25674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25675 = load i32, ptr %25674, align 4, !tbaa !5
  %25676 = call ptr @s2n_strerror_debug(i32 noundef %25675, ptr noundef @.str.4)
  %25677 = call ptr @__errno_location() #12
  %25678 = load i32, ptr %25677, align 4, !tbaa !5
  %25679 = call ptr @strerror(i32 noundef %25678) #11
  %25680 = call ptr @__errno_location() #12
  %25681 = load i32, ptr %25680, align 4, !tbaa !5
  %25682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25669, ptr noundef @.str.2, i32 noundef %25670, ptr noundef @.str.198, ptr noundef @.str.1, i32 noundef 950, ptr noundef %25673, ptr noundef %25676, ptr noundef %25679, i32 noundef %25681) #11
  br label %25700

25683:                                            ; preds = %25661, %25654
  %25684 = load i32, ptr %539, align 4, !tbaa !5
  %25685 = call ptr @__errno_location() #12
  store i32 %25684, ptr %25685, align 4, !tbaa !5
  %25686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25687 = load i32, ptr @test_count, align 4, !tbaa !5
  %25688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25689 = load i32, ptr %25688, align 4, !tbaa !5
  %25690 = call ptr @s2n_strerror(i32 noundef %25689, ptr noundef @.str.4)
  %25691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25692 = load i32, ptr %25691, align 4, !tbaa !5
  %25693 = call ptr @s2n_strerror_debug(i32 noundef %25692, ptr noundef @.str.4)
  %25694 = call ptr @__errno_location() #12
  %25695 = load i32, ptr %25694, align 4, !tbaa !5
  %25696 = call ptr @strerror(i32 noundef %25695) #11
  %25697 = call ptr @__errno_location() #12
  %25698 = load i32, ptr %25697, align 4, !tbaa !5
  %25699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25686, ptr noundef @.str.5, i32 noundef %25687, ptr noundef @.str.198, ptr noundef @.str.1, i32 noundef 950, ptr noundef %25690, ptr noundef %25693, ptr noundef %25696, i32 noundef %25698) #11
  br label %25700

25700:                                            ; preds = %25683, %25666
  call void @llvm.lifetime.end.p0(i64 4, ptr %539) #11
  br label %25701

25701:                                            ; preds = %25700
  br label %25702

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

25703:                                            ; No predecessors!
  br label %25704

25704:                                            ; preds = %25703
  br label %25705

25705:                                            ; preds = %25704, %25646
  br label %25706

25706:                                            ; preds = %25705
  br label %25707

25707:                                            ; preds = %25706
  call void @llvm.lifetime.start.p0(i64 8, ptr %540) #11
  call void @llvm.memset.p0.i64(ptr align 4 %540, i8 0, i64 8, i1 false)
  br label %25708

25708:                                            ; preds = %25707
  %25709 = load i32, ptr @test_count, align 4, !tbaa !5
  %25710 = add nsw i32 %25709, 1
  store i32 %25710, ptr @test_count, align 4, !tbaa !5
  %25711 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %540)
  %25712 = icmp eq i32 %25711, -1
  br i1 %25712, label %25713, label %25766

25713:                                            ; preds = %25708
  br label %25714

25714:                                            ; preds = %25713
  br label %25715

25715:                                            ; preds = %25714
  call void @llvm.lifetime.start.p0(i64 4, ptr %541) #11
  %25716 = call ptr @__errno_location() #12
  %25717 = load i32, ptr %25716, align 4, !tbaa !5
  store i32 %25717, ptr %541, align 4, !tbaa !5
  %25718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25719 = call i32 @s2n_print_stacktrace(ptr noundef %25718)
  %25720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25721 = trunc i8 %25720 to i1
  br i1 %25721, label %25722, label %25744

25722:                                            ; preds = %25715
  %25723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25724 = call i32 @fileno(ptr noundef %25723) #11
  %25725 = call i32 @isatty(i32 noundef %25724) #11
  %25726 = icmp ne i32 %25725, 0
  br i1 %25726, label %25727, label %25744

25727:                                            ; preds = %25722
  %25728 = load i32, ptr %541, align 4, !tbaa !5
  %25729 = call ptr @__errno_location() #12
  store i32 %25728, ptr %25729, align 4, !tbaa !5
  %25730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25731 = load i32, ptr @test_count, align 4, !tbaa !5
  %25732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25733 = load i32, ptr %25732, align 4, !tbaa !5
  %25734 = call ptr @s2n_strerror(i32 noundef %25733, ptr noundef @.str.4)
  %25735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25736 = load i32, ptr %25735, align 4, !tbaa !5
  %25737 = call ptr @s2n_strerror_debug(i32 noundef %25736, ptr noundef @.str.4)
  %25738 = call ptr @__errno_location() #12
  %25739 = load i32, ptr %25738, align 4, !tbaa !5
  %25740 = call ptr @strerror(i32 noundef %25739) #11
  %25741 = call ptr @__errno_location() #12
  %25742 = load i32, ptr %25741, align 4, !tbaa !5
  %25743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25730, ptr noundef @.str.2, i32 noundef %25731, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 953, ptr noundef %25734, ptr noundef %25737, ptr noundef %25740, i32 noundef %25742) #11
  br label %25761

25744:                                            ; preds = %25722, %25715
  %25745 = load i32, ptr %541, align 4, !tbaa !5
  %25746 = call ptr @__errno_location() #12
  store i32 %25745, ptr %25746, align 4, !tbaa !5
  %25747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25748 = load i32, ptr @test_count, align 4, !tbaa !5
  %25749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25750 = load i32, ptr %25749, align 4, !tbaa !5
  %25751 = call ptr @s2n_strerror(i32 noundef %25750, ptr noundef @.str.4)
  %25752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25753 = load i32, ptr %25752, align 4, !tbaa !5
  %25754 = call ptr @s2n_strerror_debug(i32 noundef %25753, ptr noundef @.str.4)
  %25755 = call ptr @__errno_location() #12
  %25756 = load i32, ptr %25755, align 4, !tbaa !5
  %25757 = call ptr @strerror(i32 noundef %25756) #11
  %25758 = call ptr @__errno_location() #12
  %25759 = load i32, ptr %25758, align 4, !tbaa !5
  %25760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25747, ptr noundef @.str.5, i32 noundef %25748, ptr noundef @.str.191, ptr noundef @.str.1, i32 noundef 953, ptr noundef %25751, ptr noundef %25754, ptr noundef %25757, i32 noundef %25759) #11
  br label %25761

25761:                                            ; preds = %25744, %25727
  call void @llvm.lifetime.end.p0(i64 4, ptr %541) #11
  br label %25762

25762:                                            ; preds = %25761
  br label %25763

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

25764:                                            ; No predecessors!
  br label %25765

25765:                                            ; preds = %25764
  br label %25766

25766:                                            ; preds = %25765, %25708
  br label %25767

25767:                                            ; preds = %25766
  br label %25768

25768:                                            ; preds = %25767
  br label %25769

25769:                                            ; preds = %25768
  %25770 = load i32, ptr @test_count, align 4, !tbaa !5
  %25771 = add nsw i32 %25770, 1
  store i32 %25771, ptr @test_count, align 4, !tbaa !5
  %25772 = load ptr, ptr %536, align 8, !tbaa !9
  %25773 = load ptr, ptr %530, align 8, !tbaa !9
  %25774 = call i32 @s2n_connections_set_io_pair(ptr noundef %25772, ptr noundef %25773, ptr noundef %540)
  %25775 = icmp eq i32 %25774, -1
  br i1 %25775, label %25776, label %25829

25776:                                            ; preds = %25769
  br label %25777

25777:                                            ; preds = %25776
  br label %25778

25778:                                            ; preds = %25777
  call void @llvm.lifetime.start.p0(i64 4, ptr %542) #11
  %25779 = call ptr @__errno_location() #12
  %25780 = load i32, ptr %25779, align 4, !tbaa !5
  store i32 %25780, ptr %542, align 4, !tbaa !5
  %25781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25782 = call i32 @s2n_print_stacktrace(ptr noundef %25781)
  %25783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25784 = trunc i8 %25783 to i1
  br i1 %25784, label %25785, label %25807

25785:                                            ; preds = %25778
  %25786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25787 = call i32 @fileno(ptr noundef %25786) #11
  %25788 = call i32 @isatty(i32 noundef %25787) #11
  %25789 = icmp ne i32 %25788, 0
  br i1 %25789, label %25790, label %25807

25790:                                            ; preds = %25785
  %25791 = load i32, ptr %542, align 4, !tbaa !5
  %25792 = call ptr @__errno_location() #12
  store i32 %25791, ptr %25792, align 4, !tbaa !5
  %25793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25794 = load i32, ptr @test_count, align 4, !tbaa !5
  %25795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25796 = load i32, ptr %25795, align 4, !tbaa !5
  %25797 = call ptr @s2n_strerror(i32 noundef %25796, ptr noundef @.str.4)
  %25798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25799 = load i32, ptr %25798, align 4, !tbaa !5
  %25800 = call ptr @s2n_strerror_debug(i32 noundef %25799, ptr noundef @.str.4)
  %25801 = call ptr @__errno_location() #12
  %25802 = load i32, ptr %25801, align 4, !tbaa !5
  %25803 = call ptr @strerror(i32 noundef %25802) #11
  %25804 = call ptr @__errno_location() #12
  %25805 = load i32, ptr %25804, align 4, !tbaa !5
  %25806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25793, ptr noundef @.str.2, i32 noundef %25794, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 954, ptr noundef %25797, ptr noundef %25800, ptr noundef %25803, i32 noundef %25805) #11
  br label %25824

25807:                                            ; preds = %25785, %25778
  %25808 = load i32, ptr %542, 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.4)
  %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.4)
  %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.5, i32 noundef %25811, ptr noundef @.str.192, ptr noundef @.str.1, i32 noundef 954, ptr noundef %25814, ptr noundef %25817, ptr noundef %25820, i32 noundef %25822) #11
  br label %25824

25824:                                            ; preds = %25807, %25790
  call void @llvm.lifetime.end.p0(i64 4, ptr %542) #11
  br label %25825

25825:                                            ; preds = %25824
  br label %25826

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

25827:                                            ; No predecessors!
  br label %25828

25828:                                            ; preds = %25827
  br label %25829

25829:                                            ; preds = %25828, %25769
  br label %25830

25830:                                            ; preds = %25829
  br label %25831

25831:                                            ; preds = %25830
  br label %25832

25832:                                            ; preds = %25831
  %25833 = load i32, ptr @test_count, align 4, !tbaa !5
  %25834 = add nsw i32 %25833, 1
  store i32 %25834, ptr @test_count, align 4, !tbaa !5
  %25835 = load ptr, ptr %526, align 8, !tbaa !9
  %25836 = getelementptr inbounds %struct.s2n_config, ptr %25835, i32 0, i32 37
  %25837 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %25836, i32 0, i32 1
  %25838 = load i8, ptr %25837, align 8
  %25839 = and i8 %25838, 1
  %25840 = zext i8 %25839 to i32
  %25841 = icmp ne i32 %25840, 0
  br i1 %25841, label %25842, label %25895

25842:                                            ; preds = %25832
  br label %25843

25843:                                            ; preds = %25842
  br label %25844

25844:                                            ; preds = %25843
  call void @llvm.lifetime.start.p0(i64 4, ptr %543) #11
  %25845 = call ptr @__errno_location() #12
  %25846 = load i32, ptr %25845, align 4, !tbaa !5
  store i32 %25846, ptr %543, align 4, !tbaa !5
  %25847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25848 = call i32 @s2n_print_stacktrace(ptr noundef %25847)
  %25849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25850 = trunc i8 %25849 to i1
  br i1 %25850, label %25851, label %25873

25851:                                            ; preds = %25844
  %25852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25853 = call i32 @fileno(ptr noundef %25852) #11
  %25854 = call i32 @isatty(i32 noundef %25853) #11
  %25855 = icmp ne i32 %25854, 0
  br i1 %25855, label %25856, label %25873

25856:                                            ; preds = %25851
  %25857 = load i32, ptr %543, align 4, !tbaa !5
  %25858 = call ptr @__errno_location() #12
  store i32 %25857, ptr %25858, align 4, !tbaa !5
  %25859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25860 = load i32, ptr @test_count, align 4, !tbaa !5
  %25861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25862 = load i32, ptr %25861, align 4, !tbaa !5
  %25863 = call ptr @s2n_strerror(i32 noundef %25862, ptr noundef @.str.4)
  %25864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25865 = load i32, ptr %25864, align 4, !tbaa !5
  %25866 = call ptr @s2n_strerror_debug(i32 noundef %25865, ptr noundef @.str.4)
  %25867 = call ptr @__errno_location() #12
  %25868 = load i32, ptr %25867, align 4, !tbaa !5
  %25869 = call ptr @strerror(i32 noundef %25868) #11
  %25870 = call ptr @__errno_location() #12
  %25871 = load i32, ptr %25870, align 4, !tbaa !5
  %25872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25859, ptr noundef @.str.2, i32 noundef %25860, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 956, ptr noundef %25863, ptr noundef %25866, ptr noundef %25869, i32 noundef %25871) #11
  br label %25890

25873:                                            ; preds = %25851, %25844
  %25874 = load i32, ptr %543, align 4, !tbaa !5
  %25875 = call ptr @__errno_location() #12
  store i32 %25874, ptr %25875, align 4, !tbaa !5
  %25876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25877 = load i32, ptr @test_count, align 4, !tbaa !5
  %25878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25879 = load i32, ptr %25878, align 4, !tbaa !5
  %25880 = call ptr @s2n_strerror(i32 noundef %25879, ptr noundef @.str.4)
  %25881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25882 = load i32, ptr %25881, align 4, !tbaa !5
  %25883 = call ptr @s2n_strerror_debug(i32 noundef %25882, ptr noundef @.str.4)
  %25884 = call ptr @__errno_location() #12
  %25885 = load i32, ptr %25884, align 4, !tbaa !5
  %25886 = call ptr @strerror(i32 noundef %25885) #11
  %25887 = call ptr @__errno_location() #12
  %25888 = load i32, ptr %25887, align 4, !tbaa !5
  %25889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25876, ptr noundef @.str.5, i32 noundef %25877, ptr noundef @.str.193, ptr noundef @.str.1, i32 noundef 956, ptr noundef %25880, ptr noundef %25883, ptr noundef %25886, i32 noundef %25888) #11
  br label %25890

25890:                                            ; preds = %25873, %25856
  call void @llvm.lifetime.end.p0(i64 4, ptr %543) #11
  br label %25891

25891:                                            ; preds = %25890
  br label %25892

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

25893:                                            ; No predecessors!
  br label %25894

25894:                                            ; preds = %25893
  br label %25895

25895:                                            ; preds = %25894, %25832
  br label %25896

25896:                                            ; preds = %25895
  br label %25897

25897:                                            ; preds = %25896
  br label %25898

25898:                                            ; preds = %25897
  %25899 = load i32, ptr @test_count, align 4, !tbaa !5
  %25900 = add nsw i32 %25899, 1
  store i32 %25900, ptr @test_count, align 4, !tbaa !5
  %25901 = load ptr, ptr %526, align 8, !tbaa !9
  %25902 = getelementptr inbounds %struct.s2n_config, ptr %25901, i32 0, i32 37
  %25903 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %25902, i32 0, i32 0
  %25904 = load ptr, ptr %25903, align 8, !tbaa !74
  %25905 = icmp eq ptr %25904, null
  br i1 %25905, label %25959, label %25906

25906:                                            ; preds = %25898
  br label %25907

25907:                                            ; preds = %25906
  br label %25908

25908:                                            ; preds = %25907
  call void @llvm.lifetime.start.p0(i64 4, ptr %544) #11
  %25909 = call ptr @__errno_location() #12
  %25910 = load i32, ptr %25909, align 4, !tbaa !5
  store i32 %25910, ptr %544, align 4, !tbaa !5
  %25911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25912 = call i32 @s2n_print_stacktrace(ptr noundef %25911)
  %25913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25914 = trunc i8 %25913 to i1
  br i1 %25914, label %25915, label %25937

25915:                                            ; preds = %25908
  %25916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25917 = call i32 @fileno(ptr noundef %25916) #11
  %25918 = call i32 @isatty(i32 noundef %25917) #11
  %25919 = icmp ne i32 %25918, 0
  br i1 %25919, label %25920, label %25937

25920:                                            ; preds = %25915
  %25921 = load i32, ptr %544, align 4, !tbaa !5
  %25922 = call ptr @__errno_location() #12
  store i32 %25921, ptr %25922, align 4, !tbaa !5
  %25923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25924 = load i32, ptr @test_count, align 4, !tbaa !5
  %25925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25926 = load i32, ptr %25925, align 4, !tbaa !5
  %25927 = call ptr @s2n_strerror(i32 noundef %25926, ptr noundef @.str.4)
  %25928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25929 = load i32, ptr %25928, align 4, !tbaa !5
  %25930 = call ptr @s2n_strerror_debug(i32 noundef %25929, ptr noundef @.str.4)
  %25931 = call ptr @__errno_location() #12
  %25932 = load i32, ptr %25931, align 4, !tbaa !5
  %25933 = call ptr @strerror(i32 noundef %25932) #11
  %25934 = call ptr @__errno_location() #12
  %25935 = load i32, ptr %25934, align 4, !tbaa !5
  %25936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25923, ptr noundef @.str.2, i32 noundef %25924, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 957, ptr noundef %25927, ptr noundef %25930, ptr noundef %25933, i32 noundef %25935) #11
  br label %25954

25937:                                            ; preds = %25915, %25908
  %25938 = load i32, ptr %544, align 4, !tbaa !5
  %25939 = call ptr @__errno_location() #12
  store i32 %25938, ptr %25939, align 4, !tbaa !5
  %25940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25941 = load i32, ptr @test_count, align 4, !tbaa !5
  %25942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25943 = load i32, ptr %25942, align 4, !tbaa !5
  %25944 = call ptr @s2n_strerror(i32 noundef %25943, ptr noundef @.str.4)
  %25945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25946 = load i32, ptr %25945, align 4, !tbaa !5
  %25947 = call ptr @s2n_strerror_debug(i32 noundef %25946, ptr noundef @.str.4)
  %25948 = call ptr @__errno_location() #12
  %25949 = load i32, ptr %25948, align 4, !tbaa !5
  %25950 = call ptr @strerror(i32 noundef %25949) #11
  %25951 = call ptr @__errno_location() #12
  %25952 = load i32, ptr %25951, align 4, !tbaa !5
  %25953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25940, ptr noundef @.str.5, i32 noundef %25941, ptr noundef @.str.194, ptr noundef @.str.1, i32 noundef 957, ptr noundef %25944, ptr noundef %25947, ptr noundef %25950, i32 noundef %25952) #11
  br label %25954

25954:                                            ; preds = %25937, %25920
  call void @llvm.lifetime.end.p0(i64 4, ptr %544) #11
  br label %25955

25955:                                            ; preds = %25954
  br label %25956

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

25957:                                            ; No predecessors!
  br label %25958

25958:                                            ; preds = %25957
  br label %25959

25959:                                            ; preds = %25958, %25898
  br label %25960

25960:                                            ; preds = %25959
  br label %25961

25961:                                            ; preds = %25960
  br label %25962

25962:                                            ; preds = %25961
  %25963 = load i32, ptr @test_count, align 4, !tbaa !5
  %25964 = add nsw i32 %25963, 1
  store i32 %25964, ptr @test_count, align 4, !tbaa !5
  %25965 = load ptr, ptr %533, align 8, !tbaa !9
  %25966 = getelementptr inbounds %struct.s2n_config, ptr %25965, i32 0, i32 37
  %25967 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %25966, i32 0, i32 1
  %25968 = load i8, ptr %25967, align 8
  %25969 = and i8 %25968, 1
  %25970 = zext i8 %25969 to i32
  %25971 = icmp ne i32 %25970, 0
  br i1 %25971, label %25972, label %26025

25972:                                            ; preds = %25962
  br label %25973

25973:                                            ; preds = %25972
  br label %25974

25974:                                            ; preds = %25973
  call void @llvm.lifetime.start.p0(i64 4, ptr %545) #11
  %25975 = call ptr @__errno_location() #12
  %25976 = load i32, ptr %25975, align 4, !tbaa !5
  store i32 %25976, ptr %545, align 4, !tbaa !5
  %25977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25978 = call i32 @s2n_print_stacktrace(ptr noundef %25977)
  %25979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25980 = trunc i8 %25979 to i1
  br i1 %25980, label %25981, label %26003

25981:                                            ; preds = %25974
  %25982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25983 = call i32 @fileno(ptr noundef %25982) #11
  %25984 = call i32 @isatty(i32 noundef %25983) #11
  %25985 = icmp ne i32 %25984, 0
  br i1 %25985, label %25986, label %26003

25986:                                            ; preds = %25981
  %25987 = load i32, ptr %545, align 4, !tbaa !5
  %25988 = call ptr @__errno_location() #12
  store i32 %25987, ptr %25988, align 4, !tbaa !5
  %25989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25990 = load i32, ptr @test_count, align 4, !tbaa !5
  %25991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25992 = load i32, ptr %25991, align 4, !tbaa !5
  %25993 = call ptr @s2n_strerror(i32 noundef %25992, ptr noundef @.str.4)
  %25994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25995 = load i32, ptr %25994, align 4, !tbaa !5
  %25996 = call ptr @s2n_strerror_debug(i32 noundef %25995, ptr noundef @.str.4)
  %25997 = call ptr @__errno_location() #12
  %25998 = load i32, ptr %25997, align 4, !tbaa !5
  %25999 = call ptr @strerror(i32 noundef %25998) #11
  %26000 = call ptr @__errno_location() #12
  %26001 = load i32, ptr %26000, align 4, !tbaa !5
  %26002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25989, ptr noundef @.str.2, i32 noundef %25990, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 959, ptr noundef %25993, ptr noundef %25996, ptr noundef %25999, i32 noundef %26001) #11
  br label %26020

26003:                                            ; preds = %25981, %25974
  %26004 = load i32, ptr %545, align 4, !tbaa !5
  %26005 = call ptr @__errno_location() #12
  store i32 %26004, ptr %26005, align 4, !tbaa !5
  %26006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26007 = load i32, ptr @test_count, align 4, !tbaa !5
  %26008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26009 = load i32, ptr %26008, align 4, !tbaa !5
  %26010 = call ptr @s2n_strerror(i32 noundef %26009, ptr noundef @.str.4)
  %26011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26012 = load i32, ptr %26011, align 4, !tbaa !5
  %26013 = call ptr @s2n_strerror_debug(i32 noundef %26012, ptr noundef @.str.4)
  %26014 = call ptr @__errno_location() #12
  %26015 = load i32, ptr %26014, align 4, !tbaa !5
  %26016 = call ptr @strerror(i32 noundef %26015) #11
  %26017 = call ptr @__errno_location() #12
  %26018 = load i32, ptr %26017, align 4, !tbaa !5
  %26019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26006, ptr noundef @.str.5, i32 noundef %26007, ptr noundef @.str.195, ptr noundef @.str.1, i32 noundef 959, ptr noundef %26010, ptr noundef %26013, ptr noundef %26016, i32 noundef %26018) #11
  br label %26020

26020:                                            ; preds = %26003, %25986
  call void @llvm.lifetime.end.p0(i64 4, ptr %545) #11
  br label %26021

26021:                                            ; preds = %26020
  br label %26022

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

26023:                                            ; No predecessors!
  br label %26024

26024:                                            ; preds = %26023
  br label %26025

26025:                                            ; preds = %26024, %25962
  br label %26026

26026:                                            ; preds = %26025
  br label %26027

26027:                                            ; preds = %26026
  br label %26028

26028:                                            ; preds = %26027
  %26029 = load i32, ptr @test_count, align 4, !tbaa !5
  %26030 = add nsw i32 %26029, 1
  store i32 %26030, ptr @test_count, align 4, !tbaa !5
  %26031 = load ptr, ptr %533, align 8, !tbaa !9
  %26032 = getelementptr inbounds %struct.s2n_config, ptr %26031, i32 0, i32 37
  %26033 = getelementptr inbounds %struct.s2n_x509_trust_store, ptr %26032, i32 0, i32 0
  %26034 = load ptr, ptr %26033, align 8, !tbaa !74
  %26035 = icmp eq ptr %26034, null
  br i1 %26035, label %26089, label %26036

26036:                                            ; preds = %26028
  br label %26037

26037:                                            ; preds = %26036
  br label %26038

26038:                                            ; preds = %26037
  call void @llvm.lifetime.start.p0(i64 4, ptr %546) #11
  %26039 = call ptr @__errno_location() #12
  %26040 = load i32, ptr %26039, align 4, !tbaa !5
  store i32 %26040, ptr %546, align 4, !tbaa !5
  %26041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26042 = call i32 @s2n_print_stacktrace(ptr noundef %26041)
  %26043 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26044 = trunc i8 %26043 to i1
  br i1 %26044, label %26045, label %26067

26045:                                            ; preds = %26038
  %26046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26047 = call i32 @fileno(ptr noundef %26046) #11
  %26048 = call i32 @isatty(i32 noundef %26047) #11
  %26049 = icmp ne i32 %26048, 0
  br i1 %26049, label %26050, label %26067

26050:                                            ; preds = %26045
  %26051 = load i32, ptr %546, align 4, !tbaa !5
  %26052 = call ptr @__errno_location() #12
  store i32 %26051, ptr %26052, align 4, !tbaa !5
  %26053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26054 = load i32, ptr @test_count, align 4, !tbaa !5
  %26055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26056 = load i32, ptr %26055, align 4, !tbaa !5
  %26057 = call ptr @s2n_strerror(i32 noundef %26056, ptr noundef @.str.4)
  %26058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26059 = load i32, ptr %26058, align 4, !tbaa !5
  %26060 = call ptr @s2n_strerror_debug(i32 noundef %26059, ptr noundef @.str.4)
  %26061 = call ptr @__errno_location() #12
  %26062 = load i32, ptr %26061, align 4, !tbaa !5
  %26063 = call ptr @strerror(i32 noundef %26062) #11
  %26064 = call ptr @__errno_location() #12
  %26065 = load i32, ptr %26064, align 4, !tbaa !5
  %26066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26053, ptr noundef @.str.2, i32 noundef %26054, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 960, ptr noundef %26057, ptr noundef %26060, ptr noundef %26063, i32 noundef %26065) #11
  br label %26084

26067:                                            ; preds = %26045, %26038
  %26068 = load i32, ptr %546, align 4, !tbaa !5
  %26069 = call ptr @__errno_location() #12
  store i32 %26068, ptr %26069, align 4, !tbaa !5
  %26070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26071 = load i32, ptr @test_count, align 4, !tbaa !5
  %26072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26073 = load i32, ptr %26072, align 4, !tbaa !5
  %26074 = call ptr @s2n_strerror(i32 noundef %26073, ptr noundef @.str.4)
  %26075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26076 = load i32, ptr %26075, align 4, !tbaa !5
  %26077 = call ptr @s2n_strerror_debug(i32 noundef %26076, ptr noundef @.str.4)
  %26078 = call ptr @__errno_location() #12
  %26079 = load i32, ptr %26078, align 4, !tbaa !5
  %26080 = call ptr @strerror(i32 noundef %26079) #11
  %26081 = call ptr @__errno_location() #12
  %26082 = load i32, ptr %26081, align 4, !tbaa !5
  %26083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26070, ptr noundef @.str.5, i32 noundef %26071, ptr noundef @.str.199, ptr noundef @.str.1, i32 noundef 960, ptr noundef %26074, ptr noundef %26077, ptr noundef %26080, i32 noundef %26082) #11
  br label %26084

26084:                                            ; preds = %26067, %26050
  call void @llvm.lifetime.end.p0(i64 4, ptr %546) #11
  br label %26085

26085:                                            ; preds = %26084
  br label %26086

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

26087:                                            ; No predecessors!
  br label %26088

26088:                                            ; preds = %26087
  br label %26089

26089:                                            ; preds = %26088, %26028
  br label %26090

26090:                                            ; preds = %26089
  br label %26091

26091:                                            ; preds = %26090
  br label %26092

26092:                                            ; preds = %26091
  br label %26093

26093:                                            ; preds = %26092
  br label %26094

26094:                                            ; preds = %26093
  %26095 = load i32, ptr @test_count, align 4, !tbaa !5
  %26096 = add nsw i32 %26095, 1
  store i32 %26096, ptr @test_count, align 4, !tbaa !5
  %26097 = load ptr, ptr %530, align 8, !tbaa !9
  %26098 = load ptr, ptr %536, align 8, !tbaa !9
  %26099 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %26097, ptr noundef %26098)
  %26100 = icmp eq i32 %26099, -1
  br i1 %26100, label %26154, label %26101

26101:                                            ; preds = %26094
  br label %26102

26102:                                            ; preds = %26101
  br label %26103

26103:                                            ; preds = %26102
  call void @llvm.lifetime.start.p0(i64 4, ptr %547) #11
  %26104 = call ptr @__errno_location() #12
  %26105 = load i32, ptr %26104, align 4, !tbaa !5
  store i32 %26105, ptr %547, align 4, !tbaa !5
  %26106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26107 = call i32 @s2n_print_stacktrace(ptr noundef %26106)
  %26108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26109 = trunc i8 %26108 to i1
  br i1 %26109, label %26110, label %26132

26110:                                            ; preds = %26103
  %26111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26112 = call i32 @fileno(ptr noundef %26111) #11
  %26113 = call i32 @isatty(i32 noundef %26112) #11
  %26114 = icmp ne i32 %26113, 0
  br i1 %26114, label %26115, label %26132

26115:                                            ; preds = %26110
  %26116 = load i32, ptr %547, align 4, !tbaa !5
  %26117 = call ptr @__errno_location() #12
  store i32 %26116, ptr %26117, align 4, !tbaa !5
  %26118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26119 = load i32, ptr @test_count, align 4, !tbaa !5
  %26120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26121 = load i32, ptr %26120, align 4, !tbaa !5
  %26122 = call ptr @s2n_strerror(i32 noundef %26121, ptr noundef @.str.4)
  %26123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26124 = load i32, ptr %26123, align 4, !tbaa !5
  %26125 = call ptr @s2n_strerror_debug(i32 noundef %26124, ptr noundef @.str.4)
  %26126 = call ptr @__errno_location() #12
  %26127 = load i32, ptr %26126, align 4, !tbaa !5
  %26128 = call ptr @strerror(i32 noundef %26127) #11
  %26129 = call ptr @__errno_location() #12
  %26130 = load i32, ptr %26129, align 4, !tbaa !5
  %26131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26118, ptr noundef @.str.2, i32 noundef %26119, ptr noundef @.str.200, ptr noundef @.str.1, i32 noundef 964, ptr noundef %26122, ptr noundef %26125, ptr noundef %26128, i32 noundef %26130) #11
  br label %26149

26132:                                            ; preds = %26110, %26103
  %26133 = load i32, ptr %547, align 4, !tbaa !5
  %26134 = call ptr @__errno_location() #12
  store i32 %26133, ptr %26134, align 4, !tbaa !5
  %26135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26136 = load i32, ptr @test_count, align 4, !tbaa !5
  %26137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26138 = load i32, ptr %26137, align 4, !tbaa !5
  %26139 = call ptr @s2n_strerror(i32 noundef %26138, ptr noundef @.str.4)
  %26140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26141 = load i32, ptr %26140, align 4, !tbaa !5
  %26142 = call ptr @s2n_strerror_debug(i32 noundef %26141, ptr noundef @.str.4)
  %26143 = call ptr @__errno_location() #12
  %26144 = load i32, ptr %26143, align 4, !tbaa !5
  %26145 = call ptr @strerror(i32 noundef %26144) #11
  %26146 = call ptr @__errno_location() #12
  %26147 = load i32, ptr %26146, align 4, !tbaa !5
  %26148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26135, ptr noundef @.str.5, i32 noundef %26136, ptr noundef @.str.200, ptr noundef @.str.1, i32 noundef 964, ptr noundef %26139, ptr noundef %26142, ptr noundef %26145, i32 noundef %26147) #11
  br label %26149

26149:                                            ; preds = %26132, %26115
  call void @llvm.lifetime.end.p0(i64 4, ptr %547) #11
  br label %26150

26150:                                            ; preds = %26149
  br label %26151

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

26152:                                            ; No predecessors!
  br label %26153

26153:                                            ; preds = %26152
  br label %26154

26154:                                            ; preds = %26153, %26094
  br label %26155

26155:                                            ; preds = %26154
  br label %26156

26156:                                            ; preds = %26155
  br label %26157

26157:                                            ; preds = %26156
  %26158 = load i32, ptr @test_count, align 4, !tbaa !5
  %26159 = add nsw i32 %26158, 1
  store i32 %26159, ptr @test_count, align 4, !tbaa !5
  %26160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26161 = load i32, ptr %26160, align 4, !tbaa !5
  %26162 = icmp eq i32 %26161, 335544366
  br i1 %26162, label %26216, label %26163

26163:                                            ; preds = %26157
  br label %26164

26164:                                            ; preds = %26163
  br label %26165

26165:                                            ; preds = %26164
  call void @llvm.lifetime.start.p0(i64 4, ptr %548) #11
  %26166 = call ptr @__errno_location() #12
  %26167 = load i32, ptr %26166, align 4, !tbaa !5
  store i32 %26167, ptr %548, align 4, !tbaa !5
  %26168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26169 = call i32 @s2n_print_stacktrace(ptr noundef %26168)
  %26170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26171 = trunc i8 %26170 to i1
  br i1 %26171, label %26172, label %26194

26172:                                            ; preds = %26165
  %26173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26174 = call i32 @fileno(ptr noundef %26173) #11
  %26175 = call i32 @isatty(i32 noundef %26174) #11
  %26176 = icmp ne i32 %26175, 0
  br i1 %26176, label %26177, label %26194

26177:                                            ; preds = %26172
  %26178 = load i32, ptr %548, align 4, !tbaa !5
  %26179 = call ptr @__errno_location() #12
  store i32 %26178, ptr %26179, align 4, !tbaa !5
  %26180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26181 = load i32, ptr @test_count, align 4, !tbaa !5
  %26182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26183 = load i32, ptr %26182, align 4, !tbaa !5
  %26184 = call ptr @s2n_strerror(i32 noundef %26183, ptr noundef @.str.4)
  %26185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26186 = load i32, ptr %26185, align 4, !tbaa !5
  %26187 = call ptr @s2n_strerror_debug(i32 noundef %26186, ptr noundef @.str.4)
  %26188 = call ptr @__errno_location() #12
  %26189 = load i32, ptr %26188, align 4, !tbaa !5
  %26190 = call ptr @strerror(i32 noundef %26189) #11
  %26191 = call ptr @__errno_location() #12
  %26192 = load i32, ptr %26191, align 4, !tbaa !5
  %26193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26180, ptr noundef @.str.2, i32 noundef %26181, ptr noundef @.str.201, ptr noundef @.str.1, i32 noundef 964, ptr noundef %26184, ptr noundef %26187, ptr noundef %26190, i32 noundef %26192) #11
  br label %26211

26194:                                            ; preds = %26172, %26165
  %26195 = load i32, ptr %548, align 4, !tbaa !5
  %26196 = call ptr @__errno_location() #12
  store i32 %26195, ptr %26196, align 4, !tbaa !5
  %26197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26198 = load i32, ptr @test_count, align 4, !tbaa !5
  %26199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26200 = load i32, ptr %26199, align 4, !tbaa !5
  %26201 = call ptr @s2n_strerror(i32 noundef %26200, ptr noundef @.str.4)
  %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_debug(i32 noundef %26203, ptr noundef @.str.4)
  %26205 = call ptr @__errno_location() #12
  %26206 = load i32, ptr %26205, align 4, !tbaa !5
  %26207 = call ptr @strerror(i32 noundef %26206) #11
  %26208 = call ptr @__errno_location() #12
  %26209 = load i32, ptr %26208, align 4, !tbaa !5
  %26210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26197, ptr noundef @.str.5, i32 noundef %26198, ptr noundef @.str.201, ptr noundef @.str.1, i32 noundef 964, ptr noundef %26201, ptr noundef %26204, ptr noundef %26207, i32 noundef %26209) #11
  br label %26211

26211:                                            ; preds = %26194, %26177
  call void @llvm.lifetime.end.p0(i64 4, ptr %548) #11
  br label %26212

26212:                                            ; preds = %26211
  br label %26213

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

26214:                                            ; No predecessors!
  br label %26215

26215:                                            ; preds = %26214
  br label %26216

26216:                                            ; preds = %26215, %26157
  br label %26217

26217:                                            ; preds = %26216
  br label %26218

26218:                                            ; preds = %26217
  br label %26219

26219:                                            ; preds = %26218
  %26220 = load i32, ptr @test_count, align 4, !tbaa !5
  %26221 = add nsw i32 %26220, 1
  store i32 %26221, ptr @test_count, align 4, !tbaa !5
  %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.4)
  %26225 = icmp eq ptr %26224, null
  br i1 %26225, label %26226, label %26279

26226:                                            ; preds = %26219
  br label %26227

26227:                                            ; preds = %26226
  br label %26228

26228:                                            ; preds = %26227
  call void @llvm.lifetime.start.p0(i64 4, ptr %549) #11
  %26229 = call ptr @__errno_location() #12
  %26230 = load i32, ptr %26229, align 4, !tbaa !5
  store i32 %26230, ptr %549, align 4, !tbaa !5
  %26231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26232 = call i32 @s2n_print_stacktrace(ptr noundef %26231)
  %26233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26234 = trunc i8 %26233 to i1
  br i1 %26234, label %26235, label %26257

26235:                                            ; preds = %26228
  %26236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26237 = call i32 @fileno(ptr noundef %26236) #11
  %26238 = call i32 @isatty(i32 noundef %26237) #11
  %26239 = icmp ne i32 %26238, 0
  br i1 %26239, label %26240, label %26257

26240:                                            ; preds = %26235
  %26241 = load i32, ptr %549, align 4, !tbaa !5
  %26242 = call ptr @__errno_location() #12
  store i32 %26241, ptr %26242, align 4, !tbaa !5
  %26243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26244 = load i32, ptr @test_count, align 4, !tbaa !5
  %26245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26246 = load i32, ptr %26245, align 4, !tbaa !5
  %26247 = call ptr @s2n_strerror(i32 noundef %26246, ptr noundef @.str.4)
  %26248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26249 = load i32, ptr %26248, align 4, !tbaa !5
  %26250 = call ptr @s2n_strerror_debug(i32 noundef %26249, ptr noundef @.str.4)
  %26251 = call ptr @__errno_location() #12
  %26252 = load i32, ptr %26251, align 4, !tbaa !5
  %26253 = call ptr @strerror(i32 noundef %26252) #11
  %26254 = call ptr @__errno_location() #12
  %26255 = load i32, ptr %26254, align 4, !tbaa !5
  %26256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26243, ptr noundef @.str.2, i32 noundef %26244, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 964, ptr noundef %26247, ptr noundef %26250, ptr noundef %26253, i32 noundef %26255) #11
  br label %26274

26257:                                            ; preds = %26235, %26228
  %26258 = load i32, ptr %549, align 4, !tbaa !5
  %26259 = call ptr @__errno_location() #12
  store i32 %26258, ptr %26259, align 4, !tbaa !5
  %26260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26261 = load i32, ptr @test_count, align 4, !tbaa !5
  %26262 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26263 = load i32, ptr %26262, align 4, !tbaa !5
  %26264 = call ptr @s2n_strerror(i32 noundef %26263, ptr noundef @.str.4)
  %26265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26266 = load i32, ptr %26265, align 4, !tbaa !5
  %26267 = call ptr @s2n_strerror_debug(i32 noundef %26266, ptr noundef @.str.4)
  %26268 = call ptr @__errno_location() #12
  %26269 = load i32, ptr %26268, align 4, !tbaa !5
  %26270 = call ptr @strerror(i32 noundef %26269) #11
  %26271 = call ptr @__errno_location() #12
  %26272 = load i32, ptr %26271, align 4, !tbaa !5
  %26273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26260, ptr noundef @.str.5, i32 noundef %26261, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 964, ptr noundef %26264, ptr noundef %26267, ptr noundef %26270, i32 noundef %26272) #11
  br label %26274

26274:                                            ; preds = %26257, %26240
  call void @llvm.lifetime.end.p0(i64 4, ptr %549) #11
  br label %26275

26275:                                            ; preds = %26274
  br label %26276

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

26277:                                            ; No predecessors!
  br label %26278

26278:                                            ; preds = %26277
  br label %26279

26279:                                            ; preds = %26278, %26219
  br label %26280

26280:                                            ; preds = %26279
  br label %26281

26281:                                            ; preds = %26280
  br label %26282

26282:                                            ; preds = %26281
  br label %26283

26283:                                            ; preds = %26282
  br label %26284

26284:                                            ; preds = %26283
  %26285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26285, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26286 = call ptr @__errno_location() #12
  store i32 0, ptr %26286, align 4, !tbaa !5
  br label %26287

26287:                                            ; preds = %26284
  br label %26288

26288:                                            ; preds = %26287
  br label %26289

26289:                                            ; preds = %26288
  br label %26290

26290:                                            ; preds = %26289
  %26291 = call i32 @s2n_io_pair_close(ptr noundef %540)
  call void @llvm.lifetime.end.p0(i64 8, ptr %540) #11
  %26292 = call i32 @s2n_connection_ptr_free(ptr noundef %536)
  %26293 = getelementptr inbounds %struct.s2n_result, ptr %550, i32 0, i32 0
  store i32 %26292, ptr %26293, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %536) #11
  %26294 = call i32 @s2n_config_ptr_free(ptr noundef %533)
  %26295 = getelementptr inbounds %struct.s2n_result, ptr %551, i32 0, i32 0
  store i32 %26294, ptr %26295, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %533) #11
  %26296 = call i32 @s2n_connection_ptr_free(ptr noundef %530)
  %26297 = getelementptr inbounds %struct.s2n_result, ptr %552, i32 0, i32 0
  store i32 %26296, ptr %26297, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %530) #11
  %26298 = call i32 @s2n_config_ptr_free(ptr noundef %526)
  %26299 = getelementptr inbounds %struct.s2n_result, ptr %553, i32 0, i32 0
  store i32 %26298, ptr %26299, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %526) #11
  %26300 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %497)
  %26301 = getelementptr inbounds %struct.s2n_result, ptr %554, i32 0, i32 0
  store i32 %26300, ptr %26301, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %497) #11
  br label %26302

26302:                                            ; preds = %26290
  br label %26303

26303:                                            ; preds = %26302
  br label %26304

26304:                                            ; preds = %26303
  %26305 = load i32, ptr @test_count, align 4, !tbaa !5
  %26306 = add nsw i32 %26305, 1
  store i32 %26306, ptr @test_count, align 4, !tbaa !5
  %26307 = call i32 @s2n_config_disable_x509_time_verification(ptr noundef null)
  %26308 = icmp eq i32 %26307, -1
  br i1 %26308, label %26362, label %26309

26309:                                            ; preds = %26304
  br label %26310

26310:                                            ; preds = %26309
  br label %26311

26311:                                            ; preds = %26310
  call void @llvm.lifetime.start.p0(i64 4, ptr %555) #11
  %26312 = call ptr @__errno_location() #12
  %26313 = load i32, ptr %26312, align 4, !tbaa !5
  store i32 %26313, ptr %555, align 4, !tbaa !5
  %26314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26315 = call i32 @s2n_print_stacktrace(ptr noundef %26314)
  %26316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26317 = trunc i8 %26316 to i1
  br i1 %26317, label %26318, label %26340

26318:                                            ; preds = %26311
  %26319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26320 = call i32 @fileno(ptr noundef %26319) #11
  %26321 = call i32 @isatty(i32 noundef %26320) #11
  %26322 = icmp ne i32 %26321, 0
  br i1 %26322, label %26323, label %26340

26323:                                            ; preds = %26318
  %26324 = load i32, ptr %555, align 4, !tbaa !5
  %26325 = call ptr @__errno_location() #12
  store i32 %26324, ptr %26325, align 4, !tbaa !5
  %26326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26327 = load i32, ptr @test_count, align 4, !tbaa !5
  %26328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26329 = load i32, ptr %26328, align 4, !tbaa !5
  %26330 = call ptr @s2n_strerror(i32 noundef %26329, ptr noundef @.str.4)
  %26331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26332 = load i32, ptr %26331, align 4, !tbaa !5
  %26333 = call ptr @s2n_strerror_debug(i32 noundef %26332, ptr noundef @.str.4)
  %26334 = call ptr @__errno_location() #12
  %26335 = load i32, ptr %26334, align 4, !tbaa !5
  %26336 = call ptr @strerror(i32 noundef %26335) #11
  %26337 = call ptr @__errno_location() #12
  %26338 = load i32, ptr %26337, align 4, !tbaa !5
  %26339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26326, ptr noundef @.str.2, i32 noundef %26327, ptr noundef @.str.202, ptr noundef @.str.1, i32 noundef 972, ptr noundef %26330, ptr noundef %26333, ptr noundef %26336, i32 noundef %26338) #11
  br label %26357

26340:                                            ; preds = %26318, %26311
  %26341 = load i32, ptr %555, align 4, !tbaa !5
  %26342 = call ptr @__errno_location() #12
  store i32 %26341, ptr %26342, align 4, !tbaa !5
  %26343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26344 = load i32, ptr @test_count, align 4, !tbaa !5
  %26345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26346 = load i32, ptr %26345, align 4, !tbaa !5
  %26347 = call ptr @s2n_strerror(i32 noundef %26346, ptr noundef @.str.4)
  %26348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26349 = load i32, ptr %26348, align 4, !tbaa !5
  %26350 = call ptr @s2n_strerror_debug(i32 noundef %26349, ptr noundef @.str.4)
  %26351 = call ptr @__errno_location() #12
  %26352 = load i32, ptr %26351, align 4, !tbaa !5
  %26353 = call ptr @strerror(i32 noundef %26352) #11
  %26354 = call ptr @__errno_location() #12
  %26355 = load i32, ptr %26354, align 4, !tbaa !5
  %26356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26343, ptr noundef @.str.5, i32 noundef %26344, ptr noundef @.str.202, ptr noundef @.str.1, i32 noundef 972, ptr noundef %26347, ptr noundef %26350, ptr noundef %26353, i32 noundef %26355) #11
  br label %26357

26357:                                            ; preds = %26340, %26323
  call void @llvm.lifetime.end.p0(i64 4, ptr %555) #11
  br label %26358

26358:                                            ; preds = %26357
  br label %26359

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

26360:                                            ; No predecessors!
  br label %26361

26361:                                            ; preds = %26360
  br label %26362

26362:                                            ; preds = %26361, %26304
  br label %26363

26363:                                            ; preds = %26362
  br label %26364

26364:                                            ; preds = %26363
  br label %26365

26365:                                            ; preds = %26364
  %26366 = load i32, ptr @test_count, align 4, !tbaa !5
  %26367 = add nsw i32 %26366, 1
  store i32 %26367, ptr @test_count, align 4, !tbaa !5
  %26368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26369 = load i32, ptr %26368, align 4, !tbaa !5
  %26370 = icmp eq i32 %26369, 402653193
  br i1 %26370, label %26424, label %26371

26371:                                            ; preds = %26365
  br label %26372

26372:                                            ; preds = %26371
  br label %26373

26373:                                            ; preds = %26372
  call void @llvm.lifetime.start.p0(i64 4, ptr %556) #11
  %26374 = call ptr @__errno_location() #12
  %26375 = load i32, ptr %26374, align 4, !tbaa !5
  store i32 %26375, ptr %556, align 4, !tbaa !5
  %26376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26377 = call i32 @s2n_print_stacktrace(ptr noundef %26376)
  %26378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26379 = trunc i8 %26378 to i1
  br i1 %26379, label %26380, label %26402

26380:                                            ; preds = %26373
  %26381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26382 = call i32 @fileno(ptr noundef %26381) #11
  %26383 = call i32 @isatty(i32 noundef %26382) #11
  %26384 = icmp ne i32 %26383, 0
  br i1 %26384, label %26385, label %26402

26385:                                            ; preds = %26380
  %26386 = load i32, ptr %556, align 4, !tbaa !5
  %26387 = call ptr @__errno_location() #12
  store i32 %26386, ptr %26387, align 4, !tbaa !5
  %26388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26389 = load i32, ptr @test_count, align 4, !tbaa !5
  %26390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26391 = load i32, ptr %26390, align 4, !tbaa !5
  %26392 = call ptr @s2n_strerror(i32 noundef %26391, ptr noundef @.str.4)
  %26393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26394 = load i32, ptr %26393, align 4, !tbaa !5
  %26395 = call ptr @s2n_strerror_debug(i32 noundef %26394, ptr noundef @.str.4)
  %26396 = call ptr @__errno_location() #12
  %26397 = load i32, ptr %26396, align 4, !tbaa !5
  %26398 = call ptr @strerror(i32 noundef %26397) #11
  %26399 = call ptr @__errno_location() #12
  %26400 = load i32, ptr %26399, align 4, !tbaa !5
  %26401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26388, ptr noundef @.str.2, i32 noundef %26389, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 972, ptr noundef %26392, ptr noundef %26395, ptr noundef %26398, i32 noundef %26400) #11
  br label %26419

26402:                                            ; preds = %26380, %26373
  %26403 = load i32, ptr %556, align 4, !tbaa !5
  %26404 = call ptr @__errno_location() #12
  store i32 %26403, ptr %26404, align 4, !tbaa !5
  %26405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26406 = load i32, ptr @test_count, align 4, !tbaa !5
  %26407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26408 = load i32, ptr %26407, align 4, !tbaa !5
  %26409 = call ptr @s2n_strerror(i32 noundef %26408, ptr noundef @.str.4)
  %26410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26411 = load i32, ptr %26410, align 4, !tbaa !5
  %26412 = call ptr @s2n_strerror_debug(i32 noundef %26411, ptr noundef @.str.4)
  %26413 = call ptr @__errno_location() #12
  %26414 = load i32, ptr %26413, align 4, !tbaa !5
  %26415 = call ptr @strerror(i32 noundef %26414) #11
  %26416 = call ptr @__errno_location() #12
  %26417 = load i32, ptr %26416, align 4, !tbaa !5
  %26418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26405, ptr noundef @.str.5, i32 noundef %26406, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 972, ptr noundef %26409, ptr noundef %26412, ptr noundef %26415, i32 noundef %26417) #11
  br label %26419

26419:                                            ; preds = %26402, %26385
  call void @llvm.lifetime.end.p0(i64 4, ptr %556) #11
  br label %26420

26420:                                            ; preds = %26419
  br label %26421

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

26422:                                            ; No predecessors!
  br label %26423

26423:                                            ; preds = %26422
  br label %26424

26424:                                            ; preds = %26423, %26365
  br label %26425

26425:                                            ; preds = %26424
  br label %26426

26426:                                            ; preds = %26425
  br label %26427

26427:                                            ; preds = %26426
  %26428 = load i32, ptr @test_count, align 4, !tbaa !5
  %26429 = add nsw i32 %26428, 1
  store i32 %26429, ptr @test_count, align 4, !tbaa !5
  %26430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26431 = load i32, ptr %26430, align 4, !tbaa !5
  %26432 = call ptr @s2n_strerror_debug(i32 noundef %26431, ptr noundef @.str.4)
  %26433 = icmp eq ptr %26432, null
  br i1 %26433, label %26434, label %26487

26434:                                            ; preds = %26427
  br label %26435

26435:                                            ; preds = %26434
  br label %26436

26436:                                            ; preds = %26435
  call void @llvm.lifetime.start.p0(i64 4, ptr %557) #11
  %26437 = call ptr @__errno_location() #12
  %26438 = load i32, ptr %26437, align 4, !tbaa !5
  store i32 %26438, ptr %557, align 4, !tbaa !5
  %26439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26440 = call i32 @s2n_print_stacktrace(ptr noundef %26439)
  %26441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26442 = trunc i8 %26441 to i1
  br i1 %26442, label %26443, label %26465

26443:                                            ; preds = %26436
  %26444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26445 = call i32 @fileno(ptr noundef %26444) #11
  %26446 = call i32 @isatty(i32 noundef %26445) #11
  %26447 = icmp ne i32 %26446, 0
  br i1 %26447, label %26448, label %26465

26448:                                            ; preds = %26443
  %26449 = load i32, ptr %557, align 4, !tbaa !5
  %26450 = call ptr @__errno_location() #12
  store i32 %26449, ptr %26450, align 4, !tbaa !5
  %26451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26452 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %26454, ptr noundef @.str.4)
  %26456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26457 = load i32, ptr %26456, align 4, !tbaa !5
  %26458 = call ptr @s2n_strerror_debug(i32 noundef %26457, ptr noundef @.str.4)
  %26459 = call ptr @__errno_location() #12
  %26460 = load i32, ptr %26459, align 4, !tbaa !5
  %26461 = call ptr @strerror(i32 noundef %26460) #11
  %26462 = call ptr @__errno_location() #12
  %26463 = load i32, ptr %26462, align 4, !tbaa !5
  %26464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26451, ptr noundef @.str.2, i32 noundef %26452, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 972, ptr noundef %26455, ptr noundef %26458, ptr noundef %26461, i32 noundef %26463) #11
  br label %26482

26465:                                            ; preds = %26443, %26436
  %26466 = load i32, ptr %557, align 4, !tbaa !5
  %26467 = call ptr @__errno_location() #12
  store i32 %26466, ptr %26467, align 4, !tbaa !5
  %26468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26469 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %26471, ptr noundef @.str.4)
  %26473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26474 = load i32, ptr %26473, align 4, !tbaa !5
  %26475 = call ptr @s2n_strerror_debug(i32 noundef %26474, ptr noundef @.str.4)
  %26476 = call ptr @__errno_location() #12
  %26477 = load i32, ptr %26476, align 4, !tbaa !5
  %26478 = call ptr @strerror(i32 noundef %26477) #11
  %26479 = call ptr @__errno_location() #12
  %26480 = load i32, ptr %26479, align 4, !tbaa !5
  %26481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26468, ptr noundef @.str.5, i32 noundef %26469, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 972, ptr noundef %26472, ptr noundef %26475, ptr noundef %26478, i32 noundef %26480) #11
  br label %26482

26482:                                            ; preds = %26465, %26448
  call void @llvm.lifetime.end.p0(i64 4, ptr %557) #11
  br label %26483

26483:                                            ; preds = %26482
  br label %26484

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

26485:                                            ; No predecessors!
  br label %26486

26486:                                            ; preds = %26485
  br label %26487

26487:                                            ; preds = %26486, %26427
  br label %26488

26488:                                            ; preds = %26487
  br label %26489

26489:                                            ; preds = %26488
  br label %26490

26490:                                            ; preds = %26489
  br label %26491

26491:                                            ; preds = %26490
  br label %26492

26492:                                            ; preds = %26491
  %26493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26493, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26494 = call ptr @__errno_location() #12
  store i32 0, ptr %26494, align 4, !tbaa !5
  br label %26495

26495:                                            ; preds = %26492
  br label %26496

26496:                                            ; preds = %26495
  br label %26497

26497:                                            ; preds = %26496
  br label %26498

26498:                                            ; preds = %26497
  call void @llvm.lifetime.start.p0(i64 8, ptr %558) #11
  %26499 = call ptr @s2n_config_new()
  store ptr %26499, ptr %558, align 8, !tbaa !9
  br label %26500

26500:                                            ; preds = %26498
  %26501 = load i32, ptr @test_count, align 4, !tbaa !5
  %26502 = add nsw i32 %26501, 1
  store i32 %26502, ptr @test_count, align 4, !tbaa !5
  %26503 = load ptr, ptr %558, align 8, !tbaa !9
  %26504 = icmp eq ptr %26503, null
  br i1 %26504, label %26505, label %26558

26505:                                            ; preds = %26500
  br label %26506

26506:                                            ; preds = %26505
  br label %26507

26507:                                            ; preds = %26506
  call void @llvm.lifetime.start.p0(i64 4, ptr %559) #11
  %26508 = call ptr @__errno_location() #12
  %26509 = load i32, ptr %26508, align 4, !tbaa !5
  store i32 %26509, ptr %559, align 4, !tbaa !5
  %26510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26511 = call i32 @s2n_print_stacktrace(ptr noundef %26510)
  %26512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26513 = trunc i8 %26512 to i1
  br i1 %26513, label %26514, label %26536

26514:                                            ; preds = %26507
  %26515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26516 = call i32 @fileno(ptr noundef %26515) #11
  %26517 = call i32 @isatty(i32 noundef %26516) #11
  %26518 = icmp ne i32 %26517, 0
  br i1 %26518, label %26519, label %26536

26519:                                            ; preds = %26514
  %26520 = load i32, ptr %559, align 4, !tbaa !5
  %26521 = call ptr @__errno_location() #12
  store i32 %26520, ptr %26521, align 4, !tbaa !5
  %26522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26523 = load i32, ptr @test_count, align 4, !tbaa !5
  %26524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26525 = load i32, ptr %26524, align 4, !tbaa !5
  %26526 = call ptr @s2n_strerror(i32 noundef %26525, ptr noundef @.str.4)
  %26527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26528 = load i32, ptr %26527, align 4, !tbaa !5
  %26529 = call ptr @s2n_strerror_debug(i32 noundef %26528, ptr noundef @.str.4)
  %26530 = call ptr @__errno_location() #12
  %26531 = load i32, ptr %26530, align 4, !tbaa !5
  %26532 = call ptr @strerror(i32 noundef %26531) #11
  %26533 = call ptr @__errno_location() #12
  %26534 = load i32, ptr %26533, align 4, !tbaa !5
  %26535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26522, ptr noundef @.str.2, i32 noundef %26523, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 977, ptr noundef %26526, ptr noundef %26529, ptr noundef %26532, i32 noundef %26534) #11
  br label %26553

26536:                                            ; preds = %26514, %26507
  %26537 = load i32, ptr %559, align 4, !tbaa !5
  %26538 = call ptr @__errno_location() #12
  store i32 %26537, ptr %26538, align 4, !tbaa !5
  %26539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26540 = load i32, ptr @test_count, align 4, !tbaa !5
  %26541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26542 = load i32, ptr %26541, align 4, !tbaa !5
  %26543 = call ptr @s2n_strerror(i32 noundef %26542, ptr noundef @.str.4)
  %26544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26545 = load i32, ptr %26544, align 4, !tbaa !5
  %26546 = call ptr @s2n_strerror_debug(i32 noundef %26545, ptr noundef @.str.4)
  %26547 = call ptr @__errno_location() #12
  %26548 = load i32, ptr %26547, align 4, !tbaa !5
  %26549 = call ptr @strerror(i32 noundef %26548) #11
  %26550 = call ptr @__errno_location() #12
  %26551 = load i32, ptr %26550, align 4, !tbaa !5
  %26552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26539, ptr noundef @.str.5, i32 noundef %26540, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 977, ptr noundef %26543, ptr noundef %26546, ptr noundef %26549, i32 noundef %26551) #11
  br label %26553

26553:                                            ; preds = %26536, %26519
  call void @llvm.lifetime.end.p0(i64 4, ptr %559) #11
  br label %26554

26554:                                            ; preds = %26553
  br label %26555

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

26556:                                            ; No predecessors!
  br label %26557

26557:                                            ; preds = %26556
  br label %26558

26558:                                            ; preds = %26557, %26500
  br label %26559

26559:                                            ; preds = %26558
  br label %26560

26560:                                            ; preds = %26559
  br label %26561

26561:                                            ; preds = %26560
  %26562 = load i32, ptr @test_count, align 4, !tbaa !5
  %26563 = add nsw i32 %26562, 1
  store i32 %26563, ptr @test_count, align 4, !tbaa !5
  %26564 = load ptr, ptr %558, align 8, !tbaa !9
  %26565 = load i32, ptr %26564, align 8
  %26566 = lshr i32 %26565, 6
  %26567 = and i32 %26566, 1
  %26568 = icmp eq i32 %26567, 0
  br i1 %26568, label %26622, label %26569

26569:                                            ; preds = %26561
  br label %26570

26570:                                            ; preds = %26569
  br label %26571

26571:                                            ; preds = %26570
  call void @llvm.lifetime.start.p0(i64 4, ptr %560) #11
  %26572 = call ptr @__errno_location() #12
  %26573 = load i32, ptr %26572, align 4, !tbaa !5
  store i32 %26573, ptr %560, align 4, !tbaa !5
  %26574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26575 = call i32 @s2n_print_stacktrace(ptr noundef %26574)
  %26576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26577 = trunc i8 %26576 to i1
  br i1 %26577, label %26578, label %26600

26578:                                            ; preds = %26571
  %26579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26580 = call i32 @fileno(ptr noundef %26579) #11
  %26581 = call i32 @isatty(i32 noundef %26580) #11
  %26582 = icmp ne i32 %26581, 0
  br i1 %26582, label %26583, label %26600

26583:                                            ; preds = %26578
  %26584 = load i32, ptr %560, align 4, !tbaa !5
  %26585 = call ptr @__errno_location() #12
  store i32 %26584, ptr %26585, align 4, !tbaa !5
  %26586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26587 = load i32, ptr @test_count, align 4, !tbaa !5
  %26588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26589 = load i32, ptr %26588, align 4, !tbaa !5
  %26590 = call ptr @s2n_strerror(i32 noundef %26589, ptr noundef @.str.4)
  %26591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26592 = load i32, ptr %26591, align 4, !tbaa !5
  %26593 = call ptr @s2n_strerror_debug(i32 noundef %26592, ptr noundef @.str.4)
  %26594 = call ptr @__errno_location() #12
  %26595 = load i32, ptr %26594, align 4, !tbaa !5
  %26596 = call ptr @strerror(i32 noundef %26595) #11
  %26597 = call ptr @__errno_location() #12
  %26598 = load i32, ptr %26597, align 4, !tbaa !5
  %26599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26586, ptr noundef @.str.2, i32 noundef %26587, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 978, ptr noundef %26590, ptr noundef %26593, ptr noundef %26596, i32 noundef %26598) #11
  br label %26617

26600:                                            ; preds = %26578, %26571
  %26601 = load i32, ptr %560, align 4, !tbaa !5
  %26602 = call ptr @__errno_location() #12
  store i32 %26601, ptr %26602, align 4, !tbaa !5
  %26603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26604 = load i32, ptr @test_count, align 4, !tbaa !5
  %26605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26606 = load i32, ptr %26605, align 4, !tbaa !5
  %26607 = call ptr @s2n_strerror(i32 noundef %26606, ptr noundef @.str.4)
  %26608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26609 = load i32, ptr %26608, align 4, !tbaa !5
  %26610 = call ptr @s2n_strerror_debug(i32 noundef %26609, ptr noundef @.str.4)
  %26611 = call ptr @__errno_location() #12
  %26612 = load i32, ptr %26611, align 4, !tbaa !5
  %26613 = call ptr @strerror(i32 noundef %26612) #11
  %26614 = call ptr @__errno_location() #12
  %26615 = load i32, ptr %26614, align 4, !tbaa !5
  %26616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26603, ptr noundef @.str.5, i32 noundef %26604, ptr noundef @.str.203, ptr noundef @.str.1, i32 noundef 978, ptr noundef %26607, ptr noundef %26610, ptr noundef %26613, i32 noundef %26615) #11
  br label %26617

26617:                                            ; preds = %26600, %26583
  call void @llvm.lifetime.end.p0(i64 4, ptr %560) #11
  br label %26618

26618:                                            ; preds = %26617
  br label %26619

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

26620:                                            ; No predecessors!
  br label %26621

26621:                                            ; preds = %26620
  br label %26622

26622:                                            ; preds = %26621, %26561
  br label %26623

26623:                                            ; preds = %26622
  br label %26624

26624:                                            ; preds = %26623
  br label %26625

26625:                                            ; preds = %26624
  %26626 = load i32, ptr @test_count, align 4, !tbaa !5
  %26627 = add nsw i32 %26626, 1
  store i32 %26627, ptr @test_count, align 4, !tbaa !5
  %26628 = load ptr, ptr %558, align 8, !tbaa !9
  %26629 = call i32 @s2n_config_disable_x509_time_verification(ptr noundef %26628)
  %26630 = icmp eq i32 %26629, -1
  br i1 %26630, label %26631, label %26684

26631:                                            ; preds = %26625
  br label %26632

26632:                                            ; preds = %26631
  br label %26633

26633:                                            ; preds = %26632
  call void @llvm.lifetime.start.p0(i64 4, ptr %561) #11
  %26634 = call ptr @__errno_location() #12
  %26635 = load i32, ptr %26634, align 4, !tbaa !5
  store i32 %26635, ptr %561, align 4, !tbaa !5
  %26636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26637 = call i32 @s2n_print_stacktrace(ptr noundef %26636)
  %26638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26639 = trunc i8 %26638 to i1
  br i1 %26639, label %26640, label %26662

26640:                                            ; preds = %26633
  %26641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26642 = call i32 @fileno(ptr noundef %26641) #11
  %26643 = call i32 @isatty(i32 noundef %26642) #11
  %26644 = icmp ne i32 %26643, 0
  br i1 %26644, label %26645, label %26662

26645:                                            ; preds = %26640
  %26646 = load i32, ptr %561, align 4, !tbaa !5
  %26647 = call ptr @__errno_location() #12
  store i32 %26646, ptr %26647, align 4, !tbaa !5
  %26648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26649 = load i32, ptr @test_count, align 4, !tbaa !5
  %26650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26651 = load i32, ptr %26650, align 4, !tbaa !5
  %26652 = call ptr @s2n_strerror(i32 noundef %26651, ptr noundef @.str.4)
  %26653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26654 = load i32, ptr %26653, align 4, !tbaa !5
  %26655 = call ptr @s2n_strerror_debug(i32 noundef %26654, ptr noundef @.str.4)
  %26656 = call ptr @__errno_location() #12
  %26657 = load i32, ptr %26656, align 4, !tbaa !5
  %26658 = call ptr @strerror(i32 noundef %26657) #11
  %26659 = call ptr @__errno_location() #12
  %26660 = load i32, ptr %26659, align 4, !tbaa !5
  %26661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26648, ptr noundef @.str.2, i32 noundef %26649, ptr noundef @.str.204, ptr noundef @.str.1, i32 noundef 980, ptr noundef %26652, ptr noundef %26655, ptr noundef %26658, i32 noundef %26660) #11
  br label %26679

26662:                                            ; preds = %26640, %26633
  %26663 = load i32, ptr %561, align 4, !tbaa !5
  %26664 = call ptr @__errno_location() #12
  store i32 %26663, ptr %26664, align 4, !tbaa !5
  %26665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26666 = load i32, ptr @test_count, align 4, !tbaa !5
  %26667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26668 = load i32, ptr %26667, align 4, !tbaa !5
  %26669 = call ptr @s2n_strerror(i32 noundef %26668, ptr noundef @.str.4)
  %26670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26671 = load i32, ptr %26670, align 4, !tbaa !5
  %26672 = call ptr @s2n_strerror_debug(i32 noundef %26671, ptr noundef @.str.4)
  %26673 = call ptr @__errno_location() #12
  %26674 = load i32, ptr %26673, align 4, !tbaa !5
  %26675 = call ptr @strerror(i32 noundef %26674) #11
  %26676 = call ptr @__errno_location() #12
  %26677 = load i32, ptr %26676, align 4, !tbaa !5
  %26678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26665, ptr noundef @.str.5, i32 noundef %26666, ptr noundef @.str.204, ptr noundef @.str.1, i32 noundef 980, ptr noundef %26669, ptr noundef %26672, ptr noundef %26675, i32 noundef %26677) #11
  br label %26679

26679:                                            ; preds = %26662, %26645
  call void @llvm.lifetime.end.p0(i64 4, ptr %561) #11
  br label %26680

26680:                                            ; preds = %26679
  br label %26681

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

26682:                                            ; No predecessors!
  br label %26683

26683:                                            ; preds = %26682
  br label %26684

26684:                                            ; preds = %26683, %26625
  br label %26685

26685:                                            ; preds = %26684
  br label %26686

26686:                                            ; preds = %26685
  br label %26687

26687:                                            ; preds = %26686
  %26688 = load i32, ptr @test_count, align 4, !tbaa !5
  %26689 = add nsw i32 %26688, 1
  store i32 %26689, ptr @test_count, align 4, !tbaa !5
  %26690 = load ptr, ptr %558, align 8, !tbaa !9
  %26691 = load i32, ptr %26690, align 8
  %26692 = lshr i32 %26691, 6
  %26693 = and i32 %26692, 1
  %26694 = icmp eq i32 %26693, 1
  br i1 %26694, label %26748, label %26695

26695:                                            ; preds = %26687
  br label %26696

26696:                                            ; preds = %26695
  br label %26697

26697:                                            ; preds = %26696
  call void @llvm.lifetime.start.p0(i64 4, ptr %562) #11
  %26698 = call ptr @__errno_location() #12
  %26699 = load i32, ptr %26698, align 4, !tbaa !5
  store i32 %26699, ptr %562, align 4, !tbaa !5
  %26700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26701 = call i32 @s2n_print_stacktrace(ptr noundef %26700)
  %26702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26703 = trunc i8 %26702 to i1
  br i1 %26703, label %26704, label %26726

26704:                                            ; preds = %26697
  %26705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26706 = call i32 @fileno(ptr noundef %26705) #11
  %26707 = call i32 @isatty(i32 noundef %26706) #11
  %26708 = icmp ne i32 %26707, 0
  br i1 %26708, label %26709, label %26726

26709:                                            ; preds = %26704
  %26710 = load i32, ptr %562, align 4, !tbaa !5
  %26711 = call ptr @__errno_location() #12
  store i32 %26710, ptr %26711, align 4, !tbaa !5
  %26712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26713 = load i32, ptr @test_count, align 4, !tbaa !5
  %26714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26715 = load i32, ptr %26714, align 4, !tbaa !5
  %26716 = call ptr @s2n_strerror(i32 noundef %26715, ptr noundef @.str.4)
  %26717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26718 = load i32, ptr %26717, align 4, !tbaa !5
  %26719 = call ptr @s2n_strerror_debug(i32 noundef %26718, ptr noundef @.str.4)
  %26720 = call ptr @__errno_location() #12
  %26721 = load i32, ptr %26720, align 4, !tbaa !5
  %26722 = call ptr @strerror(i32 noundef %26721) #11
  %26723 = call ptr @__errno_location() #12
  %26724 = load i32, ptr %26723, align 4, !tbaa !5
  %26725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26712, ptr noundef @.str.2, i32 noundef %26713, ptr noundef @.str.205, ptr noundef @.str.1, i32 noundef 981, ptr noundef %26716, ptr noundef %26719, ptr noundef %26722, i32 noundef %26724) #11
  br label %26743

26726:                                            ; preds = %26704, %26697
  %26727 = load i32, ptr %562, align 4, !tbaa !5
  %26728 = call ptr @__errno_location() #12
  store i32 %26727, ptr %26728, align 4, !tbaa !5
  %26729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26730 = load i32, ptr @test_count, align 4, !tbaa !5
  %26731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26732 = load i32, ptr %26731, align 4, !tbaa !5
  %26733 = call ptr @s2n_strerror(i32 noundef %26732, ptr noundef @.str.4)
  %26734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26735 = load i32, ptr %26734, align 4, !tbaa !5
  %26736 = call ptr @s2n_strerror_debug(i32 noundef %26735, ptr noundef @.str.4)
  %26737 = call ptr @__errno_location() #12
  %26738 = load i32, ptr %26737, align 4, !tbaa !5
  %26739 = call ptr @strerror(i32 noundef %26738) #11
  %26740 = call ptr @__errno_location() #12
  %26741 = load i32, ptr %26740, align 4, !tbaa !5
  %26742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26729, ptr noundef @.str.5, i32 noundef %26730, ptr noundef @.str.205, ptr noundef @.str.1, i32 noundef 981, ptr noundef %26733, ptr noundef %26736, ptr noundef %26739, i32 noundef %26741) #11
  br label %26743

26743:                                            ; preds = %26726, %26709
  call void @llvm.lifetime.end.p0(i64 4, ptr %562) #11
  br label %26744

26744:                                            ; preds = %26743
  br label %26745

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

26746:                                            ; No predecessors!
  br label %26747

26747:                                            ; preds = %26746
  br label %26748

26748:                                            ; preds = %26747, %26687
  br label %26749

26749:                                            ; preds = %26748
  br label %26750

26750:                                            ; preds = %26749
  %26751 = call i32 @s2n_config_ptr_free(ptr noundef %558)
  %26752 = getelementptr inbounds %struct.s2n_result, ptr %563, i32 0, i32 0
  store i32 %26751, ptr %26752, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %558) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %564) #11
  %26753 = call ptr @s2n_config_new()
  store ptr %26753, ptr %564, align 8, !tbaa !9
  br label %26754

26754:                                            ; preds = %26750
  %26755 = load i32, ptr @test_count, align 4, !tbaa !5
  %26756 = add nsw i32 %26755, 1
  store i32 %26756, ptr @test_count, align 4, !tbaa !5
  %26757 = load ptr, ptr %564, align 8, !tbaa !9
  %26758 = icmp eq ptr %26757, null
  br i1 %26758, label %26759, label %26812

26759:                                            ; preds = %26754
  br label %26760

26760:                                            ; preds = %26759
  br label %26761

26761:                                            ; preds = %26760
  call void @llvm.lifetime.start.p0(i64 4, ptr %565) #11
  %26762 = call ptr @__errno_location() #12
  %26763 = load i32, ptr %26762, align 4, !tbaa !5
  store i32 %26763, ptr %565, align 4, !tbaa !5
  %26764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26765 = call i32 @s2n_print_stacktrace(ptr noundef %26764)
  %26766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26767 = trunc i8 %26766 to i1
  br i1 %26767, label %26768, label %26790

26768:                                            ; preds = %26761
  %26769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26770 = call i32 @fileno(ptr noundef %26769) #11
  %26771 = call i32 @isatty(i32 noundef %26770) #11
  %26772 = icmp ne i32 %26771, 0
  br i1 %26772, label %26773, label %26790

26773:                                            ; preds = %26768
  %26774 = load i32, ptr %565, align 4, !tbaa !5
  %26775 = call ptr @__errno_location() #12
  store i32 %26774, ptr %26775, align 4, !tbaa !5
  %26776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26777 = load i32, ptr @test_count, align 4, !tbaa !5
  %26778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26779 = load i32, ptr %26778, align 4, !tbaa !5
  %26780 = call ptr @s2n_strerror(i32 noundef %26779, ptr noundef @.str.4)
  %26781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26782 = load i32, ptr %26781, align 4, !tbaa !5
  %26783 = call ptr @s2n_strerror_debug(i32 noundef %26782, ptr noundef @.str.4)
  %26784 = call ptr @__errno_location() #12
  %26785 = load i32, ptr %26784, align 4, !tbaa !5
  %26786 = call ptr @strerror(i32 noundef %26785) #11
  %26787 = call ptr @__errno_location() #12
  %26788 = load i32, ptr %26787, align 4, !tbaa !5
  %26789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26776, ptr noundef @.str.2, i32 noundef %26777, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 990, ptr noundef %26780, ptr noundef %26783, ptr noundef %26786, i32 noundef %26788) #11
  br label %26807

26790:                                            ; preds = %26768, %26761
  %26791 = load i32, ptr %565, align 4, !tbaa !5
  %26792 = call ptr @__errno_location() #12
  store i32 %26791, ptr %26792, align 4, !tbaa !5
  %26793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26794 = load i32, ptr @test_count, align 4, !tbaa !5
  %26795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26796 = load i32, ptr %26795, align 4, !tbaa !5
  %26797 = call ptr @s2n_strerror(i32 noundef %26796, ptr noundef @.str.4)
  %26798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26799 = load i32, ptr %26798, align 4, !tbaa !5
  %26800 = call ptr @s2n_strerror_debug(i32 noundef %26799, ptr noundef @.str.4)
  %26801 = call ptr @__errno_location() #12
  %26802 = load i32, ptr %26801, align 4, !tbaa !5
  %26803 = call ptr @strerror(i32 noundef %26802) #11
  %26804 = call ptr @__errno_location() #12
  %26805 = load i32, ptr %26804, align 4, !tbaa !5
  %26806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26793, ptr noundef @.str.5, i32 noundef %26794, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 990, ptr noundef %26797, ptr noundef %26800, ptr noundef %26803, i32 noundef %26805) #11
  br label %26807

26807:                                            ; preds = %26790, %26773
  call void @llvm.lifetime.end.p0(i64 4, ptr %565) #11
  br label %26808

26808:                                            ; preds = %26807
  br label %26809

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

26810:                                            ; No predecessors!
  br label %26811

26811:                                            ; preds = %26810
  br label %26812

26812:                                            ; preds = %26811, %26754
  br label %26813

26813:                                            ; preds = %26812
  br label %26814

26814:                                            ; preds = %26813
  call void @llvm.lifetime.start.p0(i64 60, ptr %566) #11
  call void @llvm.memset.p0.i64(ptr align 16 %566, i8 0, i64 60, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr %567) #11
  store i16 0, ptr %567, align 2, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 4, ptr %568) #11
  %26815 = getelementptr inbounds [30 x i16], ptr %566, i64 0, i64 0
  %26816 = call i32 @s2n_config_get_supported_groups(ptr noundef null, ptr noundef %26815, i16 noundef zeroext 30, ptr noundef %567)
  store i32 %26816, ptr %568, align 4, !tbaa !5
  br label %26817

26817:                                            ; preds = %26814
  br label %26818

26818:                                            ; preds = %26817
  br label %26819

26819:                                            ; preds = %26818
  %26820 = load i32, ptr @test_count, align 4, !tbaa !5
  %26821 = add nsw i32 %26820, 1
  store i32 %26821, ptr @test_count, align 4, !tbaa !5
  %26822 = load i32, ptr %568, align 4, !tbaa !5
  %26823 = icmp eq i32 %26822, -1
  br i1 %26823, label %26877, label %26824

26824:                                            ; preds = %26819
  br label %26825

26825:                                            ; preds = %26824
  br label %26826

26826:                                            ; preds = %26825
  call void @llvm.lifetime.start.p0(i64 4, ptr %569) #11
  %26827 = call ptr @__errno_location() #12
  %26828 = load i32, ptr %26827, align 4, !tbaa !5
  store i32 %26828, ptr %569, align 4, !tbaa !5
  %26829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26830 = call i32 @s2n_print_stacktrace(ptr noundef %26829)
  %26831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26832 = trunc i8 %26831 to i1
  br i1 %26832, label %26833, label %26855

26833:                                            ; preds = %26826
  %26834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26835 = call i32 @fileno(ptr noundef %26834) #11
  %26836 = call i32 @isatty(i32 noundef %26835) #11
  %26837 = icmp ne i32 %26836, 0
  br i1 %26837, label %26838, label %26855

26838:                                            ; preds = %26833
  %26839 = load i32, ptr %569, align 4, !tbaa !5
  %26840 = call ptr @__errno_location() #12
  store i32 %26839, ptr %26840, align 4, !tbaa !5
  %26841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26842 = load i32, ptr @test_count, align 4, !tbaa !5
  %26843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26844 = load i32, ptr %26843, align 4, !tbaa !5
  %26845 = call ptr @s2n_strerror(i32 noundef %26844, ptr noundef @.str.4)
  %26846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26847 = load i32, ptr %26846, align 4, !tbaa !5
  %26848 = call ptr @s2n_strerror_debug(i32 noundef %26847, ptr noundef @.str.4)
  %26849 = call ptr @__errno_location() #12
  %26850 = load i32, ptr %26849, align 4, !tbaa !5
  %26851 = call ptr @strerror(i32 noundef %26850) #11
  %26852 = call ptr @__errno_location() #12
  %26853 = load i32, ptr %26852, align 4, !tbaa !5
  %26854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26841, ptr noundef @.str.2, i32 noundef %26842, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 996, ptr noundef %26845, ptr noundef %26848, ptr noundef %26851, i32 noundef %26853) #11
  br label %26872

26855:                                            ; preds = %26833, %26826
  %26856 = load i32, ptr %569, align 4, !tbaa !5
  %26857 = call ptr @__errno_location() #12
  store i32 %26856, ptr %26857, align 4, !tbaa !5
  %26858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26859 = load i32, ptr @test_count, align 4, !tbaa !5
  %26860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26861 = load i32, ptr %26860, align 4, !tbaa !5
  %26862 = call ptr @s2n_strerror(i32 noundef %26861, ptr noundef @.str.4)
  %26863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26864 = load i32, ptr %26863, align 4, !tbaa !5
  %26865 = call ptr @s2n_strerror_debug(i32 noundef %26864, ptr noundef @.str.4)
  %26866 = call ptr @__errno_location() #12
  %26867 = load i32, ptr %26866, align 4, !tbaa !5
  %26868 = call ptr @strerror(i32 noundef %26867) #11
  %26869 = call ptr @__errno_location() #12
  %26870 = load i32, ptr %26869, align 4, !tbaa !5
  %26871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26858, ptr noundef @.str.5, i32 noundef %26859, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 996, ptr noundef %26862, ptr noundef %26865, ptr noundef %26868, i32 noundef %26870) #11
  br label %26872

26872:                                            ; preds = %26855, %26838
  call void @llvm.lifetime.end.p0(i64 4, ptr %569) #11
  br label %26873

26873:                                            ; preds = %26872
  br label %26874

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

26875:                                            ; No predecessors!
  br label %26876

26876:                                            ; preds = %26875
  br label %26877

26877:                                            ; preds = %26876, %26819
  br label %26878

26878:                                            ; preds = %26877
  br label %26879

26879:                                            ; preds = %26878
  br label %26880

26880:                                            ; preds = %26879
  %26881 = load i32, ptr @test_count, align 4, !tbaa !5
  %26882 = add nsw i32 %26881, 1
  store i32 %26882, ptr @test_count, align 4, !tbaa !5
  %26883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26884 = load i32, ptr %26883, align 4, !tbaa !5
  %26885 = icmp eq i32 %26884, 402653193
  br i1 %26885, label %26939, label %26886

26886:                                            ; preds = %26880
  br label %26887

26887:                                            ; preds = %26886
  br label %26888

26888:                                            ; preds = %26887
  call void @llvm.lifetime.start.p0(i64 4, ptr %570) #11
  %26889 = call ptr @__errno_location() #12
  %26890 = load i32, ptr %26889, align 4, !tbaa !5
  store i32 %26890, ptr %570, align 4, !tbaa !5
  %26891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26892 = call i32 @s2n_print_stacktrace(ptr noundef %26891)
  %26893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26894 = trunc i8 %26893 to i1
  br i1 %26894, label %26895, label %26917

26895:                                            ; preds = %26888
  %26896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26897 = call i32 @fileno(ptr noundef %26896) #11
  %26898 = call i32 @isatty(i32 noundef %26897) #11
  %26899 = icmp ne i32 %26898, 0
  br i1 %26899, label %26900, label %26917

26900:                                            ; preds = %26895
  %26901 = load i32, ptr %570, align 4, !tbaa !5
  %26902 = call ptr @__errno_location() #12
  store i32 %26901, ptr %26902, align 4, !tbaa !5
  %26903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26904 = load i32, ptr @test_count, align 4, !tbaa !5
  %26905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26906 = load i32, ptr %26905, align 4, !tbaa !5
  %26907 = call ptr @s2n_strerror(i32 noundef %26906, ptr noundef @.str.4)
  %26908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26909 = load i32, ptr %26908, align 4, !tbaa !5
  %26910 = call ptr @s2n_strerror_debug(i32 noundef %26909, ptr noundef @.str.4)
  %26911 = call ptr @__errno_location() #12
  %26912 = load i32, ptr %26911, align 4, !tbaa !5
  %26913 = call ptr @strerror(i32 noundef %26912) #11
  %26914 = call ptr @__errno_location() #12
  %26915 = load i32, ptr %26914, align 4, !tbaa !5
  %26916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26903, ptr noundef @.str.2, i32 noundef %26904, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 996, ptr noundef %26907, ptr noundef %26910, ptr noundef %26913, i32 noundef %26915) #11
  br label %26934

26917:                                            ; preds = %26895, %26888
  %26918 = load i32, ptr %570, align 4, !tbaa !5
  %26919 = call ptr @__errno_location() #12
  store i32 %26918, ptr %26919, align 4, !tbaa !5
  %26920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26921 = load i32, ptr @test_count, align 4, !tbaa !5
  %26922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26923 = load i32, ptr %26922, align 4, !tbaa !5
  %26924 = call ptr @s2n_strerror(i32 noundef %26923, ptr noundef @.str.4)
  %26925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26926 = load i32, ptr %26925, align 4, !tbaa !5
  %26927 = call ptr @s2n_strerror_debug(i32 noundef %26926, ptr noundef @.str.4)
  %26928 = call ptr @__errno_location() #12
  %26929 = load i32, ptr %26928, align 4, !tbaa !5
  %26930 = call ptr @strerror(i32 noundef %26929) #11
  %26931 = call ptr @__errno_location() #12
  %26932 = load i32, ptr %26931, align 4, !tbaa !5
  %26933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26920, ptr noundef @.str.5, i32 noundef %26921, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 996, ptr noundef %26924, ptr noundef %26927, ptr noundef %26930, i32 noundef %26932) #11
  br label %26934

26934:                                            ; preds = %26917, %26900
  call void @llvm.lifetime.end.p0(i64 4, ptr %570) #11
  br label %26935

26935:                                            ; preds = %26934
  br label %26936

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

26937:                                            ; No predecessors!
  br label %26938

26938:                                            ; preds = %26937
  br label %26939

26939:                                            ; preds = %26938, %26880
  br label %26940

26940:                                            ; preds = %26939
  br label %26941

26941:                                            ; preds = %26940
  br label %26942

26942:                                            ; preds = %26941
  %26943 = load i32, ptr @test_count, align 4, !tbaa !5
  %26944 = add nsw i32 %26943, 1
  store i32 %26944, ptr @test_count, align 4, !tbaa !5
  %26945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26946 = load i32, ptr %26945, align 4, !tbaa !5
  %26947 = call ptr @s2n_strerror_debug(i32 noundef %26946, ptr noundef @.str.4)
  %26948 = icmp eq ptr %26947, null
  br i1 %26948, label %26949, label %27002

26949:                                            ; preds = %26942
  br label %26950

26950:                                            ; preds = %26949
  br label %26951

26951:                                            ; preds = %26950
  call void @llvm.lifetime.start.p0(i64 4, ptr %571) #11
  %26952 = call ptr @__errno_location() #12
  %26953 = load i32, ptr %26952, align 4, !tbaa !5
  store i32 %26953, ptr %571, align 4, !tbaa !5
  %26954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26955 = call i32 @s2n_print_stacktrace(ptr noundef %26954)
  %26956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26957 = trunc i8 %26956 to i1
  br i1 %26957, label %26958, label %26980

26958:                                            ; preds = %26951
  %26959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26960 = call i32 @fileno(ptr noundef %26959) #11
  %26961 = call i32 @isatty(i32 noundef %26960) #11
  %26962 = icmp ne i32 %26961, 0
  br i1 %26962, label %26963, label %26980

26963:                                            ; preds = %26958
  %26964 = load i32, ptr %571, align 4, !tbaa !5
  %26965 = call ptr @__errno_location() #12
  store i32 %26964, ptr %26965, align 4, !tbaa !5
  %26966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26967 = load i32, ptr @test_count, align 4, !tbaa !5
  %26968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26969 = load i32, ptr %26968, align 4, !tbaa !5
  %26970 = call ptr @s2n_strerror(i32 noundef %26969, ptr noundef @.str.4)
  %26971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26972 = load i32, ptr %26971, align 4, !tbaa !5
  %26973 = call ptr @s2n_strerror_debug(i32 noundef %26972, ptr noundef @.str.4)
  %26974 = call ptr @__errno_location() #12
  %26975 = load i32, ptr %26974, align 4, !tbaa !5
  %26976 = call ptr @strerror(i32 noundef %26975) #11
  %26977 = call ptr @__errno_location() #12
  %26978 = load i32, ptr %26977, align 4, !tbaa !5
  %26979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26966, ptr noundef @.str.2, i32 noundef %26967, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 996, ptr noundef %26970, ptr noundef %26973, ptr noundef %26976, i32 noundef %26978) #11
  br label %26997

26980:                                            ; preds = %26958, %26951
  %26981 = load i32, ptr %571, align 4, !tbaa !5
  %26982 = call ptr @__errno_location() #12
  store i32 %26981, ptr %26982, align 4, !tbaa !5
  %26983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26984 = load i32, ptr @test_count, align 4, !tbaa !5
  %26985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26986 = load i32, ptr %26985, align 4, !tbaa !5
  %26987 = call ptr @s2n_strerror(i32 noundef %26986, ptr noundef @.str.4)
  %26988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26989 = load i32, ptr %26988, align 4, !tbaa !5
  %26990 = call ptr @s2n_strerror_debug(i32 noundef %26989, ptr noundef @.str.4)
  %26991 = call ptr @__errno_location() #12
  %26992 = load i32, ptr %26991, align 4, !tbaa !5
  %26993 = call ptr @strerror(i32 noundef %26992) #11
  %26994 = call ptr @__errno_location() #12
  %26995 = load i32, ptr %26994, align 4, !tbaa !5
  %26996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26983, ptr noundef @.str.5, i32 noundef %26984, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 996, ptr noundef %26987, ptr noundef %26990, ptr noundef %26993, i32 noundef %26995) #11
  br label %26997

26997:                                            ; preds = %26980, %26963
  call void @llvm.lifetime.end.p0(i64 4, ptr %571) #11
  br label %26998

26998:                                            ; preds = %26997
  br label %26999

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

27000:                                            ; No predecessors!
  br label %27001

27001:                                            ; preds = %27000
  br label %27002

27002:                                            ; preds = %27001, %26942
  br label %27003

27003:                                            ; preds = %27002
  br label %27004

27004:                                            ; preds = %27003
  br label %27005

27005:                                            ; preds = %27004
  br label %27006

27006:                                            ; preds = %27005
  br label %27007

27007:                                            ; preds = %27006
  %27008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %27008, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %27009 = call ptr @__errno_location() #12
  store i32 0, ptr %27009, align 4, !tbaa !5
  br label %27010

27010:                                            ; preds = %27007
  br label %27011

27011:                                            ; preds = %27010
  br label %27012

27012:                                            ; preds = %27011
  br label %27013

27013:                                            ; preds = %27012
  br label %27014

27014:                                            ; preds = %27013
  %27015 = load i32, ptr @test_count, align 4, !tbaa !5
  %27016 = add nsw i32 %27015, 1
  store i32 %27016, ptr @test_count, align 4, !tbaa !5
  %27017 = load i16, ptr %567, align 2, !tbaa !79
  %27018 = zext i16 %27017 to i32
  %27019 = icmp eq i32 %27018, 0
  br i1 %27019, label %27073, label %27020

27020:                                            ; preds = %27014
  br label %27021

27021:                                            ; preds = %27020
  br label %27022

27022:                                            ; preds = %27021
  call void @llvm.lifetime.start.p0(i64 4, ptr %572) #11
  %27023 = call ptr @__errno_location() #12
  %27024 = load i32, ptr %27023, align 4, !tbaa !5
  store i32 %27024, ptr %572, align 4, !tbaa !5
  %27025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27026 = call i32 @s2n_print_stacktrace(ptr noundef %27025)
  %27027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27028 = trunc i8 %27027 to i1
  br i1 %27028, label %27029, label %27051

27029:                                            ; preds = %27022
  %27030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27031 = call i32 @fileno(ptr noundef %27030) #11
  %27032 = call i32 @isatty(i32 noundef %27031) #11
  %27033 = icmp ne i32 %27032, 0
  br i1 %27033, label %27034, label %27051

27034:                                            ; preds = %27029
  %27035 = load i32, ptr %572, align 4, !tbaa !5
  %27036 = call ptr @__errno_location() #12
  store i32 %27035, ptr %27036, align 4, !tbaa !5
  %27037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27038 = load i32, ptr @test_count, align 4, !tbaa !5
  %27039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27040 = load i32, ptr %27039, align 4, !tbaa !5
  %27041 = call ptr @s2n_strerror(i32 noundef %27040, ptr noundef @.str.4)
  %27042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27043 = load i32, ptr %27042, align 4, !tbaa !5
  %27044 = call ptr @s2n_strerror_debug(i32 noundef %27043, ptr noundef @.str.4)
  %27045 = call ptr @__errno_location() #12
  %27046 = load i32, ptr %27045, align 4, !tbaa !5
  %27047 = call ptr @strerror(i32 noundef %27046) #11
  %27048 = call ptr @__errno_location() #12
  %27049 = load i32, ptr %27048, align 4, !tbaa !5
  %27050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27037, ptr noundef @.str.2, i32 noundef %27038, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 997, ptr noundef %27041, ptr noundef %27044, ptr noundef %27047, i32 noundef %27049) #11
  br label %27068

27051:                                            ; preds = %27029, %27022
  %27052 = load i32, ptr %572, align 4, !tbaa !5
  %27053 = call ptr @__errno_location() #12
  store i32 %27052, ptr %27053, align 4, !tbaa !5
  %27054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27055 = load i32, ptr @test_count, align 4, !tbaa !5
  %27056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27057 = load i32, ptr %27056, align 4, !tbaa !5
  %27058 = call ptr @s2n_strerror(i32 noundef %27057, ptr noundef @.str.4)
  %27059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27060 = load i32, ptr %27059, align 4, !tbaa !5
  %27061 = call ptr @s2n_strerror_debug(i32 noundef %27060, ptr noundef @.str.4)
  %27062 = call ptr @__errno_location() #12
  %27063 = load i32, ptr %27062, align 4, !tbaa !5
  %27064 = call ptr @strerror(i32 noundef %27063) #11
  %27065 = call ptr @__errno_location() #12
  %27066 = load i32, ptr %27065, align 4, !tbaa !5
  %27067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27054, ptr noundef @.str.5, i32 noundef %27055, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 997, ptr noundef %27058, ptr noundef %27061, ptr noundef %27064, i32 noundef %27066) #11
  br label %27068

27068:                                            ; preds = %27051, %27034
  call void @llvm.lifetime.end.p0(i64 4, ptr %572) #11
  br label %27069

27069:                                            ; preds = %27068
  br label %27070

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

27071:                                            ; No predecessors!
  br label %27072

27072:                                            ; preds = %27071
  br label %27073

27073:                                            ; preds = %27072, %27014
  br label %27074

27074:                                            ; preds = %27073
  br label %27075

27075:                                            ; preds = %27074
  %27076 = load ptr, ptr %564, align 8, !tbaa !9
  %27077 = call i32 @s2n_config_get_supported_groups(ptr noundef %27076, ptr noundef null, i16 noundef zeroext 30, ptr noundef %567)
  store i32 %27077, ptr %568, align 4, !tbaa !5
  br label %27078

27078:                                            ; preds = %27075
  br label %27079

27079:                                            ; preds = %27078
  br label %27080

27080:                                            ; preds = %27079
  %27081 = load i32, ptr @test_count, align 4, !tbaa !5
  %27082 = add nsw i32 %27081, 1
  store i32 %27082, ptr @test_count, align 4, !tbaa !5
  %27083 = load i32, ptr %568, align 4, !tbaa !5
  %27084 = icmp eq i32 %27083, -1
  br i1 %27084, label %27138, label %27085

27085:                                            ; preds = %27080
  br label %27086

27086:                                            ; preds = %27085
  br label %27087

27087:                                            ; preds = %27086
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #11
  %27088 = call ptr @__errno_location() #12
  %27089 = load i32, ptr %27088, align 4, !tbaa !5
  store i32 %27089, ptr %573, align 4, !tbaa !5
  %27090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27091 = call i32 @s2n_print_stacktrace(ptr noundef %27090)
  %27092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27093 = trunc i8 %27092 to i1
  br i1 %27093, label %27094, label %27116

27094:                                            ; preds = %27087
  %27095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27096 = call i32 @fileno(ptr noundef %27095) #11
  %27097 = call i32 @isatty(i32 noundef %27096) #11
  %27098 = icmp ne i32 %27097, 0
  br i1 %27098, label %27099, label %27116

27099:                                            ; preds = %27094
  %27100 = load i32, ptr %573, align 4, !tbaa !5
  %27101 = call ptr @__errno_location() #12
  store i32 %27100, ptr %27101, align 4, !tbaa !5
  %27102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27103 = load i32, ptr @test_count, align 4, !tbaa !5
  %27104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27105 = load i32, ptr %27104, align 4, !tbaa !5
  %27106 = call ptr @s2n_strerror(i32 noundef %27105, ptr noundef @.str.4)
  %27107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27108 = load i32, ptr %27107, align 4, !tbaa !5
  %27109 = call ptr @s2n_strerror_debug(i32 noundef %27108, ptr noundef @.str.4)
  %27110 = call ptr @__errno_location() #12
  %27111 = load i32, ptr %27110, align 4, !tbaa !5
  %27112 = call ptr @strerror(i32 noundef %27111) #11
  %27113 = call ptr @__errno_location() #12
  %27114 = load i32, ptr %27113, align 4, !tbaa !5
  %27115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27102, ptr noundef @.str.2, i32 noundef %27103, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1000, ptr noundef %27106, ptr noundef %27109, ptr noundef %27112, i32 noundef %27114) #11
  br label %27133

27116:                                            ; preds = %27094, %27087
  %27117 = load i32, ptr %573, align 4, !tbaa !5
  %27118 = call ptr @__errno_location() #12
  store i32 %27117, ptr %27118, align 4, !tbaa !5
  %27119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27120 = load i32, ptr @test_count, align 4, !tbaa !5
  %27121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27122 = load i32, ptr %27121, align 4, !tbaa !5
  %27123 = call ptr @s2n_strerror(i32 noundef %27122, ptr noundef @.str.4)
  %27124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27125 = load i32, ptr %27124, align 4, !tbaa !5
  %27126 = call ptr @s2n_strerror_debug(i32 noundef %27125, ptr noundef @.str.4)
  %27127 = call ptr @__errno_location() #12
  %27128 = load i32, ptr %27127, align 4, !tbaa !5
  %27129 = call ptr @strerror(i32 noundef %27128) #11
  %27130 = call ptr @__errno_location() #12
  %27131 = load i32, ptr %27130, align 4, !tbaa !5
  %27132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27119, ptr noundef @.str.5, i32 noundef %27120, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1000, ptr noundef %27123, ptr noundef %27126, ptr noundef %27129, i32 noundef %27131) #11
  br label %27133

27133:                                            ; preds = %27116, %27099
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #11
  br label %27134

27134:                                            ; preds = %27133
  br label %27135

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

27136:                                            ; No predecessors!
  br label %27137

27137:                                            ; preds = %27136
  br label %27138

27138:                                            ; preds = %27137, %27080
  br label %27139

27139:                                            ; preds = %27138
  br label %27140

27140:                                            ; preds = %27139
  br label %27141

27141:                                            ; preds = %27140
  %27142 = load i32, ptr @test_count, align 4, !tbaa !5
  %27143 = add nsw i32 %27142, 1
  store i32 %27143, ptr @test_count, align 4, !tbaa !5
  %27144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27145 = load i32, ptr %27144, align 4, !tbaa !5
  %27146 = icmp eq i32 %27145, 402653193
  br i1 %27146, label %27200, label %27147

27147:                                            ; preds = %27141
  br label %27148

27148:                                            ; preds = %27147
  br label %27149

27149:                                            ; preds = %27148
  call void @llvm.lifetime.start.p0(i64 4, ptr %574) #11
  %27150 = call ptr @__errno_location() #12
  %27151 = load i32, ptr %27150, align 4, !tbaa !5
  store i32 %27151, ptr %574, align 4, !tbaa !5
  %27152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27153 = call i32 @s2n_print_stacktrace(ptr noundef %27152)
  %27154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27155 = trunc i8 %27154 to i1
  br i1 %27155, label %27156, label %27178

27156:                                            ; preds = %27149
  %27157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27158 = call i32 @fileno(ptr noundef %27157) #11
  %27159 = call i32 @isatty(i32 noundef %27158) #11
  %27160 = icmp ne i32 %27159, 0
  br i1 %27160, label %27161, label %27178

27161:                                            ; preds = %27156
  %27162 = load i32, ptr %574, align 4, !tbaa !5
  %27163 = call ptr @__errno_location() #12
  store i32 %27162, ptr %27163, align 4, !tbaa !5
  %27164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27165 = load i32, ptr @test_count, align 4, !tbaa !5
  %27166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27167 = load i32, ptr %27166, align 4, !tbaa !5
  %27168 = call ptr @s2n_strerror(i32 noundef %27167, ptr noundef @.str.4)
  %27169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27170 = load i32, ptr %27169, align 4, !tbaa !5
  %27171 = call ptr @s2n_strerror_debug(i32 noundef %27170, ptr noundef @.str.4)
  %27172 = call ptr @__errno_location() #12
  %27173 = load i32, ptr %27172, align 4, !tbaa !5
  %27174 = call ptr @strerror(i32 noundef %27173) #11
  %27175 = call ptr @__errno_location() #12
  %27176 = load i32, ptr %27175, align 4, !tbaa !5
  %27177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27164, ptr noundef @.str.2, i32 noundef %27165, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1000, ptr noundef %27168, ptr noundef %27171, ptr noundef %27174, i32 noundef %27176) #11
  br label %27195

27178:                                            ; preds = %27156, %27149
  %27179 = load i32, ptr %574, align 4, !tbaa !5
  %27180 = call ptr @__errno_location() #12
  store i32 %27179, ptr %27180, align 4, !tbaa !5
  %27181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27182 = load i32, ptr @test_count, align 4, !tbaa !5
  %27183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27184 = load i32, ptr %27183, align 4, !tbaa !5
  %27185 = call ptr @s2n_strerror(i32 noundef %27184, ptr noundef @.str.4)
  %27186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27187 = load i32, ptr %27186, align 4, !tbaa !5
  %27188 = call ptr @s2n_strerror_debug(i32 noundef %27187, ptr noundef @.str.4)
  %27189 = call ptr @__errno_location() #12
  %27190 = load i32, ptr %27189, align 4, !tbaa !5
  %27191 = call ptr @strerror(i32 noundef %27190) #11
  %27192 = call ptr @__errno_location() #12
  %27193 = load i32, ptr %27192, align 4, !tbaa !5
  %27194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27181, ptr noundef @.str.5, i32 noundef %27182, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1000, ptr noundef %27185, ptr noundef %27188, ptr noundef %27191, i32 noundef %27193) #11
  br label %27195

27195:                                            ; preds = %27178, %27161
  call void @llvm.lifetime.end.p0(i64 4, ptr %574) #11
  br label %27196

27196:                                            ; preds = %27195
  br label %27197

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

27198:                                            ; No predecessors!
  br label %27199

27199:                                            ; preds = %27198
  br label %27200

27200:                                            ; preds = %27199, %27141
  br label %27201

27201:                                            ; preds = %27200
  br label %27202

27202:                                            ; preds = %27201
  br label %27203

27203:                                            ; preds = %27202
  %27204 = load i32, ptr @test_count, align 4, !tbaa !5
  %27205 = add nsw i32 %27204, 1
  store i32 %27205, ptr @test_count, align 4, !tbaa !5
  %27206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27207 = load i32, ptr %27206, align 4, !tbaa !5
  %27208 = call ptr @s2n_strerror_debug(i32 noundef %27207, ptr noundef @.str.4)
  %27209 = icmp eq ptr %27208, null
  br i1 %27209, label %27210, label %27263

27210:                                            ; preds = %27203
  br label %27211

27211:                                            ; preds = %27210
  br label %27212

27212:                                            ; preds = %27211
  call void @llvm.lifetime.start.p0(i64 4, ptr %575) #11
  %27213 = call ptr @__errno_location() #12
  %27214 = load i32, ptr %27213, align 4, !tbaa !5
  store i32 %27214, ptr %575, align 4, !tbaa !5
  %27215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27216 = call i32 @s2n_print_stacktrace(ptr noundef %27215)
  %27217 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27218 = trunc i8 %27217 to i1
  br i1 %27218, label %27219, label %27241

27219:                                            ; preds = %27212
  %27220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27221 = call i32 @fileno(ptr noundef %27220) #11
  %27222 = call i32 @isatty(i32 noundef %27221) #11
  %27223 = icmp ne i32 %27222, 0
  br i1 %27223, label %27224, label %27241

27224:                                            ; preds = %27219
  %27225 = load i32, ptr %575, align 4, !tbaa !5
  %27226 = call ptr @__errno_location() #12
  store i32 %27225, ptr %27226, align 4, !tbaa !5
  %27227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27228 = load i32, ptr @test_count, align 4, !tbaa !5
  %27229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27230 = load i32, ptr %27229, align 4, !tbaa !5
  %27231 = call ptr @s2n_strerror(i32 noundef %27230, ptr noundef @.str.4)
  %27232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27233 = load i32, ptr %27232, align 4, !tbaa !5
  %27234 = call ptr @s2n_strerror_debug(i32 noundef %27233, ptr noundef @.str.4)
  %27235 = call ptr @__errno_location() #12
  %27236 = load i32, ptr %27235, align 4, !tbaa !5
  %27237 = call ptr @strerror(i32 noundef %27236) #11
  %27238 = call ptr @__errno_location() #12
  %27239 = load i32, ptr %27238, align 4, !tbaa !5
  %27240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27227, ptr noundef @.str.2, i32 noundef %27228, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1000, ptr noundef %27231, ptr noundef %27234, ptr noundef %27237, i32 noundef %27239) #11
  br label %27258

27241:                                            ; preds = %27219, %27212
  %27242 = load i32, ptr %575, align 4, !tbaa !5
  %27243 = call ptr @__errno_location() #12
  store i32 %27242, ptr %27243, align 4, !tbaa !5
  %27244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27245 = load i32, ptr @test_count, align 4, !tbaa !5
  %27246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27247 = load i32, ptr %27246, align 4, !tbaa !5
  %27248 = call ptr @s2n_strerror(i32 noundef %27247, ptr noundef @.str.4)
  %27249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27250 = load i32, ptr %27249, align 4, !tbaa !5
  %27251 = call ptr @s2n_strerror_debug(i32 noundef %27250, ptr noundef @.str.4)
  %27252 = call ptr @__errno_location() #12
  %27253 = load i32, ptr %27252, align 4, !tbaa !5
  %27254 = call ptr @strerror(i32 noundef %27253) #11
  %27255 = call ptr @__errno_location() #12
  %27256 = load i32, ptr %27255, align 4, !tbaa !5
  %27257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27244, ptr noundef @.str.5, i32 noundef %27245, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1000, ptr noundef %27248, ptr noundef %27251, ptr noundef %27254, i32 noundef %27256) #11
  br label %27258

27258:                                            ; preds = %27241, %27224
  call void @llvm.lifetime.end.p0(i64 4, ptr %575) #11
  br label %27259

27259:                                            ; preds = %27258
  br label %27260

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

27261:                                            ; No predecessors!
  br label %27262

27262:                                            ; preds = %27261
  br label %27263

27263:                                            ; preds = %27262, %27203
  br label %27264

27264:                                            ; preds = %27263
  br label %27265

27265:                                            ; preds = %27264
  br label %27266

27266:                                            ; preds = %27265
  br label %27267

27267:                                            ; preds = %27266
  br label %27268

27268:                                            ; preds = %27267
  %27269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %27269, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %27270 = call ptr @__errno_location() #12
  store i32 0, ptr %27270, align 4, !tbaa !5
  br label %27271

27271:                                            ; preds = %27268
  br label %27272

27272:                                            ; preds = %27271
  br label %27273

27273:                                            ; preds = %27272
  br label %27274

27274:                                            ; preds = %27273
  br label %27275

27275:                                            ; preds = %27274
  %27276 = load i32, ptr @test_count, align 4, !tbaa !5
  %27277 = add nsw i32 %27276, 1
  store i32 %27277, ptr @test_count, align 4, !tbaa !5
  %27278 = load i16, ptr %567, align 2, !tbaa !79
  %27279 = zext i16 %27278 to i32
  %27280 = icmp eq i32 %27279, 0
  br i1 %27280, label %27334, label %27281

27281:                                            ; preds = %27275
  br label %27282

27282:                                            ; preds = %27281
  br label %27283

27283:                                            ; preds = %27282
  call void @llvm.lifetime.start.p0(i64 4, ptr %576) #11
  %27284 = call ptr @__errno_location() #12
  %27285 = load i32, ptr %27284, align 4, !tbaa !5
  store i32 %27285, ptr %576, align 4, !tbaa !5
  %27286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27287 = call i32 @s2n_print_stacktrace(ptr noundef %27286)
  %27288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27289 = trunc i8 %27288 to i1
  br i1 %27289, label %27290, label %27312

27290:                                            ; preds = %27283
  %27291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27292 = call i32 @fileno(ptr noundef %27291) #11
  %27293 = call i32 @isatty(i32 noundef %27292) #11
  %27294 = icmp ne i32 %27293, 0
  br i1 %27294, label %27295, label %27312

27295:                                            ; preds = %27290
  %27296 = load i32, ptr %576, align 4, !tbaa !5
  %27297 = call ptr @__errno_location() #12
  store i32 %27296, ptr %27297, align 4, !tbaa !5
  %27298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27299 = load i32, ptr @test_count, align 4, !tbaa !5
  %27300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27301 = load i32, ptr %27300, align 4, !tbaa !5
  %27302 = call ptr @s2n_strerror(i32 noundef %27301, ptr noundef @.str.4)
  %27303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27304 = load i32, ptr %27303, align 4, !tbaa !5
  %27305 = call ptr @s2n_strerror_debug(i32 noundef %27304, ptr noundef @.str.4)
  %27306 = call ptr @__errno_location() #12
  %27307 = load i32, ptr %27306, align 4, !tbaa !5
  %27308 = call ptr @strerror(i32 noundef %27307) #11
  %27309 = call ptr @__errno_location() #12
  %27310 = load i32, ptr %27309, align 4, !tbaa !5
  %27311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27298, ptr noundef @.str.2, i32 noundef %27299, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1001, ptr noundef %27302, ptr noundef %27305, ptr noundef %27308, i32 noundef %27310) #11
  br label %27329

27312:                                            ; preds = %27290, %27283
  %27313 = load i32, ptr %576, align 4, !tbaa !5
  %27314 = call ptr @__errno_location() #12
  store i32 %27313, ptr %27314, align 4, !tbaa !5
  %27315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27316 = load i32, ptr @test_count, align 4, !tbaa !5
  %27317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27318 = load i32, ptr %27317, align 4, !tbaa !5
  %27319 = call ptr @s2n_strerror(i32 noundef %27318, ptr noundef @.str.4)
  %27320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27321 = load i32, ptr %27320, align 4, !tbaa !5
  %27322 = call ptr @s2n_strerror_debug(i32 noundef %27321, ptr noundef @.str.4)
  %27323 = call ptr @__errno_location() #12
  %27324 = load i32, ptr %27323, align 4, !tbaa !5
  %27325 = call ptr @strerror(i32 noundef %27324) #11
  %27326 = call ptr @__errno_location() #12
  %27327 = load i32, ptr %27326, align 4, !tbaa !5
  %27328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27315, ptr noundef @.str.5, i32 noundef %27316, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1001, ptr noundef %27319, ptr noundef %27322, ptr noundef %27325, i32 noundef %27327) #11
  br label %27329

27329:                                            ; preds = %27312, %27295
  call void @llvm.lifetime.end.p0(i64 4, ptr %576) #11
  br label %27330

27330:                                            ; preds = %27329
  br label %27331

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

27332:                                            ; No predecessors!
  br label %27333

27333:                                            ; preds = %27332
  br label %27334

27334:                                            ; preds = %27333, %27275
  br label %27335

27335:                                            ; preds = %27334
  br label %27336

27336:                                            ; preds = %27335
  %27337 = load ptr, ptr %564, align 8, !tbaa !9
  %27338 = getelementptr inbounds [30 x i16], ptr %566, i64 0, i64 0
  %27339 = call i32 @s2n_config_get_supported_groups(ptr noundef %27337, ptr noundef %27338, i16 noundef zeroext 30, ptr noundef null)
  store i32 %27339, ptr %568, align 4, !tbaa !5
  br label %27340

27340:                                            ; preds = %27336
  br label %27341

27341:                                            ; preds = %27340
  br label %27342

27342:                                            ; preds = %27341
  %27343 = load i32, ptr @test_count, align 4, !tbaa !5
  %27344 = add nsw i32 %27343, 1
  store i32 %27344, ptr @test_count, align 4, !tbaa !5
  %27345 = load i32, ptr %568, align 4, !tbaa !5
  %27346 = icmp eq i32 %27345, -1
  br i1 %27346, label %27400, label %27347

27347:                                            ; preds = %27342
  br label %27348

27348:                                            ; preds = %27347
  br label %27349

27349:                                            ; preds = %27348
  call void @llvm.lifetime.start.p0(i64 4, ptr %577) #11
  %27350 = call ptr @__errno_location() #12
  %27351 = load i32, ptr %27350, align 4, !tbaa !5
  store i32 %27351, ptr %577, align 4, !tbaa !5
  %27352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27353 = call i32 @s2n_print_stacktrace(ptr noundef %27352)
  %27354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27355 = trunc i8 %27354 to i1
  br i1 %27355, label %27356, label %27378

27356:                                            ; preds = %27349
  %27357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27358 = call i32 @fileno(ptr noundef %27357) #11
  %27359 = call i32 @isatty(i32 noundef %27358) #11
  %27360 = icmp ne i32 %27359, 0
  br i1 %27360, label %27361, label %27378

27361:                                            ; preds = %27356
  %27362 = load i32, ptr %577, align 4, !tbaa !5
  %27363 = call ptr @__errno_location() #12
  store i32 %27362, ptr %27363, align 4, !tbaa !5
  %27364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27365 = load i32, ptr @test_count, align 4, !tbaa !5
  %27366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27367 = load i32, ptr %27366, align 4, !tbaa !5
  %27368 = call ptr @s2n_strerror(i32 noundef %27367, ptr noundef @.str.4)
  %27369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27370 = load i32, ptr %27369, align 4, !tbaa !5
  %27371 = call ptr @s2n_strerror_debug(i32 noundef %27370, ptr noundef @.str.4)
  %27372 = call ptr @__errno_location() #12
  %27373 = load i32, ptr %27372, align 4, !tbaa !5
  %27374 = call ptr @strerror(i32 noundef %27373) #11
  %27375 = call ptr @__errno_location() #12
  %27376 = load i32, ptr %27375, align 4, !tbaa !5
  %27377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27364, ptr noundef @.str.2, i32 noundef %27365, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1004, ptr noundef %27368, ptr noundef %27371, ptr noundef %27374, i32 noundef %27376) #11
  br label %27395

27378:                                            ; preds = %27356, %27349
  %27379 = load i32, ptr %577, align 4, !tbaa !5
  %27380 = call ptr @__errno_location() #12
  store i32 %27379, ptr %27380, align 4, !tbaa !5
  %27381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27382 = load i32, ptr @test_count, align 4, !tbaa !5
  %27383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27384 = load i32, ptr %27383, align 4, !tbaa !5
  %27385 = call ptr @s2n_strerror(i32 noundef %27384, ptr noundef @.str.4)
  %27386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27387 = load i32, ptr %27386, align 4, !tbaa !5
  %27388 = call ptr @s2n_strerror_debug(i32 noundef %27387, ptr noundef @.str.4)
  %27389 = call ptr @__errno_location() #12
  %27390 = load i32, ptr %27389, align 4, !tbaa !5
  %27391 = call ptr @strerror(i32 noundef %27390) #11
  %27392 = call ptr @__errno_location() #12
  %27393 = load i32, ptr %27392, align 4, !tbaa !5
  %27394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27381, ptr noundef @.str.5, i32 noundef %27382, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1004, ptr noundef %27385, ptr noundef %27388, ptr noundef %27391, i32 noundef %27393) #11
  br label %27395

27395:                                            ; preds = %27378, %27361
  call void @llvm.lifetime.end.p0(i64 4, ptr %577) #11
  br label %27396

27396:                                            ; preds = %27395
  br label %27397

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

27398:                                            ; No predecessors!
  br label %27399

27399:                                            ; preds = %27398
  br label %27400

27400:                                            ; preds = %27399, %27342
  br label %27401

27401:                                            ; preds = %27400
  br label %27402

27402:                                            ; preds = %27401
  br label %27403

27403:                                            ; preds = %27402
  %27404 = load i32, ptr @test_count, align 4, !tbaa !5
  %27405 = add nsw i32 %27404, 1
  store i32 %27405, ptr @test_count, align 4, !tbaa !5
  %27406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27407 = load i32, ptr %27406, align 4, !tbaa !5
  %27408 = icmp eq i32 %27407, 402653193
  br i1 %27408, label %27462, label %27409

27409:                                            ; preds = %27403
  br label %27410

27410:                                            ; preds = %27409
  br label %27411

27411:                                            ; preds = %27410
  call void @llvm.lifetime.start.p0(i64 4, ptr %578) #11
  %27412 = call ptr @__errno_location() #12
  %27413 = load i32, ptr %27412, align 4, !tbaa !5
  store i32 %27413, ptr %578, align 4, !tbaa !5
  %27414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27415 = call i32 @s2n_print_stacktrace(ptr noundef %27414)
  %27416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27417 = trunc i8 %27416 to i1
  br i1 %27417, label %27418, label %27440

27418:                                            ; preds = %27411
  %27419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27420 = call i32 @fileno(ptr noundef %27419) #11
  %27421 = call i32 @isatty(i32 noundef %27420) #11
  %27422 = icmp ne i32 %27421, 0
  br i1 %27422, label %27423, label %27440

27423:                                            ; preds = %27418
  %27424 = load i32, ptr %578, align 4, !tbaa !5
  %27425 = call ptr @__errno_location() #12
  store i32 %27424, ptr %27425, align 4, !tbaa !5
  %27426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27427 = load i32, ptr @test_count, align 4, !tbaa !5
  %27428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27429 = load i32, ptr %27428, align 4, !tbaa !5
  %27430 = call ptr @s2n_strerror(i32 noundef %27429, ptr noundef @.str.4)
  %27431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27432 = load i32, ptr %27431, align 4, !tbaa !5
  %27433 = call ptr @s2n_strerror_debug(i32 noundef %27432, ptr noundef @.str.4)
  %27434 = call ptr @__errno_location() #12
  %27435 = load i32, ptr %27434, align 4, !tbaa !5
  %27436 = call ptr @strerror(i32 noundef %27435) #11
  %27437 = call ptr @__errno_location() #12
  %27438 = load i32, ptr %27437, align 4, !tbaa !5
  %27439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27426, ptr noundef @.str.2, i32 noundef %27427, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1004, ptr noundef %27430, ptr noundef %27433, ptr noundef %27436, i32 noundef %27438) #11
  br label %27457

27440:                                            ; preds = %27418, %27411
  %27441 = load i32, ptr %578, align 4, !tbaa !5
  %27442 = call ptr @__errno_location() #12
  store i32 %27441, ptr %27442, align 4, !tbaa !5
  %27443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27444 = load i32, ptr @test_count, align 4, !tbaa !5
  %27445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27446 = load i32, ptr %27445, align 4, !tbaa !5
  %27447 = call ptr @s2n_strerror(i32 noundef %27446, ptr noundef @.str.4)
  %27448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27449 = load i32, ptr %27448, align 4, !tbaa !5
  %27450 = call ptr @s2n_strerror_debug(i32 noundef %27449, ptr noundef @.str.4)
  %27451 = call ptr @__errno_location() #12
  %27452 = load i32, ptr %27451, align 4, !tbaa !5
  %27453 = call ptr @strerror(i32 noundef %27452) #11
  %27454 = call ptr @__errno_location() #12
  %27455 = load i32, ptr %27454, align 4, !tbaa !5
  %27456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27443, ptr noundef @.str.5, i32 noundef %27444, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 1004, ptr noundef %27447, ptr noundef %27450, ptr noundef %27453, i32 noundef %27455) #11
  br label %27457

27457:                                            ; preds = %27440, %27423
  call void @llvm.lifetime.end.p0(i64 4, ptr %578) #11
  br label %27458

27458:                                            ; preds = %27457
  br label %27459

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

27460:                                            ; No predecessors!
  br label %27461

27461:                                            ; preds = %27460
  br label %27462

27462:                                            ; preds = %27461, %27403
  br label %27463

27463:                                            ; preds = %27462
  br label %27464

27464:                                            ; preds = %27463
  br label %27465

27465:                                            ; preds = %27464
  %27466 = load i32, ptr @test_count, align 4, !tbaa !5
  %27467 = add nsw i32 %27466, 1
  store i32 %27467, ptr @test_count, align 4, !tbaa !5
  %27468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27469 = load i32, ptr %27468, align 4, !tbaa !5
  %27470 = call ptr @s2n_strerror_debug(i32 noundef %27469, ptr noundef @.str.4)
  %27471 = icmp eq ptr %27470, null
  br i1 %27471, label %27472, label %27525

27472:                                            ; preds = %27465
  br label %27473

27473:                                            ; preds = %27472
  br label %27474

27474:                                            ; preds = %27473
  call void @llvm.lifetime.start.p0(i64 4, ptr %579) #11
  %27475 = call ptr @__errno_location() #12
  %27476 = load i32, ptr %27475, align 4, !tbaa !5
  store i32 %27476, ptr %579, align 4, !tbaa !5
  %27477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27478 = call i32 @s2n_print_stacktrace(ptr noundef %27477)
  %27479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27480 = trunc i8 %27479 to i1
  br i1 %27480, label %27481, label %27503

27481:                                            ; preds = %27474
  %27482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27483 = call i32 @fileno(ptr noundef %27482) #11
  %27484 = call i32 @isatty(i32 noundef %27483) #11
  %27485 = icmp ne i32 %27484, 0
  br i1 %27485, label %27486, label %27503

27486:                                            ; preds = %27481
  %27487 = load i32, ptr %579, align 4, !tbaa !5
  %27488 = call ptr @__errno_location() #12
  store i32 %27487, ptr %27488, align 4, !tbaa !5
  %27489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27490 = load i32, ptr @test_count, align 4, !tbaa !5
  %27491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27492 = load i32, ptr %27491, align 4, !tbaa !5
  %27493 = call ptr @s2n_strerror(i32 noundef %27492, ptr noundef @.str.4)
  %27494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27495 = load i32, ptr %27494, align 4, !tbaa !5
  %27496 = call ptr @s2n_strerror_debug(i32 noundef %27495, ptr noundef @.str.4)
  %27497 = call ptr @__errno_location() #12
  %27498 = load i32, ptr %27497, align 4, !tbaa !5
  %27499 = call ptr @strerror(i32 noundef %27498) #11
  %27500 = call ptr @__errno_location() #12
  %27501 = load i32, ptr %27500, align 4, !tbaa !5
  %27502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27489, ptr noundef @.str.2, i32 noundef %27490, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1004, ptr noundef %27493, ptr noundef %27496, ptr noundef %27499, i32 noundef %27501) #11
  br label %27520

27503:                                            ; preds = %27481, %27474
  %27504 = load i32, ptr %579, align 4, !tbaa !5
  %27505 = call ptr @__errno_location() #12
  store i32 %27504, ptr %27505, align 4, !tbaa !5
  %27506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27507 = load i32, ptr @test_count, align 4, !tbaa !5
  %27508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27509 = load i32, ptr %27508, align 4, !tbaa !5
  %27510 = call ptr @s2n_strerror(i32 noundef %27509, ptr noundef @.str.4)
  %27511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27512 = load i32, ptr %27511, align 4, !tbaa !5
  %27513 = call ptr @s2n_strerror_debug(i32 noundef %27512, ptr noundef @.str.4)
  %27514 = call ptr @__errno_location() #12
  %27515 = load i32, ptr %27514, align 4, !tbaa !5
  %27516 = call ptr @strerror(i32 noundef %27515) #11
  %27517 = call ptr @__errno_location() #12
  %27518 = load i32, ptr %27517, align 4, !tbaa !5
  %27519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27506, ptr noundef @.str.5, i32 noundef %27507, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1004, ptr noundef %27510, ptr noundef %27513, ptr noundef %27516, i32 noundef %27518) #11
  br label %27520

27520:                                            ; preds = %27503, %27486
  call void @llvm.lifetime.end.p0(i64 4, ptr %579) #11
  br label %27521

27521:                                            ; preds = %27520
  br label %27522

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

27523:                                            ; No predecessors!
  br label %27524

27524:                                            ; preds = %27523
  br label %27525

27525:                                            ; preds = %27524, %27465
  br label %27526

27526:                                            ; preds = %27525
  br label %27527

27527:                                            ; preds = %27526
  br label %27528

27528:                                            ; preds = %27527
  br label %27529

27529:                                            ; preds = %27528
  br label %27530

27530:                                            ; preds = %27529
  %27531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %27531, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %27532 = call ptr @__errno_location() #12
  store i32 0, ptr %27532, align 4, !tbaa !5
  br label %27533

27533:                                            ; preds = %27530
  br label %27534

27534:                                            ; preds = %27533
  br label %27535

27535:                                            ; preds = %27534
  br label %27536

27536:                                            ; preds = %27535
  br label %27537

27537:                                            ; preds = %27536
  %27538 = load i32, ptr @test_count, align 4, !tbaa !5
  %27539 = add nsw i32 %27538, 1
  store i32 %27539, ptr @test_count, align 4, !tbaa !5
  %27540 = load i16, ptr %567, align 2, !tbaa !79
  %27541 = zext i16 %27540 to i32
  %27542 = icmp eq i32 %27541, 0
  br i1 %27542, label %27596, label %27543

27543:                                            ; preds = %27537
  br label %27544

27544:                                            ; preds = %27543
  br label %27545

27545:                                            ; preds = %27544
  call void @llvm.lifetime.start.p0(i64 4, ptr %580) #11
  %27546 = call ptr @__errno_location() #12
  %27547 = load i32, ptr %27546, align 4, !tbaa !5
  store i32 %27547, ptr %580, align 4, !tbaa !5
  %27548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27549 = call i32 @s2n_print_stacktrace(ptr noundef %27548)
  %27550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27551 = trunc i8 %27550 to i1
  br i1 %27551, label %27552, label %27574

27552:                                            ; preds = %27545
  %27553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27554 = call i32 @fileno(ptr noundef %27553) #11
  %27555 = call i32 @isatty(i32 noundef %27554) #11
  %27556 = icmp ne i32 %27555, 0
  br i1 %27556, label %27557, label %27574

27557:                                            ; preds = %27552
  %27558 = load i32, ptr %580, align 4, !tbaa !5
  %27559 = call ptr @__errno_location() #12
  store i32 %27558, ptr %27559, align 4, !tbaa !5
  %27560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27561 = load i32, ptr @test_count, align 4, !tbaa !5
  %27562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27563 = load i32, ptr %27562, align 4, !tbaa !5
  %27564 = call ptr @s2n_strerror(i32 noundef %27563, ptr noundef @.str.4)
  %27565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27566 = load i32, ptr %27565, align 4, !tbaa !5
  %27567 = call ptr @s2n_strerror_debug(i32 noundef %27566, ptr noundef @.str.4)
  %27568 = call ptr @__errno_location() #12
  %27569 = load i32, ptr %27568, align 4, !tbaa !5
  %27570 = call ptr @strerror(i32 noundef %27569) #11
  %27571 = call ptr @__errno_location() #12
  %27572 = load i32, ptr %27571, align 4, !tbaa !5
  %27573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27560, ptr noundef @.str.2, i32 noundef %27561, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1005, ptr noundef %27564, ptr noundef %27567, ptr noundef %27570, i32 noundef %27572) #11
  br label %27591

27574:                                            ; preds = %27552, %27545
  %27575 = load i32, ptr %580, align 4, !tbaa !5
  %27576 = call ptr @__errno_location() #12
  store i32 %27575, ptr %27576, align 4, !tbaa !5
  %27577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27578 = load i32, ptr @test_count, align 4, !tbaa !5
  %27579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27580 = load i32, ptr %27579, align 4, !tbaa !5
  %27581 = call ptr @s2n_strerror(i32 noundef %27580, ptr noundef @.str.4)
  %27582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27583 = load i32, ptr %27582, align 4, !tbaa !5
  %27584 = call ptr @s2n_strerror_debug(i32 noundef %27583, ptr noundef @.str.4)
  %27585 = call ptr @__errno_location() #12
  %27586 = load i32, ptr %27585, align 4, !tbaa !5
  %27587 = call ptr @strerror(i32 noundef %27586) #11
  %27588 = call ptr @__errno_location() #12
  %27589 = load i32, ptr %27588, align 4, !tbaa !5
  %27590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27577, ptr noundef @.str.5, i32 noundef %27578, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1005, ptr noundef %27581, ptr noundef %27584, ptr noundef %27587, i32 noundef %27589) #11
  br label %27591

27591:                                            ; preds = %27574, %27557
  call void @llvm.lifetime.end.p0(i64 4, ptr %580) #11
  br label %27592

27592:                                            ; preds = %27591
  br label %27593

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

27594:                                            ; No predecessors!
  br label %27595

27595:                                            ; preds = %27594
  br label %27596

27596:                                            ; preds = %27595, %27537
  br label %27597

27597:                                            ; preds = %27596
  br label %27598

27598:                                            ; preds = %27597
  call void @llvm.lifetime.end.p0(i64 4, ptr %568) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %567) #11
  call void @llvm.lifetime.end.p0(i64 60, ptr %566) #11
  %27599 = call i32 @s2n_config_ptr_free(ptr noundef %564)
  %27600 = getelementptr inbounds %struct.s2n_result, ptr %581, i32 0, i32 0
  store i32 %27599, ptr %27600, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %564) #11
  call void @llvm.lifetime.start.p0(i64 16, ptr %582) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %582, ptr align 16 @__const.main.policies, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %583) #11
  store i64 0, ptr %583, align 8, !tbaa !66
  br label %27601

27601:                                            ; preds = %28278, %27598
  %27602 = load i64, ptr %583, align 8, !tbaa !66
  %27603 = icmp ult i64 %27602, 2
  br i1 %27603, label %27605, label %27604

27604:                                            ; preds = %27601
  store i32 2705, ptr %352, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %583) #11
  br label %28281

27605:                                            ; preds = %27601
  call void @llvm.lifetime.start.p0(i64 8, ptr %584) #11
  %27606 = call ptr @s2n_config_new()
  store ptr %27606, ptr %584, align 8, !tbaa !9
  br label %27607

27607:                                            ; preds = %27605
  %27608 = load i32, ptr @test_count, align 4, !tbaa !5
  %27609 = add nsw i32 %27608, 1
  store i32 %27609, ptr @test_count, align 4, !tbaa !5
  %27610 = load ptr, ptr %584, align 8, !tbaa !9
  %27611 = icmp eq ptr %27610, null
  br i1 %27611, label %27612, label %27665

27612:                                            ; preds = %27607
  br label %27613

27613:                                            ; preds = %27612
  br label %27614

27614:                                            ; preds = %27613
  call void @llvm.lifetime.start.p0(i64 4, ptr %585) #11
  %27615 = call ptr @__errno_location() #12
  %27616 = load i32, ptr %27615, align 4, !tbaa !5
  store i32 %27616, ptr %585, align 4, !tbaa !5
  %27617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27618 = call i32 @s2n_print_stacktrace(ptr noundef %27617)
  %27619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27620 = trunc i8 %27619 to i1
  br i1 %27620, label %27621, label %27643

27621:                                            ; preds = %27614
  %27622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27623 = call i32 @fileno(ptr noundef %27622) #11
  %27624 = call i32 @isatty(i32 noundef %27623) #11
  %27625 = icmp ne i32 %27624, 0
  br i1 %27625, label %27626, label %27643

27626:                                            ; preds = %27621
  %27627 = load i32, ptr %585, align 4, !tbaa !5
  %27628 = call ptr @__errno_location() #12
  store i32 %27627, ptr %27628, align 4, !tbaa !5
  %27629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27630 = load i32, ptr @test_count, align 4, !tbaa !5
  %27631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27632 = load i32, ptr %27631, align 4, !tbaa !5
  %27633 = call ptr @s2n_strerror(i32 noundef %27632, ptr noundef @.str.4)
  %27634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27635 = load i32, ptr %27634, align 4, !tbaa !5
  %27636 = call ptr @s2n_strerror_debug(i32 noundef %27635, ptr noundef @.str.4)
  %27637 = call ptr @__errno_location() #12
  %27638 = load i32, ptr %27637, align 4, !tbaa !5
  %27639 = call ptr @strerror(i32 noundef %27638) #11
  %27640 = call ptr @__errno_location() #12
  %27641 = load i32, ptr %27640, align 4, !tbaa !5
  %27642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27629, ptr noundef @.str.2, i32 noundef %27630, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 1018, ptr noundef %27633, ptr noundef %27636, ptr noundef %27639, i32 noundef %27641) #11
  br label %27660

27643:                                            ; preds = %27621, %27614
  %27644 = load i32, ptr %585, align 4, !tbaa !5
  %27645 = call ptr @__errno_location() #12
  store i32 %27644, ptr %27645, align 4, !tbaa !5
  %27646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27647 = load i32, ptr @test_count, align 4, !tbaa !5
  %27648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27649 = load i32, ptr %27648, align 4, !tbaa !5
  %27650 = call ptr @s2n_strerror(i32 noundef %27649, ptr noundef @.str.4)
  %27651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27652 = load i32, ptr %27651, align 4, !tbaa !5
  %27653 = call ptr @s2n_strerror_debug(i32 noundef %27652, ptr noundef @.str.4)
  %27654 = call ptr @__errno_location() #12
  %27655 = load i32, ptr %27654, align 4, !tbaa !5
  %27656 = call ptr @strerror(i32 noundef %27655) #11
  %27657 = call ptr @__errno_location() #12
  %27658 = load i32, ptr %27657, align 4, !tbaa !5
  %27659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27646, ptr noundef @.str.5, i32 noundef %27647, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 1018, ptr noundef %27650, ptr noundef %27653, ptr noundef %27656, i32 noundef %27658) #11
  br label %27660

27660:                                            ; preds = %27643, %27626
  call void @llvm.lifetime.end.p0(i64 4, ptr %585) #11
  br label %27661

27661:                                            ; preds = %27660
  br label %27662

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

27663:                                            ; No predecessors!
  br label %27664

27664:                                            ; preds = %27663
  br label %27665

27665:                                            ; preds = %27664, %27607
  br label %27666

27666:                                            ; preds = %27665
  br label %27667

27667:                                            ; preds = %27666
  br label %27668

27668:                                            ; preds = %27667
  %27669 = load i32, ptr @test_count, align 4, !tbaa !5
  %27670 = add nsw i32 %27669, 1
  store i32 %27670, ptr @test_count, align 4, !tbaa !5
  %27671 = load ptr, ptr %584, align 8, !tbaa !9
  %27672 = load i64, ptr %583, align 8, !tbaa !66
  %27673 = getelementptr inbounds [2 x ptr], ptr %582, i64 0, i64 %27672
  %27674 = load ptr, ptr %27673, align 8, !tbaa !9
  %27675 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %27671, ptr noundef %27674)
  %27676 = icmp eq i32 %27675, -1
  br i1 %27676, label %27677, label %27730

27677:                                            ; preds = %27668
  br label %27678

27678:                                            ; preds = %27677
  br label %27679

27679:                                            ; preds = %27678
  call void @llvm.lifetime.start.p0(i64 4, ptr %586) #11
  %27680 = call ptr @__errno_location() #12
  %27681 = load i32, ptr %27680, align 4, !tbaa !5
  store i32 %27681, ptr %586, align 4, !tbaa !5
  %27682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27683 = call i32 @s2n_print_stacktrace(ptr noundef %27682)
  %27684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27685 = trunc i8 %27684 to i1
  br i1 %27685, label %27686, label %27708

27686:                                            ; preds = %27679
  %27687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27688 = call i32 @fileno(ptr noundef %27687) #11
  %27689 = call i32 @isatty(i32 noundef %27688) #11
  %27690 = icmp ne i32 %27689, 0
  br i1 %27690, label %27691, label %27708

27691:                                            ; preds = %27686
  %27692 = load i32, ptr %586, align 4, !tbaa !5
  %27693 = call ptr @__errno_location() #12
  store i32 %27692, ptr %27693, align 4, !tbaa !5
  %27694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27695 = load i32, ptr @test_count, align 4, !tbaa !5
  %27696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27697 = load i32, ptr %27696, align 4, !tbaa !5
  %27698 = call ptr @s2n_strerror(i32 noundef %27697, ptr noundef @.str.4)
  %27699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27700 = load i32, ptr %27699, align 4, !tbaa !5
  %27701 = call ptr @s2n_strerror_debug(i32 noundef %27700, ptr noundef @.str.4)
  %27702 = call ptr @__errno_location() #12
  %27703 = load i32, ptr %27702, align 4, !tbaa !5
  %27704 = call ptr @strerror(i32 noundef %27703) #11
  %27705 = call ptr @__errno_location() #12
  %27706 = load i32, ptr %27705, align 4, !tbaa !5
  %27707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27694, ptr noundef @.str.2, i32 noundef %27695, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1019, ptr noundef %27698, ptr noundef %27701, ptr noundef %27704, i32 noundef %27706) #11
  br label %27725

27708:                                            ; preds = %27686, %27679
  %27709 = load i32, ptr %586, align 4, !tbaa !5
  %27710 = call ptr @__errno_location() #12
  store i32 %27709, ptr %27710, align 4, !tbaa !5
  %27711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27712 = load i32, ptr @test_count, align 4, !tbaa !5
  %27713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27714 = load i32, ptr %27713, align 4, !tbaa !5
  %27715 = call ptr @s2n_strerror(i32 noundef %27714, ptr noundef @.str.4)
  %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_debug(i32 noundef %27717, ptr noundef @.str.4)
  %27719 = call ptr @__errno_location() #12
  %27720 = load i32, ptr %27719, align 4, !tbaa !5
  %27721 = call ptr @strerror(i32 noundef %27720) #11
  %27722 = call ptr @__errno_location() #12
  %27723 = load i32, ptr %27722, align 4, !tbaa !5
  %27724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27711, ptr noundef @.str.5, i32 noundef %27712, ptr noundef @.str.210, ptr noundef @.str.1, i32 noundef 1019, ptr noundef %27715, ptr noundef %27718, ptr noundef %27721, i32 noundef %27723) #11
  br label %27725

27725:                                            ; preds = %27708, %27691
  call void @llvm.lifetime.end.p0(i64 4, ptr %586) #11
  br label %27726

27726:                                            ; preds = %27725
  br label %27727

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

27728:                                            ; No predecessors!
  br label %27729

27729:                                            ; preds = %27728
  br label %27730

27730:                                            ; preds = %27729, %27668
  br label %27731

27731:                                            ; preds = %27730
  br label %27732

27732:                                            ; preds = %27731
  call void @llvm.lifetime.start.p0(i64 4, ptr %587) #11
  store i32 0, ptr %587, align 4, !tbaa !5
  br label %27733

27733:                                            ; preds = %27732
  %27734 = load i32, ptr @test_count, align 4, !tbaa !5
  %27735 = add nsw i32 %27734, 1
  store i32 %27735, ptr @test_count, align 4, !tbaa !5
  %27736 = load ptr, ptr %584, align 8, !tbaa !9
  %27737 = getelementptr inbounds %struct.s2n_config, ptr %27736, i32 0, i32 7
  %27738 = load ptr, ptr %27737, align 8, !tbaa !15
  %27739 = getelementptr inbounds %struct.s2n_security_policy, ptr %27738, i32 0, i32 2
  %27740 = load ptr, ptr %27739, align 8, !tbaa !80
  %27741 = call i32 @s2n_kem_preferences_groups_available(ptr noundef %27740, ptr noundef %587)
  %27742 = getelementptr inbounds %struct.s2n_result, ptr %588, i32 0, i32 0
  store i32 %27741, ptr %27742, align 4
  %27743 = getelementptr inbounds %struct.s2n_result, ptr %588, i32 0, i32 0
  %27744 = load i32, ptr %27743, align 4
  %27745 = call zeroext i1 @s2n_result_is_ok(i32 %27744)
  br i1 %27745, label %27799, label %27746

27746:                                            ; preds = %27733
  br label %27747

27747:                                            ; preds = %27746
  br label %27748

27748:                                            ; preds = %27747
  call void @llvm.lifetime.start.p0(i64 4, ptr %589) #11
  %27749 = call ptr @__errno_location() #12
  %27750 = load i32, ptr %27749, align 4, !tbaa !5
  store i32 %27750, ptr %589, align 4, !tbaa !5
  %27751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27752 = call i32 @s2n_print_stacktrace(ptr noundef %27751)
  %27753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27754 = trunc i8 %27753 to i1
  br i1 %27754, label %27755, label %27777

27755:                                            ; preds = %27748
  %27756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27757 = call i32 @fileno(ptr noundef %27756) #11
  %27758 = call i32 @isatty(i32 noundef %27757) #11
  %27759 = icmp ne i32 %27758, 0
  br i1 %27759, label %27760, label %27777

27760:                                            ; preds = %27755
  %27761 = load i32, ptr %589, align 4, !tbaa !5
  %27762 = call ptr @__errno_location() #12
  store i32 %27761, ptr %27762, align 4, !tbaa !5
  %27763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27764 = load i32, ptr @test_count, align 4, !tbaa !5
  %27765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27766 = load i32, ptr %27765, align 4, !tbaa !5
  %27767 = call ptr @s2n_strerror(i32 noundef %27766, ptr noundef @.str.4)
  %27768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27769 = load i32, ptr %27768, align 4, !tbaa !5
  %27770 = call ptr @s2n_strerror_debug(i32 noundef %27769, ptr noundef @.str.4)
  %27771 = call ptr @__errno_location() #12
  %27772 = load i32, ptr %27771, align 4, !tbaa !5
  %27773 = call ptr @strerror(i32 noundef %27772) #11
  %27774 = call ptr @__errno_location() #12
  %27775 = load i32, ptr %27774, align 4, !tbaa !5
  %27776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27763, ptr noundef @.str.2, i32 noundef %27764, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 1023, ptr noundef %27767, ptr noundef %27770, ptr noundef %27773, i32 noundef %27775) #11
  br label %27794

27777:                                            ; preds = %27755, %27748
  %27778 = load i32, ptr %589, align 4, !tbaa !5
  %27779 = call ptr @__errno_location() #12
  store i32 %27778, ptr %27779, align 4, !tbaa !5
  %27780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27781 = load i32, ptr @test_count, align 4, !tbaa !5
  %27782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27783 = load i32, ptr %27782, align 4, !tbaa !5
  %27784 = call ptr @s2n_strerror(i32 noundef %27783, ptr noundef @.str.4)
  %27785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27786 = load i32, ptr %27785, align 4, !tbaa !5
  %27787 = call ptr @s2n_strerror_debug(i32 noundef %27786, ptr noundef @.str.4)
  %27788 = call ptr @__errno_location() #12
  %27789 = load i32, ptr %27788, align 4, !tbaa !5
  %27790 = call ptr @strerror(i32 noundef %27789) #11
  %27791 = call ptr @__errno_location() #12
  %27792 = load i32, ptr %27791, align 4, !tbaa !5
  %27793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27780, ptr noundef @.str.5, i32 noundef %27781, ptr noundef @.str.211, ptr noundef @.str.1, i32 noundef 1023, ptr noundef %27784, ptr noundef %27787, ptr noundef %27790, i32 noundef %27792) #11
  br label %27794

27794:                                            ; preds = %27777, %27760
  call void @llvm.lifetime.end.p0(i64 4, ptr %589) #11
  br label %27795

27795:                                            ; preds = %27794
  br label %27796

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

27797:                                            ; No predecessors!
  br label %27798

27798:                                            ; preds = %27797
  br label %27799

27799:                                            ; preds = %27798, %27733
  br label %27800

27800:                                            ; preds = %27799
  br label %27801

27801:                                            ; preds = %27800
  %27802 = load ptr, ptr %584, align 8, !tbaa !9
  %27803 = getelementptr inbounds %struct.s2n_config, ptr %27802, i32 0, i32 7
  %27804 = load ptr, ptr %27803, align 8, !tbaa !15
  %27805 = getelementptr inbounds %struct.s2n_security_policy, ptr %27804, i32 0, i32 5
  %27806 = load ptr, ptr %27805, align 8, !tbaa !81
  %27807 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %27806, i32 0, i32 0
  %27808 = load i8, ptr %27807, align 8, !tbaa !82
  %27809 = zext i8 %27808 to i32
  %27810 = load i32, ptr %587, align 4, !tbaa !5
  %27811 = add i32 %27810, %27809
  store i32 %27811, ptr %587, align 4, !tbaa !5
  br label %27812

27812:                                            ; preds = %27801
  %27813 = load i32, ptr @test_count, align 4, !tbaa !5
  %27814 = add nsw i32 %27813, 1
  store i32 %27814, ptr @test_count, align 4, !tbaa !5
  %27815 = load i32, ptr %587, align 4, !tbaa !5
  %27816 = icmp ugt i32 %27815, 0
  br i1 %27816, label %27870, label %27817

27817:                                            ; preds = %27812
  br label %27818

27818:                                            ; preds = %27817
  br label %27819

27819:                                            ; preds = %27818
  call void @llvm.lifetime.start.p0(i64 4, ptr %590) #11
  %27820 = call ptr @__errno_location() #12
  %27821 = load i32, ptr %27820, align 4, !tbaa !5
  store i32 %27821, ptr %590, align 4, !tbaa !5
  %27822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27823 = call i32 @s2n_print_stacktrace(ptr noundef %27822)
  %27824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27825 = trunc i8 %27824 to i1
  br i1 %27825, label %27826, label %27848

27826:                                            ; preds = %27819
  %27827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27828 = call i32 @fileno(ptr noundef %27827) #11
  %27829 = call i32 @isatty(i32 noundef %27828) #11
  %27830 = icmp ne i32 %27829, 0
  br i1 %27830, label %27831, label %27848

27831:                                            ; preds = %27826
  %27832 = load i32, ptr %590, align 4, !tbaa !5
  %27833 = call ptr @__errno_location() #12
  store i32 %27832, ptr %27833, align 4, !tbaa !5
  %27834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27835 = load i32, ptr @test_count, align 4, !tbaa !5
  %27836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27837 = load i32, ptr %27836, align 4, !tbaa !5
  %27838 = call ptr @s2n_strerror(i32 noundef %27837, ptr noundef @.str.4)
  %27839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27840 = load i32, ptr %27839, align 4, !tbaa !5
  %27841 = call ptr @s2n_strerror_debug(i32 noundef %27840, ptr noundef @.str.4)
  %27842 = call ptr @__errno_location() #12
  %27843 = load i32, ptr %27842, align 4, !tbaa !5
  %27844 = call ptr @strerror(i32 noundef %27843) #11
  %27845 = call ptr @__errno_location() #12
  %27846 = load i32, ptr %27845, align 4, !tbaa !5
  %27847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27834, ptr noundef @.str.2, i32 noundef %27835, ptr noundef @.str.212, ptr noundef @.str.1, i32 noundef 1025, ptr noundef %27838, ptr noundef %27841, ptr noundef %27844, i32 noundef %27846) #11
  br label %27865

27848:                                            ; preds = %27826, %27819
  %27849 = load i32, ptr %590, align 4, !tbaa !5
  %27850 = call ptr @__errno_location() #12
  store i32 %27849, ptr %27850, align 4, !tbaa !5
  %27851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27852 = load i32, ptr @test_count, align 4, !tbaa !5
  %27853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27854 = load i32, ptr %27853, align 4, !tbaa !5
  %27855 = call ptr @s2n_strerror(i32 noundef %27854, ptr noundef @.str.4)
  %27856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27857 = load i32, ptr %27856, align 4, !tbaa !5
  %27858 = call ptr @s2n_strerror_debug(i32 noundef %27857, ptr noundef @.str.4)
  %27859 = call ptr @__errno_location() #12
  %27860 = load i32, ptr %27859, align 4, !tbaa !5
  %27861 = call ptr @strerror(i32 noundef %27860) #11
  %27862 = call ptr @__errno_location() #12
  %27863 = load i32, ptr %27862, align 4, !tbaa !5
  %27864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27851, ptr noundef @.str.5, i32 noundef %27852, ptr noundef @.str.212, ptr noundef @.str.1, i32 noundef 1025, ptr noundef %27855, ptr noundef %27858, ptr noundef %27861, i32 noundef %27863) #11
  br label %27865

27865:                                            ; preds = %27848, %27831
  call void @llvm.lifetime.end.p0(i64 4, ptr %590) #11
  br label %27866

27866:                                            ; preds = %27865
  br label %27867

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

27868:                                            ; No predecessors!
  br label %27869

27869:                                            ; preds = %27868
  br label %27870

27870:                                            ; preds = %27869, %27812
  br label %27871

27871:                                            ; preds = %27870
  br label %27872

27872:                                            ; preds = %27871
  call void @llvm.lifetime.start.p0(i64 60, ptr %591) #11
  call void @llvm.memset.p0.i64(ptr align 16 %591, i8 0, i64 60, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr %592) #11
  store i16 11, ptr %592, align 2, !tbaa !79
  call void @llvm.lifetime.start.p0(i64 8, ptr %593) #11
  store i64 0, ptr %593, align 8, !tbaa !66
  br label %27873

27873:                                            ; preds = %28144, %27872
  %27874 = load i64, ptr %593, align 8, !tbaa !66
  %27875 = load i32, ptr %587, align 4, !tbaa !5
  %27876 = zext i32 %27875 to i64
  %27877 = icmp ult i64 %27874, %27876
  br i1 %27877, label %27879, label %27878

27878:                                            ; preds = %27873
  store i32 2732, ptr %352, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %593) #11
  br label %28147

27879:                                            ; preds = %27873
  call void @llvm.lifetime.start.p0(i64 4, ptr %594) #11
  %27880 = load ptr, ptr %584, align 8, !tbaa !9
  %27881 = getelementptr inbounds [30 x i16], ptr %591, i64 0, i64 0
  %27882 = load i64, ptr %593, align 8, !tbaa !66
  %27883 = trunc i64 %27882 to i16
  %27884 = call i32 @s2n_config_get_supported_groups(ptr noundef %27880, ptr noundef %27881, i16 noundef zeroext %27883, ptr noundef %592)
  store i32 %27884, ptr %594, align 4, !tbaa !5
  br label %27885

27885:                                            ; preds = %27879
  br label %27886

27886:                                            ; preds = %27885
  br label %27887

27887:                                            ; preds = %27886
  %27888 = load i32, ptr @test_count, align 4, !tbaa !5
  %27889 = add nsw i32 %27888, 1
  store i32 %27889, ptr @test_count, align 4, !tbaa !5
  %27890 = load i32, ptr %594, align 4, !tbaa !5
  %27891 = icmp eq i32 %27890, -1
  br i1 %27891, label %27945, label %27892

27892:                                            ; preds = %27887
  br label %27893

27893:                                            ; preds = %27892
  br label %27894

27894:                                            ; preds = %27893
  call void @llvm.lifetime.start.p0(i64 4, ptr %595) #11
  %27895 = call ptr @__errno_location() #12
  %27896 = load i32, ptr %27895, align 4, !tbaa !5
  store i32 %27896, ptr %595, align 4, !tbaa !5
  %27897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27898 = call i32 @s2n_print_stacktrace(ptr noundef %27897)
  %27899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27900 = trunc i8 %27899 to i1
  br i1 %27900, label %27901, label %27923

27901:                                            ; preds = %27894
  %27902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27903 = call i32 @fileno(ptr noundef %27902) #11
  %27904 = call i32 @isatty(i32 noundef %27903) #11
  %27905 = icmp ne i32 %27904, 0
  br i1 %27905, label %27906, label %27923

27906:                                            ; preds = %27901
  %27907 = load i32, ptr %595, align 4, !tbaa !5
  %27908 = call ptr @__errno_location() #12
  store i32 %27907, ptr %27908, align 4, !tbaa !5
  %27909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27910 = load i32, ptr @test_count, align 4, !tbaa !5
  %27911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27912 = load i32, ptr %27911, align 4, !tbaa !5
  %27913 = call ptr @s2n_strerror(i32 noundef %27912, ptr noundef @.str.4)
  %27914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27915 = load i32, ptr %27914, align 4, !tbaa !5
  %27916 = call ptr @s2n_strerror_debug(i32 noundef %27915, ptr noundef @.str.4)
  %27917 = call ptr @__errno_location() #12
  %27918 = load i32, ptr %27917, align 4, !tbaa !5
  %27919 = call ptr @strerror(i32 noundef %27918) #11
  %27920 = call ptr @__errno_location() #12
  %27921 = load i32, ptr %27920, align 4, !tbaa !5
  %27922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27909, ptr noundef @.str.2, i32 noundef %27910, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1032, ptr noundef %27913, ptr noundef %27916, ptr noundef %27919, i32 noundef %27921) #11
  br label %27940

27923:                                            ; preds = %27901, %27894
  %27924 = load i32, ptr %595, align 4, !tbaa !5
  %27925 = call ptr @__errno_location() #12
  store i32 %27924, ptr %27925, align 4, !tbaa !5
  %27926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27927 = load i32, ptr @test_count, align 4, !tbaa !5
  %27928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27929 = load i32, ptr %27928, align 4, !tbaa !5
  %27930 = call ptr @s2n_strerror(i32 noundef %27929, ptr noundef @.str.4)
  %27931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27932 = load i32, ptr %27931, align 4, !tbaa !5
  %27933 = call ptr @s2n_strerror_debug(i32 noundef %27932, ptr noundef @.str.4)
  %27934 = call ptr @__errno_location() #12
  %27935 = load i32, ptr %27934, align 4, !tbaa !5
  %27936 = call ptr @strerror(i32 noundef %27935) #11
  %27937 = call ptr @__errno_location() #12
  %27938 = load i32, ptr %27937, align 4, !tbaa !5
  %27939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27926, ptr noundef @.str.5, i32 noundef %27927, ptr noundef @.str.206, ptr noundef @.str.1, i32 noundef 1032, ptr noundef %27930, ptr noundef %27933, ptr noundef %27936, i32 noundef %27938) #11
  br label %27940

27940:                                            ; preds = %27923, %27906
  call void @llvm.lifetime.end.p0(i64 4, ptr %595) #11
  br label %27941

27941:                                            ; preds = %27940
  br label %27942

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

27943:                                            ; No predecessors!
  br label %27944

27944:                                            ; preds = %27943
  br label %27945

27945:                                            ; preds = %27944, %27887
  br label %27946

27946:                                            ; preds = %27945
  br label %27947

27947:                                            ; preds = %27946
  br label %27948

27948:                                            ; preds = %27947
  %27949 = load i32, ptr @test_count, align 4, !tbaa !5
  %27950 = add nsw i32 %27949, 1
  store i32 %27950, ptr @test_count, align 4, !tbaa !5
  %27951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27952 = load i32, ptr %27951, align 4, !tbaa !5
  %27953 = icmp eq i32 %27952, 469762120
  br i1 %27953, label %28007, label %27954

27954:                                            ; preds = %27948
  br label %27955

27955:                                            ; preds = %27954
  br label %27956

27956:                                            ; preds = %27955
  call void @llvm.lifetime.start.p0(i64 4, ptr %596) #11
  %27957 = call ptr @__errno_location() #12
  %27958 = load i32, ptr %27957, align 4, !tbaa !5
  store i32 %27958, ptr %596, align 4, !tbaa !5
  %27959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27960 = call i32 @s2n_print_stacktrace(ptr noundef %27959)
  %27961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27962 = trunc i8 %27961 to i1
  br i1 %27962, label %27963, label %27985

27963:                                            ; preds = %27956
  %27964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27965 = call i32 @fileno(ptr noundef %27964) #11
  %27966 = call i32 @isatty(i32 noundef %27965) #11
  %27967 = icmp ne i32 %27966, 0
  br i1 %27967, label %27968, label %27985

27968:                                            ; preds = %27963
  %27969 = load i32, ptr %596, align 4, !tbaa !5
  %27970 = call ptr @__errno_location() #12
  store i32 %27969, ptr %27970, align 4, !tbaa !5
  %27971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27972 = load i32, ptr @test_count, align 4, !tbaa !5
  %27973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27974 = load i32, ptr %27973, align 4, !tbaa !5
  %27975 = call ptr @s2n_strerror(i32 noundef %27974, ptr noundef @.str.4)
  %27976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27977 = load i32, ptr %27976, align 4, !tbaa !5
  %27978 = call ptr @s2n_strerror_debug(i32 noundef %27977, ptr noundef @.str.4)
  %27979 = call ptr @__errno_location() #12
  %27980 = load i32, ptr %27979, align 4, !tbaa !5
  %27981 = call ptr @strerror(i32 noundef %27980) #11
  %27982 = call ptr @__errno_location() #12
  %27983 = load i32, ptr %27982, align 4, !tbaa !5
  %27984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27971, ptr noundef @.str.2, i32 noundef %27972, ptr noundef @.str.213, ptr noundef @.str.1, i32 noundef 1032, ptr noundef %27975, ptr noundef %27978, ptr noundef %27981, i32 noundef %27983) #11
  br label %28002

27985:                                            ; preds = %27963, %27956
  %27986 = load i32, ptr %596, align 4, !tbaa !5
  %27987 = call ptr @__errno_location() #12
  store i32 %27986, ptr %27987, align 4, !tbaa !5
  %27988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27989 = load i32, ptr @test_count, align 4, !tbaa !5
  %27990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27991 = load i32, ptr %27990, align 4, !tbaa !5
  %27992 = call ptr @s2n_strerror(i32 noundef %27991, ptr noundef @.str.4)
  %27993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27994 = load i32, ptr %27993, align 4, !tbaa !5
  %27995 = call ptr @s2n_strerror_debug(i32 noundef %27994, ptr noundef @.str.4)
  %27996 = call ptr @__errno_location() #12
  %27997 = load i32, ptr %27996, align 4, !tbaa !5
  %27998 = call ptr @strerror(i32 noundef %27997) #11
  %27999 = call ptr @__errno_location() #12
  %28000 = load i32, ptr %27999, align 4, !tbaa !5
  %28001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27988, ptr noundef @.str.5, i32 noundef %27989, ptr noundef @.str.213, ptr noundef @.str.1, i32 noundef 1032, ptr noundef %27992, ptr noundef %27995, ptr noundef %27998, i32 noundef %28000) #11
  br label %28002

28002:                                            ; preds = %27985, %27968
  call void @llvm.lifetime.end.p0(i64 4, ptr %596) #11
  br label %28003

28003:                                            ; preds = %28002
  br label %28004

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

28005:                                            ; No predecessors!
  br label %28006

28006:                                            ; preds = %28005
  br label %28007

28007:                                            ; preds = %28006, %27948
  br label %28008

28008:                                            ; preds = %28007
  br label %28009

28009:                                            ; preds = %28008
  br label %28010

28010:                                            ; preds = %28009
  %28011 = load i32, ptr @test_count, align 4, !tbaa !5
  %28012 = add nsw i32 %28011, 1
  store i32 %28012, ptr @test_count, align 4, !tbaa !5
  %28013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28014 = load i32, ptr %28013, align 4, !tbaa !5
  %28015 = call ptr @s2n_strerror_debug(i32 noundef %28014, ptr noundef @.str.4)
  %28016 = icmp eq ptr %28015, null
  br i1 %28016, label %28017, label %28070

28017:                                            ; preds = %28010
  br label %28018

28018:                                            ; preds = %28017
  br label %28019

28019:                                            ; preds = %28018
  call void @llvm.lifetime.start.p0(i64 4, ptr %597) #11
  %28020 = call ptr @__errno_location() #12
  %28021 = load i32, ptr %28020, align 4, !tbaa !5
  store i32 %28021, ptr %597, align 4, !tbaa !5
  %28022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28023 = call i32 @s2n_print_stacktrace(ptr noundef %28022)
  %28024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28025 = trunc i8 %28024 to i1
  br i1 %28025, label %28026, label %28048

28026:                                            ; preds = %28019
  %28027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28028 = call i32 @fileno(ptr noundef %28027) #11
  %28029 = call i32 @isatty(i32 noundef %28028) #11
  %28030 = icmp ne i32 %28029, 0
  br i1 %28030, label %28031, label %28048

28031:                                            ; preds = %28026
  %28032 = load i32, ptr %597, align 4, !tbaa !5
  %28033 = call ptr @__errno_location() #12
  store i32 %28032, ptr %28033, align 4, !tbaa !5
  %28034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28035 = load i32, ptr @test_count, align 4, !tbaa !5
  %28036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28037 = load i32, ptr %28036, align 4, !tbaa !5
  %28038 = call ptr @s2n_strerror(i32 noundef %28037, ptr noundef @.str.4)
  %28039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28040 = load i32, ptr %28039, align 4, !tbaa !5
  %28041 = call ptr @s2n_strerror_debug(i32 noundef %28040, ptr noundef @.str.4)
  %28042 = call ptr @__errno_location() #12
  %28043 = load i32, ptr %28042, align 4, !tbaa !5
  %28044 = call ptr @strerror(i32 noundef %28043) #11
  %28045 = call ptr @__errno_location() #12
  %28046 = load i32, ptr %28045, align 4, !tbaa !5
  %28047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28034, ptr noundef @.str.2, i32 noundef %28035, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1032, ptr noundef %28038, ptr noundef %28041, ptr noundef %28044, i32 noundef %28046) #11
  br label %28065

28048:                                            ; preds = %28026, %28019
  %28049 = load i32, ptr %597, align 4, !tbaa !5
  %28050 = call ptr @__errno_location() #12
  store i32 %28049, ptr %28050, align 4, !tbaa !5
  %28051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28052 = load i32, ptr @test_count, align 4, !tbaa !5
  %28053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28054 = load i32, ptr %28053, align 4, !tbaa !5
  %28055 = call ptr @s2n_strerror(i32 noundef %28054, ptr noundef @.str.4)
  %28056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28057 = load i32, ptr %28056, align 4, !tbaa !5
  %28058 = call ptr @s2n_strerror_debug(i32 noundef %28057, ptr noundef @.str.4)
  %28059 = call ptr @__errno_location() #12
  %28060 = load i32, ptr %28059, align 4, !tbaa !5
  %28061 = call ptr @strerror(i32 noundef %28060) #11
  %28062 = call ptr @__errno_location() #12
  %28063 = load i32, ptr %28062, align 4, !tbaa !5
  %28064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28051, ptr noundef @.str.5, i32 noundef %28052, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1032, ptr noundef %28055, ptr noundef %28058, ptr noundef %28061, i32 noundef %28063) #11
  br label %28065

28065:                                            ; preds = %28048, %28031
  call void @llvm.lifetime.end.p0(i64 4, ptr %597) #11
  br label %28066

28066:                                            ; preds = %28065
  br label %28067

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

28068:                                            ; No predecessors!
  br label %28069

28069:                                            ; preds = %28068
  br label %28070

28070:                                            ; preds = %28069, %28010
  br label %28071

28071:                                            ; preds = %28070
  br label %28072

28072:                                            ; preds = %28071
  br label %28073

28073:                                            ; preds = %28072
  br label %28074

28074:                                            ; preds = %28073
  br label %28075

28075:                                            ; preds = %28074
  %28076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28076, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28077 = call ptr @__errno_location() #12
  store i32 0, ptr %28077, align 4, !tbaa !5
  br label %28078

28078:                                            ; preds = %28075
  br label %28079

28079:                                            ; preds = %28078
  br label %28080

28080:                                            ; preds = %28079
  br label %28081

28081:                                            ; preds = %28080
  br label %28082

28082:                                            ; preds = %28081
  %28083 = load i32, ptr @test_count, align 4, !tbaa !5
  %28084 = add nsw i32 %28083, 1
  store i32 %28084, ptr @test_count, align 4, !tbaa !5
  %28085 = load i16, ptr %592, align 2, !tbaa !79
  %28086 = zext i16 %28085 to i32
  %28087 = icmp eq i32 %28086, 0
  br i1 %28087, label %28141, label %28088

28088:                                            ; preds = %28082
  br label %28089

28089:                                            ; preds = %28088
  br label %28090

28090:                                            ; preds = %28089
  call void @llvm.lifetime.start.p0(i64 4, ptr %598) #11
  %28091 = call ptr @__errno_location() #12
  %28092 = load i32, ptr %28091, align 4, !tbaa !5
  store i32 %28092, ptr %598, align 4, !tbaa !5
  %28093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28094 = call i32 @s2n_print_stacktrace(ptr noundef %28093)
  %28095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28096 = trunc i8 %28095 to i1
  br i1 %28096, label %28097, label %28119

28097:                                            ; preds = %28090
  %28098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28099 = call i32 @fileno(ptr noundef %28098) #11
  %28100 = call i32 @isatty(i32 noundef %28099) #11
  %28101 = icmp ne i32 %28100, 0
  br i1 %28101, label %28102, label %28119

28102:                                            ; preds = %28097
  %28103 = load i32, ptr %598, align 4, !tbaa !5
  %28104 = call ptr @__errno_location() #12
  store i32 %28103, ptr %28104, align 4, !tbaa !5
  %28105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28106 = load i32, ptr @test_count, align 4, !tbaa !5
  %28107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28108 = load i32, ptr %28107, align 4, !tbaa !5
  %28109 = call ptr @s2n_strerror(i32 noundef %28108, ptr noundef @.str.4)
  %28110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28111 = load i32, ptr %28110, align 4, !tbaa !5
  %28112 = call ptr @s2n_strerror_debug(i32 noundef %28111, ptr noundef @.str.4)
  %28113 = call ptr @__errno_location() #12
  %28114 = load i32, ptr %28113, align 4, !tbaa !5
  %28115 = call ptr @strerror(i32 noundef %28114) #11
  %28116 = call ptr @__errno_location() #12
  %28117 = load i32, ptr %28116, align 4, !tbaa !5
  %28118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28105, ptr noundef @.str.2, i32 noundef %28106, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1033, ptr noundef %28109, ptr noundef %28112, ptr noundef %28115, i32 noundef %28117) #11
  br label %28136

28119:                                            ; preds = %28097, %28090
  %28120 = load i32, ptr %598, align 4, !tbaa !5
  %28121 = call ptr @__errno_location() #12
  store i32 %28120, ptr %28121, align 4, !tbaa !5
  %28122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28123 = load i32, ptr @test_count, align 4, !tbaa !5
  %28124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28125 = load i32, ptr %28124, align 4, !tbaa !5
  %28126 = call ptr @s2n_strerror(i32 noundef %28125, ptr noundef @.str.4)
  %28127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28128 = load i32, ptr %28127, align 4, !tbaa !5
  %28129 = call ptr @s2n_strerror_debug(i32 noundef %28128, ptr noundef @.str.4)
  %28130 = call ptr @__errno_location() #12
  %28131 = load i32, ptr %28130, align 4, !tbaa !5
  %28132 = call ptr @strerror(i32 noundef %28131) #11
  %28133 = call ptr @__errno_location() #12
  %28134 = load i32, ptr %28133, align 4, !tbaa !5
  %28135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28122, ptr noundef @.str.5, i32 noundef %28123, ptr noundef @.str.207, ptr noundef @.str.1, i32 noundef 1033, ptr noundef %28126, ptr noundef %28129, ptr noundef %28132, i32 noundef %28134) #11
  br label %28136

28136:                                            ; preds = %28119, %28102
  call void @llvm.lifetime.end.p0(i64 4, ptr %598) #11
  br label %28137

28137:                                            ; preds = %28136
  br label %28138

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

28139:                                            ; No predecessors!
  br label %28140

28140:                                            ; preds = %28139
  br label %28141

28141:                                            ; preds = %28140, %28082
  br label %28142

28142:                                            ; preds = %28141
  br label %28143

28143:                                            ; preds = %28142
  call void @llvm.lifetime.end.p0(i64 4, ptr %594) #11
  br label %28144

28144:                                            ; preds = %28143
  %28145 = load i64, ptr %593, align 8, !tbaa !66
  %28146 = add i64 %28145, 1
  store i64 %28146, ptr %593, align 8, !tbaa !66
  br label %27873, !llvm.loop !84

28147:                                            ; preds = %27878
  br label %28148

28148:                                            ; preds = %28147
  %28149 = load i32, ptr @test_count, align 4, !tbaa !5
  %28150 = add nsw i32 %28149, 1
  store i32 %28150, ptr @test_count, align 4, !tbaa !5
  %28151 = load ptr, ptr %584, align 8, !tbaa !9
  %28152 = getelementptr inbounds [30 x i16], ptr %591, i64 0, i64 0
  %28153 = load i32, ptr %587, align 4, !tbaa !5
  %28154 = trunc i32 %28153 to i16
  %28155 = call i32 @s2n_config_get_supported_groups(ptr noundef %28151, ptr noundef %28152, i16 noundef zeroext %28154, ptr noundef %592)
  %28156 = icmp eq i32 %28155, -1
  br i1 %28156, label %28157, label %28210

28157:                                            ; preds = %28148
  br label %28158

28158:                                            ; preds = %28157
  br label %28159

28159:                                            ; preds = %28158
  call void @llvm.lifetime.start.p0(i64 4, ptr %599) #11
  %28160 = call ptr @__errno_location() #12
  %28161 = load i32, ptr %28160, align 4, !tbaa !5
  store i32 %28161, ptr %599, align 4, !tbaa !5
  %28162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28163 = call i32 @s2n_print_stacktrace(ptr noundef %28162)
  %28164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28165 = trunc i8 %28164 to i1
  br i1 %28165, label %28166, label %28188

28166:                                            ; preds = %28159
  %28167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28168 = call i32 @fileno(ptr noundef %28167) #11
  %28169 = call i32 @isatty(i32 noundef %28168) #11
  %28170 = icmp ne i32 %28169, 0
  br i1 %28170, label %28171, label %28188

28171:                                            ; preds = %28166
  %28172 = load i32, ptr %599, align 4, !tbaa !5
  %28173 = call ptr @__errno_location() #12
  store i32 %28172, ptr %28173, align 4, !tbaa !5
  %28174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28175 = load i32, ptr @test_count, align 4, !tbaa !5
  %28176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28177 = load i32, ptr %28176, align 4, !tbaa !5
  %28178 = call ptr @s2n_strerror(i32 noundef %28177, ptr noundef @.str.4)
  %28179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28180 = load i32, ptr %28179, align 4, !tbaa !5
  %28181 = call ptr @s2n_strerror_debug(i32 noundef %28180, ptr noundef @.str.4)
  %28182 = call ptr @__errno_location() #12
  %28183 = load i32, ptr %28182, align 4, !tbaa !5
  %28184 = call ptr @strerror(i32 noundef %28183) #11
  %28185 = call ptr @__errno_location() #12
  %28186 = load i32, ptr %28185, align 4, !tbaa !5
  %28187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28174, ptr noundef @.str.2, i32 noundef %28175, ptr noundef @.str.214, ptr noundef @.str.1, i32 noundef 1037, ptr noundef %28178, ptr noundef %28181, ptr noundef %28184, i32 noundef %28186) #11
  br label %28205

28188:                                            ; preds = %28166, %28159
  %28189 = load i32, ptr %599, align 4, !tbaa !5
  %28190 = call ptr @__errno_location() #12
  store i32 %28189, ptr %28190, align 4, !tbaa !5
  %28191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28192 = load i32, ptr @test_count, align 4, !tbaa !5
  %28193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28194 = load i32, ptr %28193, align 4, !tbaa !5
  %28195 = call ptr @s2n_strerror(i32 noundef %28194, ptr noundef @.str.4)
  %28196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28197 = load i32, ptr %28196, align 4, !tbaa !5
  %28198 = call ptr @s2n_strerror_debug(i32 noundef %28197, ptr noundef @.str.4)
  %28199 = call ptr @__errno_location() #12
  %28200 = load i32, ptr %28199, align 4, !tbaa !5
  %28201 = call ptr @strerror(i32 noundef %28200) #11
  %28202 = call ptr @__errno_location() #12
  %28203 = load i32, ptr %28202, align 4, !tbaa !5
  %28204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28191, ptr noundef @.str.5, i32 noundef %28192, ptr noundef @.str.214, ptr noundef @.str.1, i32 noundef 1037, ptr noundef %28195, ptr noundef %28198, ptr noundef %28201, i32 noundef %28203) #11
  br label %28205

28205:                                            ; preds = %28188, %28171
  call void @llvm.lifetime.end.p0(i64 4, ptr %599) #11
  br label %28206

28206:                                            ; preds = %28205
  br label %28207

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

28208:                                            ; No predecessors!
  br label %28209

28209:                                            ; preds = %28208
  br label %28210

28210:                                            ; preds = %28209, %28148
  br label %28211

28211:                                            ; preds = %28210
  br label %28212

28212:                                            ; preds = %28211
  br label %28213

28213:                                            ; preds = %28212
  %28214 = load i32, ptr @test_count, align 4, !tbaa !5
  %28215 = add nsw i32 %28214, 1
  store i32 %28215, ptr @test_count, align 4, !tbaa !5
  %28216 = load i16, ptr %592, align 2, !tbaa !79
  %28217 = zext i16 %28216 to i32
  %28218 = load i32, ptr %587, align 4, !tbaa !5
  %28219 = icmp eq i32 %28217, %28218
  br i1 %28219, label %28273, label %28220

28220:                                            ; preds = %28213
  br label %28221

28221:                                            ; preds = %28220
  br label %28222

28222:                                            ; preds = %28221
  call void @llvm.lifetime.start.p0(i64 4, ptr %600) #11
  %28223 = call ptr @__errno_location() #12
  %28224 = load i32, ptr %28223, align 4, !tbaa !5
  store i32 %28224, ptr %600, align 4, !tbaa !5
  %28225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28226 = call i32 @s2n_print_stacktrace(ptr noundef %28225)
  %28227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28228 = trunc i8 %28227 to i1
  br i1 %28228, label %28229, label %28251

28229:                                            ; preds = %28222
  %28230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28231 = call i32 @fileno(ptr noundef %28230) #11
  %28232 = call i32 @isatty(i32 noundef %28231) #11
  %28233 = icmp ne i32 %28232, 0
  br i1 %28233, label %28234, label %28251

28234:                                            ; preds = %28229
  %28235 = load i32, ptr %600, align 4, !tbaa !5
  %28236 = call ptr @__errno_location() #12
  store i32 %28235, ptr %28236, align 4, !tbaa !5
  %28237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28238 = load i32, ptr @test_count, align 4, !tbaa !5
  %28239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28240 = load i32, ptr %28239, align 4, !tbaa !5
  %28241 = call ptr @s2n_strerror(i32 noundef %28240, ptr noundef @.str.4)
  %28242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28243 = load i32, ptr %28242, align 4, !tbaa !5
  %28244 = call ptr @s2n_strerror_debug(i32 noundef %28243, ptr noundef @.str.4)
  %28245 = call ptr @__errno_location() #12
  %28246 = load i32, ptr %28245, align 4, !tbaa !5
  %28247 = call ptr @strerror(i32 noundef %28246) #11
  %28248 = call ptr @__errno_location() #12
  %28249 = load i32, ptr %28248, align 4, !tbaa !5
  %28250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28237, ptr noundef @.str.2, i32 noundef %28238, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 1038, ptr noundef %28241, ptr noundef %28244, ptr noundef %28247, i32 noundef %28249) #11
  br label %28268

28251:                                            ; preds = %28229, %28222
  %28252 = load i32, ptr %600, align 4, !tbaa !5
  %28253 = call ptr @__errno_location() #12
  store i32 %28252, ptr %28253, align 4, !tbaa !5
  %28254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28255 = load i32, ptr @test_count, align 4, !tbaa !5
  %28256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28257 = load i32, ptr %28256, align 4, !tbaa !5
  %28258 = call ptr @s2n_strerror(i32 noundef %28257, ptr noundef @.str.4)
  %28259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28260 = load i32, ptr %28259, align 4, !tbaa !5
  %28261 = call ptr @s2n_strerror_debug(i32 noundef %28260, ptr noundef @.str.4)
  %28262 = call ptr @__errno_location() #12
  %28263 = load i32, ptr %28262, align 4, !tbaa !5
  %28264 = call ptr @strerror(i32 noundef %28263) #11
  %28265 = call ptr @__errno_location() #12
  %28266 = load i32, ptr %28265, align 4, !tbaa !5
  %28267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28254, ptr noundef @.str.5, i32 noundef %28255, ptr noundef @.str.215, ptr noundef @.str.1, i32 noundef 1038, ptr noundef %28258, ptr noundef %28261, ptr noundef %28264, i32 noundef %28266) #11
  br label %28268

28268:                                            ; preds = %28251, %28234
  call void @llvm.lifetime.end.p0(i64 4, ptr %600) #11
  br label %28269

28269:                                            ; preds = %28268
  br label %28270

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

28271:                                            ; No predecessors!
  br label %28272

28272:                                            ; preds = %28271
  br label %28273

28273:                                            ; preds = %28272, %28213
  br label %28274

28274:                                            ; preds = %28273
  br label %28275

28275:                                            ; preds = %28274
  call void @llvm.lifetime.end.p0(i64 2, ptr %592) #11
  call void @llvm.lifetime.end.p0(i64 60, ptr %591) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %587) #11
  %28276 = call i32 @s2n_config_ptr_free(ptr noundef %584)
  %28277 = getelementptr inbounds %struct.s2n_result, ptr %601, i32 0, i32 0
  store i32 %28276, ptr %28277, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %584) #11
  br label %28278

28278:                                            ; preds = %28275
  %28279 = load i64, ptr %583, align 8, !tbaa !66
  %28280 = add i64 %28279, 1
  store i64 %28280, ptr %583, align 8, !tbaa !66
  br label %27601, !llvm.loop !85

28281:                                            ; preds = %27604
  call void @llvm.lifetime.end.p0(i64 16, ptr %582) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %602) #11
  store i64 0, ptr %602, align 8, !tbaa !66
  br label %28282

28282:                                            ; preds = %29096, %28281
  %28283 = load i64, ptr %602, align 8, !tbaa !66
  %28284 = getelementptr inbounds [0 x %struct.s2n_security_policy_selection], ptr @security_policy_selection, i64 0, i64 %28283
  %28285 = getelementptr inbounds %struct.s2n_security_policy_selection, ptr %28284, i32 0, i32 0
  %28286 = load ptr, ptr %28285, align 8, !tbaa !86
  %28287 = icmp ne ptr %28286, null
  br i1 %28287, label %28289, label %28288

28288:                                            ; preds = %28282
  store i32 2777, ptr %352, align 4
  br label %29099

28289:                                            ; preds = %28282
  call void @llvm.lifetime.start.p0(i64 8, ptr %603) #11
  %28290 = load i64, ptr %602, align 8, !tbaa !66
  %28291 = getelementptr inbounds [0 x %struct.s2n_security_policy_selection], ptr @security_policy_selection, i64 0, i64 %28290
  %28292 = getelementptr inbounds %struct.s2n_security_policy_selection, ptr %28291, i32 0, i32 1
  %28293 = load ptr, ptr %28292, align 8, !tbaa !88
  store ptr %28293, ptr %603, align 8, !tbaa !9
  br label %28294

28294:                                            ; preds = %28289
  %28295 = load i32, ptr @test_count, align 4, !tbaa !5
  %28296 = add nsw i32 %28295, 1
  store i32 %28296, ptr @test_count, align 4, !tbaa !5
  %28297 = load ptr, ptr %603, align 8, !tbaa !9
  %28298 = icmp eq ptr %28297, null
  br i1 %28298, label %28299, label %28352

28299:                                            ; preds = %28294
  br label %28300

28300:                                            ; preds = %28299
  br label %28301

28301:                                            ; preds = %28300
  call void @llvm.lifetime.start.p0(i64 4, ptr %604) #11
  %28302 = call ptr @__errno_location() #12
  %28303 = load i32, ptr %28302, align 4, !tbaa !5
  store i32 %28303, ptr %604, align 4, !tbaa !5
  %28304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28305 = call i32 @s2n_print_stacktrace(ptr noundef %28304)
  %28306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28307 = trunc i8 %28306 to i1
  br i1 %28307, label %28308, label %28330

28308:                                            ; preds = %28301
  %28309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28310 = call i32 @fileno(ptr noundef %28309) #11
  %28311 = call i32 @isatty(i32 noundef %28310) #11
  %28312 = icmp ne i32 %28311, 0
  br i1 %28312, label %28313, label %28330

28313:                                            ; preds = %28308
  %28314 = load i32, ptr %604, align 4, !tbaa !5
  %28315 = call ptr @__errno_location() #12
  store i32 %28314, ptr %28315, align 4, !tbaa !5
  %28316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28317 = load i32, ptr @test_count, align 4, !tbaa !5
  %28318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28319 = load i32, ptr %28318, align 4, !tbaa !5
  %28320 = call ptr @s2n_strerror(i32 noundef %28319, ptr noundef @.str.4)
  %28321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28322 = load i32, ptr %28321, align 4, !tbaa !5
  %28323 = call ptr @s2n_strerror_debug(i32 noundef %28322, ptr noundef @.str.4)
  %28324 = call ptr @__errno_location() #12
  %28325 = load i32, ptr %28324, align 4, !tbaa !5
  %28326 = call ptr @strerror(i32 noundef %28325) #11
  %28327 = call ptr @__errno_location() #12
  %28328 = load i32, ptr %28327, align 4, !tbaa !5
  %28329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28316, ptr noundef @.str.2, i32 noundef %28317, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1047, ptr noundef %28320, ptr noundef %28323, ptr noundef %28326, i32 noundef %28328) #11
  br label %28347

28330:                                            ; preds = %28308, %28301
  %28331 = load i32, ptr %604, align 4, !tbaa !5
  %28332 = call ptr @__errno_location() #12
  store i32 %28331, ptr %28332, align 4, !tbaa !5
  %28333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28334 = load i32, ptr @test_count, align 4, !tbaa !5
  %28335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28336 = load i32, ptr %28335, align 4, !tbaa !5
  %28337 = call ptr @s2n_strerror(i32 noundef %28336, ptr noundef @.str.4)
  %28338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28339 = load i32, ptr %28338, align 4, !tbaa !5
  %28340 = call ptr @s2n_strerror_debug(i32 noundef %28339, ptr noundef @.str.4)
  %28341 = call ptr @__errno_location() #12
  %28342 = load i32, ptr %28341, align 4, !tbaa !5
  %28343 = call ptr @strerror(i32 noundef %28342) #11
  %28344 = call ptr @__errno_location() #12
  %28345 = load i32, ptr %28344, align 4, !tbaa !5
  %28346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28333, ptr noundef @.str.5, i32 noundef %28334, ptr noundef @.str.216, ptr noundef @.str.1, i32 noundef 1047, ptr noundef %28337, ptr noundef %28340, ptr noundef %28343, i32 noundef %28345) #11
  br label %28347

28347:                                            ; preds = %28330, %28313
  call void @llvm.lifetime.end.p0(i64 4, ptr %604) #11
  br label %28348

28348:                                            ; preds = %28347
  br label %28349

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

28350:                                            ; No predecessors!
  br label %28351

28351:                                            ; preds = %28350
  br label %28352

28352:                                            ; preds = %28351, %28294
  br label %28353

28353:                                            ; preds = %28352
  br label %28354

28354:                                            ; preds = %28353
  call void @llvm.lifetime.start.p0(i64 4, ptr %605) #11
  store i32 0, ptr %605, align 4, !tbaa !5
  br label %28355

28355:                                            ; preds = %28354
  %28356 = load i32, ptr @test_count, align 4, !tbaa !5
  %28357 = add nsw i32 %28356, 1
  store i32 %28357, ptr @test_count, align 4, !tbaa !5
  %28358 = load ptr, ptr %603, align 8, !tbaa !9
  %28359 = getelementptr inbounds %struct.s2n_security_policy, ptr %28358, i32 0, i32 2
  %28360 = load ptr, ptr %28359, align 8, !tbaa !80
  %28361 = call i32 @s2n_kem_preferences_groups_available(ptr noundef %28360, ptr noundef %605)
  %28362 = getelementptr inbounds %struct.s2n_result, ptr %606, i32 0, i32 0
  store i32 %28361, ptr %28362, align 4
  %28363 = getelementptr inbounds %struct.s2n_result, ptr %606, i32 0, i32 0
  %28364 = load i32, ptr %28363, align 4
  %28365 = call zeroext i1 @s2n_result_is_ok(i32 %28364)
  br i1 %28365, label %28419, label %28366

28366:                                            ; preds = %28355
  br label %28367

28367:                                            ; preds = %28366
  br label %28368

28368:                                            ; preds = %28367
  call void @llvm.lifetime.start.p0(i64 4, ptr %607) #11
  %28369 = call ptr @__errno_location() #12
  %28370 = load i32, ptr %28369, align 4, !tbaa !5
  store i32 %28370, ptr %607, align 4, !tbaa !5
  %28371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28372 = call i32 @s2n_print_stacktrace(ptr noundef %28371)
  %28373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28374 = trunc i8 %28373 to i1
  br i1 %28374, label %28375, label %28397

28375:                                            ; preds = %28368
  %28376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28377 = call i32 @fileno(ptr noundef %28376) #11
  %28378 = call i32 @isatty(i32 noundef %28377) #11
  %28379 = icmp ne i32 %28378, 0
  br i1 %28379, label %28380, label %28397

28380:                                            ; preds = %28375
  %28381 = load i32, ptr %607, align 4, !tbaa !5
  %28382 = call ptr @__errno_location() #12
  store i32 %28381, ptr %28382, align 4, !tbaa !5
  %28383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28384 = load i32, ptr @test_count, align 4, !tbaa !5
  %28385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28386 = load i32, ptr %28385, align 4, !tbaa !5
  %28387 = call ptr @s2n_strerror(i32 noundef %28386, ptr noundef @.str.4)
  %28388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28389 = load i32, ptr %28388, align 4, !tbaa !5
  %28390 = call ptr @s2n_strerror_debug(i32 noundef %28389, ptr noundef @.str.4)
  %28391 = call ptr @__errno_location() #12
  %28392 = load i32, ptr %28391, align 4, !tbaa !5
  %28393 = call ptr @strerror(i32 noundef %28392) #11
  %28394 = call ptr @__errno_location() #12
  %28395 = load i32, ptr %28394, align 4, !tbaa !5
  %28396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28383, ptr noundef @.str.2, i32 noundef %28384, ptr noundef @.str.217, ptr noundef @.str.1, i32 noundef 1050, ptr noundef %28387, ptr noundef %28390, ptr noundef %28393, i32 noundef %28395) #11
  br label %28414

28397:                                            ; preds = %28375, %28368
  %28398 = load i32, ptr %607, align 4, !tbaa !5
  %28399 = call ptr @__errno_location() #12
  store i32 %28398, ptr %28399, align 4, !tbaa !5
  %28400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28401 = load i32, ptr @test_count, align 4, !tbaa !5
  %28402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28403 = load i32, ptr %28402, align 4, !tbaa !5
  %28404 = call ptr @s2n_strerror(i32 noundef %28403, ptr noundef @.str.4)
  %28405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28406 = load i32, ptr %28405, align 4, !tbaa !5
  %28407 = call ptr @s2n_strerror_debug(i32 noundef %28406, ptr noundef @.str.4)
  %28408 = call ptr @__errno_location() #12
  %28409 = load i32, ptr %28408, align 4, !tbaa !5
  %28410 = call ptr @strerror(i32 noundef %28409) #11
  %28411 = call ptr @__errno_location() #12
  %28412 = load i32, ptr %28411, align 4, !tbaa !5
  %28413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28400, ptr noundef @.str.5, i32 noundef %28401, ptr noundef @.str.217, ptr noundef @.str.1, i32 noundef 1050, ptr noundef %28404, ptr noundef %28407, ptr noundef %28410, i32 noundef %28412) #11
  br label %28414

28414:                                            ; preds = %28397, %28380
  call void @llvm.lifetime.end.p0(i64 4, ptr %607) #11
  br label %28415

28415:                                            ; preds = %28414
  br label %28416

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

28417:                                            ; No predecessors!
  br label %28418

28418:                                            ; preds = %28417
  br label %28419

28419:                                            ; preds = %28418, %28355
  br label %28420

28420:                                            ; preds = %28419
  br label %28421

28421:                                            ; preds = %28420
  %28422 = load ptr, ptr %603, align 8, !tbaa !9
  %28423 = getelementptr inbounds %struct.s2n_security_policy, ptr %28422, i32 0, i32 5
  %28424 = load ptr, ptr %28423, align 8, !tbaa !81
  %28425 = getelementptr inbounds %struct.s2n_ecc_preferences, ptr %28424, i32 0, i32 0
  %28426 = load i8, ptr %28425, align 8, !tbaa !82
  %28427 = zext i8 %28426 to i32
  %28428 = load i32, ptr %605, align 4, !tbaa !5
  %28429 = add i32 %28428, %28427
  store i32 %28429, ptr %605, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %608) #11
  %28430 = call ptr @s2n_config_new()
  store ptr %28430, ptr %608, align 8, !tbaa !9
  br label %28431

28431:                                            ; preds = %28421
  %28432 = load i32, ptr @test_count, align 4, !tbaa !5
  %28433 = add nsw i32 %28432, 1
  store i32 %28433, ptr @test_count, align 4, !tbaa !5
  %28434 = load ptr, ptr %608, align 8, !tbaa !9
  %28435 = icmp eq ptr %28434, null
  br i1 %28435, label %28436, label %28489

28436:                                            ; preds = %28431
  br label %28437

28437:                                            ; preds = %28436
  br label %28438

28438:                                            ; preds = %28437
  call void @llvm.lifetime.start.p0(i64 4, ptr %609) #11
  %28439 = call ptr @__errno_location() #12
  %28440 = load i32, ptr %28439, align 4, !tbaa !5
  store i32 %28440, ptr %609, align 4, !tbaa !5
  %28441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28442 = call i32 @s2n_print_stacktrace(ptr noundef %28441)
  %28443 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28444 = trunc i8 %28443 to i1
  br i1 %28444, label %28445, label %28467

28445:                                            ; preds = %28438
  %28446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28447 = call i32 @fileno(ptr noundef %28446) #11
  %28448 = call i32 @isatty(i32 noundef %28447) #11
  %28449 = icmp ne i32 %28448, 0
  br i1 %28449, label %28450, label %28467

28450:                                            ; preds = %28445
  %28451 = load i32, ptr %609, align 4, !tbaa !5
  %28452 = call ptr @__errno_location() #12
  store i32 %28451, ptr %28452, align 4, !tbaa !5
  %28453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28454 = load i32, ptr @test_count, align 4, !tbaa !5
  %28455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28456 = load i32, ptr %28455, align 4, !tbaa !5
  %28457 = call ptr @s2n_strerror(i32 noundef %28456, ptr noundef @.str.4)
  %28458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28459 = load i32, ptr %28458, align 4, !tbaa !5
  %28460 = call ptr @s2n_strerror_debug(i32 noundef %28459, ptr noundef @.str.4)
  %28461 = call ptr @__errno_location() #12
  %28462 = load i32, ptr %28461, align 4, !tbaa !5
  %28463 = call ptr @strerror(i32 noundef %28462) #11
  %28464 = call ptr @__errno_location() #12
  %28465 = load i32, ptr %28464, align 4, !tbaa !5
  %28466 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28453, ptr noundef @.str.2, i32 noundef %28454, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 1054, ptr noundef %28457, ptr noundef %28460, ptr noundef %28463, i32 noundef %28465) #11
  br label %28484

28467:                                            ; preds = %28445, %28438
  %28468 = load i32, ptr %609, align 4, !tbaa !5
  %28469 = call ptr @__errno_location() #12
  store i32 %28468, ptr %28469, align 4, !tbaa !5
  %28470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28471 = load i32, ptr @test_count, align 4, !tbaa !5
  %28472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28473 = load i32, ptr %28472, align 4, !tbaa !5
  %28474 = call ptr @s2n_strerror(i32 noundef %28473, ptr noundef @.str.4)
  %28475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28476 = load i32, ptr %28475, align 4, !tbaa !5
  %28477 = call ptr @s2n_strerror_debug(i32 noundef %28476, ptr noundef @.str.4)
  %28478 = call ptr @__errno_location() #12
  %28479 = load i32, ptr %28478, align 4, !tbaa !5
  %28480 = call ptr @strerror(i32 noundef %28479) #11
  %28481 = call ptr @__errno_location() #12
  %28482 = load i32, ptr %28481, align 4, !tbaa !5
  %28483 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28470, ptr noundef @.str.5, i32 noundef %28471, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 1054, ptr noundef %28474, ptr noundef %28477, ptr noundef %28480, i32 noundef %28482) #11
  br label %28484

28484:                                            ; preds = %28467, %28450
  call void @llvm.lifetime.end.p0(i64 4, ptr %609) #11
  br label %28485

28485:                                            ; preds = %28484
  br label %28486

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

28487:                                            ; No predecessors!
  br label %28488

28488:                                            ; preds = %28487
  br label %28489

28489:                                            ; preds = %28488, %28431
  br label %28490

28490:                                            ; preds = %28489
  br label %28491

28491:                                            ; preds = %28490
  %28492 = load ptr, ptr %603, align 8, !tbaa !9
  %28493 = load ptr, ptr %608, align 8, !tbaa !9
  %28494 = getelementptr inbounds %struct.s2n_config, ptr %28493, i32 0, i32 7
  store ptr %28492, ptr %28494, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 60, ptr %610) #11
  call void @llvm.memset.p0.i64(ptr align 16 %610, i8 0, i64 60, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr %611) #11
  store i16 0, ptr %611, align 2, !tbaa !79
  br label %28495

28495:                                            ; preds = %28491
  %28496 = load i32, ptr @test_count, align 4, !tbaa !5
  %28497 = add nsw i32 %28496, 1
  store i32 %28497, ptr @test_count, align 4, !tbaa !5
  %28498 = load ptr, ptr %608, align 8, !tbaa !9
  %28499 = getelementptr inbounds [30 x i16], ptr %610, i64 0, i64 0
  %28500 = call i32 @s2n_config_get_supported_groups(ptr noundef %28498, ptr noundef %28499, i16 noundef zeroext 30, ptr noundef %611)
  %28501 = icmp eq i32 %28500, -1
  br i1 %28501, label %28502, label %28555

28502:                                            ; preds = %28495
  br label %28503

28503:                                            ; preds = %28502
  br label %28504

28504:                                            ; preds = %28503
  call void @llvm.lifetime.start.p0(i64 4, ptr %612) #11
  %28505 = call ptr @__errno_location() #12
  %28506 = load i32, ptr %28505, align 4, !tbaa !5
  store i32 %28506, ptr %612, align 4, !tbaa !5
  %28507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28508 = call i32 @s2n_print_stacktrace(ptr noundef %28507)
  %28509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28510 = trunc i8 %28509 to i1
  br i1 %28510, label %28511, label %28533

28511:                                            ; preds = %28504
  %28512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28513 = call i32 @fileno(ptr noundef %28512) #11
  %28514 = call i32 @isatty(i32 noundef %28513) #11
  %28515 = icmp ne i32 %28514, 0
  br i1 %28515, label %28516, label %28533

28516:                                            ; preds = %28511
  %28517 = load i32, ptr %612, align 4, !tbaa !5
  %28518 = call ptr @__errno_location() #12
  store i32 %28517, ptr %28518, align 4, !tbaa !5
  %28519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28520 = load i32, ptr @test_count, align 4, !tbaa !5
  %28521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28522 = load i32, ptr %28521, align 4, !tbaa !5
  %28523 = call ptr @s2n_strerror(i32 noundef %28522, ptr noundef @.str.4)
  %28524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28525 = load i32, ptr %28524, align 4, !tbaa !5
  %28526 = call ptr @s2n_strerror_debug(i32 noundef %28525, ptr noundef @.str.4)
  %28527 = call ptr @__errno_location() #12
  %28528 = load i32, ptr %28527, align 4, !tbaa !5
  %28529 = call ptr @strerror(i32 noundef %28528) #11
  %28530 = call ptr @__errno_location() #12
  %28531 = load i32, ptr %28530, align 4, !tbaa !5
  %28532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28519, ptr noundef @.str.2, i32 noundef %28520, ptr noundef @.str.218, ptr noundef @.str.1, i32 noundef 1060, ptr noundef %28523, ptr noundef %28526, ptr noundef %28529, i32 noundef %28531) #11
  br label %28550

28533:                                            ; preds = %28511, %28504
  %28534 = load i32, ptr %612, align 4, !tbaa !5
  %28535 = call ptr @__errno_location() #12
  store i32 %28534, ptr %28535, align 4, !tbaa !5
  %28536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28537 = load i32, ptr @test_count, align 4, !tbaa !5
  %28538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28539 = load i32, ptr %28538, align 4, !tbaa !5
  %28540 = call ptr @s2n_strerror(i32 noundef %28539, ptr noundef @.str.4)
  %28541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28542 = load i32, ptr %28541, align 4, !tbaa !5
  %28543 = call ptr @s2n_strerror_debug(i32 noundef %28542, ptr noundef @.str.4)
  %28544 = call ptr @__errno_location() #12
  %28545 = load i32, ptr %28544, align 4, !tbaa !5
  %28546 = call ptr @strerror(i32 noundef %28545) #11
  %28547 = call ptr @__errno_location() #12
  %28548 = load i32, ptr %28547, align 4, !tbaa !5
  %28549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28536, ptr noundef @.str.5, i32 noundef %28537, ptr noundef @.str.218, ptr noundef @.str.1, i32 noundef 1060, ptr noundef %28540, ptr noundef %28543, ptr noundef %28546, i32 noundef %28548) #11
  br label %28550

28550:                                            ; preds = %28533, %28516
  call void @llvm.lifetime.end.p0(i64 4, ptr %612) #11
  br label %28551

28551:                                            ; preds = %28550
  br label %28552

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

28553:                                            ; No predecessors!
  br label %28554

28554:                                            ; preds = %28553
  br label %28555

28555:                                            ; preds = %28554, %28495
  br label %28556

28556:                                            ; preds = %28555
  br label %28557

28557:                                            ; preds = %28556
  br label %28558

28558:                                            ; preds = %28557
  %28559 = load i32, ptr @test_count, align 4, !tbaa !5
  %28560 = add nsw i32 %28559, 1
  store i32 %28560, ptr @test_count, align 4, !tbaa !5
  %28561 = load i16, ptr %611, align 2, !tbaa !79
  %28562 = zext i16 %28561 to i32
  %28563 = load i32, ptr %605, align 4, !tbaa !5
  %28564 = icmp eq i32 %28562, %28563
  br i1 %28564, label %28618, label %28565

28565:                                            ; preds = %28558
  br label %28566

28566:                                            ; preds = %28565
  br label %28567

28567:                                            ; preds = %28566
  call void @llvm.lifetime.start.p0(i64 4, ptr %613) #11
  %28568 = call ptr @__errno_location() #12
  %28569 = load i32, ptr %28568, align 4, !tbaa !5
  store i32 %28569, ptr %613, align 4, !tbaa !5
  %28570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28571 = call i32 @s2n_print_stacktrace(ptr noundef %28570)
  %28572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28573 = trunc i8 %28572 to i1
  br i1 %28573, label %28574, label %28596

28574:                                            ; preds = %28567
  %28575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28576 = call i32 @fileno(ptr noundef %28575) #11
  %28577 = call i32 @isatty(i32 noundef %28576) #11
  %28578 = icmp ne i32 %28577, 0
  br i1 %28578, label %28579, label %28596

28579:                                            ; preds = %28574
  %28580 = load i32, ptr %613, align 4, !tbaa !5
  %28581 = call ptr @__errno_location() #12
  store i32 %28580, ptr %28581, align 4, !tbaa !5
  %28582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28583 = load i32, ptr @test_count, align 4, !tbaa !5
  %28584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28585 = load i32, ptr %28584, align 4, !tbaa !5
  %28586 = call ptr @s2n_strerror(i32 noundef %28585, ptr noundef @.str.4)
  %28587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28588 = load i32, ptr %28587, align 4, !tbaa !5
  %28589 = call ptr @s2n_strerror_debug(i32 noundef %28588, ptr noundef @.str.4)
  %28590 = call ptr @__errno_location() #12
  %28591 = load i32, ptr %28590, align 4, !tbaa !5
  %28592 = call ptr @strerror(i32 noundef %28591) #11
  %28593 = call ptr @__errno_location() #12
  %28594 = load i32, ptr %28593, align 4, !tbaa !5
  %28595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28582, ptr noundef @.str.2, i32 noundef %28583, ptr noundef @.str.219, ptr noundef @.str.1, i32 noundef 1061, ptr noundef %28586, ptr noundef %28589, ptr noundef %28592, i32 noundef %28594) #11
  br label %28613

28596:                                            ; preds = %28574, %28567
  %28597 = load i32, ptr %613, align 4, !tbaa !5
  %28598 = call ptr @__errno_location() #12
  store i32 %28597, ptr %28598, align 4, !tbaa !5
  %28599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28600 = load i32, ptr @test_count, align 4, !tbaa !5
  %28601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28602 = load i32, ptr %28601, align 4, !tbaa !5
  %28603 = call ptr @s2n_strerror(i32 noundef %28602, ptr noundef @.str.4)
  %28604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28605 = load i32, ptr %28604, align 4, !tbaa !5
  %28606 = call ptr @s2n_strerror_debug(i32 noundef %28605, ptr noundef @.str.4)
  %28607 = call ptr @__errno_location() #12
  %28608 = load i32, ptr %28607, align 4, !tbaa !5
  %28609 = call ptr @strerror(i32 noundef %28608) #11
  %28610 = call ptr @__errno_location() #12
  %28611 = load i32, ptr %28610, align 4, !tbaa !5
  %28612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28599, ptr noundef @.str.5, i32 noundef %28600, ptr noundef @.str.219, ptr noundef @.str.1, i32 noundef 1061, ptr noundef %28603, ptr noundef %28606, ptr noundef %28609, i32 noundef %28611) #11
  br label %28613

28613:                                            ; preds = %28596, %28579
  call void @llvm.lifetime.end.p0(i64 4, ptr %613) #11
  br label %28614

28614:                                            ; preds = %28613
  br label %28615

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

28616:                                            ; No predecessors!
  br label %28617

28617:                                            ; preds = %28616
  br label %28618

28618:                                            ; preds = %28617, %28558
  br label %28619

28619:                                            ; preds = %28618
  br label %28620

28620:                                            ; preds = %28619
  call void @llvm.lifetime.start.p0(i64 8, ptr %614) #11
  %28621 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %28621, ptr %614, align 8, !tbaa !9
  br label %28622

28622:                                            ; preds = %28620
  %28623 = load i32, ptr @test_count, align 4, !tbaa !5
  %28624 = add nsw i32 %28623, 1
  store i32 %28624, ptr @test_count, align 4, !tbaa !5
  %28625 = load ptr, ptr %614, align 8, !tbaa !9
  %28626 = icmp eq ptr %28625, null
  br i1 %28626, label %28627, label %28680

28627:                                            ; preds = %28622
  br label %28628

28628:                                            ; preds = %28627
  br label %28629

28629:                                            ; preds = %28628
  call void @llvm.lifetime.start.p0(i64 4, ptr %615) #11
  %28630 = call ptr @__errno_location() #12
  %28631 = load i32, ptr %28630, align 4, !tbaa !5
  store i32 %28631, ptr %615, align 4, !tbaa !5
  %28632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28633 = call i32 @s2n_print_stacktrace(ptr noundef %28632)
  %28634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28635 = trunc i8 %28634 to i1
  br i1 %28635, label %28636, label %28658

28636:                                            ; preds = %28629
  %28637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28638 = call i32 @fileno(ptr noundef %28637) #11
  %28639 = call i32 @isatty(i32 noundef %28638) #11
  %28640 = icmp ne i32 %28639, 0
  br i1 %28640, label %28641, label %28658

28641:                                            ; preds = %28636
  %28642 = load i32, ptr %615, align 4, !tbaa !5
  %28643 = call ptr @__errno_location() #12
  store i32 %28642, ptr %28643, align 4, !tbaa !5
  %28644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28645 = load i32, ptr @test_count, align 4, !tbaa !5
  %28646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28647 = load i32, ptr %28646, align 4, !tbaa !5
  %28648 = call ptr @s2n_strerror(i32 noundef %28647, ptr noundef @.str.4)
  %28649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28650 = load i32, ptr %28649, align 4, !tbaa !5
  %28651 = call ptr @s2n_strerror_debug(i32 noundef %28650, ptr noundef @.str.4)
  %28652 = call ptr @__errno_location() #12
  %28653 = load i32, ptr %28652, align 4, !tbaa !5
  %28654 = call ptr @strerror(i32 noundef %28653) #11
  %28655 = call ptr @__errno_location() #12
  %28656 = load i32, ptr %28655, align 4, !tbaa !5
  %28657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28644, ptr noundef @.str.2, i32 noundef %28645, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 1064, ptr noundef %28648, ptr noundef %28651, ptr noundef %28654, i32 noundef %28656) #11
  br label %28675

28658:                                            ; preds = %28636, %28629
  %28659 = load i32, ptr %615, align 4, !tbaa !5
  %28660 = call ptr @__errno_location() #12
  store i32 %28659, ptr %28660, align 4, !tbaa !5
  %28661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28662 = load i32, ptr @test_count, align 4, !tbaa !5
  %28663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28664 = load i32, ptr %28663, align 4, !tbaa !5
  %28665 = call ptr @s2n_strerror(i32 noundef %28664, ptr noundef @.str.4)
  %28666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28667 = load i32, ptr %28666, align 4, !tbaa !5
  %28668 = call ptr @s2n_strerror_debug(i32 noundef %28667, ptr noundef @.str.4)
  %28669 = call ptr @__errno_location() #12
  %28670 = load i32, ptr %28669, align 4, !tbaa !5
  %28671 = call ptr @strerror(i32 noundef %28670) #11
  %28672 = call ptr @__errno_location() #12
  %28673 = load i32, ptr %28672, align 4, !tbaa !5
  %28674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28661, ptr noundef @.str.5, i32 noundef %28662, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 1064, ptr noundef %28665, ptr noundef %28668, ptr noundef %28671, i32 noundef %28673) #11
  br label %28675

28675:                                            ; preds = %28658, %28641
  call void @llvm.lifetime.end.p0(i64 4, ptr %615) #11
  br label %28676

28676:                                            ; preds = %28675
  br label %28677

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

28678:                                            ; No predecessors!
  br label %28679

28679:                                            ; preds = %28678
  br label %28680

28680:                                            ; preds = %28679, %28622
  br label %28681

28681:                                            ; preds = %28680
  br label %28682

28682:                                            ; preds = %28681
  br label %28683

28683:                                            ; preds = %28682
  %28684 = load i32, ptr @test_count, align 4, !tbaa !5
  %28685 = add nsw i32 %28684, 1
  store i32 %28685, ptr @test_count, align 4, !tbaa !5
  %28686 = load ptr, ptr %614, align 8, !tbaa !9
  %28687 = load ptr, ptr %608, align 8, !tbaa !9
  %28688 = call i32 @s2n_connection_set_config(ptr noundef %28686, ptr noundef %28687)
  %28689 = icmp eq i32 %28688, -1
  br i1 %28689, label %28690, label %28743

28690:                                            ; preds = %28683
  br label %28691

28691:                                            ; preds = %28690
  br label %28692

28692:                                            ; preds = %28691
  call void @llvm.lifetime.start.p0(i64 4, ptr %616) #11
  %28693 = call ptr @__errno_location() #12
  %28694 = load i32, ptr %28693, align 4, !tbaa !5
  store i32 %28694, ptr %616, align 4, !tbaa !5
  %28695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28696 = call i32 @s2n_print_stacktrace(ptr noundef %28695)
  %28697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28698 = trunc i8 %28697 to i1
  br i1 %28698, label %28699, label %28721

28699:                                            ; preds = %28692
  %28700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28701 = call i32 @fileno(ptr noundef %28700) #11
  %28702 = call i32 @isatty(i32 noundef %28701) #11
  %28703 = icmp ne i32 %28702, 0
  br i1 %28703, label %28704, label %28721

28704:                                            ; preds = %28699
  %28705 = load i32, ptr %616, align 4, !tbaa !5
  %28706 = call ptr @__errno_location() #12
  store i32 %28705, ptr %28706, align 4, !tbaa !5
  %28707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28708 = load i32, ptr @test_count, align 4, !tbaa !5
  %28709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28710 = load i32, ptr %28709, align 4, !tbaa !5
  %28711 = call ptr @s2n_strerror(i32 noundef %28710, ptr noundef @.str.4)
  %28712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28713 = load i32, ptr %28712, align 4, !tbaa !5
  %28714 = call ptr @s2n_strerror_debug(i32 noundef %28713, ptr noundef @.str.4)
  %28715 = call ptr @__errno_location() #12
  %28716 = load i32, ptr %28715, align 4, !tbaa !5
  %28717 = call ptr @strerror(i32 noundef %28716) #11
  %28718 = call ptr @__errno_location() #12
  %28719 = load i32, ptr %28718, align 4, !tbaa !5
  %28720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28707, ptr noundef @.str.2, i32 noundef %28708, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 1065, ptr noundef %28711, ptr noundef %28714, ptr noundef %28717, i32 noundef %28719) #11
  br label %28738

28721:                                            ; preds = %28699, %28692
  %28722 = load i32, ptr %616, align 4, !tbaa !5
  %28723 = call ptr @__errno_location() #12
  store i32 %28722, ptr %28723, align 4, !tbaa !5
  %28724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28725 = load i32, ptr @test_count, align 4, !tbaa !5
  %28726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28727 = load i32, ptr %28726, align 4, !tbaa !5
  %28728 = call ptr @s2n_strerror(i32 noundef %28727, ptr noundef @.str.4)
  %28729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28730 = load i32, ptr %28729, align 4, !tbaa !5
  %28731 = call ptr @s2n_strerror_debug(i32 noundef %28730, ptr noundef @.str.4)
  %28732 = call ptr @__errno_location() #12
  %28733 = load i32, ptr %28732, align 4, !tbaa !5
  %28734 = call ptr @strerror(i32 noundef %28733) #11
  %28735 = call ptr @__errno_location() #12
  %28736 = load i32, ptr %28735, align 4, !tbaa !5
  %28737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28724, ptr noundef @.str.5, i32 noundef %28725, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 1065, ptr noundef %28728, ptr noundef %28731, ptr noundef %28734, i32 noundef %28736) #11
  br label %28738

28738:                                            ; preds = %28721, %28704
  call void @llvm.lifetime.end.p0(i64 4, ptr %616) #11
  br label %28739

28739:                                            ; preds = %28738
  br label %28740

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

28741:                                            ; No predecessors!
  br label %28742

28742:                                            ; preds = %28741
  br label %28743

28743:                                            ; preds = %28742, %28683
  br label %28744

28744:                                            ; preds = %28743
  br label %28745

28745:                                            ; preds = %28744
  %28746 = load ptr, ptr %614, align 8, !tbaa !9
  %28747 = getelementptr inbounds %struct.s2n_connection, ptr %28746, i32 0, i32 23
  store i8 34, ptr %28747, align 4, !tbaa !89
  call void @llvm.lifetime.start.p0(i64 40, ptr %617) #11
  call void @llvm.memset.p0.i64(ptr align 8 %617, i8 0, i64 40, i1 false)
  br label %28748

28748:                                            ; preds = %28745
  %28749 = load i32, ptr @test_count, align 4, !tbaa !5
  %28750 = add nsw i32 %28749, 1
  store i32 %28750, ptr @test_count, align 4, !tbaa !5
  %28751 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %617, i32 noundef 0)
  %28752 = icmp eq i32 %28751, -1
  br i1 %28752, label %28753, label %28806

28753:                                            ; preds = %28748
  br label %28754

28754:                                            ; preds = %28753
  br label %28755

28755:                                            ; preds = %28754
  call void @llvm.lifetime.start.p0(i64 4, ptr %618) #11
  %28756 = call ptr @__errno_location() #12
  %28757 = load i32, ptr %28756, align 4, !tbaa !5
  store i32 %28757, ptr %618, align 4, !tbaa !5
  %28758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28759 = call i32 @s2n_print_stacktrace(ptr noundef %28758)
  %28760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28761 = trunc i8 %28760 to i1
  br i1 %28761, label %28762, label %28784

28762:                                            ; preds = %28755
  %28763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28764 = call i32 @fileno(ptr noundef %28763) #11
  %28765 = call i32 @isatty(i32 noundef %28764) #11
  %28766 = icmp ne i32 %28765, 0
  br i1 %28766, label %28767, label %28784

28767:                                            ; preds = %28762
  %28768 = load i32, ptr %618, align 4, !tbaa !5
  %28769 = call ptr @__errno_location() #12
  store i32 %28768, ptr %28769, align 4, !tbaa !5
  %28770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28771 = load i32, ptr @test_count, align 4, !tbaa !5
  %28772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28773 = load i32, ptr %28772, align 4, !tbaa !5
  %28774 = call ptr @s2n_strerror(i32 noundef %28773, ptr noundef @.str.4)
  %28775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28776 = load i32, ptr %28775, align 4, !tbaa !5
  %28777 = call ptr @s2n_strerror_debug(i32 noundef %28776, ptr noundef @.str.4)
  %28778 = call ptr @__errno_location() #12
  %28779 = load i32, ptr %28778, align 4, !tbaa !5
  %28780 = call ptr @strerror(i32 noundef %28779) #11
  %28781 = call ptr @__errno_location() #12
  %28782 = load i32, ptr %28781, align 4, !tbaa !5
  %28783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28770, ptr noundef @.str.2, i32 noundef %28771, ptr noundef @.str.220, ptr noundef @.str.1, i32 noundef 1070, ptr noundef %28774, ptr noundef %28777, ptr noundef %28780, i32 noundef %28782) #11
  br label %28801

28784:                                            ; preds = %28762, %28755
  %28785 = load i32, ptr %618, align 4, !tbaa !5
  %28786 = call ptr @__errno_location() #12
  store i32 %28785, ptr %28786, align 4, !tbaa !5
  %28787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28788 = load i32, ptr @test_count, align 4, !tbaa !5
  %28789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28790 = load i32, ptr %28789, align 4, !tbaa !5
  %28791 = call ptr @s2n_strerror(i32 noundef %28790, ptr noundef @.str.4)
  %28792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28793 = load i32, ptr %28792, align 4, !tbaa !5
  %28794 = call ptr @s2n_strerror_debug(i32 noundef %28793, ptr noundef @.str.4)
  %28795 = call ptr @__errno_location() #12
  %28796 = load i32, ptr %28795, align 4, !tbaa !5
  %28797 = call ptr @strerror(i32 noundef %28796) #11
  %28798 = call ptr @__errno_location() #12
  %28799 = load i32, ptr %28798, align 4, !tbaa !5
  %28800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28787, ptr noundef @.str.5, i32 noundef %28788, ptr noundef @.str.220, ptr noundef @.str.1, i32 noundef 1070, ptr noundef %28791, ptr noundef %28794, ptr noundef %28797, i32 noundef %28799) #11
  br label %28801

28801:                                            ; preds = %28784, %28767
  call void @llvm.lifetime.end.p0(i64 4, ptr %618) #11
  br label %28802

28802:                                            ; preds = %28801
  br label %28803

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

28804:                                            ; No predecessors!
  br label %28805

28805:                                            ; preds = %28804
  br label %28806

28806:                                            ; preds = %28805, %28748
  br label %28807

28807:                                            ; preds = %28806
  br label %28808

28808:                                            ; preds = %28807
  br label %28809

28809:                                            ; preds = %28808
  %28810 = load i32, ptr @test_count, align 4, !tbaa !5
  %28811 = add nsw i32 %28810, 1
  store i32 %28811, ptr @test_count, align 4, !tbaa !5
  %28812 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_supported_groups_extension, i32 0, i32 3), align 8, !tbaa !90
  %28813 = load ptr, ptr %614, align 8, !tbaa !9
  %28814 = call i32 %28812(ptr noundef %28813, ptr noundef %617)
  %28815 = icmp eq i32 %28814, -1
  br i1 %28815, label %28816, label %28869

28816:                                            ; preds = %28809
  br label %28817

28817:                                            ; preds = %28816
  br label %28818

28818:                                            ; preds = %28817
  call void @llvm.lifetime.start.p0(i64 4, ptr %619) #11
  %28819 = call ptr @__errno_location() #12
  %28820 = load i32, ptr %28819, align 4, !tbaa !5
  store i32 %28820, ptr %619, align 4, !tbaa !5
  %28821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28822 = call i32 @s2n_print_stacktrace(ptr noundef %28821)
  %28823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28824 = trunc i8 %28823 to i1
  br i1 %28824, label %28825, label %28847

28825:                                            ; preds = %28818
  %28826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28827 = call i32 @fileno(ptr noundef %28826) #11
  %28828 = call i32 @isatty(i32 noundef %28827) #11
  %28829 = icmp ne i32 %28828, 0
  br i1 %28829, label %28830, label %28847

28830:                                            ; preds = %28825
  %28831 = load i32, ptr %619, align 4, !tbaa !5
  %28832 = call ptr @__errno_location() #12
  store i32 %28831, ptr %28832, align 4, !tbaa !5
  %28833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28834 = load i32, ptr @test_count, align 4, !tbaa !5
  %28835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28836 = load i32, ptr %28835, align 4, !tbaa !5
  %28837 = call ptr @s2n_strerror(i32 noundef %28836, ptr noundef @.str.4)
  %28838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28839 = load i32, ptr %28838, align 4, !tbaa !5
  %28840 = call ptr @s2n_strerror_debug(i32 noundef %28839, ptr noundef @.str.4)
  %28841 = call ptr @__errno_location() #12
  %28842 = load i32, ptr %28841, align 4, !tbaa !5
  %28843 = call ptr @strerror(i32 noundef %28842) #11
  %28844 = call ptr @__errno_location() #12
  %28845 = load i32, ptr %28844, align 4, !tbaa !5
  %28846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28833, ptr noundef @.str.2, i32 noundef %28834, ptr noundef @.str.221, ptr noundef @.str.1, i32 noundef 1071, ptr noundef %28837, ptr noundef %28840, ptr noundef %28843, i32 noundef %28845) #11
  br label %28864

28847:                                            ; preds = %28825, %28818
  %28848 = load i32, ptr %619, align 4, !tbaa !5
  %28849 = call ptr @__errno_location() #12
  store i32 %28848, ptr %28849, align 4, !tbaa !5
  %28850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28851 = load i32, ptr @test_count, align 4, !tbaa !5
  %28852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28853 = load i32, ptr %28852, align 4, !tbaa !5
  %28854 = call ptr @s2n_strerror(i32 noundef %28853, ptr noundef @.str.4)
  %28855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28856 = load i32, ptr %28855, align 4, !tbaa !5
  %28857 = call ptr @s2n_strerror_debug(i32 noundef %28856, ptr noundef @.str.4)
  %28858 = call ptr @__errno_location() #12
  %28859 = load i32, ptr %28858, align 4, !tbaa !5
  %28860 = call ptr @strerror(i32 noundef %28859) #11
  %28861 = call ptr @__errno_location() #12
  %28862 = load i32, ptr %28861, align 4, !tbaa !5
  %28863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28850, ptr noundef @.str.5, i32 noundef %28851, ptr noundef @.str.221, ptr noundef @.str.1, i32 noundef 1071, ptr noundef %28854, ptr noundef %28857, ptr noundef %28860, i32 noundef %28862) #11
  br label %28864

28864:                                            ; preds = %28847, %28830
  call void @llvm.lifetime.end.p0(i64 4, ptr %619) #11
  br label %28865

28865:                                            ; preds = %28864
  br label %28866

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

28867:                                            ; No predecessors!
  br label %28868

28868:                                            ; preds = %28867
  br label %28869

28869:                                            ; preds = %28868, %28809
  br label %28870

28870:                                            ; preds = %28869
  br label %28871

28871:                                            ; preds = %28870
  call void @llvm.lifetime.start.p0(i64 2, ptr %620) #11
  store i16 0, ptr %620, align 2, !tbaa !79
  br label %28872

28872:                                            ; preds = %28871
  %28873 = load i32, ptr @test_count, align 4, !tbaa !5
  %28874 = add nsw i32 %28873, 1
  store i32 %28874, ptr @test_count, align 4, !tbaa !5
  %28875 = call i32 @s2n_supported_groups_parse_count(ptr noundef %617, ptr noundef %620)
  %28876 = getelementptr inbounds %struct.s2n_result, ptr %621, i32 0, i32 0
  store i32 %28875, ptr %28876, align 4
  %28877 = getelementptr inbounds %struct.s2n_result, ptr %621, i32 0, i32 0
  %28878 = load i32, ptr %28877, align 4
  %28879 = call zeroext i1 @s2n_result_is_ok(i32 %28878)
  br i1 %28879, label %28933, label %28880

28880:                                            ; preds = %28872
  br label %28881

28881:                                            ; preds = %28880
  br label %28882

28882:                                            ; preds = %28881
  call void @llvm.lifetime.start.p0(i64 4, ptr %622) #11
  %28883 = call ptr @__errno_location() #12
  %28884 = load i32, ptr %28883, align 4, !tbaa !5
  store i32 %28884, ptr %622, align 4, !tbaa !5
  %28885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28886 = call i32 @s2n_print_stacktrace(ptr noundef %28885)
  %28887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28888 = trunc i8 %28887 to i1
  br i1 %28888, label %28889, label %28911

28889:                                            ; preds = %28882
  %28890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28891 = call i32 @fileno(ptr noundef %28890) #11
  %28892 = call i32 @isatty(i32 noundef %28891) #11
  %28893 = icmp ne i32 %28892, 0
  br i1 %28893, label %28894, label %28911

28894:                                            ; preds = %28889
  %28895 = load i32, ptr %622, align 4, !tbaa !5
  %28896 = call ptr @__errno_location() #12
  store i32 %28895, ptr %28896, align 4, !tbaa !5
  %28897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28898 = load i32, ptr @test_count, align 4, !tbaa !5
  %28899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28900 = load i32, ptr %28899, align 4, !tbaa !5
  %28901 = call ptr @s2n_strerror(i32 noundef %28900, ptr noundef @.str.4)
  %28902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28903 = load i32, ptr %28902, align 4, !tbaa !5
  %28904 = call ptr @s2n_strerror_debug(i32 noundef %28903, ptr noundef @.str.4)
  %28905 = call ptr @__errno_location() #12
  %28906 = load i32, ptr %28905, align 4, !tbaa !5
  %28907 = call ptr @strerror(i32 noundef %28906) #11
  %28908 = call ptr @__errno_location() #12
  %28909 = load i32, ptr %28908, align 4, !tbaa !5
  %28910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28897, ptr noundef @.str.2, i32 noundef %28898, ptr noundef @.str.222, ptr noundef @.str.1, i32 noundef 1074, ptr noundef %28901, ptr noundef %28904, ptr noundef %28907, i32 noundef %28909) #11
  br label %28928

28911:                                            ; preds = %28889, %28882
  %28912 = load i32, ptr %622, align 4, !tbaa !5
  %28913 = call ptr @__errno_location() #12
  store i32 %28912, ptr %28913, align 4, !tbaa !5
  %28914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28915 = load i32, ptr @test_count, align 4, !tbaa !5
  %28916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28917 = load i32, ptr %28916, align 4, !tbaa !5
  %28918 = call ptr @s2n_strerror(i32 noundef %28917, ptr noundef @.str.4)
  %28919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28920 = load i32, ptr %28919, align 4, !tbaa !5
  %28921 = call ptr @s2n_strerror_debug(i32 noundef %28920, ptr noundef @.str.4)
  %28922 = call ptr @__errno_location() #12
  %28923 = load i32, ptr %28922, align 4, !tbaa !5
  %28924 = call ptr @strerror(i32 noundef %28923) #11
  %28925 = call ptr @__errno_location() #12
  %28926 = load i32, ptr %28925, align 4, !tbaa !5
  %28927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28914, ptr noundef @.str.5, i32 noundef %28915, ptr noundef @.str.222, ptr noundef @.str.1, i32 noundef 1074, ptr noundef %28918, ptr noundef %28921, ptr noundef %28924, i32 noundef %28926) #11
  br label %28928

28928:                                            ; preds = %28911, %28894
  call void @llvm.lifetime.end.p0(i64 4, ptr %622) #11
  br label %28929

28929:                                            ; preds = %28928
  br label %28930

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

28931:                                            ; No predecessors!
  br label %28932

28932:                                            ; preds = %28931
  br label %28933

28933:                                            ; preds = %28932, %28872
  br label %28934

28934:                                            ; preds = %28933
  br label %28935

28935:                                            ; preds = %28934
  br label %28936

28936:                                            ; preds = %28935
  %28937 = load i32, ptr @test_count, align 4, !tbaa !5
  %28938 = add nsw i32 %28937, 1
  store i32 %28938, ptr @test_count, align 4, !tbaa !5
  %28939 = load i16, ptr %620, align 2, !tbaa !79
  %28940 = zext i16 %28939 to i32
  %28941 = load i32, ptr %605, align 4, !tbaa !5
  %28942 = icmp eq i32 %28940, %28941
  br i1 %28942, label %28996, label %28943

28943:                                            ; preds = %28936
  br label %28944

28944:                                            ; preds = %28943
  br label %28945

28945:                                            ; preds = %28944
  call void @llvm.lifetime.start.p0(i64 4, ptr %623) #11
  %28946 = call ptr @__errno_location() #12
  %28947 = load i32, ptr %28946, align 4, !tbaa !5
  store i32 %28947, ptr %623, align 4, !tbaa !5
  %28948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28949 = call i32 @s2n_print_stacktrace(ptr noundef %28948)
  %28950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28951 = trunc i8 %28950 to i1
  br i1 %28951, label %28952, label %28974

28952:                                            ; preds = %28945
  %28953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28954 = call i32 @fileno(ptr noundef %28953) #11
  %28955 = call i32 @isatty(i32 noundef %28954) #11
  %28956 = icmp ne i32 %28955, 0
  br i1 %28956, label %28957, label %28974

28957:                                            ; preds = %28952
  %28958 = load i32, ptr %623, align 4, !tbaa !5
  %28959 = call ptr @__errno_location() #12
  store i32 %28958, ptr %28959, align 4, !tbaa !5
  %28960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28961 = load i32, ptr @test_count, align 4, !tbaa !5
  %28962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28963 = load i32, ptr %28962, align 4, !tbaa !5
  %28964 = call ptr @s2n_strerror(i32 noundef %28963, ptr noundef @.str.4)
  %28965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28966 = load i32, ptr %28965, align 4, !tbaa !5
  %28967 = call ptr @s2n_strerror_debug(i32 noundef %28966, ptr noundef @.str.4)
  %28968 = call ptr @__errno_location() #12
  %28969 = load i32, ptr %28968, align 4, !tbaa !5
  %28970 = call ptr @strerror(i32 noundef %28969) #11
  %28971 = call ptr @__errno_location() #12
  %28972 = load i32, ptr %28971, align 4, !tbaa !5
  %28973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28960, ptr noundef @.str.2, i32 noundef %28961, ptr noundef @.str.223, ptr noundef @.str.1, i32 noundef 1075, ptr noundef %28964, ptr noundef %28967, ptr noundef %28970, i32 noundef %28972) #11
  br label %28991

28974:                                            ; preds = %28952, %28945
  %28975 = load i32, ptr %623, align 4, !tbaa !5
  %28976 = call ptr @__errno_location() #12
  store i32 %28975, ptr %28976, align 4, !tbaa !5
  %28977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28978 = load i32, ptr @test_count, align 4, !tbaa !5
  %28979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28980 = load i32, ptr %28979, align 4, !tbaa !5
  %28981 = call ptr @s2n_strerror(i32 noundef %28980, ptr noundef @.str.4)
  %28982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28983 = load i32, ptr %28982, align 4, !tbaa !5
  %28984 = call ptr @s2n_strerror_debug(i32 noundef %28983, ptr noundef @.str.4)
  %28985 = call ptr @__errno_location() #12
  %28986 = load i32, ptr %28985, align 4, !tbaa !5
  %28987 = call ptr @strerror(i32 noundef %28986) #11
  %28988 = call ptr @__errno_location() #12
  %28989 = load i32, ptr %28988, align 4, !tbaa !5
  %28990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28977, ptr noundef @.str.5, i32 noundef %28978, ptr noundef @.str.223, ptr noundef @.str.1, i32 noundef 1075, ptr noundef %28981, ptr noundef %28984, ptr noundef %28987, i32 noundef %28989) #11
  br label %28991

28991:                                            ; preds = %28974, %28957
  call void @llvm.lifetime.end.p0(i64 4, ptr %623) #11
  br label %28992

28992:                                            ; preds = %28991
  br label %28993

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

28994:                                            ; No predecessors!
  br label %28995

28995:                                            ; preds = %28994
  br label %28996

28996:                                            ; preds = %28995, %28936
  br label %28997

28997:                                            ; preds = %28996
  br label %28998

28998:                                            ; preds = %28997
  call void @llvm.lifetime.start.p0(i64 8, ptr %624) #11
  store i64 0, ptr %624, align 8, !tbaa !66
  br label %28999

28999:                                            ; preds = %29082, %28998
  %29000 = load i64, ptr %624, align 8, !tbaa !66
  %29001 = load i16, ptr %611, align 2, !tbaa !79
  %29002 = zext i16 %29001 to i64
  %29003 = icmp ult i64 %29000, %29002
  br i1 %29003, label %29005, label %29004

29004:                                            ; preds = %28999
  store i32 2846, ptr %352, align 4
  br label %29085

29005:                                            ; preds = %28999
  call void @llvm.lifetime.start.p0(i64 2, ptr %625) #11
  store i16 0, ptr %625, align 2, !tbaa !79
  br label %29006

29006:                                            ; preds = %29005
  %29007 = call i32 @s2n_stuffer_read_uint16(ptr noundef %617, ptr noundef %625)
  %29008 = icmp sgt i32 %29007, -1
  br i1 %29008, label %29010, label %29009

29009:                                            ; preds = %29006
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %352, align 4
  br label %29079

29010:                                            ; preds = %29006
  br label %29011

29011:                                            ; preds = %29010
  br label %29012

29012:                                            ; preds = %29011
  br label %29013

29013:                                            ; preds = %29012
  %29014 = load i32, ptr @test_count, align 4, !tbaa !5
  %29015 = add nsw i32 %29014, 1
  store i32 %29015, ptr @test_count, align 4, !tbaa !5
  %29016 = load i16, ptr %625, align 2, !tbaa !79
  %29017 = zext i16 %29016 to i32
  %29018 = load i64, ptr %624, align 8, !tbaa !66
  %29019 = getelementptr inbounds [30 x i16], ptr %610, i64 0, i64 %29018
  %29020 = load i16, ptr %29019, align 2, !tbaa !79
  %29021 = zext i16 %29020 to i32
  %29022 = icmp eq i32 %29017, %29021
  br i1 %29022, label %29076, label %29023

29023:                                            ; preds = %29013
  br label %29024

29024:                                            ; preds = %29023
  br label %29025

29025:                                            ; preds = %29024
  call void @llvm.lifetime.start.p0(i64 4, ptr %626) #11
  %29026 = call ptr @__errno_location() #12
  %29027 = load i32, ptr %29026, align 4, !tbaa !5
  store i32 %29027, ptr %626, align 4, !tbaa !5
  %29028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29029 = call i32 @s2n_print_stacktrace(ptr noundef %29028)
  %29030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29031 = trunc i8 %29030 to i1
  br i1 %29031, label %29032, label %29054

29032:                                            ; preds = %29025
  %29033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29034 = call i32 @fileno(ptr noundef %29033) #11
  %29035 = call i32 @isatty(i32 noundef %29034) #11
  %29036 = icmp ne i32 %29035, 0
  br i1 %29036, label %29037, label %29054

29037:                                            ; preds = %29032
  %29038 = load i32, ptr %626, align 4, !tbaa !5
  %29039 = call ptr @__errno_location() #12
  store i32 %29038, ptr %29039, align 4, !tbaa !5
  %29040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29041 = load i32, ptr @test_count, align 4, !tbaa !5
  %29042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29043 = load i32, ptr %29042, align 4, !tbaa !5
  %29044 = call ptr @s2n_strerror(i32 noundef %29043, ptr noundef @.str.4)
  %29045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29046 = load i32, ptr %29045, align 4, !tbaa !5
  %29047 = call ptr @s2n_strerror_debug(i32 noundef %29046, ptr noundef @.str.4)
  %29048 = call ptr @__errno_location() #12
  %29049 = load i32, ptr %29048, align 4, !tbaa !5
  %29050 = call ptr @strerror(i32 noundef %29049) #11
  %29051 = call ptr @__errno_location() #12
  %29052 = load i32, ptr %29051, align 4, !tbaa !5
  %29053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29040, ptr noundef @.str.2, i32 noundef %29041, ptr noundef @.str.224, ptr noundef @.str.1, i32 noundef 1084, ptr noundef %29044, ptr noundef %29047, ptr noundef %29050, i32 noundef %29052) #11
  br label %29071

29054:                                            ; preds = %29032, %29025
  %29055 = load i32, ptr %626, align 4, !tbaa !5
  %29056 = call ptr @__errno_location() #12
  store i32 %29055, ptr %29056, align 4, !tbaa !5
  %29057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29058 = load i32, ptr @test_count, align 4, !tbaa !5
  %29059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29060 = load i32, ptr %29059, align 4, !tbaa !5
  %29061 = call ptr @s2n_strerror(i32 noundef %29060, ptr noundef @.str.4)
  %29062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29063 = load i32, ptr %29062, align 4, !tbaa !5
  %29064 = call ptr @s2n_strerror_debug(i32 noundef %29063, ptr noundef @.str.4)
  %29065 = call ptr @__errno_location() #12
  %29066 = load i32, ptr %29065, align 4, !tbaa !5
  %29067 = call ptr @strerror(i32 noundef %29066) #11
  %29068 = call ptr @__errno_location() #12
  %29069 = load i32, ptr %29068, align 4, !tbaa !5
  %29070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29057, ptr noundef @.str.5, i32 noundef %29058, ptr noundef @.str.224, ptr noundef @.str.1, i32 noundef 1084, ptr noundef %29061, ptr noundef %29064, ptr noundef %29067, i32 noundef %29069) #11
  br label %29071

29071:                                            ; preds = %29054, %29037
  call void @llvm.lifetime.end.p0(i64 4, ptr %626) #11
  br label %29072

29072:                                            ; preds = %29071
  br label %29073

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

29074:                                            ; No predecessors!
  br label %29075

29075:                                            ; preds = %29074
  br label %29076

29076:                                            ; preds = %29075, %29013
  br label %29077

29077:                                            ; preds = %29076
  br label %29078

29078:                                            ; preds = %29077
  store i32 0, ptr %352, align 4
  br label %29079

29079:                                            ; preds = %29078, %29009
  call void @llvm.lifetime.end.p0(i64 2, ptr %625) #11
  %29080 = load i32, ptr %352, align 4
  switch i32 %29080, label %29085 [
    i32 0, label %29081
  ]

29081:                                            ; preds = %29079
  br label %29082

29082:                                            ; preds = %29081
  %29083 = load i64, ptr %624, align 8, !tbaa !66
  %29084 = add i64 %29083, 1
  store i64 %29084, ptr %624, align 8, !tbaa !66
  br label %28999, !llvm.loop !92

29085:                                            ; preds = %29079, %29004
  call void @llvm.lifetime.end.p0(i64 8, ptr %624) #11
  %29086 = load i32, ptr %352, align 4
  switch i32 %29086, label %29088 [
    i32 2846, label %29087
  ]

29087:                                            ; preds = %29085
  store i32 0, ptr %352, align 4
  br label %29088

29088:                                            ; preds = %29087, %29085
  call void @llvm.lifetime.end.p0(i64 2, ptr %620) #11
  %29089 = call i32 @s2n_stuffer_free(ptr noundef %617)
  call void @llvm.lifetime.end.p0(i64 40, ptr %617) #11
  %29090 = call i32 @s2n_connection_ptr_free(ptr noundef %614)
  %29091 = getelementptr inbounds %struct.s2n_result, ptr %627, i32 0, i32 0
  store i32 %29090, ptr %29091, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %614) #11
  call void @llvm.lifetime.end.p0(i64 2, ptr %611) #11
  call void @llvm.lifetime.end.p0(i64 60, ptr %610) #11
  %29092 = call i32 @s2n_config_ptr_free(ptr noundef %608)
  %29093 = getelementptr inbounds %struct.s2n_result, ptr %628, i32 0, i32 0
  store i32 %29092, ptr %29093, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %608) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %605) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %603) #11
  %29094 = load i32, ptr %352, align 4
  switch i32 %29094, label %29099 [
    i32 0, label %29095
  ]

29095:                                            ; preds = %29088
  br label %29096

29096:                                            ; preds = %29095
  %29097 = load i64, ptr %602, align 8, !tbaa !66
  %29098 = add i64 %29097, 1
  store i64 %29098, ptr %602, align 8, !tbaa !66
  br label %28282, !llvm.loop !93

29099:                                            ; preds = %29088, %28288
  call void @llvm.lifetime.end.p0(i64 8, ptr %602) #11
  %29100 = load i32, ptr %352, align 4
  switch i32 %29100, label %32269 [
    i32 2777, label %29101
  ]

29101:                                            ; preds = %29099
  call void @llvm.lifetime.start.p0(i64 8, ptr %629) #11
  store ptr null, ptr %629, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %630) #11
  store ptr null, ptr %630, align 8, !tbaa !9
  br label %29102

29102:                                            ; preds = %29101
  %29103 = load i32, ptr @test_count, align 4, !tbaa !5
  %29104 = add nsw i32 %29103, 1
  store i32 %29104, ptr @test_count, align 4, !tbaa !5
  %29105 = call i32 @s2n_test_cert_permutation_load_server_chain(ptr noundef %629, ptr noundef @.str.225, ptr noundef @.str.226, ptr noundef @.str.227, ptr noundef @.str.228)
  %29106 = icmp eq i32 %29105, -1
  br i1 %29106, label %29107, label %29160

29107:                                            ; preds = %29102
  br label %29108

29108:                                            ; preds = %29107
  br label %29109

29109:                                            ; preds = %29108
  call void @llvm.lifetime.start.p0(i64 4, ptr %631) #11
  %29110 = call ptr @__errno_location() #12
  %29111 = load i32, ptr %29110, align 4, !tbaa !5
  store i32 %29111, ptr %631, align 4, !tbaa !5
  %29112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29113 = call i32 @s2n_print_stacktrace(ptr noundef %29112)
  %29114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29115 = trunc i8 %29114 to i1
  br i1 %29115, label %29116, label %29138

29116:                                            ; preds = %29109
  %29117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29118 = call i32 @fileno(ptr noundef %29117) #11
  %29119 = call i32 @isatty(i32 noundef %29118) #11
  %29120 = icmp ne i32 %29119, 0
  br i1 %29120, label %29121, label %29138

29121:                                            ; preds = %29116
  %29122 = load i32, ptr %631, align 4, !tbaa !5
  %29123 = call ptr @__errno_location() #12
  store i32 %29122, ptr %29123, align 4, !tbaa !5
  %29124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29125 = load i32, ptr @test_count, align 4, !tbaa !5
  %29126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29127 = load i32, ptr %29126, align 4, !tbaa !5
  %29128 = call ptr @s2n_strerror(i32 noundef %29127, ptr noundef @.str.4)
  %29129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29130 = load i32, ptr %29129, align 4, !tbaa !5
  %29131 = call ptr @s2n_strerror_debug(i32 noundef %29130, ptr noundef @.str.4)
  %29132 = call ptr @__errno_location() #12
  %29133 = load i32, ptr %29132, align 4, !tbaa !5
  %29134 = call ptr @strerror(i32 noundef %29133) #11
  %29135 = call ptr @__errno_location() #12
  %29136 = load i32, ptr %29135, align 4, !tbaa !5
  %29137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29124, ptr noundef @.str.2, i32 noundef %29125, ptr noundef @.str.229, ptr noundef @.str.1, i32 noundef 1093, ptr noundef %29128, ptr noundef %29131, ptr noundef %29134, i32 noundef %29136) #11
  br label %29155

29138:                                            ; preds = %29116, %29109
  %29139 = load i32, ptr %631, align 4, !tbaa !5
  %29140 = call ptr @__errno_location() #12
  store i32 %29139, ptr %29140, align 4, !tbaa !5
  %29141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29142 = load i32, ptr @test_count, align 4, !tbaa !5
  %29143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29144 = load i32, ptr %29143, align 4, !tbaa !5
  %29145 = call ptr @s2n_strerror(i32 noundef %29144, ptr noundef @.str.4)
  %29146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29147 = load i32, ptr %29146, align 4, !tbaa !5
  %29148 = call ptr @s2n_strerror_debug(i32 noundef %29147, ptr noundef @.str.4)
  %29149 = call ptr @__errno_location() #12
  %29150 = load i32, ptr %29149, align 4, !tbaa !5
  %29151 = call ptr @strerror(i32 noundef %29150) #11
  %29152 = call ptr @__errno_location() #12
  %29153 = load i32, ptr %29152, align 4, !tbaa !5
  %29154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29141, ptr noundef @.str.5, i32 noundef %29142, ptr noundef @.str.229, ptr noundef @.str.1, i32 noundef 1093, ptr noundef %29145, ptr noundef %29148, ptr noundef %29151, i32 noundef %29153) #11
  br label %29155

29155:                                            ; preds = %29138, %29121
  call void @llvm.lifetime.end.p0(i64 4, ptr %631) #11
  br label %29156

29156:                                            ; preds = %29155
  br label %29157

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

29158:                                            ; No predecessors!
  br label %29159

29159:                                            ; preds = %29158
  br label %29160

29160:                                            ; preds = %29159, %29102
  br label %29161

29161:                                            ; preds = %29160
  br label %29162

29162:                                            ; preds = %29161
  br label %29163

29163:                                            ; preds = %29162
  %29164 = load i32, ptr @test_count, align 4, !tbaa !5
  %29165 = add nsw i32 %29164, 1
  store i32 %29165, ptr @test_count, align 4, !tbaa !5
  %29166 = call i32 @s2n_test_cert_permutation_load_server_chain(ptr noundef %630, ptr noundef @.str.225, ptr noundef @.str.226, ptr noundef @.str.227, ptr noundef @.str.230)
  %29167 = icmp eq i32 %29166, -1
  br i1 %29167, label %29168, label %29221

29168:                                            ; preds = %29163
  br label %29169

29169:                                            ; preds = %29168
  br label %29170

29170:                                            ; preds = %29169
  call void @llvm.lifetime.start.p0(i64 4, ptr %632) #11
  %29171 = call ptr @__errno_location() #12
  %29172 = load i32, ptr %29171, align 4, !tbaa !5
  store i32 %29172, ptr %632, align 4, !tbaa !5
  %29173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29174 = call i32 @s2n_print_stacktrace(ptr noundef %29173)
  %29175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29176 = trunc i8 %29175 to i1
  br i1 %29176, label %29177, label %29199

29177:                                            ; preds = %29170
  %29178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29179 = call i32 @fileno(ptr noundef %29178) #11
  %29180 = call i32 @isatty(i32 noundef %29179) #11
  %29181 = icmp ne i32 %29180, 0
  br i1 %29181, label %29182, label %29199

29182:                                            ; preds = %29177
  %29183 = load i32, ptr %632, align 4, !tbaa !5
  %29184 = call ptr @__errno_location() #12
  store i32 %29183, ptr %29184, align 4, !tbaa !5
  %29185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29186 = load i32, ptr @test_count, align 4, !tbaa !5
  %29187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29188 = load i32, ptr %29187, align 4, !tbaa !5
  %29189 = call ptr @s2n_strerror(i32 noundef %29188, ptr noundef @.str.4)
  %29190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29191 = load i32, ptr %29190, align 4, !tbaa !5
  %29192 = call ptr @s2n_strerror_debug(i32 noundef %29191, ptr noundef @.str.4)
  %29193 = call ptr @__errno_location() #12
  %29194 = load i32, ptr %29193, align 4, !tbaa !5
  %29195 = call ptr @strerror(i32 noundef %29194) #11
  %29196 = call ptr @__errno_location() #12
  %29197 = load i32, ptr %29196, align 4, !tbaa !5
  %29198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29185, ptr noundef @.str.2, i32 noundef %29186, ptr noundef @.str.231, ptr noundef @.str.1, i32 noundef 1094, ptr noundef %29189, ptr noundef %29192, ptr noundef %29195, i32 noundef %29197) #11
  br label %29216

29199:                                            ; preds = %29177, %29170
  %29200 = load i32, ptr %632, align 4, !tbaa !5
  %29201 = call ptr @__errno_location() #12
  store i32 %29200, ptr %29201, align 4, !tbaa !5
  %29202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29203 = load i32, ptr @test_count, align 4, !tbaa !5
  %29204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29205 = load i32, ptr %29204, align 4, !tbaa !5
  %29206 = call ptr @s2n_strerror(i32 noundef %29205, ptr noundef @.str.4)
  %29207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29208 = load i32, ptr %29207, align 4, !tbaa !5
  %29209 = call ptr @s2n_strerror_debug(i32 noundef %29208, ptr noundef @.str.4)
  %29210 = call ptr @__errno_location() #12
  %29211 = load i32, ptr %29210, align 4, !tbaa !5
  %29212 = call ptr @strerror(i32 noundef %29211) #11
  %29213 = call ptr @__errno_location() #12
  %29214 = load i32, ptr %29213, align 4, !tbaa !5
  %29215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29202, ptr noundef @.str.5, i32 noundef %29203, ptr noundef @.str.231, ptr noundef @.str.1, i32 noundef 1094, ptr noundef %29206, ptr noundef %29209, ptr noundef %29212, i32 noundef %29214) #11
  br label %29216

29216:                                            ; preds = %29199, %29182
  call void @llvm.lifetime.end.p0(i64 4, ptr %632) #11
  br label %29217

29217:                                            ; preds = %29216
  br label %29218

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

29219:                                            ; No predecessors!
  br label %29220

29220:                                            ; preds = %29219
  br label %29221

29221:                                            ; preds = %29220, %29163
  br label %29222

29222:                                            ; preds = %29221
  br label %29223

29223:                                            ; preds = %29222
  call void @llvm.lifetime.start.p0(i64 64, ptr %633) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %633, ptr align 8 @security_policy_rfc9151, i64 64, i1 false), !tbaa.struct !94
  %29224 = getelementptr inbounds %struct.s2n_security_policy, ptr %633, i32 0, i32 7
  store i8 1, ptr %29224, align 8, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 8, ptr %634) #11
  %29225 = call ptr @s2n_config_new()
  store ptr %29225, ptr %634, align 8, !tbaa !9
  br label %29226

29226:                                            ; preds = %29223
  %29227 = load i32, ptr @test_count, align 4, !tbaa !5
  %29228 = add nsw i32 %29227, 1
  store i32 %29228, ptr @test_count, align 4, !tbaa !5
  %29229 = load ptr, ptr %634, align 8, !tbaa !9
  %29230 = load ptr, ptr %630, align 8, !tbaa !9
  %29231 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %29229, ptr noundef %29230)
  %29232 = icmp eq i32 %29231, -1
  br i1 %29232, label %29233, label %29286

29233:                                            ; preds = %29226
  br label %29234

29234:                                            ; preds = %29233
  br label %29235

29235:                                            ; preds = %29234
  call void @llvm.lifetime.start.p0(i64 4, ptr %635) #11
  %29236 = call ptr @__errno_location() #12
  %29237 = load i32, ptr %29236, align 4, !tbaa !5
  store i32 %29237, ptr %635, align 4, !tbaa !5
  %29238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29239 = call i32 @s2n_print_stacktrace(ptr noundef %29238)
  %29240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29241 = trunc i8 %29240 to i1
  br i1 %29241, label %29242, label %29264

29242:                                            ; preds = %29235
  %29243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29244 = call i32 @fileno(ptr noundef %29243) #11
  %29245 = call i32 @isatty(i32 noundef %29244) #11
  %29246 = icmp ne i32 %29245, 0
  br i1 %29246, label %29247, label %29264

29247:                                            ; preds = %29242
  %29248 = load i32, ptr %635, align 4, !tbaa !5
  %29249 = call ptr @__errno_location() #12
  store i32 %29248, ptr %29249, align 4, !tbaa !5
  %29250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29251 = load i32, ptr @test_count, align 4, !tbaa !5
  %29252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29253 = load i32, ptr %29252, align 4, !tbaa !5
  %29254 = call ptr @s2n_strerror(i32 noundef %29253, ptr noundef @.str.4)
  %29255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29256 = load i32, ptr %29255, align 4, !tbaa !5
  %29257 = call ptr @s2n_strerror_debug(i32 noundef %29256, ptr noundef @.str.4)
  %29258 = call ptr @__errno_location() #12
  %29259 = load i32, ptr %29258, align 4, !tbaa !5
  %29260 = call ptr @strerror(i32 noundef %29259) #11
  %29261 = call ptr @__errno_location() #12
  %29262 = load i32, ptr %29261, align 4, !tbaa !5
  %29263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29250, ptr noundef @.str.2, i32 noundef %29251, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 1105, ptr noundef %29254, ptr noundef %29257, ptr noundef %29260, i32 noundef %29262) #11
  br label %29281

29264:                                            ; preds = %29242, %29235
  %29265 = load i32, ptr %635, align 4, !tbaa !5
  %29266 = call ptr @__errno_location() #12
  store i32 %29265, ptr %29266, align 4, !tbaa !5
  %29267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29268 = load i32, ptr @test_count, align 4, !tbaa !5
  %29269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29270 = load i32, ptr %29269, align 4, !tbaa !5
  %29271 = call ptr @s2n_strerror(i32 noundef %29270, ptr noundef @.str.4)
  %29272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29273 = load i32, ptr %29272, align 4, !tbaa !5
  %29274 = call ptr @s2n_strerror_debug(i32 noundef %29273, ptr noundef @.str.4)
  %29275 = call ptr @__errno_location() #12
  %29276 = load i32, ptr %29275, align 4, !tbaa !5
  %29277 = call ptr @strerror(i32 noundef %29276) #11
  %29278 = call ptr @__errno_location() #12
  %29279 = load i32, ptr %29278, align 4, !tbaa !5
  %29280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29267, ptr noundef @.str.5, i32 noundef %29268, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 1105, ptr noundef %29271, ptr noundef %29274, ptr noundef %29277, i32 noundef %29279) #11
  br label %29281

29281:                                            ; preds = %29264, %29247
  call void @llvm.lifetime.end.p0(i64 4, ptr %635) #11
  br label %29282

29282:                                            ; preds = %29281
  br label %29283

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

29284:                                            ; No predecessors!
  br label %29285

29285:                                            ; preds = %29284
  br label %29286

29286:                                            ; preds = %29285, %29226
  br label %29287

29287:                                            ; preds = %29286
  br label %29288

29288:                                            ; preds = %29287
  br label %29289

29289:                                            ; preds = %29288
  %29290 = load i32, ptr @test_count, align 4, !tbaa !5
  %29291 = add nsw i32 %29290, 1
  store i32 %29291, ptr @test_count, align 4, !tbaa !5
  %29292 = load ptr, ptr %634, align 8, !tbaa !9
  %29293 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %29292, ptr noundef %633)
  %29294 = getelementptr inbounds %struct.s2n_result, ptr %636, i32 0, i32 0
  store i32 %29293, ptr %29294, align 4
  %29295 = getelementptr inbounds %struct.s2n_result, ptr %636, i32 0, i32 0
  %29296 = load i32, ptr %29295, align 4
  %29297 = call zeroext i1 @s2n_result_is_ok(i32 %29296)
  br i1 %29297, label %29351, label %29298

29298:                                            ; preds = %29289
  br label %29299

29299:                                            ; preds = %29298
  br label %29300

29300:                                            ; preds = %29299
  call void @llvm.lifetime.start.p0(i64 4, ptr %637) #11
  %29301 = call ptr @__errno_location() #12
  %29302 = load i32, ptr %29301, align 4, !tbaa !5
  store i32 %29302, ptr %637, align 4, !tbaa !5
  %29303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29304 = call i32 @s2n_print_stacktrace(ptr noundef %29303)
  %29305 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29306 = trunc i8 %29305 to i1
  br i1 %29306, label %29307, label %29329

29307:                                            ; preds = %29300
  %29308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29309 = call i32 @fileno(ptr noundef %29308) #11
  %29310 = call i32 @isatty(i32 noundef %29309) #11
  %29311 = icmp ne i32 %29310, 0
  br i1 %29311, label %29312, label %29329

29312:                                            ; preds = %29307
  %29313 = load i32, ptr %637, align 4, !tbaa !5
  %29314 = call ptr @__errno_location() #12
  store i32 %29313, ptr %29314, align 4, !tbaa !5
  %29315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29316 = load i32, ptr @test_count, align 4, !tbaa !5
  %29317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29318 = load i32, ptr %29317, align 4, !tbaa !5
  %29319 = call ptr @s2n_strerror(i32 noundef %29318, ptr noundef @.str.4)
  %29320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29321 = load i32, ptr %29320, align 4, !tbaa !5
  %29322 = call ptr @s2n_strerror_debug(i32 noundef %29321, ptr noundef @.str.4)
  %29323 = call ptr @__errno_location() #12
  %29324 = load i32, ptr %29323, align 4, !tbaa !5
  %29325 = call ptr @strerror(i32 noundef %29324) #11
  %29326 = call ptr @__errno_location() #12
  %29327 = load i32, ptr %29326, align 4, !tbaa !5
  %29328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29315, ptr noundef @.str.2, i32 noundef %29316, ptr noundef @.str.233, ptr noundef @.str.1, i32 noundef 1106, ptr noundef %29319, ptr noundef %29322, ptr noundef %29325, i32 noundef %29327) #11
  br label %29346

29329:                                            ; preds = %29307, %29300
  %29330 = load i32, ptr %637, align 4, !tbaa !5
  %29331 = call ptr @__errno_location() #12
  store i32 %29330, ptr %29331, align 4, !tbaa !5
  %29332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29333 = load i32, ptr @test_count, align 4, !tbaa !5
  %29334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29335 = load i32, ptr %29334, align 4, !tbaa !5
  %29336 = call ptr @s2n_strerror(i32 noundef %29335, ptr noundef @.str.4)
  %29337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29338 = load i32, ptr %29337, align 4, !tbaa !5
  %29339 = call ptr @s2n_strerror_debug(i32 noundef %29338, ptr noundef @.str.4)
  %29340 = call ptr @__errno_location() #12
  %29341 = load i32, ptr %29340, align 4, !tbaa !5
  %29342 = call ptr @strerror(i32 noundef %29341) #11
  %29343 = call ptr @__errno_location() #12
  %29344 = load i32, ptr %29343, align 4, !tbaa !5
  %29345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29332, ptr noundef @.str.5, i32 noundef %29333, ptr noundef @.str.233, ptr noundef @.str.1, i32 noundef 1106, ptr noundef %29336, ptr noundef %29339, ptr noundef %29342, i32 noundef %29344) #11
  br label %29346

29346:                                            ; preds = %29329, %29312
  call void @llvm.lifetime.end.p0(i64 4, ptr %637) #11
  br label %29347

29347:                                            ; preds = %29346
  br label %29348

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

29349:                                            ; No predecessors!
  br label %29350

29350:                                            ; preds = %29349
  br label %29351

29351:                                            ; preds = %29350, %29289
  br label %29352

29352:                                            ; preds = %29351
  br label %29353

29353:                                            ; preds = %29352
  %29354 = call i32 @s2n_config_ptr_free(ptr noundef %634)
  %29355 = getelementptr inbounds %struct.s2n_result, ptr %638, i32 0, i32 0
  store i32 %29354, ptr %29355, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %634) #11
  call void @llvm.lifetime.start.p0(i64 64, ptr %639) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %639, ptr align 8 @security_policy_rfc9151, i64 64, i1 false), !tbaa.struct !94
  %29356 = getelementptr inbounds %struct.s2n_security_policy, ptr %639, i32 0, i32 7
  store i8 0, ptr %29356, align 8, !tbaa !95
  call void @llvm.lifetime.start.p0(i64 8, ptr %640) #11
  %29357 = call ptr @s2n_config_new()
  store ptr %29357, ptr %640, align 8, !tbaa !9
  br label %29358

29358:                                            ; preds = %29353
  %29359 = load i32, ptr @test_count, align 4, !tbaa !5
  %29360 = add nsw i32 %29359, 1
  store i32 %29360, ptr @test_count, align 4, !tbaa !5
  %29361 = load ptr, ptr %640, align 8, !tbaa !9
  %29362 = load ptr, ptr %629, align 8, !tbaa !9
  %29363 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %29361, ptr noundef %29362)
  %29364 = icmp eq i32 %29363, -1
  br i1 %29364, label %29365, label %29418

29365:                                            ; preds = %29358
  br label %29366

29366:                                            ; preds = %29365
  br label %29367

29367:                                            ; preds = %29366
  call void @llvm.lifetime.start.p0(i64 4, ptr %641) #11
  %29368 = call ptr @__errno_location() #12
  %29369 = load i32, ptr %29368, align 4, !tbaa !5
  store i32 %29369, ptr %641, align 4, !tbaa !5
  %29370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29371 = call i32 @s2n_print_stacktrace(ptr noundef %29370)
  %29372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29373 = trunc i8 %29372 to i1
  br i1 %29373, label %29374, label %29396

29374:                                            ; preds = %29367
  %29375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29376 = call i32 @fileno(ptr noundef %29375) #11
  %29377 = call i32 @isatty(i32 noundef %29376) #11
  %29378 = icmp ne i32 %29377, 0
  br i1 %29378, label %29379, label %29396

29379:                                            ; preds = %29374
  %29380 = load i32, ptr %641, align 4, !tbaa !5
  %29381 = call ptr @__errno_location() #12
  store i32 %29380, ptr %29381, align 4, !tbaa !5
  %29382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29383 = load i32, ptr @test_count, align 4, !tbaa !5
  %29384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29385 = load i32, ptr %29384, align 4, !tbaa !5
  %29386 = call ptr @s2n_strerror(i32 noundef %29385, ptr noundef @.str.4)
  %29387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29388 = load i32, ptr %29387, align 4, !tbaa !5
  %29389 = call ptr @s2n_strerror_debug(i32 noundef %29388, ptr noundef @.str.4)
  %29390 = call ptr @__errno_location() #12
  %29391 = load i32, ptr %29390, align 4, !tbaa !5
  %29392 = call ptr @strerror(i32 noundef %29391) #11
  %29393 = call ptr @__errno_location() #12
  %29394 = load i32, ptr %29393, align 4, !tbaa !5
  %29395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29382, ptr noundef @.str.2, i32 noundef %29383, ptr noundef @.str.234, ptr noundef @.str.1, i32 noundef 1115, ptr noundef %29386, ptr noundef %29389, ptr noundef %29392, i32 noundef %29394) #11
  br label %29413

29396:                                            ; preds = %29374, %29367
  %29397 = load i32, ptr %641, align 4, !tbaa !5
  %29398 = call ptr @__errno_location() #12
  store i32 %29397, ptr %29398, align 4, !tbaa !5
  %29399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29400 = load i32, ptr @test_count, align 4, !tbaa !5
  %29401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29402 = load i32, ptr %29401, align 4, !tbaa !5
  %29403 = call ptr @s2n_strerror(i32 noundef %29402, ptr noundef @.str.4)
  %29404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29405 = load i32, ptr %29404, align 4, !tbaa !5
  %29406 = call ptr @s2n_strerror_debug(i32 noundef %29405, ptr noundef @.str.4)
  %29407 = call ptr @__errno_location() #12
  %29408 = load i32, ptr %29407, align 4, !tbaa !5
  %29409 = call ptr @strerror(i32 noundef %29408) #11
  %29410 = call ptr @__errno_location() #12
  %29411 = load i32, ptr %29410, align 4, !tbaa !5
  %29412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29399, ptr noundef @.str.5, i32 noundef %29400, ptr noundef @.str.234, ptr noundef @.str.1, i32 noundef 1115, ptr noundef %29403, ptr noundef %29406, ptr noundef %29409, i32 noundef %29411) #11
  br label %29413

29413:                                            ; preds = %29396, %29379
  call void @llvm.lifetime.end.p0(i64 4, ptr %641) #11
  br label %29414

29414:                                            ; preds = %29413
  br label %29415

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

29416:                                            ; No predecessors!
  br label %29417

29417:                                            ; preds = %29416
  br label %29418

29418:                                            ; preds = %29417, %29358
  br label %29419

29419:                                            ; preds = %29418
  br label %29420

29420:                                            ; preds = %29419
  br label %29421

29421:                                            ; preds = %29420
  %29422 = load i32, ptr @test_count, align 4, !tbaa !5
  %29423 = add nsw i32 %29422, 1
  store i32 %29423, ptr @test_count, align 4, !tbaa !5
  %29424 = load ptr, ptr %640, align 8, !tbaa !9
  %29425 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %29424, ptr noundef %639)
  %29426 = getelementptr inbounds %struct.s2n_result, ptr %642, i32 0, i32 0
  store i32 %29425, ptr %29426, align 4
  %29427 = getelementptr inbounds %struct.s2n_result, ptr %642, i32 0, i32 0
  %29428 = load i32, ptr %29427, align 4
  %29429 = call zeroext i1 @s2n_result_is_ok(i32 %29428)
  br i1 %29429, label %29483, label %29430

29430:                                            ; preds = %29421
  br label %29431

29431:                                            ; preds = %29430
  br label %29432

29432:                                            ; preds = %29431
  call void @llvm.lifetime.start.p0(i64 4, ptr %643) #11
  %29433 = call ptr @__errno_location() #12
  %29434 = load i32, ptr %29433, align 4, !tbaa !5
  store i32 %29434, ptr %643, align 4, !tbaa !5
  %29435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29436 = call i32 @s2n_print_stacktrace(ptr noundef %29435)
  %29437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29438 = trunc i8 %29437 to i1
  br i1 %29438, label %29439, label %29461

29439:                                            ; preds = %29432
  %29440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29441 = call i32 @fileno(ptr noundef %29440) #11
  %29442 = call i32 @isatty(i32 noundef %29441) #11
  %29443 = icmp ne i32 %29442, 0
  br i1 %29443, label %29444, label %29461

29444:                                            ; preds = %29439
  %29445 = load i32, ptr %643, align 4, !tbaa !5
  %29446 = call ptr @__errno_location() #12
  store i32 %29445, ptr %29446, align 4, !tbaa !5
  %29447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29448 = load i32, ptr @test_count, align 4, !tbaa !5
  %29449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29450 = load i32, ptr %29449, align 4, !tbaa !5
  %29451 = call ptr @s2n_strerror(i32 noundef %29450, ptr noundef @.str.4)
  %29452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29453 = load i32, ptr %29452, align 4, !tbaa !5
  %29454 = call ptr @s2n_strerror_debug(i32 noundef %29453, ptr noundef @.str.4)
  %29455 = call ptr @__errno_location() #12
  %29456 = load i32, ptr %29455, align 4, !tbaa !5
  %29457 = call ptr @strerror(i32 noundef %29456) #11
  %29458 = call ptr @__errno_location() #12
  %29459 = load i32, ptr %29458, align 4, !tbaa !5
  %29460 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29447, ptr noundef @.str.2, i32 noundef %29448, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 1116, ptr noundef %29451, ptr noundef %29454, ptr noundef %29457, i32 noundef %29459) #11
  br label %29478

29461:                                            ; preds = %29439, %29432
  %29462 = load i32, ptr %643, align 4, !tbaa !5
  %29463 = call ptr @__errno_location() #12
  store i32 %29462, ptr %29463, align 4, !tbaa !5
  %29464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29465 = load i32, ptr @test_count, align 4, !tbaa !5
  %29466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29467 = load i32, ptr %29466, align 4, !tbaa !5
  %29468 = call ptr @s2n_strerror(i32 noundef %29467, ptr noundef @.str.4)
  %29469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29470 = load i32, ptr %29469, align 4, !tbaa !5
  %29471 = call ptr @s2n_strerror_debug(i32 noundef %29470, ptr noundef @.str.4)
  %29472 = call ptr @__errno_location() #12
  %29473 = load i32, ptr %29472, align 4, !tbaa !5
  %29474 = call ptr @strerror(i32 noundef %29473) #11
  %29475 = call ptr @__errno_location() #12
  %29476 = load i32, ptr %29475, align 4, !tbaa !5
  %29477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29464, ptr noundef @.str.5, i32 noundef %29465, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 1116, ptr noundef %29468, ptr noundef %29471, ptr noundef %29474, i32 noundef %29476) #11
  br label %29478

29478:                                            ; preds = %29461, %29444
  call void @llvm.lifetime.end.p0(i64 4, ptr %643) #11
  br label %29479

29479:                                            ; preds = %29478
  br label %29480

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

29481:                                            ; No predecessors!
  br label %29482

29482:                                            ; preds = %29481
  br label %29483

29483:                                            ; preds = %29482, %29421
  br label %29484

29484:                                            ; preds = %29483
  br label %29485

29485:                                            ; preds = %29484
  %29486 = call i32 @s2n_config_ptr_free(ptr noundef %640)
  %29487 = getelementptr inbounds %struct.s2n_result, ptr %644, i32 0, i32 0
  store i32 %29486, ptr %29487, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %640) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %639) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %645) #11
  %29488 = call ptr @s2n_config_new_minimal()
  store ptr %29488, ptr %645, align 8, !tbaa !9
  br label %29489

29489:                                            ; preds = %29485
  %29490 = load i32, ptr @test_count, align 4, !tbaa !5
  %29491 = add nsw i32 %29490, 1
  store i32 %29491, ptr @test_count, align 4, !tbaa !5
  %29492 = load ptr, ptr %645, align 8, !tbaa !9
  %29493 = call i32 @s2n_config_set_cert_chain_and_key_defaults(ptr noundef %29492, ptr noundef %629, i32 noundef 1)
  %29494 = icmp eq i32 %29493, -1
  br i1 %29494, label %29495, label %29548

29495:                                            ; preds = %29489
  br label %29496

29496:                                            ; preds = %29495
  br label %29497

29497:                                            ; preds = %29496
  call void @llvm.lifetime.start.p0(i64 4, ptr %646) #11
  %29498 = call ptr @__errno_location() #12
  %29499 = load i32, ptr %29498, align 4, !tbaa !5
  store i32 %29499, ptr %646, align 4, !tbaa !5
  %29500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29501 = call i32 @s2n_print_stacktrace(ptr noundef %29500)
  %29502 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29503 = trunc i8 %29502 to i1
  br i1 %29503, label %29504, label %29526

29504:                                            ; preds = %29497
  %29505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29506 = call i32 @fileno(ptr noundef %29505) #11
  %29507 = call i32 @isatty(i32 noundef %29506) #11
  %29508 = icmp ne i32 %29507, 0
  br i1 %29508, label %29509, label %29526

29509:                                            ; preds = %29504
  %29510 = load i32, ptr %646, align 4, !tbaa !5
  %29511 = call ptr @__errno_location() #12
  store i32 %29510, ptr %29511, align 4, !tbaa !5
  %29512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29513 = load i32, ptr @test_count, align 4, !tbaa !5
  %29514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29515 = load i32, ptr %29514, align 4, !tbaa !5
  %29516 = call ptr @s2n_strerror(i32 noundef %29515, ptr noundef @.str.4)
  %29517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29518 = load i32, ptr %29517, align 4, !tbaa !5
  %29519 = call ptr @s2n_strerror_debug(i32 noundef %29518, ptr noundef @.str.4)
  %29520 = call ptr @__errno_location() #12
  %29521 = load i32, ptr %29520, align 4, !tbaa !5
  %29522 = call ptr @strerror(i32 noundef %29521) #11
  %29523 = call ptr @__errno_location() #12
  %29524 = load i32, ptr %29523, align 4, !tbaa !5
  %29525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29512, ptr noundef @.str.2, i32 noundef %29513, ptr noundef @.str.236, ptr noundef @.str.1, i32 noundef 1130, ptr noundef %29516, ptr noundef %29519, ptr noundef %29522, i32 noundef %29524) #11
  br label %29543

29526:                                            ; preds = %29504, %29497
  %29527 = load i32, ptr %646, align 4, !tbaa !5
  %29528 = call ptr @__errno_location() #12
  store i32 %29527, ptr %29528, align 4, !tbaa !5
  %29529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29530 = load i32, ptr @test_count, align 4, !tbaa !5
  %29531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29532 = load i32, ptr %29531, align 4, !tbaa !5
  %29533 = call ptr @s2n_strerror(i32 noundef %29532, ptr noundef @.str.4)
  %29534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29535 = load i32, ptr %29534, align 4, !tbaa !5
  %29536 = call ptr @s2n_strerror_debug(i32 noundef %29535, ptr noundef @.str.4)
  %29537 = call ptr @__errno_location() #12
  %29538 = load i32, ptr %29537, align 4, !tbaa !5
  %29539 = call ptr @strerror(i32 noundef %29538) #11
  %29540 = call ptr @__errno_location() #12
  %29541 = load i32, ptr %29540, align 4, !tbaa !5
  %29542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29529, ptr noundef @.str.5, i32 noundef %29530, ptr noundef @.str.236, ptr noundef @.str.1, i32 noundef 1130, ptr noundef %29533, ptr noundef %29536, ptr noundef %29539, i32 noundef %29541) #11
  br label %29543

29543:                                            ; preds = %29526, %29509
  call void @llvm.lifetime.end.p0(i64 4, ptr %646) #11
  br label %29544

29544:                                            ; preds = %29543
  br label %29545

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

29546:                                            ; No predecessors!
  br label %29547

29547:                                            ; preds = %29546
  br label %29548

29548:                                            ; preds = %29547, %29489
  br label %29549

29549:                                            ; preds = %29548
  br label %29550

29550:                                            ; preds = %29549
  call void @llvm.lifetime.start.p0(i64 4, ptr %647) #11
  store i32 0, ptr %647, align 4, !tbaa !5
  br label %29551

29551:                                            ; preds = %29550
  %29552 = load i32, ptr @test_count, align 4, !tbaa !5
  %29553 = add nsw i32 %29552, 1
  store i32 %29553, ptr @test_count, align 4, !tbaa !5
  %29554 = load ptr, ptr %645, align 8, !tbaa !9
  %29555 = getelementptr inbounds %struct.s2n_config, ptr %29554, i32 0, i32 2
  %29556 = load ptr, ptr %29555, align 8, !tbaa !96
  %29557 = call i32 @s2n_map_size(ptr noundef %29556, ptr noundef %647)
  %29558 = getelementptr inbounds %struct.s2n_result, ptr %648, i32 0, i32 0
  store i32 %29557, ptr %29558, align 4
  %29559 = getelementptr inbounds %struct.s2n_result, ptr %648, i32 0, i32 0
  %29560 = load i32, ptr %29559, align 4
  %29561 = call zeroext i1 @s2n_result_is_ok(i32 %29560)
  br i1 %29561, label %29615, label %29562

29562:                                            ; preds = %29551
  br label %29563

29563:                                            ; preds = %29562
  br label %29564

29564:                                            ; preds = %29563
  call void @llvm.lifetime.start.p0(i64 4, ptr %649) #11
  %29565 = call ptr @__errno_location() #12
  %29566 = load i32, ptr %29565, align 4, !tbaa !5
  store i32 %29566, ptr %649, align 4, !tbaa !5
  %29567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29568 = call i32 @s2n_print_stacktrace(ptr noundef %29567)
  %29569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29570 = trunc i8 %29569 to i1
  br i1 %29570, label %29571, label %29593

29571:                                            ; preds = %29564
  %29572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29573 = call i32 @fileno(ptr noundef %29572) #11
  %29574 = call i32 @isatty(i32 noundef %29573) #11
  %29575 = icmp ne i32 %29574, 0
  br i1 %29575, label %29576, label %29593

29576:                                            ; preds = %29571
  %29577 = load i32, ptr %649, align 4, !tbaa !5
  %29578 = call ptr @__errno_location() #12
  store i32 %29577, ptr %29578, align 4, !tbaa !5
  %29579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29580 = load i32, ptr @test_count, align 4, !tbaa !5
  %29581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29582 = load i32, ptr %29581, align 4, !tbaa !5
  %29583 = call ptr @s2n_strerror(i32 noundef %29582, ptr noundef @.str.4)
  %29584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29585 = load i32, ptr %29584, align 4, !tbaa !5
  %29586 = call ptr @s2n_strerror_debug(i32 noundef %29585, ptr noundef @.str.4)
  %29587 = call ptr @__errno_location() #12
  %29588 = load i32, ptr %29587, align 4, !tbaa !5
  %29589 = call ptr @strerror(i32 noundef %29588) #11
  %29590 = call ptr @__errno_location() #12
  %29591 = load i32, ptr %29590, align 4, !tbaa !5
  %29592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29579, ptr noundef @.str.2, i32 noundef %29580, ptr noundef @.str.237, ptr noundef @.str.1, i32 noundef 1134, ptr noundef %29583, ptr noundef %29586, ptr noundef %29589, i32 noundef %29591) #11
  br label %29610

29593:                                            ; preds = %29571, %29564
  %29594 = load i32, ptr %649, align 4, !tbaa !5
  %29595 = call ptr @__errno_location() #12
  store i32 %29594, ptr %29595, align 4, !tbaa !5
  %29596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29597 = load i32, ptr @test_count, align 4, !tbaa !5
  %29598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29599 = load i32, ptr %29598, align 4, !tbaa !5
  %29600 = call ptr @s2n_strerror(i32 noundef %29599, ptr noundef @.str.4)
  %29601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29602 = load i32, ptr %29601, align 4, !tbaa !5
  %29603 = call ptr @s2n_strerror_debug(i32 noundef %29602, ptr noundef @.str.4)
  %29604 = call ptr @__errno_location() #12
  %29605 = load i32, ptr %29604, align 4, !tbaa !5
  %29606 = call ptr @strerror(i32 noundef %29605) #11
  %29607 = call ptr @__errno_location() #12
  %29608 = load i32, ptr %29607, align 4, !tbaa !5
  %29609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29596, ptr noundef @.str.5, i32 noundef %29597, ptr noundef @.str.237, ptr noundef @.str.1, i32 noundef 1134, ptr noundef %29600, ptr noundef %29603, ptr noundef %29606, i32 noundef %29608) #11
  br label %29610

29610:                                            ; preds = %29593, %29576
  call void @llvm.lifetime.end.p0(i64 4, ptr %649) #11
  br label %29611

29611:                                            ; preds = %29610
  br label %29612

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

29613:                                            ; No predecessors!
  br label %29614

29614:                                            ; preds = %29613
  br label %29615

29615:                                            ; preds = %29614, %29551
  br label %29616

29616:                                            ; preds = %29615
  br label %29617

29617:                                            ; preds = %29616
  br label %29618

29618:                                            ; preds = %29617
  %29619 = load i32, ptr @test_count, align 4, !tbaa !5
  %29620 = add nsw i32 %29619, 1
  store i32 %29620, ptr @test_count, align 4, !tbaa !5
  %29621 = load i32, ptr %647, align 4, !tbaa !5
  %29622 = icmp eq i32 %29621, 0
  br i1 %29622, label %29676, label %29623

29623:                                            ; preds = %29618
  br label %29624

29624:                                            ; preds = %29623
  br label %29625

29625:                                            ; preds = %29624
  call void @llvm.lifetime.start.p0(i64 4, ptr %650) #11
  %29626 = call ptr @__errno_location() #12
  %29627 = load i32, ptr %29626, align 4, !tbaa !5
  store i32 %29627, ptr %650, align 4, !tbaa !5
  %29628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29629 = call i32 @s2n_print_stacktrace(ptr noundef %29628)
  %29630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29631 = trunc i8 %29630 to i1
  br i1 %29631, label %29632, label %29654

29632:                                            ; preds = %29625
  %29633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29634 = call i32 @fileno(ptr noundef %29633) #11
  %29635 = call i32 @isatty(i32 noundef %29634) #11
  %29636 = icmp ne i32 %29635, 0
  br i1 %29636, label %29637, label %29654

29637:                                            ; preds = %29632
  %29638 = load i32, ptr %650, align 4, !tbaa !5
  %29639 = call ptr @__errno_location() #12
  store i32 %29638, ptr %29639, align 4, !tbaa !5
  %29640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29641 = load i32, ptr @test_count, align 4, !tbaa !5
  %29642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29643 = load i32, ptr %29642, align 4, !tbaa !5
  %29644 = call ptr @s2n_strerror(i32 noundef %29643, ptr noundef @.str.4)
  %29645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29646 = load i32, ptr %29645, align 4, !tbaa !5
  %29647 = call ptr @s2n_strerror_debug(i32 noundef %29646, ptr noundef @.str.4)
  %29648 = call ptr @__errno_location() #12
  %29649 = load i32, ptr %29648, align 4, !tbaa !5
  %29650 = call ptr @strerror(i32 noundef %29649) #11
  %29651 = call ptr @__errno_location() #12
  %29652 = load i32, ptr %29651, align 4, !tbaa !5
  %29653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29640, ptr noundef @.str.2, i32 noundef %29641, ptr noundef @.str.238, ptr noundef @.str.1, i32 noundef 1135, ptr noundef %29644, ptr noundef %29647, ptr noundef %29650, i32 noundef %29652) #11
  br label %29671

29654:                                            ; preds = %29632, %29625
  %29655 = load i32, ptr %650, align 4, !tbaa !5
  %29656 = call ptr @__errno_location() #12
  store i32 %29655, ptr %29656, align 4, !tbaa !5
  %29657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29658 = load i32, ptr @test_count, align 4, !tbaa !5
  %29659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29660 = load i32, ptr %29659, align 4, !tbaa !5
  %29661 = call ptr @s2n_strerror(i32 noundef %29660, ptr noundef @.str.4)
  %29662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29663 = load i32, ptr %29662, align 4, !tbaa !5
  %29664 = call ptr @s2n_strerror_debug(i32 noundef %29663, ptr noundef @.str.4)
  %29665 = call ptr @__errno_location() #12
  %29666 = load i32, ptr %29665, align 4, !tbaa !5
  %29667 = call ptr @strerror(i32 noundef %29666) #11
  %29668 = call ptr @__errno_location() #12
  %29669 = load i32, ptr %29668, align 4, !tbaa !5
  %29670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29657, ptr noundef @.str.5, i32 noundef %29658, ptr noundef @.str.238, ptr noundef @.str.1, i32 noundef 1135, ptr noundef %29661, ptr noundef %29664, ptr noundef %29667, i32 noundef %29669) #11
  br label %29671

29671:                                            ; preds = %29654, %29637
  call void @llvm.lifetime.end.p0(i64 4, ptr %650) #11
  br label %29672

29672:                                            ; preds = %29671
  br label %29673

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

29674:                                            ; No predecessors!
  br label %29675

29675:                                            ; preds = %29674
  br label %29676

29676:                                            ; preds = %29675, %29618
  br label %29677

29677:                                            ; preds = %29676
  br label %29678

29678:                                            ; preds = %29677
  br label %29679

29679:                                            ; preds = %29678
  br label %29680

29680:                                            ; preds = %29679
  br label %29681

29681:                                            ; preds = %29680
  %29682 = load i32, ptr @test_count, align 4, !tbaa !5
  %29683 = add nsw i32 %29682, 1
  store i32 %29683, ptr @test_count, align 4, !tbaa !5
  %29684 = load ptr, ptr %645, align 8, !tbaa !9
  %29685 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %29684, ptr noundef %633)
  %29686 = getelementptr inbounds %struct.s2n_result, ptr %651, i32 0, i32 0
  store i32 %29685, ptr %29686, align 4
  %29687 = getelementptr inbounds %struct.s2n_result, ptr %651, i32 0, i32 0
  %29688 = load i32, ptr %29687, align 4
  %29689 = call zeroext i1 @s2n_result_is_error(i32 %29688)
  br i1 %29689, label %29743, label %29690

29690:                                            ; preds = %29681
  br label %29691

29691:                                            ; preds = %29690
  br label %29692

29692:                                            ; preds = %29691
  call void @llvm.lifetime.start.p0(i64 4, ptr %652) #11
  %29693 = call ptr @__errno_location() #12
  %29694 = load i32, ptr %29693, align 4, !tbaa !5
  store i32 %29694, ptr %652, align 4, !tbaa !5
  %29695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29696 = call i32 @s2n_print_stacktrace(ptr noundef %29695)
  %29697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29698 = trunc i8 %29697 to i1
  br i1 %29698, label %29699, label %29721

29699:                                            ; preds = %29692
  %29700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29701 = call i32 @fileno(ptr noundef %29700) #11
  %29702 = call i32 @isatty(i32 noundef %29701) #11
  %29703 = icmp ne i32 %29702, 0
  br i1 %29703, label %29704, label %29721

29704:                                            ; preds = %29699
  %29705 = load i32, ptr %652, align 4, !tbaa !5
  %29706 = call ptr @__errno_location() #12
  store i32 %29705, ptr %29706, align 4, !tbaa !5
  %29707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29708 = load i32, ptr @test_count, align 4, !tbaa !5
  %29709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29710 = load i32, ptr %29709, align 4, !tbaa !5
  %29711 = call ptr @s2n_strerror(i32 noundef %29710, ptr noundef @.str.4)
  %29712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29713 = load i32, ptr %29712, align 4, !tbaa !5
  %29714 = call ptr @s2n_strerror_debug(i32 noundef %29713, ptr noundef @.str.4)
  %29715 = call ptr @__errno_location() #12
  %29716 = load i32, ptr %29715, align 4, !tbaa !5
  %29717 = call ptr @strerror(i32 noundef %29716) #11
  %29718 = call ptr @__errno_location() #12
  %29719 = load i32, ptr %29718, align 4, !tbaa !5
  %29720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29707, ptr noundef @.str.2, i32 noundef %29708, ptr noundef @.str.239, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %29711, ptr noundef %29714, ptr noundef %29717, i32 noundef %29719) #11
  br label %29738

29721:                                            ; preds = %29699, %29692
  %29722 = load i32, ptr %652, align 4, !tbaa !5
  %29723 = call ptr @__errno_location() #12
  store i32 %29722, ptr %29723, align 4, !tbaa !5
  %29724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29725 = load i32, ptr @test_count, align 4, !tbaa !5
  %29726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29727 = load i32, ptr %29726, align 4, !tbaa !5
  %29728 = call ptr @s2n_strerror(i32 noundef %29727, ptr noundef @.str.4)
  %29729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29730 = load i32, ptr %29729, align 4, !tbaa !5
  %29731 = call ptr @s2n_strerror_debug(i32 noundef %29730, ptr noundef @.str.4)
  %29732 = call ptr @__errno_location() #12
  %29733 = load i32, ptr %29732, align 4, !tbaa !5
  %29734 = call ptr @strerror(i32 noundef %29733) #11
  %29735 = call ptr @__errno_location() #12
  %29736 = load i32, ptr %29735, align 4, !tbaa !5
  %29737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29724, ptr noundef @.str.5, i32 noundef %29725, ptr noundef @.str.239, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %29728, ptr noundef %29731, ptr noundef %29734, i32 noundef %29736) #11
  br label %29738

29738:                                            ; preds = %29721, %29704
  call void @llvm.lifetime.end.p0(i64 4, ptr %652) #11
  br label %29739

29739:                                            ; preds = %29738
  br label %29740

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

29741:                                            ; No predecessors!
  br label %29742

29742:                                            ; preds = %29741
  br label %29743

29743:                                            ; preds = %29742, %29681
  br label %29744

29744:                                            ; preds = %29743
  br label %29745

29745:                                            ; preds = %29744
  br label %29746

29746:                                            ; preds = %29745
  %29747 = load i32, ptr @test_count, align 4, !tbaa !5
  %29748 = add nsw i32 %29747, 1
  store i32 %29748, ptr @test_count, align 4, !tbaa !5
  %29749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29750 = load i32, ptr %29749, align 4, !tbaa !5
  %29751 = icmp eq i32 %29750, 469762133
  br i1 %29751, label %29805, label %29752

29752:                                            ; preds = %29746
  br label %29753

29753:                                            ; preds = %29752
  br label %29754

29754:                                            ; preds = %29753
  call void @llvm.lifetime.start.p0(i64 4, ptr %653) #11
  %29755 = call ptr @__errno_location() #12
  %29756 = load i32, ptr %29755, align 4, !tbaa !5
  store i32 %29756, ptr %653, align 4, !tbaa !5
  %29757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29758 = call i32 @s2n_print_stacktrace(ptr noundef %29757)
  %29759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29760 = trunc i8 %29759 to i1
  br i1 %29760, label %29761, label %29783

29761:                                            ; preds = %29754
  %29762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29763 = call i32 @fileno(ptr noundef %29762) #11
  %29764 = call i32 @isatty(i32 noundef %29763) #11
  %29765 = icmp ne i32 %29764, 0
  br i1 %29765, label %29766, label %29783

29766:                                            ; preds = %29761
  %29767 = load i32, ptr %653, align 4, !tbaa !5
  %29768 = call ptr @__errno_location() #12
  store i32 %29767, ptr %29768, align 4, !tbaa !5
  %29769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29770 = load i32, ptr @test_count, align 4, !tbaa !5
  %29771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29772 = load i32, ptr %29771, align 4, !tbaa !5
  %29773 = call ptr @s2n_strerror(i32 noundef %29772, ptr noundef @.str.4)
  %29774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29775 = load i32, ptr %29774, align 4, !tbaa !5
  %29776 = call ptr @s2n_strerror_debug(i32 noundef %29775, ptr noundef @.str.4)
  %29777 = call ptr @__errno_location() #12
  %29778 = load i32, ptr %29777, align 4, !tbaa !5
  %29779 = call ptr @strerror(i32 noundef %29778) #11
  %29780 = call ptr @__errno_location() #12
  %29781 = load i32, ptr %29780, align 4, !tbaa !5
  %29782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29769, ptr noundef @.str.2, i32 noundef %29770, ptr noundef @.str.240, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %29773, ptr noundef %29776, ptr noundef %29779, i32 noundef %29781) #11
  br label %29800

29783:                                            ; preds = %29761, %29754
  %29784 = load i32, ptr %653, align 4, !tbaa !5
  %29785 = call ptr @__errno_location() #12
  store i32 %29784, ptr %29785, align 4, !tbaa !5
  %29786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29787 = load i32, ptr @test_count, align 4, !tbaa !5
  %29788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29789 = load i32, ptr %29788, align 4, !tbaa !5
  %29790 = call ptr @s2n_strerror(i32 noundef %29789, ptr noundef @.str.4)
  %29791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29792 = load i32, ptr %29791, align 4, !tbaa !5
  %29793 = call ptr @s2n_strerror_debug(i32 noundef %29792, ptr noundef @.str.4)
  %29794 = call ptr @__errno_location() #12
  %29795 = load i32, ptr %29794, align 4, !tbaa !5
  %29796 = call ptr @strerror(i32 noundef %29795) #11
  %29797 = call ptr @__errno_location() #12
  %29798 = load i32, ptr %29797, align 4, !tbaa !5
  %29799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29786, ptr noundef @.str.5, i32 noundef %29787, ptr noundef @.str.240, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %29790, ptr noundef %29793, ptr noundef %29796, i32 noundef %29798) #11
  br label %29800

29800:                                            ; preds = %29783, %29766
  call void @llvm.lifetime.end.p0(i64 4, ptr %653) #11
  br label %29801

29801:                                            ; preds = %29800
  br label %29802

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

29803:                                            ; No predecessors!
  br label %29804

29804:                                            ; preds = %29803
  br label %29805

29805:                                            ; preds = %29804, %29746
  br label %29806

29806:                                            ; preds = %29805
  br label %29807

29807:                                            ; preds = %29806
  br label %29808

29808:                                            ; preds = %29807
  %29809 = load i32, ptr @test_count, align 4, !tbaa !5
  %29810 = add nsw i32 %29809, 1
  store i32 %29810, ptr @test_count, align 4, !tbaa !5
  %29811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29812 = load i32, ptr %29811, align 4, !tbaa !5
  %29813 = call ptr @s2n_strerror_debug(i32 noundef %29812, ptr noundef @.str.4)
  %29814 = icmp eq ptr %29813, null
  br i1 %29814, label %29815, label %29868

29815:                                            ; preds = %29808
  br label %29816

29816:                                            ; preds = %29815
  br label %29817

29817:                                            ; preds = %29816
  call void @llvm.lifetime.start.p0(i64 4, ptr %654) #11
  %29818 = call ptr @__errno_location() #12
  %29819 = load i32, ptr %29818, align 4, !tbaa !5
  store i32 %29819, ptr %654, align 4, !tbaa !5
  %29820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29821 = call i32 @s2n_print_stacktrace(ptr noundef %29820)
  %29822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29823 = trunc i8 %29822 to i1
  br i1 %29823, label %29824, label %29846

29824:                                            ; preds = %29817
  %29825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29826 = call i32 @fileno(ptr noundef %29825) #11
  %29827 = call i32 @isatty(i32 noundef %29826) #11
  %29828 = icmp ne i32 %29827, 0
  br i1 %29828, label %29829, label %29846

29829:                                            ; preds = %29824
  %29830 = load i32, ptr %654, align 4, !tbaa !5
  %29831 = call ptr @__errno_location() #12
  store i32 %29830, ptr %29831, align 4, !tbaa !5
  %29832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29833 = load i32, ptr @test_count, align 4, !tbaa !5
  %29834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29835 = load i32, ptr %29834, align 4, !tbaa !5
  %29836 = call ptr @s2n_strerror(i32 noundef %29835, ptr noundef @.str.4)
  %29837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29838 = load i32, ptr %29837, align 4, !tbaa !5
  %29839 = call ptr @s2n_strerror_debug(i32 noundef %29838, ptr noundef @.str.4)
  %29840 = call ptr @__errno_location() #12
  %29841 = load i32, ptr %29840, align 4, !tbaa !5
  %29842 = call ptr @strerror(i32 noundef %29841) #11
  %29843 = call ptr @__errno_location() #12
  %29844 = load i32, ptr %29843, align 4, !tbaa !5
  %29845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29832, ptr noundef @.str.2, i32 noundef %29833, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %29836, ptr noundef %29839, ptr noundef %29842, i32 noundef %29844) #11
  br label %29863

29846:                                            ; preds = %29824, %29817
  %29847 = load i32, ptr %654, align 4, !tbaa !5
  %29848 = call ptr @__errno_location() #12
  store i32 %29847, ptr %29848, align 4, !tbaa !5
  %29849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29850 = load i32, ptr @test_count, align 4, !tbaa !5
  %29851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29852 = load i32, ptr %29851, align 4, !tbaa !5
  %29853 = call ptr @s2n_strerror(i32 noundef %29852, ptr noundef @.str.4)
  %29854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29855 = load i32, ptr %29854, align 4, !tbaa !5
  %29856 = call ptr @s2n_strerror_debug(i32 noundef %29855, ptr noundef @.str.4)
  %29857 = call ptr @__errno_location() #12
  %29858 = load i32, ptr %29857, align 4, !tbaa !5
  %29859 = call ptr @strerror(i32 noundef %29858) #11
  %29860 = call ptr @__errno_location() #12
  %29861 = load i32, ptr %29860, align 4, !tbaa !5
  %29862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29849, ptr noundef @.str.5, i32 noundef %29850, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1139, ptr noundef %29853, ptr noundef %29856, ptr noundef %29859, i32 noundef %29861) #11
  br label %29863

29863:                                            ; preds = %29846, %29829
  call void @llvm.lifetime.end.p0(i64 4, ptr %654) #11
  br label %29864

29864:                                            ; preds = %29863
  br label %29865

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

29866:                                            ; No predecessors!
  br label %29867

29867:                                            ; preds = %29866
  br label %29868

29868:                                            ; preds = %29867, %29808
  br label %29869

29869:                                            ; preds = %29868
  br label %29870

29870:                                            ; preds = %29869
  br label %29871

29871:                                            ; preds = %29870
  br label %29872

29872:                                            ; preds = %29871
  br label %29873

29873:                                            ; preds = %29872
  %29874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %29874, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %29875 = call ptr @__errno_location() #12
  store i32 0, ptr %29875, align 4, !tbaa !5
  br label %29876

29876:                                            ; preds = %29873
  br label %29877

29877:                                            ; preds = %29876
  br label %29878

29878:                                            ; preds = %29877
  br label %29879

29879:                                            ; preds = %29878
  call void @llvm.lifetime.end.p0(i64 4, ptr %647) #11
  %29880 = call i32 @s2n_config_ptr_free(ptr noundef %645)
  %29881 = getelementptr inbounds %struct.s2n_result, ptr %655, i32 0, i32 0
  store i32 %29880, ptr %29881, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %645) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %656) #11
  %29882 = call ptr @s2n_config_new()
  store ptr %29882, ptr %656, align 8, !tbaa !9
  br label %29883

29883:                                            ; preds = %29879
  %29884 = load i32, ptr @test_count, align 4, !tbaa !5
  %29885 = add nsw i32 %29884, 1
  store i32 %29885, ptr @test_count, align 4, !tbaa !5
  %29886 = load ptr, ptr %656, align 8, !tbaa !9
  %29887 = load ptr, ptr %629, align 8, !tbaa !9
  %29888 = call i32 @s2n_config_build_domain_name_to_cert_map(ptr noundef %29886, ptr noundef %29887)
  %29889 = icmp eq i32 %29888, -1
  br i1 %29889, label %29890, label %29943

29890:                                            ; preds = %29883
  br label %29891

29891:                                            ; preds = %29890
  br label %29892

29892:                                            ; preds = %29891
  call void @llvm.lifetime.start.p0(i64 4, ptr %657) #11
  %29893 = call ptr @__errno_location() #12
  %29894 = load i32, ptr %29893, align 4, !tbaa !5
  store i32 %29894, ptr %657, align 4, !tbaa !5
  %29895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29896 = call i32 @s2n_print_stacktrace(ptr noundef %29895)
  %29897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29898 = trunc i8 %29897 to i1
  br i1 %29898, label %29899, label %29921

29899:                                            ; preds = %29892
  %29900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29901 = call i32 @fileno(ptr noundef %29900) #11
  %29902 = call i32 @isatty(i32 noundef %29901) #11
  %29903 = icmp ne i32 %29902, 0
  br i1 %29903, label %29904, label %29921

29904:                                            ; preds = %29899
  %29905 = load i32, ptr %657, align 4, !tbaa !5
  %29906 = call ptr @__errno_location() #12
  store i32 %29905, ptr %29906, align 4, !tbaa !5
  %29907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29908 = load i32, ptr @test_count, align 4, !tbaa !5
  %29909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29910 = load i32, ptr %29909, align 4, !tbaa !5
  %29911 = call ptr @s2n_strerror(i32 noundef %29910, ptr noundef @.str.4)
  %29912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29913 = load i32, ptr %29912, align 4, !tbaa !5
  %29914 = call ptr @s2n_strerror_debug(i32 noundef %29913, ptr noundef @.str.4)
  %29915 = call ptr @__errno_location() #12
  %29916 = load i32, ptr %29915, align 4, !tbaa !5
  %29917 = call ptr @strerror(i32 noundef %29916) #11
  %29918 = call ptr @__errno_location() #12
  %29919 = load i32, ptr %29918, align 4, !tbaa !5
  %29920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29907, ptr noundef @.str.2, i32 noundef %29908, ptr noundef @.str.241, ptr noundef @.str.1, i32 noundef 1145, ptr noundef %29911, ptr noundef %29914, ptr noundef %29917, i32 noundef %29919) #11
  br label %29938

29921:                                            ; preds = %29899, %29892
  %29922 = load i32, ptr %657, align 4, !tbaa !5
  %29923 = call ptr @__errno_location() #12
  store i32 %29922, ptr %29923, align 4, !tbaa !5
  %29924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29925 = load i32, ptr @test_count, align 4, !tbaa !5
  %29926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29927 = load i32, ptr %29926, align 4, !tbaa !5
  %29928 = call ptr @s2n_strerror(i32 noundef %29927, ptr noundef @.str.4)
  %29929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29930 = load i32, ptr %29929, align 4, !tbaa !5
  %29931 = call ptr @s2n_strerror_debug(i32 noundef %29930, ptr noundef @.str.4)
  %29932 = call ptr @__errno_location() #12
  %29933 = load i32, ptr %29932, align 4, !tbaa !5
  %29934 = call ptr @strerror(i32 noundef %29933) #11
  %29935 = call ptr @__errno_location() #12
  %29936 = load i32, ptr %29935, align 4, !tbaa !5
  %29937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29924, ptr noundef @.str.5, i32 noundef %29925, ptr noundef @.str.241, ptr noundef @.str.1, i32 noundef 1145, ptr noundef %29928, ptr noundef %29931, ptr noundef %29934, i32 noundef %29936) #11
  br label %29938

29938:                                            ; preds = %29921, %29904
  call void @llvm.lifetime.end.p0(i64 4, ptr %657) #11
  br label %29939

29939:                                            ; preds = %29938
  br label %29940

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

29941:                                            ; No predecessors!
  br label %29942

29942:                                            ; preds = %29941
  br label %29943

29943:                                            ; preds = %29942, %29883
  br label %29944

29944:                                            ; preds = %29943
  br label %29945

29945:                                            ; preds = %29944
  br label %29946

29946:                                            ; preds = %29945
  %29947 = load i32, ptr @test_count, align 4, !tbaa !5
  %29948 = add nsw i32 %29947, 1
  store i32 %29948, ptr @test_count, align 4, !tbaa !5
  %29949 = load ptr, ptr %656, align 8, !tbaa !9
  %29950 = call i32 @s2n_config_get_num_default_certs(ptr noundef %29949)
  %29951 = icmp eq i32 %29950, 0
  br i1 %29951, label %30005, label %29952

29952:                                            ; preds = %29946
  br label %29953

29953:                                            ; preds = %29952
  br label %29954

29954:                                            ; preds = %29953
  call void @llvm.lifetime.start.p0(i64 4, ptr %658) #11
  %29955 = call ptr @__errno_location() #12
  %29956 = load i32, ptr %29955, align 4, !tbaa !5
  store i32 %29956, ptr %658, align 4, !tbaa !5
  %29957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29958 = call i32 @s2n_print_stacktrace(ptr noundef %29957)
  %29959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29960 = trunc i8 %29959 to i1
  br i1 %29960, label %29961, label %29983

29961:                                            ; preds = %29954
  %29962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29963 = call i32 @fileno(ptr noundef %29962) #11
  %29964 = call i32 @isatty(i32 noundef %29963) #11
  %29965 = icmp ne i32 %29964, 0
  br i1 %29965, label %29966, label %29983

29966:                                            ; preds = %29961
  %29967 = load i32, ptr %658, align 4, !tbaa !5
  %29968 = call ptr @__errno_location() #12
  store i32 %29967, ptr %29968, align 4, !tbaa !5
  %29969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29970 = load i32, ptr @test_count, align 4, !tbaa !5
  %29971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29972 = load i32, ptr %29971, align 4, !tbaa !5
  %29973 = call ptr @s2n_strerror(i32 noundef %29972, ptr noundef @.str.4)
  %29974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29975 = load i32, ptr %29974, align 4, !tbaa !5
  %29976 = call ptr @s2n_strerror_debug(i32 noundef %29975, ptr noundef @.str.4)
  %29977 = call ptr @__errno_location() #12
  %29978 = load i32, ptr %29977, align 4, !tbaa !5
  %29979 = call ptr @strerror(i32 noundef %29978) #11
  %29980 = call ptr @__errno_location() #12
  %29981 = load i32, ptr %29980, align 4, !tbaa !5
  %29982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29969, ptr noundef @.str.2, i32 noundef %29970, ptr noundef @.str.242, ptr noundef @.str.1, i32 noundef 1148, ptr noundef %29973, ptr noundef %29976, ptr noundef %29979, i32 noundef %29981) #11
  br label %30000

29983:                                            ; preds = %29961, %29954
  %29984 = load i32, ptr %658, align 4, !tbaa !5
  %29985 = call ptr @__errno_location() #12
  store i32 %29984, ptr %29985, align 4, !tbaa !5
  %29986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29987 = load i32, ptr @test_count, align 4, !tbaa !5
  %29988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29989 = load i32, ptr %29988, align 4, !tbaa !5
  %29990 = call ptr @s2n_strerror(i32 noundef %29989, ptr noundef @.str.4)
  %29991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29992 = load i32, ptr %29991, align 4, !tbaa !5
  %29993 = call ptr @s2n_strerror_debug(i32 noundef %29992, ptr noundef @.str.4)
  %29994 = call ptr @__errno_location() #12
  %29995 = load i32, ptr %29994, align 4, !tbaa !5
  %29996 = call ptr @strerror(i32 noundef %29995) #11
  %29997 = call ptr @__errno_location() #12
  %29998 = load i32, ptr %29997, align 4, !tbaa !5
  %29999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29986, ptr noundef @.str.5, i32 noundef %29987, ptr noundef @.str.242, ptr noundef @.str.1, i32 noundef 1148, ptr noundef %29990, ptr noundef %29993, ptr noundef %29996, i32 noundef %29998) #11
  br label %30000

30000:                                            ; preds = %29983, %29966
  call void @llvm.lifetime.end.p0(i64 4, ptr %658) #11
  br label %30001

30001:                                            ; preds = %30000
  br label %30002

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

30003:                                            ; No predecessors!
  br label %30004

30004:                                            ; preds = %30003
  br label %30005

30005:                                            ; preds = %30004, %29946
  br label %30006

30006:                                            ; preds = %30005
  br label %30007

30007:                                            ; preds = %30006
  br label %30008

30008:                                            ; preds = %30007
  br label %30009

30009:                                            ; preds = %30008
  br label %30010

30010:                                            ; preds = %30009
  %30011 = load i32, ptr @test_count, align 4, !tbaa !5
  %30012 = add nsw i32 %30011, 1
  store i32 %30012, ptr @test_count, align 4, !tbaa !5
  %30013 = load ptr, ptr %656, align 8, !tbaa !9
  %30014 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %30013, ptr noundef %633)
  %30015 = getelementptr inbounds %struct.s2n_result, ptr %659, i32 0, i32 0
  store i32 %30014, ptr %30015, align 4
  %30016 = getelementptr inbounds %struct.s2n_result, ptr %659, i32 0, i32 0
  %30017 = load i32, ptr %30016, align 4
  %30018 = call zeroext i1 @s2n_result_is_error(i32 %30017)
  br i1 %30018, label %30072, label %30019

30019:                                            ; preds = %30010
  br label %30020

30020:                                            ; preds = %30019
  br label %30021

30021:                                            ; preds = %30020
  call void @llvm.lifetime.start.p0(i64 4, ptr %660) #11
  %30022 = call ptr @__errno_location() #12
  %30023 = load i32, ptr %30022, align 4, !tbaa !5
  store i32 %30023, ptr %660, align 4, !tbaa !5
  %30024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30025 = call i32 @s2n_print_stacktrace(ptr noundef %30024)
  %30026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30027 = trunc i8 %30026 to i1
  br i1 %30027, label %30028, label %30050

30028:                                            ; preds = %30021
  %30029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30030 = call i32 @fileno(ptr noundef %30029) #11
  %30031 = call i32 @isatty(i32 noundef %30030) #11
  %30032 = icmp ne i32 %30031, 0
  br i1 %30032, label %30033, label %30050

30033:                                            ; preds = %30028
  %30034 = load i32, ptr %660, align 4, !tbaa !5
  %30035 = call ptr @__errno_location() #12
  store i32 %30034, ptr %30035, align 4, !tbaa !5
  %30036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30037 = load i32, ptr @test_count, align 4, !tbaa !5
  %30038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30039 = load i32, ptr %30038, align 4, !tbaa !5
  %30040 = call ptr @s2n_strerror(i32 noundef %30039, ptr noundef @.str.4)
  %30041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30042 = load i32, ptr %30041, align 4, !tbaa !5
  %30043 = call ptr @s2n_strerror_debug(i32 noundef %30042, ptr noundef @.str.4)
  %30044 = call ptr @__errno_location() #12
  %30045 = load i32, ptr %30044, align 4, !tbaa !5
  %30046 = call ptr @strerror(i32 noundef %30045) #11
  %30047 = call ptr @__errno_location() #12
  %30048 = load i32, ptr %30047, align 4, !tbaa !5
  %30049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30036, ptr noundef @.str.2, i32 noundef %30037, ptr noundef @.str.239, ptr noundef @.str.1, i32 noundef 1152, ptr noundef %30040, ptr noundef %30043, ptr noundef %30046, i32 noundef %30048) #11
  br label %30067

30050:                                            ; preds = %30028, %30021
  %30051 = load i32, ptr %660, align 4, !tbaa !5
  %30052 = call ptr @__errno_location() #12
  store i32 %30051, ptr %30052, align 4, !tbaa !5
  %30053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30054 = load i32, ptr @test_count, align 4, !tbaa !5
  %30055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30056 = load i32, ptr %30055, align 4, !tbaa !5
  %30057 = call ptr @s2n_strerror(i32 noundef %30056, ptr noundef @.str.4)
  %30058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30059 = load i32, ptr %30058, align 4, !tbaa !5
  %30060 = call ptr @s2n_strerror_debug(i32 noundef %30059, ptr noundef @.str.4)
  %30061 = call ptr @__errno_location() #12
  %30062 = load i32, ptr %30061, align 4, !tbaa !5
  %30063 = call ptr @strerror(i32 noundef %30062) #11
  %30064 = call ptr @__errno_location() #12
  %30065 = load i32, ptr %30064, align 4, !tbaa !5
  %30066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30053, ptr noundef @.str.5, i32 noundef %30054, ptr noundef @.str.239, ptr noundef @.str.1, i32 noundef 1152, ptr noundef %30057, ptr noundef %30060, ptr noundef %30063, i32 noundef %30065) #11
  br label %30067

30067:                                            ; preds = %30050, %30033
  call void @llvm.lifetime.end.p0(i64 4, ptr %660) #11
  br label %30068

30068:                                            ; preds = %30067
  br label %30069

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

30070:                                            ; No predecessors!
  br label %30071

30071:                                            ; preds = %30070
  br label %30072

30072:                                            ; preds = %30071, %30010
  br label %30073

30073:                                            ; preds = %30072
  br label %30074

30074:                                            ; preds = %30073
  br label %30075

30075:                                            ; preds = %30074
  %30076 = load i32, ptr @test_count, align 4, !tbaa !5
  %30077 = add nsw i32 %30076, 1
  store i32 %30077, ptr @test_count, align 4, !tbaa !5
  %30078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30079 = load i32, ptr %30078, align 4, !tbaa !5
  %30080 = icmp eq i32 %30079, 469762133
  br i1 %30080, label %30134, label %30081

30081:                                            ; preds = %30075
  br label %30082

30082:                                            ; preds = %30081
  br label %30083

30083:                                            ; preds = %30082
  call void @llvm.lifetime.start.p0(i64 4, ptr %661) #11
  %30084 = call ptr @__errno_location() #12
  %30085 = load i32, ptr %30084, align 4, !tbaa !5
  store i32 %30085, ptr %661, align 4, !tbaa !5
  %30086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30087 = call i32 @s2n_print_stacktrace(ptr noundef %30086)
  %30088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30089 = trunc i8 %30088 to i1
  br i1 %30089, label %30090, label %30112

30090:                                            ; preds = %30083
  %30091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30092 = call i32 @fileno(ptr noundef %30091) #11
  %30093 = call i32 @isatty(i32 noundef %30092) #11
  %30094 = icmp ne i32 %30093, 0
  br i1 %30094, label %30095, label %30112

30095:                                            ; preds = %30090
  %30096 = load i32, ptr %661, align 4, !tbaa !5
  %30097 = call ptr @__errno_location() #12
  store i32 %30096, ptr %30097, align 4, !tbaa !5
  %30098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30099 = load i32, ptr @test_count, align 4, !tbaa !5
  %30100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30101 = load i32, ptr %30100, align 4, !tbaa !5
  %30102 = call ptr @s2n_strerror(i32 noundef %30101, ptr noundef @.str.4)
  %30103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30104 = load i32, ptr %30103, align 4, !tbaa !5
  %30105 = call ptr @s2n_strerror_debug(i32 noundef %30104, ptr noundef @.str.4)
  %30106 = call ptr @__errno_location() #12
  %30107 = load i32, ptr %30106, align 4, !tbaa !5
  %30108 = call ptr @strerror(i32 noundef %30107) #11
  %30109 = call ptr @__errno_location() #12
  %30110 = load i32, ptr %30109, align 4, !tbaa !5
  %30111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30098, ptr noundef @.str.2, i32 noundef %30099, ptr noundef @.str.240, ptr noundef @.str.1, i32 noundef 1152, ptr noundef %30102, ptr noundef %30105, ptr noundef %30108, i32 noundef %30110) #11
  br label %30129

30112:                                            ; preds = %30090, %30083
  %30113 = load i32, ptr %661, align 4, !tbaa !5
  %30114 = call ptr @__errno_location() #12
  store i32 %30113, ptr %30114, align 4, !tbaa !5
  %30115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30116 = load i32, ptr @test_count, align 4, !tbaa !5
  %30117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30118 = load i32, ptr %30117, align 4, !tbaa !5
  %30119 = call ptr @s2n_strerror(i32 noundef %30118, ptr noundef @.str.4)
  %30120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30121 = load i32, ptr %30120, align 4, !tbaa !5
  %30122 = call ptr @s2n_strerror_debug(i32 noundef %30121, ptr noundef @.str.4)
  %30123 = call ptr @__errno_location() #12
  %30124 = load i32, ptr %30123, align 4, !tbaa !5
  %30125 = call ptr @strerror(i32 noundef %30124) #11
  %30126 = call ptr @__errno_location() #12
  %30127 = load i32, ptr %30126, align 4, !tbaa !5
  %30128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30115, ptr noundef @.str.5, i32 noundef %30116, ptr noundef @.str.240, ptr noundef @.str.1, i32 noundef 1152, ptr noundef %30119, ptr noundef %30122, ptr noundef %30125, i32 noundef %30127) #11
  br label %30129

30129:                                            ; preds = %30112, %30095
  call void @llvm.lifetime.end.p0(i64 4, ptr %661) #11
  br label %30130

30130:                                            ; preds = %30129
  br label %30131

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

30132:                                            ; No predecessors!
  br label %30133

30133:                                            ; preds = %30132
  br label %30134

30134:                                            ; preds = %30133, %30075
  br label %30135

30135:                                            ; preds = %30134
  br label %30136

30136:                                            ; preds = %30135
  br label %30137

30137:                                            ; preds = %30136
  %30138 = load i32, ptr @test_count, align 4, !tbaa !5
  %30139 = add nsw i32 %30138, 1
  store i32 %30139, ptr @test_count, align 4, !tbaa !5
  %30140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30141 = load i32, ptr %30140, align 4, !tbaa !5
  %30142 = call ptr @s2n_strerror_debug(i32 noundef %30141, ptr noundef @.str.4)
  %30143 = icmp eq ptr %30142, null
  br i1 %30143, label %30144, label %30197

30144:                                            ; preds = %30137
  br label %30145

30145:                                            ; preds = %30144
  br label %30146

30146:                                            ; preds = %30145
  call void @llvm.lifetime.start.p0(i64 4, ptr %662) #11
  %30147 = call ptr @__errno_location() #12
  %30148 = load i32, ptr %30147, align 4, !tbaa !5
  store i32 %30148, ptr %662, align 4, !tbaa !5
  %30149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30150 = call i32 @s2n_print_stacktrace(ptr noundef %30149)
  %30151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30152 = trunc i8 %30151 to i1
  br i1 %30152, label %30153, label %30175

30153:                                            ; preds = %30146
  %30154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30155 = call i32 @fileno(ptr noundef %30154) #11
  %30156 = call i32 @isatty(i32 noundef %30155) #11
  %30157 = icmp ne i32 %30156, 0
  br i1 %30157, label %30158, label %30175

30158:                                            ; preds = %30153
  %30159 = load i32, ptr %662, align 4, !tbaa !5
  %30160 = call ptr @__errno_location() #12
  store i32 %30159, ptr %30160, align 4, !tbaa !5
  %30161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30162 = load i32, ptr @test_count, align 4, !tbaa !5
  %30163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30164 = load i32, ptr %30163, align 4, !tbaa !5
  %30165 = call ptr @s2n_strerror(i32 noundef %30164, ptr noundef @.str.4)
  %30166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30167 = load i32, ptr %30166, align 4, !tbaa !5
  %30168 = call ptr @s2n_strerror_debug(i32 noundef %30167, ptr noundef @.str.4)
  %30169 = call ptr @__errno_location() #12
  %30170 = load i32, ptr %30169, align 4, !tbaa !5
  %30171 = call ptr @strerror(i32 noundef %30170) #11
  %30172 = call ptr @__errno_location() #12
  %30173 = load i32, ptr %30172, align 4, !tbaa !5
  %30174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30161, ptr noundef @.str.2, i32 noundef %30162, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1152, ptr noundef %30165, ptr noundef %30168, ptr noundef %30171, i32 noundef %30173) #11
  br label %30192

30175:                                            ; preds = %30153, %30146
  %30176 = load i32, ptr %662, align 4, !tbaa !5
  %30177 = call ptr @__errno_location() #12
  store i32 %30176, ptr %30177, align 4, !tbaa !5
  %30178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30179 = load i32, ptr @test_count, align 4, !tbaa !5
  %30180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30181 = load i32, ptr %30180, align 4, !tbaa !5
  %30182 = call ptr @s2n_strerror(i32 noundef %30181, ptr noundef @.str.4)
  %30183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30184 = load i32, ptr %30183, align 4, !tbaa !5
  %30185 = call ptr @s2n_strerror_debug(i32 noundef %30184, ptr noundef @.str.4)
  %30186 = call ptr @__errno_location() #12
  %30187 = load i32, ptr %30186, align 4, !tbaa !5
  %30188 = call ptr @strerror(i32 noundef %30187) #11
  %30189 = call ptr @__errno_location() #12
  %30190 = load i32, ptr %30189, align 4, !tbaa !5
  %30191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30178, ptr noundef @.str.5, i32 noundef %30179, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1152, ptr noundef %30182, ptr noundef %30185, ptr noundef %30188, i32 noundef %30190) #11
  br label %30192

30192:                                            ; preds = %30175, %30158
  call void @llvm.lifetime.end.p0(i64 4, ptr %662) #11
  br label %30193

30193:                                            ; preds = %30192
  br label %30194

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

30195:                                            ; No predecessors!
  br label %30196

30196:                                            ; preds = %30195
  br label %30197

30197:                                            ; preds = %30196, %30137
  br label %30198

30198:                                            ; preds = %30197
  br label %30199

30199:                                            ; preds = %30198
  br label %30200

30200:                                            ; preds = %30199
  br label %30201

30201:                                            ; preds = %30200
  br label %30202

30202:                                            ; preds = %30201
  %30203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %30203, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %30204 = call ptr @__errno_location() #12
  store i32 0, ptr %30204, align 4, !tbaa !5
  br label %30205

30205:                                            ; preds = %30202
  br label %30206

30206:                                            ; preds = %30205
  br label %30207

30207:                                            ; preds = %30206
  br label %30208

30208:                                            ; preds = %30207
  %30209 = call i32 @s2n_config_ptr_free(ptr noundef %656)
  %30210 = getelementptr inbounds %struct.s2n_result, ptr %663, i32 0, i32 0
  store i32 %30209, ptr %30210, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %656) #11
  call void @llvm.lifetime.start.p0(i64 64, ptr %664) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %664, ptr align 8 @security_policy_rfc9151, i64 64, i1 false), !tbaa.struct !94
  br label %30211

30211:                                            ; preds = %30208
  %30212 = load i32, ptr @test_count, align 4, !tbaa !5
  %30213 = add nsw i32 %30212, 1
  store i32 %30213, ptr @test_count, align 4, !tbaa !5
  %30214 = getelementptr inbounds %struct.s2n_security_policy, ptr %664, i32 0, i32 6
  %30215 = load ptr, ptr %30214, align 8, !tbaa !97
  %30216 = icmp eq ptr %30215, null
  br i1 %30216, label %30217, label %30270

30217:                                            ; preds = %30211
  br label %30218

30218:                                            ; preds = %30217
  br label %30219

30219:                                            ; preds = %30218
  call void @llvm.lifetime.start.p0(i64 4, ptr %665) #11
  %30220 = call ptr @__errno_location() #12
  %30221 = load i32, ptr %30220, align 4, !tbaa !5
  store i32 %30221, ptr %665, align 4, !tbaa !5
  %30222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30223 = call i32 @s2n_print_stacktrace(ptr noundef %30222)
  %30224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30225 = trunc i8 %30224 to i1
  br i1 %30225, label %30226, label %30248

30226:                                            ; preds = %30219
  %30227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30228 = call i32 @fileno(ptr noundef %30227) #11
  %30229 = call i32 @isatty(i32 noundef %30228) #11
  %30230 = icmp ne i32 %30229, 0
  br i1 %30230, label %30231, label %30248

30231:                                            ; preds = %30226
  %30232 = load i32, ptr %665, align 4, !tbaa !5
  %30233 = call ptr @__errno_location() #12
  store i32 %30232, ptr %30233, align 4, !tbaa !5
  %30234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30235 = load i32, ptr @test_count, align 4, !tbaa !5
  %30236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30237 = load i32, ptr %30236, align 4, !tbaa !5
  %30238 = call ptr @s2n_strerror(i32 noundef %30237, ptr noundef @.str.4)
  %30239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30240 = load i32, ptr %30239, align 4, !tbaa !5
  %30241 = call ptr @s2n_strerror_debug(i32 noundef %30240, ptr noundef @.str.4)
  %30242 = call ptr @__errno_location() #12
  %30243 = load i32, ptr %30242, align 4, !tbaa !5
  %30244 = call ptr @strerror(i32 noundef %30243) #11
  %30245 = call ptr @__errno_location() #12
  %30246 = load i32, ptr %30245, align 4, !tbaa !5
  %30247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30234, ptr noundef @.str.2, i32 noundef %30235, ptr noundef @.str.243, ptr noundef @.str.1, i32 noundef 1166, ptr noundef %30238, ptr noundef %30241, ptr noundef %30244, i32 noundef %30246) #11
  br label %30265

30248:                                            ; preds = %30226, %30219
  %30249 = load i32, ptr %665, align 4, !tbaa !5
  %30250 = call ptr @__errno_location() #12
  store i32 %30249, ptr %30250, align 4, !tbaa !5
  %30251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30252 = load i32, ptr @test_count, align 4, !tbaa !5
  %30253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30254 = load i32, ptr %30253, align 4, !tbaa !5
  %30255 = call ptr @s2n_strerror(i32 noundef %30254, ptr noundef @.str.4)
  %30256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30257 = load i32, ptr %30256, align 4, !tbaa !5
  %30258 = call ptr @s2n_strerror_debug(i32 noundef %30257, ptr noundef @.str.4)
  %30259 = call ptr @__errno_location() #12
  %30260 = load i32, ptr %30259, align 4, !tbaa !5
  %30261 = call ptr @strerror(i32 noundef %30260) #11
  %30262 = call ptr @__errno_location() #12
  %30263 = load i32, ptr %30262, align 4, !tbaa !5
  %30264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30251, ptr noundef @.str.5, i32 noundef %30252, ptr noundef @.str.243, ptr noundef @.str.1, i32 noundef 1166, ptr noundef %30255, ptr noundef %30258, ptr noundef %30261, i32 noundef %30263) #11
  br label %30265

30265:                                            ; preds = %30248, %30231
  call void @llvm.lifetime.end.p0(i64 4, ptr %665) #11
  br label %30266

30266:                                            ; preds = %30265
  br label %30267

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

30268:                                            ; No predecessors!
  br label %30269

30269:                                            ; preds = %30268
  br label %30270

30270:                                            ; preds = %30269, %30211
  br label %30271

30271:                                            ; preds = %30270
  br label %30272

30272:                                            ; preds = %30271
  br label %30273

30273:                                            ; preds = %30272
  %30274 = load i32, ptr @test_count, align 4, !tbaa !5
  %30275 = add nsw i32 %30274, 1
  store i32 %30275, ptr @test_count, align 4, !tbaa !5
  %30276 = getelementptr inbounds %struct.s2n_security_policy, ptr %664, i32 0, i32 4
  %30277 = load ptr, ptr %30276, align 8, !tbaa !98
  %30278 = icmp eq ptr %30277, null
  br i1 %30278, label %30279, label %30332

30279:                                            ; preds = %30273
  br label %30280

30280:                                            ; preds = %30279
  br label %30281

30281:                                            ; preds = %30280
  call void @llvm.lifetime.start.p0(i64 4, ptr %666) #11
  %30282 = call ptr @__errno_location() #12
  %30283 = load i32, ptr %30282, align 4, !tbaa !5
  store i32 %30283, ptr %666, align 4, !tbaa !5
  %30284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30285 = call i32 @s2n_print_stacktrace(ptr noundef %30284)
  %30286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30287 = trunc i8 %30286 to i1
  br i1 %30287, label %30288, label %30310

30288:                                            ; preds = %30281
  %30289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30290 = call i32 @fileno(ptr noundef %30289) #11
  %30291 = call i32 @isatty(i32 noundef %30290) #11
  %30292 = icmp ne i32 %30291, 0
  br i1 %30292, label %30293, label %30310

30293:                                            ; preds = %30288
  %30294 = load i32, ptr %666, align 4, !tbaa !5
  %30295 = call ptr @__errno_location() #12
  store i32 %30294, ptr %30295, align 4, !tbaa !5
  %30296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30297 = load i32, ptr @test_count, align 4, !tbaa !5
  %30298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30299 = load i32, ptr %30298, align 4, !tbaa !5
  %30300 = call ptr @s2n_strerror(i32 noundef %30299, ptr noundef @.str.4)
  %30301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30302 = load i32, ptr %30301, align 4, !tbaa !5
  %30303 = call ptr @s2n_strerror_debug(i32 noundef %30302, ptr noundef @.str.4)
  %30304 = call ptr @__errno_location() #12
  %30305 = load i32, ptr %30304, align 4, !tbaa !5
  %30306 = call ptr @strerror(i32 noundef %30305) #11
  %30307 = call ptr @__errno_location() #12
  %30308 = load i32, ptr %30307, align 4, !tbaa !5
  %30309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30296, ptr noundef @.str.2, i32 noundef %30297, ptr noundef @.str.244, ptr noundef @.str.1, i32 noundef 1167, ptr noundef %30300, ptr noundef %30303, ptr noundef %30306, i32 noundef %30308) #11
  br label %30327

30310:                                            ; preds = %30288, %30281
  %30311 = load i32, ptr %666, align 4, !tbaa !5
  %30312 = call ptr @__errno_location() #12
  store i32 %30311, ptr %30312, align 4, !tbaa !5
  %30313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30314 = load i32, ptr @test_count, align 4, !tbaa !5
  %30315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30316 = load i32, ptr %30315, align 4, !tbaa !5
  %30317 = call ptr @s2n_strerror(i32 noundef %30316, ptr noundef @.str.4)
  %30318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30319 = load i32, ptr %30318, align 4, !tbaa !5
  %30320 = call ptr @s2n_strerror_debug(i32 noundef %30319, ptr noundef @.str.4)
  %30321 = call ptr @__errno_location() #12
  %30322 = load i32, ptr %30321, align 4, !tbaa !5
  %30323 = call ptr @strerror(i32 noundef %30322) #11
  %30324 = call ptr @__errno_location() #12
  %30325 = load i32, ptr %30324, align 4, !tbaa !5
  %30326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30313, ptr noundef @.str.5, i32 noundef %30314, ptr noundef @.str.244, ptr noundef @.str.1, i32 noundef 1167, ptr noundef %30317, ptr noundef %30320, ptr noundef %30323, i32 noundef %30325) #11
  br label %30327

30327:                                            ; preds = %30310, %30293
  call void @llvm.lifetime.end.p0(i64 4, ptr %666) #11
  br label %30328

30328:                                            ; preds = %30327
  br label %30329

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

30330:                                            ; No predecessors!
  br label %30331

30331:                                            ; preds = %30330
  br label %30332

30332:                                            ; preds = %30331, %30273
  br label %30333

30333:                                            ; preds = %30332
  br label %30334

30334:                                            ; preds = %30333
  br label %30335

30335:                                            ; preds = %30334
  %30336 = load i32, ptr @test_count, align 4, !tbaa !5
  %30337 = add nsw i32 %30336, 1
  store i32 %30337, ptr @test_count, align 4, !tbaa !5
  %30338 = getelementptr inbounds %struct.s2n_security_policy, ptr %664, i32 0, i32 6
  %30339 = load ptr, ptr %30338, align 8, !tbaa !97
  %30340 = getelementptr inbounds %struct.s2n_certificate_key_preferences, ptr %30339, i32 0, i32 0
  %30341 = load i8, ptr %30340, align 8, !tbaa !99
  %30342 = zext i8 %30341 to i32
  %30343 = icmp sgt i32 %30342, 0
  br i1 %30343, label %30397, label %30344

30344:                                            ; preds = %30335
  br label %30345

30345:                                            ; preds = %30344
  br label %30346

30346:                                            ; preds = %30345
  call void @llvm.lifetime.start.p0(i64 4, ptr %667) #11
  %30347 = call ptr @__errno_location() #12
  %30348 = load i32, ptr %30347, align 4, !tbaa !5
  store i32 %30348, ptr %667, align 4, !tbaa !5
  %30349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30350 = call i32 @s2n_print_stacktrace(ptr noundef %30349)
  %30351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30352 = trunc i8 %30351 to i1
  br i1 %30352, label %30353, label %30375

30353:                                            ; preds = %30346
  %30354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30355 = call i32 @fileno(ptr noundef %30354) #11
  %30356 = call i32 @isatty(i32 noundef %30355) #11
  %30357 = icmp ne i32 %30356, 0
  br i1 %30357, label %30358, label %30375

30358:                                            ; preds = %30353
  %30359 = load i32, ptr %667, align 4, !tbaa !5
  %30360 = call ptr @__errno_location() #12
  store i32 %30359, ptr %30360, align 4, !tbaa !5
  %30361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30362 = load i32, ptr @test_count, align 4, !tbaa !5
  %30363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30364 = load i32, ptr %30363, align 4, !tbaa !5
  %30365 = call ptr @s2n_strerror(i32 noundef %30364, ptr noundef @.str.4)
  %30366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30367 = load i32, ptr %30366, align 4, !tbaa !5
  %30368 = call ptr @s2n_strerror_debug(i32 noundef %30367, ptr noundef @.str.4)
  %30369 = call ptr @__errno_location() #12
  %30370 = load i32, ptr %30369, align 4, !tbaa !5
  %30371 = call ptr @strerror(i32 noundef %30370) #11
  %30372 = call ptr @__errno_location() #12
  %30373 = load i32, ptr %30372, align 4, !tbaa !5
  %30374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30361, ptr noundef @.str.2, i32 noundef %30362, ptr noundef @.str.245, ptr noundef @.str.1, i32 noundef 1168, ptr noundef %30365, ptr noundef %30368, ptr noundef %30371, i32 noundef %30373) #11
  br label %30392

30375:                                            ; preds = %30353, %30346
  %30376 = load i32, ptr %667, align 4, !tbaa !5
  %30377 = call ptr @__errno_location() #12
  store i32 %30376, ptr %30377, align 4, !tbaa !5
  %30378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30379 = load i32, ptr @test_count, align 4, !tbaa !5
  %30380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30381 = load i32, ptr %30380, align 4, !tbaa !5
  %30382 = call ptr @s2n_strerror(i32 noundef %30381, ptr noundef @.str.4)
  %30383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30384 = load i32, ptr %30383, align 4, !tbaa !5
  %30385 = call ptr @s2n_strerror_debug(i32 noundef %30384, ptr noundef @.str.4)
  %30386 = call ptr @__errno_location() #12
  %30387 = load i32, ptr %30386, align 4, !tbaa !5
  %30388 = call ptr @strerror(i32 noundef %30387) #11
  %30389 = call ptr @__errno_location() #12
  %30390 = load i32, ptr %30389, align 4, !tbaa !5
  %30391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30378, ptr noundef @.str.5, i32 noundef %30379, ptr noundef @.str.245, ptr noundef @.str.1, i32 noundef 1168, ptr noundef %30382, ptr noundef %30385, ptr noundef %30388, i32 noundef %30390) #11
  br label %30392

30392:                                            ; preds = %30375, %30358
  call void @llvm.lifetime.end.p0(i64 4, ptr %667) #11
  br label %30393

30393:                                            ; preds = %30392
  br label %30394

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

30395:                                            ; No predecessors!
  br label %30396

30396:                                            ; preds = %30395
  br label %30397

30397:                                            ; preds = %30396, %30335
  br label %30398

30398:                                            ; preds = %30397
  br label %30399

30399:                                            ; preds = %30398
  br label %30400

30400:                                            ; preds = %30399
  %30401 = load i32, ptr @test_count, align 4, !tbaa !5
  %30402 = add nsw i32 %30401, 1
  store i32 %30402, ptr @test_count, align 4, !tbaa !5
  %30403 = getelementptr inbounds %struct.s2n_security_policy, ptr %664, i32 0, i32 4
  %30404 = load ptr, ptr %30403, align 8, !tbaa !98
  %30405 = getelementptr inbounds %struct.s2n_signature_preferences, ptr %30404, i32 0, i32 0
  %30406 = load i8, ptr %30405, align 8, !tbaa !101
  %30407 = zext i8 %30406 to i32
  %30408 = icmp sgt i32 %30407, 0
  br i1 %30408, label %30462, label %30409

30409:                                            ; preds = %30400
  br label %30410

30410:                                            ; preds = %30409
  br label %30411

30411:                                            ; preds = %30410
  call void @llvm.lifetime.start.p0(i64 4, ptr %668) #11
  %30412 = call ptr @__errno_location() #12
  %30413 = load i32, ptr %30412, align 4, !tbaa !5
  store i32 %30413, ptr %668, align 4, !tbaa !5
  %30414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30415 = call i32 @s2n_print_stacktrace(ptr noundef %30414)
  %30416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30417 = trunc i8 %30416 to i1
  br i1 %30417, label %30418, label %30440

30418:                                            ; preds = %30411
  %30419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30420 = call i32 @fileno(ptr noundef %30419) #11
  %30421 = call i32 @isatty(i32 noundef %30420) #11
  %30422 = icmp ne i32 %30421, 0
  br i1 %30422, label %30423, label %30440

30423:                                            ; preds = %30418
  %30424 = load i32, ptr %668, align 4, !tbaa !5
  %30425 = call ptr @__errno_location() #12
  store i32 %30424, ptr %30425, align 4, !tbaa !5
  %30426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30427 = load i32, ptr @test_count, align 4, !tbaa !5
  %30428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30429 = load i32, ptr %30428, align 4, !tbaa !5
  %30430 = call ptr @s2n_strerror(i32 noundef %30429, ptr noundef @.str.4)
  %30431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30432 = load i32, ptr %30431, align 4, !tbaa !5
  %30433 = call ptr @s2n_strerror_debug(i32 noundef %30432, ptr noundef @.str.4)
  %30434 = call ptr @__errno_location() #12
  %30435 = load i32, ptr %30434, align 4, !tbaa !5
  %30436 = call ptr @strerror(i32 noundef %30435) #11
  %30437 = call ptr @__errno_location() #12
  %30438 = load i32, ptr %30437, align 4, !tbaa !5
  %30439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30426, ptr noundef @.str.2, i32 noundef %30427, ptr noundef @.str.246, ptr noundef @.str.1, i32 noundef 1169, ptr noundef %30430, ptr noundef %30433, ptr noundef %30436, i32 noundef %30438) #11
  br label %30457

30440:                                            ; preds = %30418, %30411
  %30441 = load i32, ptr %668, align 4, !tbaa !5
  %30442 = call ptr @__errno_location() #12
  store i32 %30441, ptr %30442, align 4, !tbaa !5
  %30443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30444 = load i32, ptr @test_count, align 4, !tbaa !5
  %30445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30446 = load i32, ptr %30445, align 4, !tbaa !5
  %30447 = call ptr @s2n_strerror(i32 noundef %30446, ptr noundef @.str.4)
  %30448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30449 = load i32, ptr %30448, align 4, !tbaa !5
  %30450 = call ptr @s2n_strerror_debug(i32 noundef %30449, ptr noundef @.str.4)
  %30451 = call ptr @__errno_location() #12
  %30452 = load i32, ptr %30451, align 4, !tbaa !5
  %30453 = call ptr @strerror(i32 noundef %30452) #11
  %30454 = call ptr @__errno_location() #12
  %30455 = load i32, ptr %30454, align 4, !tbaa !5
  %30456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30443, ptr noundef @.str.5, i32 noundef %30444, ptr noundef @.str.246, ptr noundef @.str.1, i32 noundef 1169, ptr noundef %30447, ptr noundef %30450, ptr noundef %30453, i32 noundef %30455) #11
  br label %30457

30457:                                            ; preds = %30440, %30423
  call void @llvm.lifetime.end.p0(i64 4, ptr %668) #11
  br label %30458

30458:                                            ; preds = %30457
  br label %30459

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

30460:                                            ; No predecessors!
  br label %30461

30461:                                            ; preds = %30460
  br label %30462

30462:                                            ; preds = %30461, %30400
  br label %30463

30463:                                            ; preds = %30462
  br label %30464

30464:                                            ; preds = %30463
  call void @llvm.lifetime.start.p0(i64 8, ptr %669) #11
  %30465 = call ptr @s2n_config_new()
  store ptr %30465, ptr %669, align 8, !tbaa !9
  br label %30466

30466:                                            ; preds = %30464
  %30467 = load i32, ptr @test_count, align 4, !tbaa !5
  %30468 = add nsw i32 %30467, 1
  store i32 %30468, ptr @test_count, align 4, !tbaa !5
  %30469 = load ptr, ptr %669, align 8, !tbaa !9
  %30470 = icmp eq ptr %30469, null
  br i1 %30470, label %30471, label %30524

30471:                                            ; preds = %30466
  br label %30472

30472:                                            ; preds = %30471
  br label %30473

30473:                                            ; preds = %30472
  call void @llvm.lifetime.start.p0(i64 4, ptr %670) #11
  %30474 = call ptr @__errno_location() #12
  %30475 = load i32, ptr %30474, align 4, !tbaa !5
  store i32 %30475, ptr %670, align 4, !tbaa !5
  %30476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30477 = call i32 @s2n_print_stacktrace(ptr noundef %30476)
  %30478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30479 = trunc i8 %30478 to i1
  br i1 %30479, label %30480, label %30502

30480:                                            ; preds = %30473
  %30481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30482 = call i32 @fileno(ptr noundef %30481) #11
  %30483 = call i32 @isatty(i32 noundef %30482) #11
  %30484 = icmp ne i32 %30483, 0
  br i1 %30484, label %30485, label %30502

30485:                                            ; preds = %30480
  %30486 = load i32, ptr %670, align 4, !tbaa !5
  %30487 = call ptr @__errno_location() #12
  store i32 %30486, ptr %30487, align 4, !tbaa !5
  %30488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30489 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30491, ptr noundef @.str.4)
  %30493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30494 = load i32, ptr %30493, align 4, !tbaa !5
  %30495 = call ptr @s2n_strerror_debug(i32 noundef %30494, ptr noundef @.str.4)
  %30496 = call ptr @__errno_location() #12
  %30497 = load i32, ptr %30496, align 4, !tbaa !5
  %30498 = call ptr @strerror(i32 noundef %30497) #11
  %30499 = call ptr @__errno_location() #12
  %30500 = load i32, ptr %30499, align 4, !tbaa !5
  %30501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30488, ptr noundef @.str.2, i32 noundef %30489, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 1172, ptr noundef %30492, ptr noundef %30495, ptr noundef %30498, i32 noundef %30500) #11
  br label %30519

30502:                                            ; preds = %30480, %30473
  %30503 = load i32, ptr %670, align 4, !tbaa !5
  %30504 = call ptr @__errno_location() #12
  store i32 %30503, ptr %30504, align 4, !tbaa !5
  %30505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30506 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30508, ptr noundef @.str.4)
  %30510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30511 = load i32, ptr %30510, align 4, !tbaa !5
  %30512 = call ptr @s2n_strerror_debug(i32 noundef %30511, ptr noundef @.str.4)
  %30513 = call ptr @__errno_location() #12
  %30514 = load i32, ptr %30513, align 4, !tbaa !5
  %30515 = call ptr @strerror(i32 noundef %30514) #11
  %30516 = call ptr @__errno_location() #12
  %30517 = load i32, ptr %30516, align 4, !tbaa !5
  %30518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30505, ptr noundef @.str.5, i32 noundef %30506, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 1172, ptr noundef %30509, ptr noundef %30512, ptr noundef %30515, i32 noundef %30517) #11
  br label %30519

30519:                                            ; preds = %30502, %30485
  call void @llvm.lifetime.end.p0(i64 4, ptr %670) #11
  br label %30520

30520:                                            ; preds = %30519
  br label %30521

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

30522:                                            ; No predecessors!
  br label %30523

30523:                                            ; preds = %30522
  br label %30524

30524:                                            ; preds = %30523, %30466
  br label %30525

30525:                                            ; preds = %30524
  br label %30526

30526:                                            ; preds = %30525
  br label %30527

30527:                                            ; preds = %30526
  %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 %669, align 8, !tbaa !9
  %30531 = load ptr, ptr %630, align 8, !tbaa !9
  %30532 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %30530, ptr noundef %30531)
  %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 %671) #11
  %30537 = call ptr @__errno_location() #12
  %30538 = load i32, ptr %30537, align 4, !tbaa !5
  store i32 %30538, ptr %671, 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 %671, 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.4)
  %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.4)
  %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.2, i32 noundef %30552, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 1173, ptr noundef %30555, ptr noundef %30558, ptr noundef %30561, i32 noundef %30563) #11
  br label %30582

30565:                                            ; preds = %30543, %30536
  %30566 = load i32, ptr %671, 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.4)
  %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.4)
  %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.5, i32 noundef %30569, ptr noundef @.str.232, ptr noundef @.str.1, i32 noundef 1173, 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 %671) #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
  br label %30590

30590:                                            ; preds = %30589
  %30591 = load i32, ptr @test_count, align 4, !tbaa !5
  %30592 = add nsw i32 %30591, 1
  store i32 %30592, ptr @test_count, align 4, !tbaa !5
  %30593 = load ptr, ptr %669, align 8, !tbaa !9
  %30594 = getelementptr inbounds %struct.s2n_config, ptr %30593, i32 0, i32 2
  %30595 = load ptr, ptr %30594, align 8, !tbaa !96
  %30596 = call i32 @s2n_map_unlock(ptr noundef %30595)
  %30597 = getelementptr inbounds %struct.s2n_result, ptr %672, i32 0, i32 0
  store i32 %30596, ptr %30597, align 4
  %30598 = getelementptr inbounds %struct.s2n_result, ptr %672, i32 0, i32 0
  %30599 = load i32, ptr %30598, align 4
  %30600 = call zeroext i1 @s2n_result_is_ok(i32 %30599)
  br i1 %30600, label %30654, label %30601

30601:                                            ; preds = %30590
  br label %30602

30602:                                            ; preds = %30601
  br label %30603

30603:                                            ; preds = %30602
  call void @llvm.lifetime.start.p0(i64 4, ptr %673) #11
  %30604 = call ptr @__errno_location() #12
  %30605 = load i32, ptr %30604, align 4, !tbaa !5
  store i32 %30605, ptr %673, align 4, !tbaa !5
  %30606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30607 = call i32 @s2n_print_stacktrace(ptr noundef %30606)
  %30608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30609 = trunc i8 %30608 to i1
  br i1 %30609, label %30610, label %30632

30610:                                            ; preds = %30603
  %30611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30612 = call i32 @fileno(ptr noundef %30611) #11
  %30613 = call i32 @isatty(i32 noundef %30612) #11
  %30614 = icmp ne i32 %30613, 0
  br i1 %30614, label %30615, label %30632

30615:                                            ; preds = %30610
  %30616 = load i32, ptr %673, align 4, !tbaa !5
  %30617 = call ptr @__errno_location() #12
  store i32 %30616, ptr %30617, align 4, !tbaa !5
  %30618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30619 = load i32, ptr @test_count, align 4, !tbaa !5
  %30620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30621 = load i32, ptr %30620, align 4, !tbaa !5
  %30622 = call ptr @s2n_strerror(i32 noundef %30621, ptr noundef @.str.4)
  %30623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30624 = load i32, ptr %30623, align 4, !tbaa !5
  %30625 = call ptr @s2n_strerror_debug(i32 noundef %30624, ptr noundef @.str.4)
  %30626 = call ptr @__errno_location() #12
  %30627 = load i32, ptr %30626, align 4, !tbaa !5
  %30628 = call ptr @strerror(i32 noundef %30627) #11
  %30629 = call ptr @__errno_location() #12
  %30630 = load i32, ptr %30629, align 4, !tbaa !5
  %30631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30618, ptr noundef @.str.2, i32 noundef %30619, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 1179, ptr noundef %30622, ptr noundef %30625, ptr noundef %30628, i32 noundef %30630) #11
  br label %30649

30632:                                            ; preds = %30610, %30603
  %30633 = load i32, ptr %673, align 4, !tbaa !5
  %30634 = call ptr @__errno_location() #12
  store i32 %30633, ptr %30634, align 4, !tbaa !5
  %30635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30636 = load i32, ptr @test_count, align 4, !tbaa !5
  %30637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30638 = load i32, ptr %30637, align 4, !tbaa !5
  %30639 = call ptr @s2n_strerror(i32 noundef %30638, ptr noundef @.str.4)
  %30640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30641 = load i32, ptr %30640, align 4, !tbaa !5
  %30642 = call ptr @s2n_strerror_debug(i32 noundef %30641, ptr noundef @.str.4)
  %30643 = call ptr @__errno_location() #12
  %30644 = load i32, ptr %30643, align 4, !tbaa !5
  %30645 = call ptr @strerror(i32 noundef %30644) #11
  %30646 = call ptr @__errno_location() #12
  %30647 = load i32, ptr %30646, align 4, !tbaa !5
  %30648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30635, ptr noundef @.str.5, i32 noundef %30636, ptr noundef @.str.247, ptr noundef @.str.1, i32 noundef 1179, ptr noundef %30639, ptr noundef %30642, ptr noundef %30645, i32 noundef %30647) #11
  br label %30649

30649:                                            ; preds = %30632, %30615
  call void @llvm.lifetime.end.p0(i64 4, ptr %673) #11
  br label %30650

30650:                                            ; preds = %30649
  br label %30651

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

30652:                                            ; No predecessors!
  br label %30653

30653:                                            ; preds = %30652
  br label %30654

30654:                                            ; preds = %30653, %30590
  br label %30655

30655:                                            ; preds = %30654
  br label %30656

30656:                                            ; preds = %30655
  %30657 = getelementptr inbounds %struct.s2n_security_policy, ptr %664, i32 0, i32 7
  store i8 1, ptr %30657, align 8, !tbaa !95
  br label %30658

30658:                                            ; preds = %30656
  br label %30659

30659:                                            ; preds = %30658
  br label %30660

30660:                                            ; preds = %30659
  %30661 = load i32, ptr @test_count, align 4, !tbaa !5
  %30662 = add nsw i32 %30661, 1
  store i32 %30662, ptr @test_count, align 4, !tbaa !5
  %30663 = load ptr, ptr %669, align 8, !tbaa !9
  %30664 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %30663, ptr noundef %664)
  %30665 = getelementptr inbounds %struct.s2n_result, ptr %674, i32 0, i32 0
  store i32 %30664, ptr %30665, align 4
  %30666 = getelementptr inbounds %struct.s2n_result, ptr %674, i32 0, i32 0
  %30667 = load i32, ptr %30666, align 4
  %30668 = call zeroext i1 @s2n_result_is_error(i32 %30667)
  br i1 %30668, label %30722, label %30669

30669:                                            ; preds = %30660
  br label %30670

30670:                                            ; preds = %30669
  br label %30671

30671:                                            ; preds = %30670
  call void @llvm.lifetime.start.p0(i64 4, ptr %675) #11
  %30672 = call ptr @__errno_location() #12
  %30673 = load i32, ptr %30672, align 4, !tbaa !5
  store i32 %30673, ptr %675, align 4, !tbaa !5
  %30674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30675 = call i32 @s2n_print_stacktrace(ptr noundef %30674)
  %30676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30677 = trunc i8 %30676 to i1
  br i1 %30677, label %30678, label %30700

30678:                                            ; preds = %30671
  %30679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30680 = call i32 @fileno(ptr noundef %30679) #11
  %30681 = call i32 @isatty(i32 noundef %30680) #11
  %30682 = icmp ne i32 %30681, 0
  br i1 %30682, label %30683, label %30700

30683:                                            ; preds = %30678
  %30684 = load i32, ptr %675, align 4, !tbaa !5
  %30685 = call ptr @__errno_location() #12
  store i32 %30684, ptr %30685, align 4, !tbaa !5
  %30686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30687 = load i32, ptr @test_count, align 4, !tbaa !5
  %30688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30689 = load i32, ptr %30688, align 4, !tbaa !5
  %30690 = call ptr @s2n_strerror(i32 noundef %30689, ptr noundef @.str.4)
  %30691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30692 = load i32, ptr %30691, align 4, !tbaa !5
  %30693 = call ptr @s2n_strerror_debug(i32 noundef %30692, ptr noundef @.str.4)
  %30694 = call ptr @__errno_location() #12
  %30695 = load i32, ptr %30694, align 4, !tbaa !5
  %30696 = call ptr @strerror(i32 noundef %30695) #11
  %30697 = call ptr @__errno_location() #12
  %30698 = load i32, ptr %30697, align 4, !tbaa !5
  %30699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30686, ptr noundef @.str.2, i32 noundef %30687, ptr noundef @.str.248, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %30690, ptr noundef %30693, ptr noundef %30696, i32 noundef %30698) #11
  br label %30717

30700:                                            ; preds = %30678, %30671
  %30701 = load i32, ptr %675, align 4, !tbaa !5
  %30702 = call ptr @__errno_location() #12
  store i32 %30701, ptr %30702, align 4, !tbaa !5
  %30703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30704 = load i32, ptr @test_count, align 4, !tbaa !5
  %30705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30706 = load i32, ptr %30705, align 4, !tbaa !5
  %30707 = call ptr @s2n_strerror(i32 noundef %30706, ptr noundef @.str.4)
  %30708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30709 = load i32, ptr %30708, align 4, !tbaa !5
  %30710 = call ptr @s2n_strerror_debug(i32 noundef %30709, ptr noundef @.str.4)
  %30711 = call ptr @__errno_location() #12
  %30712 = load i32, ptr %30711, align 4, !tbaa !5
  %30713 = call ptr @strerror(i32 noundef %30712) #11
  %30714 = call ptr @__errno_location() #12
  %30715 = load i32, ptr %30714, align 4, !tbaa !5
  %30716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30703, ptr noundef @.str.5, i32 noundef %30704, ptr noundef @.str.248, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %30707, ptr noundef %30710, ptr noundef %30713, i32 noundef %30715) #11
  br label %30717

30717:                                            ; preds = %30700, %30683
  call void @llvm.lifetime.end.p0(i64 4, ptr %675) #11
  br label %30718

30718:                                            ; preds = %30717
  br label %30719

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

30720:                                            ; No predecessors!
  br label %30721

30721:                                            ; preds = %30720
  br label %30722

30722:                                            ; preds = %30721, %30660
  br label %30723

30723:                                            ; preds = %30722
  br label %30724

30724:                                            ; preds = %30723
  br label %30725

30725:                                            ; preds = %30724
  %30726 = load i32, ptr @test_count, align 4, !tbaa !5
  %30727 = add nsw i32 %30726, 1
  store i32 %30727, ptr @test_count, align 4, !tbaa !5
  %30728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30729 = load i32, ptr %30728, align 4, !tbaa !5
  %30730 = icmp eq i32 %30729, 402653227
  br i1 %30730, label %30784, label %30731

30731:                                            ; preds = %30725
  br label %30732

30732:                                            ; preds = %30731
  br label %30733

30733:                                            ; preds = %30732
  call void @llvm.lifetime.start.p0(i64 4, ptr %676) #11
  %30734 = call ptr @__errno_location() #12
  %30735 = load i32, ptr %30734, align 4, !tbaa !5
  store i32 %30735, ptr %676, align 4, !tbaa !5
  %30736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30737 = call i32 @s2n_print_stacktrace(ptr noundef %30736)
  %30738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30739 = trunc i8 %30738 to i1
  br i1 %30739, label %30740, label %30762

30740:                                            ; preds = %30733
  %30741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30742 = call i32 @fileno(ptr noundef %30741) #11
  %30743 = call i32 @isatty(i32 noundef %30742) #11
  %30744 = icmp ne i32 %30743, 0
  br i1 %30744, label %30745, label %30762

30745:                                            ; preds = %30740
  %30746 = load i32, ptr %676, align 4, !tbaa !5
  %30747 = call ptr @__errno_location() #12
  store i32 %30746, ptr %30747, align 4, !tbaa !5
  %30748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30749 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30751, ptr noundef @.str.4)
  %30753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30754 = load i32, ptr %30753, align 4, !tbaa !5
  %30755 = call ptr @s2n_strerror_debug(i32 noundef %30754, ptr noundef @.str.4)
  %30756 = call ptr @__errno_location() #12
  %30757 = load i32, ptr %30756, align 4, !tbaa !5
  %30758 = call ptr @strerror(i32 noundef %30757) #11
  %30759 = call ptr @__errno_location() #12
  %30760 = load i32, ptr %30759, align 4, !tbaa !5
  %30761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30748, ptr noundef @.str.2, i32 noundef %30749, ptr noundef @.str.249, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %30752, ptr noundef %30755, ptr noundef %30758, i32 noundef %30760) #11
  br label %30779

30762:                                            ; preds = %30740, %30733
  %30763 = load i32, ptr %676, align 4, !tbaa !5
  %30764 = call ptr @__errno_location() #12
  store i32 %30763, ptr %30764, align 4, !tbaa !5
  %30765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30766 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %30768, ptr noundef @.str.4)
  %30770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30771 = load i32, ptr %30770, align 4, !tbaa !5
  %30772 = call ptr @s2n_strerror_debug(i32 noundef %30771, ptr noundef @.str.4)
  %30773 = call ptr @__errno_location() #12
  %30774 = load i32, ptr %30773, align 4, !tbaa !5
  %30775 = call ptr @strerror(i32 noundef %30774) #11
  %30776 = call ptr @__errno_location() #12
  %30777 = load i32, ptr %30776, align 4, !tbaa !5
  %30778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30765, ptr noundef @.str.5, i32 noundef %30766, ptr noundef @.str.249, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %30769, ptr noundef %30772, ptr noundef %30775, i32 noundef %30777) #11
  br label %30779

30779:                                            ; preds = %30762, %30745
  call void @llvm.lifetime.end.p0(i64 4, ptr %676) #11
  br label %30780

30780:                                            ; preds = %30779
  br label %30781

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

30782:                                            ; No predecessors!
  br label %30783

30783:                                            ; preds = %30782
  br label %30784

30784:                                            ; preds = %30783, %30725
  br label %30785

30785:                                            ; preds = %30784
  br label %30786

30786:                                            ; preds = %30785
  br label %30787

30787:                                            ; preds = %30786
  %30788 = load i32, ptr @test_count, align 4, !tbaa !5
  %30789 = add nsw i32 %30788, 1
  store i32 %30789, ptr @test_count, align 4, !tbaa !5
  %30790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30791 = load i32, ptr %30790, align 4, !tbaa !5
  %30792 = call ptr @s2n_strerror_debug(i32 noundef %30791, ptr noundef @.str.4)
  %30793 = icmp eq ptr %30792, null
  br i1 %30793, label %30794, label %30847

30794:                                            ; preds = %30787
  br label %30795

30795:                                            ; preds = %30794
  br label %30796

30796:                                            ; preds = %30795
  call void @llvm.lifetime.start.p0(i64 4, ptr %677) #11
  %30797 = call ptr @__errno_location() #12
  %30798 = load i32, ptr %30797, align 4, !tbaa !5
  store i32 %30798, ptr %677, align 4, !tbaa !5
  %30799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30800 = call i32 @s2n_print_stacktrace(ptr noundef %30799)
  %30801 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30802 = trunc i8 %30801 to i1
  br i1 %30802, label %30803, label %30825

30803:                                            ; preds = %30796
  %30804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30805 = call i32 @fileno(ptr noundef %30804) #11
  %30806 = call i32 @isatty(i32 noundef %30805) #11
  %30807 = icmp ne i32 %30806, 0
  br i1 %30807, label %30808, label %30825

30808:                                            ; preds = %30803
  %30809 = load i32, ptr %677, align 4, !tbaa !5
  %30810 = call ptr @__errno_location() #12
  store i32 %30809, ptr %30810, align 4, !tbaa !5
  %30811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30812 = load i32, ptr @test_count, align 4, !tbaa !5
  %30813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30814 = load i32, ptr %30813, align 4, !tbaa !5
  %30815 = call ptr @s2n_strerror(i32 noundef %30814, ptr noundef @.str.4)
  %30816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30817 = load i32, ptr %30816, align 4, !tbaa !5
  %30818 = call ptr @s2n_strerror_debug(i32 noundef %30817, ptr noundef @.str.4)
  %30819 = call ptr @__errno_location() #12
  %30820 = load i32, ptr %30819, align 4, !tbaa !5
  %30821 = call ptr @strerror(i32 noundef %30820) #11
  %30822 = call ptr @__errno_location() #12
  %30823 = load i32, ptr %30822, align 4, !tbaa !5
  %30824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30811, ptr noundef @.str.2, i32 noundef %30812, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %30815, ptr noundef %30818, ptr noundef %30821, i32 noundef %30823) #11
  br label %30842

30825:                                            ; preds = %30803, %30796
  %30826 = load i32, ptr %677, align 4, !tbaa !5
  %30827 = call ptr @__errno_location() #12
  store i32 %30826, ptr %30827, align 4, !tbaa !5
  %30828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30829 = load i32, ptr @test_count, align 4, !tbaa !5
  %30830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30831 = load i32, ptr %30830, align 4, !tbaa !5
  %30832 = call ptr @s2n_strerror(i32 noundef %30831, ptr noundef @.str.4)
  %30833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30834 = load i32, ptr %30833, align 4, !tbaa !5
  %30835 = call ptr @s2n_strerror_debug(i32 noundef %30834, ptr noundef @.str.4)
  %30836 = call ptr @__errno_location() #12
  %30837 = load i32, ptr %30836, align 4, !tbaa !5
  %30838 = call ptr @strerror(i32 noundef %30837) #11
  %30839 = call ptr @__errno_location() #12
  %30840 = load i32, ptr %30839, align 4, !tbaa !5
  %30841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30828, ptr noundef @.str.5, i32 noundef %30829, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1185, ptr noundef %30832, ptr noundef %30835, ptr noundef %30838, i32 noundef %30840) #11
  br label %30842

30842:                                            ; preds = %30825, %30808
  call void @llvm.lifetime.end.p0(i64 4, ptr %677) #11
  br label %30843

30843:                                            ; preds = %30842
  br label %30844

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

30845:                                            ; No predecessors!
  br label %30846

30846:                                            ; preds = %30845
  br label %30847

30847:                                            ; preds = %30846, %30787
  br label %30848

30848:                                            ; preds = %30847
  br label %30849

30849:                                            ; preds = %30848
  br label %30850

30850:                                            ; preds = %30849
  br label %30851

30851:                                            ; preds = %30850
  br label %30852

30852:                                            ; preds = %30851
  %30853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %30853, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %30854 = call ptr @__errno_location() #12
  store i32 0, ptr %30854, align 4, !tbaa !5
  br label %30855

30855:                                            ; preds = %30852
  br label %30856

30856:                                            ; preds = %30855
  br label %30857

30857:                                            ; preds = %30856
  br label %30858

30858:                                            ; preds = %30857
  %30859 = getelementptr inbounds %struct.s2n_security_policy, ptr %664, i32 0, i32 7
  store i8 0, ptr %30859, align 8, !tbaa !95
  br label %30860

30860:                                            ; preds = %30858
  %30861 = load i32, ptr @test_count, align 4, !tbaa !5
  %30862 = add nsw i32 %30861, 1
  store i32 %30862, ptr @test_count, align 4, !tbaa !5
  %30863 = load ptr, ptr %669, align 8, !tbaa !9
  %30864 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %30863, ptr noundef %664)
  %30865 = getelementptr inbounds %struct.s2n_result, ptr %678, i32 0, i32 0
  store i32 %30864, ptr %30865, align 4
  %30866 = getelementptr inbounds %struct.s2n_result, ptr %678, i32 0, i32 0
  %30867 = load i32, ptr %30866, align 4
  %30868 = call zeroext i1 @s2n_result_is_ok(i32 %30867)
  br i1 %30868, label %30922, label %30869

30869:                                            ; preds = %30860
  br label %30870

30870:                                            ; preds = %30869
  br label %30871

30871:                                            ; preds = %30870
  call void @llvm.lifetime.start.p0(i64 4, ptr %679) #11
  %30872 = call ptr @__errno_location() #12
  %30873 = load i32, ptr %30872, align 4, !tbaa !5
  store i32 %30873, ptr %679, align 4, !tbaa !5
  %30874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30875 = call i32 @s2n_print_stacktrace(ptr noundef %30874)
  %30876 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30877 = trunc i8 %30876 to i1
  br i1 %30877, label %30878, label %30900

30878:                                            ; preds = %30871
  %30879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30880 = call i32 @fileno(ptr noundef %30879) #11
  %30881 = call i32 @isatty(i32 noundef %30880) #11
  %30882 = icmp ne i32 %30881, 0
  br i1 %30882, label %30883, label %30900

30883:                                            ; preds = %30878
  %30884 = load i32, ptr %679, align 4, !tbaa !5
  %30885 = call ptr @__errno_location() #12
  store i32 %30884, ptr %30885, align 4, !tbaa !5
  %30886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30887 = load i32, ptr @test_count, align 4, !tbaa !5
  %30888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30889 = load i32, ptr %30888, align 4, !tbaa !5
  %30890 = call ptr @s2n_strerror(i32 noundef %30889, ptr noundef @.str.4)
  %30891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30892 = load i32, ptr %30891, align 4, !tbaa !5
  %30893 = call ptr @s2n_strerror_debug(i32 noundef %30892, ptr noundef @.str.4)
  %30894 = call ptr @__errno_location() #12
  %30895 = load i32, ptr %30894, align 4, !tbaa !5
  %30896 = call ptr @strerror(i32 noundef %30895) #11
  %30897 = call ptr @__errno_location() #12
  %30898 = load i32, ptr %30897, align 4, !tbaa !5
  %30899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30886, ptr noundef @.str.2, i32 noundef %30887, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 1189, ptr noundef %30890, ptr noundef %30893, ptr noundef %30896, i32 noundef %30898) #11
  br label %30917

30900:                                            ; preds = %30878, %30871
  %30901 = load i32, ptr %679, align 4, !tbaa !5
  %30902 = call ptr @__errno_location() #12
  store i32 %30901, ptr %30902, align 4, !tbaa !5
  %30903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30904 = load i32, ptr @test_count, align 4, !tbaa !5
  %30905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30906 = load i32, ptr %30905, align 4, !tbaa !5
  %30907 = call ptr @s2n_strerror(i32 noundef %30906, ptr noundef @.str.4)
  %30908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30909 = load i32, ptr %30908, align 4, !tbaa !5
  %30910 = call ptr @s2n_strerror_debug(i32 noundef %30909, ptr noundef @.str.4)
  %30911 = call ptr @__errno_location() #12
  %30912 = load i32, ptr %30911, align 4, !tbaa !5
  %30913 = call ptr @strerror(i32 noundef %30912) #11
  %30914 = call ptr @__errno_location() #12
  %30915 = load i32, ptr %30914, align 4, !tbaa !5
  %30916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30903, ptr noundef @.str.5, i32 noundef %30904, ptr noundef @.str.235, ptr noundef @.str.1, i32 noundef 1189, ptr noundef %30907, ptr noundef %30910, ptr noundef %30913, i32 noundef %30915) #11
  br label %30917

30917:                                            ; preds = %30900, %30883
  call void @llvm.lifetime.end.p0(i64 4, ptr %679) #11
  br label %30918

30918:                                            ; preds = %30917
  br label %30919

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

30920:                                            ; No predecessors!
  br label %30921

30921:                                            ; preds = %30920
  br label %30922

30922:                                            ; preds = %30921, %30860
  br label %30923

30923:                                            ; preds = %30922
  br label %30924

30924:                                            ; preds = %30923
  %30925 = call i32 @s2n_config_ptr_free(ptr noundef %669)
  %30926 = getelementptr inbounds %struct.s2n_result, ptr %680, i32 0, i32 0
  store i32 %30925, ptr %30926, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %669) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %664) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %633) #11
  %30927 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %630)
  %30928 = getelementptr inbounds %struct.s2n_result, ptr %681, i32 0, i32 0
  store i32 %30927, ptr %30928, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %630) #11
  %30929 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef %629)
  %30930 = getelementptr inbounds %struct.s2n_result, ptr %682, i32 0, i32 0
  store i32 %30929, ptr %30930, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %629) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %683) #11
  %30931 = call ptr @s2n_config_new()
  store ptr %30931, ptr %683, align 8, !tbaa !9
  br label %30932

30932:                                            ; preds = %30924
  %30933 = load i32, ptr @test_count, align 4, !tbaa !5
  %30934 = add nsw i32 %30933, 1
  store i32 %30934, ptr @test_count, align 4, !tbaa !5
  %30935 = load ptr, ptr %683, align 8, !tbaa !9
  %30936 = icmp eq ptr %30935, null
  br i1 %30936, label %30937, label %30990

30937:                                            ; preds = %30932
  br label %30938

30938:                                            ; preds = %30937
  br label %30939

30939:                                            ; preds = %30938
  call void @llvm.lifetime.start.p0(i64 4, ptr %684) #11
  %30940 = call ptr @__errno_location() #12
  %30941 = load i32, ptr %30940, align 4, !tbaa !5
  store i32 %30941, ptr %684, align 4, !tbaa !5
  %30942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30943 = call i32 @s2n_print_stacktrace(ptr noundef %30942)
  %30944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30945 = trunc i8 %30944 to i1
  br i1 %30945, label %30946, label %30968

30946:                                            ; preds = %30939
  %30947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30948 = call i32 @fileno(ptr noundef %30947) #11
  %30949 = call i32 @isatty(i32 noundef %30948) #11
  %30950 = icmp ne i32 %30949, 0
  br i1 %30950, label %30951, label %30968

30951:                                            ; preds = %30946
  %30952 = load i32, ptr %684, 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.4)
  %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.4)
  %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.2, i32 noundef %30955, ptr noundef @.str.250, ptr noundef @.str.1, i32 noundef 1200, ptr noundef %30958, ptr noundef %30961, ptr noundef %30964, i32 noundef %30966) #11
  br label %30985

30968:                                            ; preds = %30946, %30939
  %30969 = load i32, ptr %684, align 4, !tbaa !5
  %30970 = call ptr @__errno_location() #12
  store i32 %30969, ptr %30970, align 4, !tbaa !5
  %30971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30972 = load i32, ptr @test_count, align 4, !tbaa !5
  %30973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30974 = load i32, ptr %30973, align 4, !tbaa !5
  %30975 = call ptr @s2n_strerror(i32 noundef %30974, ptr noundef @.str.4)
  %30976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30977 = load i32, ptr %30976, align 4, !tbaa !5
  %30978 = call ptr @s2n_strerror_debug(i32 noundef %30977, ptr noundef @.str.4)
  %30979 = call ptr @__errno_location() #12
  %30980 = load i32, ptr %30979, align 4, !tbaa !5
  %30981 = call ptr @strerror(i32 noundef %30980) #11
  %30982 = call ptr @__errno_location() #12
  %30983 = load i32, ptr %30982, align 4, !tbaa !5
  %30984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30971, ptr noundef @.str.5, i32 noundef %30972, ptr noundef @.str.250, ptr noundef @.str.1, i32 noundef 1200, ptr noundef %30975, ptr noundef %30978, ptr noundef %30981, i32 noundef %30983) #11
  br label %30985

30985:                                            ; preds = %30968, %30951
  call void @llvm.lifetime.end.p0(i64 4, ptr %684) #11
  br label %30986

30986:                                            ; preds = %30985
  br label %30987

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

30988:                                            ; No predecessors!
  br label %30989

30989:                                            ; preds = %30988
  br label %30990

30990:                                            ; preds = %30989, %30932
  br label %30991

30991:                                            ; preds = %30990
  br label %30992

30992:                                            ; preds = %30991
  br label %30993

30993:                                            ; preds = %30992
  %30994 = load i32, ptr @test_count, align 4, !tbaa !5
  %30995 = add nsw i32 %30994, 1
  store i32 %30995, ptr @test_count, align 4, !tbaa !5
  %30996 = load ptr, ptr %683, align 8, !tbaa !9
  %30997 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %30996, ptr noundef @.str.251)
  %30998 = icmp eq i32 %30997, -1
  br i1 %30998, label %30999, label %31052

30999:                                            ; preds = %30993
  br label %31000

31000:                                            ; preds = %30999
  br label %31001

31001:                                            ; preds = %31000
  call void @llvm.lifetime.start.p0(i64 4, ptr %685) #11
  %31002 = call ptr @__errno_location() #12
  %31003 = load i32, ptr %31002, align 4, !tbaa !5
  store i32 %31003, ptr %685, align 4, !tbaa !5
  %31004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31005 = call i32 @s2n_print_stacktrace(ptr noundef %31004)
  %31006 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31007 = trunc i8 %31006 to i1
  br i1 %31007, label %31008, label %31030

31008:                                            ; preds = %31001
  %31009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31010 = call i32 @fileno(ptr noundef %31009) #11
  %31011 = call i32 @isatty(i32 noundef %31010) #11
  %31012 = icmp ne i32 %31011, 0
  br i1 %31012, label %31013, label %31030

31013:                                            ; preds = %31008
  %31014 = load i32, ptr %685, align 4, !tbaa !5
  %31015 = call ptr @__errno_location() #12
  store i32 %31014, ptr %31015, align 4, !tbaa !5
  %31016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31017 = load i32, ptr @test_count, align 4, !tbaa !5
  %31018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31019 = load i32, ptr %31018, align 4, !tbaa !5
  %31020 = call ptr @s2n_strerror(i32 noundef %31019, ptr noundef @.str.4)
  %31021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31022 = load i32, ptr %31021, align 4, !tbaa !5
  %31023 = call ptr @s2n_strerror_debug(i32 noundef %31022, ptr noundef @.str.4)
  %31024 = call ptr @__errno_location() #12
  %31025 = load i32, ptr %31024, align 4, !tbaa !5
  %31026 = call ptr @strerror(i32 noundef %31025) #11
  %31027 = call ptr @__errno_location() #12
  %31028 = load i32, ptr %31027, align 4, !tbaa !5
  %31029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31016, ptr noundef @.str.2, i32 noundef %31017, ptr noundef @.str.252, ptr noundef @.str.1, i32 noundef 1202, ptr noundef %31020, ptr noundef %31023, ptr noundef %31026, i32 noundef %31028) #11
  br label %31047

31030:                                            ; preds = %31008, %31001
  %31031 = load i32, ptr %685, align 4, !tbaa !5
  %31032 = call ptr @__errno_location() #12
  store i32 %31031, ptr %31032, align 4, !tbaa !5
  %31033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31034 = load i32, ptr @test_count, align 4, !tbaa !5
  %31035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31036 = load i32, ptr %31035, align 4, !tbaa !5
  %31037 = call ptr @s2n_strerror(i32 noundef %31036, ptr noundef @.str.4)
  %31038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31039 = load i32, ptr %31038, align 4, !tbaa !5
  %31040 = call ptr @s2n_strerror_debug(i32 noundef %31039, ptr noundef @.str.4)
  %31041 = call ptr @__errno_location() #12
  %31042 = load i32, ptr %31041, align 4, !tbaa !5
  %31043 = call ptr @strerror(i32 noundef %31042) #11
  %31044 = call ptr @__errno_location() #12
  %31045 = load i32, ptr %31044, align 4, !tbaa !5
  %31046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31033, ptr noundef @.str.5, i32 noundef %31034, ptr noundef @.str.252, ptr noundef @.str.1, i32 noundef 1202, ptr noundef %31037, ptr noundef %31040, ptr noundef %31043, i32 noundef %31045) #11
  br label %31047

31047:                                            ; preds = %31030, %31013
  call void @llvm.lifetime.end.p0(i64 4, ptr %685) #11
  br label %31048

31048:                                            ; preds = %31047
  br label %31049

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

31050:                                            ; No predecessors!
  br label %31051

31051:                                            ; preds = %31050
  br label %31052

31052:                                            ; preds = %31051, %30993
  br label %31053

31053:                                            ; preds = %31052
  br label %31054

31054:                                            ; preds = %31053
  call void @llvm.lifetime.start.p0(i64 8, ptr %686) #11
  %31055 = call ptr @s2n_config_new()
  store ptr %31055, ptr %686, align 8, !tbaa !9
  br label %31056

31056:                                            ; preds = %31054
  %31057 = load i32, ptr @test_count, align 4, !tbaa !5
  %31058 = add nsw i32 %31057, 1
  store i32 %31058, ptr @test_count, align 4, !tbaa !5
  %31059 = load ptr, ptr %686, align 8, !tbaa !9
  %31060 = icmp eq ptr %31059, null
  br i1 %31060, label %31061, label %31114

31061:                                            ; preds = %31056
  br label %31062

31062:                                            ; preds = %31061
  br label %31063

31063:                                            ; preds = %31062
  call void @llvm.lifetime.start.p0(i64 4, ptr %687) #11
  %31064 = call ptr @__errno_location() #12
  %31065 = load i32, ptr %31064, align 4, !tbaa !5
  store i32 %31065, ptr %687, align 4, !tbaa !5
  %31066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31067 = call i32 @s2n_print_stacktrace(ptr noundef %31066)
  %31068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31069 = trunc i8 %31068 to i1
  br i1 %31069, label %31070, label %31092

31070:                                            ; preds = %31063
  %31071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31072 = call i32 @fileno(ptr noundef %31071) #11
  %31073 = call i32 @isatty(i32 noundef %31072) #11
  %31074 = icmp ne i32 %31073, 0
  br i1 %31074, label %31075, label %31092

31075:                                            ; preds = %31070
  %31076 = load i32, ptr %687, align 4, !tbaa !5
  %31077 = call ptr @__errno_location() #12
  store i32 %31076, ptr %31077, align 4, !tbaa !5
  %31078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31079 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %31081, ptr noundef @.str.4)
  %31083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31084 = load i32, ptr %31083, align 4, !tbaa !5
  %31085 = call ptr @s2n_strerror_debug(i32 noundef %31084, ptr noundef @.str.4)
  %31086 = call ptr @__errno_location() #12
  %31087 = load i32, ptr %31086, align 4, !tbaa !5
  %31088 = call ptr @strerror(i32 noundef %31087) #11
  %31089 = call ptr @__errno_location() #12
  %31090 = load i32, ptr %31089, align 4, !tbaa !5
  %31091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31078, ptr noundef @.str.2, i32 noundef %31079, ptr noundef @.str.253, ptr noundef @.str.1, i32 noundef 1205, ptr noundef %31082, ptr noundef %31085, ptr noundef %31088, i32 noundef %31090) #11
  br label %31109

31092:                                            ; preds = %31070, %31063
  %31093 = load i32, ptr %687, align 4, !tbaa !5
  %31094 = call ptr @__errno_location() #12
  store i32 %31093, ptr %31094, align 4, !tbaa !5
  %31095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31096 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %31098, ptr noundef @.str.4)
  %31100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31101 = load i32, ptr %31100, align 4, !tbaa !5
  %31102 = call ptr @s2n_strerror_debug(i32 noundef %31101, ptr noundef @.str.4)
  %31103 = call ptr @__errno_location() #12
  %31104 = load i32, ptr %31103, align 4, !tbaa !5
  %31105 = call ptr @strerror(i32 noundef %31104) #11
  %31106 = call ptr @__errno_location() #12
  %31107 = load i32, ptr %31106, align 4, !tbaa !5
  %31108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31095, ptr noundef @.str.5, i32 noundef %31096, ptr noundef @.str.253, ptr noundef @.str.1, i32 noundef 1205, ptr noundef %31099, ptr noundef %31102, ptr noundef %31105, i32 noundef %31107) #11
  br label %31109

31109:                                            ; preds = %31092, %31075
  call void @llvm.lifetime.end.p0(i64 4, ptr %687) #11
  br label %31110

31110:                                            ; preds = %31109
  br label %31111

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

31112:                                            ; No predecessors!
  br label %31113

31113:                                            ; preds = %31112
  br label %31114

31114:                                            ; preds = %31113, %31056
  br label %31115

31115:                                            ; preds = %31114
  br label %31116

31116:                                            ; preds = %31115
  br label %31117

31117:                                            ; preds = %31116
  %31118 = load i32, ptr @test_count, align 4, !tbaa !5
  %31119 = add nsw i32 %31118, 1
  store i32 %31119, ptr @test_count, align 4, !tbaa !5
  %31120 = load ptr, ptr %686, align 8, !tbaa !9
  %31121 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %31120, ptr noundef @.str.254)
  %31122 = icmp eq i32 %31121, -1
  br i1 %31122, label %31123, label %31176

31123:                                            ; preds = %31117
  br label %31124

31124:                                            ; preds = %31123
  br label %31125

31125:                                            ; preds = %31124
  call void @llvm.lifetime.start.p0(i64 4, ptr %688) #11
  %31126 = call ptr @__errno_location() #12
  %31127 = load i32, ptr %31126, align 4, !tbaa !5
  store i32 %31127, ptr %688, align 4, !tbaa !5
  %31128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31129 = call i32 @s2n_print_stacktrace(ptr noundef %31128)
  %31130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31131 = trunc i8 %31130 to i1
  br i1 %31131, label %31132, label %31154

31132:                                            ; preds = %31125
  %31133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31134 = call i32 @fileno(ptr noundef %31133) #11
  %31135 = call i32 @isatty(i32 noundef %31134) #11
  %31136 = icmp ne i32 %31135, 0
  br i1 %31136, label %31137, label %31154

31137:                                            ; preds = %31132
  %31138 = load i32, ptr %688, align 4, !tbaa !5
  %31139 = call ptr @__errno_location() #12
  store i32 %31138, ptr %31139, align 4, !tbaa !5
  %31140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31141 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %31143, ptr noundef @.str.4)
  %31145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31146 = load i32, ptr %31145, align 4, !tbaa !5
  %31147 = call ptr @s2n_strerror_debug(i32 noundef %31146, ptr noundef @.str.4)
  %31148 = call ptr @__errno_location() #12
  %31149 = load i32, ptr %31148, align 4, !tbaa !5
  %31150 = call ptr @strerror(i32 noundef %31149) #11
  %31151 = call ptr @__errno_location() #12
  %31152 = load i32, ptr %31151, align 4, !tbaa !5
  %31153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31140, ptr noundef @.str.2, i32 noundef %31141, ptr noundef @.str.255, ptr noundef @.str.1, i32 noundef 1207, ptr noundef %31144, ptr noundef %31147, ptr noundef %31150, i32 noundef %31152) #11
  br label %31171

31154:                                            ; preds = %31132, %31125
  %31155 = load i32, ptr %688, align 4, !tbaa !5
  %31156 = call ptr @__errno_location() #12
  store i32 %31155, ptr %31156, align 4, !tbaa !5
  %31157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31158 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %31160, ptr noundef @.str.4)
  %31162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31163 = load i32, ptr %31162, align 4, !tbaa !5
  %31164 = call ptr @s2n_strerror_debug(i32 noundef %31163, ptr noundef @.str.4)
  %31165 = call ptr @__errno_location() #12
  %31166 = load i32, ptr %31165, align 4, !tbaa !5
  %31167 = call ptr @strerror(i32 noundef %31166) #11
  %31168 = call ptr @__errno_location() #12
  %31169 = load i32, ptr %31168, align 4, !tbaa !5
  %31170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31157, ptr noundef @.str.5, i32 noundef %31158, ptr noundef @.str.255, ptr noundef @.str.1, i32 noundef 1207, ptr noundef %31161, ptr noundef %31164, ptr noundef %31167, i32 noundef %31169) #11
  br label %31171

31171:                                            ; preds = %31154, %31137
  call void @llvm.lifetime.end.p0(i64 4, ptr %688) #11
  br label %31172

31172:                                            ; preds = %31171
  br label %31173

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

31174:                                            ; No predecessors!
  br label %31175

31175:                                            ; preds = %31174
  br label %31176

31176:                                            ; preds = %31175, %31117
  br label %31177

31177:                                            ; preds = %31176
  br label %31178

31178:                                            ; preds = %31177
  call void @llvm.lifetime.start.p0(i64 16, ptr %689) #11
  %31179 = load ptr, ptr %683, align 8, !tbaa !9
  store ptr %31179, ptr %689, align 8, !tbaa !9
  %31180 = getelementptr inbounds ptr, ptr %689, i64 1
  %31181 = load ptr, ptr %686, align 8, !tbaa !9
  store ptr %31181, ptr %31180, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %690) #11
  store i64 0, ptr %690, align 8, !tbaa !66
  br label %31182

31182:                                            ; preds = %31713, %31178
  %31183 = load i64, ptr %690, align 8, !tbaa !66
  %31184 = icmp ult i64 %31183, 2
  br i1 %31184, label %31186, label %31185

31185:                                            ; preds = %31182
  store i32 3067, ptr %352, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %690) #11
  br label %31716

31186:                                            ; preds = %31182
  call void @llvm.lifetime.start.p0(i64 8, ptr %691) #11
  %31187 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %31187, ptr %691, align 8, !tbaa !9
  br label %31188

31188:                                            ; preds = %31186
  %31189 = load i32, ptr @test_count, align 4, !tbaa !5
  %31190 = add nsw i32 %31189, 1
  store i32 %31190, ptr @test_count, align 4, !tbaa !5
  %31191 = load ptr, ptr %691, align 8, !tbaa !9
  %31192 = icmp eq ptr %31191, null
  br i1 %31192, label %31193, label %31246

31193:                                            ; preds = %31188
  br label %31194

31194:                                            ; preds = %31193
  br label %31195

31195:                                            ; preds = %31194
  call void @llvm.lifetime.start.p0(i64 4, ptr %692) #11
  %31196 = call ptr @__errno_location() #12
  %31197 = load i32, ptr %31196, align 4, !tbaa !5
  store i32 %31197, ptr %692, align 4, !tbaa !5
  %31198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31199 = call i32 @s2n_print_stacktrace(ptr noundef %31198)
  %31200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31201 = trunc i8 %31200 to i1
  br i1 %31201, label %31202, label %31224

31202:                                            ; preds = %31195
  %31203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31204 = call i32 @fileno(ptr noundef %31203) #11
  %31205 = call i32 @isatty(i32 noundef %31204) #11
  %31206 = icmp ne i32 %31205, 0
  br i1 %31206, label %31207, label %31224

31207:                                            ; preds = %31202
  %31208 = load i32, ptr %692, align 4, !tbaa !5
  %31209 = call ptr @__errno_location() #12
  store i32 %31208, ptr %31209, align 4, !tbaa !5
  %31210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31211 = load i32, ptr @test_count, align 4, !tbaa !5
  %31212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31213 = load i32, ptr %31212, align 4, !tbaa !5
  %31214 = call ptr @s2n_strerror(i32 noundef %31213, ptr noundef @.str.4)
  %31215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31216 = load i32, ptr %31215, align 4, !tbaa !5
  %31217 = call ptr @s2n_strerror_debug(i32 noundef %31216, ptr noundef @.str.4)
  %31218 = call ptr @__errno_location() #12
  %31219 = load i32, ptr %31218, align 4, !tbaa !5
  %31220 = call ptr @strerror(i32 noundef %31219) #11
  %31221 = call ptr @__errno_location() #12
  %31222 = load i32, ptr %31221, align 4, !tbaa !5
  %31223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31210, ptr noundef @.str.2, i32 noundef %31211, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 1215, ptr noundef %31214, ptr noundef %31217, ptr noundef %31220, i32 noundef %31222) #11
  br label %31241

31224:                                            ; preds = %31202, %31195
  %31225 = load i32, ptr %692, align 4, !tbaa !5
  %31226 = call ptr @__errno_location() #12
  store i32 %31225, ptr %31226, align 4, !tbaa !5
  %31227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31228 = load i32, ptr @test_count, align 4, !tbaa !5
  %31229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31230 = load i32, ptr %31229, align 4, !tbaa !5
  %31231 = call ptr @s2n_strerror(i32 noundef %31230, ptr noundef @.str.4)
  %31232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31233 = load i32, ptr %31232, align 4, !tbaa !5
  %31234 = call ptr @s2n_strerror_debug(i32 noundef %31233, ptr noundef @.str.4)
  %31235 = call ptr @__errno_location() #12
  %31236 = load i32, ptr %31235, align 4, !tbaa !5
  %31237 = call ptr @strerror(i32 noundef %31236) #11
  %31238 = call ptr @__errno_location() #12
  %31239 = load i32, ptr %31238, align 4, !tbaa !5
  %31240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31227, ptr noundef @.str.5, i32 noundef %31228, ptr noundef @.str.187, ptr noundef @.str.1, i32 noundef 1215, ptr noundef %31231, ptr noundef %31234, ptr noundef %31237, i32 noundef %31239) #11
  br label %31241

31241:                                            ; preds = %31224, %31207
  call void @llvm.lifetime.end.p0(i64 4, ptr %692) #11
  br label %31242

31242:                                            ; preds = %31241
  br label %31243

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

31244:                                            ; No predecessors!
  br label %31245

31245:                                            ; preds = %31244
  br label %31246

31246:                                            ; preds = %31245, %31188
  br label %31247

31247:                                            ; preds = %31246
  br label %31248

31248:                                            ; preds = %31247
  call void @llvm.lifetime.start.p0(i64 8, ptr %693) #11
  %31249 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %31249, ptr %693, align 8, !tbaa !9
  br label %31250

31250:                                            ; preds = %31248
  %31251 = load i32, ptr @test_count, align 4, !tbaa !5
  %31252 = add nsw i32 %31251, 1
  store i32 %31252, ptr @test_count, align 4, !tbaa !5
  %31253 = load ptr, ptr %693, align 8, !tbaa !9
  %31254 = icmp eq ptr %31253, null
  br i1 %31254, label %31255, label %31308

31255:                                            ; preds = %31250
  br label %31256

31256:                                            ; preds = %31255
  br label %31257

31257:                                            ; preds = %31256
  call void @llvm.lifetime.start.p0(i64 4, ptr %694) #11
  %31258 = call ptr @__errno_location() #12
  %31259 = load i32, ptr %31258, align 4, !tbaa !5
  store i32 %31259, ptr %694, align 4, !tbaa !5
  %31260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31261 = call i32 @s2n_print_stacktrace(ptr noundef %31260)
  %31262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31263 = trunc i8 %31262 to i1
  br i1 %31263, label %31264, label %31286

31264:                                            ; preds = %31257
  %31265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31266 = call i32 @fileno(ptr noundef %31265) #11
  %31267 = call i32 @isatty(i32 noundef %31266) #11
  %31268 = icmp ne i32 %31267, 0
  br i1 %31268, label %31269, label %31286

31269:                                            ; preds = %31264
  %31270 = load i32, ptr %694, align 4, !tbaa !5
  %31271 = call ptr @__errno_location() #12
  store i32 %31270, ptr %31271, align 4, !tbaa !5
  %31272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31273 = load i32, ptr @test_count, align 4, !tbaa !5
  %31274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31275 = load i32, ptr %31274, align 4, !tbaa !5
  %31276 = call ptr @s2n_strerror(i32 noundef %31275, ptr noundef @.str.4)
  %31277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31278 = load i32, ptr %31277, align 4, !tbaa !5
  %31279 = call ptr @s2n_strerror_debug(i32 noundef %31278, ptr noundef @.str.4)
  %31280 = call ptr @__errno_location() #12
  %31281 = load i32, ptr %31280, align 4, !tbaa !5
  %31282 = call ptr @strerror(i32 noundef %31281) #11
  %31283 = call ptr @__errno_location() #12
  %31284 = load i32, ptr %31283, align 4, !tbaa !5
  %31285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31272, ptr noundef @.str.2, i32 noundef %31273, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 1218, ptr noundef %31276, ptr noundef %31279, ptr noundef %31282, i32 noundef %31284) #11
  br label %31303

31286:                                            ; preds = %31264, %31257
  %31287 = load i32, ptr %694, align 4, !tbaa !5
  %31288 = call ptr @__errno_location() #12
  store i32 %31287, ptr %31288, align 4, !tbaa !5
  %31289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31290 = load i32, ptr @test_count, align 4, !tbaa !5
  %31291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31292 = load i32, ptr %31291, align 4, !tbaa !5
  %31293 = call ptr @s2n_strerror(i32 noundef %31292, ptr noundef @.str.4)
  %31294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31295 = load i32, ptr %31294, align 4, !tbaa !5
  %31296 = call ptr @s2n_strerror_debug(i32 noundef %31295, ptr noundef @.str.4)
  %31297 = call ptr @__errno_location() #12
  %31298 = load i32, ptr %31297, align 4, !tbaa !5
  %31299 = call ptr @strerror(i32 noundef %31298) #11
  %31300 = call ptr @__errno_location() #12
  %31301 = load i32, ptr %31300, align 4, !tbaa !5
  %31302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31289, ptr noundef @.str.5, i32 noundef %31290, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 1218, ptr noundef %31293, ptr noundef %31296, ptr noundef %31299, i32 noundef %31301) #11
  br label %31303

31303:                                            ; preds = %31286, %31269
  call void @llvm.lifetime.end.p0(i64 4, ptr %694) #11
  br label %31304

31304:                                            ; preds = %31303
  br label %31305

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

31306:                                            ; No predecessors!
  br label %31307

31307:                                            ; preds = %31306
  br label %31308

31308:                                            ; preds = %31307, %31250
  br label %31309

31309:                                            ; preds = %31308
  br label %31310

31310:                                            ; preds = %31309
  br label %31311

31311:                                            ; preds = %31310
  %31312 = load i32, ptr @test_count, align 4, !tbaa !5
  %31313 = add nsw i32 %31312, 1
  store i32 %31313, ptr @test_count, align 4, !tbaa !5
  %31314 = load ptr, ptr %691, align 8, !tbaa !9
  %31315 = load i64, ptr %690, align 8, !tbaa !66
  %31316 = getelementptr inbounds [2 x ptr], ptr %689, i64 0, i64 %31315
  %31317 = load ptr, ptr %31316, align 8, !tbaa !9
  %31318 = call i32 @s2n_connection_set_config(ptr noundef %31314, ptr noundef %31317)
  %31319 = icmp eq i32 %31318, -1
  br i1 %31319, label %31320, label %31373

31320:                                            ; preds = %31311
  br label %31321

31321:                                            ; preds = %31320
  br label %31322

31322:                                            ; preds = %31321
  call void @llvm.lifetime.start.p0(i64 4, ptr %695) #11
  %31323 = call ptr @__errno_location() #12
  %31324 = load i32, ptr %31323, align 4, !tbaa !5
  store i32 %31324, ptr %695, align 4, !tbaa !5
  %31325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31326 = call i32 @s2n_print_stacktrace(ptr noundef %31325)
  %31327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31328 = trunc i8 %31327 to i1
  br i1 %31328, label %31329, label %31351

31329:                                            ; preds = %31322
  %31330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31331 = call i32 @fileno(ptr noundef %31330) #11
  %31332 = call i32 @isatty(i32 noundef %31331) #11
  %31333 = icmp ne i32 %31332, 0
  br i1 %31333, label %31334, label %31351

31334:                                            ; preds = %31329
  %31335 = load i32, ptr %695, align 4, !tbaa !5
  %31336 = call ptr @__errno_location() #12
  store i32 %31335, ptr %31336, align 4, !tbaa !5
  %31337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31338 = load i32, ptr @test_count, align 4, !tbaa !5
  %31339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31340 = load i32, ptr %31339, align 4, !tbaa !5
  %31341 = call ptr @s2n_strerror(i32 noundef %31340, ptr noundef @.str.4)
  %31342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31343 = load i32, ptr %31342, align 4, !tbaa !5
  %31344 = call ptr @s2n_strerror_debug(i32 noundef %31343, ptr noundef @.str.4)
  %31345 = call ptr @__errno_location() #12
  %31346 = load i32, ptr %31345, align 4, !tbaa !5
  %31347 = call ptr @strerror(i32 noundef %31346) #11
  %31348 = call ptr @__errno_location() #12
  %31349 = load i32, ptr %31348, align 4, !tbaa !5
  %31350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31337, ptr noundef @.str.2, i32 noundef %31338, ptr noundef @.str.256, ptr noundef @.str.1, i32 noundef 1220, ptr noundef %31341, ptr noundef %31344, ptr noundef %31347, i32 noundef %31349) #11
  br label %31368

31351:                                            ; preds = %31329, %31322
  %31352 = load i32, ptr %695, align 4, !tbaa !5
  %31353 = call ptr @__errno_location() #12
  store i32 %31352, ptr %31353, align 4, !tbaa !5
  %31354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31355 = load i32, ptr @test_count, align 4, !tbaa !5
  %31356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31357 = load i32, ptr %31356, align 4, !tbaa !5
  %31358 = call ptr @s2n_strerror(i32 noundef %31357, ptr noundef @.str.4)
  %31359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31360 = load i32, ptr %31359, align 4, !tbaa !5
  %31361 = call ptr @s2n_strerror_debug(i32 noundef %31360, ptr noundef @.str.4)
  %31362 = call ptr @__errno_location() #12
  %31363 = load i32, ptr %31362, align 4, !tbaa !5
  %31364 = call ptr @strerror(i32 noundef %31363) #11
  %31365 = call ptr @__errno_location() #12
  %31366 = load i32, ptr %31365, align 4, !tbaa !5
  %31367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31354, ptr noundef @.str.5, i32 noundef %31355, ptr noundef @.str.256, ptr noundef @.str.1, i32 noundef 1220, ptr noundef %31358, ptr noundef %31361, ptr noundef %31364, i32 noundef %31366) #11
  br label %31368

31368:                                            ; preds = %31351, %31334
  call void @llvm.lifetime.end.p0(i64 4, ptr %695) #11
  br label %31369

31369:                                            ; preds = %31368
  br label %31370

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

31371:                                            ; No predecessors!
  br label %31372

31372:                                            ; preds = %31371
  br label %31373

31373:                                            ; preds = %31372, %31311
  br label %31374

31374:                                            ; preds = %31373
  br label %31375

31375:                                            ; preds = %31374
  %31376 = load ptr, ptr %693, align 8, !tbaa !9
  %31377 = getelementptr inbounds %struct.s2n_connection, ptr %31376, i32 0, i32 1
  store ptr null, ptr %31377, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 80, ptr %696) #11
  call void @llvm.memset.p0.i64(ptr align 8 %696, i8 0, i64 80, i1 false)
  br label %31378

31378:                                            ; preds = %31375
  %31379 = load i32, ptr @test_count, align 4, !tbaa !5
  %31380 = add nsw i32 %31379, 1
  store i32 %31380, ptr @test_count, align 4, !tbaa !5
  %31381 = call i32 @s2n_io_stuffer_pair_init(ptr noundef %696)
  %31382 = getelementptr inbounds %struct.s2n_result, ptr %697, i32 0, i32 0
  store i32 %31381, ptr %31382, align 4
  %31383 = getelementptr inbounds %struct.s2n_result, ptr %697, i32 0, i32 0
  %31384 = load i32, ptr %31383, align 4
  %31385 = call zeroext i1 @s2n_result_is_ok(i32 %31384)
  br i1 %31385, label %31439, label %31386

31386:                                            ; preds = %31378
  br label %31387

31387:                                            ; preds = %31386
  br label %31388

31388:                                            ; preds = %31387
  call void @llvm.lifetime.start.p0(i64 4, ptr %698) #11
  %31389 = call ptr @__errno_location() #12
  %31390 = load i32, ptr %31389, align 4, !tbaa !5
  store i32 %31390, ptr %698, align 4, !tbaa !5
  %31391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31392 = call i32 @s2n_print_stacktrace(ptr noundef %31391)
  %31393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31394 = trunc i8 %31393 to i1
  br i1 %31394, label %31395, label %31417

31395:                                            ; preds = %31388
  %31396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31397 = call i32 @fileno(ptr noundef %31396) #11
  %31398 = call i32 @isatty(i32 noundef %31397) #11
  %31399 = icmp ne i32 %31398, 0
  br i1 %31399, label %31400, label %31417

31400:                                            ; preds = %31395
  %31401 = load i32, ptr %698, align 4, !tbaa !5
  %31402 = call ptr @__errno_location() #12
  store i32 %31401, ptr %31402, align 4, !tbaa !5
  %31403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31404 = load i32, ptr @test_count, align 4, !tbaa !5
  %31405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31406 = load i32, ptr %31405, align 4, !tbaa !5
  %31407 = call ptr @s2n_strerror(i32 noundef %31406, ptr noundef @.str.4)
  %31408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31409 = load i32, ptr %31408, align 4, !tbaa !5
  %31410 = call ptr @s2n_strerror_debug(i32 noundef %31409, ptr noundef @.str.4)
  %31411 = call ptr @__errno_location() #12
  %31412 = load i32, ptr %31411, align 4, !tbaa !5
  %31413 = call ptr @strerror(i32 noundef %31412) #11
  %31414 = call ptr @__errno_location() #12
  %31415 = load i32, ptr %31414, align 4, !tbaa !5
  %31416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31403, ptr noundef @.str.2, i32 noundef %31404, ptr noundef @.str.257, ptr noundef @.str.1, i32 noundef 1227, ptr noundef %31407, ptr noundef %31410, ptr noundef %31413, i32 noundef %31415) #11
  br label %31434

31417:                                            ; preds = %31395, %31388
  %31418 = load i32, ptr %698, align 4, !tbaa !5
  %31419 = call ptr @__errno_location() #12
  store i32 %31418, ptr %31419, align 4, !tbaa !5
  %31420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31421 = load i32, ptr @test_count, align 4, !tbaa !5
  %31422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31423 = load i32, ptr %31422, align 4, !tbaa !5
  %31424 = call ptr @s2n_strerror(i32 noundef %31423, ptr noundef @.str.4)
  %31425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31426 = load i32, ptr %31425, align 4, !tbaa !5
  %31427 = call ptr @s2n_strerror_debug(i32 noundef %31426, ptr noundef @.str.4)
  %31428 = call ptr @__errno_location() #12
  %31429 = load i32, ptr %31428, align 4, !tbaa !5
  %31430 = call ptr @strerror(i32 noundef %31429) #11
  %31431 = call ptr @__errno_location() #12
  %31432 = load i32, ptr %31431, align 4, !tbaa !5
  %31433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31420, ptr noundef @.str.5, i32 noundef %31421, ptr noundef @.str.257, ptr noundef @.str.1, i32 noundef 1227, ptr noundef %31424, ptr noundef %31427, ptr noundef %31430, i32 noundef %31432) #11
  br label %31434

31434:                                            ; preds = %31417, %31400
  call void @llvm.lifetime.end.p0(i64 4, ptr %698) #11
  br label %31435

31435:                                            ; preds = %31434
  br label %31436

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

31437:                                            ; No predecessors!
  br label %31438

31438:                                            ; preds = %31437
  br label %31439

31439:                                            ; preds = %31438, %31378
  br label %31440

31440:                                            ; preds = %31439
  br label %31441

31441:                                            ; preds = %31440
  br label %31442

31442:                                            ; preds = %31441
  %31443 = load i32, ptr @test_count, align 4, !tbaa !5
  %31444 = add nsw i32 %31443, 1
  store i32 %31444, ptr @test_count, align 4, !tbaa !5
  %31445 = load ptr, ptr %691, align 8, !tbaa !9
  %31446 = load ptr, ptr %693, align 8, !tbaa !9
  %31447 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %31445, ptr noundef %31446, ptr noundef %696)
  %31448 = getelementptr inbounds %struct.s2n_result, ptr %699, i32 0, i32 0
  store i32 %31447, ptr %31448, align 4
  %31449 = getelementptr inbounds %struct.s2n_result, ptr %699, i32 0, i32 0
  %31450 = load i32, ptr %31449, align 4
  %31451 = call zeroext i1 @s2n_result_is_ok(i32 %31450)
  br i1 %31451, label %31505, label %31452

31452:                                            ; preds = %31442
  br label %31453

31453:                                            ; preds = %31452
  br label %31454

31454:                                            ; preds = %31453
  call void @llvm.lifetime.start.p0(i64 4, ptr %700) #11
  %31455 = call ptr @__errno_location() #12
  %31456 = load i32, ptr %31455, align 4, !tbaa !5
  store i32 %31456, ptr %700, align 4, !tbaa !5
  %31457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31458 = call i32 @s2n_print_stacktrace(ptr noundef %31457)
  %31459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31460 = trunc i8 %31459 to i1
  br i1 %31460, label %31461, label %31483

31461:                                            ; preds = %31454
  %31462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31463 = call i32 @fileno(ptr noundef %31462) #11
  %31464 = call i32 @isatty(i32 noundef %31463) #11
  %31465 = icmp ne i32 %31464, 0
  br i1 %31465, label %31466, label %31483

31466:                                            ; preds = %31461
  %31467 = load i32, ptr %700, align 4, !tbaa !5
  %31468 = call ptr @__errno_location() #12
  store i32 %31467, ptr %31468, align 4, !tbaa !5
  %31469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31470 = load i32, ptr @test_count, align 4, !tbaa !5
  %31471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31472 = load i32, ptr %31471, align 4, !tbaa !5
  %31473 = call ptr @s2n_strerror(i32 noundef %31472, ptr noundef @.str.4)
  %31474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31475 = load i32, ptr %31474, align 4, !tbaa !5
  %31476 = call ptr @s2n_strerror_debug(i32 noundef %31475, ptr noundef @.str.4)
  %31477 = call ptr @__errno_location() #12
  %31478 = load i32, ptr %31477, align 4, !tbaa !5
  %31479 = call ptr @strerror(i32 noundef %31478) #11
  %31480 = call ptr @__errno_location() #12
  %31481 = load i32, ptr %31480, align 4, !tbaa !5
  %31482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31469, ptr noundef @.str.2, i32 noundef %31470, ptr noundef @.str.258, ptr noundef @.str.1, i32 noundef 1228, ptr noundef %31473, ptr noundef %31476, ptr noundef %31479, i32 noundef %31481) #11
  br label %31500

31483:                                            ; preds = %31461, %31454
  %31484 = load i32, ptr %700, align 4, !tbaa !5
  %31485 = call ptr @__errno_location() #12
  store i32 %31484, ptr %31485, align 4, !tbaa !5
  %31486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31487 = load i32, ptr @test_count, align 4, !tbaa !5
  %31488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31489 = load i32, ptr %31488, align 4, !tbaa !5
  %31490 = call ptr @s2n_strerror(i32 noundef %31489, ptr noundef @.str.4)
  %31491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31492 = load i32, ptr %31491, align 4, !tbaa !5
  %31493 = call ptr @s2n_strerror_debug(i32 noundef %31492, ptr noundef @.str.4)
  %31494 = call ptr @__errno_location() #12
  %31495 = load i32, ptr %31494, align 4, !tbaa !5
  %31496 = call ptr @strerror(i32 noundef %31495) #11
  %31497 = call ptr @__errno_location() #12
  %31498 = load i32, ptr %31497, align 4, !tbaa !5
  %31499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31486, ptr noundef @.str.5, i32 noundef %31487, ptr noundef @.str.258, ptr noundef @.str.1, i32 noundef 1228, ptr noundef %31490, ptr noundef %31493, ptr noundef %31496, i32 noundef %31498) #11
  br label %31500

31500:                                            ; preds = %31483, %31466
  call void @llvm.lifetime.end.p0(i64 4, ptr %700) #11
  br label %31501

31501:                                            ; preds = %31500
  br label %31502

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

31503:                                            ; No predecessors!
  br label %31504

31504:                                            ; preds = %31503
  br label %31505

31505:                                            ; preds = %31504, %31442
  br label %31506

31506:                                            ; preds = %31505
  br label %31507

31507:                                            ; preds = %31506
  br label %31508

31508:                                            ; preds = %31507
  br label %31509

31509:                                            ; preds = %31508
  br label %31510

31510:                                            ; preds = %31509
  %31511 = load i32, ptr @test_count, align 4, !tbaa !5
  %31512 = add nsw i32 %31511, 1
  store i32 %31512, ptr @test_count, align 4, !tbaa !5
  %31513 = load ptr, ptr %693, align 8, !tbaa !9
  %31514 = load ptr, ptr %691, align 8, !tbaa !9
  %31515 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %31513, ptr noundef %31514)
  %31516 = icmp eq i32 %31515, -1
  br i1 %31516, label %31570, label %31517

31517:                                            ; preds = %31510
  br label %31518

31518:                                            ; preds = %31517
  br label %31519

31519:                                            ; preds = %31518
  call void @llvm.lifetime.start.p0(i64 4, ptr %701) #11
  %31520 = call ptr @__errno_location() #12
  %31521 = load i32, ptr %31520, align 4, !tbaa !5
  store i32 %31521, ptr %701, align 4, !tbaa !5
  %31522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31523 = call i32 @s2n_print_stacktrace(ptr noundef %31522)
  %31524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31525 = trunc i8 %31524 to i1
  br i1 %31525, label %31526, label %31548

31526:                                            ; preds = %31519
  %31527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31528 = call i32 @fileno(ptr noundef %31527) #11
  %31529 = call i32 @isatty(i32 noundef %31528) #11
  %31530 = icmp ne i32 %31529, 0
  br i1 %31530, label %31531, label %31548

31531:                                            ; preds = %31526
  %31532 = load i32, ptr %701, align 4, !tbaa !5
  %31533 = call ptr @__errno_location() #12
  store i32 %31532, ptr %31533, align 4, !tbaa !5
  %31534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31535 = load i32, ptr @test_count, align 4, !tbaa !5
  %31536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31537 = load i32, ptr %31536, align 4, !tbaa !5
  %31538 = call ptr @s2n_strerror(i32 noundef %31537, ptr noundef @.str.4)
  %31539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31540 = load i32, ptr %31539, align 4, !tbaa !5
  %31541 = call ptr @s2n_strerror_debug(i32 noundef %31540, ptr noundef @.str.4)
  %31542 = call ptr @__errno_location() #12
  %31543 = load i32, ptr %31542, align 4, !tbaa !5
  %31544 = call ptr @strerror(i32 noundef %31543) #11
  %31545 = call ptr @__errno_location() #12
  %31546 = load i32, ptr %31545, align 4, !tbaa !5
  %31547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31534, ptr noundef @.str.2, i32 noundef %31535, ptr noundef @.str.200, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %31538, ptr noundef %31541, ptr noundef %31544, i32 noundef %31546) #11
  br label %31565

31548:                                            ; preds = %31526, %31519
  %31549 = load i32, ptr %701, align 4, !tbaa !5
  %31550 = call ptr @__errno_location() #12
  store i32 %31549, ptr %31550, align 4, !tbaa !5
  %31551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31552 = load i32, ptr @test_count, align 4, !tbaa !5
  %31553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31554 = load i32, ptr %31553, align 4, !tbaa !5
  %31555 = call ptr @s2n_strerror(i32 noundef %31554, ptr noundef @.str.4)
  %31556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31557 = load i32, ptr %31556, align 4, !tbaa !5
  %31558 = call ptr @s2n_strerror_debug(i32 noundef %31557, ptr noundef @.str.4)
  %31559 = call ptr @__errno_location() #12
  %31560 = load i32, ptr %31559, align 4, !tbaa !5
  %31561 = call ptr @strerror(i32 noundef %31560) #11
  %31562 = call ptr @__errno_location() #12
  %31563 = load i32, ptr %31562, align 4, !tbaa !5
  %31564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31551, ptr noundef @.str.5, i32 noundef %31552, ptr noundef @.str.200, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %31555, ptr noundef %31558, ptr noundef %31561, i32 noundef %31563) #11
  br label %31565

31565:                                            ; preds = %31548, %31531
  call void @llvm.lifetime.end.p0(i64 4, ptr %701) #11
  br label %31566

31566:                                            ; preds = %31565
  br label %31567

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

31568:                                            ; No predecessors!
  br label %31569

31569:                                            ; preds = %31568
  br label %31570

31570:                                            ; preds = %31569, %31510
  br label %31571

31571:                                            ; preds = %31570
  br label %31572

31572:                                            ; preds = %31571
  br label %31573

31573:                                            ; preds = %31572
  %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31577 = load i32, ptr %31576, align 4, !tbaa !5
  %31578 = icmp eq i32 %31577, 402653272
  br i1 %31578, label %31632, label %31579

31579:                                            ; preds = %31573
  br label %31580

31580:                                            ; preds = %31579
  br label %31581

31581:                                            ; preds = %31580
  call void @llvm.lifetime.start.p0(i64 4, ptr %702) #11
  %31582 = call ptr @__errno_location() #12
  %31583 = load i32, ptr %31582, align 4, !tbaa !5
  store i32 %31583, ptr %702, align 4, !tbaa !5
  %31584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31585 = call i32 @s2n_print_stacktrace(ptr noundef %31584)
  %31586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31587 = trunc i8 %31586 to i1
  br i1 %31587, label %31588, label %31610

31588:                                            ; preds = %31581
  %31589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31590 = call i32 @fileno(ptr noundef %31589) #11
  %31591 = call i32 @isatty(i32 noundef %31590) #11
  %31592 = icmp ne i32 %31591, 0
  br i1 %31592, label %31593, label %31610

31593:                                            ; preds = %31588
  %31594 = load i32, ptr %702, align 4, !tbaa !5
  %31595 = call ptr @__errno_location() #12
  store i32 %31594, ptr %31595, align 4, !tbaa !5
  %31596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31597 = load i32, ptr @test_count, align 4, !tbaa !5
  %31598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31599 = load i32, ptr %31598, align 4, !tbaa !5
  %31600 = call ptr @s2n_strerror(i32 noundef %31599, ptr noundef @.str.4)
  %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_debug(i32 noundef %31602, ptr noundef @.str.4)
  %31604 = call ptr @__errno_location() #12
  %31605 = load i32, ptr %31604, align 4, !tbaa !5
  %31606 = call ptr @strerror(i32 noundef %31605) #11
  %31607 = call ptr @__errno_location() #12
  %31608 = load i32, ptr %31607, align 4, !tbaa !5
  %31609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31596, ptr noundef @.str.2, i32 noundef %31597, ptr noundef @.str.259, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %31600, ptr noundef %31603, ptr noundef %31606, i32 noundef %31608) #11
  br label %31627

31610:                                            ; preds = %31588, %31581
  %31611 = load i32, ptr %702, align 4, !tbaa !5
  %31612 = call ptr @__errno_location() #12
  store i32 %31611, ptr %31612, align 4, !tbaa !5
  %31613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31614 = load i32, ptr @test_count, align 4, !tbaa !5
  %31615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31616 = load i32, ptr %31615, align 4, !tbaa !5
  %31617 = call ptr @s2n_strerror(i32 noundef %31616, ptr noundef @.str.4)
  %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_debug(i32 noundef %31619, ptr noundef @.str.4)
  %31621 = call ptr @__errno_location() #12
  %31622 = load i32, ptr %31621, align 4, !tbaa !5
  %31623 = call ptr @strerror(i32 noundef %31622) #11
  %31624 = call ptr @__errno_location() #12
  %31625 = load i32, ptr %31624, align 4, !tbaa !5
  %31626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31613, ptr noundef @.str.5, i32 noundef %31614, ptr noundef @.str.259, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %31617, ptr noundef %31620, ptr noundef %31623, i32 noundef %31625) #11
  br label %31627

31627:                                            ; preds = %31610, %31593
  call void @llvm.lifetime.end.p0(i64 4, ptr %702) #11
  br label %31628

31628:                                            ; preds = %31627
  br label %31629

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

31630:                                            ; No predecessors!
  br label %31631

31631:                                            ; preds = %31630
  br label %31632

31632:                                            ; preds = %31631, %31573
  br label %31633

31633:                                            ; preds = %31632
  br label %31634

31634:                                            ; preds = %31633
  br label %31635

31635:                                            ; preds = %31634
  %31636 = load i32, ptr @test_count, align 4, !tbaa !5
  %31637 = add nsw i32 %31636, 1
  store i32 %31637, ptr @test_count, align 4, !tbaa !5
  %31638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31639 = load i32, ptr %31638, align 4, !tbaa !5
  %31640 = call ptr @s2n_strerror_debug(i32 noundef %31639, ptr noundef @.str.4)
  %31641 = icmp eq ptr %31640, null
  br i1 %31641, label %31642, label %31695

31642:                                            ; preds = %31635
  br label %31643

31643:                                            ; preds = %31642
  br label %31644

31644:                                            ; preds = %31643
  call void @llvm.lifetime.start.p0(i64 4, ptr %703) #11
  %31645 = call ptr @__errno_location() #12
  %31646 = load i32, ptr %31645, align 4, !tbaa !5
  store i32 %31646, ptr %703, align 4, !tbaa !5
  %31647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31648 = call i32 @s2n_print_stacktrace(ptr noundef %31647)
  %31649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31650 = trunc i8 %31649 to i1
  br i1 %31650, label %31651, label %31673

31651:                                            ; preds = %31644
  %31652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31653 = call i32 @fileno(ptr noundef %31652) #11
  %31654 = call i32 @isatty(i32 noundef %31653) #11
  %31655 = icmp ne i32 %31654, 0
  br i1 %31655, label %31656, label %31673

31656:                                            ; preds = %31651
  %31657 = load i32, ptr %703, align 4, !tbaa !5
  %31658 = call ptr @__errno_location() #12
  store i32 %31657, ptr %31658, align 4, !tbaa !5
  %31659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31660 = load i32, ptr @test_count, align 4, !tbaa !5
  %31661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31662 = load i32, ptr %31661, align 4, !tbaa !5
  %31663 = call ptr @s2n_strerror(i32 noundef %31662, ptr noundef @.str.4)
  %31664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31665 = load i32, ptr %31664, align 4, !tbaa !5
  %31666 = call ptr @s2n_strerror_debug(i32 noundef %31665, ptr noundef @.str.4)
  %31667 = call ptr @__errno_location() #12
  %31668 = load i32, ptr %31667, align 4, !tbaa !5
  %31669 = call ptr @strerror(i32 noundef %31668) #11
  %31670 = call ptr @__errno_location() #12
  %31671 = load i32, ptr %31670, align 4, !tbaa !5
  %31672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31659, ptr noundef @.str.2, i32 noundef %31660, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %31663, ptr noundef %31666, ptr noundef %31669, i32 noundef %31671) #11
  br label %31690

31673:                                            ; preds = %31651, %31644
  %31674 = load i32, ptr %703, align 4, !tbaa !5
  %31675 = call ptr @__errno_location() #12
  store i32 %31674, ptr %31675, align 4, !tbaa !5
  %31676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31677 = load i32, ptr @test_count, align 4, !tbaa !5
  %31678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31679 = load i32, ptr %31678, align 4, !tbaa !5
  %31680 = call ptr @s2n_strerror(i32 noundef %31679, ptr noundef @.str.4)
  %31681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31682 = load i32, ptr %31681, align 4, !tbaa !5
  %31683 = call ptr @s2n_strerror_debug(i32 noundef %31682, ptr noundef @.str.4)
  %31684 = call ptr @__errno_location() #12
  %31685 = load i32, ptr %31684, align 4, !tbaa !5
  %31686 = call ptr @strerror(i32 noundef %31685) #11
  %31687 = call ptr @__errno_location() #12
  %31688 = load i32, ptr %31687, align 4, !tbaa !5
  %31689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31676, ptr noundef @.str.5, i32 noundef %31677, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1235, ptr noundef %31680, ptr noundef %31683, ptr noundef %31686, i32 noundef %31688) #11
  br label %31690

31690:                                            ; preds = %31673, %31656
  call void @llvm.lifetime.end.p0(i64 4, ptr %703) #11
  br label %31691

31691:                                            ; preds = %31690
  br label %31692

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

31693:                                            ; No predecessors!
  br label %31694

31694:                                            ; preds = %31693
  br label %31695

31695:                                            ; preds = %31694, %31635
  br label %31696

31696:                                            ; preds = %31695
  br label %31697

31697:                                            ; preds = %31696
  br label %31698

31698:                                            ; preds = %31697
  br label %31699

31699:                                            ; preds = %31698
  br label %31700

31700:                                            ; preds = %31699
  %31701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %31701, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %31702 = call ptr @__errno_location() #12
  store i32 0, ptr %31702, align 4, !tbaa !5
  br label %31703

31703:                                            ; preds = %31700
  br label %31704

31704:                                            ; preds = %31703
  br label %31705

31705:                                            ; preds = %31704
  br label %31706

31706:                                            ; preds = %31705
  %31707 = call i32 @s2n_io_stuffer_pair_free(ptr noundef %696)
  %31708 = getelementptr inbounds %struct.s2n_result, ptr %704, i32 0, i32 0
  store i32 %31707, ptr %31708, align 4
  call void @llvm.lifetime.end.p0(i64 80, ptr %696) #11
  %31709 = call i32 @s2n_connection_ptr_free(ptr noundef %693)
  %31710 = getelementptr inbounds %struct.s2n_result, ptr %705, i32 0, i32 0
  store i32 %31709, ptr %31710, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %693) #11
  %31711 = call i32 @s2n_connection_ptr_free(ptr noundef %691)
  %31712 = getelementptr inbounds %struct.s2n_result, ptr %706, i32 0, i32 0
  store i32 %31711, ptr %31712, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %691) #11
  br label %31713

31713:                                            ; preds = %31706
  %31714 = load i64, ptr %690, align 8, !tbaa !66
  %31715 = add i64 %31714, 1
  store i64 %31715, ptr %690, align 8, !tbaa !66
  br label %31182, !llvm.loop !103

31716:                                            ; preds = %31185
  call void @llvm.lifetime.end.p0(i64 16, ptr %689) #11
  %31717 = call i32 @s2n_config_ptr_free(ptr noundef %686)
  %31718 = getelementptr inbounds %struct.s2n_result, ptr %707, i32 0, i32 0
  store i32 %31717, ptr %31718, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %686) #11
  %31719 = call i32 @s2n_config_ptr_free(ptr noundef %683)
  %31720 = getelementptr inbounds %struct.s2n_result, ptr %708, i32 0, i32 0
  store i32 %31719, ptr %31720, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %683) #11
  call void @llvm.lifetime.start.p0(i64 176, ptr %709) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %709, ptr align 16 @__const.main.sslv2_client_hello, i64 176, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %710) #11
  call void @llvm.memset.p0.i64(ptr align 8 %710, i8 0, i64 24, i1 false)
  br label %31721

31721:                                            ; preds = %31716
  %31722 = load i32, ptr @test_count, align 4, !tbaa !5
  %31723 = add nsw i32 %31722, 1
  store i32 %31723, ptr @test_count, align 4, !tbaa !5
  %31724 = getelementptr inbounds [176 x i8], ptr %709, i64 0, i64 0
  %31725 = call i32 @s2n_blob_init(ptr noundef %710, ptr noundef %31724, i32 noundef 176)
  %31726 = icmp eq i32 %31725, -1
  br i1 %31726, label %31727, label %31780

31727:                                            ; preds = %31721
  br label %31728

31728:                                            ; preds = %31727
  br label %31729

31729:                                            ; preds = %31728
  call void @llvm.lifetime.start.p0(i64 4, ptr %711) #11
  %31730 = call ptr @__errno_location() #12
  %31731 = load i32, ptr %31730, align 4, !tbaa !5
  store i32 %31731, ptr %711, align 4, !tbaa !5
  %31732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31733 = call i32 @s2n_print_stacktrace(ptr noundef %31732)
  %31734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31735 = trunc i8 %31734 to i1
  br i1 %31735, label %31736, label %31758

31736:                                            ; preds = %31729
  %31737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31738 = call i32 @fileno(ptr noundef %31737) #11
  %31739 = call i32 @isatty(i32 noundef %31738) #11
  %31740 = icmp ne i32 %31739, 0
  br i1 %31740, label %31741, label %31758

31741:                                            ; preds = %31736
  %31742 = load i32, ptr %711, align 4, !tbaa !5
  %31743 = call ptr @__errno_location() #12
  store i32 %31742, ptr %31743, align 4, !tbaa !5
  %31744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31745 = load i32, ptr @test_count, align 4, !tbaa !5
  %31746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31747 = load i32, ptr %31746, align 4, !tbaa !5
  %31748 = call ptr @s2n_strerror(i32 noundef %31747, ptr noundef @.str.4)
  %31749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31750 = load i32, ptr %31749, align 4, !tbaa !5
  %31751 = call ptr @s2n_strerror_debug(i32 noundef %31750, ptr noundef @.str.4)
  %31752 = call ptr @__errno_location() #12
  %31753 = load i32, ptr %31752, align 4, !tbaa !5
  %31754 = call ptr @strerror(i32 noundef %31753) #11
  %31755 = call ptr @__errno_location() #12
  %31756 = load i32, ptr %31755, align 4, !tbaa !5
  %31757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31744, ptr noundef @.str.2, i32 noundef %31745, ptr noundef @.str.260, ptr noundef @.str.1, i32 noundef 1252, ptr noundef %31748, ptr noundef %31751, ptr noundef %31754, i32 noundef %31756) #11
  br label %31775

31758:                                            ; preds = %31736, %31729
  %31759 = load i32, ptr %711, align 4, !tbaa !5
  %31760 = call ptr @__errno_location() #12
  store i32 %31759, ptr %31760, align 4, !tbaa !5
  %31761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31762 = load i32, ptr @test_count, align 4, !tbaa !5
  %31763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31764 = load i32, ptr %31763, align 4, !tbaa !5
  %31765 = call ptr @s2n_strerror(i32 noundef %31764, ptr noundef @.str.4)
  %31766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31767 = load i32, ptr %31766, align 4, !tbaa !5
  %31768 = call ptr @s2n_strerror_debug(i32 noundef %31767, ptr noundef @.str.4)
  %31769 = call ptr @__errno_location() #12
  %31770 = load i32, ptr %31769, align 4, !tbaa !5
  %31771 = call ptr @strerror(i32 noundef %31770) #11
  %31772 = call ptr @__errno_location() #12
  %31773 = load i32, ptr %31772, align 4, !tbaa !5
  %31774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31761, ptr noundef @.str.5, i32 noundef %31762, ptr noundef @.str.260, ptr noundef @.str.1, i32 noundef 1252, ptr noundef %31765, ptr noundef %31768, ptr noundef %31771, i32 noundef %31773) #11
  br label %31775

31775:                                            ; preds = %31758, %31741
  call void @llvm.lifetime.end.p0(i64 4, ptr %711) #11
  br label %31776

31776:                                            ; preds = %31775
  br label %31777

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

31778:                                            ; No predecessors!
  br label %31779

31779:                                            ; preds = %31778
  br label %31780

31780:                                            ; preds = %31779, %31721
  br label %31781

31781:                                            ; preds = %31780
  br label %31782

31782:                                            ; preds = %31781
  call void @llvm.lifetime.start.p0(i64 8, ptr %712) #11
  %31783 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %31783, ptr %712, align 8, !tbaa !9
  br label %31784

31784:                                            ; preds = %31782
  %31785 = load i32, ptr @test_count, align 4, !tbaa !5
  %31786 = add nsw i32 %31785, 1
  store i32 %31786, ptr @test_count, align 4, !tbaa !5
  %31787 = load ptr, ptr %712, align 8, !tbaa !9
  %31788 = icmp eq ptr %31787, null
  br i1 %31788, label %31789, label %31842

31789:                                            ; preds = %31784
  br label %31790

31790:                                            ; preds = %31789
  br label %31791

31791:                                            ; preds = %31790
  call void @llvm.lifetime.start.p0(i64 4, ptr %713) #11
  %31792 = call ptr @__errno_location() #12
  %31793 = load i32, ptr %31792, align 4, !tbaa !5
  store i32 %31793, ptr %713, align 4, !tbaa !5
  %31794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31795 = call i32 @s2n_print_stacktrace(ptr noundef %31794)
  %31796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31797 = trunc i8 %31796 to i1
  br i1 %31797, label %31798, label %31820

31798:                                            ; preds = %31791
  %31799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31800 = call i32 @fileno(ptr noundef %31799) #11
  %31801 = call i32 @isatty(i32 noundef %31800) #11
  %31802 = icmp ne i32 %31801, 0
  br i1 %31802, label %31803, label %31820

31803:                                            ; preds = %31798
  %31804 = load i32, ptr %713, align 4, !tbaa !5
  %31805 = call ptr @__errno_location() #12
  store i32 %31804, ptr %31805, align 4, !tbaa !5
  %31806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31807 = load i32, ptr @test_count, align 4, !tbaa !5
  %31808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31809 = load i32, ptr %31808, align 4, !tbaa !5
  %31810 = call ptr @s2n_strerror(i32 noundef %31809, ptr noundef @.str.4)
  %31811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31812 = load i32, ptr %31811, align 4, !tbaa !5
  %31813 = call ptr @s2n_strerror_debug(i32 noundef %31812, ptr noundef @.str.4)
  %31814 = call ptr @__errno_location() #12
  %31815 = load i32, ptr %31814, align 4, !tbaa !5
  %31816 = call ptr @strerror(i32 noundef %31815) #11
  %31817 = call ptr @__errno_location() #12
  %31818 = load i32, ptr %31817, align 4, !tbaa !5
  %31819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31806, ptr noundef @.str.2, i32 noundef %31807, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 1258, ptr noundef %31810, ptr noundef %31813, ptr noundef %31816, i32 noundef %31818) #11
  br label %31837

31820:                                            ; preds = %31798, %31791
  %31821 = load i32, ptr %713, align 4, !tbaa !5
  %31822 = call ptr @__errno_location() #12
  store i32 %31821, ptr %31822, align 4, !tbaa !5
  %31823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31824 = load i32, ptr @test_count, align 4, !tbaa !5
  %31825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31826 = load i32, ptr %31825, align 4, !tbaa !5
  %31827 = call ptr @s2n_strerror(i32 noundef %31826, ptr noundef @.str.4)
  %31828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31829 = load i32, ptr %31828, align 4, !tbaa !5
  %31830 = call ptr @s2n_strerror_debug(i32 noundef %31829, ptr noundef @.str.4)
  %31831 = call ptr @__errno_location() #12
  %31832 = load i32, ptr %31831, align 4, !tbaa !5
  %31833 = call ptr @strerror(i32 noundef %31832) #11
  %31834 = call ptr @__errno_location() #12
  %31835 = load i32, ptr %31834, align 4, !tbaa !5
  %31836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31823, ptr noundef @.str.5, i32 noundef %31824, ptr noundef @.str.182, ptr noundef @.str.1, i32 noundef 1258, ptr noundef %31827, ptr noundef %31830, ptr noundef %31833, i32 noundef %31835) #11
  br label %31837

31837:                                            ; preds = %31820, %31803
  call void @llvm.lifetime.end.p0(i64 4, ptr %713) #11
  br label %31838

31838:                                            ; preds = %31837
  br label %31839

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

31840:                                            ; No predecessors!
  br label %31841

31841:                                            ; preds = %31840
  br label %31842

31842:                                            ; preds = %31841, %31784
  br label %31843

31843:                                            ; preds = %31842
  br label %31844

31844:                                            ; preds = %31843
  %31845 = load ptr, ptr %712, align 8, !tbaa !9
  %31846 = getelementptr inbounds %struct.s2n_connection, ptr %31845, i32 0, i32 1
  store ptr null, ptr %31846, align 8, !tbaa !25
  %31847 = load ptr, ptr %712, align 8, !tbaa !9
  %31848 = getelementptr inbounds %struct.s2n_connection, ptr %31847, i32 0, i32 20
  store i8 20, ptr %31848, align 1, !tbaa !104
  %31849 = load ptr, ptr %712, align 8, !tbaa !9
  %31850 = getelementptr inbounds %struct.s2n_connection, ptr %31849, i32 0, i32 21
  store i8 33, ptr %31850, align 2, !tbaa !105
  br label %31851

31851:                                            ; preds = %31844
  %31852 = load i32, ptr @test_count, align 4, !tbaa !5
  %31853 = add nsw i32 %31852, 1
  store i32 %31853, ptr @test_count, align 4, !tbaa !5
  %31854 = load ptr, ptr %712, align 8, !tbaa !9
  %31855 = getelementptr inbounds %struct.s2n_connection, ptr %31854, i32 0, i32 52
  %31856 = getelementptr inbounds %struct.s2n_handshake, ptr %31855, i32 0, i32 0
  %31857 = call i32 @s2n_stuffer_write(ptr noundef %31856, ptr noundef %710)
  %31858 = icmp eq i32 %31857, -1
  br i1 %31858, label %31859, label %31912

31859:                                            ; preds = %31851
  br label %31860

31860:                                            ; preds = %31859
  br label %31861

31861:                                            ; preds = %31860
  call void @llvm.lifetime.start.p0(i64 4, ptr %714) #11
  %31862 = call ptr @__errno_location() #12
  %31863 = load i32, ptr %31862, align 4, !tbaa !5
  store i32 %31863, ptr %714, align 4, !tbaa !5
  %31864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31865 = call i32 @s2n_print_stacktrace(ptr noundef %31864)
  %31866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31867 = trunc i8 %31866 to i1
  br i1 %31867, label %31868, label %31890

31868:                                            ; preds = %31861
  %31869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31870 = call i32 @fileno(ptr noundef %31869) #11
  %31871 = call i32 @isatty(i32 noundef %31870) #11
  %31872 = icmp ne i32 %31871, 0
  br i1 %31872, label %31873, label %31890

31873:                                            ; preds = %31868
  %31874 = load i32, ptr %714, align 4, !tbaa !5
  %31875 = call ptr @__errno_location() #12
  store i32 %31874, ptr %31875, align 4, !tbaa !5
  %31876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31877 = load i32, ptr @test_count, align 4, !tbaa !5
  %31878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31879 = load i32, ptr %31878, align 4, !tbaa !5
  %31880 = call ptr @s2n_strerror(i32 noundef %31879, ptr noundef @.str.4)
  %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_debug(i32 noundef %31882, ptr noundef @.str.4)
  %31884 = call ptr @__errno_location() #12
  %31885 = load i32, ptr %31884, align 4, !tbaa !5
  %31886 = call ptr @strerror(i32 noundef %31885) #11
  %31887 = call ptr @__errno_location() #12
  %31888 = load i32, ptr %31887, align 4, !tbaa !5
  %31889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31876, ptr noundef @.str.2, i32 noundef %31877, ptr noundef @.str.261, ptr noundef @.str.1, i32 noundef 1269, ptr noundef %31880, ptr noundef %31883, ptr noundef %31886, i32 noundef %31888) #11
  br label %31907

31890:                                            ; preds = %31868, %31861
  %31891 = load i32, ptr %714, align 4, !tbaa !5
  %31892 = call ptr @__errno_location() #12
  store i32 %31891, ptr %31892, align 4, !tbaa !5
  %31893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31894 = load i32, ptr @test_count, align 4, !tbaa !5
  %31895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31896 = load i32, ptr %31895, align 4, !tbaa !5
  %31897 = call ptr @s2n_strerror(i32 noundef %31896, ptr noundef @.str.4)
  %31898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31899 = load i32, ptr %31898, align 4, !tbaa !5
  %31900 = call ptr @s2n_strerror_debug(i32 noundef %31899, ptr noundef @.str.4)
  %31901 = call ptr @__errno_location() #12
  %31902 = load i32, ptr %31901, align 4, !tbaa !5
  %31903 = call ptr @strerror(i32 noundef %31902) #11
  %31904 = call ptr @__errno_location() #12
  %31905 = load i32, ptr %31904, align 4, !tbaa !5
  %31906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31893, ptr noundef @.str.5, i32 noundef %31894, ptr noundef @.str.261, ptr noundef @.str.1, i32 noundef 1269, ptr noundef %31897, ptr noundef %31900, ptr noundef %31903, i32 noundef %31905) #11
  br label %31907

31907:                                            ; preds = %31890, %31873
  call void @llvm.lifetime.end.p0(i64 4, ptr %714) #11
  br label %31908

31908:                                            ; preds = %31907
  br label %31909

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

31910:                                            ; No predecessors!
  br label %31911

31911:                                            ; preds = %31910
  br label %31912

31912:                                            ; preds = %31911, %31851
  br label %31913

31913:                                            ; preds = %31912
  br label %31914

31914:                                            ; preds = %31913
  br label %31915

31915:                                            ; preds = %31914
  br label %31916

31916:                                            ; preds = %31915
  br label %31917

31917:                                            ; preds = %31916
  %31918 = load i32, ptr @test_count, align 4, !tbaa !5
  %31919 = add nsw i32 %31918, 1
  store i32 %31919, ptr @test_count, align 4, !tbaa !5
  %31920 = load ptr, ptr %712, align 8, !tbaa !9
  %31921 = call i32 @s2n_client_hello_recv(ptr noundef %31920)
  %31922 = icmp eq i32 %31921, -1
  br i1 %31922, label %31976, label %31923

31923:                                            ; preds = %31917
  br label %31924

31924:                                            ; preds = %31923
  br label %31925

31925:                                            ; preds = %31924
  call void @llvm.lifetime.start.p0(i64 4, ptr %715) #11
  %31926 = call ptr @__errno_location() #12
  %31927 = load i32, ptr %31926, align 4, !tbaa !5
  store i32 %31927, ptr %715, align 4, !tbaa !5
  %31928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31929 = call i32 @s2n_print_stacktrace(ptr noundef %31928)
  %31930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31931 = trunc i8 %31930 to i1
  br i1 %31931, label %31932, label %31954

31932:                                            ; preds = %31925
  %31933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31934 = call i32 @fileno(ptr noundef %31933) #11
  %31935 = call i32 @isatty(i32 noundef %31934) #11
  %31936 = icmp ne i32 %31935, 0
  br i1 %31936, label %31937, label %31954

31937:                                            ; preds = %31932
  %31938 = load i32, ptr %715, align 4, !tbaa !5
  %31939 = call ptr @__errno_location() #12
  store i32 %31938, ptr %31939, align 4, !tbaa !5
  %31940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31941 = load i32, ptr @test_count, align 4, !tbaa !5
  %31942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31943 = load i32, ptr %31942, align 4, !tbaa !5
  %31944 = call ptr @s2n_strerror(i32 noundef %31943, ptr noundef @.str.4)
  %31945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31946 = load i32, ptr %31945, align 4, !tbaa !5
  %31947 = call ptr @s2n_strerror_debug(i32 noundef %31946, ptr noundef @.str.4)
  %31948 = call ptr @__errno_location() #12
  %31949 = load i32, ptr %31948, align 4, !tbaa !5
  %31950 = call ptr @strerror(i32 noundef %31949) #11
  %31951 = call ptr @__errno_location() #12
  %31952 = load i32, ptr %31951, align 4, !tbaa !5
  %31953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31940, ptr noundef @.str.2, i32 noundef %31941, ptr noundef @.str.262, ptr noundef @.str.1, i32 noundef 1270, ptr noundef %31944, ptr noundef %31947, ptr noundef %31950, i32 noundef %31952) #11
  br label %31971

31954:                                            ; preds = %31932, %31925
  %31955 = load i32, ptr %715, align 4, !tbaa !5
  %31956 = call ptr @__errno_location() #12
  store i32 %31955, ptr %31956, align 4, !tbaa !5
  %31957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31958 = load i32, ptr @test_count, align 4, !tbaa !5
  %31959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31960 = load i32, ptr %31959, align 4, !tbaa !5
  %31961 = call ptr @s2n_strerror(i32 noundef %31960, ptr noundef @.str.4)
  %31962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31963 = load i32, ptr %31962, align 4, !tbaa !5
  %31964 = call ptr @s2n_strerror_debug(i32 noundef %31963, ptr noundef @.str.4)
  %31965 = call ptr @__errno_location() #12
  %31966 = load i32, ptr %31965, align 4, !tbaa !5
  %31967 = call ptr @strerror(i32 noundef %31966) #11
  %31968 = call ptr @__errno_location() #12
  %31969 = load i32, ptr %31968, align 4, !tbaa !5
  %31970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31957, ptr noundef @.str.5, i32 noundef %31958, ptr noundef @.str.262, ptr noundef @.str.1, i32 noundef 1270, ptr noundef %31961, ptr noundef %31964, ptr noundef %31967, i32 noundef %31969) #11
  br label %31971

31971:                                            ; preds = %31954, %31937
  call void @llvm.lifetime.end.p0(i64 4, ptr %715) #11
  br label %31972

31972:                                            ; preds = %31971
  br label %31973

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

31974:                                            ; No predecessors!
  br label %31975

31975:                                            ; preds = %31974
  br label %31976

31976:                                            ; preds = %31975, %31917
  br label %31977

31977:                                            ; preds = %31976
  br label %31978

31978:                                            ; preds = %31977
  br label %31979

31979:                                            ; preds = %31978
  %31980 = load i32, ptr @test_count, align 4, !tbaa !5
  %31981 = add nsw i32 %31980, 1
  store i32 %31981, ptr @test_count, align 4, !tbaa !5
  %31982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31983 = load i32, ptr %31982, align 4, !tbaa !5
  %31984 = icmp eq i32 %31983, 402653272
  br i1 %31984, label %32038, label %31985

31985:                                            ; preds = %31979
  br label %31986

31986:                                            ; preds = %31985
  br label %31987

31987:                                            ; preds = %31986
  call void @llvm.lifetime.start.p0(i64 4, ptr %716) #11
  %31988 = call ptr @__errno_location() #12
  %31989 = load i32, ptr %31988, align 4, !tbaa !5
  store i32 %31989, ptr %716, align 4, !tbaa !5
  %31990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31991 = call i32 @s2n_print_stacktrace(ptr noundef %31990)
  %31992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31993 = trunc i8 %31992 to i1
  br i1 %31993, label %31994, label %32016

31994:                                            ; preds = %31987
  %31995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31996 = call i32 @fileno(ptr noundef %31995) #11
  %31997 = call i32 @isatty(i32 noundef %31996) #11
  %31998 = icmp ne i32 %31997, 0
  br i1 %31998, label %31999, label %32016

31999:                                            ; preds = %31994
  %32000 = load i32, ptr %716, align 4, !tbaa !5
  %32001 = call ptr @__errno_location() #12
  store i32 %32000, ptr %32001, align 4, !tbaa !5
  %32002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32003 = load i32, ptr @test_count, align 4, !tbaa !5
  %32004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32005 = load i32, ptr %32004, align 4, !tbaa !5
  %32006 = call ptr @s2n_strerror(i32 noundef %32005, ptr noundef @.str.4)
  %32007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32008 = load i32, ptr %32007, align 4, !tbaa !5
  %32009 = call ptr @s2n_strerror_debug(i32 noundef %32008, ptr noundef @.str.4)
  %32010 = call ptr @__errno_location() #12
  %32011 = load i32, ptr %32010, align 4, !tbaa !5
  %32012 = call ptr @strerror(i32 noundef %32011) #11
  %32013 = call ptr @__errno_location() #12
  %32014 = load i32, ptr %32013, align 4, !tbaa !5
  %32015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32002, ptr noundef @.str.2, i32 noundef %32003, ptr noundef @.str.259, ptr noundef @.str.1, i32 noundef 1270, ptr noundef %32006, ptr noundef %32009, ptr noundef %32012, i32 noundef %32014) #11
  br label %32033

32016:                                            ; preds = %31994, %31987
  %32017 = load i32, ptr %716, align 4, !tbaa !5
  %32018 = call ptr @__errno_location() #12
  store i32 %32017, ptr %32018, align 4, !tbaa !5
  %32019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32020 = load i32, ptr @test_count, align 4, !tbaa !5
  %32021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32022 = load i32, ptr %32021, align 4, !tbaa !5
  %32023 = call ptr @s2n_strerror(i32 noundef %32022, ptr noundef @.str.4)
  %32024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32025 = load i32, ptr %32024, align 4, !tbaa !5
  %32026 = call ptr @s2n_strerror_debug(i32 noundef %32025, ptr noundef @.str.4)
  %32027 = call ptr @__errno_location() #12
  %32028 = load i32, ptr %32027, align 4, !tbaa !5
  %32029 = call ptr @strerror(i32 noundef %32028) #11
  %32030 = call ptr @__errno_location() #12
  %32031 = load i32, ptr %32030, align 4, !tbaa !5
  %32032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32019, ptr noundef @.str.5, i32 noundef %32020, ptr noundef @.str.259, ptr noundef @.str.1, i32 noundef 1270, ptr noundef %32023, ptr noundef %32026, ptr noundef %32029, i32 noundef %32031) #11
  br label %32033

32033:                                            ; preds = %32016, %31999
  call void @llvm.lifetime.end.p0(i64 4, ptr %716) #11
  br label %32034

32034:                                            ; preds = %32033
  br label %32035

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

32036:                                            ; No predecessors!
  br label %32037

32037:                                            ; preds = %32036
  br label %32038

32038:                                            ; preds = %32037, %31979
  br label %32039

32039:                                            ; preds = %32038
  br label %32040

32040:                                            ; preds = %32039
  br label %32041

32041:                                            ; preds = %32040
  %32042 = load i32, ptr @test_count, align 4, !tbaa !5
  %32043 = add nsw i32 %32042, 1
  store i32 %32043, ptr @test_count, align 4, !tbaa !5
  %32044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32045 = load i32, ptr %32044, align 4, !tbaa !5
  %32046 = call ptr @s2n_strerror_debug(i32 noundef %32045, ptr noundef @.str.4)
  %32047 = icmp eq ptr %32046, null
  br i1 %32047, label %32048, label %32101

32048:                                            ; preds = %32041
  br label %32049

32049:                                            ; preds = %32048
  br label %32050

32050:                                            ; preds = %32049
  call void @llvm.lifetime.start.p0(i64 4, ptr %717) #11
  %32051 = call ptr @__errno_location() #12
  %32052 = load i32, ptr %32051, align 4, !tbaa !5
  store i32 %32052, ptr %717, align 4, !tbaa !5
  %32053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32054 = call i32 @s2n_print_stacktrace(ptr noundef %32053)
  %32055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32056 = trunc i8 %32055 to i1
  br i1 %32056, label %32057, label %32079

32057:                                            ; preds = %32050
  %32058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32059 = call i32 @fileno(ptr noundef %32058) #11
  %32060 = call i32 @isatty(i32 noundef %32059) #11
  %32061 = icmp ne i32 %32060, 0
  br i1 %32061, label %32062, label %32079

32062:                                            ; preds = %32057
  %32063 = load i32, ptr %717, align 4, !tbaa !5
  %32064 = call ptr @__errno_location() #12
  store i32 %32063, ptr %32064, align 4, !tbaa !5
  %32065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32066 = load i32, ptr @test_count, align 4, !tbaa !5
  %32067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32068 = load i32, ptr %32067, align 4, !tbaa !5
  %32069 = call ptr @s2n_strerror(i32 noundef %32068, ptr noundef @.str.4)
  %32070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32071 = load i32, ptr %32070, align 4, !tbaa !5
  %32072 = call ptr @s2n_strerror_debug(i32 noundef %32071, ptr noundef @.str.4)
  %32073 = call ptr @__errno_location() #12
  %32074 = load i32, ptr %32073, align 4, !tbaa !5
  %32075 = call ptr @strerror(i32 noundef %32074) #11
  %32076 = call ptr @__errno_location() #12
  %32077 = load i32, ptr %32076, align 4, !tbaa !5
  %32078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32065, ptr noundef @.str.2, i32 noundef %32066, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1270, ptr noundef %32069, ptr noundef %32072, ptr noundef %32075, i32 noundef %32077) #11
  br label %32096

32079:                                            ; preds = %32057, %32050
  %32080 = load i32, ptr %717, align 4, !tbaa !5
  %32081 = call ptr @__errno_location() #12
  store i32 %32080, ptr %32081, align 4, !tbaa !5
  %32082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32083 = load i32, ptr @test_count, align 4, !tbaa !5
  %32084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32085 = load i32, ptr %32084, align 4, !tbaa !5
  %32086 = call ptr @s2n_strerror(i32 noundef %32085, ptr noundef @.str.4)
  %32087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32088 = load i32, ptr %32087, align 4, !tbaa !5
  %32089 = call ptr @s2n_strerror_debug(i32 noundef %32088, ptr noundef @.str.4)
  %32090 = call ptr @__errno_location() #12
  %32091 = load i32, ptr %32090, align 4, !tbaa !5
  %32092 = call ptr @strerror(i32 noundef %32091) #11
  %32093 = call ptr @__errno_location() #12
  %32094 = load i32, ptr %32093, align 4, !tbaa !5
  %32095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32082, ptr noundef @.str.5, i32 noundef %32083, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 1270, ptr noundef %32086, ptr noundef %32089, ptr noundef %32092, i32 noundef %32094) #11
  br label %32096

32096:                                            ; preds = %32079, %32062
  call void @llvm.lifetime.end.p0(i64 4, ptr %717) #11
  br label %32097

32097:                                            ; preds = %32096
  br label %32098

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

32099:                                            ; No predecessors!
  br label %32100

32100:                                            ; preds = %32099
  br label %32101

32101:                                            ; preds = %32100, %32041
  br label %32102

32102:                                            ; preds = %32101
  br label %32103

32103:                                            ; preds = %32102
  br label %32104

32104:                                            ; preds = %32103
  br label %32105

32105:                                            ; preds = %32104
  br label %32106

32106:                                            ; preds = %32105
  %32107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %32107, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %32108 = call ptr @__errno_location() #12
  store i32 0, ptr %32108, align 4, !tbaa !5
  br label %32109

32109:                                            ; preds = %32106
  br label %32110

32110:                                            ; preds = %32109
  br label %32111

32111:                                            ; preds = %32110
  br label %32112

32112:                                            ; preds = %32111
  %32113 = call i32 @s2n_connection_ptr_free(ptr noundef %712)
  %32114 = getelementptr inbounds %struct.s2n_result, ptr %718, i32 0, i32 0
  store i32 %32113, ptr %32114, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %712) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %710) #11
  call void @llvm.lifetime.end.p0(i64 176, ptr %709) #11
  br label %32115

32115:                                            ; preds = %32112
  br label %32116

32116:                                            ; preds = %32115
  %32117 = call i32 @s2n_cleanup()
  %32118 = icmp eq i32 %32117, -1
  br i1 %32118, label %32119, label %32172

32119:                                            ; preds = %32116
  br label %32120

32120:                                            ; preds = %32119
  br label %32121

32121:                                            ; preds = %32120
  call void @llvm.lifetime.start.p0(i64 4, ptr %719) #11
  %32122 = call ptr @__errno_location() #12
  %32123 = load i32, ptr %32122, align 4, !tbaa !5
  store i32 %32123, ptr %719, align 4, !tbaa !5
  %32124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32125 = call i32 @s2n_print_stacktrace(ptr noundef %32124)
  %32126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32127 = trunc i8 %32126 to i1
  br i1 %32127, label %32128, label %32150

32128:                                            ; preds = %32121
  %32129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32130 = call i32 @fileno(ptr noundef %32129) #11
  %32131 = call i32 @isatty(i32 noundef %32130) #11
  %32132 = icmp ne i32 %32131, 0
  br i1 %32132, label %32133, label %32150

32133:                                            ; preds = %32128
  %32134 = load i32, ptr %719, align 4, !tbaa !5
  %32135 = call ptr @__errno_location() #12
  store i32 %32134, ptr %32135, align 4, !tbaa !5
  %32136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32137 = load i32, ptr @test_count, align 4, !tbaa !5
  %32138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32139 = load i32, ptr %32138, align 4, !tbaa !5
  %32140 = call ptr @s2n_strerror(i32 noundef %32139, ptr noundef @.str.4)
  %32141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32142 = load i32, ptr %32141, align 4, !tbaa !5
  %32143 = call ptr @s2n_strerror_debug(i32 noundef %32142, ptr noundef @.str.4)
  %32144 = call ptr @__errno_location() #12
  %32145 = load i32, ptr %32144, align 4, !tbaa !5
  %32146 = call ptr @strerror(i32 noundef %32145) #11
  %32147 = call ptr @__errno_location() #12
  %32148 = load i32, ptr %32147, align 4, !tbaa !5
  %32149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32136, ptr noundef @.str.2, i32 noundef %32137, ptr noundef @.str.263, ptr noundef @.str.1, i32 noundef 1274, ptr noundef %32140, ptr noundef %32143, ptr noundef %32146, i32 noundef %32148) #11
  br label %32167

32150:                                            ; preds = %32128, %32121
  %32151 = load i32, ptr %719, align 4, !tbaa !5
  %32152 = call ptr @__errno_location() #12
  store i32 %32151, ptr %32152, align 4, !tbaa !5
  %32153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32154 = load i32, ptr @test_count, align 4, !tbaa !5
  %32155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32156 = load i32, ptr %32155, align 4, !tbaa !5
  %32157 = call ptr @s2n_strerror(i32 noundef %32156, ptr noundef @.str.4)
  %32158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32159 = load i32, ptr %32158, align 4, !tbaa !5
  %32160 = call ptr @s2n_strerror_debug(i32 noundef %32159, ptr noundef @.str.4)
  %32161 = call ptr @__errno_location() #12
  %32162 = load i32, ptr %32161, align 4, !tbaa !5
  %32163 = call ptr @strerror(i32 noundef %32162) #11
  %32164 = call ptr @__errno_location() #12
  %32165 = load i32, ptr %32164, align 4, !tbaa !5
  %32166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32153, ptr noundef @.str.5, i32 noundef %32154, ptr noundef @.str.263, ptr noundef @.str.1, i32 noundef 1274, ptr noundef %32157, ptr noundef %32160, ptr noundef %32163, i32 noundef %32165) #11
  br label %32167

32167:                                            ; preds = %32150, %32133
  call void @llvm.lifetime.end.p0(i64 4, ptr %719) #11
  br label %32168

32168:                                            ; preds = %32167
  br label %32169

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

32170:                                            ; No predecessors!
  br label %32171

32171:                                            ; preds = %32170
  br label %32172

32172:                                            ; preds = %32171, %32116
  br label %32173

32173:                                            ; preds = %32172
  br label %32174

32174:                                            ; preds = %32173
  br label %32175

32175:                                            ; preds = %32174
  br label %32176

32176:                                            ; preds = %32175
  %32177 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %32178 = icmp eq i32 %32177, -1
  br i1 %32178, label %32179, label %32232

32179:                                            ; preds = %32176
  br label %32180

32180:                                            ; preds = %32179
  br label %32181

32181:                                            ; preds = %32180
  call void @llvm.lifetime.start.p0(i64 4, ptr %720) #11
  %32182 = call ptr @__errno_location() #12
  %32183 = load i32, ptr %32182, align 4, !tbaa !5
  store i32 %32183, ptr %720, align 4, !tbaa !5
  %32184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32185 = call i32 @s2n_print_stacktrace(ptr noundef %32184)
  %32186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32187 = trunc i8 %32186 to i1
  br i1 %32187, label %32188, label %32210

32188:                                            ; preds = %32181
  %32189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32190 = call i32 @fileno(ptr noundef %32189) #11
  %32191 = call i32 @isatty(i32 noundef %32190) #11
  %32192 = icmp ne i32 %32191, 0
  br i1 %32192, label %32193, label %32210

32193:                                            ; preds = %32188
  %32194 = load i32, ptr %720, align 4, !tbaa !5
  %32195 = call ptr @__errno_location() #12
  store i32 %32194, ptr %32195, align 4, !tbaa !5
  %32196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32197 = load i32, ptr @test_count, align 4, !tbaa !5
  %32198 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32199 = load i32, ptr %32198, align 4, !tbaa !5
  %32200 = call ptr @s2n_strerror(i32 noundef %32199, ptr noundef @.str.4)
  %32201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32202 = load i32, ptr %32201, align 4, !tbaa !5
  %32203 = call ptr @s2n_strerror_debug(i32 noundef %32202, ptr noundef @.str.4)
  %32204 = call ptr @__errno_location() #12
  %32205 = load i32, ptr %32204, align 4, !tbaa !5
  %32206 = call ptr @strerror(i32 noundef %32205) #11
  %32207 = call ptr @__errno_location() #12
  %32208 = load i32, ptr %32207, align 4, !tbaa !5
  %32209 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32196, ptr noundef @.str.2, i32 noundef %32197, ptr noundef @.str.264, ptr noundef @.str.1, i32 noundef 1274, ptr noundef %32200, ptr noundef %32203, ptr noundef %32206, i32 noundef %32208) #11
  br label %32227

32210:                                            ; preds = %32188, %32181
  %32211 = load i32, ptr %720, align 4, !tbaa !5
  %32212 = call ptr @__errno_location() #12
  store i32 %32211, ptr %32212, align 4, !tbaa !5
  %32213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32214 = load i32, ptr @test_count, align 4, !tbaa !5
  %32215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32216 = load i32, ptr %32215, align 4, !tbaa !5
  %32217 = call ptr @s2n_strerror(i32 noundef %32216, ptr noundef @.str.4)
  %32218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32219 = load i32, ptr %32218, align 4, !tbaa !5
  %32220 = call ptr @s2n_strerror_debug(i32 noundef %32219, ptr noundef @.str.4)
  %32221 = call ptr @__errno_location() #12
  %32222 = load i32, ptr %32221, align 4, !tbaa !5
  %32223 = call ptr @strerror(i32 noundef %32222) #11
  %32224 = call ptr @__errno_location() #12
  %32225 = load i32, ptr %32224, align 4, !tbaa !5
  %32226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32213, ptr noundef @.str.5, i32 noundef %32214, ptr noundef @.str.264, ptr noundef @.str.1, i32 noundef 1274, ptr noundef %32217, ptr noundef %32220, ptr noundef %32223, i32 noundef %32225) #11
  br label %32227

32227:                                            ; preds = %32210, %32193
  call void @llvm.lifetime.end.p0(i64 4, ptr %720) #11
  br label %32228

32228:                                            ; preds = %32227
  br label %32229

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

32230:                                            ; No predecessors!
  br label %32231

32231:                                            ; preds = %32230
  br label %32232

32232:                                            ; preds = %32231, %32176
  br label %32233

32233:                                            ; preds = %32232
  br label %32234

32234:                                            ; preds = %32233
  %32235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32236 = trunc i8 %32235 to i1
  br i1 %32236, label %32237, label %32253

32237:                                            ; preds = %32234
  %32238 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32239 = call i32 @fileno(ptr noundef %32238) #11
  %32240 = call i32 @isatty(i32 noundef %32239) #11
  %32241 = icmp ne i32 %32240, 0
  br i1 %32241, label %32242, label %32253

32242:                                            ; preds = %32237
  %32243 = load i32, ptr @test_count, align 4, !tbaa !5
  %32244 = icmp ne i32 %32243, 0
  br i1 %32244, label %32245, label %32249

32245:                                            ; preds = %32242
  %32246 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32247 = load i32, ptr @test_count, align 4, !tbaa !5
  %32248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32246, ptr noundef @.str.265, i32 noundef %32247) #11
  br label %32252

32249:                                            ; preds = %32242
  %32250 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32250, ptr noundef @.str.266) #11
  br label %32252

32252:                                            ; preds = %32249, %32245
  br label %32264

32253:                                            ; preds = %32237, %32234
  %32254 = load i32, ptr @test_count, align 4, !tbaa !5
  %32255 = icmp ne i32 %32254, 0
  br i1 %32255, label %32256, label %32260

32256:                                            ; preds = %32253
  %32257 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32258 = load i32, ptr @test_count, align 4, !tbaa !5
  %32259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32257, ptr noundef @.str.267, i32 noundef %32258) #11
  br label %32263

32260:                                            ; preds = %32253
  %32261 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32261, ptr noundef @.str.268) #11
  br label %32263

32263:                                            ; preds = %32260, %32256
  br label %32264

32264:                                            ; preds = %32263, %32252
  store i32 0, ptr %3, align 4
  store i32 1, ptr %352, align 4
  br label %32269

32265:                                            ; No predecessors!
  br label %32266

32266:                                            ; preds = %32265
  br label %32267

32267:                                            ; preds = %32266
  br label %32268

32268:                                            ; preds = %32267
  store i32 0, ptr %352, align 4
  br label %32269

32269:                                            ; preds = %32268, %32264, %29099, %20596
  call void @llvm.lifetime.end.p0(i64 12000, ptr %19) #11
  call void @llvm.lifetime.end.p0(i64 12000, ptr %17) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %11) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #11
  %32270 = load i32, ptr %352, align 4
  switch i32 %32270, label %32273 [
    i32 0, label %32271
    i32 1, label %32271
  ]

32271:                                            ; preds = %32269, %32269
  %32272 = load i32, ptr %3, align 4
  ret i32 %32272

32273:                                            ; preds = %32269
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare i32 @s2n_disable_tls13_in_test(...) #2

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

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

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

declare i32 @s2n_read_test_pem(ptr noundef, ptr noundef, i64 noundef) #2

declare ptr @s2n_config_new() #2

declare ptr @s2n_fetch_default_config() #2

declare i32 @s2n_enable_tls13_in_test(...) #2

declare i32 @s2n_config_free(ptr noundef) #2

declare zeroext i1 @s2n_is_in_fips_mode() #2

declare ptr @s2n_connection_new(i32 noundef) #2

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

declare i32 @s2n_connection_free(ptr noundef) #2

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

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

declare void @s2n_debug_info_reset() #2

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

declare ptr @s2n_test_psk_new(ptr noundef) #2

declare i32 @s2n_psk_free(ptr noundef) #2

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

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

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

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

declare i32 @s2n_config_ptr_free(ptr noundef) #2

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

declare ptr @s2n_config_get_single_default_cert(ptr noundef) #2

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

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) #2

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

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

declare i32 @s2n_config_free_cert_chain_and_key(ptr noundef) #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) #2

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

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

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

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

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

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

declare i32 @s2n_config_set_npn(ptr noundef, i1 noundef zeroext) #2

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

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

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

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

declare zeroext i8 @s2n_x509_ocsp_stapling_supported() #2

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

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

declare i32 @s2n_read_test_pem_and_len(ptr noundef, ptr noundef, ptr noundef, i64 noundef) #2

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

; Function Attrs: nounwind willreturn memory(read)
declare ptr @strrchr(ptr noundef, i32 noundef) #9

declare i32 @s2n_calculate_stacktrace() #2

declare i32 @s2n_pkey_check_key_exists(ptr noundef) #2

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

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

declare i32 @s2n_config_load_system_certs(ptr noundef) #2

declare ptr @s2n_config_new_minimal() #2

declare i32 @s2n_config_wipe_trust_store(ptr noundef) #2

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

declare ptr @X509_STORE_get0_objects(ptr noundef) #2

declare i32 @OPENSSL_sk_num(ptr noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden ptr @ossl_check_const_X509_OBJECT_sk_type(ptr noundef) #10

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

declare zeroext i1 @s2n_libcrypto_is_libressl() #2

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

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

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

declare i32 @s2n_io_pair_close(ptr noundef) #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

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

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

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

declare i32 @s2n_config_disable_x509_time_verification(ptr noundef) #2

declare i32 @s2n_config_get_supported_groups(ptr noundef, ptr noundef, i16 noundef zeroext, ptr noundef) #2

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

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

declare i32 @s2n_stuffer_free(ptr noundef) #2

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

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

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

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

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

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

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

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

declare i32 @s2n_config_get_num_default_certs(ptr noundef) #2

declare i32 @s2n_map_unlock(ptr noundef) #2

declare i32 @s2n_io_stuffer_pair_free(ptr noundef) #2

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) #2

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

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

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

declare i32 @s2n_client_hello_recv(ptr noundef) #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { 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 #10 = { 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 #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, !10, i64 96}
!16 = !{!"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, !17, i64 24, !18, 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, !19, i64 144, !10, i64 152, !19, i64 160, !19, 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, !20, i64 304, !21, 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, !18, i64 448}
!17 = !{!"certs_by_type", !7, i64 0}
!18 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!19 = !{!"long", !7, i64 0}
!20 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!21 = !{!"short", !7, i64 0}
!22 = !{!23, !10, i64 24}
!23 = !{!"s2n_security_policy", !7, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !12, i64 56, !7, i64 57}
!24 = !{!16, !6, i64 232}
!25 = !{!26, !10, i64 8}
!26 = !{!"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, !27, i64 160, !19, i64 168, !19, 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, !28, i64 240, !10, i64 632, !10, i64 640, !29, i64 648, !34, i64 1144, !37, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !39, i64 1776, !39, i64 1816, !39, i64 1856, !39, i64 1896, !6, i64 1936, !19, i64 1944, !7, i64 1952, !39, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !40, i64 2004, !40, i64 2008, !41, i64 2016, !21, i64 2208, !6, i64 2212, !21, i64 2216, !19, i64 2224, !7, i64 2232, !19, i64 2240, !19, i64 2248, !19, i64 2256, !40, i64 2264, !40, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !18, i64 2792, !6, i64 2816, !18, i64 2824, !18, i64 2848, !18, i64 2872, !43, i64 2896, !45, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !18, i64 3784, !6, i64 3808, !47, i64 3816, !7, i64 3848, !39, i64 3992, !18, i64 4032, !18, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !21, i64 4084, !21, i64 4086, !6, i64 4088, !6, i64 4092, !18, i64 4096, !6, i64 4120, !48, i64 4128, !40, i64 4176, !7, i64 4180, !7, i64 4181}
!27 = !{!"s2n_timer", !19, i64 0}
!28 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!29 = !{!"s2n_kex_parameters", !30, i64 0, !31, i64 8, !7, i64 24, !31, i64 56, !32, i64 72, !32, i64 184, !7, i64 296, !33, i64 360, !18, i64 448, !18, i64 472}
!30 = !{!"s2n_dh_params", !10, i64 0}
!31 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!32 = !{!"s2n_kem_group_params", !10, i64 0, !33, i64 8, !31, i64 96}
!33 = !{!"s2n_kem_params", !10, i64 0, !18, i64 8, !18, i64 32, !18, i64 56, !12, i64 80}
!34 = !{!"s2n_handshake_parameters", !35, i64 0, !35, i64 48, !18, i64 96, !6, i64 120, !36, 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}
!35 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!36 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!37 = !{!"s2n_psk_parameters", !6, i64 0, !38, i64 8, !21, i64 40, !21, i64 42, !10, i64 48, !6, i64 56}
!38 = !{!"s2n_array", !18, i64 0, !6, i64 24, !6, i64 28}
!39 = !{!"s2n_stuffer", !18, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!40 = !{!"", !6, i64 0}
!41 = !{!"s2n_handshake", !39, 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, !42, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!42 = !{!"s2n_offered_early_data", !10, i64 0}
!43 = !{!"s2n_client_hello", !18, i64 0, !44, i64 24, !18, i64 728, !18, i64 752, !18, 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}
!44 = !{!"", !7, i64 0, !18, i64 672, !21, i64 696}
!45 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !21, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !46, i64 48, !12, i64 52}
!46 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!47 = !{!"s2n_ticket_fields", !18, i64 0, !6, i64 24}
!48 = !{!"s2n_post_handshake", !39, i64 0, !7, i64 40}
!49 = !{!7, !7, i64 0}
!50 = !{!16, !10, i64 336}
!51 = !{!16, !10, i64 344}
!52 = !{!16, !7, i64 297}
!53 = !{!26, !21, i64 4084}
!54 = !{!16, !6, i64 396}
!55 = !{!26, !6, i64 1688}
!56 = !{!57, !6, i64 24}
!57 = !{!"s2n_cert_chain_and_key", !10, i64 0, !10, i64 8, !18, i64 16, !18, i64 40, !10, i64 64, !10, i64 72, !10, i64 80}
!58 = !{!16, !6, i64 416}
!59 = !{!16, !6, i64 420}
!60 = !{!16, !10, i64 432}
!61 = !{!16, !10, i64 424}
!62 = !{!16, !10, i64 256}
!63 = !{!16, !10, i64 264}
!64 = !{!16, !10, i64 272}
!65 = !{!16, !10, i64 280}
!66 = !{!19, !19, i64 0}
!67 = distinct !{!67, !68}
!68 = !{!"llvm.loop.mustprogress"}
!69 = distinct !{!69, !68}
!70 = !{!71, !10, i64 0}
!71 = !{!"s2n_debug_info", !10, i64 0, !10, i64 8}
!72 = !{!71, !10, i64 8}
!73 = !{!57, !10, i64 8}
!74 = !{!16, !10, i64 304}
!75 = distinct !{!75, !68}
!76 = distinct !{!76, !68}
!77 = distinct !{!77, !68}
!78 = distinct !{!78, !68}
!79 = !{!21, !21, i64 0}
!80 = !{!23, !10, i64 16}
!81 = !{!23, !10, i64 40}
!82 = !{!83, !7, i64 0}
!83 = !{!"s2n_ecc_preferences", !7, i64 0, !10, i64 8}
!84 = distinct !{!84, !68}
!85 = distinct !{!85, !68}
!86 = !{!87, !10, i64 0}
!87 = !{!"s2n_security_policy_selection", !10, i64 0, !10, i64 8, !6, i64 16, !6, i64 16, !6, i64 16}
!88 = !{!87, !10, i64 8}
!89 = !{!26, !7, i64 220}
!90 = !{!91, !10, i64 8}
!91 = !{!"", !21, i64 0, !6, i64 2, !21, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!92 = distinct !{!92, !68}
!93 = distinct !{!93, !68}
!94 = !{i64 0, i64 1, !49, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 8, !9, i64 32, i64 8, !9, i64 40, i64 8, !9, i64 48, i64 8, !9, i64 56, i64 1, !11, i64 57, i64 2, !49}
!95 = !{!23, !12, i64 56}
!96 = !{!16, !10, i64 16}
!97 = !{!23, !10, i64 48}
!98 = !{!23, !10, i64 32}
!99 = !{!100, !7, i64 0}
!100 = !{!"s2n_certificate_key_preferences", !7, i64 0, !10, i64 8}
!101 = !{!102, !7, i64 0}
!102 = !{!"s2n_signature_preferences", !7, i64 0, !10, i64 8}
!103 = distinct !{!103, !68}
!104 = !{!26, !7, i64 217}
!105 = !{!26, !7, i64 218}


; 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_debug_info = type { ptr, ptr }
%struct.s2n_security_policy_selection = type { ptr, ptr, i8 }
%struct.s2n_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_security_policy = type { i8, ptr, ptr, ptr, ptr, ptr, ptr, i8, [2 x i8] }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_test_io_stuffer_pair = type { %struct.s2n_stuffer, %struct.s2n_stuffer }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [74 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@__const.main.modes = external hidden unnamed_addr constant [2 x i32], align 4
@.str.9 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [119 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [125 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [61 x i8], align 1
@__const.main.extension_data = external hidden unnamed_addr constant [15 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [192 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [194 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [194 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [115 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [107 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [151 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [131 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.153 = external hidden unnamed_addr constant [99 x i8], align 1
@_s2n_debug_info = external thread_local local_unnamed_addr global %struct.s2n_debug_info, align 8
@.str.154 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.155 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.156 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.157 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.158 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.159 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.160 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.161 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.162 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.163 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.164 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.165 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.166 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.167 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.168 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.169 = external hidden unnamed_addr constant [139 x i8], align 1
@.str.170 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.171 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.172 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.173 = external hidden unnamed_addr constant [34 x i8], align 1
@.str.174 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.175 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.176 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.177 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.178 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.179 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.180 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.181 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.182 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.183 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.184 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.185 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.186 = external hidden unnamed_addr constant [158 x i8], align 1
@.str.187 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.188 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.189 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.190 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.191 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.192 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.193 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.194 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.195 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.196 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.197 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.198 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.199 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.200 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.201 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.202 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.203 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.204 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.205 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.206 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.207 = external hidden unnamed_addr constant [45 x i8], align 1
@__const.main.policies = external hidden unnamed_addr constant [2 x ptr], align 16
@.str.210 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.211 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.212 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.213 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.214 = external hidden unnamed_addr constant [132 x i8], align 1
@.str.215 = external hidden unnamed_addr constant [63 x i8], align 1
@security_policy_selection = external local_unnamed_addr global [0 x %struct.s2n_security_policy_selection], align 8
@.str.216 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.217 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.218 = external hidden unnamed_addr constant [169 x i8], align 1
@.str.219 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.220 = external hidden unnamed_addr constant [78 x i8], align 1
@s2n_client_supported_groups_extension = external local_unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.221 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.222 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.223 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.224 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.225 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.226 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.227 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.228 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.229 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.230 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.231 = external hidden unnamed_addr constant [118 x i8], align 1
@security_policy_rfc9151 = external local_unnamed_addr constant %struct.s2n_security_policy, align 8
@.str.232 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.233 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.234 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.235 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.236 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.237 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.238 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.239 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.240 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.241 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.242 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.243 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.244 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.245 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.246 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.247 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.248 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.249 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.250 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.251 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.252 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.253 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.254 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.255 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.256 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.257 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.258 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.259 = external hidden unnamed_addr constant [69 x i8], align 1
@__const.main.sslv2_client_hello = external hidden unnamed_addr constant [176 x i8], align 16
@.str.260 = external hidden unnamed_addr constant [105 x i8], align 1
@.str.261 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.262 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.263 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.264 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.265 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.266 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.267 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.268 = external hidden unnamed_addr constant [25 x i8], align 1

; 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 ptr, align 8
  %4 = alloca ptr, align 8
  %5 = alloca ptr, align 8
  %6 = alloca [12000 x i8], align 16
  %7 = alloca [12000 x i8], align 16
  %8 = alloca ptr, align 8
  %9 = alloca ptr, align 8
  %10 = alloca ptr, align 8
  %11 = alloca i8, align 1
  %12 = alloca ptr, align 8
  %13 = alloca i8, align 1
  %14 = alloca ptr, align 8
  %15 = alloca [15 x i8], align 1
  %16 = alloca ptr, align 8
  %17 = alloca ptr, align 8
  %18 = alloca ptr, align 8
  %19 = alloca ptr, align 8
  %20 = alloca ptr, align 8
  %21 = alloca ptr, align 8
  %22 = alloca ptr, align 8
  %23 = alloca ptr, align 8
  %24 = alloca ptr, align 8
  %25 = alloca ptr, align 8
  %26 = alloca ptr, align 8
  %27 = alloca ptr, align 8
  %28 = alloca ptr, align 8
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca ptr, align 8
  %32 = alloca ptr, align 8
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca i8, align 1
  %38 = alloca ptr, align 8
  %39 = alloca ptr, align 8
  %40 = alloca i8, align 1
  %41 = alloca ptr, align 8
  %42 = alloca i8, align 1
  %43 = alloca ptr, align 8
  %44 = alloca ptr, align 8
  %45 = alloca ptr, align 8
  %46 = alloca ptr, align 8
  %47 = alloca ptr, align 8
  %48 = alloca ptr, align 8
  %49 = alloca ptr, align 8
  %50 = alloca ptr, align 8
  %51 = alloca ptr, align 8
  %52 = alloca ptr, align 8
  %53 = alloca ptr, align 8
  %54 = alloca i32, align 4
  %55 = alloca [12000 x i8], align 16
  %56 = alloca ptr, align 8
  %57 = alloca ptr, align 8
  %58 = alloca ptr, align 8
  %59 = alloca ptr, align 8
  %60 = alloca ptr, align 8
  %61 = alloca ptr, align 8
  %62 = alloca ptr, align 8
  %63 = alloca ptr, align 8
  %64 = alloca ptr, align 8
  %65 = alloca ptr, align 8
  %66 = alloca ptr, align 8
  %67 = alloca %struct.s2n_test_io_pair, align 8
  %68 = alloca ptr, align 8
  %69 = alloca ptr, align 8
  %70 = alloca ptr, align 8
  %71 = alloca ptr, align 8
  %72 = alloca %struct.s2n_test_io_pair, align 8
  %73 = alloca ptr, align 8
  %74 = alloca ptr, align 8
  %75 = alloca [30 x i16], align 16
  %76 = alloca i16, align 2
  %77 = alloca ptr, align 8
  %78 = alloca i32, align 4
  %79 = alloca [30 x i16], align 16
  %80 = alloca i16, align 2
  %81 = alloca i32, align 4
  %82 = alloca ptr, align 8
  %83 = alloca [30 x i16], align 16
  %84 = alloca i16, align 2
  %85 = alloca ptr, align 8
  %86 = alloca %struct.s2n_stuffer, align 8
  %87 = alloca i16, align 2
  %88 = alloca i16, align 2
  %89 = alloca ptr, align 8
  %90 = alloca ptr, align 8
  %91 = alloca %struct.s2n_security_policy, align 8
  %92 = alloca ptr, align 8
  %93 = alloca %struct.s2n_security_policy, align 8
  %94 = alloca ptr, align 8
  %95 = alloca ptr, align 8
  %96 = alloca i32, align 4
  %97 = alloca ptr, align 8
  %98 = alloca %struct.s2n_security_policy, align 8
  %99 = alloca ptr, align 8
  %100 = alloca ptr, align 8
  %101 = alloca ptr, align 8
  %102 = alloca ptr, align 8
  %103 = alloca ptr, align 8
  %104 = alloca %struct.s2n_test_io_stuffer_pair, align 8
  %105 = alloca [176 x i8], align 16
  %106 = alloca %struct.s2n_blob, align 8
  %107 = alloca ptr, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %108 = load ptr, ptr @stdout, align 8, !tbaa !9
  %109 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %108, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #12
  %110 = load ptr, ptr @stdout, align 8, !tbaa !9
  %111 = tail call i32 @fflush(ptr noundef %110)
  %112 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %113 = icmp eq i32 %112, -1
  br i1 %113, label %114, label %138

114:                                              ; preds = %2
  %115 = tail call ptr @__errno_location() #13
  %116 = load i32, ptr %115, align 4, !tbaa !5
  %117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %118 = tail call i32 @s2n_print_stacktrace(ptr noundef %117) #12
  %119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %120 = trunc nuw i8 %119 to i1
  br i1 %120, label %121, label %125

121:                                              ; preds = %114
  %122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %123 = tail call i32 @fileno(ptr noundef %122) #12
  %124 = tail call i32 @isatty(i32 noundef %123) #12
  %.not1799 = icmp eq i32 %124, 0
  br i1 %.not1799, label %125, label %126

125:                                              ; preds = %121, %114
  br label %126

126:                                              ; preds = %121, %125
  %.str.5.sink = phi ptr [ @.str.5, %125 ], [ @.str.2, %121 ]
  store i32 %116, ptr %115, align 4, !tbaa !5
  %127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %128 = load i32, ptr @test_count, align 4, !tbaa !5
  %129 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %130 = load i32, ptr %129, align 4, !tbaa !5
  %131 = tail call ptr @s2n_strerror(i32 noundef %130, ptr noundef nonnull @.str.4) #12
  %132 = load i32, ptr %129, align 4, !tbaa !5
  %133 = tail call ptr @s2n_strerror_debug(i32 noundef %132, ptr noundef nonnull @.str.4) #12
  %134 = load i32, ptr %115, align 4, !tbaa !5
  %135 = tail call ptr @strerror(i32 noundef %134) #12
  %136 = load i32, ptr %115, align 4, !tbaa !5
  %137 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %127, ptr noundef nonnull %.str.5.sink, i32 noundef %128, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 71, ptr noundef %131, ptr noundef %133, ptr noundef %135, i32 noundef %136) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

138:                                              ; preds = %2
  %139 = load i32, ptr @test_count, align 4, !tbaa !5
  %140 = add nsw i32 %139, 1
  store i32 %140, ptr @test_count, align 4, !tbaa !5
  %141 = tail call i32 @s2n_enable_atexit() #12
  %142 = icmp eq i32 %141, -1
  br i1 %142, label %143, label %167

143:                                              ; preds = %138
  %144 = tail call ptr @__errno_location() #13
  %145 = load i32, ptr %144, align 4, !tbaa !5
  %146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %147 = tail call i32 @s2n_print_stacktrace(ptr noundef %146) #12
  %148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %149 = trunc nuw i8 %148 to i1
  br i1 %149, label %150, label %154

150:                                              ; preds = %143
  %151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %152 = tail call i32 @fileno(ptr noundef %151) #12
  %153 = tail call i32 @isatty(i32 noundef %152) #12
  %.not1798 = icmp eq i32 %153, 0
  br i1 %.not1798, label %154, label %155

154:                                              ; preds = %150, %143
  br label %155

155:                                              ; preds = %150, %154
  %.str.5.sink1897 = phi ptr [ @.str.5, %154 ], [ @.str.2, %150 ]
  store i32 %145, ptr %144, align 4, !tbaa !5
  %156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %157 = load i32, ptr @test_count, align 4, !tbaa !5
  %158 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %159 = load i32, ptr %158, align 4, !tbaa !5
  %160 = tail call ptr @s2n_strerror(i32 noundef %159, ptr noundef nonnull @.str.4) #12
  %161 = load i32, ptr %158, align 4, !tbaa !5
  %162 = tail call ptr @s2n_strerror_debug(i32 noundef %161, ptr noundef nonnull @.str.4) #12
  %163 = load i32, ptr %144, align 4, !tbaa !5
  %164 = tail call ptr @strerror(i32 noundef %163) #12
  %165 = load i32, ptr %144, align 4, !tbaa !5
  %166 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %156, ptr noundef nonnull %.str.5.sink1897, i32 noundef %157, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 71, ptr noundef %160, ptr noundef %162, ptr noundef %164, i32 noundef %165) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

167:                                              ; preds = %138
  %168 = tail call i32 @s2n_init() #12
  %169 = icmp eq i32 %168, -1
  br i1 %169, label %170, label %194

170:                                              ; preds = %167
  %171 = tail call ptr @__errno_location() #13
  %172 = load i32, ptr %171, align 4, !tbaa !5
  %173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %174 = tail call i32 @s2n_print_stacktrace(ptr noundef %173) #12
  %175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %176 = trunc nuw i8 %175 to i1
  br i1 %176, label %177, label %181

177:                                              ; preds = %170
  %178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %179 = tail call i32 @fileno(ptr noundef %178) #12
  %180 = tail call i32 @isatty(i32 noundef %179) #12
  %.not1797 = icmp eq i32 %180, 0
  br i1 %.not1797, label %181, label %182

181:                                              ; preds = %177, %170
  br label %182

182:                                              ; preds = %177, %181
  %.str.5.sink1908 = phi ptr [ @.str.5, %181 ], [ @.str.2, %177 ]
  store i32 %172, ptr %171, align 4, !tbaa !5
  %183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %184 = load i32, ptr @test_count, align 4, !tbaa !5
  %185 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %186 = load i32, ptr %185, align 4, !tbaa !5
  %187 = tail call ptr @s2n_strerror(i32 noundef %186, ptr noundef nonnull @.str.4) #12
  %188 = load i32, ptr %185, align 4, !tbaa !5
  %189 = tail call ptr @s2n_strerror_debug(i32 noundef %188, ptr noundef nonnull @.str.4) #12
  %190 = load i32, ptr %171, align 4, !tbaa !5
  %191 = tail call ptr @strerror(i32 noundef %190) #12
  %192 = load i32, ptr %171, align 4, !tbaa !5
  %193 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %183, ptr noundef nonnull %.str.5.sink1908, i32 noundef %184, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 71, ptr noundef %187, ptr noundef %189, ptr noundef %191, i32 noundef %192) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

194:                                              ; preds = %167
  %195 = load i32, ptr @test_count, align 4, !tbaa !5
  %196 = add nsw i32 %195, 1
  store i32 %196, ptr @test_count, align 4, !tbaa !5
  %197 = tail call i32 (...) @s2n_disable_tls13_in_test() #12
  %198 = icmp eq i32 %197, -1
  br i1 %198, label %199, label %223

199:                                              ; preds = %194
  %200 = tail call ptr @__errno_location() #13
  %201 = load i32, ptr %200, align 4, !tbaa !5
  %202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %203 = tail call i32 @s2n_print_stacktrace(ptr noundef %202) #12
  %204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %205 = trunc nuw i8 %204 to i1
  br i1 %205, label %206, label %210

206:                                              ; preds = %199
  %207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %208 = tail call i32 @fileno(ptr noundef %207) #12
  %209 = tail call i32 @isatty(i32 noundef %208) #12
  %.not1796 = icmp eq i32 %209, 0
  br i1 %.not1796, label %210, label %211

210:                                              ; preds = %206, %199
  br label %211

211:                                              ; preds = %206, %210
  %.str.5.sink1919 = phi ptr [ @.str.5, %210 ], [ @.str.2, %206 ]
  store i32 %201, ptr %200, align 4, !tbaa !5
  %212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %213 = load i32, ptr @test_count, align 4, !tbaa !5
  %214 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %215 = load i32, ptr %214, align 4, !tbaa !5
  %216 = tail call ptr @s2n_strerror(i32 noundef %215, ptr noundef nonnull @.str.4) #12
  %217 = load i32, ptr %214, align 4, !tbaa !5
  %218 = tail call ptr @s2n_strerror_debug(i32 noundef %217, ptr noundef nonnull @.str.4) #12
  %219 = load i32, ptr %200, align 4, !tbaa !5
  %220 = tail call ptr @strerror(i32 noundef %219) #12
  %221 = load i32, ptr %200, align 4, !tbaa !5
  %222 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %212, ptr noundef nonnull %.str.5.sink1919, i32 noundef %213, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 72, ptr noundef %216, ptr noundef %218, ptr noundef %220, i32 noundef %221) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

223:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #12
  store ptr null, ptr %3, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %4) #12
  store ptr null, ptr %4, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #12
  store ptr null, ptr %5, align 8, !tbaa !9
  %224 = load i32, ptr @test_count, align 4, !tbaa !5
  %225 = add nsw i32 %224, 1
  store i32 %225, ptr @test_count, align 4, !tbaa !5
  %226 = call i32 @s2n_find_security_policy_from_version(ptr noundef nonnull @.str.9, ptr noundef nonnull %4) #12
  %227 = icmp eq i32 %226, -1
  br i1 %227, label %228, label %252

228:                                              ; preds = %223
  %229 = tail call ptr @__errno_location() #13
  %230 = load i32, ptr %229, align 4, !tbaa !5
  %231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %232 = call i32 @s2n_print_stacktrace(ptr noundef %231) #12
  %233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %234 = trunc nuw i8 %233 to i1
  br i1 %234, label %235, label %239

235:                                              ; preds = %228
  %236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %237 = call i32 @fileno(ptr noundef %236) #12
  %238 = call i32 @isatty(i32 noundef %237) #12
  %.not1795 = icmp eq i32 %238, 0
  br i1 %.not1795, label %239, label %240

239:                                              ; preds = %235, %228
  br label %240

240:                                              ; preds = %235, %239
  %.str.5.sink1930 = phi ptr [ @.str.5, %239 ], [ @.str.2, %235 ]
  store i32 %230, ptr %229, align 4, !tbaa !5
  %241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %242 = load i32, ptr @test_count, align 4, !tbaa !5
  %243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %244 = load i32, ptr %243, align 4, !tbaa !5
  %245 = call ptr @s2n_strerror(i32 noundef %244, ptr noundef nonnull @.str.4) #12
  %246 = load i32, ptr %243, align 4, !tbaa !5
  %247 = call ptr @s2n_strerror_debug(i32 noundef %246, ptr noundef nonnull @.str.4) #12
  %248 = load i32, ptr %229, align 4, !tbaa !5
  %249 = call ptr @strerror(i32 noundef %248) #12
  %250 = load i32, ptr %229, align 4, !tbaa !5
  %251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %241, ptr noundef nonnull %.str.5.sink1930, i32 noundef %242, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 77, ptr noundef %245, ptr noundef %247, ptr noundef %249, i32 noundef %250) #14
  call void @exit(i32 noundef 1) #15
  unreachable

252:                                              ; preds = %223
  %253 = load i32, ptr @test_count, align 4, !tbaa !5
  %254 = add nsw i32 %253, 1
  store i32 %254, ptr @test_count, align 4, !tbaa !5
  %255 = call i32 @s2n_find_security_policy_from_version(ptr noundef nonnull @.str.11, ptr noundef nonnull %5) #12
  %256 = icmp eq i32 %255, -1
  br i1 %256, label %257, label %281

257:                                              ; preds = %252
  %258 = tail call ptr @__errno_location() #13
  %259 = load i32, ptr %258, align 4, !tbaa !5
  %260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %261 = call i32 @s2n_print_stacktrace(ptr noundef %260) #12
  %262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %263 = trunc nuw i8 %262 to i1
  br i1 %263, label %264, label %268

264:                                              ; preds = %257
  %265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %266 = call i32 @fileno(ptr noundef %265) #12
  %267 = call i32 @isatty(i32 noundef %266) #12
  %.not1794 = icmp eq i32 %267, 0
  br i1 %.not1794, label %268, label %269

268:                                              ; preds = %264, %257
  br label %269

269:                                              ; preds = %264, %268
  %.str.5.sink1941 = phi ptr [ @.str.5, %268 ], [ @.str.2, %264 ]
  store i32 %259, ptr %258, align 4, !tbaa !5
  %270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %271 = load i32, ptr @test_count, align 4, !tbaa !5
  %272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %273 = load i32, ptr %272, align 4, !tbaa !5
  %274 = call ptr @s2n_strerror(i32 noundef %273, ptr noundef nonnull @.str.4) #12
  %275 = load i32, ptr %272, align 4, !tbaa !5
  %276 = call ptr @s2n_strerror_debug(i32 noundef %275, ptr noundef nonnull @.str.4) #12
  %277 = load i32, ptr %258, align 4, !tbaa !5
  %278 = call ptr @strerror(i32 noundef %277) #12
  %279 = load i32, ptr %258, align 4, !tbaa !5
  %280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %270, ptr noundef nonnull %.str.5.sink1941, i32 noundef %271, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 78, ptr noundef %274, ptr noundef %276, ptr noundef %278, i32 noundef %279) #14
  call void @exit(i32 noundef 1) #15
  unreachable

281:                                              ; preds = %252
  %282 = load i32, ptr @test_count, align 4, !tbaa !5
  %283 = add nsw i32 %282, 1
  store i32 %283, ptr @test_count, align 4, !tbaa !5
  %284 = call i32 @s2n_find_security_policy_from_version(ptr noundef nonnull @.str.13, ptr noundef nonnull %3) #12
  %285 = icmp eq i32 %284, -1
  br i1 %285, label %286, label %310

286:                                              ; preds = %281
  %287 = tail call ptr @__errno_location() #13
  %288 = load i32, ptr %287, align 4, !tbaa !5
  %289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %290 = call i32 @s2n_print_stacktrace(ptr noundef %289) #12
  %291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %292 = trunc nuw i8 %291 to i1
  br i1 %292, label %293, label %297

293:                                              ; preds = %286
  %294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %295 = call i32 @fileno(ptr noundef %294) #12
  %296 = call i32 @isatty(i32 noundef %295) #12
  %.not1793 = icmp eq i32 %296, 0
  br i1 %.not1793, label %297, label %298

297:                                              ; preds = %293, %286
  br label %298

298:                                              ; preds = %293, %297
  %.str.5.sink1952 = phi ptr [ @.str.5, %297 ], [ @.str.2, %293 ]
  store i32 %288, ptr %287, align 4, !tbaa !5
  %299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %300 = load i32, ptr @test_count, align 4, !tbaa !5
  %301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %302 = load i32, ptr %301, align 4, !tbaa !5
  %303 = call ptr @s2n_strerror(i32 noundef %302, ptr noundef nonnull @.str.4) #12
  %304 = load i32, ptr %301, align 4, !tbaa !5
  %305 = call ptr @s2n_strerror_debug(i32 noundef %304, ptr noundef nonnull @.str.4) #12
  %306 = load i32, ptr %287, align 4, !tbaa !5
  %307 = call ptr @strerror(i32 noundef %306) #12
  %308 = load i32, ptr %287, align 4, !tbaa !5
  %309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %299, ptr noundef nonnull %.str.5.sink1952, i32 noundef %300, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 79, ptr noundef %303, ptr noundef %305, ptr noundef %307, i32 noundef %308) #14
  call void @exit(i32 noundef 1) #15
  unreachable

310:                                              ; preds = %281
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %6) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(12000) %6, i8 0, i64 12000, i1 false)
  %311 = load i32, ptr @test_count, align 4, !tbaa !5
  %312 = add nsw i32 %311, 1
  store i32 %312, ptr @test_count, align 4, !tbaa !5
  %313 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.15, ptr noundef nonnull %6, i64 noundef 12000) #12
  %314 = icmp eq i32 %313, -1
  br i1 %314, label %315, label %339

315:                                              ; preds = %310
  %316 = tail call ptr @__errno_location() #13
  %317 = load i32, ptr %316, align 4, !tbaa !5
  %318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %319 = call i32 @s2n_print_stacktrace(ptr noundef %318) #12
  %320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %321 = trunc nuw i8 %320 to i1
  br i1 %321, label %322, label %326

322:                                              ; preds = %315
  %323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %324 = call i32 @fileno(ptr noundef %323) #12
  %325 = call i32 @isatty(i32 noundef %324) #12
  %.not1792 = icmp eq i32 %325, 0
  br i1 %.not1792, label %326, label %327

326:                                              ; preds = %322, %315
  br label %327

327:                                              ; preds = %322, %326
  %.str.5.sink1963 = phi ptr [ @.str.5, %326 ], [ @.str.2, %322 ]
  store i32 %317, ptr %316, align 4, !tbaa !5
  %328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %329 = load i32, ptr @test_count, align 4, !tbaa !5
  %330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %331 = load i32, ptr %330, align 4, !tbaa !5
  %332 = call ptr @s2n_strerror(i32 noundef %331, ptr noundef nonnull @.str.4) #12
  %333 = load i32, ptr %330, align 4, !tbaa !5
  %334 = call ptr @s2n_strerror_debug(i32 noundef %333, ptr noundef nonnull @.str.4) #12
  %335 = load i32, ptr %316, align 4, !tbaa !5
  %336 = call ptr @strerror(i32 noundef %335) #12
  %337 = load i32, ptr %316, align 4, !tbaa !5
  %338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %328, ptr noundef nonnull %.str.5.sink1963, i32 noundef %329, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %332, ptr noundef %334, ptr noundef %336, i32 noundef %337) #14
  call void @exit(i32 noundef 1) #15
  unreachable

339:                                              ; preds = %310
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %7) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(12000) %7, i8 0, i64 12000, i1 false)
  %340 = load i32, ptr @test_count, align 4, !tbaa !5
  %341 = add nsw i32 %340, 1
  store i32 %341, ptr @test_count, align 4, !tbaa !5
  %342 = call i32 @s2n_read_test_pem(ptr noundef nonnull @.str.17, ptr noundef nonnull %7, i64 noundef 12000) #12
  %343 = icmp eq i32 %342, -1
  br i1 %343, label %344, label %368

344:                                              ; preds = %339
  %345 = tail call ptr @__errno_location() #13
  %346 = load i32, ptr %345, align 4, !tbaa !5
  %347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %348 = call i32 @s2n_print_stacktrace(ptr noundef %347) #12
  %349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %350 = trunc nuw i8 %349 to i1
  br i1 %350, label %351, label %355

351:                                              ; preds = %344
  %352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %353 = call i32 @fileno(ptr noundef %352) #12
  %354 = call i32 @isatty(i32 noundef %353) #12
  %.not1791 = icmp eq i32 %354, 0
  br i1 %.not1791, label %355, label %356

355:                                              ; preds = %351, %344
  br label %356

356:                                              ; preds = %351, %355
  %.str.5.sink1974 = phi ptr [ @.str.5, %355 ], [ @.str.2, %351 ]
  store i32 %346, ptr %345, align 4, !tbaa !5
  %357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %358 = load i32, ptr @test_count, align 4, !tbaa !5
  %359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %360 = load i32, ptr %359, align 4, !tbaa !5
  %361 = call ptr @s2n_strerror(i32 noundef %360, ptr noundef nonnull @.str.4) #12
  %362 = load i32, ptr %359, align 4, !tbaa !5
  %363 = call ptr @s2n_strerror_debug(i32 noundef %362, ptr noundef nonnull @.str.4) #12
  %364 = load i32, ptr %345, align 4, !tbaa !5
  %365 = call ptr @strerror(i32 noundef %364) #12
  %366 = load i32, ptr %345, align 4, !tbaa !5
  %367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %357, ptr noundef nonnull %.str.5.sink1974, i32 noundef %358, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef %361, ptr noundef %363, ptr noundef %365, i32 noundef %366) #14
  call void @exit(i32 noundef 1) #15
  unreachable

368:                                              ; preds = %339
  %369 = load i32, ptr @test_count, align 4, !tbaa !5
  %370 = add nsw i32 %369, 1
  store i32 %370, ptr @test_count, align 4, !tbaa !5
  %371 = call ptr @s2n_config_new() #12
  %372 = icmp eq ptr %371, null
  br i1 %372, label %373, label %397

373:                                              ; preds = %368
  %374 = tail call ptr @__errno_location() #13
  %375 = load i32, ptr %374, 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 = %373
  %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
  %.not1790 = icmp eq i32 %383, 0
  br i1 %.not1790, label %384, label %385

384:                                              ; preds = %380, %373
  br label %385

385:                                              ; preds = %380, %384
  %.str.5.sink1985 = phi ptr [ @.str.5, %384 ], [ @.str.2, %380 ]
  store i32 %375, ptr %374, align 4, !tbaa !5
  %386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %387 = load i32, ptr @test_count, align 4, !tbaa !5
  %388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %389 = load i32, ptr %388, align 4, !tbaa !5
  %390 = call ptr @s2n_strerror(i32 noundef %389, ptr noundef nonnull @.str.4) #12
  %391 = load i32, ptr %388, align 4, !tbaa !5
  %392 = call ptr @s2n_strerror_debug(i32 noundef %391, ptr noundef nonnull @.str.4) #12
  %393 = load i32, ptr %374, align 4, !tbaa !5
  %394 = call ptr @strerror(i32 noundef %393) #12
  %395 = load i32, ptr %374, align 4, !tbaa !5
  %396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %386, ptr noundef nonnull %.str.5.sink1985, i32 noundef %387, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 90, ptr noundef %390, ptr noundef %392, ptr noundef %394, i32 noundef %395) #14
  call void @exit(i32 noundef 1) #15
  unreachable

397:                                              ; preds = %368
  %398 = load i32, ptr @test_count, align 4, !tbaa !5
  %399 = add nsw i32 %398, 1
  store i32 %399, ptr @test_count, align 4, !tbaa !5
  %400 = call ptr @s2n_fetch_default_config() #12
  %401 = icmp eq ptr %400, null
  br i1 %401, label %402, label %426

402:                                              ; preds = %397
  %403 = tail call ptr @__errno_location() #13
  %404 = load i32, ptr %403, align 4, !tbaa !5
  %405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %406 = call i32 @s2n_print_stacktrace(ptr noundef %405) #12
  %407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %408 = trunc nuw i8 %407 to i1
  br i1 %408, label %409, label %413

409:                                              ; preds = %402
  %410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %411 = call i32 @fileno(ptr noundef %410) #12
  %412 = call i32 @isatty(i32 noundef %411) #12
  %.not1789 = icmp eq i32 %412, 0
  br i1 %.not1789, label %413, label %414

413:                                              ; preds = %409, %402
  br label %414

414:                                              ; preds = %409, %413
  %.str.5.sink1996 = phi ptr [ @.str.5, %413 ], [ @.str.2, %409 ]
  store i32 %404, ptr %403, align 4, !tbaa !5
  %415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %416 = load i32, ptr @test_count, align 4, !tbaa !5
  %417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %418 = load i32, ptr %417, align 4, !tbaa !5
  %419 = call ptr @s2n_strerror(i32 noundef %418, ptr noundef nonnull @.str.4) #12
  %420 = load i32, ptr %417, align 4, !tbaa !5
  %421 = call ptr @s2n_strerror_debug(i32 noundef %420, ptr noundef nonnull @.str.4) #12
  %422 = load i32, ptr %403, align 4, !tbaa !5
  %423 = call ptr @strerror(i32 noundef %422) #12
  %424 = load i32, ptr %403, align 4, !tbaa !5
  %425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %415, ptr noundef nonnull %.str.5.sink1996, i32 noundef %416, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 91, ptr noundef %419, ptr noundef %421, ptr noundef %423, i32 noundef %424) #14
  call void @exit(i32 noundef 1) #15
  unreachable

426:                                              ; preds = %397
  %427 = load i32, ptr @test_count, align 4, !tbaa !5
  %428 = add nsw i32 %427, 1
  store i32 %428, ptr @test_count, align 4, !tbaa !5
  %429 = getelementptr inbounds i8, ptr %400, i64 96
  %430 = load ptr, ptr %429, align 8, !tbaa !15
  %431 = getelementptr inbounds i8, ptr %371, i64 96
  %432 = load ptr, ptr %431, align 8, !tbaa !15
  %433 = icmp eq ptr %430, %432
  br i1 %433, label %458, label %434

434:                                              ; preds = %426
  %435 = tail call ptr @__errno_location() #13
  %436 = load i32, ptr %435, align 4, !tbaa !5
  %437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %438 = call i32 @s2n_print_stacktrace(ptr noundef %437) #12
  %439 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %440 = trunc nuw i8 %439 to i1
  br i1 %440, label %441, label %445

441:                                              ; preds = %434
  %442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %443 = call i32 @fileno(ptr noundef %442) #12
  %444 = call i32 @isatty(i32 noundef %443) #12
  %.not = icmp eq i32 %444, 0
  br i1 %.not, label %445, label %446

445:                                              ; preds = %441, %434
  br label %446

446:                                              ; preds = %441, %445
  %.str.5.sink2007 = phi ptr [ @.str.5, %445 ], [ @.str.2, %441 ]
  store i32 %436, ptr %435, align 4, !tbaa !5
  %447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %448 = load i32, ptr @test_count, align 4, !tbaa !5
  %449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %450 = load i32, ptr %449, align 4, !tbaa !5
  %451 = call ptr @s2n_strerror(i32 noundef %450, ptr noundef nonnull @.str.4) #12
  %452 = load i32, ptr %449, align 4, !tbaa !5
  %453 = call ptr @s2n_strerror_debug(i32 noundef %452, ptr noundef nonnull @.str.4) #12
  %454 = load i32, ptr %435, align 4, !tbaa !5
  %455 = call ptr @strerror(i32 noundef %454) #12
  %456 = load i32, ptr %435, align 4, !tbaa !5
  %457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %447, ptr noundef nonnull %.str.5.sink2007, i32 noundef %448, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %451, ptr noundef %453, ptr noundef %455, i32 noundef %456) #14
  call void @exit(i32 noundef 1) #15
  unreachable

458:                                              ; preds = %426
  %459 = add nsw i32 %427, 2
  store i32 %459, ptr @test_count, align 4, !tbaa !5
  %460 = getelementptr inbounds i8, ptr %430, i64 24
  %461 = load ptr, ptr %460, align 8, !tbaa !22
  %462 = getelementptr inbounds i8, ptr %432, i64 24
  %463 = load ptr, ptr %462, align 8, !tbaa !22
  %464 = icmp eq ptr %461, %463
  br i1 %464, label %489, label %465

465:                                              ; preds = %458
  %466 = tail call ptr @__errno_location() #13
  %467 = load i32, ptr %466, align 4, !tbaa !5
  %468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %469 = call i32 @s2n_print_stacktrace(ptr noundef %468) #12
  %470 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %471 = trunc nuw i8 %470 to i1
  br i1 %471, label %472, label %476

472:                                              ; preds = %465
  %473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %474 = call i32 @fileno(ptr noundef %473) #12
  %475 = call i32 @isatty(i32 noundef %474) #12
  %.not1255 = icmp eq i32 %475, 0
  br i1 %.not1255, label %476, label %477

476:                                              ; preds = %472, %465
  br label %477

477:                                              ; preds = %472, %476
  %.str.5.sink2018 = phi ptr [ @.str.5, %476 ], [ @.str.2, %472 ]
  store i32 %467, ptr %466, align 4, !tbaa !5
  %478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %479 = load i32, ptr @test_count, align 4, !tbaa !5
  %480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %481 = load i32, ptr %480, align 4, !tbaa !5
  %482 = call ptr @s2n_strerror(i32 noundef %481, ptr noundef nonnull @.str.4) #12
  %483 = load i32, ptr %480, align 4, !tbaa !5
  %484 = call ptr @s2n_strerror_debug(i32 noundef %483, ptr noundef nonnull @.str.4) #12
  %485 = load i32, ptr %466, align 4, !tbaa !5
  %486 = call ptr @strerror(i32 noundef %485) #12
  %487 = load i32, ptr %466, align 4, !tbaa !5
  %488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %478, ptr noundef nonnull %.str.5.sink2018, i32 noundef %479, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %482, ptr noundef %484, ptr noundef %486, i32 noundef %487) #14
  call void @exit(i32 noundef 1) #15
  unreachable

489:                                              ; preds = %458
  %490 = add nsw i32 %427, 3
  store i32 %490, ptr @test_count, align 4, !tbaa !5
  %491 = getelementptr inbounds i8, ptr %400, i64 232
  %492 = load i32, ptr %491, align 8, !tbaa !24
  %493 = getelementptr inbounds i8, ptr %371, i64 232
  %494 = load i32, ptr %493, align 8, !tbaa !24
  %495 = icmp eq i32 %492, %494
  br i1 %495, label %520, label %496

496:                                              ; preds = %489
  %497 = tail call ptr @__errno_location() #13
  %498 = load i32, ptr %497, align 4, !tbaa !5
  %499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %500 = call i32 @s2n_print_stacktrace(ptr noundef %499) #12
  %501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %502 = trunc nuw i8 %501 to i1
  br i1 %502, label %503, label %507

503:                                              ; preds = %496
  %504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %505 = call i32 @fileno(ptr noundef %504) #12
  %506 = call i32 @isatty(i32 noundef %505) #12
  %.not1256 = icmp eq i32 %506, 0
  br i1 %.not1256, label %507, label %508

507:                                              ; preds = %503, %496
  br label %508

508:                                              ; preds = %503, %507
  %.str.5.sink2029 = phi ptr [ @.str.5, %507 ], [ @.str.2, %503 ]
  store i32 %498, ptr %497, align 4, !tbaa !5
  %509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %510 = load i32, ptr @test_count, align 4, !tbaa !5
  %511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %512 = load i32, ptr %511, align 4, !tbaa !5
  %513 = call ptr @s2n_strerror(i32 noundef %512, ptr noundef nonnull @.str.4) #12
  %514 = load i32, ptr %511, align 4, !tbaa !5
  %515 = call ptr @s2n_strerror_debug(i32 noundef %514, ptr noundef nonnull @.str.4) #12
  %516 = load i32, ptr %497, align 4, !tbaa !5
  %517 = call ptr @strerror(i32 noundef %516) #12
  %518 = load i32, ptr %497, align 4, !tbaa !5
  %519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %509, ptr noundef nonnull %.str.5.sink2029, i32 noundef %510, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 96, ptr noundef %513, ptr noundef %515, ptr noundef %517, i32 noundef %518) #14
  call void @exit(i32 noundef 1) #15
  unreachable

520:                                              ; preds = %489
  %521 = add nsw i32 %427, 4
  store i32 %521, ptr @test_count, align 4, !tbaa !5
  %522 = call ptr @s2n_fetch_default_config() #12
  %523 = icmp eq ptr %400, %522
  br i1 %523, label %548, label %524

524:                                              ; preds = %520
  %525 = tail call ptr @__errno_location() #13
  %526 = load i32, ptr %525, align 4, !tbaa !5
  %527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %528 = call i32 @s2n_print_stacktrace(ptr noundef %527) #12
  %529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %530 = trunc nuw i8 %529 to i1
  br i1 %530, label %531, label %535

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

535:                                              ; preds = %531, %524
  br label %536

536:                                              ; preds = %531, %535
  %.str.5.sink2040 = phi ptr [ @.str.5, %535 ], [ @.str.2, %531 ]
  store i32 %526, ptr %525, align 4, !tbaa !5
  %537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %538 = load i32, ptr @test_count, align 4, !tbaa !5
  %539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %540 = load i32, ptr %539, align 4, !tbaa !5
  %541 = call ptr @s2n_strerror(i32 noundef %540, ptr noundef nonnull @.str.4) #12
  %542 = load i32, ptr %539, align 4, !tbaa !5
  %543 = call ptr @s2n_strerror_debug(i32 noundef %542, ptr noundef nonnull @.str.4) #12
  %544 = load i32, ptr %525, align 4, !tbaa !5
  %545 = call ptr @strerror(i32 noundef %544) #12
  %546 = load i32, ptr %525, align 4, !tbaa !5
  %547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %537, ptr noundef nonnull %.str.5.sink2040, i32 noundef %538, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 99, ptr noundef %541, ptr noundef %543, ptr noundef %545, i32 noundef %546) #14
  call void @exit(i32 noundef 1) #15
  unreachable

548:                                              ; preds = %520
  %549 = load i32, ptr @test_count, align 4, !tbaa !5
  %550 = add nsw i32 %549, 1
  store i32 %550, ptr @test_count, align 4, !tbaa !5
  %551 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %552 = icmp eq i32 %551, -1
  br i1 %552, label %553, label %577

553:                                              ; preds = %548
  %554 = tail call ptr @__errno_location() #13
  %555 = load i32, ptr %554, align 4, !tbaa !5
  %556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %557 = call i32 @s2n_print_stacktrace(ptr noundef %556) #12
  %558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %559 = trunc nuw i8 %558 to i1
  br i1 %559, label %560, label %564

560:                                              ; preds = %553
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = call i32 @fileno(ptr noundef %561) #12
  %563 = call i32 @isatty(i32 noundef %562) #12
  %.not1788 = icmp eq i32 %563, 0
  br i1 %.not1788, label %564, label %565

564:                                              ; preds = %560, %553
  br label %565

565:                                              ; preds = %560, %564
  %.str.5.sink2051 = phi ptr [ @.str.5, %564 ], [ @.str.2, %560 ]
  store i32 %555, ptr %554, align 4, !tbaa !5
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = load i32, ptr @test_count, align 4, !tbaa !5
  %568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %569 = load i32, ptr %568, align 4, !tbaa !5
  %570 = call ptr @s2n_strerror(i32 noundef %569, ptr noundef nonnull @.str.4) #12
  %571 = load i32, ptr %568, align 4, !tbaa !5
  %572 = call ptr @s2n_strerror_debug(i32 noundef %571, ptr noundef nonnull @.str.4) #12
  %573 = load i32, ptr %554, align 4, !tbaa !5
  %574 = call ptr @strerror(i32 noundef %573) #12
  %575 = load i32, ptr %554, align 4, !tbaa !5
  %576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %566, ptr noundef nonnull %.str.5.sink2051, i32 noundef %567, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %570, ptr noundef %572, ptr noundef %574, i32 noundef %575) #14
  call void @exit(i32 noundef 1) #15
  unreachable

577:                                              ; preds = %548
  %578 = load i32, ptr @test_count, align 4, !tbaa !5
  %579 = add nsw i32 %578, 1
  store i32 %579, ptr @test_count, align 4, !tbaa !5
  %580 = call ptr @s2n_fetch_default_config() #12
  %581 = icmp eq ptr %400, %580
  br i1 %581, label %582, label %606

582:                                              ; preds = %577
  %583 = tail call ptr @__errno_location() #13
  %584 = load i32, ptr %583, align 4, !tbaa !5
  %585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %586 = call i32 @s2n_print_stacktrace(ptr noundef %585) #12
  %587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %588 = trunc nuw i8 %587 to i1
  br i1 %588, label %589, label %593

589:                                              ; preds = %582
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = call i32 @fileno(ptr noundef %590) #12
  %592 = call i32 @isatty(i32 noundef %591) #12
  %.not1787 = icmp eq i32 %592, 0
  br i1 %.not1787, label %593, label %594

593:                                              ; preds = %589, %582
  br label %594

594:                                              ; preds = %589, %593
  %.str.5.sink2062 = phi ptr [ @.str.5, %593 ], [ @.str.2, %589 ]
  store i32 %584, ptr %583, align 4, !tbaa !5
  %595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %596 = load i32, ptr @test_count, align 4, !tbaa !5
  %597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %598 = load i32, ptr %597, align 4, !tbaa !5
  %599 = call ptr @s2n_strerror(i32 noundef %598, ptr noundef nonnull @.str.4) #12
  %600 = load i32, ptr %597, align 4, !tbaa !5
  %601 = call ptr @s2n_strerror_debug(i32 noundef %600, ptr noundef nonnull @.str.4) #12
  %602 = load i32, ptr %583, align 4, !tbaa !5
  %603 = call ptr @strerror(i32 noundef %602) #12
  %604 = load i32, ptr %583, align 4, !tbaa !5
  %605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %595, ptr noundef nonnull %.str.5.sink2062, i32 noundef %596, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 103, ptr noundef %599, ptr noundef %601, ptr noundef %603, i32 noundef %604) #14
  call void @exit(i32 noundef 1) #15
  unreachable

606:                                              ; preds = %577
  %607 = load i32, ptr @test_count, align 4, !tbaa !5
  %608 = add nsw i32 %607, 1
  store i32 %608, ptr @test_count, align 4, !tbaa !5
  %609 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %610 = icmp eq i32 %609, -1
  br i1 %610, label %611, label %635

611:                                              ; preds = %606
  %612 = tail call ptr @__errno_location() #13
  %613 = load i32, ptr %612, align 4, !tbaa !5
  %614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %615 = call i32 @s2n_print_stacktrace(ptr noundef %614) #12
  %616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %617 = trunc nuw i8 %616 to i1
  br i1 %617, label %618, label %622

618:                                              ; preds = %611
  %619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %620 = call i32 @fileno(ptr noundef %619) #12
  %621 = call i32 @isatty(i32 noundef %620) #12
  %.not1786 = icmp eq i32 %621, 0
  br i1 %.not1786, label %622, label %623

622:                                              ; preds = %618, %611
  br label %623

623:                                              ; preds = %618, %622
  %.str.5.sink2073 = phi ptr [ @.str.5, %622 ], [ @.str.2, %618 ]
  store i32 %613, ptr %612, align 4, !tbaa !5
  %624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %625 = load i32, ptr @test_count, align 4, !tbaa !5
  %626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %627 = load i32, ptr %626, align 4, !tbaa !5
  %628 = call ptr @s2n_strerror(i32 noundef %627, ptr noundef nonnull @.str.4) #12
  %629 = load i32, ptr %626, align 4, !tbaa !5
  %630 = call ptr @s2n_strerror_debug(i32 noundef %629, ptr noundef nonnull @.str.4) #12
  %631 = load i32, ptr %612, align 4, !tbaa !5
  %632 = call ptr @strerror(i32 noundef %631) #12
  %633 = load i32, ptr %612, align 4, !tbaa !5
  %634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %624, ptr noundef nonnull %.str.5.sink2073, i32 noundef %625, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %628, ptr noundef %630, ptr noundef %632, i32 noundef %633) #14
  call void @exit(i32 noundef 1) #15
  unreachable

635:                                              ; preds = %606
  %636 = load i32, ptr @test_count, align 4, !tbaa !5
  %637 = add nsw i32 %636, 1
  store i32 %637, ptr @test_count, align 4, !tbaa !5
  %638 = call i32 @s2n_config_free(ptr noundef nonnull %371) #12
  %639 = icmp eq i32 %638, -1
  br i1 %639, label %640, label %664

640:                                              ; preds = %635
  %641 = tail call ptr @__errno_location() #13
  %642 = load i32, ptr %641, align 4, !tbaa !5
  %643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %644 = call i32 @s2n_print_stacktrace(ptr noundef %643) #12
  %645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %646 = trunc nuw i8 %645 to i1
  br i1 %646, label %647, label %651

647:                                              ; preds = %640
  %648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %649 = call i32 @fileno(ptr noundef %648) #12
  %650 = call i32 @isatty(i32 noundef %649) #12
  %.not1785 = icmp eq i32 %650, 0
  br i1 %.not1785, label %651, label %652

651:                                              ; preds = %647, %640
  br label %652

652:                                              ; preds = %647, %651
  %.str.5.sink2084 = phi ptr [ @.str.5, %651 ], [ @.str.2, %647 ]
  store i32 %642, ptr %641, align 4, !tbaa !5
  %653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %654 = load i32, ptr @test_count, align 4, !tbaa !5
  %655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %656 = load i32, ptr %655, align 4, !tbaa !5
  %657 = call ptr @s2n_strerror(i32 noundef %656, ptr noundef nonnull @.str.4) #12
  %658 = load i32, ptr %655, align 4, !tbaa !5
  %659 = call ptr @s2n_strerror_debug(i32 noundef %658, ptr noundef nonnull @.str.4) #12
  %660 = load i32, ptr %641, align 4, !tbaa !5
  %661 = call ptr @strerror(i32 noundef %660) #12
  %662 = load i32, ptr %641, align 4, !tbaa !5
  %663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %653, ptr noundef nonnull %.str.5.sink2084, i32 noundef %654, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %657, ptr noundef %659, ptr noundef %661, i32 noundef %662) #14
  call void @exit(i32 noundef 1) #15
  unreachable

664:                                              ; preds = %635
  %665 = call zeroext i1 @s2n_is_in_fips_mode() #12
  br i1 %665, label %814, label %666

666:                                              ; preds = %664
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %8) #12
  store ptr null, ptr %8, align 8, !tbaa !9
  %667 = load i32, ptr @test_count, align 4, !tbaa !5
  %668 = add nsw i32 %667, 1
  store i32 %668, ptr @test_count, align 4, !tbaa !5
  %669 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %670 = icmp eq ptr %669, null
  br i1 %670, label %671, label %695

671:                                              ; preds = %666
  %672 = tail call ptr @__errno_location() #13
  %673 = load i32, ptr %672, align 4, !tbaa !5
  %674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %675 = call i32 @s2n_print_stacktrace(ptr noundef %674) #12
  %676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %677 = trunc nuw i8 %676 to i1
  br i1 %677, label %678, label %682

678:                                              ; preds = %671
  %679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %680 = call i32 @fileno(ptr noundef %679) #12
  %681 = call i32 @isatty(i32 noundef %680) #12
  %.not1262 = icmp eq i32 %681, 0
  br i1 %.not1262, label %682, label %683

682:                                              ; preds = %678, %671
  br label %683

683:                                              ; preds = %678, %682
  %.str.5.sink2095 = phi ptr [ @.str.5, %682 ], [ @.str.2, %678 ]
  store i32 %673, ptr %672, align 4, !tbaa !5
  %684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %685 = load i32, ptr @test_count, align 4, !tbaa !5
  %686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %687 = load i32, ptr %686, align 4, !tbaa !5
  %688 = call ptr @s2n_strerror(i32 noundef %687, ptr noundef nonnull @.str.4) #12
  %689 = load i32, ptr %686, align 4, !tbaa !5
  %690 = call ptr @s2n_strerror_debug(i32 noundef %689, ptr noundef nonnull @.str.4) #12
  %691 = load i32, ptr %672, align 4, !tbaa !5
  %692 = call ptr @strerror(i32 noundef %691) #12
  %693 = load i32, ptr %672, align 4, !tbaa !5
  %694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %684, ptr noundef nonnull %.str.5.sink2095, i32 noundef %685, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %688, ptr noundef %690, ptr noundef %692, i32 noundef %693) #14
  call void @exit(i32 noundef 1) #15
  unreachable

695:                                              ; preds = %666
  %696 = load i32, ptr @test_count, align 4, !tbaa !5
  %697 = add nsw i32 %696, 1
  store i32 %697, ptr @test_count, align 4, !tbaa !5
  %698 = getelementptr inbounds i8, ptr %669, i64 8
  %699 = load ptr, ptr %698, align 8, !tbaa !25
  %700 = call ptr @s2n_fetch_default_config() #12
  %701 = icmp eq ptr %699, %700
  br i1 %701, label %726, label %702

702:                                              ; preds = %695
  %703 = tail call ptr @__errno_location() #13
  %704 = load i32, ptr %703, align 4, !tbaa !5
  %705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %706 = call i32 @s2n_print_stacktrace(ptr noundef %705) #12
  %707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %708 = trunc nuw i8 %707 to i1
  br i1 %708, label %709, label %713

709:                                              ; preds = %702
  %710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %711 = call i32 @fileno(ptr noundef %710) #12
  %712 = call i32 @isatty(i32 noundef %711) #12
  %.not1258 = icmp eq i32 %712, 0
  br i1 %.not1258, label %713, label %714

713:                                              ; preds = %709, %702
  br label %714

714:                                              ; preds = %709, %713
  %.str.5.sink2106 = phi ptr [ @.str.5, %713 ], [ @.str.2, %709 ]
  store i32 %704, ptr %703, align 4, !tbaa !5
  %715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %716 = load i32, ptr @test_count, align 4, !tbaa !5
  %717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %718 = load i32, ptr %717, align 4, !tbaa !5
  %719 = call ptr @s2n_strerror(i32 noundef %718, ptr noundef nonnull @.str.4) #12
  %720 = load i32, ptr %717, align 4, !tbaa !5
  %721 = call ptr @s2n_strerror_debug(i32 noundef %720, ptr noundef nonnull @.str.4) #12
  %722 = load i32, ptr %703, align 4, !tbaa !5
  %723 = call ptr @strerror(i32 noundef %722) #12
  %724 = load i32, ptr %703, align 4, !tbaa !5
  %725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %715, ptr noundef nonnull %.str.5.sink2106, i32 noundef %716, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %719, ptr noundef %721, ptr noundef %723, i32 noundef %724) #14
  call void @exit(i32 noundef 1) #15
  unreachable

726:                                              ; preds = %695
  %727 = load i32, ptr @test_count, align 4, !tbaa !5
  %728 = add nsw i32 %727, 1
  store i32 %728, ptr @test_count, align 4, !tbaa !5
  %729 = call i32 @s2n_connection_get_security_policy(ptr noundef nonnull %669, ptr noundef nonnull %8) #12
  %730 = icmp eq i32 %729, -1
  br i1 %730, label %731, label %755

731:                                              ; preds = %726
  %732 = tail call ptr @__errno_location() #13
  %733 = load i32, ptr %732, align 4, !tbaa !5
  %734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %735 = call i32 @s2n_print_stacktrace(ptr noundef %734) #12
  %736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %737 = trunc nuw i8 %736 to i1
  br i1 %737, label %738, label %742

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

742:                                              ; preds = %738, %731
  br label %743

743:                                              ; preds = %738, %742
  %.str.5.sink2117 = phi ptr [ @.str.5, %742 ], [ @.str.2, %738 ]
  store i32 %733, ptr %732, align 4, !tbaa !5
  %744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %745 = load i32, ptr @test_count, align 4, !tbaa !5
  %746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %747 = load i32, ptr %746, align 4, !tbaa !5
  %748 = call ptr @s2n_strerror(i32 noundef %747, ptr noundef nonnull @.str.4) #12
  %749 = load i32, ptr %746, align 4, !tbaa !5
  %750 = call ptr @s2n_strerror_debug(i32 noundef %749, ptr noundef nonnull @.str.4) #12
  %751 = load i32, ptr %732, align 4, !tbaa !5
  %752 = call ptr @strerror(i32 noundef %751) #12
  %753 = load i32, ptr %732, align 4, !tbaa !5
  %754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %744, ptr noundef nonnull %.str.5.sink2117, i32 noundef %745, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %748, ptr noundef %750, ptr noundef %752, i32 noundef %753) #14
  call void @exit(i32 noundef 1) #15
  unreachable

755:                                              ; preds = %726
  %756 = load i32, ptr @test_count, align 4, !tbaa !5
  %757 = add nsw i32 %756, 1
  store i32 %757, ptr @test_count, align 4, !tbaa !5
  %758 = load ptr, ptr %8, align 8, !tbaa !9
  %759 = load ptr, ptr %3, align 8, !tbaa !9
  %760 = icmp eq ptr %758, %759
  br i1 %760, label %785, label %761

761:                                              ; preds = %755
  %762 = tail call ptr @__errno_location() #13
  %763 = load i32, ptr %762, align 4, !tbaa !5
  %764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %765 = call i32 @s2n_print_stacktrace(ptr noundef %764) #12
  %766 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %767 = trunc nuw i8 %766 to i1
  br i1 %767, label %768, label %772

768:                                              ; preds = %761
  %769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %770 = call i32 @fileno(ptr noundef %769) #12
  %771 = call i32 @isatty(i32 noundef %770) #12
  %.not1259 = icmp eq i32 %771, 0
  br i1 %.not1259, label %772, label %773

772:                                              ; preds = %768, %761
  br label %773

773:                                              ; preds = %768, %772
  %.str.5.sink2128 = phi ptr [ @.str.5, %772 ], [ @.str.2, %768 ]
  store i32 %763, ptr %762, align 4, !tbaa !5
  %774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %775 = load i32, ptr @test_count, align 4, !tbaa !5
  %776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %777 = load i32, ptr %776, align 4, !tbaa !5
  %778 = call ptr @s2n_strerror(i32 noundef %777, ptr noundef nonnull @.str.4) #12
  %779 = load i32, ptr %776, align 4, !tbaa !5
  %780 = call ptr @s2n_strerror_debug(i32 noundef %779, ptr noundef nonnull @.str.4) #12
  %781 = load i32, ptr %762, align 4, !tbaa !5
  %782 = call ptr @strerror(i32 noundef %781) #12
  %783 = load i32, ptr %762, align 4, !tbaa !5
  %784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %774, ptr noundef nonnull %.str.5.sink2128, i32 noundef %775, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %778, ptr noundef %780, ptr noundef %782, i32 noundef %783) #14
  call void @exit(i32 noundef 1) #15
  unreachable

785:                                              ; preds = %755
  %786 = add nsw i32 %756, 2
  store i32 %786, ptr @test_count, align 4, !tbaa !5
  %787 = call i32 @s2n_connection_free(ptr noundef nonnull %669) #12
  %788 = icmp eq i32 %787, -1
  br i1 %788, label %789, label %813

789:                                              ; preds = %785
  %790 = tail call ptr @__errno_location() #13
  %791 = load i32, ptr %790, align 4, !tbaa !5
  %792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %793 = call i32 @s2n_print_stacktrace(ptr noundef %792) #12
  %794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %795 = trunc nuw i8 %794 to i1
  br i1 %795, label %796, label %800

796:                                              ; preds = %789
  %797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %798 = call i32 @fileno(ptr noundef %797) #12
  %799 = call i32 @isatty(i32 noundef %798) #12
  %.not1260 = icmp eq i32 %799, 0
  br i1 %.not1260, label %800, label %801

800:                                              ; preds = %796, %789
  br label %801

801:                                              ; preds = %796, %800
  %.str.5.sink2139 = phi ptr [ @.str.5, %800 ], [ @.str.2, %796 ]
  store i32 %791, ptr %790, align 4, !tbaa !5
  %802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %803 = load i32, ptr @test_count, align 4, !tbaa !5
  %804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %805 = load i32, ptr %804, align 4, !tbaa !5
  %806 = call ptr @s2n_strerror(i32 noundef %805, ptr noundef nonnull @.str.4) #12
  %807 = load i32, ptr %804, align 4, !tbaa !5
  %808 = call ptr @s2n_strerror_debug(i32 noundef %807, ptr noundef nonnull @.str.4) #12
  %809 = load i32, ptr %790, align 4, !tbaa !5
  %810 = call ptr @strerror(i32 noundef %809) #12
  %811 = load i32, ptr %790, align 4, !tbaa !5
  %812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %802, ptr noundef nonnull %.str.5.sink2139, i32 noundef %803, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %806, ptr noundef %808, ptr noundef %810, i32 noundef %811) #14
  call void @exit(i32 noundef 1) #15
  unreachable

813:                                              ; preds = %785
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %8) #12
  br label %814

814:                                              ; preds = %664, %813
  %815 = load i32, ptr @test_count, align 4, !tbaa !5
  %816 = add nsw i32 %815, 1
  store i32 %816, ptr @test_count, align 4, !tbaa !5
  %817 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %818 = icmp eq i32 %817, -1
  br i1 %818, label %819, label %843

819:                                              ; preds = %814
  %820 = tail call ptr @__errno_location() #13
  %821 = load i32, ptr %820, align 4, !tbaa !5
  %822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %823 = call i32 @s2n_print_stacktrace(ptr noundef %822) #12
  %824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %825 = trunc nuw i8 %824 to i1
  br i1 %825, label %826, label %830

826:                                              ; preds = %819
  %827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %828 = call i32 @fileno(ptr noundef %827) #12
  %829 = call i32 @isatty(i32 noundef %828) #12
  %.not1784 = icmp eq i32 %829, 0
  br i1 %.not1784, label %830, label %831

830:                                              ; preds = %826, %819
  br label %831

831:                                              ; preds = %826, %830
  %.str.5.sink2150 = phi ptr [ @.str.5, %830 ], [ @.str.2, %826 ]
  store i32 %821, ptr %820, align 4, !tbaa !5
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = load i32, ptr @test_count, align 4, !tbaa !5
  %834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %835 = load i32, ptr %834, align 4, !tbaa !5
  %836 = call ptr @s2n_strerror(i32 noundef %835, ptr noundef nonnull @.str.4) #12
  %837 = load i32, ptr %834, align 4, !tbaa !5
  %838 = call ptr @s2n_strerror_debug(i32 noundef %837, ptr noundef nonnull @.str.4) #12
  %839 = load i32, ptr %820, align 4, !tbaa !5
  %840 = call ptr @strerror(i32 noundef %839) #12
  %841 = load i32, ptr %820, align 4, !tbaa !5
  %842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %832, ptr noundef nonnull %.str.5.sink2150, i32 noundef %833, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 127, ptr noundef %836, ptr noundef %838, ptr noundef %840, i32 noundef %841) #14
  call void @exit(i32 noundef 1) #15
  unreachable

843:                                              ; preds = %814
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %9) #12
  store ptr null, ptr %9, align 8, !tbaa !9
  %844 = load i32, ptr @test_count, align 4, !tbaa !5
  %845 = add nsw i32 %844, 1
  store i32 %845, ptr @test_count, align 4, !tbaa !5
  %846 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %847 = icmp eq ptr %846, null
  br i1 %847, label %848, label %872

848:                                              ; preds = %843
  %849 = tail call ptr @__errno_location() #13
  %850 = load i32, ptr %849, align 4, !tbaa !5
  %851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %852 = call i32 @s2n_print_stacktrace(ptr noundef %851) #12
  %853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %854 = trunc nuw i8 %853 to i1
  br i1 %854, label %855, label %859

855:                                              ; preds = %848
  %856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %857 = call i32 @fileno(ptr noundef %856) #12
  %858 = call i32 @isatty(i32 noundef %857) #12
  %.not1783 = icmp eq i32 %858, 0
  br i1 %.not1783, label %859, label %860

859:                                              ; preds = %855, %848
  br label %860

860:                                              ; preds = %855, %859
  %.str.5.sink2161 = phi ptr [ @.str.5, %859 ], [ @.str.2, %855 ]
  store i32 %850, ptr %849, align 4, !tbaa !5
  %861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %862 = load i32, ptr @test_count, align 4, !tbaa !5
  %863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %864 = load i32, ptr %863, align 4, !tbaa !5
  %865 = call ptr @s2n_strerror(i32 noundef %864, ptr noundef nonnull @.str.4) #12
  %866 = load i32, ptr %863, align 4, !tbaa !5
  %867 = call ptr @s2n_strerror_debug(i32 noundef %866, ptr noundef nonnull @.str.4) #12
  %868 = load i32, ptr %849, align 4, !tbaa !5
  %869 = call ptr @strerror(i32 noundef %868) #12
  %870 = load i32, ptr %849, align 4, !tbaa !5
  %871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %861, ptr noundef nonnull %.str.5.sink2161, i32 noundef %862, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %865, ptr noundef %867, ptr noundef %869, i32 noundef %870) #14
  call void @exit(i32 noundef 1) #15
  unreachable

872:                                              ; preds = %843
  %873 = load i32, ptr @test_count, align 4, !tbaa !5
  %874 = add nsw i32 %873, 1
  store i32 %874, ptr @test_count, align 4, !tbaa !5
  %875 = getelementptr inbounds i8, ptr %846, i64 8
  %876 = load ptr, ptr %875, align 8, !tbaa !25
  %877 = call ptr @s2n_fetch_default_config() #12
  %878 = icmp eq ptr %876, %877
  br i1 %878, label %903, label %879

879:                                              ; preds = %872
  %880 = tail call ptr @__errno_location() #13
  %881 = load i32, ptr %880, align 4, !tbaa !5
  %882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %883 = call i32 @s2n_print_stacktrace(ptr noundef %882) #12
  %884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %885 = trunc nuw i8 %884 to i1
  br i1 %885, label %886, label %890

886:                                              ; preds = %879
  %887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %888 = call i32 @fileno(ptr noundef %887) #12
  %889 = call i32 @isatty(i32 noundef %888) #12
  %.not1263 = icmp eq i32 %889, 0
  br i1 %.not1263, label %890, label %891

890:                                              ; preds = %886, %879
  br label %891

891:                                              ; preds = %886, %890
  %.str.5.sink2172 = phi ptr [ @.str.5, %890 ], [ @.str.2, %886 ]
  store i32 %881, ptr %880, align 4, !tbaa !5
  %892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %893 = load i32, ptr @test_count, align 4, !tbaa !5
  %894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %895 = load i32, ptr %894, align 4, !tbaa !5
  %896 = call ptr @s2n_strerror(i32 noundef %895, ptr noundef nonnull @.str.4) #12
  %897 = load i32, ptr %894, align 4, !tbaa !5
  %898 = call ptr @s2n_strerror_debug(i32 noundef %897, ptr noundef nonnull @.str.4) #12
  %899 = load i32, ptr %880, align 4, !tbaa !5
  %900 = call ptr @strerror(i32 noundef %899) #12
  %901 = load i32, ptr %880, align 4, !tbaa !5
  %902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %892, ptr noundef nonnull %.str.5.sink2172, i32 noundef %893, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %896, ptr noundef %898, ptr noundef %900, i32 noundef %901) #14
  call void @exit(i32 noundef 1) #15
  unreachable

903:                                              ; preds = %872
  %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 = call i32 @s2n_connection_get_security_policy(ptr noundef nonnull %846, ptr noundef nonnull %9) #12
  %907 = icmp eq i32 %906, -1
  br i1 %907, label %908, label %932

908:                                              ; preds = %903
  %909 = tail call ptr @__errno_location() #13
  %910 = load i32, ptr %909, align 4, !tbaa !5
  %911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %912 = call i32 @s2n_print_stacktrace(ptr noundef %911) #12
  %913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %914 = trunc nuw i8 %913 to i1
  br i1 %914, label %915, label %919

915:                                              ; preds = %908
  %916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %917 = call i32 @fileno(ptr noundef %916) #12
  %918 = call i32 @isatty(i32 noundef %917) #12
  %.not1782 = icmp eq i32 %918, 0
  br i1 %.not1782, label %919, label %920

919:                                              ; preds = %915, %908
  br label %920

920:                                              ; preds = %915, %919
  %.str.5.sink2183 = phi ptr [ @.str.5, %919 ], [ @.str.2, %915 ]
  store i32 %910, ptr %909, align 4, !tbaa !5
  %921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %922 = load i32, ptr @test_count, align 4, !tbaa !5
  %923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %924 = load i32, ptr %923, align 4, !tbaa !5
  %925 = call ptr @s2n_strerror(i32 noundef %924, ptr noundef nonnull @.str.4) #12
  %926 = load i32, ptr %923, align 4, !tbaa !5
  %927 = call ptr @s2n_strerror_debug(i32 noundef %926, ptr noundef nonnull @.str.4) #12
  %928 = load i32, ptr %909, align 4, !tbaa !5
  %929 = call ptr @strerror(i32 noundef %928) #12
  %930 = load i32, ptr %909, align 4, !tbaa !5
  %931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %921, ptr noundef nonnull %.str.5.sink2183, i32 noundef %922, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 134, ptr noundef %925, ptr noundef %927, ptr noundef %929, i32 noundef %930) #14
  call void @exit(i32 noundef 1) #15
  unreachable

932:                                              ; preds = %903
  %933 = load i32, ptr @test_count, align 4, !tbaa !5
  %934 = add nsw i32 %933, 1
  store i32 %934, ptr @test_count, align 4, !tbaa !5
  %935 = load ptr, ptr %9, align 8, !tbaa !9
  %936 = load ptr, ptr %4, align 8, !tbaa !9
  %937 = icmp eq ptr %935, %936
  br i1 %937, label %962, label %938

938:                                              ; preds = %932
  %939 = tail call ptr @__errno_location() #13
  %940 = load i32, ptr %939, align 4, !tbaa !5
  %941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %942 = call i32 @s2n_print_stacktrace(ptr noundef %941) #12
  %943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %944 = trunc nuw i8 %943 to i1
  br i1 %944, label %945, label %949

945:                                              ; preds = %938
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = call i32 @fileno(ptr noundef %946) #12
  %948 = call i32 @isatty(i32 noundef %947) #12
  %.not1264 = icmp eq i32 %948, 0
  br i1 %.not1264, label %949, label %950

949:                                              ; preds = %945, %938
  br label %950

950:                                              ; preds = %945, %949
  %.str.5.sink2194 = phi ptr [ @.str.5, %949 ], [ @.str.2, %945 ]
  store i32 %940, ptr %939, align 4, !tbaa !5
  %951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %952 = load i32, ptr @test_count, align 4, !tbaa !5
  %953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %954 = load i32, ptr %953, align 4, !tbaa !5
  %955 = call ptr @s2n_strerror(i32 noundef %954, ptr noundef nonnull @.str.4) #12
  %956 = load i32, ptr %953, align 4, !tbaa !5
  %957 = call ptr @s2n_strerror_debug(i32 noundef %956, ptr noundef nonnull @.str.4) #12
  %958 = load i32, ptr %939, align 4, !tbaa !5
  %959 = call ptr @strerror(i32 noundef %958) #12
  %960 = load i32, ptr %939, align 4, !tbaa !5
  %961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %951, ptr noundef nonnull %.str.5.sink2194, i32 noundef %952, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %955, ptr noundef %957, ptr noundef %959, i32 noundef %960) #14
  call void @exit(i32 noundef 1) #15
  unreachable

962:                                              ; preds = %932
  %963 = add nsw i32 %933, 2
  store i32 %963, ptr @test_count, align 4, !tbaa !5
  %964 = call i32 @s2n_connection_free(ptr noundef nonnull %846) #12
  %965 = icmp eq i32 %964, -1
  br i1 %965, label %966, label %990

966:                                              ; preds = %962
  %967 = tail call ptr @__errno_location() #13
  %968 = load i32, ptr %967, align 4, !tbaa !5
  %969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %970 = call i32 @s2n_print_stacktrace(ptr noundef %969) #12
  %971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %972 = trunc nuw i8 %971 to i1
  br i1 %972, label %973, label %977

973:                                              ; preds = %966
  %974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %975 = call i32 @fileno(ptr noundef %974) #12
  %976 = call i32 @isatty(i32 noundef %975) #12
  %.not1781 = icmp eq i32 %976, 0
  br i1 %.not1781, label %977, label %978

977:                                              ; preds = %973, %966
  br label %978

978:                                              ; preds = %973, %977
  %.str.5.sink2205 = phi ptr [ @.str.5, %977 ], [ @.str.2, %973 ]
  store i32 %968, ptr %967, align 4, !tbaa !5
  %979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %980 = load i32, ptr @test_count, align 4, !tbaa !5
  %981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %982 = load i32, ptr %981, align 4, !tbaa !5
  %983 = call ptr @s2n_strerror(i32 noundef %982, ptr noundef nonnull @.str.4) #12
  %984 = load i32, ptr %981, align 4, !tbaa !5
  %985 = call ptr @s2n_strerror_debug(i32 noundef %984, ptr noundef nonnull @.str.4) #12
  %986 = load i32, ptr %967, align 4, !tbaa !5
  %987 = call ptr @strerror(i32 noundef %986) #12
  %988 = load i32, ptr %967, align 4, !tbaa !5
  %989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %979, ptr noundef nonnull %.str.5.sink2205, i32 noundef %980, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 137, ptr noundef %983, ptr noundef %985, ptr noundef %987, i32 noundef %988) #14
  call void @exit(i32 noundef 1) #15
  unreachable

990:                                              ; preds = %962
  %991 = load i32, ptr @test_count, align 4, !tbaa !5
  %992 = add nsw i32 %991, 1
  store i32 %992, ptr @test_count, align 4, !tbaa !5
  %993 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %994 = icmp eq i32 %993, -1
  br i1 %994, label %995, label %1019

995:                                              ; preds = %990
  %996 = tail call ptr @__errno_location() #13
  %997 = load i32, ptr %996, align 4, !tbaa !5
  %998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %999 = call i32 @s2n_print_stacktrace(ptr noundef %998) #12
  %1000 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1001 = trunc nuw i8 %1000 to i1
  br i1 %1001, label %1002, label %1006

1002:                                             ; preds = %995
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = call i32 @fileno(ptr noundef %1003) #12
  %1005 = call i32 @isatty(i32 noundef %1004) #12
  %.not1780 = icmp eq i32 %1005, 0
  br i1 %.not1780, label %1006, label %1007

1006:                                             ; preds = %1002, %995
  br label %1007

1007:                                             ; preds = %1002, %1006
  %.str.5.sink2216 = phi ptr [ @.str.5, %1006 ], [ @.str.2, %1002 ]
  store i32 %997, ptr %996, align 4, !tbaa !5
  %1008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1009 = load i32, ptr @test_count, align 4, !tbaa !5
  %1010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1011 = load i32, ptr %1010, align 4, !tbaa !5
  %1012 = call ptr @s2n_strerror(i32 noundef %1011, ptr noundef nonnull @.str.4) #12
  %1013 = load i32, ptr %1010, align 4, !tbaa !5
  %1014 = call ptr @s2n_strerror_debug(i32 noundef %1013, ptr noundef nonnull @.str.4) #12
  %1015 = load i32, ptr %996, align 4, !tbaa !5
  %1016 = call ptr @strerror(i32 noundef %1015) #12
  %1017 = load i32, ptr %996, align 4, !tbaa !5
  %1018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1008, ptr noundef nonnull %.str.5.sink2216, i32 noundef %1009, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %1012, ptr noundef %1014, ptr noundef %1016, i32 noundef %1017) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1019:                                             ; preds = %990
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %9) #12
  %1020 = call zeroext i1 @s2n_is_in_fips_mode() #12
  br i1 %1020, label %1021, label %1198

1021:                                             ; preds = %1019
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #12
  store ptr null, ptr %10, align 8, !tbaa !9
  %1022 = load i32, ptr @test_count, align 4, !tbaa !5
  %1023 = add nsw i32 %1022, 1
  store i32 %1023, ptr @test_count, align 4, !tbaa !5
  %1024 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %1025 = icmp eq ptr %1024, null
  br i1 %1025, label %1026, label %1050

1026:                                             ; preds = %1021
  %1027 = tail call ptr @__errno_location() #13
  %1028 = load i32, ptr %1027, align 4, !tbaa !5
  %1029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1030 = call i32 @s2n_print_stacktrace(ptr noundef %1029) #12
  %1031 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1032 = trunc nuw i8 %1031 to i1
  br i1 %1032, label %1033, label %1037

1033:                                             ; preds = %1026
  %1034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1035 = call i32 @fileno(ptr noundef %1034) #12
  %1036 = call i32 @isatty(i32 noundef %1035) #12
  %.not1779 = icmp eq i32 %1036, 0
  br i1 %.not1779, label %1037, label %1038

1037:                                             ; preds = %1033, %1026
  br label %1038

1038:                                             ; preds = %1033, %1037
  %.str.5.sink2227 = phi ptr [ @.str.5, %1037 ], [ @.str.2, %1033 ]
  store i32 %1028, ptr %1027, align 4, !tbaa !5
  %1039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1040 = load i32, ptr @test_count, align 4, !tbaa !5
  %1041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1042 = load i32, ptr %1041, align 4, !tbaa !5
  %1043 = call ptr @s2n_strerror(i32 noundef %1042, ptr noundef nonnull @.str.4) #12
  %1044 = load i32, ptr %1041, align 4, !tbaa !5
  %1045 = call ptr @s2n_strerror_debug(i32 noundef %1044, ptr noundef nonnull @.str.4) #12
  %1046 = load i32, ptr %1027, align 4, !tbaa !5
  %1047 = call ptr @strerror(i32 noundef %1046) #12
  %1048 = load i32, ptr %1027, align 4, !tbaa !5
  %1049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1039, ptr noundef nonnull %.str.5.sink2227, i32 noundef %1040, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 145, ptr noundef %1043, ptr noundef %1045, ptr noundef %1047, i32 noundef %1048) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1050:                                             ; preds = %1021
  %1051 = load i32, ptr @test_count, align 4, !tbaa !5
  %1052 = add nsw i32 %1051, 1
  store i32 %1052, ptr @test_count, align 4, !tbaa !5
  %1053 = getelementptr inbounds i8, ptr %1024, i64 8
  %1054 = load ptr, ptr %1053, align 8, !tbaa !25
  %1055 = call ptr @s2n_fetch_default_config() #12
  %1056 = icmp eq ptr %1054, %1055
  br i1 %1056, label %1081, label %1057

1057:                                             ; preds = %1050
  %1058 = tail call ptr @__errno_location() #13
  %1059 = load i32, ptr %1058, align 4, !tbaa !5
  %1060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1061 = call i32 @s2n_print_stacktrace(ptr noundef %1060) #12
  %1062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1063 = trunc nuw i8 %1062 to i1
  br i1 %1063, label %1064, label %1068

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

1068:                                             ; preds = %1064, %1057
  br label %1069

1069:                                             ; preds = %1064, %1068
  %.str.5.sink2238 = phi ptr [ @.str.5, %1068 ], [ @.str.2, %1064 ]
  store i32 %1059, ptr %1058, align 4, !tbaa !5
  %1070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1071 = load i32, ptr @test_count, align 4, !tbaa !5
  %1072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1073 = load i32, ptr %1072, align 4, !tbaa !5
  %1074 = call ptr @s2n_strerror(i32 noundef %1073, ptr noundef nonnull @.str.4) #12
  %1075 = load i32, ptr %1072, align 4, !tbaa !5
  %1076 = call ptr @s2n_strerror_debug(i32 noundef %1075, ptr noundef nonnull @.str.4) #12
  %1077 = load i32, ptr %1058, align 4, !tbaa !5
  %1078 = call ptr @strerror(i32 noundef %1077) #12
  %1079 = load i32, ptr %1058, align 4, !tbaa !5
  %1080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1070, ptr noundef nonnull %.str.5.sink2238, i32 noundef %1071, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1074, ptr noundef %1076, ptr noundef %1078, i32 noundef %1079) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1081:                                             ; preds = %1050
  %1082 = load i32, ptr @test_count, align 4, !tbaa !5
  %1083 = add nsw i32 %1082, 1
  store i32 %1083, ptr @test_count, align 4, !tbaa !5
  %1084 = call i32 @s2n_connection_get_security_policy(ptr noundef nonnull %1024, ptr noundef nonnull %10) #12
  %1085 = icmp eq i32 %1084, -1
  br i1 %1085, label %1086, label %1110

1086:                                             ; preds = %1081
  %1087 = tail call ptr @__errno_location() #13
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1090 = call i32 @s2n_print_stacktrace(ptr noundef %1089) #12
  %1091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1092 = trunc nuw i8 %1091 to i1
  br i1 %1092, label %1093, label %1097

1093:                                             ; preds = %1086
  %1094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1095 = call i32 @fileno(ptr noundef %1094) #12
  %1096 = call i32 @isatty(i32 noundef %1095) #12
  %.not1778 = icmp eq i32 %1096, 0
  br i1 %.not1778, label %1097, label %1098

1097:                                             ; preds = %1093, %1086
  br label %1098

1098:                                             ; preds = %1093, %1097
  %.str.5.sink2249 = phi ptr [ @.str.5, %1097 ], [ @.str.2, %1093 ]
  store i32 %1088, ptr %1087, align 4, !tbaa !5
  %1099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1100 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1102, ptr noundef nonnull @.str.4) #12
  %1104 = load i32, ptr %1101, align 4, !tbaa !5
  %1105 = call ptr @s2n_strerror_debug(i32 noundef %1104, ptr noundef nonnull @.str.4) #12
  %1106 = load i32, ptr %1087, align 4, !tbaa !5
  %1107 = call ptr @strerror(i32 noundef %1106) #12
  %1108 = load i32, ptr %1087, align 4, !tbaa !5
  %1109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1099, ptr noundef nonnull %.str.5.sink2249, i32 noundef %1100, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %1103, ptr noundef %1105, ptr noundef %1107, i32 noundef %1108) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1110:                                             ; preds = %1081
  %1111 = load i32, ptr @test_count, align 4, !tbaa !5
  %1112 = add nsw i32 %1111, 1
  store i32 %1112, ptr @test_count, align 4, !tbaa !5
  %1113 = load ptr, ptr %10, align 8, !tbaa !9
  %1114 = load ptr, ptr %5, align 8, !tbaa !9
  %1115 = icmp eq ptr %1113, %1114
  br i1 %1115, label %1140, label %1116

1116:                                             ; preds = %1110
  %1117 = tail call ptr @__errno_location() #13
  %1118 = load i32, ptr %1117, align 4, !tbaa !5
  %1119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1120 = call i32 @s2n_print_stacktrace(ptr noundef %1119) #12
  %1121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1122 = trunc nuw i8 %1121 to i1
  br i1 %1122, label %1123, label %1127

1123:                                             ; preds = %1116
  %1124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1125 = call i32 @fileno(ptr noundef %1124) #12
  %1126 = call i32 @isatty(i32 noundef %1125) #12
  %.not1266 = icmp eq i32 %1126, 0
  br i1 %.not1266, label %1127, label %1128

1127:                                             ; preds = %1123, %1116
  br label %1128

1128:                                             ; preds = %1123, %1127
  %.str.5.sink2260 = phi ptr [ @.str.5, %1127 ], [ @.str.2, %1123 ]
  store i32 %1118, ptr %1117, align 4, !tbaa !5
  %1129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1130 = load i32, ptr @test_count, align 4, !tbaa !5
  %1131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1132 = load i32, ptr %1131, align 4, !tbaa !5
  %1133 = call ptr @s2n_strerror(i32 noundef %1132, ptr noundef nonnull @.str.4) #12
  %1134 = load i32, ptr %1131, align 4, !tbaa !5
  %1135 = call ptr @s2n_strerror_debug(i32 noundef %1134, ptr noundef nonnull @.str.4) #12
  %1136 = load i32, ptr %1117, align 4, !tbaa !5
  %1137 = call ptr @strerror(i32 noundef %1136) #12
  %1138 = load i32, ptr %1117, align 4, !tbaa !5
  %1139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1129, ptr noundef nonnull %.str.5.sink2260, i32 noundef %1130, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %1133, ptr noundef %1135, ptr noundef %1137, i32 noundef %1138) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1140:                                             ; preds = %1110
  %1141 = add nsw i32 %1111, 2
  store i32 %1141, ptr @test_count, align 4, !tbaa !5
  %1142 = call i32 @s2n_connection_free(ptr noundef nonnull %1024) #12
  %1143 = icmp eq i32 %1142, -1
  br i1 %1143, label %1144, label %1168

1144:                                             ; preds = %1140
  %1145 = tail call ptr @__errno_location() #13
  %1146 = load i32, ptr %1145, align 4, !tbaa !5
  %1147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1148 = call i32 @s2n_print_stacktrace(ptr noundef %1147) #12
  %1149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1150 = trunc nuw i8 %1149 to i1
  br i1 %1150, label %1151, label %1155

1151:                                             ; preds = %1144
  %1152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1153 = call i32 @fileno(ptr noundef %1152) #12
  %1154 = call i32 @isatty(i32 noundef %1153) #12
  %.not1777 = icmp eq i32 %1154, 0
  br i1 %.not1777, label %1155, label %1156

1155:                                             ; preds = %1151, %1144
  br label %1156

1156:                                             ; preds = %1151, %1155
  %.str.5.sink2271 = phi ptr [ @.str.5, %1155 ], [ @.str.2, %1151 ]
  store i32 %1146, ptr %1145, align 4, !tbaa !5
  %1157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1158 = load i32, ptr @test_count, align 4, !tbaa !5
  %1159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1160 = load i32, ptr %1159, align 4, !tbaa !5
  %1161 = call ptr @s2n_strerror(i32 noundef %1160, ptr noundef nonnull @.str.4) #12
  %1162 = load i32, ptr %1159, align 4, !tbaa !5
  %1163 = call ptr @s2n_strerror_debug(i32 noundef %1162, ptr noundef nonnull @.str.4) #12
  %1164 = load i32, ptr %1145, align 4, !tbaa !5
  %1165 = call ptr @strerror(i32 noundef %1164) #12
  %1166 = load i32, ptr %1145, align 4, !tbaa !5
  %1167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1157, ptr noundef nonnull %.str.5.sink2271, i32 noundef %1158, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %1161, ptr noundef %1163, ptr noundef %1165, i32 noundef %1166) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1168:                                             ; preds = %1140
  %1169 = load i32, ptr @test_count, align 4, !tbaa !5
  %1170 = add nsw i32 %1169, 1
  store i32 %1170, ptr @test_count, align 4, !tbaa !5
  %1171 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %1172 = icmp eq i32 %1171, -1
  br i1 %1172, label %1173, label %1197

1173:                                             ; preds = %1168
  %1174 = tail call ptr @__errno_location() #13
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1177 = call i32 @s2n_print_stacktrace(ptr noundef %1176) #12
  %1178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1179 = trunc nuw i8 %1178 to i1
  br i1 %1179, label %1180, label %1184

1180:                                             ; preds = %1173
  %1181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1182 = call i32 @fileno(ptr noundef %1181) #12
  %1183 = call i32 @isatty(i32 noundef %1182) #12
  %.not1776 = icmp eq i32 %1183, 0
  br i1 %.not1776, label %1184, label %1185

1184:                                             ; preds = %1180, %1173
  br label %1185

1185:                                             ; preds = %1180, %1184
  %.str.5.sink2282 = phi ptr [ @.str.5, %1184 ], [ @.str.2, %1180 ]
  store i32 %1175, ptr %1174, align 4, !tbaa !5
  %1186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1187 = load i32, ptr @test_count, align 4, !tbaa !5
  %1188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1189 = load i32, ptr %1188, align 4, !tbaa !5
  %1190 = call ptr @s2n_strerror(i32 noundef %1189, ptr noundef nonnull @.str.4) #12
  %1191 = load i32, ptr %1188, align 4, !tbaa !5
  %1192 = call ptr @s2n_strerror_debug(i32 noundef %1191, ptr noundef nonnull @.str.4) #12
  %1193 = load i32, ptr %1174, align 4, !tbaa !5
  %1194 = call ptr @strerror(i32 noundef %1193) #12
  %1195 = load i32, ptr %1174, align 4, !tbaa !5
  %1196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1186, ptr noundef nonnull %.str.5.sink2282, i32 noundef %1187, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %1190, ptr noundef %1192, ptr noundef %1194, i32 noundef %1195) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1197:                                             ; preds = %1168
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #12
  br label %1198

1198:                                             ; preds = %1197, %1019
  %1199 = call zeroext i1 @s2n_is_in_fips_mode() #12
  br i1 %1199, label %1434, label %1200

1200:                                             ; preds = %1198
  %1201 = load i32, ptr @test_count, align 4, !tbaa !5
  %1202 = add nsw i32 %1201, 1
  store i32 %1202, ptr @test_count, align 4, !tbaa !5
  %1203 = call ptr @s2n_config_new() #12
  %1204 = icmp eq ptr %1203, null
  br i1 %1204, label %1205, label %1229

1205:                                             ; preds = %1200
  %1206 = tail call ptr @__errno_location() #13
  %1207 = load i32, ptr %1206, align 4, !tbaa !5
  %1208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1209 = call i32 @s2n_print_stacktrace(ptr noundef %1208) #12
  %1210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1211 = trunc nuw i8 %1210 to i1
  br i1 %1211, label %1212, label %1216

1212:                                             ; preds = %1205
  %1213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1214 = call i32 @fileno(ptr noundef %1213) #12
  %1215 = call i32 @isatty(i32 noundef %1214) #12
  %.not1274 = icmp eq i32 %1215, 0
  br i1 %.not1274, label %1216, label %1217

1216:                                             ; preds = %1212, %1205
  br label %1217

1217:                                             ; preds = %1212, %1216
  %.str.5.sink2293 = phi ptr [ @.str.5, %1216 ], [ @.str.2, %1212 ]
  store i32 %1207, ptr %1206, align 4, !tbaa !5
  %1218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1219 = load i32, ptr @test_count, align 4, !tbaa !5
  %1220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1221 = load i32, ptr %1220, align 4, !tbaa !5
  %1222 = call ptr @s2n_strerror(i32 noundef %1221, ptr noundef nonnull @.str.4) #12
  %1223 = load i32, ptr %1220, align 4, !tbaa !5
  %1224 = call ptr @s2n_strerror_debug(i32 noundef %1223, ptr noundef nonnull @.str.4) #12
  %1225 = load i32, ptr %1206, align 4, !tbaa !5
  %1226 = call ptr @strerror(i32 noundef %1225) #12
  %1227 = load i32, ptr %1206, align 4, !tbaa !5
  %1228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1218, ptr noundef nonnull %.str.5.sink2293, i32 noundef %1219, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %1222, ptr noundef %1224, ptr noundef %1226, i32 noundef %1227) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1229:                                             ; preds = %1200
  %1230 = load i32, ptr @test_count, align 4, !tbaa !5
  %1231 = add nsw i32 %1230, 1
  store i32 %1231, ptr @test_count, align 4, !tbaa !5
  %1232 = getelementptr inbounds i8, ptr %1203, i64 96
  %1233 = load ptr, ptr %1232, align 8, !tbaa !15
  %1234 = load ptr, ptr %3, align 8, !tbaa !9
  %1235 = icmp eq ptr %1233, %1234
  br i1 %1235, label %1260, label %1236

1236:                                             ; preds = %1229
  %1237 = tail call ptr @__errno_location() #13
  %1238 = load i32, ptr %1237, align 4, !tbaa !5
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = call i32 @s2n_print_stacktrace(ptr noundef %1239) #12
  %1241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1242 = trunc nuw i8 %1241 to i1
  br i1 %1242, label %1243, label %1247

1243:                                             ; preds = %1236
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = call i32 @fileno(ptr noundef %1244) #12
  %1246 = call i32 @isatty(i32 noundef %1245) #12
  %.not1267 = icmp eq i32 %1246, 0
  br i1 %.not1267, label %1247, label %1248

1247:                                             ; preds = %1243, %1236
  br label %1248

1248:                                             ; preds = %1243, %1247
  %.str.5.sink2304 = phi ptr [ @.str.5, %1247 ], [ @.str.2, %1243 ]
  store i32 %1238, ptr %1237, align 4, !tbaa !5
  %1249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1250 = load i32, ptr @test_count, align 4, !tbaa !5
  %1251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1252 = load i32, ptr %1251, align 4, !tbaa !5
  %1253 = call ptr @s2n_strerror(i32 noundef %1252, ptr noundef nonnull @.str.4) #12
  %1254 = load i32, ptr %1251, align 4, !tbaa !5
  %1255 = call ptr @s2n_strerror_debug(i32 noundef %1254, ptr noundef nonnull @.str.4) #12
  %1256 = load i32, ptr %1237, align 4, !tbaa !5
  %1257 = call ptr @strerror(i32 noundef %1256) #12
  %1258 = load i32, ptr %1237, align 4, !tbaa !5
  %1259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1249, ptr noundef nonnull %.str.5.sink2304, i32 noundef %1250, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %1253, ptr noundef %1255, ptr noundef %1257, i32 noundef %1258) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1260:                                             ; preds = %1229
  %1261 = add nsw i32 %1230, 2
  store i32 %1261, ptr @test_count, align 4, !tbaa !5
  %1262 = call i32 @s2n_config_free(ptr noundef nonnull %1203) #12
  %1263 = icmp eq i32 %1262, -1
  br i1 %1263, label %1264, label %1288

1264:                                             ; preds = %1260
  %1265 = tail call ptr @__errno_location() #13
  %1266 = load i32, ptr %1265, align 4, !tbaa !5
  %1267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1268 = call i32 @s2n_print_stacktrace(ptr noundef %1267) #12
  %1269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1270 = trunc nuw i8 %1269 to i1
  br i1 %1270, label %1271, label %1275

1271:                                             ; preds = %1264
  %1272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1273 = call i32 @fileno(ptr noundef %1272) #12
  %1274 = call i32 @isatty(i32 noundef %1273) #12
  %.not1273 = icmp eq i32 %1274, 0
  br i1 %.not1273, label %1275, label %1276

1275:                                             ; preds = %1271, %1264
  br label %1276

1276:                                             ; preds = %1271, %1275
  %.str.5.sink2315 = phi ptr [ @.str.5, %1275 ], [ @.str.2, %1271 ]
  store i32 %1266, ptr %1265, align 4, !tbaa !5
  %1277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1278 = load i32, ptr @test_count, align 4, !tbaa !5
  %1279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1280 = load i32, ptr %1279, align 4, !tbaa !5
  %1281 = call ptr @s2n_strerror(i32 noundef %1280, ptr noundef nonnull @.str.4) #12
  %1282 = load i32, ptr %1279, align 4, !tbaa !5
  %1283 = call ptr @s2n_strerror_debug(i32 noundef %1282, ptr noundef nonnull @.str.4) #12
  %1284 = load i32, ptr %1265, align 4, !tbaa !5
  %1285 = call ptr @strerror(i32 noundef %1284) #12
  %1286 = load i32, ptr %1265, align 4, !tbaa !5
  %1287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1277, ptr noundef nonnull %.str.5.sink2315, i32 noundef %1278, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1281, ptr noundef %1283, ptr noundef %1285, i32 noundef %1286) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1288:                                             ; preds = %1260
  %1289 = load i32, ptr @test_count, align 4, !tbaa !5
  %1290 = add nsw i32 %1289, 1
  store i32 %1290, ptr @test_count, align 4, !tbaa !5
  %1291 = call i32 (...) @s2n_enable_tls13_in_test() #12
  %1292 = icmp eq i32 %1291, -1
  br i1 %1292, label %1293, label %1317

1293:                                             ; preds = %1288
  %1294 = tail call ptr @__errno_location() #13
  %1295 = load i32, ptr %1294, align 4, !tbaa !5
  %1296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1297 = call i32 @s2n_print_stacktrace(ptr noundef %1296) #12
  %1298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1299 = trunc nuw i8 %1298 to i1
  br i1 %1299, label %1300, label %1304

1300:                                             ; preds = %1293
  %1301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1302 = call i32 @fileno(ptr noundef %1301) #12
  %1303 = call i32 @isatty(i32 noundef %1302) #12
  %.not1272 = icmp eq i32 %1303, 0
  br i1 %.not1272, label %1304, label %1305

1304:                                             ; preds = %1300, %1293
  br label %1305

1305:                                             ; preds = %1300, %1304
  %.str.5.sink2326 = phi ptr [ @.str.5, %1304 ], [ @.str.2, %1300 ]
  store i32 %1295, ptr %1294, align 4, !tbaa !5
  %1306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1307 = load i32, ptr @test_count, align 4, !tbaa !5
  %1308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1309 = load i32, ptr %1308, align 4, !tbaa !5
  %1310 = call ptr @s2n_strerror(i32 noundef %1309, ptr noundef nonnull @.str.4) #12
  %1311 = load i32, ptr %1308, align 4, !tbaa !5
  %1312 = call ptr @s2n_strerror_debug(i32 noundef %1311, ptr noundef nonnull @.str.4) #12
  %1313 = load i32, ptr %1294, align 4, !tbaa !5
  %1314 = call ptr @strerror(i32 noundef %1313) #12
  %1315 = load i32, ptr %1294, align 4, !tbaa !5
  %1316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1306, ptr noundef nonnull %.str.5.sink2326, i32 noundef %1307, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1310, ptr noundef %1312, ptr noundef %1314, i32 noundef %1315) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1317:                                             ; preds = %1288
  %1318 = load i32, ptr @test_count, align 4, !tbaa !5
  %1319 = add nsw i32 %1318, 1
  store i32 %1319, ptr @test_count, align 4, !tbaa !5
  %1320 = call ptr @s2n_config_new() #12
  %1321 = icmp eq ptr %1320, null
  br i1 %1321, label %1322, label %1346

1322:                                             ; preds = %1317
  %1323 = tail call ptr @__errno_location() #13
  %1324 = load i32, ptr %1323, align 4, !tbaa !5
  %1325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1326 = call i32 @s2n_print_stacktrace(ptr noundef %1325) #12
  %1327 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1328 = trunc nuw i8 %1327 to i1
  br i1 %1328, label %1329, label %1333

1329:                                             ; preds = %1322
  %1330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1331 = call i32 @fileno(ptr noundef %1330) #12
  %1332 = call i32 @isatty(i32 noundef %1331) #12
  %.not1271 = icmp eq i32 %1332, 0
  br i1 %.not1271, label %1333, label %1334

1333:                                             ; preds = %1329, %1322
  br label %1334

1334:                                             ; preds = %1329, %1333
  %.str.5.sink2337 = phi ptr [ @.str.5, %1333 ], [ @.str.2, %1329 ]
  store i32 %1324, ptr %1323, align 4, !tbaa !5
  %1335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1336 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1338, ptr noundef nonnull @.str.4) #12
  %1340 = load i32, ptr %1337, align 4, !tbaa !5
  %1341 = call ptr @s2n_strerror_debug(i32 noundef %1340, ptr noundef nonnull @.str.4) #12
  %1342 = load i32, ptr %1323, align 4, !tbaa !5
  %1343 = call ptr @strerror(i32 noundef %1342) #12
  %1344 = load i32, ptr %1323, align 4, !tbaa !5
  %1345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1335, ptr noundef nonnull %.str.5.sink2337, i32 noundef %1336, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1339, ptr noundef %1341, ptr noundef %1343, i32 noundef %1344) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1346:                                             ; preds = %1317
  %1347 = load i32, ptr @test_count, align 4, !tbaa !5
  %1348 = add nsw i32 %1347, 1
  store i32 %1348, ptr @test_count, align 4, !tbaa !5
  %1349 = getelementptr inbounds i8, ptr %1320, i64 96
  %1350 = load ptr, ptr %1349, align 8, !tbaa !15
  %1351 = load ptr, ptr %4, align 8, !tbaa !9
  %1352 = icmp eq ptr %1350, %1351
  br i1 %1352, label %1377, label %1353

1353:                                             ; preds = %1346
  %1354 = tail call ptr @__errno_location() #13
  %1355 = load i32, ptr %1354, align 4, !tbaa !5
  %1356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1357 = call i32 @s2n_print_stacktrace(ptr noundef %1356) #12
  %1358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1359 = trunc nuw i8 %1358 to i1
  br i1 %1359, label %1360, label %1364

1360:                                             ; preds = %1353
  %1361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1362 = call i32 @fileno(ptr noundef %1361) #12
  %1363 = call i32 @isatty(i32 noundef %1362) #12
  %.not1268 = icmp eq i32 %1363, 0
  br i1 %.not1268, label %1364, label %1365

1364:                                             ; preds = %1360, %1353
  br label %1365

1365:                                             ; preds = %1360, %1364
  %.str.5.sink2348 = phi ptr [ @.str.5, %1364 ], [ @.str.2, %1360 ]
  store i32 %1355, ptr %1354, align 4, !tbaa !5
  %1366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1367 = load i32, ptr @test_count, align 4, !tbaa !5
  %1368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1369 = load i32, ptr %1368, align 4, !tbaa !5
  %1370 = call ptr @s2n_strerror(i32 noundef %1369, ptr noundef nonnull @.str.4) #12
  %1371 = load i32, ptr %1368, align 4, !tbaa !5
  %1372 = call ptr @s2n_strerror_debug(i32 noundef %1371, ptr noundef nonnull @.str.4) #12
  %1373 = load i32, ptr %1354, align 4, !tbaa !5
  %1374 = call ptr @strerror(i32 noundef %1373) #12
  %1375 = load i32, ptr %1354, align 4, !tbaa !5
  %1376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1366, ptr noundef nonnull %.str.5.sink2348, i32 noundef %1367, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1370, ptr noundef %1372, ptr noundef %1374, i32 noundef %1375) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1377:                                             ; preds = %1346
  %1378 = add nsw i32 %1347, 2
  store i32 %1378, ptr @test_count, align 4, !tbaa !5
  %1379 = call i32 @s2n_config_free(ptr noundef nonnull %1320) #12
  %1380 = icmp eq i32 %1379, -1
  br i1 %1380, label %1381, label %1405

1381:                                             ; preds = %1377
  %1382 = tail call ptr @__errno_location() #13
  %1383 = load i32, ptr %1382, align 4, !tbaa !5
  %1384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1385 = call i32 @s2n_print_stacktrace(ptr noundef %1384) #12
  %1386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1387 = trunc nuw i8 %1386 to i1
  br i1 %1387, label %1388, label %1392

1388:                                             ; preds = %1381
  %1389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1390 = call i32 @fileno(ptr noundef %1389) #12
  %1391 = call i32 @isatty(i32 noundef %1390) #12
  %.not1270 = icmp eq i32 %1391, 0
  br i1 %.not1270, label %1392, label %1393

1392:                                             ; preds = %1388, %1381
  br label %1393

1393:                                             ; preds = %1388, %1392
  %.str.5.sink2359 = phi ptr [ @.str.5, %1392 ], [ @.str.2, %1388 ]
  store i32 %1383, ptr %1382, 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 nonnull @.str.4) #12
  %1399 = load i32, ptr %1396, align 4, !tbaa !5
  %1400 = call ptr @s2n_strerror_debug(i32 noundef %1399, ptr noundef nonnull @.str.4) #12
  %1401 = load i32, ptr %1382, align 4, !tbaa !5
  %1402 = call ptr @strerror(i32 noundef %1401) #12
  %1403 = load i32, ptr %1382, align 4, !tbaa !5
  %1404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1394, ptr noundef nonnull %.str.5.sink2359, i32 noundef %1395, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1398, ptr noundef %1400, ptr noundef %1402, i32 noundef %1403) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1405:                                             ; preds = %1377
  %1406 = load i32, ptr @test_count, align 4, !tbaa !5
  %1407 = add nsw i32 %1406, 1
  store i32 %1407, ptr @test_count, align 4, !tbaa !5
  %1408 = call i32 (...) @s2n_disable_tls13_in_test() #12
  %1409 = icmp eq i32 %1408, -1
  br i1 %1409, label %1410, label %1434

1410:                                             ; preds = %1405
  %1411 = tail call ptr @__errno_location() #13
  %1412 = load i32, ptr %1411, align 4, !tbaa !5
  %1413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1414 = call i32 @s2n_print_stacktrace(ptr noundef %1413) #12
  %1415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1416 = trunc nuw i8 %1415 to i1
  br i1 %1416, label %1417, label %1421

1417:                                             ; preds = %1410
  %1418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1419 = call i32 @fileno(ptr noundef %1418) #12
  %1420 = call i32 @isatty(i32 noundef %1419) #12
  %.not1269 = icmp eq i32 %1420, 0
  br i1 %.not1269, label %1421, label %1422

1421:                                             ; preds = %1417, %1410
  br label %1422

1422:                                             ; preds = %1417, %1421
  %.str.5.sink2370 = phi ptr [ @.str.5, %1421 ], [ @.str.2, %1417 ]
  store i32 %1412, ptr %1411, align 4, !tbaa !5
  %1423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1424 = load i32, ptr @test_count, align 4, !tbaa !5
  %1425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1426 = load i32, ptr %1425, align 4, !tbaa !5
  %1427 = call ptr @s2n_strerror(i32 noundef %1426, ptr noundef nonnull @.str.4) #12
  %1428 = load i32, ptr %1425, align 4, !tbaa !5
  %1429 = call ptr @s2n_strerror_debug(i32 noundef %1428, ptr noundef nonnull @.str.4) #12
  %1430 = load i32, ptr %1411, align 4, !tbaa !5
  %1431 = call ptr @strerror(i32 noundef %1430) #12
  %1432 = load i32, ptr %1411, align 4, !tbaa !5
  %1433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1423, ptr noundef nonnull %.str.5.sink2370, i32 noundef %1424, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %1427, ptr noundef %1429, ptr noundef %1431, i32 noundef %1432) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1434:                                             ; preds = %1405, %1198
  %1435 = load i32, ptr @test_count, align 4, !tbaa !5
  %1436 = add nsw i32 %1435, 1
  store i32 %1436, ptr @test_count, align 4, !tbaa !5
  %1437 = call ptr @s2n_config_new() #12
  %1438 = icmp eq ptr %1437, null
  br i1 %1438, label %1439, label %1463

1439:                                             ; preds = %1434
  %1440 = tail call ptr @__errno_location() #13
  %1441 = load i32, ptr %1440, align 4, !tbaa !5
  %1442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1443 = call i32 @s2n_print_stacktrace(ptr noundef %1442) #12
  %1444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1445 = trunc nuw i8 %1444 to i1
  br i1 %1445, label %1446, label %1450

1446:                                             ; preds = %1439
  %1447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1448 = call i32 @fileno(ptr noundef %1447) #12
  %1449 = call i32 @isatty(i32 noundef %1448) #12
  %.not1775 = icmp eq i32 %1449, 0
  br i1 %.not1775, label %1450, label %1451

1450:                                             ; preds = %1446, %1439
  br label %1451

1451:                                             ; preds = %1446, %1450
  %.str.5.sink2381 = phi ptr [ @.str.5, %1450 ], [ @.str.2, %1446 ]
  store i32 %1441, ptr %1440, align 4, !tbaa !5
  %1452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1453 = load i32, ptr @test_count, align 4, !tbaa !5
  %1454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1455 = load i32, ptr %1454, align 4, !tbaa !5
  %1456 = call ptr @s2n_strerror(i32 noundef %1455, ptr noundef nonnull @.str.4) #12
  %1457 = load i32, ptr %1454, align 4, !tbaa !5
  %1458 = call ptr @s2n_strerror_debug(i32 noundef %1457, ptr noundef nonnull @.str.4) #12
  %1459 = load i32, ptr %1440, align 4, !tbaa !5
  %1460 = call ptr @strerror(i32 noundef %1459) #12
  %1461 = load i32, ptr %1440, align 4, !tbaa !5
  %1462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1452, ptr noundef nonnull %.str.5.sink2381, i32 noundef %1453, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %1456, ptr noundef %1458, ptr noundef %1460, i32 noundef %1461) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1463:                                             ; preds = %1434
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #12
  store i8 13, ptr %11, align 1, !tbaa !49
  %1464 = load i32, ptr @test_count, align 4, !tbaa !5
  %1465 = add nsw i32 %1464, 1
  store i32 %1465, ptr @test_count, align 4, !tbaa !5
  %1466 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef null, ptr noundef nonnull @s2n_test_select_psk_identity_callback, ptr noundef nonnull %11) #12
  %1467 = icmp eq i32 %1466, -1
  br i1 %1467, label %1492, label %1468

1468:                                             ; preds = %1463
  %1469 = tail call ptr @__errno_location() #13
  %1470 = load i32, ptr %1469, 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 = %1468
  %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
  %.not1275 = icmp eq i32 %1478, 0
  br i1 %.not1275, label %1479, label %1480

1479:                                             ; preds = %1475, %1468
  br label %1480

1480:                                             ; preds = %1475, %1479
  %.str.5.sink2392 = phi ptr [ @.str.5, %1479 ], [ @.str.2, %1475 ]
  store i32 %1470, ptr %1469, align 4, !tbaa !5
  %1481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1482 = load i32, ptr @test_count, align 4, !tbaa !5
  %1483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1484 = load i32, ptr %1483, align 4, !tbaa !5
  %1485 = call ptr @s2n_strerror(i32 noundef %1484, ptr noundef nonnull @.str.4) #12
  %1486 = load i32, ptr %1483, align 4, !tbaa !5
  %1487 = call ptr @s2n_strerror_debug(i32 noundef %1486, ptr noundef nonnull @.str.4) #12
  %1488 = load i32, ptr %1469, align 4, !tbaa !5
  %1489 = call ptr @strerror(i32 noundef %1488) #12
  %1490 = load i32, ptr %1469, align 4, !tbaa !5
  %1491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1481, ptr noundef nonnull %.str.5.sink2392, i32 noundef %1482, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 182, ptr noundef %1485, ptr noundef %1487, ptr noundef %1489, i32 noundef %1490) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1492:                                             ; preds = %1463
  %1493 = load i32, ptr @test_count, align 4, !tbaa !5
  %1494 = add nsw i32 %1493, 1
  store i32 %1494, ptr @test_count, align 4, !tbaa !5
  %1495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1496 = load i32, ptr %1495, align 4, !tbaa !5
  %1497 = icmp eq i32 %1496, 402653193
  br i1 %1497, label %1521, label %1498

1498:                                             ; preds = %1492
  %1499 = tail call ptr @__errno_location() #13
  %1500 = load i32, ptr %1499, align 4, !tbaa !5
  %1501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1502 = call i32 @s2n_print_stacktrace(ptr noundef %1501) #12
  %1503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1504 = trunc nuw i8 %1503 to i1
  br i1 %1504, label %1505, label %1509

1505:                                             ; preds = %1498
  %1506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1507 = call i32 @fileno(ptr noundef %1506) #12
  %1508 = call i32 @isatty(i32 noundef %1507) #12
  %.not1276 = icmp eq i32 %1508, 0
  br i1 %.not1276, label %1509, label %1510

1509:                                             ; preds = %1505, %1498
  br label %1510

1510:                                             ; preds = %1505, %1509
  %.str.5.sink2403 = phi ptr [ @.str.5, %1509 ], [ @.str.2, %1505 ]
  store i32 %1500, ptr %1499, align 4, !tbaa !5
  %1511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1512 = load i32, ptr @test_count, align 4, !tbaa !5
  %1513 = load i32, ptr %1495, align 4, !tbaa !5
  %1514 = call ptr @s2n_strerror(i32 noundef %1513, ptr noundef nonnull @.str.4) #12
  %1515 = load i32, ptr %1495, align 4, !tbaa !5
  %1516 = call ptr @s2n_strerror_debug(i32 noundef %1515, ptr noundef nonnull @.str.4) #12
  %1517 = load i32, ptr %1499, align 4, !tbaa !5
  %1518 = call ptr @strerror(i32 noundef %1517) #12
  %1519 = load i32, ptr %1499, align 4, !tbaa !5
  %1520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1511, ptr noundef nonnull %.str.5.sink2403, i32 noundef %1512, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 182, ptr noundef %1514, ptr noundef %1516, ptr noundef %1518, i32 noundef %1519) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1521:                                             ; preds = %1492
  %1522 = add nsw i32 %1493, 2
  store i32 %1522, ptr @test_count, align 4, !tbaa !5
  %1523 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %1524 = icmp eq ptr %1523, null
  br i1 %1524, label %1525, label %1548

1525:                                             ; preds = %1521
  %1526 = tail call ptr @__errno_location() #13
  %1527 = load i32, ptr %1526, align 4, !tbaa !5
  %1528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1529 = call i32 @s2n_print_stacktrace(ptr noundef %1528) #12
  %1530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1531 = trunc nuw i8 %1530 to i1
  br i1 %1531, label %1532, label %1536

1532:                                             ; preds = %1525
  %1533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1534 = call i32 @fileno(ptr noundef %1533) #12
  %1535 = call i32 @isatty(i32 noundef %1534) #12
  %.not1774 = icmp eq i32 %1535, 0
  br i1 %.not1774, label %1536, label %1537

1536:                                             ; preds = %1532, %1525
  br label %1537

1537:                                             ; preds = %1532, %1536
  %.str.5.sink2412 = phi ptr [ @.str.5, %1536 ], [ @.str.2, %1532 ]
  store i32 %1527, ptr %1526, align 4, !tbaa !5
  %1538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1539 = load i32, ptr @test_count, align 4, !tbaa !5
  %1540 = load i32, ptr %1495, align 4, !tbaa !5
  %1541 = call ptr @s2n_strerror(i32 noundef %1540, ptr noundef nonnull @.str.4) #12
  %1542 = load i32, ptr %1495, align 4, !tbaa !5
  %1543 = call ptr @s2n_strerror_debug(i32 noundef %1542, ptr noundef nonnull @.str.4) #12
  %1544 = load i32, ptr %1526, align 4, !tbaa !5
  %1545 = call ptr @strerror(i32 noundef %1544) #12
  %1546 = load i32, ptr %1526, align 4, !tbaa !5
  %1547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1538, ptr noundef nonnull %.str.5.sink2412, i32 noundef %1539, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 182, ptr noundef %1541, ptr noundef %1543, ptr noundef %1545, i32 noundef %1546) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1548:                                             ; preds = %1521
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %1549 = tail call ptr @__errno_location() #13
  store i32 0, ptr %1549, align 4, !tbaa !5
  %1550 = load i32, ptr @test_count, align 4, !tbaa !5
  %1551 = add nsw i32 %1550, 1
  store i32 %1551, ptr @test_count, align 4, !tbaa !5
  %1552 = getelementptr inbounds i8, ptr %1437, i64 336
  %1553 = load ptr, ptr %1552, align 8, !tbaa !50
  %1554 = icmp eq ptr %1553, null
  br i1 %1554, label %1577, label %1555

1555:                                             ; preds = %1548
  %1556 = load i32, ptr %1549, align 4, !tbaa !5
  %1557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1558 = call i32 @s2n_print_stacktrace(ptr noundef %1557) #12
  %1559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1560 = trunc nuw i8 %1559 to i1
  br i1 %1560, label %1561, label %1565

1561:                                             ; preds = %1555
  %1562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1563 = call i32 @fileno(ptr noundef %1562) #12
  %1564 = call i32 @isatty(i32 noundef %1563) #12
  %.not1277 = icmp eq i32 %1564, 0
  br i1 %.not1277, label %1565, label %1566

1565:                                             ; preds = %1561, %1555
  br label %1566

1566:                                             ; preds = %1561, %1565
  %.str.5.sink2421 = phi ptr [ @.str.5, %1565 ], [ @.str.2, %1561 ]
  store i32 %1556, ptr %1549, align 4, !tbaa !5
  %1567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1568 = load i32, ptr @test_count, align 4, !tbaa !5
  %1569 = load i32, ptr %1495, align 4, !tbaa !5
  %1570 = call ptr @s2n_strerror(i32 noundef %1569, ptr noundef nonnull @.str.4) #12
  %1571 = load i32, ptr %1495, align 4, !tbaa !5
  %1572 = call ptr @s2n_strerror_debug(i32 noundef %1571, ptr noundef nonnull @.str.4) #12
  %1573 = load i32, ptr %1549, align 4, !tbaa !5
  %1574 = call ptr @strerror(i32 noundef %1573) #12
  %1575 = load i32, ptr %1549, align 4, !tbaa !5
  %1576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1567, ptr noundef nonnull %.str.5.sink2421, i32 noundef %1568, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 183, ptr noundef %1570, ptr noundef %1572, ptr noundef %1574, i32 noundef %1575) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1577:                                             ; preds = %1548
  %1578 = add nsw i32 %1550, 2
  store i32 %1578, ptr @test_count, align 4, !tbaa !5
  %1579 = getelementptr inbounds i8, ptr %1437, i64 344
  %1580 = load ptr, ptr %1579, align 8, !tbaa !51
  %1581 = icmp eq ptr %1580, null
  br i1 %1581, label %1604, label %1582

1582:                                             ; preds = %1577
  %1583 = load i32, ptr %1549, align 4, !tbaa !5
  %1584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1585 = call i32 @s2n_print_stacktrace(ptr noundef %1584) #12
  %1586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1587 = trunc nuw i8 %1586 to i1
  br i1 %1587, label %1588, label %1592

1588:                                             ; preds = %1582
  %1589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1590 = call i32 @fileno(ptr noundef %1589) #12
  %1591 = call i32 @isatty(i32 noundef %1590) #12
  %.not1278 = icmp eq i32 %1591, 0
  br i1 %.not1278, label %1592, label %1593

1592:                                             ; preds = %1588, %1582
  br label %1593

1593:                                             ; preds = %1588, %1592
  %.str.5.sink2430 = phi ptr [ @.str.5, %1592 ], [ @.str.2, %1588 ]
  store i32 %1583, ptr %1549, align 4, !tbaa !5
  %1594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1595 = load i32, ptr @test_count, align 4, !tbaa !5
  %1596 = load i32, ptr %1495, align 4, !tbaa !5
  %1597 = call ptr @s2n_strerror(i32 noundef %1596, ptr noundef nonnull @.str.4) #12
  %1598 = load i32, ptr %1495, align 4, !tbaa !5
  %1599 = call ptr @s2n_strerror_debug(i32 noundef %1598, ptr noundef nonnull @.str.4) #12
  %1600 = load i32, ptr %1549, align 4, !tbaa !5
  %1601 = call ptr @strerror(i32 noundef %1600) #12
  %1602 = load i32, ptr %1549, align 4, !tbaa !5
  %1603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1594, ptr noundef nonnull %.str.5.sink2430, i32 noundef %1595, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 184, ptr noundef %1597, ptr noundef %1599, ptr noundef %1601, i32 noundef %1602) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1604:                                             ; preds = %1577
  %1605 = add nsw i32 %1550, 3
  store i32 %1605, ptr @test_count, align 4, !tbaa !5
  %1606 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef nonnull %1437, ptr noundef nonnull @s2n_test_select_psk_identity_callback, ptr noundef nonnull %11) #12
  %1607 = icmp eq i32 %1606, -1
  br i1 %1607, label %1608, label %1630

1608:                                             ; preds = %1604
  %1609 = load i32, ptr %1549, align 4, !tbaa !5
  %1610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1611 = call i32 @s2n_print_stacktrace(ptr noundef %1610) #12
  %1612 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1613 = trunc nuw i8 %1612 to i1
  br i1 %1613, label %1614, label %1618

1614:                                             ; preds = %1608
  %1615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1616 = call i32 @fileno(ptr noundef %1615) #12
  %1617 = call i32 @isatty(i32 noundef %1616) #12
  %.not1773 = icmp eq i32 %1617, 0
  br i1 %.not1773, label %1618, label %1619

1618:                                             ; preds = %1614, %1608
  br label %1619

1619:                                             ; preds = %1614, %1618
  %.str.5.sink2439 = phi ptr [ @.str.5, %1618 ], [ @.str.2, %1614 ]
  store i32 %1609, ptr %1549, align 4, !tbaa !5
  %1620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1621 = load i32, ptr @test_count, align 4, !tbaa !5
  %1622 = load i32, ptr %1495, align 4, !tbaa !5
  %1623 = call ptr @s2n_strerror(i32 noundef %1622, ptr noundef nonnull @.str.4) #12
  %1624 = load i32, ptr %1495, align 4, !tbaa !5
  %1625 = call ptr @s2n_strerror_debug(i32 noundef %1624, ptr noundef nonnull @.str.4) #12
  %1626 = load i32, ptr %1549, align 4, !tbaa !5
  %1627 = call ptr @strerror(i32 noundef %1626) #12
  %1628 = load i32, ptr %1549, align 4, !tbaa !5
  %1629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1620, ptr noundef nonnull %.str.5.sink2439, i32 noundef %1621, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %1623, ptr noundef %1625, ptr noundef %1627, i32 noundef %1628) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1630:                                             ; preds = %1604
  %1631 = load i32, ptr @test_count, align 4, !tbaa !5
  %1632 = add nsw i32 %1631, 1
  store i32 %1632, ptr @test_count, align 4, !tbaa !5
  %1633 = load ptr, ptr %1552, align 8, !tbaa !50
  %1634 = icmp eq ptr %1633, @s2n_test_select_psk_identity_callback
  br i1 %1634, label %1657, label %1635

1635:                                             ; preds = %1630
  %1636 = load i32, ptr %1549, align 4, !tbaa !5
  %1637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1638 = call i32 @s2n_print_stacktrace(ptr noundef %1637) #12
  %1639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1640 = trunc nuw i8 %1639 to i1
  br i1 %1640, label %1641, label %1645

1641:                                             ; preds = %1635
  %1642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1643 = call i32 @fileno(ptr noundef %1642) #12
  %1644 = call i32 @isatty(i32 noundef %1643) #12
  %.not1279 = icmp eq i32 %1644, 0
  br i1 %.not1279, label %1645, label %1646

1645:                                             ; preds = %1641, %1635
  br label %1646

1646:                                             ; preds = %1641, %1645
  %.str.5.sink2448 = phi ptr [ @.str.5, %1645 ], [ @.str.2, %1641 ]
  store i32 %1636, ptr %1549, align 4, !tbaa !5
  %1647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1648 = load i32, ptr @test_count, align 4, !tbaa !5
  %1649 = load i32, ptr %1495, align 4, !tbaa !5
  %1650 = call ptr @s2n_strerror(i32 noundef %1649, ptr noundef nonnull @.str.4) #12
  %1651 = load i32, ptr %1495, align 4, !tbaa !5
  %1652 = call ptr @s2n_strerror_debug(i32 noundef %1651, ptr noundef nonnull @.str.4) #12
  %1653 = load i32, ptr %1549, align 4, !tbaa !5
  %1654 = call ptr @strerror(i32 noundef %1653) #12
  %1655 = load i32, ptr %1549, align 4, !tbaa !5
  %1656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1647, ptr noundef nonnull %.str.5.sink2448, i32 noundef %1648, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 187, ptr noundef %1650, ptr noundef %1652, ptr noundef %1654, i32 noundef %1655) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1657:                                             ; preds = %1630
  %1658 = add nsw i32 %1631, 2
  store i32 %1658, ptr @test_count, align 4, !tbaa !5
  %1659 = load ptr, ptr %1579, align 8, !tbaa !51
  %1660 = icmp eq ptr %1659, %11
  br i1 %1660, label %1683, label %1661

1661:                                             ; preds = %1657
  %1662 = load i32, ptr %1549, align 4, !tbaa !5
  %1663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1664 = call i32 @s2n_print_stacktrace(ptr noundef %1663) #12
  %1665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1666 = trunc nuw i8 %1665 to i1
  br i1 %1666, label %1667, label %1671

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

1671:                                             ; preds = %1667, %1661
  br label %1672

1672:                                             ; preds = %1667, %1671
  %.str.5.sink2457 = phi ptr [ @.str.5, %1671 ], [ @.str.2, %1667 ]
  store i32 %1662, ptr %1549, align 4, !tbaa !5
  %1673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1674 = load i32, ptr @test_count, align 4, !tbaa !5
  %1675 = load i32, ptr %1495, align 4, !tbaa !5
  %1676 = call ptr @s2n_strerror(i32 noundef %1675, ptr noundef nonnull @.str.4) #12
  %1677 = load i32, ptr %1495, align 4, !tbaa !5
  %1678 = call ptr @s2n_strerror_debug(i32 noundef %1677, ptr noundef nonnull @.str.4) #12
  %1679 = load i32, ptr %1549, align 4, !tbaa !5
  %1680 = call ptr @strerror(i32 noundef %1679) #12
  %1681 = load i32, ptr %1549, align 4, !tbaa !5
  %1682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1673, ptr noundef nonnull %.str.5.sink2457, i32 noundef %1674, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %1676, ptr noundef %1678, ptr noundef %1680, i32 noundef %1681) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1683:                                             ; preds = %1657
  %1684 = add nsw i32 %1631, 3
  store i32 %1684, ptr @test_count, align 4, !tbaa !5
  %1685 = call i32 @s2n_config_set_psk_selection_callback(ptr noundef nonnull %1437, ptr noundef null, ptr noundef null) #12
  %1686 = icmp eq i32 %1685, -1
  br i1 %1686, label %1687, label %1709

1687:                                             ; preds = %1683
  %1688 = load i32, ptr %1549, align 4, !tbaa !5
  %1689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1690 = call i32 @s2n_print_stacktrace(ptr noundef %1689) #12
  %1691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1692 = trunc nuw i8 %1691 to i1
  br i1 %1692, label %1693, label %1697

1693:                                             ; preds = %1687
  %1694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1695 = call i32 @fileno(ptr noundef %1694) #12
  %1696 = call i32 @isatty(i32 noundef %1695) #12
  %.not1772 = icmp eq i32 %1696, 0
  br i1 %.not1772, label %1697, label %1698

1697:                                             ; preds = %1693, %1687
  br label %1698

1698:                                             ; preds = %1693, %1697
  %.str.5.sink2466 = phi ptr [ @.str.5, %1697 ], [ @.str.2, %1693 ]
  store i32 %1688, ptr %1549, align 4, !tbaa !5
  %1699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1700 = load i32, ptr @test_count, align 4, !tbaa !5
  %1701 = load i32, ptr %1495, align 4, !tbaa !5
  %1702 = call ptr @s2n_strerror(i32 noundef %1701, ptr noundef nonnull @.str.4) #12
  %1703 = load i32, ptr %1495, align 4, !tbaa !5
  %1704 = call ptr @s2n_strerror_debug(i32 noundef %1703, ptr noundef nonnull @.str.4) #12
  %1705 = load i32, ptr %1549, align 4, !tbaa !5
  %1706 = call ptr @strerror(i32 noundef %1705) #12
  %1707 = load i32, ptr %1549, align 4, !tbaa !5
  %1708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1699, ptr noundef nonnull %.str.5.sink2466, i32 noundef %1700, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %1702, ptr noundef %1704, ptr noundef %1706, i32 noundef %1707) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1709:                                             ; preds = %1683
  %1710 = load i32, ptr @test_count, align 4, !tbaa !5
  %1711 = add nsw i32 %1710, 1
  store i32 %1711, ptr @test_count, align 4, !tbaa !5
  %1712 = load ptr, ptr %1552, align 8, !tbaa !50
  %1713 = icmp eq ptr %1712, null
  br i1 %1713, label %1736, label %1714

1714:                                             ; preds = %1709
  %1715 = load i32, ptr %1549, align 4, !tbaa !5
  %1716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1717 = call i32 @s2n_print_stacktrace(ptr noundef %1716) #12
  %1718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1719 = trunc nuw i8 %1718 to i1
  br i1 %1719, label %1720, label %1724

1720:                                             ; preds = %1714
  %1721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1722 = call i32 @fileno(ptr noundef %1721) #12
  %1723 = call i32 @isatty(i32 noundef %1722) #12
  %.not1281 = icmp eq i32 %1723, 0
  br i1 %.not1281, label %1724, label %1725

1724:                                             ; preds = %1720, %1714
  br label %1725

1725:                                             ; preds = %1720, %1724
  %.str.5.sink2475 = phi ptr [ @.str.5, %1724 ], [ @.str.2, %1720 ]
  store i32 %1715, ptr %1549, align 4, !tbaa !5
  %1726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1727 = load i32, ptr @test_count, align 4, !tbaa !5
  %1728 = load i32, ptr %1495, align 4, !tbaa !5
  %1729 = call ptr @s2n_strerror(i32 noundef %1728, ptr noundef nonnull @.str.4) #12
  %1730 = load i32, ptr %1495, align 4, !tbaa !5
  %1731 = call ptr @s2n_strerror_debug(i32 noundef %1730, ptr noundef nonnull @.str.4) #12
  %1732 = load i32, ptr %1549, align 4, !tbaa !5
  %1733 = call ptr @strerror(i32 noundef %1732) #12
  %1734 = load i32, ptr %1549, align 4, !tbaa !5
  %1735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1726, ptr noundef nonnull %.str.5.sink2475, i32 noundef %1727, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 191, ptr noundef %1729, ptr noundef %1731, ptr noundef %1733, i32 noundef %1734) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1736:                                             ; preds = %1709
  %1737 = add nsw i32 %1710, 2
  store i32 %1737, ptr @test_count, align 4, !tbaa !5
  %1738 = load ptr, ptr %1579, align 8, !tbaa !51
  %1739 = icmp eq ptr %1738, null
  br i1 %1739, label %1762, label %1740

1740:                                             ; preds = %1736
  %1741 = load i32, ptr %1549, align 4, !tbaa !5
  %1742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1743 = call i32 @s2n_print_stacktrace(ptr noundef %1742) #12
  %1744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1745 = trunc nuw i8 %1744 to i1
  br i1 %1745, label %1746, label %1750

1746:                                             ; preds = %1740
  %1747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1748 = call i32 @fileno(ptr noundef %1747) #12
  %1749 = call i32 @isatty(i32 noundef %1748) #12
  %.not1282 = icmp eq i32 %1749, 0
  br i1 %.not1282, label %1750, label %1751

1750:                                             ; preds = %1746, %1740
  br label %1751

1751:                                             ; preds = %1746, %1750
  %.str.5.sink2484 = phi ptr [ @.str.5, %1750 ], [ @.str.2, %1746 ]
  store i32 %1741, ptr %1549, align 4, !tbaa !5
  %1752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1753 = load i32, ptr @test_count, align 4, !tbaa !5
  %1754 = load i32, ptr %1495, align 4, !tbaa !5
  %1755 = call ptr @s2n_strerror(i32 noundef %1754, ptr noundef nonnull @.str.4) #12
  %1756 = load i32, ptr %1495, align 4, !tbaa !5
  %1757 = call ptr @s2n_strerror_debug(i32 noundef %1756, ptr noundef nonnull @.str.4) #12
  %1758 = load i32, ptr %1549, align 4, !tbaa !5
  %1759 = call ptr @strerror(i32 noundef %1758) #12
  %1760 = load i32, ptr %1549, align 4, !tbaa !5
  %1761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1752, ptr noundef nonnull %.str.5.sink2484, i32 noundef %1753, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %1755, ptr noundef %1757, ptr noundef %1759, i32 noundef %1760) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1762:                                             ; preds = %1736
  %1763 = add nsw i32 %1710, 3
  store i32 %1763, ptr @test_count, align 4, !tbaa !5
  %1764 = call i32 @s2n_config_free(ptr noundef nonnull %1437) #12
  %1765 = icmp eq i32 %1764, -1
  br i1 %1765, label %1766, label %1788

1766:                                             ; preds = %1762
  %1767 = load i32, ptr %1549, align 4, !tbaa !5
  %1768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1769 = call i32 @s2n_print_stacktrace(ptr noundef %1768) #12
  %1770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1771 = trunc nuw i8 %1770 to i1
  br i1 %1771, label %1772, label %1776

1772:                                             ; preds = %1766
  %1773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1774 = call i32 @fileno(ptr noundef %1773) #12
  %1775 = call i32 @isatty(i32 noundef %1774) #12
  %.not1771 = icmp eq i32 %1775, 0
  br i1 %.not1771, label %1776, label %1777

1776:                                             ; preds = %1772, %1766
  br label %1777

1777:                                             ; preds = %1772, %1776
  %.str.5.sink2493 = phi ptr [ @.str.5, %1776 ], [ @.str.2, %1772 ]
  store i32 %1767, ptr %1549, align 4, !tbaa !5
  %1778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1779 = load i32, ptr @test_count, align 4, !tbaa !5
  %1780 = load i32, ptr %1495, align 4, !tbaa !5
  %1781 = call ptr @s2n_strerror(i32 noundef %1780, ptr noundef nonnull @.str.4) #12
  %1782 = load i32, ptr %1495, align 4, !tbaa !5
  %1783 = call ptr @s2n_strerror_debug(i32 noundef %1782, ptr noundef nonnull @.str.4) #12
  %1784 = load i32, ptr %1549, align 4, !tbaa !5
  %1785 = call ptr @strerror(i32 noundef %1784) #12
  %1786 = load i32, ptr %1549, align 4, !tbaa !5
  %1787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1778, ptr noundef nonnull %.str.5.sink2493, i32 noundef %1779, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %1781, ptr noundef %1783, ptr noundef %1785, i32 noundef %1786) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1788:                                             ; preds = %1762
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #12
  %1789 = load i32, ptr @test_count, align 4, !tbaa !5
  %1790 = add nsw i32 %1789, 1
  store i32 %1790, ptr @test_count, align 4, !tbaa !5
  %1791 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %1792 = icmp eq ptr %1791, null
  br i1 %1792, label %1793, label %1815

1793:                                             ; preds = %1788
  %1794 = load i32, ptr %1549, align 4, !tbaa !5
  %1795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1796 = call i32 @s2n_print_stacktrace(ptr noundef %1795) #12
  %1797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1798 = trunc nuw i8 %1797 to i1
  br i1 %1798, label %1799, label %1803

1799:                                             ; preds = %1793
  %1800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1801 = call i32 @fileno(ptr noundef %1800) #12
  %1802 = call i32 @isatty(i32 noundef %1801) #12
  %.not1770 = icmp eq i32 %1802, 0
  br i1 %.not1770, label %1803, label %1804

1803:                                             ; preds = %1799, %1793
  br label %1804

1804:                                             ; preds = %1799, %1803
  %.str.5.sink2502 = phi ptr [ @.str.5, %1803 ], [ @.str.2, %1799 ]
  store i32 %1794, ptr %1549, align 4, !tbaa !5
  %1805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1806 = load i32, ptr @test_count, align 4, !tbaa !5
  %1807 = load i32, ptr %1495, align 4, !tbaa !5
  %1808 = call ptr @s2n_strerror(i32 noundef %1807, ptr noundef nonnull @.str.4) #12
  %1809 = load i32, ptr %1495, align 4, !tbaa !5
  %1810 = call ptr @s2n_strerror_debug(i32 noundef %1809, ptr noundef nonnull @.str.4) #12
  %1811 = load i32, ptr %1549, align 4, !tbaa !5
  %1812 = call ptr @strerror(i32 noundef %1811) #12
  %1813 = load i32, ptr %1549, align 4, !tbaa !5
  %1814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1805, ptr noundef nonnull %.str.5.sink2502, i32 noundef %1806, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %1808, ptr noundef %1810, ptr noundef %1812, i32 noundef %1813) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1815:                                             ; preds = %1788
  %1816 = load i32, ptr @test_count, align 4, !tbaa !5
  %1817 = add nsw i32 %1816, 1
  store i32 %1817, ptr @test_count, align 4, !tbaa !5
  %1818 = call ptr @s2n_config_new() #12
  %1819 = icmp eq ptr %1818, null
  br i1 %1819, label %1820, label %1842

1820:                                             ; preds = %1815
  %1821 = load i32, ptr %1549, align 4, !tbaa !5
  %1822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1823 = call i32 @s2n_print_stacktrace(ptr noundef %1822) #12
  %1824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1825 = trunc nuw i8 %1824 to i1
  br i1 %1825, label %1826, label %1830

1826:                                             ; preds = %1820
  %1827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1828 = call i32 @fileno(ptr noundef %1827) #12
  %1829 = call i32 @isatty(i32 noundef %1828) #12
  %.not1769 = icmp eq i32 %1829, 0
  br i1 %.not1769, label %1830, label %1831

1830:                                             ; preds = %1826, %1820
  br label %1831

1831:                                             ; preds = %1826, %1830
  %.str.5.sink2511 = phi ptr [ @.str.5, %1830 ], [ @.str.2, %1826 ]
  store i32 %1821, ptr %1549, align 4, !tbaa !5
  %1832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1833 = load i32, ptr @test_count, align 4, !tbaa !5
  %1834 = load i32, ptr %1495, align 4, !tbaa !5
  %1835 = call ptr @s2n_strerror(i32 noundef %1834, ptr noundef nonnull @.str.4) #12
  %1836 = load i32, ptr %1495, align 4, !tbaa !5
  %1837 = call ptr @s2n_strerror_debug(i32 noundef %1836, ptr noundef nonnull @.str.4) #12
  %1838 = load i32, ptr %1549, align 4, !tbaa !5
  %1839 = call ptr @strerror(i32 noundef %1838) #12
  %1840 = load i32, ptr %1549, align 4, !tbaa !5
  %1841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1832, ptr noundef nonnull %.str.5.sink2511, i32 noundef %1833, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %1835, ptr noundef %1837, ptr noundef %1839, i32 noundef %1840) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1842:                                             ; preds = %1815
  %1843 = getelementptr inbounds i8, ptr %1818, i64 297
  store i8 1, ptr %1843, align 1, !tbaa !52
  %1844 = load i32, ptr @test_count, align 4, !tbaa !5
  %1845 = add nsw i32 %1844, 1
  store i32 %1845, ptr @test_count, align 4, !tbaa !5
  %1846 = getelementptr inbounds i8, ptr %1791, i64 4084
  %1847 = load i16, ptr %1846, align 4, !tbaa !53
  %1848 = icmp eq i16 %1847, 0
  br i1 %1848, label %1871, label %1849

1849:                                             ; preds = %1842
  %1850 = load i32, ptr %1549, align 4, !tbaa !5
  %1851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1852 = call i32 @s2n_print_stacktrace(ptr noundef %1851) #12
  %1853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1854 = trunc nuw i8 %1853 to i1
  br i1 %1854, label %1855, label %1859

1855:                                             ; preds = %1849
  %1856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1857 = call i32 @fileno(ptr noundef %1856) #12
  %1858 = call i32 @isatty(i32 noundef %1857) #12
  %.not1283 = icmp eq i32 %1858, 0
  br i1 %.not1283, label %1859, label %1860

1859:                                             ; preds = %1855, %1849
  br label %1860

1860:                                             ; preds = %1855, %1859
  %.str.5.sink2520 = phi ptr [ @.str.5, %1859 ], [ @.str.2, %1855 ]
  store i32 %1850, ptr %1549, align 4, !tbaa !5
  %1861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1862 = load i32, ptr @test_count, align 4, !tbaa !5
  %1863 = load i32, ptr %1495, align 4, !tbaa !5
  %1864 = call ptr @s2n_strerror(i32 noundef %1863, ptr noundef nonnull @.str.4) #12
  %1865 = load i32, ptr %1495, align 4, !tbaa !5
  %1866 = call ptr @s2n_strerror_debug(i32 noundef %1865, ptr noundef nonnull @.str.4) #12
  %1867 = load i32, ptr %1549, align 4, !tbaa !5
  %1868 = call ptr @strerror(i32 noundef %1867) #12
  %1869 = load i32, ptr %1549, align 4, !tbaa !5
  %1870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1861, ptr noundef nonnull %.str.5.sink2520, i32 noundef %1862, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %1864, ptr noundef %1866, ptr noundef %1868, i32 noundef %1869) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1871:                                             ; preds = %1842
  %1872 = add nsw i32 %1844, 2
  store i32 %1872, ptr @test_count, align 4, !tbaa !5
  %1873 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1791, ptr noundef nonnull %1818) #12
  %1874 = icmp eq i32 %1873, -1
  br i1 %1874, label %1875, label %1897

1875:                                             ; preds = %1871
  %1876 = load i32, ptr %1549, align 4, !tbaa !5
  %1877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1878 = call i32 @s2n_print_stacktrace(ptr noundef %1877) #12
  %1879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1880 = trunc nuw i8 %1879 to i1
  br i1 %1880, label %1881, label %1885

1881:                                             ; preds = %1875
  %1882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1883 = call i32 @fileno(ptr noundef %1882) #12
  %1884 = call i32 @isatty(i32 noundef %1883) #12
  %.not1768 = icmp eq i32 %1884, 0
  br i1 %.not1768, label %1885, label %1886

1885:                                             ; preds = %1881, %1875
  br label %1886

1886:                                             ; preds = %1881, %1885
  %.str.5.sink2529 = phi ptr [ @.str.5, %1885 ], [ @.str.2, %1881 ]
  store i32 %1876, ptr %1549, align 4, !tbaa !5
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = load i32, ptr @test_count, align 4, !tbaa !5
  %1889 = load i32, ptr %1495, align 4, !tbaa !5
  %1890 = call ptr @s2n_strerror(i32 noundef %1889, ptr noundef nonnull @.str.4) #12
  %1891 = load i32, ptr %1495, align 4, !tbaa !5
  %1892 = call ptr @s2n_strerror_debug(i32 noundef %1891, ptr noundef nonnull @.str.4) #12
  %1893 = load i32, ptr %1549, align 4, !tbaa !5
  %1894 = call ptr @strerror(i32 noundef %1893) #12
  %1895 = load i32, ptr %1549, align 4, !tbaa !5
  %1896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1887, ptr noundef nonnull %.str.5.sink2529, i32 noundef %1888, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %1890, ptr noundef %1892, ptr noundef %1894, i32 noundef %1895) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1897:                                             ; preds = %1871
  %1898 = load i32, ptr @test_count, align 4, !tbaa !5
  %1899 = add nsw i32 %1898, 1
  store i32 %1899, ptr @test_count, align 4, !tbaa !5
  %1900 = load i16, ptr %1846, align 4, !tbaa !53
  %1901 = icmp eq i16 %1900, 1
  br i1 %1901, label %1924, label %1902

1902:                                             ; preds = %1897
  %1903 = load i32, ptr %1549, align 4, !tbaa !5
  %1904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1905 = call i32 @s2n_print_stacktrace(ptr noundef %1904) #12
  %1906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1907 = trunc nuw i8 %1906 to i1
  br i1 %1907, label %1908, label %1912

1908:                                             ; preds = %1902
  %1909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1910 = call i32 @fileno(ptr noundef %1909) #12
  %1911 = call i32 @isatty(i32 noundef %1910) #12
  %.not1284 = icmp eq i32 %1911, 0
  br i1 %.not1284, label %1912, label %1913

1912:                                             ; preds = %1908, %1902
  br label %1913

1913:                                             ; preds = %1908, %1912
  %.str.5.sink2538 = phi ptr [ @.str.5, %1912 ], [ @.str.2, %1908 ]
  store i32 %1903, ptr %1549, align 4, !tbaa !5
  %1914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1915 = load i32, ptr @test_count, align 4, !tbaa !5
  %1916 = load i32, ptr %1495, align 4, !tbaa !5
  %1917 = call ptr @s2n_strerror(i32 noundef %1916, ptr noundef nonnull @.str.4) #12
  %1918 = load i32, ptr %1495, align 4, !tbaa !5
  %1919 = call ptr @s2n_strerror_debug(i32 noundef %1918, ptr noundef nonnull @.str.4) #12
  %1920 = load i32, ptr %1549, align 4, !tbaa !5
  %1921 = call ptr @strerror(i32 noundef %1920) #12
  %1922 = load i32, ptr %1549, align 4, !tbaa !5
  %1923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1914, ptr noundef nonnull %.str.5.sink2538, i32 noundef %1915, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 213, ptr noundef %1917, ptr noundef %1919, ptr noundef %1921, i32 noundef %1922) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1924:                                             ; preds = %1897
  %1925 = add nsw i32 %1898, 2
  store i32 %1925, ptr @test_count, align 4, !tbaa !5
  %1926 = call i32 @s2n_config_free(ptr noundef nonnull %1818) #12
  %1927 = icmp eq i32 %1926, -1
  br i1 %1927, label %1928, label %1950

1928:                                             ; preds = %1924
  %1929 = load i32, ptr %1549, align 4, !tbaa !5
  %1930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1931 = call i32 @s2n_print_stacktrace(ptr noundef %1930) #12
  %1932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1933 = trunc nuw i8 %1932 to i1
  br i1 %1933, label %1934, label %1938

1934:                                             ; preds = %1928
  %1935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1936 = call i32 @fileno(ptr noundef %1935) #12
  %1937 = call i32 @isatty(i32 noundef %1936) #12
  %.not1767 = icmp eq i32 %1937, 0
  br i1 %.not1767, label %1938, label %1939

1938:                                             ; preds = %1934, %1928
  br label %1939

1939:                                             ; preds = %1934, %1938
  %.str.5.sink2547 = phi ptr [ @.str.5, %1938 ], [ @.str.2, %1934 ]
  store i32 %1929, ptr %1549, align 4, !tbaa !5
  %1940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1941 = load i32, ptr @test_count, align 4, !tbaa !5
  %1942 = load i32, ptr %1495, align 4, !tbaa !5
  %1943 = call ptr @s2n_strerror(i32 noundef %1942, ptr noundef nonnull @.str.4) #12
  %1944 = load i32, ptr %1495, align 4, !tbaa !5
  %1945 = call ptr @s2n_strerror_debug(i32 noundef %1944, ptr noundef nonnull @.str.4) #12
  %1946 = load i32, ptr %1549, align 4, !tbaa !5
  %1947 = call ptr @strerror(i32 noundef %1946) #12
  %1948 = load i32, ptr %1549, align 4, !tbaa !5
  %1949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1940, ptr noundef nonnull %.str.5.sink2547, i32 noundef %1941, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %1943, ptr noundef %1945, ptr noundef %1947, i32 noundef %1948) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1950:                                             ; preds = %1924
  %1951 = load i32, ptr @test_count, align 4, !tbaa !5
  %1952 = add nsw i32 %1951, 1
  store i32 %1952, ptr @test_count, align 4, !tbaa !5
  %1953 = call i32 @s2n_connection_free(ptr noundef nonnull %1791) #12
  %1954 = icmp eq i32 %1953, -1
  br i1 %1954, label %1955, label %1977

1955:                                             ; preds = %1950
  %1956 = load i32, ptr %1549, align 4, !tbaa !5
  %1957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1958 = call i32 @s2n_print_stacktrace(ptr noundef %1957) #12
  %1959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1960 = trunc nuw i8 %1959 to i1
  br i1 %1960, label %1961, label %1965

1961:                                             ; preds = %1955
  %1962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1963 = call i32 @fileno(ptr noundef %1962) #12
  %1964 = call i32 @isatty(i32 noundef %1963) #12
  %.not1766 = icmp eq i32 %1964, 0
  br i1 %.not1766, label %1965, label %1966

1965:                                             ; preds = %1961, %1955
  br label %1966

1966:                                             ; preds = %1961, %1965
  %.str.5.sink2556 = phi ptr [ @.str.5, %1965 ], [ @.str.2, %1961 ]
  store i32 %1956, ptr %1549, align 4, !tbaa !5
  %1967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1968 = load i32, ptr @test_count, align 4, !tbaa !5
  %1969 = load i32, ptr %1495, align 4, !tbaa !5
  %1970 = call ptr @s2n_strerror(i32 noundef %1969, ptr noundef nonnull @.str.4) #12
  %1971 = load i32, ptr %1495, align 4, !tbaa !5
  %1972 = call ptr @s2n_strerror_debug(i32 noundef %1971, ptr noundef nonnull @.str.4) #12
  %1973 = load i32, ptr %1549, align 4, !tbaa !5
  %1974 = call ptr @strerror(i32 noundef %1973) #12
  %1975 = load i32, ptr %1549, align 4, !tbaa !5
  %1976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1967, ptr noundef nonnull %.str.5.sink2556, i32 noundef %1968, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %1970, ptr noundef %1972, ptr noundef %1974, i32 noundef %1975) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1977:                                             ; preds = %1950
  %1978 = call ptr @s2n_config_new() #12
  %1979 = load i32, ptr @test_count, align 4, !tbaa !5
  %1980 = add nsw i32 %1979, 1
  store i32 %1980, ptr @test_count, align 4, !tbaa !5
  %1981 = icmp eq ptr %1978, null
  br i1 %1981, label %1982, label %2004

1982:                                             ; preds = %1977
  %1983 = load i32, ptr %1549, align 4, !tbaa !5
  %1984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1985 = call i32 @s2n_print_stacktrace(ptr noundef %1984) #12
  %1986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1987 = trunc nuw i8 %1986 to i1
  br i1 %1987, label %1988, label %1992

1988:                                             ; preds = %1982
  %1989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1990 = call i32 @fileno(ptr noundef %1989) #12
  %1991 = call i32 @isatty(i32 noundef %1990) #12
  %.not1765 = icmp eq i32 %1991, 0
  br i1 %.not1765, label %1992, label %1993

1992:                                             ; preds = %1988, %1982
  br label %1993

1993:                                             ; preds = %1988, %1992
  %.str.5.sink2565 = phi ptr [ @.str.5, %1992 ], [ @.str.2, %1988 ]
  store i32 %1983, ptr %1549, align 4, !tbaa !5
  %1994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1995 = load i32, ptr @test_count, align 4, !tbaa !5
  %1996 = load i32, ptr %1495, align 4, !tbaa !5
  %1997 = call ptr @s2n_strerror(i32 noundef %1996, ptr noundef nonnull @.str.4) #12
  %1998 = load i32, ptr %1495, align 4, !tbaa !5
  %1999 = call ptr @s2n_strerror_debug(i32 noundef %1998, ptr noundef nonnull @.str.4) #12
  %2000 = load i32, ptr %1549, align 4, !tbaa !5
  %2001 = call ptr @strerror(i32 noundef %2000) #12
  %2002 = load i32, ptr %1549, align 4, !tbaa !5
  %2003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1994, ptr noundef nonnull %.str.5.sink2565, i32 noundef %1995, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 222, ptr noundef %1997, ptr noundef %1999, ptr noundef %2001, i32 noundef %2002) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2004:                                             ; preds = %1977
  %2005 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %2006 = load i32, ptr @test_count, align 4, !tbaa !5
  %2007 = add nsw i32 %2006, 1
  store i32 %2007, ptr @test_count, align 4, !tbaa !5
  %2008 = icmp eq ptr %2005, null
  br i1 %2008, label %2009, label %2031

2009:                                             ; preds = %2004
  %2010 = load i32, ptr %1549, align 4, !tbaa !5
  %2011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2012 = call i32 @s2n_print_stacktrace(ptr noundef %2011) #12
  %2013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2014 = trunc nuw i8 %2013 to i1
  br i1 %2014, label %2015, label %2019

2015:                                             ; preds = %2009
  %2016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2017 = call i32 @fileno(ptr noundef %2016) #12
  %2018 = call i32 @isatty(i32 noundef %2017) #12
  %.not1764 = icmp eq i32 %2018, 0
  br i1 %.not1764, label %2019, label %2020

2019:                                             ; preds = %2015, %2009
  br label %2020

2020:                                             ; preds = %2015, %2019
  %.str.5.sink2574 = phi ptr [ @.str.5, %2019 ], [ @.str.2, %2015 ]
  store i32 %2010, ptr %1549, align 4, !tbaa !5
  %2021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2022 = load i32, ptr @test_count, align 4, !tbaa !5
  %2023 = load i32, ptr %1495, align 4, !tbaa !5
  %2024 = call ptr @s2n_strerror(i32 noundef %2023, ptr noundef nonnull @.str.4) #12
  %2025 = load i32, ptr %1495, align 4, !tbaa !5
  %2026 = call ptr @s2n_strerror_debug(i32 noundef %2025, ptr noundef nonnull @.str.4) #12
  %2027 = load i32, ptr %1549, align 4, !tbaa !5
  %2028 = call ptr @strerror(i32 noundef %2027) #12
  %2029 = load i32, ptr %1549, align 4, !tbaa !5
  %2030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2021, ptr noundef nonnull %.str.5.sink2574, i32 noundef %2022, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %2024, ptr noundef %2026, ptr noundef %2028, i32 noundef %2029) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2031:                                             ; preds = %2004
  %2032 = add nsw i32 %2006, 2
  store i32 %2032, ptr @test_count, align 4, !tbaa !5
  %2033 = getelementptr inbounds i8, ptr %1978, i64 396
  %2034 = load i32, ptr %2033, align 4, !tbaa !54
  %2035 = icmp eq i32 %2034, 0
  br i1 %2035, label %2058, label %2036

2036:                                             ; preds = %2031
  %2037 = load i32, ptr %1549, align 4, !tbaa !5
  %2038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2039 = call i32 @s2n_print_stacktrace(ptr noundef %2038) #12
  %2040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2041 = trunc nuw i8 %2040 to i1
  br i1 %2041, label %2042, label %2046

2042:                                             ; preds = %2036
  %2043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2044 = call i32 @fileno(ptr noundef %2043) #12
  %2045 = call i32 @isatty(i32 noundef %2044) #12
  %.not1285 = icmp eq i32 %2045, 0
  br i1 %.not1285, label %2046, label %2047

2046:                                             ; preds = %2042, %2036
  br label %2047

2047:                                             ; preds = %2042, %2046
  %.str.5.sink2583 = phi ptr [ @.str.5, %2046 ], [ @.str.2, %2042 ]
  store i32 %2037, ptr %1549, align 4, !tbaa !5
  %2048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2049 = load i32, ptr @test_count, align 4, !tbaa !5
  %2050 = load i32, ptr %1495, align 4, !tbaa !5
  %2051 = call ptr @s2n_strerror(i32 noundef %2050, ptr noundef nonnull @.str.4) #12
  %2052 = load i32, ptr %1495, align 4, !tbaa !5
  %2053 = call ptr @s2n_strerror_debug(i32 noundef %2052, ptr noundef nonnull @.str.4) #12
  %2054 = load i32, ptr %1549, align 4, !tbaa !5
  %2055 = call ptr @strerror(i32 noundef %2054) #12
  %2056 = load i32, ptr %1549, align 4, !tbaa !5
  %2057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2048, ptr noundef nonnull %.str.5.sink2583, i32 noundef %2049, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 226, ptr noundef %2051, ptr noundef %2053, ptr noundef %2055, i32 noundef %2056) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2058:                                             ; preds = %2031
  %2059 = getelementptr inbounds i8, ptr %2005, i64 8
  store ptr null, ptr %2059, align 8, !tbaa !25
  %2060 = getelementptr inbounds i8, ptr %2005, i64 1688
  store i32 1, ptr %2060, align 8, !tbaa !55
  %2061 = add nsw i32 %2006, 3
  store i32 %2061, ptr @test_count, align 4, !tbaa !5
  %2062 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2005, ptr noundef nonnull %1978) #12
  %2063 = icmp eq i32 %2062, -1
  br i1 %2063, label %2064, label %2086

2064:                                             ; preds = %2058
  %2065 = load i32, ptr %1549, align 4, !tbaa !5
  %2066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2067 = call i32 @s2n_print_stacktrace(ptr noundef %2066) #12
  %2068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2069 = trunc nuw i8 %2068 to i1
  br i1 %2069, label %2070, label %2074

2070:                                             ; preds = %2064
  %2071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2072 = call i32 @fileno(ptr noundef %2071) #12
  %2073 = call i32 @isatty(i32 noundef %2072) #12
  %.not1763 = icmp eq i32 %2073, 0
  br i1 %.not1763, label %2074, label %2075

2074:                                             ; preds = %2070, %2064
  br label %2075

2075:                                             ; preds = %2070, %2074
  %.str.5.sink2592 = phi ptr [ @.str.5, %2074 ], [ @.str.2, %2070 ]
  store i32 %2065, ptr %1549, align 4, !tbaa !5
  %2076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2077 = load i32, ptr @test_count, align 4, !tbaa !5
  %2078 = load i32, ptr %1495, align 4, !tbaa !5
  %2079 = call ptr @s2n_strerror(i32 noundef %2078, ptr noundef nonnull @.str.4) #12
  %2080 = load i32, ptr %1495, align 4, !tbaa !5
  %2081 = call ptr @s2n_strerror_debug(i32 noundef %2080, ptr noundef nonnull @.str.4) #12
  %2082 = load i32, ptr %1549, align 4, !tbaa !5
  %2083 = call ptr @strerror(i32 noundef %2082) #12
  %2084 = load i32, ptr %1549, align 4, !tbaa !5
  %2085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2076, ptr noundef nonnull %.str.5.sink2592, i32 noundef %2077, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 232, ptr noundef %2079, ptr noundef %2081, ptr noundef %2083, i32 noundef %2084) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2086:                                             ; preds = %2058
  %2087 = load i32, ptr @test_count, align 4, !tbaa !5
  %2088 = add nsw i32 %2087, 1
  store i32 %2088, ptr @test_count, align 4, !tbaa !5
  %2089 = load i32, ptr %2060, align 8, !tbaa !55
  %2090 = icmp eq i32 %2089, 0
  br i1 %2090, label %2113, label %2091

2091:                                             ; preds = %2086
  %2092 = load i32, ptr %1549, align 4, !tbaa !5
  %2093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2094 = call i32 @s2n_print_stacktrace(ptr noundef %2093) #12
  %2095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2096 = trunc nuw i8 %2095 to i1
  br i1 %2096, label %2097, label %2101

2097:                                             ; preds = %2091
  %2098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2099 = call i32 @fileno(ptr noundef %2098) #12
  %2100 = call i32 @isatty(i32 noundef %2099) #12
  %.not1286 = icmp eq i32 %2100, 0
  br i1 %.not1286, label %2101, label %2102

2101:                                             ; preds = %2097, %2091
  br label %2102

2102:                                             ; preds = %2097, %2101
  %.str.5.sink2601 = phi ptr [ @.str.5, %2101 ], [ @.str.2, %2097 ]
  store i32 %2092, ptr %1549, align 4, !tbaa !5
  %2103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2104 = load i32, ptr @test_count, align 4, !tbaa !5
  %2105 = load i32, ptr %1495, align 4, !tbaa !5
  %2106 = call ptr @s2n_strerror(i32 noundef %2105, ptr noundef nonnull @.str.4) #12
  %2107 = load i32, ptr %1495, align 4, !tbaa !5
  %2108 = call ptr @s2n_strerror_debug(i32 noundef %2107, ptr noundef nonnull @.str.4) #12
  %2109 = load i32, ptr %1549, align 4, !tbaa !5
  %2110 = call ptr @strerror(i32 noundef %2109) #12
  %2111 = load i32, ptr %1549, align 4, !tbaa !5
  %2112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2103, ptr noundef nonnull %.str.5.sink2601, i32 noundef %2104, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 233, ptr noundef %2106, ptr noundef %2108, ptr noundef %2110, i32 noundef %2111) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2113:                                             ; preds = %2086
  %2114 = add nsw i32 %2087, 2
  store i32 %2114, ptr @test_count, align 4, !tbaa !5
  %2115 = load i32, ptr %2005, align 8
  %2116 = and i32 %2115, 4096
  %.not1287 = icmp eq i32 %2116, 0
  br i1 %.not1287, label %2139, label %2117

2117:                                             ; preds = %2113
  %2118 = load i32, ptr %1549, align 4, !tbaa !5
  %2119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2120 = call i32 @s2n_print_stacktrace(ptr noundef %2119) #12
  %2121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2122 = trunc nuw i8 %2121 to i1
  br i1 %2122, label %2123, label %2127

2123:                                             ; preds = %2117
  %2124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2125 = call i32 @fileno(ptr noundef %2124) #12
  %2126 = call i32 @isatty(i32 noundef %2125) #12
  %.not1762 = icmp eq i32 %2126, 0
  br i1 %.not1762, label %2127, label %2128

2127:                                             ; preds = %2123, %2117
  br label %2128

2128:                                             ; preds = %2123, %2127
  %.str.5.sink2610 = phi ptr [ @.str.5, %2127 ], [ @.str.2, %2123 ]
  store i32 %2118, ptr %1549, align 4, !tbaa !5
  %2129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2130 = load i32, ptr @test_count, align 4, !tbaa !5
  %2131 = load i32, ptr %1495, align 4, !tbaa !5
  %2132 = call ptr @s2n_strerror(i32 noundef %2131, ptr noundef nonnull @.str.4) #12
  %2133 = load i32, ptr %1495, align 4, !tbaa !5
  %2134 = call ptr @s2n_strerror_debug(i32 noundef %2133, ptr noundef nonnull @.str.4) #12
  %2135 = load i32, ptr %1549, align 4, !tbaa !5
  %2136 = call ptr @strerror(i32 noundef %2135) #12
  %2137 = load i32, ptr %1549, align 4, !tbaa !5
  %2138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2129, ptr noundef nonnull %.str.5.sink2610, i32 noundef %2130, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 234, ptr noundef %2132, ptr noundef %2134, ptr noundef %2136, i32 noundef %2137) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2139:                                             ; preds = %2113
  store ptr null, ptr %2059, align 8, !tbaa !25
  store i32 1, ptr %2060, align 8, !tbaa !55
  %2140 = or disjoint i32 %2115, 4096
  store i32 %2140, ptr %2005, align 8
  %2141 = load i32, ptr @test_count, align 4, !tbaa !5
  %2142 = add nsw i32 %2141, 1
  store i32 %2142, ptr @test_count, align 4, !tbaa !5
  %2143 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2005, ptr noundef nonnull %1978) #12
  %2144 = icmp eq i32 %2143, -1
  br i1 %2144, label %2145, label %2167

2145:                                             ; preds = %2139
  %2146 = load i32, ptr %1549, align 4, !tbaa !5
  %2147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2148 = call i32 @s2n_print_stacktrace(ptr noundef %2147) #12
  %2149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2150 = trunc nuw i8 %2149 to i1
  br i1 %2150, label %2151, label %2155

2151:                                             ; preds = %2145
  %2152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2153 = call i32 @fileno(ptr noundef %2152) #12
  %2154 = call i32 @isatty(i32 noundef %2153) #12
  %.not1761 = icmp eq i32 %2154, 0
  br i1 %.not1761, label %2155, label %2156

2155:                                             ; preds = %2151, %2145
  br label %2156

2156:                                             ; preds = %2151, %2155
  %.str.5.sink2619 = phi ptr [ @.str.5, %2155 ], [ @.str.2, %2151 ]
  store i32 %2146, ptr %1549, align 4, !tbaa !5
  %2157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2158 = load i32, ptr @test_count, align 4, !tbaa !5
  %2159 = load i32, ptr %1495, align 4, !tbaa !5
  %2160 = call ptr @s2n_strerror(i32 noundef %2159, ptr noundef nonnull @.str.4) #12
  %2161 = load i32, ptr %1495, align 4, !tbaa !5
  %2162 = call ptr @s2n_strerror_debug(i32 noundef %2161, ptr noundef nonnull @.str.4) #12
  %2163 = load i32, ptr %1549, align 4, !tbaa !5
  %2164 = call ptr @strerror(i32 noundef %2163) #12
  %2165 = load i32, ptr %1549, align 4, !tbaa !5
  %2166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2157, ptr noundef nonnull %.str.5.sink2619, i32 noundef %2158, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 242, ptr noundef %2160, ptr noundef %2162, ptr noundef %2164, i32 noundef %2165) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2167:                                             ; preds = %2139
  %2168 = load i32, ptr @test_count, align 4, !tbaa !5
  %2169 = add nsw i32 %2168, 1
  store i32 %2169, ptr @test_count, align 4, !tbaa !5
  %2170 = load i32, ptr %2060, align 8, !tbaa !55
  %2171 = icmp eq i32 %2170, 1
  br i1 %2171, label %2194, label %2172

2172:                                             ; preds = %2167
  %2173 = load i32, ptr %1549, align 4, !tbaa !5
  %2174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2175 = call i32 @s2n_print_stacktrace(ptr noundef %2174) #12
  %2176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2177 = trunc nuw i8 %2176 to i1
  br i1 %2177, label %2178, label %2182

2178:                                             ; preds = %2172
  %2179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2180 = call i32 @fileno(ptr noundef %2179) #12
  %2181 = call i32 @isatty(i32 noundef %2180) #12
  %.not1288 = icmp eq i32 %2181, 0
  br i1 %.not1288, label %2182, label %2183

2182:                                             ; preds = %2178, %2172
  br label %2183

2183:                                             ; preds = %2178, %2182
  %.str.5.sink2628 = phi ptr [ @.str.5, %2182 ], [ @.str.2, %2178 ]
  store i32 %2173, ptr %1549, align 4, !tbaa !5
  %2184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2185 = load i32, ptr @test_count, align 4, !tbaa !5
  %2186 = load i32, ptr %1495, align 4, !tbaa !5
  %2187 = call ptr @s2n_strerror(i32 noundef %2186, ptr noundef nonnull @.str.4) #12
  %2188 = load i32, ptr %1495, align 4, !tbaa !5
  %2189 = call ptr @s2n_strerror_debug(i32 noundef %2188, ptr noundef nonnull @.str.4) #12
  %2190 = load i32, ptr %1549, align 4, !tbaa !5
  %2191 = call ptr @strerror(i32 noundef %2190) #12
  %2192 = load i32, ptr %1549, align 4, !tbaa !5
  %2193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2184, ptr noundef nonnull %.str.5.sink2628, i32 noundef %2185, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %2187, ptr noundef %2189, ptr noundef %2191, i32 noundef %2192) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2194:                                             ; preds = %2167
  %2195 = add nsw i32 %2168, 2
  store i32 %2195, ptr @test_count, align 4, !tbaa !5
  %2196 = load i32, ptr %2005, align 8
  %2197 = and i32 %2196, 4096
  %.not1289 = icmp eq i32 %2197, 0
  br i1 %.not1289, label %2198, label %2220

2198:                                             ; preds = %2194
  %2199 = load i32, ptr %1549, align 4, !tbaa !5
  %2200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2201 = call i32 @s2n_print_stacktrace(ptr noundef %2200) #12
  %2202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2203 = trunc nuw i8 %2202 to i1
  br i1 %2203, label %2204, label %2208

2204:                                             ; preds = %2198
  %2205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2206 = call i32 @fileno(ptr noundef %2205) #12
  %2207 = call i32 @isatty(i32 noundef %2206) #12
  %.not1290 = icmp eq i32 %2207, 0
  br i1 %.not1290, label %2208, label %2209

2208:                                             ; preds = %2204, %2198
  br label %2209

2209:                                             ; preds = %2204, %2208
  %.str.5.sink2637 = phi ptr [ @.str.5, %2208 ], [ @.str.2, %2204 ]
  store i32 %2199, ptr %1549, align 4, !tbaa !5
  %2210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2211 = load i32, ptr @test_count, align 4, !tbaa !5
  %2212 = load i32, ptr %1495, align 4, !tbaa !5
  %2213 = call ptr @s2n_strerror(i32 noundef %2212, ptr noundef nonnull @.str.4) #12
  %2214 = load i32, ptr %1495, align 4, !tbaa !5
  %2215 = call ptr @s2n_strerror_debug(i32 noundef %2214, ptr noundef nonnull @.str.4) #12
  %2216 = load i32, ptr %1549, align 4, !tbaa !5
  %2217 = call ptr @strerror(i32 noundef %2216) #12
  %2218 = load i32, ptr %1549, align 4, !tbaa !5
  %2219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2210, ptr noundef nonnull %.str.5.sink2637, i32 noundef %2211, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 244, ptr noundef %2213, ptr noundef %2215, ptr noundef %2217, i32 noundef %2218) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2220:                                             ; preds = %2194
  %2221 = and i32 %2196, -4097
  store i32 %2221, ptr %2005, align 8
  store ptr null, ptr %2059, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #12
  %2222 = call ptr @s2n_test_psk_new(ptr noundef nonnull %2005) #12
  store ptr %2222, ptr %12, align 8, !tbaa !9
  %2223 = load i32, ptr @test_count, align 4, !tbaa !5
  %2224 = add nsw i32 %2223, 1
  store i32 %2224, ptr @test_count, align 4, !tbaa !5
  %2225 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %2005, ptr noundef %2222) #12
  %2226 = icmp eq i32 %2225, -1
  br i1 %2226, label %2227, label %2249

2227:                                             ; preds = %2220
  %2228 = load i32, ptr %1549, align 4, !tbaa !5
  %2229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2230 = call i32 @s2n_print_stacktrace(ptr noundef %2229) #12
  %2231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2232 = trunc nuw i8 %2231 to i1
  br i1 %2232, label %2233, label %2237

2233:                                             ; preds = %2227
  %2234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2235 = call i32 @fileno(ptr noundef %2234) #12
  %2236 = call i32 @isatty(i32 noundef %2235) #12
  %.not1760 = icmp eq i32 %2236, 0
  br i1 %.not1760, label %2237, label %2238

2237:                                             ; preds = %2233, %2227
  br label %2238

2238:                                             ; preds = %2233, %2237
  %.str.5.sink2646 = phi ptr [ @.str.5, %2237 ], [ @.str.2, %2233 ]
  store i32 %2228, ptr %1549, align 4, !tbaa !5
  %2239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2240 = load i32, ptr @test_count, align 4, !tbaa !5
  %2241 = load i32, ptr %1495, align 4, !tbaa !5
  %2242 = call ptr @s2n_strerror(i32 noundef %2241, ptr noundef nonnull @.str.4) #12
  %2243 = load i32, ptr %1495, align 4, !tbaa !5
  %2244 = call ptr @s2n_strerror_debug(i32 noundef %2243, ptr noundef nonnull @.str.4) #12
  %2245 = load i32, ptr %1549, align 4, !tbaa !5
  %2246 = call ptr @strerror(i32 noundef %2245) #12
  %2247 = load i32, ptr %1549, align 4, !tbaa !5
  %2248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2239, ptr noundef nonnull %.str.5.sink2646, i32 noundef %2240, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %2242, ptr noundef %2244, ptr noundef %2246, i32 noundef %2247) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2249:                                             ; preds = %2220
  %2250 = load i32, ptr @test_count, align 4, !tbaa !5
  %2251 = add nsw i32 %2250, 1
  store i32 %2251, ptr @test_count, align 4, !tbaa !5
  %2252 = load i32, ptr %2060, align 8, !tbaa !55
  %2253 = icmp eq i32 %2252, 1
  br i1 %2253, label %2276, label %2254

2254:                                             ; preds = %2249
  %2255 = load i32, ptr %1549, align 4, !tbaa !5
  %2256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2257 = call i32 @s2n_print_stacktrace(ptr noundef %2256) #12
  %2258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2259 = trunc nuw i8 %2258 to i1
  br i1 %2259, label %2260, label %2264

2260:                                             ; preds = %2254
  %2261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2262 = call i32 @fileno(ptr noundef %2261) #12
  %2263 = call i32 @isatty(i32 noundef %2262) #12
  %.not1291 = icmp eq i32 %2263, 0
  br i1 %.not1291, label %2264, label %2265

2264:                                             ; preds = %2260, %2254
  br label %2265

2265:                                             ; preds = %2260, %2264
  %.str.5.sink2655 = phi ptr [ @.str.5, %2264 ], [ @.str.2, %2260 ]
  store i32 %2255, ptr %1549, align 4, !tbaa !5
  %2266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2267 = load i32, ptr @test_count, align 4, !tbaa !5
  %2268 = load i32, ptr %1495, align 4, !tbaa !5
  %2269 = call ptr @s2n_strerror(i32 noundef %2268, ptr noundef nonnull @.str.4) #12
  %2270 = load i32, ptr %1495, align 4, !tbaa !5
  %2271 = call ptr @s2n_strerror_debug(i32 noundef %2270, ptr noundef nonnull @.str.4) #12
  %2272 = load i32, ptr %1549, align 4, !tbaa !5
  %2273 = call ptr @strerror(i32 noundef %2272) #12
  %2274 = load i32, ptr %1549, align 4, !tbaa !5
  %2275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2266, ptr noundef nonnull %.str.5.sink2655, i32 noundef %2267, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 253, ptr noundef %2269, ptr noundef %2271, ptr noundef %2273, i32 noundef %2274) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2276:                                             ; preds = %2249
  %2277 = add nsw i32 %2250, 2
  store i32 %2277, ptr @test_count, align 4, !tbaa !5
  %2278 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2005, ptr noundef nonnull %1978) #12
  %2279 = icmp eq i32 %2278, -1
  br i1 %2279, label %2280, label %2302

2280:                                             ; preds = %2276
  %2281 = load i32, ptr %1549, align 4, !tbaa !5
  %2282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2283 = call i32 @s2n_print_stacktrace(ptr noundef %2282) #12
  %2284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2285 = trunc nuw i8 %2284 to i1
  br i1 %2285, label %2286, label %2290

2286:                                             ; preds = %2280
  %2287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2288 = call i32 @fileno(ptr noundef %2287) #12
  %2289 = call i32 @isatty(i32 noundef %2288) #12
  %.not1759 = icmp eq i32 %2289, 0
  br i1 %.not1759, label %2290, label %2291

2290:                                             ; preds = %2286, %2280
  br label %2291

2291:                                             ; preds = %2286, %2290
  %.str.5.sink2664 = phi ptr [ @.str.5, %2290 ], [ @.str.2, %2286 ]
  store i32 %2281, ptr %1549, align 4, !tbaa !5
  %2292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2293 = load i32, ptr @test_count, align 4, !tbaa !5
  %2294 = load i32, ptr %1495, align 4, !tbaa !5
  %2295 = call ptr @s2n_strerror(i32 noundef %2294, ptr noundef nonnull @.str.4) #12
  %2296 = load i32, ptr %1495, align 4, !tbaa !5
  %2297 = call ptr @s2n_strerror_debug(i32 noundef %2296, ptr noundef nonnull @.str.4) #12
  %2298 = load i32, ptr %1549, align 4, !tbaa !5
  %2299 = call ptr @strerror(i32 noundef %2298) #12
  %2300 = load i32, ptr %1549, align 4, !tbaa !5
  %2301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2292, ptr noundef nonnull %.str.5.sink2664, i32 noundef %2293, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %2295, ptr noundef %2297, ptr noundef %2299, i32 noundef %2300) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2302:                                             ; preds = %2276
  %2303 = load i32, ptr @test_count, align 4, !tbaa !5
  %2304 = add nsw i32 %2303, 1
  store i32 %2304, ptr @test_count, align 4, !tbaa !5
  %2305 = load i32, ptr %2060, align 8, !tbaa !55
  %2306 = icmp eq i32 %2305, 1
  br i1 %2306, label %2329, label %2307

2307:                                             ; preds = %2302
  %2308 = load i32, ptr %1549, align 4, !tbaa !5
  %2309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2310 = call i32 @s2n_print_stacktrace(ptr noundef %2309) #12
  %2311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2312 = trunc nuw i8 %2311 to i1
  br i1 %2312, label %2313, label %2317

2313:                                             ; preds = %2307
  %2314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2315 = call i32 @fileno(ptr noundef %2314) #12
  %2316 = call i32 @isatty(i32 noundef %2315) #12
  %.not1292 = icmp eq i32 %2316, 0
  br i1 %.not1292, label %2317, label %2318

2317:                                             ; preds = %2313, %2307
  br label %2318

2318:                                             ; preds = %2313, %2317
  %.str.5.sink2673 = phi ptr [ @.str.5, %2317 ], [ @.str.2, %2313 ]
  store i32 %2308, ptr %1549, align 4, !tbaa !5
  %2319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2320 = load i32, ptr @test_count, align 4, !tbaa !5
  %2321 = load i32, ptr %1495, align 4, !tbaa !5
  %2322 = call ptr @s2n_strerror(i32 noundef %2321, ptr noundef nonnull @.str.4) #12
  %2323 = load i32, ptr %1495, align 4, !tbaa !5
  %2324 = call ptr @s2n_strerror_debug(i32 noundef %2323, ptr noundef nonnull @.str.4) #12
  %2325 = load i32, ptr %1549, align 4, !tbaa !5
  %2326 = call ptr @strerror(i32 noundef %2325) #12
  %2327 = load i32, ptr %1549, align 4, !tbaa !5
  %2328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2319, ptr noundef nonnull %.str.5.sink2673, i32 noundef %2320, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %2322, ptr noundef %2324, ptr noundef %2326, i32 noundef %2327) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2329:                                             ; preds = %2302
  %2330 = add nsw i32 %2303, 2
  store i32 %2330, ptr @test_count, align 4, !tbaa !5
  %2331 = load i32, ptr %2005, align 8
  %2332 = and i32 %2331, 4096
  %.not1293 = icmp eq i32 %2332, 0
  br i1 %.not1293, label %2355, label %2333

2333:                                             ; preds = %2329
  %2334 = load i32, ptr %1549, align 4, !tbaa !5
  %2335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2336 = call i32 @s2n_print_stacktrace(ptr noundef %2335) #12
  %2337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2338 = trunc nuw i8 %2337 to i1
  br i1 %2338, label %2339, label %2343

2339:                                             ; preds = %2333
  %2340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2341 = call i32 @fileno(ptr noundef %2340) #12
  %2342 = call i32 @isatty(i32 noundef %2341) #12
  %.not1758 = icmp eq i32 %2342, 0
  br i1 %.not1758, label %2343, label %2344

2343:                                             ; preds = %2339, %2333
  br label %2344

2344:                                             ; preds = %2339, %2343
  %.str.5.sink2682 = phi ptr [ @.str.5, %2343 ], [ @.str.2, %2339 ]
  store i32 %2334, ptr %1549, align 4, !tbaa !5
  %2345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2346 = load i32, ptr @test_count, align 4, !tbaa !5
  %2347 = load i32, ptr %1495, align 4, !tbaa !5
  %2348 = call ptr @s2n_strerror(i32 noundef %2347, ptr noundef nonnull @.str.4) #12
  %2349 = load i32, ptr %1495, align 4, !tbaa !5
  %2350 = call ptr @s2n_strerror_debug(i32 noundef %2349, ptr noundef nonnull @.str.4) #12
  %2351 = load i32, ptr %1549, align 4, !tbaa !5
  %2352 = call ptr @strerror(i32 noundef %2351) #12
  %2353 = load i32, ptr %1549, align 4, !tbaa !5
  %2354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2345, ptr noundef nonnull %.str.5.sink2682, i32 noundef %2346, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %2348, ptr noundef %2350, ptr noundef %2352, i32 noundef %2353) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2355:                                             ; preds = %2329
  %2356 = call i32 @s2n_psk_free(ptr noundef nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #12
  %2357 = load i32, ptr @test_count, align 4, !tbaa !5
  %2358 = add nsw i32 %2357, 1
  store i32 %2358, ptr @test_count, align 4, !tbaa !5
  %2359 = call i32 @s2n_connection_free(ptr noundef nonnull %2005) #12
  %2360 = icmp eq i32 %2359, -1
  br i1 %2360, label %2361, label %2383

2361:                                             ; preds = %2355
  %2362 = load i32, ptr %1549, align 4, !tbaa !5
  %2363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2364 = call i32 @s2n_print_stacktrace(ptr noundef %2363) #12
  %2365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2366 = trunc nuw i8 %2365 to i1
  br i1 %2366, label %2367, label %2371

2367:                                             ; preds = %2361
  %2368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2369 = call i32 @fileno(ptr noundef %2368) #12
  %2370 = call i32 @isatty(i32 noundef %2369) #12
  %.not1757 = icmp eq i32 %2370, 0
  br i1 %.not1757, label %2371, label %2372

2371:                                             ; preds = %2367, %2361
  br label %2372

2372:                                             ; preds = %2367, %2371
  %.str.5.sink2691 = phi ptr [ @.str.5, %2371 ], [ @.str.2, %2367 ]
  store i32 %2362, ptr %1549, align 4, !tbaa !5
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = load i32, ptr @test_count, align 4, !tbaa !5
  %2375 = load i32, ptr %1495, align 4, !tbaa !5
  %2376 = call ptr @s2n_strerror(i32 noundef %2375, ptr noundef nonnull @.str.4) #12
  %2377 = load i32, ptr %1495, align 4, !tbaa !5
  %2378 = call ptr @s2n_strerror_debug(i32 noundef %2377, ptr noundef nonnull @.str.4) #12
  %2379 = load i32, ptr %1549, align 4, !tbaa !5
  %2380 = call ptr @strerror(i32 noundef %2379) #12
  %2381 = load i32, ptr %1549, align 4, !tbaa !5
  %2382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2373, ptr noundef nonnull %.str.5.sink2691, i32 noundef %2374, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %2376, ptr noundef %2378, ptr noundef %2380, i32 noundef %2381) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2383:                                             ; preds = %2355
  %2384 = load i32, ptr @test_count, align 4, !tbaa !5
  %2385 = add nsw i32 %2384, 1
  store i32 %2385, ptr @test_count, align 4, !tbaa !5
  %2386 = call i32 @s2n_config_free(ptr noundef nonnull %1978) #12
  %2387 = icmp eq i32 %2386, -1
  br i1 %2387, label %2388, label %2410

2388:                                             ; preds = %2383
  %2389 = load i32, ptr %1549, align 4, !tbaa !5
  %2390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2391 = call i32 @s2n_print_stacktrace(ptr noundef %2390) #12
  %2392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2393 = trunc nuw i8 %2392 to i1
  br i1 %2393, label %2394, label %2398

2394:                                             ; preds = %2388
  %2395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2396 = call i32 @fileno(ptr noundef %2395) #12
  %2397 = call i32 @isatty(i32 noundef %2396) #12
  %.not1756 = icmp eq i32 %2397, 0
  br i1 %.not1756, label %2398, label %2399

2398:                                             ; preds = %2394, %2388
  br label %2399

2399:                                             ; preds = %2394, %2398
  %.str.5.sink2700 = phi ptr [ @.str.5, %2398 ], [ @.str.2, %2394 ]
  store i32 %2389, ptr %1549, align 4, !tbaa !5
  %2400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2401 = load i32, ptr @test_count, align 4, !tbaa !5
  %2402 = load i32, ptr %1495, align 4, !tbaa !5
  %2403 = call ptr @s2n_strerror(i32 noundef %2402, ptr noundef nonnull @.str.4) #12
  %2404 = load i32, ptr %1495, align 4, !tbaa !5
  %2405 = call ptr @s2n_strerror_debug(i32 noundef %2404, ptr noundef nonnull @.str.4) #12
  %2406 = load i32, ptr %1549, align 4, !tbaa !5
  %2407 = call ptr @strerror(i32 noundef %2406) #12
  %2408 = load i32, ptr %1549, align 4, !tbaa !5
  %2409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2400, ptr noundef nonnull %.str.5.sink2700, i32 noundef %2401, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %2403, ptr noundef %2405, ptr noundef %2407, i32 noundef %2408) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2410:                                             ; preds = %2383
  %2411 = load i32, ptr @test_count, align 4, !tbaa !5
  %2412 = add nsw i32 %2411, 1
  store i32 %2412, ptr @test_count, align 4, !tbaa !5
  %2413 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef null, i8 noundef zeroext 1) #12
  %2414 = icmp eq i32 %2413, -1
  br i1 %2414, label %2437, label %2415

2415:                                             ; preds = %2410
  %2416 = load i32, ptr %1549, align 4, !tbaa !5
  %2417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2418 = call i32 @s2n_print_stacktrace(ptr noundef %2417) #12
  %2419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2420 = trunc nuw i8 %2419 to i1
  br i1 %2420, label %2421, label %2425

2421:                                             ; preds = %2415
  %2422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2423 = call i32 @fileno(ptr noundef %2422) #12
  %2424 = call i32 @isatty(i32 noundef %2423) #12
  %.not1294 = icmp eq i32 %2424, 0
  br i1 %.not1294, label %2425, label %2426

2425:                                             ; preds = %2421, %2415
  br label %2426

2426:                                             ; preds = %2421, %2425
  %.str.5.sink2709 = phi ptr [ @.str.5, %2425 ], [ @.str.2, %2421 ]
  store i32 %2416, ptr %1549, align 4, !tbaa !5
  %2427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2428 = load i32, ptr @test_count, align 4, !tbaa !5
  %2429 = load i32, ptr %1495, align 4, !tbaa !5
  %2430 = call ptr @s2n_strerror(i32 noundef %2429, ptr noundef nonnull @.str.4) #12
  %2431 = load i32, ptr %1495, align 4, !tbaa !5
  %2432 = call ptr @s2n_strerror_debug(i32 noundef %2431, ptr noundef nonnull @.str.4) #12
  %2433 = load i32, ptr %1549, align 4, !tbaa !5
  %2434 = call ptr @strerror(i32 noundef %2433) #12
  %2435 = load i32, ptr %1549, align 4, !tbaa !5
  %2436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2427, ptr noundef nonnull %.str.5.sink2709, i32 noundef %2428, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %2430, ptr noundef %2432, ptr noundef %2434, i32 noundef %2435) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2437:                                             ; preds = %2410
  %2438 = load i32, ptr @test_count, align 4, !tbaa !5
  %2439 = add nsw i32 %2438, 1
  store i32 %2439, ptr @test_count, align 4, !tbaa !5
  %2440 = load i32, ptr %1495, align 4, !tbaa !5
  %2441 = icmp eq i32 %2440, 402653193
  br i1 %2441, label %2464, label %2442

2442:                                             ; preds = %2437
  %2443 = load i32, ptr %1549, align 4, !tbaa !5
  %2444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2445 = call i32 @s2n_print_stacktrace(ptr noundef %2444) #12
  %2446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2447 = trunc nuw i8 %2446 to i1
  br i1 %2447, label %2448, label %2452

2448:                                             ; preds = %2442
  %2449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2450 = call i32 @fileno(ptr noundef %2449) #12
  %2451 = call i32 @isatty(i32 noundef %2450) #12
  %.not1295 = icmp eq i32 %2451, 0
  br i1 %.not1295, label %2452, label %2453

2452:                                             ; preds = %2448, %2442
  br label %2453

2453:                                             ; preds = %2448, %2452
  %.str.5.sink2718 = phi ptr [ @.str.5, %2452 ], [ @.str.2, %2448 ]
  store i32 %2443, ptr %1549, align 4, !tbaa !5
  %2454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2455 = load i32, ptr @test_count, align 4, !tbaa !5
  %2456 = load i32, ptr %1495, align 4, !tbaa !5
  %2457 = call ptr @s2n_strerror(i32 noundef %2456, ptr noundef nonnull @.str.4) #12
  %2458 = load i32, ptr %1495, align 4, !tbaa !5
  %2459 = call ptr @s2n_strerror_debug(i32 noundef %2458, ptr noundef nonnull @.str.4) #12
  %2460 = load i32, ptr %1549, align 4, !tbaa !5
  %2461 = call ptr @strerror(i32 noundef %2460) #12
  %2462 = load i32, ptr %1549, align 4, !tbaa !5
  %2463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2454, ptr noundef nonnull %.str.5.sink2718, i32 noundef %2455, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %2457, ptr noundef %2459, ptr noundef %2461, i32 noundef %2462) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2464:                                             ; preds = %2437
  %2465 = add nsw i32 %2438, 2
  store i32 %2465, ptr @test_count, align 4, !tbaa !5
  %2466 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %2467 = icmp eq ptr %2466, null
  br i1 %2467, label %2468, label %2490

2468:                                             ; preds = %2464
  %2469 = load i32, ptr %1549, align 4, !tbaa !5
  %2470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2471 = call i32 @s2n_print_stacktrace(ptr noundef %2470) #12
  %2472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2473 = trunc nuw i8 %2472 to i1
  br i1 %2473, label %2474, label %2478

2474:                                             ; preds = %2468
  %2475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2476 = call i32 @fileno(ptr noundef %2475) #12
  %2477 = call i32 @isatty(i32 noundef %2476) #12
  %.not1755 = icmp eq i32 %2477, 0
  br i1 %.not1755, label %2478, label %2479

2478:                                             ; preds = %2474, %2468
  br label %2479

2479:                                             ; preds = %2474, %2478
  %.str.5.sink2727 = phi ptr [ @.str.5, %2478 ], [ @.str.2, %2474 ]
  store i32 %2469, ptr %1549, align 4, !tbaa !5
  %2480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2481 = load i32, ptr @test_count, align 4, !tbaa !5
  %2482 = load i32, ptr %1495, align 4, !tbaa !5
  %2483 = call ptr @s2n_strerror(i32 noundef %2482, ptr noundef nonnull @.str.4) #12
  %2484 = load i32, ptr %1495, align 4, !tbaa !5
  %2485 = call ptr @s2n_strerror_debug(i32 noundef %2484, ptr noundef nonnull @.str.4) #12
  %2486 = load i32, ptr %1549, align 4, !tbaa !5
  %2487 = call ptr @strerror(i32 noundef %2486) #12
  %2488 = load i32, ptr %1549, align 4, !tbaa !5
  %2489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2480, ptr noundef nonnull %.str.5.sink2727, i32 noundef %2481, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %2483, ptr noundef %2485, ptr noundef %2487, i32 noundef %2488) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2490:                                             ; preds = %2464
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %2491 = load i32, ptr @test_count, align 4, !tbaa !5
  %2492 = add nsw i32 %2491, 1
  store i32 %2492, ptr @test_count, align 4, !tbaa !5
  %2493 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef null, i8 noundef zeroext 0) #12
  %2494 = icmp eq i32 %2493, -1
  br i1 %2494, label %2517, label %2495

2495:                                             ; preds = %2490
  %2496 = load i32, ptr %1549, align 4, !tbaa !5
  %2497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2498 = call i32 @s2n_print_stacktrace(ptr noundef %2497) #12
  %2499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2500 = trunc nuw i8 %2499 to i1
  br i1 %2500, label %2501, label %2505

2501:                                             ; preds = %2495
  %2502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2503 = call i32 @fileno(ptr noundef %2502) #12
  %2504 = call i32 @isatty(i32 noundef %2503) #12
  %.not1296 = icmp eq i32 %2504, 0
  br i1 %.not1296, label %2505, label %2506

2505:                                             ; preds = %2501, %2495
  br label %2506

2506:                                             ; preds = %2501, %2505
  %.str.5.sink2736 = phi ptr [ @.str.5, %2505 ], [ @.str.2, %2501 ]
  store i32 %2496, ptr %1549, align 4, !tbaa !5
  %2507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2508 = load i32, ptr @test_count, align 4, !tbaa !5
  %2509 = load i32, ptr %1495, align 4, !tbaa !5
  %2510 = call ptr @s2n_strerror(i32 noundef %2509, ptr noundef nonnull @.str.4) #12
  %2511 = load i32, ptr %1495, align 4, !tbaa !5
  %2512 = call ptr @s2n_strerror_debug(i32 noundef %2511, ptr noundef nonnull @.str.4) #12
  %2513 = load i32, ptr %1549, align 4, !tbaa !5
  %2514 = call ptr @strerror(i32 noundef %2513) #12
  %2515 = load i32, ptr %1549, align 4, !tbaa !5
  %2516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2507, ptr noundef nonnull %.str.5.sink2736, i32 noundef %2508, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %2510, ptr noundef %2512, ptr noundef %2514, i32 noundef %2515) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2517:                                             ; preds = %2490
  %2518 = load i32, ptr @test_count, align 4, !tbaa !5
  %2519 = add nsw i32 %2518, 1
  store i32 %2519, ptr @test_count, align 4, !tbaa !5
  %2520 = load i32, ptr %1495, align 4, !tbaa !5
  %2521 = icmp eq i32 %2520, 402653193
  br i1 %2521, label %2544, label %2522

2522:                                             ; preds = %2517
  %2523 = load i32, ptr %1549, align 4, !tbaa !5
  %2524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2525 = call i32 @s2n_print_stacktrace(ptr noundef %2524) #12
  %2526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2527 = trunc nuw i8 %2526 to i1
  br i1 %2527, label %2528, label %2532

2528:                                             ; preds = %2522
  %2529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2530 = call i32 @fileno(ptr noundef %2529) #12
  %2531 = call i32 @isatty(i32 noundef %2530) #12
  %.not1297 = icmp eq i32 %2531, 0
  br i1 %.not1297, label %2532, label %2533

2532:                                             ; preds = %2528, %2522
  br label %2533

2533:                                             ; preds = %2528, %2532
  %.str.5.sink2745 = phi ptr [ @.str.5, %2532 ], [ @.str.2, %2528 ]
  store i32 %2523, ptr %1549, align 4, !tbaa !5
  %2534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2535 = load i32, ptr @test_count, align 4, !tbaa !5
  %2536 = load i32, ptr %1495, align 4, !tbaa !5
  %2537 = call ptr @s2n_strerror(i32 noundef %2536, ptr noundef nonnull @.str.4) #12
  %2538 = load i32, ptr %1495, align 4, !tbaa !5
  %2539 = call ptr @s2n_strerror_debug(i32 noundef %2538, ptr noundef nonnull @.str.4) #12
  %2540 = load i32, ptr %1549, align 4, !tbaa !5
  %2541 = call ptr @strerror(i32 noundef %2540) #12
  %2542 = load i32, ptr %1549, align 4, !tbaa !5
  %2543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2534, ptr noundef nonnull %.str.5.sink2745, i32 noundef %2535, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %2537, ptr noundef %2539, ptr noundef %2541, i32 noundef %2542) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2544:                                             ; preds = %2517
  %2545 = add nsw i32 %2518, 2
  store i32 %2545, ptr @test_count, align 4, !tbaa !5
  %2546 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %2547 = icmp eq ptr %2546, null
  br i1 %2547, label %2548, label %2570

2548:                                             ; preds = %2544
  %2549 = load i32, ptr %1549, align 4, !tbaa !5
  %2550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2551 = call i32 @s2n_print_stacktrace(ptr noundef %2550) #12
  %2552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2553 = trunc nuw i8 %2552 to i1
  br i1 %2553, label %2554, label %2558

2554:                                             ; preds = %2548
  %2555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2556 = call i32 @fileno(ptr noundef %2555) #12
  %2557 = call i32 @isatty(i32 noundef %2556) #12
  %.not1754 = icmp eq i32 %2557, 0
  br i1 %.not1754, label %2558, label %2559

2558:                                             ; preds = %2554, %2548
  br label %2559

2559:                                             ; preds = %2554, %2558
  %.str.5.sink2754 = phi ptr [ @.str.5, %2558 ], [ @.str.2, %2554 ]
  store i32 %2549, ptr %1549, align 4, !tbaa !5
  %2560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2561 = load i32, ptr @test_count, align 4, !tbaa !5
  %2562 = load i32, ptr %1495, align 4, !tbaa !5
  %2563 = call ptr @s2n_strerror(i32 noundef %2562, ptr noundef nonnull @.str.4) #12
  %2564 = load i32, ptr %1495, align 4, !tbaa !5
  %2565 = call ptr @s2n_strerror_debug(i32 noundef %2564, ptr noundef nonnull @.str.4) #12
  %2566 = load i32, ptr %1549, align 4, !tbaa !5
  %2567 = call ptr @strerror(i32 noundef %2566) #12
  %2568 = load i32, ptr %1549, align 4, !tbaa !5
  %2569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2560, ptr noundef nonnull %.str.5.sink2754, i32 noundef %2561, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %2563, ptr noundef %2565, ptr noundef %2567, i32 noundef %2568) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2570:                                             ; preds = %2544
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %2571 = call ptr @s2n_config_new() #12
  %2572 = load i32, ptr @test_count, align 4, !tbaa !5
  %2573 = add nsw i32 %2572, 1
  store i32 %2573, ptr @test_count, align 4, !tbaa !5
  %2574 = icmp eq ptr %2571, null
  br i1 %2574, label %2575, label %2597

2575:                                             ; preds = %2570
  %2576 = load i32, ptr %1549, align 4, !tbaa !5
  %2577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2578 = call i32 @s2n_print_stacktrace(ptr noundef %2577) #12
  %2579 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2580 = trunc nuw i8 %2579 to i1
  br i1 %2580, label %2581, label %2585

2581:                                             ; preds = %2575
  %2582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2583 = call i32 @fileno(ptr noundef %2582) #12
  %2584 = call i32 @isatty(i32 noundef %2583) #12
  %.not1753 = icmp eq i32 %2584, 0
  br i1 %.not1753, label %2585, label %2586

2585:                                             ; preds = %2581, %2575
  br label %2586

2586:                                             ; preds = %2581, %2585
  %.str.5.sink2763 = phi ptr [ @.str.5, %2585 ], [ @.str.2, %2581 ]
  store i32 %2576, ptr %1549, align 4, !tbaa !5
  %2587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2588 = load i32, ptr @test_count, align 4, !tbaa !5
  %2589 = load i32, ptr %1495, align 4, !tbaa !5
  %2590 = call ptr @s2n_strerror(i32 noundef %2589, ptr noundef nonnull @.str.4) #12
  %2591 = load i32, ptr %1495, align 4, !tbaa !5
  %2592 = call ptr @s2n_strerror_debug(i32 noundef %2591, ptr noundef nonnull @.str.4) #12
  %2593 = load i32, ptr %1549, align 4, !tbaa !5
  %2594 = call ptr @strerror(i32 noundef %2593) #12
  %2595 = load i32, ptr %1549, align 4, !tbaa !5
  %2596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2587, ptr noundef nonnull %.str.5.sink2763, i32 noundef %2588, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %2590, ptr noundef %2592, ptr noundef %2594, i32 noundef %2595) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2597:                                             ; preds = %2570
  %2598 = add nsw i32 %2572, 2
  store i32 %2598, ptr @test_count, align 4, !tbaa !5
  %2599 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %2571, i8 noundef zeroext 1) #12
  %2600 = icmp eq i32 %2599, -1
  br i1 %2600, label %2601, label %2623

2601:                                             ; preds = %2597
  %2602 = load i32, ptr %1549, align 4, !tbaa !5
  %2603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2604 = call i32 @s2n_print_stacktrace(ptr noundef %2603) #12
  %2605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2606 = trunc nuw i8 %2605 to i1
  br i1 %2606, label %2607, label %2611

2607:                                             ; preds = %2601
  %2608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2609 = call i32 @fileno(ptr noundef %2608) #12
  %2610 = call i32 @isatty(i32 noundef %2609) #12
  %.not1752 = icmp eq i32 %2610, 0
  br i1 %.not1752, label %2611, label %2612

2611:                                             ; preds = %2607, %2601
  br label %2612

2612:                                             ; preds = %2607, %2611
  %.str.5.sink2772 = phi ptr [ @.str.5, %2611 ], [ @.str.2, %2607 ]
  store i32 %2602, ptr %1549, align 4, !tbaa !5
  %2613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2614 = load i32, ptr @test_count, align 4, !tbaa !5
  %2615 = load i32, ptr %1495, align 4, !tbaa !5
  %2616 = call ptr @s2n_strerror(i32 noundef %2615, ptr noundef nonnull @.str.4) #12
  %2617 = load i32, ptr %1495, align 4, !tbaa !5
  %2618 = call ptr @s2n_strerror_debug(i32 noundef %2617, ptr noundef nonnull @.str.4) #12
  %2619 = load i32, ptr %1549, align 4, !tbaa !5
  %2620 = call ptr @strerror(i32 noundef %2619) #12
  %2621 = load i32, ptr %1549, align 4, !tbaa !5
  %2622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2613, ptr noundef nonnull %.str.5.sink2772, i32 noundef %2614, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 273, ptr noundef %2616, ptr noundef %2618, ptr noundef %2620, i32 noundef %2621) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2623:                                             ; preds = %2597
  %2624 = load i32, ptr @test_count, align 4, !tbaa !5
  %2625 = add nsw i32 %2624, 1
  store i32 %2625, ptr @test_count, align 4, !tbaa !5
  %2626 = load i32, ptr %2571, align 8
  %2627 = and i32 %2626, 1
  %.not1298 = icmp eq i32 %2627, 0
  br i1 %.not1298, label %2628, label %2650

2628:                                             ; preds = %2623
  %2629 = load i32, ptr %1549, align 4, !tbaa !5
  %2630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2631 = call i32 @s2n_print_stacktrace(ptr noundef %2630) #12
  %2632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2633 = trunc nuw i8 %2632 to i1
  br i1 %2633, label %2634, label %2638

2634:                                             ; preds = %2628
  %2635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2636 = call i32 @fileno(ptr noundef %2635) #12
  %2637 = call i32 @isatty(i32 noundef %2636) #12
  %.not1299 = icmp eq i32 %2637, 0
  br i1 %.not1299, label %2638, label %2639

2638:                                             ; preds = %2634, %2628
  br label %2639

2639:                                             ; preds = %2634, %2638
  %.str.5.sink2781 = phi ptr [ @.str.5, %2638 ], [ @.str.2, %2634 ]
  store i32 %2629, ptr %1549, align 4, !tbaa !5
  %2640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2641 = load i32, ptr @test_count, align 4, !tbaa !5
  %2642 = load i32, ptr %1495, align 4, !tbaa !5
  %2643 = call ptr @s2n_strerror(i32 noundef %2642, ptr noundef nonnull @.str.4) #12
  %2644 = load i32, ptr %1495, align 4, !tbaa !5
  %2645 = call ptr @s2n_strerror_debug(i32 noundef %2644, ptr noundef nonnull @.str.4) #12
  %2646 = load i32, ptr %1549, align 4, !tbaa !5
  %2647 = call ptr @strerror(i32 noundef %2646) #12
  %2648 = load i32, ptr %1549, align 4, !tbaa !5
  %2649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2640, ptr noundef nonnull %.str.5.sink2781, i32 noundef %2641, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %2643, ptr noundef %2645, ptr noundef %2647, i32 noundef %2648) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2650:                                             ; preds = %2623
  %2651 = add nsw i32 %2624, 2
  store i32 %2651, ptr @test_count, align 4, !tbaa !5
  %2652 = getelementptr inbounds i8, ptr %2571, i64 297
  %2653 = load i8, ptr %2652, align 1, !tbaa !52
  %2654 = icmp eq i8 %2653, 1
  br i1 %2654, label %2677, label %2655

2655:                                             ; preds = %2650
  %2656 = load i32, ptr %1549, align 4, !tbaa !5
  %2657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2658 = call i32 @s2n_print_stacktrace(ptr noundef %2657) #12
  %2659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2660 = trunc nuw i8 %2659 to i1
  br i1 %2660, label %2661, label %2665

2661:                                             ; preds = %2655
  %2662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2663 = call i32 @fileno(ptr noundef %2662) #12
  %2664 = call i32 @isatty(i32 noundef %2663) #12
  %.not1300 = icmp eq i32 %2664, 0
  br i1 %.not1300, label %2665, label %2666

2665:                                             ; preds = %2661, %2655
  br label %2666

2666:                                             ; preds = %2661, %2665
  %.str.5.sink2790 = phi ptr [ @.str.5, %2665 ], [ @.str.2, %2661 ]
  store i32 %2656, ptr %1549, align 4, !tbaa !5
  %2667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2668 = load i32, ptr @test_count, align 4, !tbaa !5
  %2669 = load i32, ptr %1495, align 4, !tbaa !5
  %2670 = call ptr @s2n_strerror(i32 noundef %2669, ptr noundef nonnull @.str.4) #12
  %2671 = load i32, ptr %1495, align 4, !tbaa !5
  %2672 = call ptr @s2n_strerror_debug(i32 noundef %2671, ptr noundef nonnull @.str.4) #12
  %2673 = load i32, ptr %1549, align 4, !tbaa !5
  %2674 = call ptr @strerror(i32 noundef %2673) #12
  %2675 = load i32, ptr %1549, align 4, !tbaa !5
  %2676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2667, ptr noundef nonnull %.str.5.sink2790, i32 noundef %2668, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 275, ptr noundef %2670, ptr noundef %2672, ptr noundef %2674, i32 noundef %2675) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2677:                                             ; preds = %2650
  %2678 = add nsw i32 %2624, 3
  store i32 %2678, ptr @test_count, align 4, !tbaa !5
  %2679 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %2571, i8 noundef zeroext 0) #12
  %2680 = icmp eq i32 %2679, -1
  br i1 %2680, label %2681, label %2703

2681:                                             ; preds = %2677
  %2682 = load i32, ptr %1549, align 4, !tbaa !5
  %2683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2684 = call i32 @s2n_print_stacktrace(ptr noundef %2683) #12
  %2685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2686 = trunc nuw i8 %2685 to i1
  br i1 %2686, label %2687, label %2691

2687:                                             ; preds = %2681
  %2688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2689 = call i32 @fileno(ptr noundef %2688) #12
  %2690 = call i32 @isatty(i32 noundef %2689) #12
  %.not1751 = icmp eq i32 %2690, 0
  br i1 %.not1751, label %2691, label %2692

2691:                                             ; preds = %2687, %2681
  br label %2692

2692:                                             ; preds = %2687, %2691
  %.str.5.sink2799 = phi ptr [ @.str.5, %2691 ], [ @.str.2, %2687 ]
  store i32 %2682, ptr %1549, align 4, !tbaa !5
  %2693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2694 = load i32, ptr @test_count, align 4, !tbaa !5
  %2695 = load i32, ptr %1495, align 4, !tbaa !5
  %2696 = call ptr @s2n_strerror(i32 noundef %2695, ptr noundef nonnull @.str.4) #12
  %2697 = load i32, ptr %1495, align 4, !tbaa !5
  %2698 = call ptr @s2n_strerror_debug(i32 noundef %2697, ptr noundef nonnull @.str.4) #12
  %2699 = load i32, ptr %1549, align 4, !tbaa !5
  %2700 = call ptr @strerror(i32 noundef %2699) #12
  %2701 = load i32, ptr %1549, align 4, !tbaa !5
  %2702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2693, ptr noundef nonnull %.str.5.sink2799, i32 noundef %2694, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %2696, ptr noundef %2698, ptr noundef %2700, i32 noundef %2701) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2703:                                             ; preds = %2677
  %2704 = load i32, ptr @test_count, align 4, !tbaa !5
  %2705 = add nsw i32 %2704, 1
  store i32 %2705, ptr @test_count, align 4, !tbaa !5
  %2706 = load i32, ptr %2571, align 8
  %2707 = and i32 %2706, 1
  %.not1301 = icmp eq i32 %2707, 0
  br i1 %.not1301, label %2730, label %2708

2708:                                             ; preds = %2703
  %2709 = load i32, ptr %1549, align 4, !tbaa !5
  %2710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2711 = call i32 @s2n_print_stacktrace(ptr noundef %2710) #12
  %2712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2713 = trunc nuw i8 %2712 to i1
  br i1 %2713, label %2714, label %2718

2714:                                             ; preds = %2708
  %2715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2716 = call i32 @fileno(ptr noundef %2715) #12
  %2717 = call i32 @isatty(i32 noundef %2716) #12
  %.not1750 = icmp eq i32 %2717, 0
  br i1 %.not1750, label %2718, label %2719

2718:                                             ; preds = %2714, %2708
  br label %2719

2719:                                             ; preds = %2714, %2718
  %.str.5.sink2808 = phi ptr [ @.str.5, %2718 ], [ @.str.2, %2714 ]
  store i32 %2709, ptr %1549, align 4, !tbaa !5
  %2720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2721 = load i32, ptr @test_count, align 4, !tbaa !5
  %2722 = load i32, ptr %1495, align 4, !tbaa !5
  %2723 = call ptr @s2n_strerror(i32 noundef %2722, ptr noundef nonnull @.str.4) #12
  %2724 = load i32, ptr %1495, align 4, !tbaa !5
  %2725 = call ptr @s2n_strerror_debug(i32 noundef %2724, ptr noundef nonnull @.str.4) #12
  %2726 = load i32, ptr %1549, align 4, !tbaa !5
  %2727 = call ptr @strerror(i32 noundef %2726) #12
  %2728 = load i32, ptr %1549, align 4, !tbaa !5
  %2729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2720, ptr noundef nonnull %.str.5.sink2808, i32 noundef %2721, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 278, ptr noundef %2723, ptr noundef %2725, ptr noundef %2727, i32 noundef %2728) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2730:                                             ; preds = %2703
  %2731 = add nsw i32 %2704, 2
  store i32 %2731, ptr @test_count, align 4, !tbaa !5
  %2732 = load i8, ptr %2652, align 1, !tbaa !52
  %2733 = icmp eq i8 %2732, 1
  br i1 %2733, label %2756, label %2734

2734:                                             ; preds = %2730
  %2735 = load i32, ptr %1549, align 4, !tbaa !5
  %2736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2737 = call i32 @s2n_print_stacktrace(ptr noundef %2736) #12
  %2738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2739 = trunc nuw i8 %2738 to i1
  br i1 %2739, label %2740, label %2744

2740:                                             ; preds = %2734
  %2741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2742 = call i32 @fileno(ptr noundef %2741) #12
  %2743 = call i32 @isatty(i32 noundef %2742) #12
  %.not1302 = icmp eq i32 %2743, 0
  br i1 %.not1302, label %2744, label %2745

2744:                                             ; preds = %2740, %2734
  br label %2745

2745:                                             ; preds = %2740, %2744
  %.str.5.sink2817 = phi ptr [ @.str.5, %2744 ], [ @.str.2, %2740 ]
  store i32 %2735, ptr %1549, align 4, !tbaa !5
  %2746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2747 = load i32, ptr @test_count, align 4, !tbaa !5
  %2748 = load i32, ptr %1495, align 4, !tbaa !5
  %2749 = call ptr @s2n_strerror(i32 noundef %2748, ptr noundef nonnull @.str.4) #12
  %2750 = load i32, ptr %1495, align 4, !tbaa !5
  %2751 = call ptr @s2n_strerror_debug(i32 noundef %2750, ptr noundef nonnull @.str.4) #12
  %2752 = load i32, ptr %1549, align 4, !tbaa !5
  %2753 = call ptr @strerror(i32 noundef %2752) #12
  %2754 = load i32, ptr %1549, align 4, !tbaa !5
  %2755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2746, ptr noundef nonnull %.str.5.sink2817, i32 noundef %2747, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 279, ptr noundef %2749, ptr noundef %2751, ptr noundef %2753, i32 noundef %2754) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2756:                                             ; preds = %2730
  store i8 10, ptr %2652, align 1, !tbaa !52
  %2757 = add nsw i32 %2704, 3
  store i32 %2757, ptr @test_count, align 4, !tbaa !5
  %2758 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %2571, i8 noundef zeroext 1) #12
  %2759 = icmp eq i32 %2758, -1
  br i1 %2759, label %2760, label %2782

2760:                                             ; preds = %2756
  %2761 = load i32, ptr %1549, align 4, !tbaa !5
  %2762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2763 = call i32 @s2n_print_stacktrace(ptr noundef %2762) #12
  %2764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2765 = trunc nuw i8 %2764 to i1
  br i1 %2765, label %2766, label %2770

2766:                                             ; preds = %2760
  %2767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2768 = call i32 @fileno(ptr noundef %2767) #12
  %2769 = call i32 @isatty(i32 noundef %2768) #12
  %.not1749 = icmp eq i32 %2769, 0
  br i1 %.not1749, label %2770, label %2771

2770:                                             ; preds = %2766, %2760
  br label %2771

2771:                                             ; preds = %2766, %2770
  %.str.5.sink2826 = phi ptr [ @.str.5, %2770 ], [ @.str.2, %2766 ]
  store i32 %2761, ptr %1549, align 4, !tbaa !5
  %2772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2773 = load i32, ptr @test_count, align 4, !tbaa !5
  %2774 = load i32, ptr %1495, align 4, !tbaa !5
  %2775 = call ptr @s2n_strerror(i32 noundef %2774, ptr noundef nonnull @.str.4) #12
  %2776 = load i32, ptr %1495, align 4, !tbaa !5
  %2777 = call ptr @s2n_strerror_debug(i32 noundef %2776, ptr noundef nonnull @.str.4) #12
  %2778 = load i32, ptr %1549, align 4, !tbaa !5
  %2779 = call ptr @strerror(i32 noundef %2778) #12
  %2780 = load i32, ptr %1549, align 4, !tbaa !5
  %2781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2772, ptr noundef nonnull %.str.5.sink2826, i32 noundef %2773, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %2775, ptr noundef %2777, ptr noundef %2779, i32 noundef %2780) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2782:                                             ; preds = %2756
  %2783 = load i32, ptr @test_count, align 4, !tbaa !5
  %2784 = add nsw i32 %2783, 1
  store i32 %2784, ptr @test_count, align 4, !tbaa !5
  %2785 = load i32, ptr %2571, align 8
  %2786 = and i32 %2785, 1
  %.not1303 = icmp eq i32 %2786, 0
  br i1 %.not1303, label %2787, label %2809

2787:                                             ; preds = %2782
  %2788 = load i32, ptr %1549, align 4, !tbaa !5
  %2789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2790 = call i32 @s2n_print_stacktrace(ptr noundef %2789) #12
  %2791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2792 = trunc nuw i8 %2791 to i1
  br i1 %2792, label %2793, label %2797

2793:                                             ; preds = %2787
  %2794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2795 = call i32 @fileno(ptr noundef %2794) #12
  %2796 = call i32 @isatty(i32 noundef %2795) #12
  %.not1304 = icmp eq i32 %2796, 0
  br i1 %.not1304, label %2797, label %2798

2797:                                             ; preds = %2793, %2787
  br label %2798

2798:                                             ; preds = %2793, %2797
  %.str.5.sink2835 = phi ptr [ @.str.5, %2797 ], [ @.str.2, %2793 ]
  store i32 %2788, ptr %1549, align 4, !tbaa !5
  %2799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2800 = load i32, ptr @test_count, align 4, !tbaa !5
  %2801 = load i32, ptr %1495, align 4, !tbaa !5
  %2802 = call ptr @s2n_strerror(i32 noundef %2801, ptr noundef nonnull @.str.4) #12
  %2803 = load i32, ptr %1495, align 4, !tbaa !5
  %2804 = call ptr @s2n_strerror_debug(i32 noundef %2803, ptr noundef nonnull @.str.4) #12
  %2805 = load i32, ptr %1549, align 4, !tbaa !5
  %2806 = call ptr @strerror(i32 noundef %2805) #12
  %2807 = load i32, ptr %1549, align 4, !tbaa !5
  %2808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2799, ptr noundef nonnull %.str.5.sink2835, i32 noundef %2800, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %2802, ptr noundef %2804, ptr noundef %2806, i32 noundef %2807) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2809:                                             ; preds = %2782
  %2810 = add nsw i32 %2783, 2
  store i32 %2810, ptr @test_count, align 4, !tbaa !5
  %2811 = load i8, ptr %2652, align 1, !tbaa !52
  %2812 = icmp eq i8 %2811, 10
  br i1 %2812, label %2835, label %2813

2813:                                             ; preds = %2809
  %2814 = load i32, ptr %1549, align 4, !tbaa !5
  %2815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2816 = call i32 @s2n_print_stacktrace(ptr noundef %2815) #12
  %2817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2818 = trunc nuw i8 %2817 to i1
  br i1 %2818, label %2819, label %2823

2819:                                             ; preds = %2813
  %2820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2821 = call i32 @fileno(ptr noundef %2820) #12
  %2822 = call i32 @isatty(i32 noundef %2821) #12
  %.not1305 = icmp eq i32 %2822, 0
  br i1 %.not1305, label %2823, label %2824

2823:                                             ; preds = %2819, %2813
  br label %2824

2824:                                             ; preds = %2819, %2823
  %.str.5.sink2844 = phi ptr [ @.str.5, %2823 ], [ @.str.2, %2819 ]
  store i32 %2814, ptr %1549, align 4, !tbaa !5
  %2825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2826 = load i32, ptr @test_count, align 4, !tbaa !5
  %2827 = load i32, ptr %1495, align 4, !tbaa !5
  %2828 = call ptr @s2n_strerror(i32 noundef %2827, ptr noundef nonnull @.str.4) #12
  %2829 = load i32, ptr %1495, align 4, !tbaa !5
  %2830 = call ptr @s2n_strerror_debug(i32 noundef %2829, ptr noundef nonnull @.str.4) #12
  %2831 = load i32, ptr %1549, align 4, !tbaa !5
  %2832 = call ptr @strerror(i32 noundef %2831) #12
  %2833 = load i32, ptr %1549, align 4, !tbaa !5
  %2834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2825, ptr noundef nonnull %.str.5.sink2844, i32 noundef %2826, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %2828, ptr noundef %2830, ptr noundef %2832, i32 noundef %2833) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2835:                                             ; preds = %2809
  %2836 = add nsw i32 %2783, 3
  store i32 %2836, ptr @test_count, align 4, !tbaa !5
  %2837 = call i32 @s2n_config_free(ptr noundef nonnull %2571) #12
  %2838 = icmp eq i32 %2837, -1
  br i1 %2838, label %2839, label %2861

2839:                                             ; preds = %2835
  %2840 = load i32, ptr %1549, align 4, !tbaa !5
  %2841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2842 = call i32 @s2n_print_stacktrace(ptr noundef %2841) #12
  %2843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2844 = trunc nuw i8 %2843 to i1
  br i1 %2844, label %2845, label %2849

2845:                                             ; preds = %2839
  %2846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2847 = call i32 @fileno(ptr noundef %2846) #12
  %2848 = call i32 @isatty(i32 noundef %2847) #12
  %.not1748 = icmp eq i32 %2848, 0
  br i1 %.not1748, label %2849, label %2850

2849:                                             ; preds = %2845, %2839
  br label %2850

2850:                                             ; preds = %2845, %2849
  %.str.5.sink2853 = phi ptr [ @.str.5, %2849 ], [ @.str.2, %2845 ]
  store i32 %2840, ptr %1549, align 4, !tbaa !5
  %2851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2852 = load i32, ptr @test_count, align 4, !tbaa !5
  %2853 = load i32, ptr %1495, align 4, !tbaa !5
  %2854 = call ptr @s2n_strerror(i32 noundef %2853, ptr noundef nonnull @.str.4) #12
  %2855 = load i32, ptr %1495, align 4, !tbaa !5
  %2856 = call ptr @s2n_strerror_debug(i32 noundef %2855, ptr noundef nonnull @.str.4) #12
  %2857 = load i32, ptr %1549, align 4, !tbaa !5
  %2858 = call ptr @strerror(i32 noundef %2857) #12
  %2859 = load i32, ptr %1549, align 4, !tbaa !5
  %2860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2851, ptr noundef nonnull %.str.5.sink2853, i32 noundef %2852, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %2854, ptr noundef %2856, ptr noundef %2858, i32 noundef %2859) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2861:                                             ; preds = %2835
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #12
  store i8 42, ptr %13, align 1, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #12
  store ptr null, ptr %14, align 8, !tbaa !9
  %2862 = call ptr @s2n_config_new() #12
  %2863 = load i32, ptr @test_count, align 4, !tbaa !5
  %2864 = add nsw i32 %2863, 1
  store i32 %2864, ptr @test_count, align 4, !tbaa !5
  %2865 = icmp eq ptr %2862, null
  br i1 %2865, label %2866, label %2888

2866:                                             ; preds = %2861
  %2867 = load i32, ptr %1549, align 4, !tbaa !5
  %2868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2869 = call i32 @s2n_print_stacktrace(ptr noundef %2868) #12
  %2870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2871 = trunc nuw i8 %2870 to i1
  br i1 %2871, label %2872, label %2876

2872:                                             ; preds = %2866
  %2873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2874 = call i32 @fileno(ptr noundef %2873) #12
  %2875 = call i32 @isatty(i32 noundef %2874) #12
  %.not1747 = icmp eq i32 %2875, 0
  br i1 %.not1747, label %2876, label %2877

2876:                                             ; preds = %2872, %2866
  br label %2877

2877:                                             ; preds = %2872, %2876
  %.str.5.sink2862 = phi ptr [ @.str.5, %2876 ], [ @.str.2, %2872 ]
  store i32 %2867, ptr %1549, align 4, !tbaa !5
  %2878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2879 = load i32, ptr @test_count, align 4, !tbaa !5
  %2880 = load i32, ptr %1495, align 4, !tbaa !5
  %2881 = call ptr @s2n_strerror(i32 noundef %2880, ptr noundef nonnull @.str.4) #12
  %2882 = load i32, ptr %1495, align 4, !tbaa !5
  %2883 = call ptr @s2n_strerror_debug(i32 noundef %2882, ptr noundef nonnull @.str.4) #12
  %2884 = load i32, ptr %1549, align 4, !tbaa !5
  %2885 = call ptr @strerror(i32 noundef %2884) #12
  %2886 = load i32, ptr %1549, align 4, !tbaa !5
  %2887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2878, ptr noundef nonnull %.str.5.sink2862, i32 noundef %2879, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %2881, ptr noundef %2883, ptr noundef %2885, i32 noundef %2886) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2888:                                             ; preds = %2861
  %2889 = add nsw i32 %2863, 2
  store i32 %2889, ptr @test_count, align 4, !tbaa !5
  %2890 = call i32 @s2n_config_get_ctx(ptr noundef nonnull %2862, ptr noundef nonnull %14) #12
  %2891 = icmp eq i32 %2890, -1
  br i1 %2891, label %2892, label %2914

2892:                                             ; preds = %2888
  %2893 = load i32, ptr %1549, align 4, !tbaa !5
  %2894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2895 = call i32 @s2n_print_stacktrace(ptr noundef %2894) #12
  %2896 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2897 = trunc nuw i8 %2896 to i1
  br i1 %2897, label %2898, label %2902

2898:                                             ; preds = %2892
  %2899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2900 = call i32 @fileno(ptr noundef %2899) #12
  %2901 = call i32 @isatty(i32 noundef %2900) #12
  %.not1746 = icmp eq i32 %2901, 0
  br i1 %.not1746, label %2902, label %2903

2902:                                             ; preds = %2898, %2892
  br label %2903

2903:                                             ; preds = %2898, %2902
  %.str.5.sink2871 = phi ptr [ @.str.5, %2902 ], [ @.str.2, %2898 ]
  store i32 %2893, ptr %1549, align 4, !tbaa !5
  %2904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2905 = load i32, ptr @test_count, align 4, !tbaa !5
  %2906 = load i32, ptr %1495, align 4, !tbaa !5
  %2907 = call ptr @s2n_strerror(i32 noundef %2906, ptr noundef nonnull @.str.4) #12
  %2908 = load i32, ptr %1495, align 4, !tbaa !5
  %2909 = call ptr @s2n_strerror_debug(i32 noundef %2908, ptr noundef nonnull @.str.4) #12
  %2910 = load i32, ptr %1549, align 4, !tbaa !5
  %2911 = call ptr @strerror(i32 noundef %2910) #12
  %2912 = load i32, ptr %1549, align 4, !tbaa !5
  %2913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2904, ptr noundef nonnull %.str.5.sink2871, i32 noundef %2905, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %2907, ptr noundef %2909, ptr noundef %2911, i32 noundef %2912) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2914:                                             ; preds = %2888
  %2915 = load i32, ptr @test_count, align 4, !tbaa !5
  %2916 = add nsw i32 %2915, 1
  store i32 %2916, ptr @test_count, align 4, !tbaa !5
  %2917 = load ptr, ptr %14, align 8, !tbaa !9
  %2918 = icmp eq ptr %2917, null
  br i1 %2918, label %2941, label %2919

2919:                                             ; preds = %2914
  %2920 = load i32, ptr %1549, align 4, !tbaa !5
  %2921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2922 = call i32 @s2n_print_stacktrace(ptr noundef %2921) #12
  %2923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2924 = trunc nuw i8 %2923 to i1
  br i1 %2924, label %2925, label %2929

2925:                                             ; preds = %2919
  %2926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2927 = call i32 @fileno(ptr noundef %2926) #12
  %2928 = call i32 @isatty(i32 noundef %2927) #12
  %.not1306 = icmp eq i32 %2928, 0
  br i1 %.not1306, label %2929, label %2930

2929:                                             ; preds = %2925, %2919
  br label %2930

2930:                                             ; preds = %2925, %2929
  %.str.5.sink2880 = phi ptr [ @.str.5, %2929 ], [ @.str.2, %2925 ]
  store i32 %2920, ptr %1549, align 4, !tbaa !5
  %2931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2932 = load i32, ptr @test_count, align 4, !tbaa !5
  %2933 = load i32, ptr %1495, align 4, !tbaa !5
  %2934 = call ptr @s2n_strerror(i32 noundef %2933, ptr noundef nonnull @.str.4) #12
  %2935 = load i32, ptr %1495, align 4, !tbaa !5
  %2936 = call ptr @s2n_strerror_debug(i32 noundef %2935, ptr noundef nonnull @.str.4) #12
  %2937 = load i32, ptr %1549, align 4, !tbaa !5
  %2938 = call ptr @strerror(i32 noundef %2937) #12
  %2939 = load i32, ptr %1549, align 4, !tbaa !5
  %2940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2931, ptr noundef nonnull %.str.5.sink2880, i32 noundef %2932, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 300, ptr noundef %2934, ptr noundef %2936, ptr noundef %2938, i32 noundef %2939) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2941:                                             ; preds = %2914
  %2942 = add nsw i32 %2915, 2
  store i32 %2942, ptr @test_count, align 4, !tbaa !5
  %2943 = call i32 @s2n_config_set_ctx(ptr noundef nonnull %2862, ptr noundef nonnull %13) #12
  %2944 = icmp eq i32 %2943, -1
  br i1 %2944, label %2945, label %2967

2945:                                             ; preds = %2941
  %2946 = load i32, ptr %1549, align 4, !tbaa !5
  %2947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2948 = call i32 @s2n_print_stacktrace(ptr noundef %2947) #12
  %2949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2950 = trunc nuw i8 %2949 to i1
  br i1 %2950, label %2951, label %2955

2951:                                             ; preds = %2945
  %2952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2953 = call i32 @fileno(ptr noundef %2952) #12
  %2954 = call i32 @isatty(i32 noundef %2953) #12
  %.not1745 = icmp eq i32 %2954, 0
  br i1 %.not1745, label %2955, label %2956

2955:                                             ; preds = %2951, %2945
  br label %2956

2956:                                             ; preds = %2951, %2955
  %.str.5.sink2889 = phi ptr [ @.str.5, %2955 ], [ @.str.2, %2951 ]
  store i32 %2946, ptr %1549, align 4, !tbaa !5
  %2957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2958 = load i32, ptr @test_count, align 4, !tbaa !5
  %2959 = load i32, ptr %1495, align 4, !tbaa !5
  %2960 = call ptr @s2n_strerror(i32 noundef %2959, ptr noundef nonnull @.str.4) #12
  %2961 = load i32, ptr %1495, align 4, !tbaa !5
  %2962 = call ptr @s2n_strerror_debug(i32 noundef %2961, ptr noundef nonnull @.str.4) #12
  %2963 = load i32, ptr %1549, align 4, !tbaa !5
  %2964 = call ptr @strerror(i32 noundef %2963) #12
  %2965 = load i32, ptr %1549, align 4, !tbaa !5
  %2966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2957, ptr noundef nonnull %.str.5.sink2889, i32 noundef %2958, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 302, ptr noundef %2960, ptr noundef %2962, ptr noundef %2964, i32 noundef %2965) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2967:                                             ; preds = %2941
  %2968 = load i32, ptr @test_count, align 4, !tbaa !5
  %2969 = add nsw i32 %2968, 1
  store i32 %2969, ptr @test_count, align 4, !tbaa !5
  %2970 = call i32 @s2n_config_get_ctx(ptr noundef nonnull %2862, ptr noundef nonnull %14) #12
  %2971 = icmp eq i32 %2970, -1
  br i1 %2971, label %2972, label %2994

2972:                                             ; preds = %2967
  %2973 = load i32, ptr %1549, align 4, !tbaa !5
  %2974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2975 = call i32 @s2n_print_stacktrace(ptr noundef %2974) #12
  %2976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2977 = trunc nuw i8 %2976 to i1
  br i1 %2977, label %2978, label %2982

2978:                                             ; preds = %2972
  %2979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2980 = call i32 @fileno(ptr noundef %2979) #12
  %2981 = call i32 @isatty(i32 noundef %2980) #12
  %.not1744 = icmp eq i32 %2981, 0
  br i1 %.not1744, label %2982, label %2983

2982:                                             ; preds = %2978, %2972
  br label %2983

2983:                                             ; preds = %2978, %2982
  %.str.5.sink2898 = phi ptr [ @.str.5, %2982 ], [ @.str.2, %2978 ]
  store i32 %2973, ptr %1549, align 4, !tbaa !5
  %2984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2985 = load i32, ptr @test_count, align 4, !tbaa !5
  %2986 = load i32, ptr %1495, align 4, !tbaa !5
  %2987 = call ptr @s2n_strerror(i32 noundef %2986, ptr noundef nonnull @.str.4) #12
  %2988 = load i32, ptr %1495, align 4, !tbaa !5
  %2989 = call ptr @s2n_strerror_debug(i32 noundef %2988, ptr noundef nonnull @.str.4) #12
  %2990 = load i32, ptr %1549, align 4, !tbaa !5
  %2991 = call ptr @strerror(i32 noundef %2990) #12
  %2992 = load i32, ptr %1549, align 4, !tbaa !5
  %2993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2984, ptr noundef nonnull %.str.5.sink2898, i32 noundef %2985, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 303, ptr noundef %2987, ptr noundef %2989, ptr noundef %2991, i32 noundef %2992) #14
  call void @exit(i32 noundef 1) #15
  unreachable

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

2999:                                             ; preds = %2994
  %3000 = load i32, ptr %1549, 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
  %.not1743 = icmp eq i32 %3008, 0
  br i1 %.not1743, label %3009, label %3010

3009:                                             ; preds = %3005, %2999
  br label %3010

3010:                                             ; preds = %3005, %3009
  %.str.5.sink2907 = phi ptr [ @.str.5, %3009 ], [ @.str.2, %3005 ]
  store i32 %3000, ptr %1549, 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 %1495, align 4, !tbaa !5
  %3014 = call ptr @s2n_strerror(i32 noundef %3013, ptr noundef nonnull @.str.4) #12
  %3015 = load i32, ptr %1495, align 4, !tbaa !5
  %3016 = call ptr @s2n_strerror_debug(i32 noundef %3015, ptr noundef nonnull @.str.4) #12
  %3017 = load i32, ptr %1549, align 4, !tbaa !5
  %3018 = call ptr @strerror(i32 noundef %3017) #12
  %3019 = load i32, ptr %1549, align 4, !tbaa !5
  %3020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3011, ptr noundef nonnull %.str.5.sink2907, i32 noundef %3012, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %3014, ptr noundef %3016, ptr noundef %3018, i32 noundef %3019) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3021:                                             ; preds = %2994
  %3022 = add nsw i32 %2995, 2
  store i32 %3022, ptr @test_count, align 4, !tbaa !5
  %3023 = load i8, ptr %2997, align 1, !tbaa !49
  %3024 = load i8, ptr %13, align 1, !tbaa !49
  %3025 = icmp eq i8 %3023, %3024
  br i1 %3025, label %3048, label %3026

3026:                                             ; preds = %3021
  %3027 = load i32, ptr %1549, align 4, !tbaa !5
  %3028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3029 = call i32 @s2n_print_stacktrace(ptr noundef %3028) #12
  %3030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3031 = trunc nuw i8 %3030 to i1
  br i1 %3031, label %3032, label %3036

3032:                                             ; preds = %3026
  %3033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3034 = call i32 @fileno(ptr noundef %3033) #12
  %3035 = call i32 @isatty(i32 noundef %3034) #12
  %.not1307 = icmp eq i32 %3035, 0
  br i1 %.not1307, label %3036, label %3037

3036:                                             ; preds = %3032, %3026
  br label %3037

3037:                                             ; preds = %3032, %3036
  %.str.5.sink2916 = phi ptr [ @.str.5, %3036 ], [ @.str.2, %3032 ]
  store i32 %3027, ptr %1549, align 4, !tbaa !5
  %3038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3039 = load i32, ptr @test_count, align 4, !tbaa !5
  %3040 = load i32, ptr %1495, align 4, !tbaa !5
  %3041 = call ptr @s2n_strerror(i32 noundef %3040, ptr noundef nonnull @.str.4) #12
  %3042 = load i32, ptr %1495, align 4, !tbaa !5
  %3043 = call ptr @s2n_strerror_debug(i32 noundef %3042, ptr noundef nonnull @.str.4) #12
  %3044 = load i32, ptr %1549, align 4, !tbaa !5
  %3045 = call ptr @strerror(i32 noundef %3044) #12
  %3046 = load i32, ptr %1549, align 4, !tbaa !5
  %3047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3038, ptr noundef nonnull %.str.5.sink2916, i32 noundef %3039, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 306, ptr noundef %3041, ptr noundef %3043, ptr noundef %3045, i32 noundef %3046) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3048:                                             ; preds = %3021
  %3049 = add nsw i32 %2995, 3
  store i32 %3049, ptr @test_count, align 4, !tbaa !5
  %3050 = load i8, ptr %2997, align 1, !tbaa !49
  %3051 = icmp eq i8 %3050, 123
  br i1 %3051, label %3052, label %3074

3052:                                             ; preds = %3048
  %3053 = load i32, ptr %1549, align 4, !tbaa !5
  %3054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3055 = call i32 @s2n_print_stacktrace(ptr noundef %3054) #12
  %3056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3057 = trunc nuw i8 %3056 to i1
  br i1 %3057, label %3058, label %3062

3058:                                             ; preds = %3052
  %3059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3060 = call i32 @fileno(ptr noundef %3059) #12
  %3061 = call i32 @isatty(i32 noundef %3060) #12
  %.not1742 = icmp eq i32 %3061, 0
  br i1 %.not1742, label %3062, label %3063

3062:                                             ; preds = %3058, %3052
  br label %3063

3063:                                             ; preds = %3058, %3062
  %.str.5.sink2925 = phi ptr [ @.str.5, %3062 ], [ @.str.2, %3058 ]
  store i32 %3053, ptr %1549, align 4, !tbaa !5
  %3064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3065 = load i32, ptr @test_count, align 4, !tbaa !5
  %3066 = load i32, ptr %1495, align 4, !tbaa !5
  %3067 = call ptr @s2n_strerror(i32 noundef %3066, ptr noundef nonnull @.str.4) #12
  %3068 = load i32, ptr %1495, align 4, !tbaa !5
  %3069 = call ptr @s2n_strerror_debug(i32 noundef %3068, ptr noundef nonnull @.str.4) #12
  %3070 = load i32, ptr %1549, align 4, !tbaa !5
  %3071 = call ptr @strerror(i32 noundef %3070) #12
  %3072 = load i32, ptr %1549, align 4, !tbaa !5
  %3073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3064, ptr noundef nonnull %.str.5.sink2925, i32 noundef %3065, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 307, ptr noundef %3067, ptr noundef %3069, ptr noundef %3071, i32 noundef %3072) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3074:                                             ; preds = %3048
  %3075 = add nsw i32 %2995, 4
  store i32 %3075, ptr @test_count, align 4, !tbaa !5
  %3076 = call i32 @s2n_config_free(ptr noundef nonnull %2862) #12
  %3077 = icmp eq i32 %3076, -1
  br i1 %3077, label %3078, label %3100

3078:                                             ; preds = %3074
  %3079 = load i32, ptr %1549, align 4, !tbaa !5
  %3080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3081 = call i32 @s2n_print_stacktrace(ptr noundef %3080) #12
  %3082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3083 = trunc nuw i8 %3082 to i1
  br i1 %3083, label %3084, label %3088

3084:                                             ; preds = %3078
  %3085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3086 = call i32 @fileno(ptr noundef %3085) #12
  %3087 = call i32 @isatty(i32 noundef %3086) #12
  %.not1741 = icmp eq i32 %3087, 0
  br i1 %.not1741, label %3088, label %3089

3088:                                             ; preds = %3084, %3078
  br label %3089

3089:                                             ; preds = %3084, %3088
  %.str.5.sink2934 = phi ptr [ @.str.5, %3088 ], [ @.str.2, %3084 ]
  store i32 %3079, ptr %1549, align 4, !tbaa !5
  %3090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3091 = load i32, ptr @test_count, align 4, !tbaa !5
  %3092 = load i32, ptr %1495, align 4, !tbaa !5
  %3093 = call ptr @s2n_strerror(i32 noundef %3092, ptr noundef nonnull @.str.4) #12
  %3094 = load i32, ptr %1495, align 4, !tbaa !5
  %3095 = call ptr @s2n_strerror_debug(i32 noundef %3094, ptr noundef nonnull @.str.4) #12
  %3096 = load i32, ptr %1549, align 4, !tbaa !5
  %3097 = call ptr @strerror(i32 noundef %3096) #12
  %3098 = load i32, ptr %1549, align 4, !tbaa !5
  %3099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3090, ptr noundef nonnull %.str.5.sink2934, i32 noundef %3091, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 309, ptr noundef %3093, ptr noundef %3095, ptr noundef %3097, i32 noundef %3098) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3100:                                             ; preds = %3074
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #12
  call void @llvm.lifetime.start.p0(i64 15, ptr nonnull %15) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(15) %15, ptr noundef nonnull align 1 dereferenceable(15) @__const.main.extension_data, i64 15, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %16) #12
  %3101 = call ptr @s2n_config_new() #12
  store ptr %3101, ptr %16, align 8, !tbaa !9
  %3102 = load i32, ptr @test_count, align 4, !tbaa !5
  %3103 = add nsw i32 %3102, 1
  store i32 %3103, ptr @test_count, align 4, !tbaa !5
  %3104 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef %3101, ptr noundef nonnull %6, ptr noundef nonnull %7) #12
  %3105 = icmp eq i32 %3104, -1
  br i1 %3105, label %3106, label %3128

3106:                                             ; preds = %3100
  %3107 = load i32, ptr %1549, align 4, !tbaa !5
  %3108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3109 = call i32 @s2n_print_stacktrace(ptr noundef %3108) #12
  %3110 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3111 = trunc nuw i8 %3110 to i1
  br i1 %3111, label %3112, label %3116

3112:                                             ; preds = %3106
  %3113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3114 = call i32 @fileno(ptr noundef %3113) #12
  %3115 = call i32 @isatty(i32 noundef %3114) #12
  %.not1740 = icmp eq i32 %3115, 0
  br i1 %.not1740, label %3116, label %3117

3116:                                             ; preds = %3112, %3106
  br label %3117

3117:                                             ; preds = %3112, %3116
  %.str.5.sink2943 = phi ptr [ @.str.5, %3116 ], [ @.str.2, %3112 ]
  store i32 %3107, ptr %1549, align 4, !tbaa !5
  %3118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3119 = load i32, ptr @test_count, align 4, !tbaa !5
  %3120 = load i32, ptr %1495, align 4, !tbaa !5
  %3121 = call ptr @s2n_strerror(i32 noundef %3120, ptr noundef nonnull @.str.4) #12
  %3122 = load i32, ptr %1495, align 4, !tbaa !5
  %3123 = call ptr @s2n_strerror_debug(i32 noundef %3122, ptr noundef nonnull @.str.4) #12
  %3124 = load i32, ptr %1549, align 4, !tbaa !5
  %3125 = call ptr @strerror(i32 noundef %3124) #12
  %3126 = load i32, ptr %1549, align 4, !tbaa !5
  %3127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3118, ptr noundef nonnull %.str.5.sink2943, i32 noundef %3119, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %3121, ptr noundef %3123, ptr noundef %3125, i32 noundef %3126) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3128:                                             ; preds = %3100
  %3129 = load i32, ptr @test_count, align 4, !tbaa !5
  %3130 = add nsw i32 %3129, 1
  store i32 %3130, ptr @test_count, align 4, !tbaa !5
  %3131 = load ptr, ptr %16, align 8, !tbaa !9
  %3132 = call ptr @s2n_config_get_single_default_cert(ptr noundef %3131) #12
  %3133 = icmp eq ptr %3132, null
  br i1 %3133, label %3134, label %3156

3134:                                             ; preds = %3128
  %3135 = load i32, ptr %1549, align 4, !tbaa !5
  %3136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3137 = call i32 @s2n_print_stacktrace(ptr noundef %3136) #12
  %3138 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3139 = trunc nuw i8 %3138 to i1
  br i1 %3139, label %3140, label %3144

3140:                                             ; preds = %3134
  %3141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3142 = call i32 @fileno(ptr noundef %3141) #12
  %3143 = call i32 @isatty(i32 noundef %3142) #12
  %.not1739 = icmp eq i32 %3143, 0
  br i1 %.not1739, label %3144, label %3145

3144:                                             ; preds = %3140, %3134
  br label %3145

3145:                                             ; preds = %3140, %3144
  %.str.5.sink2952 = phi ptr [ @.str.5, %3144 ], [ @.str.2, %3140 ]
  store i32 %3135, ptr %1549, align 4, !tbaa !5
  %3146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3147 = load i32, ptr @test_count, align 4, !tbaa !5
  %3148 = load i32, ptr %1495, align 4, !tbaa !5
  %3149 = call ptr @s2n_strerror(i32 noundef %3148, ptr noundef nonnull @.str.4) #12
  %3150 = load i32, ptr %1495, align 4, !tbaa !5
  %3151 = call ptr @s2n_strerror_debug(i32 noundef %3150, ptr noundef nonnull @.str.4) #12
  %3152 = load i32, ptr %1549, align 4, !tbaa !5
  %3153 = call ptr @strerror(i32 noundef %3152) #12
  %3154 = load i32, ptr %1549, align 4, !tbaa !5
  %3155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3146, ptr noundef nonnull %.str.5.sink2952, i32 noundef %3147, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %3149, ptr noundef %3151, ptr noundef %3153, i32 noundef %3154) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3156:                                             ; preds = %3128
  %3157 = load i32, ptr @test_count, align 4, !tbaa !5
  %3158 = add nsw i32 %3157, 1
  store i32 %3158, ptr @test_count, align 4, !tbaa !5
  %3159 = load ptr, ptr %16, align 8, !tbaa !9
  %3160 = call i32 @s2n_config_set_extension_data(ptr noundef %3159, i32 noundef 5, ptr noundef nonnull %15, i32 noundef 15) #12
  %3161 = icmp eq i32 %3160, -1
  br i1 %3161, label %3162, label %3184

3162:                                             ; preds = %3156
  %3163 = load i32, ptr %1549, align 4, !tbaa !5
  %3164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3165 = call i32 @s2n_print_stacktrace(ptr noundef %3164) #12
  %3166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3167 = trunc nuw i8 %3166 to i1
  br i1 %3167, label %3168, label %3172

3168:                                             ; preds = %3162
  %3169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3170 = call i32 @fileno(ptr noundef %3169) #12
  %3171 = call i32 @isatty(i32 noundef %3170) #12
  %.not1738 = icmp eq i32 %3171, 0
  br i1 %.not1738, label %3172, label %3173

3172:                                             ; preds = %3168, %3162
  br label %3173

3173:                                             ; preds = %3168, %3172
  %.str.5.sink2961 = phi ptr [ @.str.5, %3172 ], [ @.str.2, %3168 ]
  store i32 %3163, ptr %1549, align 4, !tbaa !5
  %3174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3175 = load i32, ptr @test_count, align 4, !tbaa !5
  %3176 = load i32, ptr %1495, align 4, !tbaa !5
  %3177 = call ptr @s2n_strerror(i32 noundef %3176, ptr noundef nonnull @.str.4) #12
  %3178 = load i32, ptr %1495, align 4, !tbaa !5
  %3179 = call ptr @s2n_strerror_debug(i32 noundef %3178, ptr noundef nonnull @.str.4) #12
  %3180 = load i32, ptr %1549, align 4, !tbaa !5
  %3181 = call ptr @strerror(i32 noundef %3180) #12
  %3182 = load i32, ptr %1549, align 4, !tbaa !5
  %3183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3174, ptr noundef nonnull %.str.5.sink2961, i32 noundef %3175, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 323, ptr noundef %3177, ptr noundef %3179, ptr noundef %3181, i32 noundef %3182) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3184:                                             ; preds = %3156
  %3185 = load i32, ptr @test_count, align 4, !tbaa !5
  %3186 = add nsw i32 %3185, 1
  store i32 %3186, ptr @test_count, align 4, !tbaa !5
  %3187 = load ptr, ptr %16, align 8, !tbaa !9
  %3188 = call ptr @s2n_config_get_single_default_cert(ptr noundef %3187) #12
  %3189 = getelementptr inbounds i8, ptr %3188, i64 24
  %3190 = load i32, ptr %3189, align 8, !tbaa !56
  %3191 = icmp eq i32 %3190, 15
  br i1 %3191, label %3214, label %3192

3192:                                             ; preds = %3184
  %3193 = load i32, ptr %1549, align 4, !tbaa !5
  %3194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3195 = call i32 @s2n_print_stacktrace(ptr noundef %3194) #12
  %3196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3197 = trunc nuw i8 %3196 to i1
  br i1 %3197, label %3198, label %3202

3198:                                             ; preds = %3192
  %3199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3200 = call i32 @fileno(ptr noundef %3199) #12
  %3201 = call i32 @isatty(i32 noundef %3200) #12
  %.not1308 = icmp eq i32 %3201, 0
  br i1 %.not1308, label %3202, label %3203

3202:                                             ; preds = %3198, %3192
  br label %3203

3203:                                             ; preds = %3198, %3202
  %.str.5.sink2970 = phi ptr [ @.str.5, %3202 ], [ @.str.2, %3198 ]
  store i32 %3193, ptr %1549, align 4, !tbaa !5
  %3204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3205 = load i32, ptr @test_count, align 4, !tbaa !5
  %3206 = load i32, ptr %1495, align 4, !tbaa !5
  %3207 = call ptr @s2n_strerror(i32 noundef %3206, ptr noundef nonnull @.str.4) #12
  %3208 = load i32, ptr %1495, align 4, !tbaa !5
  %3209 = call ptr @s2n_strerror_debug(i32 noundef %3208, ptr noundef nonnull @.str.4) #12
  %3210 = load i32, ptr %1549, align 4, !tbaa !5
  %3211 = call ptr @strerror(i32 noundef %3210) #12
  %3212 = load i32, ptr %1549, align 4, !tbaa !5
  %3213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3204, ptr noundef nonnull %.str.5.sink2970, i32 noundef %3205, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %3207, ptr noundef %3209, ptr noundef %3211, i32 noundef %3212) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3214:                                             ; preds = %3184
  %3215 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #12
  store ptr null, ptr %17, align 8, !tbaa !9
  %3216 = load i32, ptr @test_count, align 4, !tbaa !5
  %3217 = add nsw i32 %3216, 1
  store i32 %3217, ptr @test_count, align 4, !tbaa !5
  %3218 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %17, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.17) #12
  %3219 = icmp eq i32 %3218, -1
  br i1 %3219, label %3220, label %3242

3220:                                             ; preds = %3214
  %3221 = load i32, ptr %1549, align 4, !tbaa !5
  %3222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3223 = call i32 @s2n_print_stacktrace(ptr noundef %3222) #12
  %3224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3225 = trunc nuw i8 %3224 to i1
  br i1 %3225, label %3226, label %3230

3226:                                             ; preds = %3220
  %3227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3228 = call i32 @fileno(ptr noundef %3227) #12
  %3229 = call i32 @isatty(i32 noundef %3228) #12
  %.not1737 = icmp eq i32 %3229, 0
  br i1 %.not1737, label %3230, label %3231

3230:                                             ; preds = %3226, %3220
  br label %3231

3231:                                             ; preds = %3226, %3230
  %.str.5.sink2979 = phi ptr [ @.str.5, %3230 ], [ @.str.2, %3226 ]
  store i32 %3221, ptr %1549, align 4, !tbaa !5
  %3232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3233 = load i32, ptr @test_count, align 4, !tbaa !5
  %3234 = load i32, ptr %1495, align 4, !tbaa !5
  %3235 = call ptr @s2n_strerror(i32 noundef %3234, ptr noundef nonnull @.str.4) #12
  %3236 = load i32, ptr %1495, align 4, !tbaa !5
  %3237 = call ptr @s2n_strerror_debug(i32 noundef %3236, ptr noundef nonnull @.str.4) #12
  %3238 = load i32, ptr %1549, align 4, !tbaa !5
  %3239 = call ptr @strerror(i32 noundef %3238) #12
  %3240 = load i32, ptr %1549, align 4, !tbaa !5
  %3241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3232, ptr noundef nonnull %.str.5.sink2979, i32 noundef %3233, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 332, ptr noundef %3235, ptr noundef %3237, ptr noundef %3239, i32 noundef %3240) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3242:                                             ; preds = %3214
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #12
  %3243 = call ptr @s2n_config_new() #12
  store ptr %3243, ptr %18, align 8, !tbaa !9
  %3244 = load i32, ptr @test_count, align 4, !tbaa !5
  %3245 = add nsw i32 %3244, 1
  store i32 %3245, ptr @test_count, align 4, !tbaa !5
  %3246 = load ptr, ptr %17, align 8, !tbaa !9
  %3247 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %3243, ptr noundef %3246) #12
  %3248 = icmp eq i32 %3247, -1
  br i1 %3248, label %3249, label %3271

3249:                                             ; preds = %3242
  %3250 = load i32, ptr %1549, align 4, !tbaa !5
  %3251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3252 = call i32 @s2n_print_stacktrace(ptr noundef %3251) #12
  %3253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3254 = trunc nuw i8 %3253 to i1
  br i1 %3254, label %3255, label %3259

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

3259:                                             ; preds = %3255, %3249
  br label %3260

3260:                                             ; preds = %3255, %3259
  %.str.5.sink2988 = phi ptr [ @.str.5, %3259 ], [ @.str.2, %3255 ]
  store i32 %3250, ptr %1549, align 4, !tbaa !5
  %3261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3262 = load i32, ptr @test_count, align 4, !tbaa !5
  %3263 = load i32, ptr %1495, align 4, !tbaa !5
  %3264 = call ptr @s2n_strerror(i32 noundef %3263, ptr noundef nonnull @.str.4) #12
  %3265 = load i32, ptr %1495, align 4, !tbaa !5
  %3266 = call ptr @s2n_strerror_debug(i32 noundef %3265, ptr noundef nonnull @.str.4) #12
  %3267 = load i32, ptr %1549, align 4, !tbaa !5
  %3268 = call ptr @strerror(i32 noundef %3267) #12
  %3269 = load i32, ptr %1549, align 4, !tbaa !5
  %3270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3261, ptr noundef nonnull %.str.5.sink2988, i32 noundef %3262, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 335, ptr noundef %3264, ptr noundef %3266, ptr noundef %3268, i32 noundef %3269) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3271:                                             ; preds = %3242
  %3272 = load i32, ptr @test_count, align 4, !tbaa !5
  %3273 = add nsw i32 %3272, 1
  store i32 %3273, ptr @test_count, align 4, !tbaa !5
  %3274 = load ptr, ptr %18, align 8, !tbaa !9
  %3275 = call ptr @s2n_config_get_single_default_cert(ptr noundef %3274) #12
  %3276 = icmp eq ptr %3275, null
  br i1 %3276, label %3277, label %3299

3277:                                             ; preds = %3271
  %3278 = load i32, ptr %1549, align 4, !tbaa !5
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = call i32 @s2n_print_stacktrace(ptr noundef %3279) #12
  %3281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3282 = trunc nuw i8 %3281 to i1
  br i1 %3282, label %3283, label %3287

3283:                                             ; preds = %3277
  %3284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3285 = call i32 @fileno(ptr noundef %3284) #12
  %3286 = call i32 @isatty(i32 noundef %3285) #12
  %.not1735 = icmp eq i32 %3286, 0
  br i1 %.not1735, label %3287, label %3288

3287:                                             ; preds = %3283, %3277
  br label %3288

3288:                                             ; preds = %3283, %3287
  %.str.5.sink2997 = phi ptr [ @.str.5, %3287 ], [ @.str.2, %3283 ]
  store i32 %3278, ptr %1549, align 4, !tbaa !5
  %3289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3290 = load i32, ptr @test_count, align 4, !tbaa !5
  %3291 = load i32, ptr %1495, align 4, !tbaa !5
  %3292 = call ptr @s2n_strerror(i32 noundef %3291, ptr noundef nonnull @.str.4) #12
  %3293 = load i32, ptr %1495, align 4, !tbaa !5
  %3294 = call ptr @s2n_strerror_debug(i32 noundef %3293, ptr noundef nonnull @.str.4) #12
  %3295 = load i32, ptr %1549, align 4, !tbaa !5
  %3296 = call ptr @strerror(i32 noundef %3295) #12
  %3297 = load i32, ptr %1549, align 4, !tbaa !5
  %3298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3289, ptr noundef nonnull %.str.5.sink2997, i32 noundef %3290, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %3292, ptr noundef %3294, ptr noundef %3296, i32 noundef %3297) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3299:                                             ; preds = %3271
  %3300 = load i32, ptr @test_count, align 4, !tbaa !5
  %3301 = add nsw i32 %3300, 1
  store i32 %3301, ptr @test_count, align 4, !tbaa !5
  %3302 = load ptr, ptr %18, align 8, !tbaa !9
  %3303 = call i32 @s2n_config_set_extension_data(ptr noundef %3302, i32 noundef 5, ptr noundef nonnull %15, i32 noundef 15) #12
  %3304 = icmp eq i32 %3303, -1
  br i1 %3304, label %3327, label %3305

3305:                                             ; preds = %3299
  %3306 = load i32, ptr %1549, align 4, !tbaa !5
  %3307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3308 = call i32 @s2n_print_stacktrace(ptr noundef %3307) #12
  %3309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3310 = trunc nuw i8 %3309 to i1
  br i1 %3310, label %3311, label %3315

3311:                                             ; preds = %3305
  %3312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3313 = call i32 @fileno(ptr noundef %3312) #12
  %3314 = call i32 @isatty(i32 noundef %3313) #12
  %.not1309 = icmp eq i32 %3314, 0
  br i1 %.not1309, label %3315, label %3316

3315:                                             ; preds = %3311, %3305
  br label %3316

3316:                                             ; preds = %3311, %3315
  %.str.5.sink3006 = phi ptr [ @.str.5, %3315 ], [ @.str.2, %3311 ]
  store i32 %3306, ptr %1549, align 4, !tbaa !5
  %3317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3318 = load i32, ptr @test_count, align 4, !tbaa !5
  %3319 = load i32, ptr %1495, align 4, !tbaa !5
  %3320 = call ptr @s2n_strerror(i32 noundef %3319, ptr noundef nonnull @.str.4) #12
  %3321 = load i32, ptr %1495, align 4, !tbaa !5
  %3322 = call ptr @s2n_strerror_debug(i32 noundef %3321, ptr noundef nonnull @.str.4) #12
  %3323 = load i32, ptr %1549, align 4, !tbaa !5
  %3324 = call ptr @strerror(i32 noundef %3323) #12
  %3325 = load i32, ptr %1549, align 4, !tbaa !5
  %3326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3317, ptr noundef nonnull %.str.5.sink3006, i32 noundef %3318, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 340, ptr noundef %3320, ptr noundef %3322, ptr noundef %3324, i32 noundef %3325) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3327:                                             ; preds = %3299
  %3328 = load i32, ptr @test_count, align 4, !tbaa !5
  %3329 = add nsw i32 %3328, 1
  store i32 %3329, ptr @test_count, align 4, !tbaa !5
  %3330 = load i32, ptr %1495, align 4, !tbaa !5
  %3331 = icmp eq i32 %3330, 469762123
  br i1 %3331, label %3354, label %3332

3332:                                             ; preds = %3327
  %3333 = load i32, ptr %1549, align 4, !tbaa !5
  %3334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3335 = call i32 @s2n_print_stacktrace(ptr noundef %3334) #12
  %3336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3337 = trunc nuw i8 %3336 to i1
  br i1 %3337, label %3338, label %3342

3338:                                             ; preds = %3332
  %3339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3340 = call i32 @fileno(ptr noundef %3339) #12
  %3341 = call i32 @isatty(i32 noundef %3340) #12
  %.not1310 = icmp eq i32 %3341, 0
  br i1 %.not1310, label %3342, label %3343

3342:                                             ; preds = %3338, %3332
  br label %3343

3343:                                             ; preds = %3338, %3342
  %.str.5.sink3015 = phi ptr [ @.str.5, %3342 ], [ @.str.2, %3338 ]
  store i32 %3333, ptr %1549, align 4, !tbaa !5
  %3344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3345 = load i32, ptr @test_count, align 4, !tbaa !5
  %3346 = load i32, ptr %1495, align 4, !tbaa !5
  %3347 = call ptr @s2n_strerror(i32 noundef %3346, ptr noundef nonnull @.str.4) #12
  %3348 = load i32, ptr %1495, align 4, !tbaa !5
  %3349 = call ptr @s2n_strerror_debug(i32 noundef %3348, ptr noundef nonnull @.str.4) #12
  %3350 = load i32, ptr %1549, align 4, !tbaa !5
  %3351 = call ptr @strerror(i32 noundef %3350) #12
  %3352 = load i32, ptr %1549, align 4, !tbaa !5
  %3353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3344, ptr noundef nonnull %.str.5.sink3015, i32 noundef %3345, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 340, ptr noundef %3347, ptr noundef %3349, ptr noundef %3351, i32 noundef %3352) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3354:                                             ; preds = %3327
  %3355 = add nsw i32 %3328, 2
  store i32 %3355, ptr @test_count, align 4, !tbaa !5
  %3356 = call ptr @s2n_strerror_debug(i32 noundef 469762123, ptr noundef nonnull @.str.4) #12
  %3357 = icmp eq ptr %3356, null
  br i1 %3357, label %3358, label %3380

3358:                                             ; preds = %3354
  %3359 = load i32, ptr %1549, align 4, !tbaa !5
  %3360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3361 = call i32 @s2n_print_stacktrace(ptr noundef %3360) #12
  %3362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3363 = trunc nuw i8 %3362 to i1
  br i1 %3363, label %3364, label %3368

3364:                                             ; preds = %3358
  %3365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3366 = call i32 @fileno(ptr noundef %3365) #12
  %3367 = call i32 @isatty(i32 noundef %3366) #12
  %.not1734 = icmp eq i32 %3367, 0
  br i1 %.not1734, label %3368, label %3369

3368:                                             ; preds = %3364, %3358
  br label %3369

3369:                                             ; preds = %3364, %3368
  %.str.5.sink3024 = phi ptr [ @.str.5, %3368 ], [ @.str.2, %3364 ]
  store i32 %3359, ptr %1549, align 4, !tbaa !5
  %3370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3371 = load i32, ptr @test_count, align 4, !tbaa !5
  %3372 = load i32, ptr %1495, align 4, !tbaa !5
  %3373 = call ptr @s2n_strerror(i32 noundef %3372, ptr noundef nonnull @.str.4) #12
  %3374 = load i32, ptr %1495, align 4, !tbaa !5
  %3375 = call ptr @s2n_strerror_debug(i32 noundef %3374, ptr noundef nonnull @.str.4) #12
  %3376 = load i32, ptr %1549, align 4, !tbaa !5
  %3377 = call ptr @strerror(i32 noundef %3376) #12
  %3378 = load i32, ptr %1549, align 4, !tbaa !5
  %3379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3370, ptr noundef nonnull %.str.5.sink3024, i32 noundef %3371, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 340, ptr noundef %3373, ptr noundef %3375, ptr noundef %3377, i32 noundef %3378) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3380:                                             ; preds = %3354
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %3381 = load i32, ptr @test_count, align 4, !tbaa !5
  %3382 = add nsw i32 %3381, 1
  store i32 %3382, ptr @test_count, align 4, !tbaa !5
  %3383 = load ptr, ptr %18, align 8, !tbaa !9
  %3384 = call ptr @s2n_config_get_single_default_cert(ptr noundef %3383) #12
  %3385 = getelementptr inbounds i8, ptr %3384, i64 24
  %3386 = load i32, ptr %3385, align 8, !tbaa !56
  %3387 = icmp eq i32 %3386, 0
  br i1 %3387, label %3410, label %3388

3388:                                             ; preds = %3380
  %3389 = load i32, ptr %1549, align 4, !tbaa !5
  %3390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3391 = call i32 @s2n_print_stacktrace(ptr noundef %3390) #12
  %3392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3393 = trunc nuw i8 %3392 to i1
  br i1 %3393, label %3394, label %3398

3394:                                             ; preds = %3388
  %3395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3396 = call i32 @fileno(ptr noundef %3395) #12
  %3397 = call i32 @isatty(i32 noundef %3396) #12
  %.not1311 = icmp eq i32 %3397, 0
  br i1 %.not1311, label %3398, label %3399

3398:                                             ; preds = %3394, %3388
  br label %3399

3399:                                             ; preds = %3394, %3398
  %.str.5.sink3033 = phi ptr [ @.str.5, %3398 ], [ @.str.2, %3394 ]
  store i32 %3389, ptr %1549, align 4, !tbaa !5
  %3400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3401 = load i32, ptr @test_count, align 4, !tbaa !5
  %3402 = load i32, ptr %1495, align 4, !tbaa !5
  %3403 = call ptr @s2n_strerror(i32 noundef %3402, ptr noundef nonnull @.str.4) #12
  %3404 = load i32, ptr %1495, align 4, !tbaa !5
  %3405 = call ptr @s2n_strerror_debug(i32 noundef %3404, ptr noundef nonnull @.str.4) #12
  %3406 = load i32, ptr %1549, align 4, !tbaa !5
  %3407 = call ptr @strerror(i32 noundef %3406) #12
  %3408 = load i32, ptr %1549, align 4, !tbaa !5
  %3409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3400, ptr noundef nonnull %.str.5.sink3033, i32 noundef %3401, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %3403, ptr noundef %3405, ptr noundef %3407, i32 noundef %3408) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3410:                                             ; preds = %3380
  %3411 = load i32, ptr @test_count, align 4, !tbaa !5
  %3412 = add nsw i32 %3411, 1
  store i32 %3412, ptr @test_count, align 4, !tbaa !5
  %3413 = load ptr, ptr %17, align 8, !tbaa !9
  %3414 = getelementptr inbounds i8, ptr %3413, i64 24
  %3415 = load i32, ptr %3414, align 8, !tbaa !56
  %3416 = icmp eq i32 %3415, 0
  br i1 %3416, label %3439, label %3417

3417:                                             ; preds = %3410
  %3418 = load i32, ptr %1549, align 4, !tbaa !5
  %3419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3420 = call i32 @s2n_print_stacktrace(ptr noundef %3419) #12
  %3421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3422 = trunc nuw i8 %3421 to i1
  br i1 %3422, label %3423, label %3427

3423:                                             ; preds = %3417
  %3424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3425 = call i32 @fileno(ptr noundef %3424) #12
  %3426 = call i32 @isatty(i32 noundef %3425) #12
  %.not1312 = icmp eq i32 %3426, 0
  br i1 %.not1312, label %3427, label %3428

3427:                                             ; preds = %3423, %3417
  br label %3428

3428:                                             ; preds = %3423, %3427
  %.str.5.sink3042 = phi ptr [ @.str.5, %3427 ], [ @.str.2, %3423 ]
  store i32 %3418, ptr %1549, align 4, !tbaa !5
  %3429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3430 = load i32, ptr @test_count, align 4, !tbaa !5
  %3431 = load i32, ptr %1495, align 4, !tbaa !5
  %3432 = call ptr @s2n_strerror(i32 noundef %3431, ptr noundef nonnull @.str.4) #12
  %3433 = load i32, ptr %1495, align 4, !tbaa !5
  %3434 = call ptr @s2n_strerror_debug(i32 noundef %3433, ptr noundef nonnull @.str.4) #12
  %3435 = load i32, ptr %1549, align 4, !tbaa !5
  %3436 = call ptr @strerror(i32 noundef %3435) #12
  %3437 = load i32, ptr %1549, align 4, !tbaa !5
  %3438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3429, ptr noundef nonnull %.str.5.sink3042, i32 noundef %3430, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %3432, ptr noundef %3434, ptr noundef %3436, i32 noundef %3437) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3439:                                             ; preds = %3410
  %3440 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %18) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #12
  %3441 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 15, ptr nonnull %15) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #12
  store ptr null, ptr %19, align 8, !tbaa !9
  %3442 = load i32, ptr @test_count, align 4, !tbaa !5
  %3443 = add nsw i32 %3442, 1
  store i32 %3443, ptr @test_count, align 4, !tbaa !5
  %3444 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %19, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.17) #12
  %3445 = icmp eq i32 %3444, -1
  br i1 %3445, label %3446, label %3468

3446:                                             ; preds = %3439
  %3447 = load i32, ptr %1549, align 4, !tbaa !5
  %3448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3449 = call i32 @s2n_print_stacktrace(ptr noundef %3448) #12
  %3450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3451 = trunc nuw i8 %3450 to i1
  br i1 %3451, label %3452, label %3456

3452:                                             ; preds = %3446
  %3453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3454 = call i32 @fileno(ptr noundef %3453) #12
  %3455 = call i32 @isatty(i32 noundef %3454) #12
  %.not1733 = icmp eq i32 %3455, 0
  br i1 %.not1733, label %3456, label %3457

3456:                                             ; preds = %3452, %3446
  br label %3457

3457:                                             ; preds = %3452, %3456
  %.str.5.sink3051 = phi ptr [ @.str.5, %3456 ], [ @.str.2, %3452 ]
  store i32 %3447, ptr %1549, align 4, !tbaa !5
  %3458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3459 = load i32, ptr @test_count, align 4, !tbaa !5
  %3460 = load i32, ptr %1495, align 4, !tbaa !5
  %3461 = call ptr @s2n_strerror(i32 noundef %3460, ptr noundef nonnull @.str.4) #12
  %3462 = load i32, ptr %1495, align 4, !tbaa !5
  %3463 = call ptr @s2n_strerror_debug(i32 noundef %3462, ptr noundef nonnull @.str.4) #12
  %3464 = load i32, ptr %1549, align 4, !tbaa !5
  %3465 = call ptr @strerror(i32 noundef %3464) #12
  %3466 = load i32, ptr %1549, align 4, !tbaa !5
  %3467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3458, ptr noundef nonnull %.str.5.sink3051, i32 noundef %3459, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %3461, ptr noundef %3463, ptr noundef %3465, i32 noundef %3466) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3468:                                             ; preds = %3439
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #12
  %3469 = call ptr @s2n_config_new() #12
  store ptr %3469, ptr %20, align 8, !tbaa !9
  %3470 = load i32, ptr @test_count, align 4, !tbaa !5
  %3471 = add nsw i32 %3470, 1
  store i32 %3471, ptr @test_count, align 4, !tbaa !5
  %3472 = icmp eq ptr %3469, null
  br i1 %3472, label %3473, label %3495

3473:                                             ; preds = %3468
  %3474 = load i32, ptr %1549, align 4, !tbaa !5
  %3475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3476 = call i32 @s2n_print_stacktrace(ptr noundef %3475) #12
  %3477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3478 = trunc nuw i8 %3477 to i1
  br i1 %3478, label %3479, label %3483

3479:                                             ; preds = %3473
  %3480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3481 = call i32 @fileno(ptr noundef %3480) #12
  %3482 = call i32 @isatty(i32 noundef %3481) #12
  %.not1732 = icmp eq i32 %3482, 0
  br i1 %.not1732, label %3483, label %3484

3483:                                             ; preds = %3479, %3473
  br label %3484

3484:                                             ; preds = %3479, %3483
  %.str.5.sink3060 = phi ptr [ @.str.5, %3483 ], [ @.str.2, %3479 ]
  store i32 %3474, ptr %1549, align 4, !tbaa !5
  %3485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3486 = load i32, ptr @test_count, align 4, !tbaa !5
  %3487 = load i32, ptr %1495, align 4, !tbaa !5
  %3488 = call ptr @s2n_strerror(i32 noundef %3487, ptr noundef nonnull @.str.4) #12
  %3489 = load i32, ptr %1495, align 4, !tbaa !5
  %3490 = call ptr @s2n_strerror_debug(i32 noundef %3489, ptr noundef nonnull @.str.4) #12
  %3491 = load i32, ptr %1549, align 4, !tbaa !5
  %3492 = call ptr @strerror(i32 noundef %3491) #12
  %3493 = load i32, ptr %1549, align 4, !tbaa !5
  %3494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3485, ptr noundef nonnull %.str.5.sink3060, i32 noundef %3486, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 355, ptr noundef %3488, ptr noundef %3490, ptr noundef %3492, i32 noundef %3493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3495:                                             ; preds = %3468
  %3496 = add nsw i32 %3470, 2
  store i32 %3496, ptr @test_count, align 4, !tbaa !5
  %3497 = load ptr, ptr %19, align 8, !tbaa !9
  %3498 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %3469, ptr noundef %3497) #12
  %3499 = icmp eq i32 %3498, -1
  br i1 %3499, label %3500, label %3522

3500:                                             ; preds = %3495
  %3501 = load i32, ptr %1549, align 4, !tbaa !5
  %3502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3503 = call i32 @s2n_print_stacktrace(ptr noundef %3502) #12
  %3504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3505 = trunc nuw i8 %3504 to i1
  br i1 %3505, label %3506, label %3510

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

3510:                                             ; preds = %3506, %3500
  br label %3511

3511:                                             ; preds = %3506, %3510
  %.str.5.sink3069 = phi ptr [ @.str.5, %3510 ], [ @.str.2, %3506 ]
  store i32 %3501, ptr %1549, align 4, !tbaa !5
  %3512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3513 = load i32, ptr @test_count, align 4, !tbaa !5
  %3514 = load i32, ptr %1495, align 4, !tbaa !5
  %3515 = call ptr @s2n_strerror(i32 noundef %3514, ptr noundef nonnull @.str.4) #12
  %3516 = load i32, ptr %1495, align 4, !tbaa !5
  %3517 = call ptr @s2n_strerror_debug(i32 noundef %3516, ptr noundef nonnull @.str.4) #12
  %3518 = load i32, ptr %1549, align 4, !tbaa !5
  %3519 = call ptr @strerror(i32 noundef %3518) #12
  %3520 = load i32, ptr %1549, align 4, !tbaa !5
  %3521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3512, ptr noundef nonnull %.str.5.sink3069, i32 noundef %3513, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %3515, ptr noundef %3517, ptr noundef %3519, i32 noundef %3520) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3522:                                             ; preds = %3495
  %3523 = load i32, ptr @test_count, align 4, !tbaa !5
  %3524 = add nsw i32 %3523, 1
  store i32 %3524, ptr @test_count, align 4, !tbaa !5
  %3525 = load ptr, ptr %20, align 8, !tbaa !9
  %3526 = call ptr @s2n_config_get_single_default_cert(ptr noundef %3525) #12
  %3527 = icmp eq ptr %3526, null
  br i1 %3527, label %3528, label %3550

3528:                                             ; preds = %3522
  %3529 = load i32, ptr %1549, align 4, !tbaa !5
  %3530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3531 = call i32 @s2n_print_stacktrace(ptr noundef %3530) #12
  %3532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3533 = trunc nuw i8 %3532 to i1
  br i1 %3533, label %3534, label %3538

3534:                                             ; preds = %3528
  %3535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3536 = call i32 @fileno(ptr noundef %3535) #12
  %3537 = call i32 @isatty(i32 noundef %3536) #12
  %.not1730 = icmp eq i32 %3537, 0
  br i1 %.not1730, label %3538, label %3539

3538:                                             ; preds = %3534, %3528
  br label %3539

3539:                                             ; preds = %3534, %3538
  %.str.5.sink3078 = phi ptr [ @.str.5, %3538 ], [ @.str.2, %3534 ]
  store i32 %3529, ptr %1549, align 4, !tbaa !5
  %3540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3541 = load i32, ptr @test_count, align 4, !tbaa !5
  %3542 = load i32, ptr %1495, align 4, !tbaa !5
  %3543 = call ptr @s2n_strerror(i32 noundef %3542, ptr noundef nonnull @.str.4) #12
  %3544 = load i32, ptr %1495, align 4, !tbaa !5
  %3545 = call ptr @s2n_strerror_debug(i32 noundef %3544, ptr noundef nonnull @.str.4) #12
  %3546 = load i32, ptr %1549, align 4, !tbaa !5
  %3547 = call ptr @strerror(i32 noundef %3546) #12
  %3548 = load i32, ptr %1549, align 4, !tbaa !5
  %3549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3540, ptr noundef nonnull %.str.5.sink3078, i32 noundef %3541, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 357, ptr noundef %3543, ptr noundef %3545, ptr noundef %3547, i32 noundef %3548) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3550:                                             ; preds = %3522
  %3551 = load i32, ptr @test_count, align 4, !tbaa !5
  %3552 = add nsw i32 %3551, 1
  store i32 %3552, ptr @test_count, align 4, !tbaa !5
  %3553 = load ptr, ptr %20, align 8, !tbaa !9
  %3554 = getelementptr inbounds i8, ptr %3553, i64 416
  %3555 = load i32, ptr %3554, align 8, !tbaa !58
  %3556 = icmp eq i32 %3555, 1
  br i1 %3556, label %3579, label %3557

3557:                                             ; preds = %3550
  %3558 = load i32, ptr %1549, align 4, !tbaa !5
  %3559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3560 = call i32 @s2n_print_stacktrace(ptr noundef %3559) #12
  %3561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3562 = trunc nuw i8 %3561 to i1
  br i1 %3562, label %3563, label %3567

3563:                                             ; preds = %3557
  %3564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3565 = call i32 @fileno(ptr noundef %3564) #12
  %3566 = call i32 @isatty(i32 noundef %3565) #12
  %.not1313 = icmp eq i32 %3566, 0
  br i1 %.not1313, label %3567, label %3568

3567:                                             ; preds = %3563, %3557
  br label %3568

3568:                                             ; preds = %3563, %3567
  %.str.5.sink3087 = phi ptr [ @.str.5, %3567 ], [ @.str.2, %3563 ]
  store i32 %3558, ptr %1549, align 4, !tbaa !5
  %3569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3570 = load i32, ptr @test_count, align 4, !tbaa !5
  %3571 = load i32, ptr %1495, align 4, !tbaa !5
  %3572 = call ptr @s2n_strerror(i32 noundef %3571, ptr noundef nonnull @.str.4) #12
  %3573 = load i32, ptr %1495, align 4, !tbaa !5
  %3574 = call ptr @s2n_strerror_debug(i32 noundef %3573, ptr noundef nonnull @.str.4) #12
  %3575 = load i32, ptr %1549, align 4, !tbaa !5
  %3576 = call ptr @strerror(i32 noundef %3575) #12
  %3577 = load i32, ptr %1549, align 4, !tbaa !5
  %3578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3569, ptr noundef nonnull %.str.5.sink3087, i32 noundef %3570, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %3572, ptr noundef %3574, ptr noundef %3576, i32 noundef %3577) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3579:                                             ; preds = %3550
  %3580 = add nsw i32 %3551, 2
  store i32 %3580, ptr @test_count, align 4, !tbaa !5
  %3581 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef nonnull %3553) #12
  %3582 = icmp eq i32 %3581, -1
  br i1 %3582, label %3583, label %3605

3583:                                             ; preds = %3579
  %3584 = load i32, ptr %1549, align 4, !tbaa !5
  %3585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3586 = call i32 @s2n_print_stacktrace(ptr noundef %3585) #12
  %3587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3588 = trunc nuw i8 %3587 to i1
  br i1 %3588, label %3589, label %3593

3589:                                             ; preds = %3583
  %3590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3591 = call i32 @fileno(ptr noundef %3590) #12
  %3592 = call i32 @isatty(i32 noundef %3591) #12
  %.not1729 = icmp eq i32 %3592, 0
  br i1 %.not1729, label %3593, label %3594

3593:                                             ; preds = %3589, %3583
  br label %3594

3594:                                             ; preds = %3589, %3593
  %.str.5.sink3096 = phi ptr [ @.str.5, %3593 ], [ @.str.2, %3589 ]
  store i32 %3584, ptr %1549, align 4, !tbaa !5
  %3595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3596 = load i32, ptr @test_count, align 4, !tbaa !5
  %3597 = load i32, ptr %1495, align 4, !tbaa !5
  %3598 = call ptr @s2n_strerror(i32 noundef %3597, ptr noundef nonnull @.str.4) #12
  %3599 = load i32, ptr %1495, align 4, !tbaa !5
  %3600 = call ptr @s2n_strerror_debug(i32 noundef %3599, ptr noundef nonnull @.str.4) #12
  %3601 = load i32, ptr %1549, align 4, !tbaa !5
  %3602 = call ptr @strerror(i32 noundef %3601) #12
  %3603 = load i32, ptr %1549, align 4, !tbaa !5
  %3604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3595, ptr noundef nonnull %.str.5.sink3096, i32 noundef %3596, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %3598, ptr noundef %3600, ptr noundef %3602, i32 noundef %3603) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3605:                                             ; preds = %3579
  %3606 = load i32, ptr @test_count, align 4, !tbaa !5
  %3607 = add nsw i32 %3606, 1
  store i32 %3607, ptr @test_count, align 4, !tbaa !5
  %3608 = load ptr, ptr %20, align 8, !tbaa !9
  %3609 = call ptr @s2n_config_get_single_default_cert(ptr noundef %3608) #12
  %3610 = icmp eq ptr %3609, null
  br i1 %3610, label %3611, label %3633

3611:                                             ; preds = %3605
  %3612 = load i32, ptr %1549, align 4, !tbaa !5
  %3613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3614 = call i32 @s2n_print_stacktrace(ptr noundef %3613) #12
  %3615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3616 = trunc nuw i8 %3615 to i1
  br i1 %3616, label %3617, label %3621

3617:                                             ; preds = %3611
  %3618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3619 = call i32 @fileno(ptr noundef %3618) #12
  %3620 = call i32 @isatty(i32 noundef %3619) #12
  %.not1728 = icmp eq i32 %3620, 0
  br i1 %.not1728, label %3621, label %3622

3621:                                             ; preds = %3617, %3611
  br label %3622

3622:                                             ; preds = %3617, %3621
  %.str.5.sink3105 = phi ptr [ @.str.5, %3621 ], [ @.str.2, %3617 ]
  store i32 %3612, ptr %1549, align 4, !tbaa !5
  %3623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3624 = load i32, ptr @test_count, align 4, !tbaa !5
  %3625 = load i32, ptr %1495, align 4, !tbaa !5
  %3626 = call ptr @s2n_strerror(i32 noundef %3625, ptr noundef nonnull @.str.4) #12
  %3627 = load i32, ptr %1495, align 4, !tbaa !5
  %3628 = call ptr @s2n_strerror_debug(i32 noundef %3627, ptr noundef nonnull @.str.4) #12
  %3629 = load i32, ptr %1549, align 4, !tbaa !5
  %3630 = call ptr @strerror(i32 noundef %3629) #12
  %3631 = load i32, ptr %1549, align 4, !tbaa !5
  %3632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3623, ptr noundef nonnull %.str.5.sink3105, i32 noundef %3624, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %3626, ptr noundef %3628, ptr noundef %3630, i32 noundef %3631) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3633:                                             ; preds = %3605
  %3634 = load i32, ptr @test_count, align 4, !tbaa !5
  %3635 = add nsw i32 %3634, 1
  store i32 %3635, ptr @test_count, align 4, !tbaa !5
  %3636 = load ptr, ptr %20, align 8, !tbaa !9
  %3637 = getelementptr inbounds i8, ptr %3636, i64 416
  %3638 = load i32, ptr %3637, align 8, !tbaa !58
  %3639 = icmp eq i32 %3638, 1
  br i1 %3639, label %3662, label %3640

3640:                                             ; preds = %3633
  %3641 = load i32, ptr %1549, align 4, !tbaa !5
  %3642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3643 = call i32 @s2n_print_stacktrace(ptr noundef %3642) #12
  %3644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3645 = trunc nuw i8 %3644 to i1
  br i1 %3645, label %3646, label %3650

3646:                                             ; preds = %3640
  %3647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3648 = call i32 @fileno(ptr noundef %3647) #12
  %3649 = call i32 @isatty(i32 noundef %3648) #12
  %.not1314 = icmp eq i32 %3649, 0
  br i1 %.not1314, label %3650, label %3651

3650:                                             ; preds = %3646, %3640
  br label %3651

3651:                                             ; preds = %3646, %3650
  %.str.5.sink3114 = phi ptr [ @.str.5, %3650 ], [ @.str.2, %3646 ]
  store i32 %3641, ptr %1549, align 4, !tbaa !5
  %3652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3653 = load i32, ptr @test_count, align 4, !tbaa !5
  %3654 = load i32, ptr %1495, align 4, !tbaa !5
  %3655 = call ptr @s2n_strerror(i32 noundef %3654, ptr noundef nonnull @.str.4) #12
  %3656 = load i32, ptr %1495, align 4, !tbaa !5
  %3657 = call ptr @s2n_strerror_debug(i32 noundef %3656, ptr noundef nonnull @.str.4) #12
  %3658 = load i32, ptr %1549, align 4, !tbaa !5
  %3659 = call ptr @strerror(i32 noundef %3658) #12
  %3660 = load i32, ptr %1549, align 4, !tbaa !5
  %3661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3652, ptr noundef nonnull %.str.5.sink3114, i32 noundef %3653, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 363, ptr noundef %3655, ptr noundef %3657, ptr noundef %3659, i32 noundef %3660) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3662:                                             ; preds = %3633
  %3663 = add nsw i32 %3634, 2
  store i32 %3663, ptr @test_count, align 4, !tbaa !5
  %3664 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef nonnull %3636) #12
  %3665 = icmp eq i32 %3664, -1
  br i1 %3665, label %3666, label %3688

3666:                                             ; preds = %3662
  %3667 = load i32, ptr %1549, align 4, !tbaa !5
  %3668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3669 = call i32 @s2n_print_stacktrace(ptr noundef %3668) #12
  %3670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3671 = trunc nuw i8 %3670 to i1
  br i1 %3671, label %3672, label %3676

3672:                                             ; preds = %3666
  %3673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3674 = call i32 @fileno(ptr noundef %3673) #12
  %3675 = call i32 @isatty(i32 noundef %3674) #12
  %.not1727 = icmp eq i32 %3675, 0
  br i1 %.not1727, label %3676, label %3677

3676:                                             ; preds = %3672, %3666
  br label %3677

3677:                                             ; preds = %3672, %3676
  %.str.5.sink3123 = phi ptr [ @.str.5, %3676 ], [ @.str.2, %3672 ]
  store i32 %3667, ptr %1549, align 4, !tbaa !5
  %3678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3679 = load i32, ptr @test_count, align 4, !tbaa !5
  %3680 = load i32, ptr %1495, align 4, !tbaa !5
  %3681 = call ptr @s2n_strerror(i32 noundef %3680, ptr noundef nonnull @.str.4) #12
  %3682 = load i32, ptr %1495, align 4, !tbaa !5
  %3683 = call ptr @s2n_strerror_debug(i32 noundef %3682, ptr noundef nonnull @.str.4) #12
  %3684 = load i32, ptr %1549, align 4, !tbaa !5
  %3685 = call ptr @strerror(i32 noundef %3684) #12
  %3686 = load i32, ptr %1549, align 4, !tbaa !5
  %3687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3678, ptr noundef nonnull %.str.5.sink3123, i32 noundef %3679, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 366, ptr noundef %3681, ptr noundef %3683, ptr noundef %3685, i32 noundef %3686) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3688:                                             ; preds = %3662
  %3689 = load i32, ptr @test_count, align 4, !tbaa !5
  %3690 = add nsw i32 %3689, 1
  store i32 %3690, ptr @test_count, align 4, !tbaa !5
  %3691 = load ptr, ptr %20, align 8, !tbaa !9
  %3692 = call ptr @s2n_config_get_single_default_cert(ptr noundef %3691) #12
  %3693 = icmp eq ptr %3692, null
  br i1 %3693, label %3694, label %3716

3694:                                             ; preds = %3688
  %3695 = load i32, ptr %1549, align 4, !tbaa !5
  %3696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3697 = call i32 @s2n_print_stacktrace(ptr noundef %3696) #12
  %3698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3699 = trunc nuw i8 %3698 to i1
  br i1 %3699, label %3700, label %3704

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

3704:                                             ; preds = %3700, %3694
  br label %3705

3705:                                             ; preds = %3700, %3704
  %.str.5.sink3132 = phi ptr [ @.str.5, %3704 ], [ @.str.2, %3700 ]
  store i32 %3695, ptr %1549, align 4, !tbaa !5
  %3706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3707 = load i32, ptr @test_count, align 4, !tbaa !5
  %3708 = load i32, ptr %1495, align 4, !tbaa !5
  %3709 = call ptr @s2n_strerror(i32 noundef %3708, ptr noundef nonnull @.str.4) #12
  %3710 = load i32, ptr %1495, align 4, !tbaa !5
  %3711 = call ptr @s2n_strerror_debug(i32 noundef %3710, ptr noundef nonnull @.str.4) #12
  %3712 = load i32, ptr %1549, align 4, !tbaa !5
  %3713 = call ptr @strerror(i32 noundef %3712) #12
  %3714 = load i32, ptr %1549, align 4, !tbaa !5
  %3715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3706, ptr noundef nonnull %.str.5.sink3132, i32 noundef %3707, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %3709, ptr noundef %3711, ptr noundef %3713, i32 noundef %3714) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3716:                                             ; preds = %3688
  %3717 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %20) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #12
  %3718 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #12
  store ptr null, ptr %21, align 8, !tbaa !9
  %3719 = load i32, ptr @test_count, align 4, !tbaa !5
  %3720 = add nsw i32 %3719, 1
  store i32 %3720, ptr @test_count, align 4, !tbaa !5
  %3721 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %21, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.17) #12
  %3722 = icmp eq i32 %3721, -1
  br i1 %3722, label %3723, label %3745

3723:                                             ; preds = %3716
  %3724 = load i32, ptr %1549, align 4, !tbaa !5
  %3725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3726 = call i32 @s2n_print_stacktrace(ptr noundef %3725) #12
  %3727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3728 = trunc nuw i8 %3727 to i1
  br i1 %3728, label %3729, label %3733

3729:                                             ; preds = %3723
  %3730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3731 = call i32 @fileno(ptr noundef %3730) #12
  %3732 = call i32 @isatty(i32 noundef %3731) #12
  %.not1725 = icmp eq i32 %3732, 0
  br i1 %.not1725, label %3733, label %3734

3733:                                             ; preds = %3729, %3723
  br label %3734

3734:                                             ; preds = %3729, %3733
  %.str.5.sink3141 = phi ptr [ @.str.5, %3733 ], [ @.str.2, %3729 ]
  store i32 %3724, ptr %1549, align 4, !tbaa !5
  %3735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3736 = load i32, ptr @test_count, align 4, !tbaa !5
  %3737 = load i32, ptr %1495, align 4, !tbaa !5
  %3738 = call ptr @s2n_strerror(i32 noundef %3737, ptr noundef nonnull @.str.4) #12
  %3739 = load i32, ptr %1495, align 4, !tbaa !5
  %3740 = call ptr @s2n_strerror_debug(i32 noundef %3739, ptr noundef nonnull @.str.4) #12
  %3741 = load i32, ptr %1549, align 4, !tbaa !5
  %3742 = call ptr @strerror(i32 noundef %3741) #12
  %3743 = load i32, ptr %1549, align 4, !tbaa !5
  %3744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3735, ptr noundef nonnull %.str.5.sink3141, i32 noundef %3736, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 377, ptr noundef %3738, ptr noundef %3740, ptr noundef %3742, i32 noundef %3743) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3745:                                             ; preds = %3716
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #12
  %3746 = call ptr @s2n_config_new() #12
  store ptr %3746, ptr %22, align 8, !tbaa !9
  %3747 = load i32, ptr @test_count, align 4, !tbaa !5
  %3748 = add nsw i32 %3747, 1
  store i32 %3748, ptr @test_count, align 4, !tbaa !5
  %3749 = icmp eq ptr %3746, null
  br i1 %3749, label %3750, label %3772

3750:                                             ; preds = %3745
  %3751 = load i32, ptr %1549, align 4, !tbaa !5
  %3752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3753 = call i32 @s2n_print_stacktrace(ptr noundef %3752) #12
  %3754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3755 = trunc nuw i8 %3754 to i1
  br i1 %3755, label %3756, label %3760

3756:                                             ; preds = %3750
  %3757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3758 = call i32 @fileno(ptr noundef %3757) #12
  %3759 = call i32 @isatty(i32 noundef %3758) #12
  %.not1724 = icmp eq i32 %3759, 0
  br i1 %.not1724, label %3760, label %3761

3760:                                             ; preds = %3756, %3750
  br label %3761

3761:                                             ; preds = %3756, %3760
  %.str.5.sink3150 = phi ptr [ @.str.5, %3760 ], [ @.str.2, %3756 ]
  store i32 %3751, ptr %1549, align 4, !tbaa !5
  %3762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3763 = load i32, ptr @test_count, align 4, !tbaa !5
  %3764 = load i32, ptr %1495, align 4, !tbaa !5
  %3765 = call ptr @s2n_strerror(i32 noundef %3764, ptr noundef nonnull @.str.4) #12
  %3766 = load i32, ptr %1495, align 4, !tbaa !5
  %3767 = call ptr @s2n_strerror_debug(i32 noundef %3766, ptr noundef nonnull @.str.4) #12
  %3768 = load i32, ptr %1549, align 4, !tbaa !5
  %3769 = call ptr @strerror(i32 noundef %3768) #12
  %3770 = load i32, ptr %1549, align 4, !tbaa !5
  %3771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3762, ptr noundef nonnull %.str.5.sink3150, i32 noundef %3763, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %3765, ptr noundef %3767, ptr noundef %3769, i32 noundef %3770) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3772:                                             ; preds = %3745
  %3773 = add nsw i32 %3747, 2
  store i32 %3773, ptr @test_count, align 4, !tbaa !5
  %3774 = load ptr, ptr %21, align 8, !tbaa !9
  %3775 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %3746, ptr noundef %3774) #12
  %3776 = icmp eq i32 %3775, -1
  br i1 %3776, label %3777, label %3799

3777:                                             ; preds = %3772
  %3778 = load i32, ptr %1549, align 4, !tbaa !5
  %3779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3780 = call i32 @s2n_print_stacktrace(ptr noundef %3779) #12
  %3781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3782 = trunc nuw i8 %3781 to i1
  br i1 %3782, label %3783, label %3787

3783:                                             ; preds = %3777
  %3784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3785 = call i32 @fileno(ptr noundef %3784) #12
  %3786 = call i32 @isatty(i32 noundef %3785) #12
  %.not1723 = icmp eq i32 %3786, 0
  br i1 %.not1723, label %3787, label %3788

3787:                                             ; preds = %3783, %3777
  br label %3788

3788:                                             ; preds = %3783, %3787
  %.str.5.sink3159 = phi ptr [ @.str.5, %3787 ], [ @.str.2, %3783 ]
  store i32 %3778, ptr %1549, align 4, !tbaa !5
  %3789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3790 = load i32, ptr @test_count, align 4, !tbaa !5
  %3791 = load i32, ptr %1495, align 4, !tbaa !5
  %3792 = call ptr @s2n_strerror(i32 noundef %3791, ptr noundef nonnull @.str.4) #12
  %3793 = load i32, ptr %1495, align 4, !tbaa !5
  %3794 = call ptr @s2n_strerror_debug(i32 noundef %3793, ptr noundef nonnull @.str.4) #12
  %3795 = load i32, ptr %1549, align 4, !tbaa !5
  %3796 = call ptr @strerror(i32 noundef %3795) #12
  %3797 = load i32, ptr %1549, align 4, !tbaa !5
  %3798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3789, ptr noundef nonnull %.str.5.sink3159, i32 noundef %3790, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 381, ptr noundef %3792, ptr noundef %3794, ptr noundef %3796, i32 noundef %3797) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3799:                                             ; preds = %3772
  %3800 = load i32, ptr @test_count, align 4, !tbaa !5
  %3801 = add nsw i32 %3800, 1
  store i32 %3801, ptr @test_count, align 4, !tbaa !5
  %3802 = load ptr, ptr %22, align 8, !tbaa !9
  %3803 = call ptr @s2n_config_get_single_default_cert(ptr noundef %3802) #12
  %3804 = icmp eq ptr %3803, null
  br i1 %3804, label %3805, label %3827

3805:                                             ; preds = %3799
  %3806 = load i32, ptr %1549, align 4, !tbaa !5
  %3807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3808 = call i32 @s2n_print_stacktrace(ptr noundef %3807) #12
  %3809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3810 = trunc nuw i8 %3809 to i1
  br i1 %3810, label %3811, label %3815

3811:                                             ; preds = %3805
  %3812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3813 = call i32 @fileno(ptr noundef %3812) #12
  %3814 = call i32 @isatty(i32 noundef %3813) #12
  %.not1722 = icmp eq i32 %3814, 0
  br i1 %.not1722, label %3815, label %3816

3815:                                             ; preds = %3811, %3805
  br label %3816

3816:                                             ; preds = %3811, %3815
  %.str.5.sink3168 = phi ptr [ @.str.5, %3815 ], [ @.str.2, %3811 ]
  store i32 %3806, ptr %1549, align 4, !tbaa !5
  %3817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3818 = load i32, ptr @test_count, align 4, !tbaa !5
  %3819 = load i32, ptr %1495, align 4, !tbaa !5
  %3820 = call ptr @s2n_strerror(i32 noundef %3819, ptr noundef nonnull @.str.4) #12
  %3821 = load i32, ptr %1495, align 4, !tbaa !5
  %3822 = call ptr @s2n_strerror_debug(i32 noundef %3821, ptr noundef nonnull @.str.4) #12
  %3823 = load i32, ptr %1549, align 4, !tbaa !5
  %3824 = call ptr @strerror(i32 noundef %3823) #12
  %3825 = load i32, ptr %1549, align 4, !tbaa !5
  %3826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3817, ptr noundef nonnull %.str.5.sink3168, i32 noundef %3818, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 382, ptr noundef %3820, ptr noundef %3822, ptr noundef %3824, i32 noundef %3825) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3827:                                             ; preds = %3799
  %3828 = load i32, ptr @test_count, align 4, !tbaa !5
  %3829 = add nsw i32 %3828, 1
  store i32 %3829, ptr @test_count, align 4, !tbaa !5
  %3830 = load ptr, ptr %22, align 8, !tbaa !9
  %3831 = getelementptr inbounds i8, ptr %3830, i64 416
  %3832 = load i32, ptr %3831, align 8, !tbaa !58
  %3833 = icmp eq i32 %3832, 1
  br i1 %3833, label %3856, label %3834

3834:                                             ; preds = %3827
  %3835 = load i32, ptr %1549, align 4, !tbaa !5
  %3836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3837 = call i32 @s2n_print_stacktrace(ptr noundef %3836) #12
  %3838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3839 = trunc nuw i8 %3838 to i1
  br i1 %3839, label %3840, label %3844

3840:                                             ; preds = %3834
  %3841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3842 = call i32 @fileno(ptr noundef %3841) #12
  %3843 = call i32 @isatty(i32 noundef %3842) #12
  %.not1315 = icmp eq i32 %3843, 0
  br i1 %.not1315, label %3844, label %3845

3844:                                             ; preds = %3840, %3834
  br label %3845

3845:                                             ; preds = %3840, %3844
  %.str.5.sink3177 = phi ptr [ @.str.5, %3844 ], [ @.str.2, %3840 ]
  store i32 %3835, ptr %1549, align 4, !tbaa !5
  %3846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3847 = load i32, ptr @test_count, align 4, !tbaa !5
  %3848 = load i32, ptr %1495, align 4, !tbaa !5
  %3849 = call ptr @s2n_strerror(i32 noundef %3848, ptr noundef nonnull @.str.4) #12
  %3850 = load i32, ptr %1495, align 4, !tbaa !5
  %3851 = call ptr @s2n_strerror_debug(i32 noundef %3850, ptr noundef nonnull @.str.4) #12
  %3852 = load i32, ptr %1549, align 4, !tbaa !5
  %3853 = call ptr @strerror(i32 noundef %3852) #12
  %3854 = load i32, ptr %1549, align 4, !tbaa !5
  %3855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3846, ptr noundef nonnull %.str.5.sink3177, i32 noundef %3847, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 383, ptr noundef %3849, ptr noundef %3851, ptr noundef %3853, i32 noundef %3854) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3856:                                             ; preds = %3827
  %3857 = add nsw i32 %3828, 2
  store i32 %3857, ptr @test_count, align 4, !tbaa !5
  %3858 = load ptr, ptr %21, align 8, !tbaa !9
  %3859 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %3858) #12
  %3860 = icmp eq i32 %3859, -1
  br i1 %3860, label %3861, label %3883

3861:                                             ; preds = %3856
  %3862 = load i32, ptr %1549, align 4, !tbaa !5
  %3863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3864 = call i32 @s2n_print_stacktrace(ptr noundef %3863) #12
  %3865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3866 = trunc nuw i8 %3865 to i1
  br i1 %3866, label %3867, label %3871

3867:                                             ; preds = %3861
  %3868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3869 = call i32 @fileno(ptr noundef %3868) #12
  %3870 = call i32 @isatty(i32 noundef %3869) #12
  %.not1721 = icmp eq i32 %3870, 0
  br i1 %.not1721, label %3871, label %3872

3871:                                             ; preds = %3867, %3861
  br label %3872

3872:                                             ; preds = %3867, %3871
  %.str.5.sink3186 = phi ptr [ @.str.5, %3871 ], [ @.str.2, %3867 ]
  store i32 %3862, ptr %1549, align 4, !tbaa !5
  %3873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3874 = load i32, ptr @test_count, align 4, !tbaa !5
  %3875 = load i32, ptr %1495, align 4, !tbaa !5
  %3876 = call ptr @s2n_strerror(i32 noundef %3875, ptr noundef nonnull @.str.4) #12
  %3877 = load i32, ptr %1495, align 4, !tbaa !5
  %3878 = call ptr @s2n_strerror_debug(i32 noundef %3877, ptr noundef nonnull @.str.4) #12
  %3879 = load i32, ptr %1549, align 4, !tbaa !5
  %3880 = call ptr @strerror(i32 noundef %3879) #12
  %3881 = load i32, ptr %1549, align 4, !tbaa !5
  %3882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3873, ptr noundef nonnull %.str.5.sink3186, i32 noundef %3874, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 386, ptr noundef %3876, ptr noundef %3878, ptr noundef %3880, i32 noundef %3881) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3883:                                             ; preds = %3856
  %3884 = load i32, ptr @test_count, align 4, !tbaa !5
  %3885 = add nsw i32 %3884, 1
  store i32 %3885, ptr @test_count, align 4, !tbaa !5
  %3886 = load ptr, ptr %22, align 8, !tbaa !9
  %3887 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef %3886) #12
  %3888 = icmp eq i32 %3887, -1
  br i1 %3888, label %3889, label %3911

3889:                                             ; preds = %3883
  %3890 = load i32, ptr %1549, align 4, !tbaa !5
  %3891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3892 = call i32 @s2n_print_stacktrace(ptr noundef %3891) #12
  %3893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3894 = trunc nuw i8 %3893 to i1
  br i1 %3894, label %3895, label %3899

3895:                                             ; preds = %3889
  %3896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3897 = call i32 @fileno(ptr noundef %3896) #12
  %3898 = call i32 @isatty(i32 noundef %3897) #12
  %.not1720 = icmp eq i32 %3898, 0
  br i1 %.not1720, label %3899, label %3900

3899:                                             ; preds = %3895, %3889
  br label %3900

3900:                                             ; preds = %3895, %3899
  %.str.5.sink3195 = phi ptr [ @.str.5, %3899 ], [ @.str.2, %3895 ]
  store i32 %3890, ptr %1549, align 4, !tbaa !5
  %3901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3902 = load i32, ptr @test_count, align 4, !tbaa !5
  %3903 = load i32, ptr %1495, align 4, !tbaa !5
  %3904 = call ptr @s2n_strerror(i32 noundef %3903, ptr noundef nonnull @.str.4) #12
  %3905 = load i32, ptr %1495, align 4, !tbaa !5
  %3906 = call ptr @s2n_strerror_debug(i32 noundef %3905, ptr noundef nonnull @.str.4) #12
  %3907 = load i32, ptr %1549, align 4, !tbaa !5
  %3908 = call ptr @strerror(i32 noundef %3907) #12
  %3909 = load i32, ptr %1549, align 4, !tbaa !5
  %3910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3901, ptr noundef nonnull %.str.5.sink3195, i32 noundef %3902, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %3904, ptr noundef %3906, ptr noundef %3908, i32 noundef %3909) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3911:                                             ; preds = %3883
  %3912 = load i32, ptr @test_count, align 4, !tbaa !5
  %3913 = add nsw i32 %3912, 1
  store i32 %3913, ptr @test_count, align 4, !tbaa !5
  %3914 = load ptr, ptr %22, align 8, !tbaa !9
  %3915 = call ptr @s2n_config_get_single_default_cert(ptr noundef %3914) #12
  %3916 = icmp eq ptr %3915, null
  br i1 %3916, label %3917, label %3939

3917:                                             ; preds = %3911
  %3918 = load i32, ptr %1549, align 4, !tbaa !5
  %3919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3920 = call i32 @s2n_print_stacktrace(ptr noundef %3919) #12
  %3921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3922 = trunc nuw i8 %3921 to i1
  br i1 %3922, label %3923, label %3927

3923:                                             ; preds = %3917
  %3924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3925 = call i32 @fileno(ptr noundef %3924) #12
  %3926 = call i32 @isatty(i32 noundef %3925) #12
  %.not1719 = icmp eq i32 %3926, 0
  br i1 %.not1719, label %3927, label %3928

3927:                                             ; preds = %3923, %3917
  br label %3928

3928:                                             ; preds = %3923, %3927
  %.str.5.sink3204 = phi ptr [ @.str.5, %3927 ], [ @.str.2, %3923 ]
  store i32 %3918, ptr %1549, align 4, !tbaa !5
  %3929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3930 = load i32, ptr @test_count, align 4, !tbaa !5
  %3931 = load i32, ptr %1495, align 4, !tbaa !5
  %3932 = call ptr @s2n_strerror(i32 noundef %3931, ptr noundef nonnull @.str.4) #12
  %3933 = load i32, ptr %1495, align 4, !tbaa !5
  %3934 = call ptr @s2n_strerror_debug(i32 noundef %3933, ptr noundef nonnull @.str.4) #12
  %3935 = load i32, ptr %1549, align 4, !tbaa !5
  %3936 = call ptr @strerror(i32 noundef %3935) #12
  %3937 = load i32, ptr %1549, align 4, !tbaa !5
  %3938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3929, ptr noundef nonnull %.str.5.sink3204, i32 noundef %3930, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 390, ptr noundef %3932, ptr noundef %3934, ptr noundef %3936, i32 noundef %3937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3939:                                             ; preds = %3911
  %3940 = load i32, ptr @test_count, align 4, !tbaa !5
  %3941 = add nsw i32 %3940, 1
  store i32 %3941, ptr @test_count, align 4, !tbaa !5
  %3942 = load ptr, ptr %22, align 8, !tbaa !9
  %3943 = getelementptr inbounds i8, ptr %3942, i64 416
  %3944 = load i32, ptr %3943, align 8, !tbaa !58
  %3945 = icmp eq i32 %3944, 1
  br i1 %3945, label %3968, label %3946

3946:                                             ; preds = %3939
  %3947 = load i32, ptr %1549, align 4, !tbaa !5
  %3948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3949 = call i32 @s2n_print_stacktrace(ptr noundef %3948) #12
  %3950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3951 = trunc nuw i8 %3950 to i1
  br i1 %3951, label %3952, label %3956

3952:                                             ; preds = %3946
  %3953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3954 = call i32 @fileno(ptr noundef %3953) #12
  %3955 = call i32 @isatty(i32 noundef %3954) #12
  %.not1316 = icmp eq i32 %3955, 0
  br i1 %.not1316, label %3956, label %3957

3956:                                             ; preds = %3952, %3946
  br label %3957

3957:                                             ; preds = %3952, %3956
  %.str.5.sink3213 = phi ptr [ @.str.5, %3956 ], [ @.str.2, %3952 ]
  store i32 %3947, ptr %1549, align 4, !tbaa !5
  %3958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3959 = load i32, ptr @test_count, align 4, !tbaa !5
  %3960 = load i32, ptr %1495, align 4, !tbaa !5
  %3961 = call ptr @s2n_strerror(i32 noundef %3960, ptr noundef nonnull @.str.4) #12
  %3962 = load i32, ptr %1495, align 4, !tbaa !5
  %3963 = call ptr @s2n_strerror_debug(i32 noundef %3962, ptr noundef nonnull @.str.4) #12
  %3964 = load i32, ptr %1549, align 4, !tbaa !5
  %3965 = call ptr @strerror(i32 noundef %3964) #12
  %3966 = load i32, ptr %1549, align 4, !tbaa !5
  %3967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3958, ptr noundef nonnull %.str.5.sink3213, i32 noundef %3959, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %3961, ptr noundef %3963, ptr noundef %3965, i32 noundef %3966) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3968:                                             ; preds = %3939
  %3969 = add nsw i32 %3940, 2
  store i32 %3969, ptr @test_count, align 4, !tbaa !5
  %3970 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef nonnull %3942) #12
  %3971 = icmp eq i32 %3970, -1
  br i1 %3971, label %3972, label %3994

3972:                                             ; preds = %3968
  %3973 = load i32, ptr %1549, align 4, !tbaa !5
  %3974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3975 = call i32 @s2n_print_stacktrace(ptr noundef %3974) #12
  %3976 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3977 = trunc nuw i8 %3976 to i1
  br i1 %3977, label %3978, label %3982

3978:                                             ; preds = %3972
  %3979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3980 = call i32 @fileno(ptr noundef %3979) #12
  %3981 = call i32 @isatty(i32 noundef %3980) #12
  %.not1718 = icmp eq i32 %3981, 0
  br i1 %.not1718, label %3982, label %3983

3982:                                             ; preds = %3978, %3972
  br label %3983

3983:                                             ; preds = %3978, %3982
  %.str.5.sink3222 = phi ptr [ @.str.5, %3982 ], [ @.str.2, %3978 ]
  store i32 %3973, ptr %1549, align 4, !tbaa !5
  %3984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3985 = load i32, ptr @test_count, align 4, !tbaa !5
  %3986 = load i32, ptr %1495, align 4, !tbaa !5
  %3987 = call ptr @s2n_strerror(i32 noundef %3986, ptr noundef nonnull @.str.4) #12
  %3988 = load i32, ptr %1495, align 4, !tbaa !5
  %3989 = call ptr @s2n_strerror_debug(i32 noundef %3988, ptr noundef nonnull @.str.4) #12
  %3990 = load i32, ptr %1549, align 4, !tbaa !5
  %3991 = call ptr @strerror(i32 noundef %3990) #12
  %3992 = load i32, ptr %1549, align 4, !tbaa !5
  %3993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3984, ptr noundef nonnull %.str.5.sink3222, i32 noundef %3985, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %3987, ptr noundef %3989, ptr noundef %3991, i32 noundef %3992) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3994:                                             ; preds = %3968
  %3995 = load i32, ptr @test_count, align 4, !tbaa !5
  %3996 = add nsw i32 %3995, 1
  store i32 %3996, ptr @test_count, align 4, !tbaa !5
  %3997 = load ptr, ptr %22, align 8, !tbaa !9
  %3998 = call ptr @s2n_config_get_single_default_cert(ptr noundef %3997) #12
  %3999 = icmp eq ptr %3998, null
  br i1 %3999, label %4000, label %4022

4000:                                             ; preds = %3994
  %4001 = load i32, ptr %1549, align 4, !tbaa !5
  %4002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4003 = call i32 @s2n_print_stacktrace(ptr noundef %4002) #12
  %4004 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4005 = trunc nuw i8 %4004 to i1
  br i1 %4005, label %4006, label %4010

4006:                                             ; preds = %4000
  %4007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4008 = call i32 @fileno(ptr noundef %4007) #12
  %4009 = call i32 @isatty(i32 noundef %4008) #12
  %.not1717 = icmp eq i32 %4009, 0
  br i1 %.not1717, label %4010, label %4011

4010:                                             ; preds = %4006, %4000
  br label %4011

4011:                                             ; preds = %4006, %4010
  %.str.5.sink3231 = phi ptr [ @.str.5, %4010 ], [ @.str.2, %4006 ]
  store i32 %4001, ptr %1549, align 4, !tbaa !5
  %4012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4013 = load i32, ptr @test_count, align 4, !tbaa !5
  %4014 = load i32, ptr %1495, align 4, !tbaa !5
  %4015 = call ptr @s2n_strerror(i32 noundef %4014, ptr noundef nonnull @.str.4) #12
  %4016 = load i32, ptr %1495, align 4, !tbaa !5
  %4017 = call ptr @s2n_strerror_debug(i32 noundef %4016, ptr noundef nonnull @.str.4) #12
  %4018 = load i32, ptr %1549, align 4, !tbaa !5
  %4019 = call ptr @strerror(i32 noundef %4018) #12
  %4020 = load i32, ptr %1549, align 4, !tbaa !5
  %4021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4012, ptr noundef nonnull %.str.5.sink3231, i32 noundef %4013, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 395, ptr noundef %4015, ptr noundef %4017, ptr noundef %4019, i32 noundef %4020) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4022:                                             ; preds = %3994
  %4023 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #12
  %4024 = call ptr @s2n_config_new() #12
  store ptr %4024, ptr %23, align 8, !tbaa !9
  %4025 = load i32, ptr @test_count, align 4, !tbaa !5
  %4026 = add nsw i32 %4025, 1
  store i32 %4026, ptr @test_count, align 4, !tbaa !5
  %4027 = icmp eq ptr %4024, null
  br i1 %4027, label %4028, label %4050

4028:                                             ; preds = %4022
  %4029 = load i32, ptr %1549, align 4, !tbaa !5
  %4030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4031 = call i32 @s2n_print_stacktrace(ptr noundef %4030) #12
  %4032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4033 = trunc nuw i8 %4032 to i1
  br i1 %4033, label %4034, label %4038

4034:                                             ; preds = %4028
  %4035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4036 = call i32 @fileno(ptr noundef %4035) #12
  %4037 = call i32 @isatty(i32 noundef %4036) #12
  %.not1716 = icmp eq i32 %4037, 0
  br i1 %.not1716, label %4038, label %4039

4038:                                             ; preds = %4034, %4028
  br label %4039

4039:                                             ; preds = %4034, %4038
  %.str.5.sink3240 = phi ptr [ @.str.5, %4038 ], [ @.str.2, %4034 ]
  store i32 %4029, ptr %1549, align 4, !tbaa !5
  %4040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4041 = load i32, ptr @test_count, align 4, !tbaa !5
  %4042 = load i32, ptr %1495, align 4, !tbaa !5
  %4043 = call ptr @s2n_strerror(i32 noundef %4042, ptr noundef nonnull @.str.4) #12
  %4044 = load i32, ptr %1495, align 4, !tbaa !5
  %4045 = call ptr @s2n_strerror_debug(i32 noundef %4044, ptr noundef nonnull @.str.4) #12
  %4046 = load i32, ptr %1549, align 4, !tbaa !5
  %4047 = call ptr @strerror(i32 noundef %4046) #12
  %4048 = load i32, ptr %1549, align 4, !tbaa !5
  %4049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4040, ptr noundef nonnull %.str.5.sink3240, i32 noundef %4041, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 401, ptr noundef %4043, ptr noundef %4045, ptr noundef %4047, i32 noundef %4048) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4050:                                             ; preds = %4022
  %4051 = add nsw i32 %4025, 2
  store i32 %4051, ptr @test_count, align 4, !tbaa !5
  %4052 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef nonnull %4024, ptr noundef nonnull %6, ptr noundef nonnull %7) #12
  %4053 = icmp eq i32 %4052, -1
  br i1 %4053, label %4054, label %4076

4054:                                             ; preds = %4050
  %4055 = load i32, ptr %1549, align 4, !tbaa !5
  %4056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4057 = call i32 @s2n_print_stacktrace(ptr noundef %4056) #12
  %4058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4059 = trunc nuw i8 %4058 to i1
  br i1 %4059, label %4060, label %4064

4060:                                             ; preds = %4054
  %4061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4062 = call i32 @fileno(ptr noundef %4061) #12
  %4063 = call i32 @isatty(i32 noundef %4062) #12
  %.not1715 = icmp eq i32 %4063, 0
  br i1 %.not1715, label %4064, label %4065

4064:                                             ; preds = %4060, %4054
  br label %4065

4065:                                             ; preds = %4060, %4064
  %.str.5.sink3249 = phi ptr [ @.str.5, %4064 ], [ @.str.2, %4060 ]
  store i32 %4055, ptr %1549, align 4, !tbaa !5
  %4066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4067 = load i32, ptr @test_count, align 4, !tbaa !5
  %4068 = load i32, ptr %1495, align 4, !tbaa !5
  %4069 = call ptr @s2n_strerror(i32 noundef %4068, ptr noundef nonnull @.str.4) #12
  %4070 = load i32, ptr %1495, align 4, !tbaa !5
  %4071 = call ptr @s2n_strerror_debug(i32 noundef %4070, ptr noundef nonnull @.str.4) #12
  %4072 = load i32, ptr %1549, align 4, !tbaa !5
  %4073 = call ptr @strerror(i32 noundef %4072) #12
  %4074 = load i32, ptr %1549, align 4, !tbaa !5
  %4075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4066, ptr noundef nonnull %.str.5.sink3249, i32 noundef %4067, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 402, ptr noundef %4069, ptr noundef %4071, ptr noundef %4073, i32 noundef %4074) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4076:                                             ; preds = %4050
  %4077 = load i32, ptr @test_count, align 4, !tbaa !5
  %4078 = add nsw i32 %4077, 1
  store i32 %4078, ptr @test_count, align 4, !tbaa !5
  %4079 = load ptr, ptr %23, align 8, !tbaa !9
  %4080 = call ptr @s2n_config_get_single_default_cert(ptr noundef %4079) #12
  %4081 = icmp eq ptr %4080, null
  br i1 %4081, label %4082, label %4104

4082:                                             ; preds = %4076
  %4083 = load i32, ptr %1549, align 4, !tbaa !5
  %4084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4085 = call i32 @s2n_print_stacktrace(ptr noundef %4084) #12
  %4086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4087 = trunc nuw i8 %4086 to i1
  br i1 %4087, label %4088, label %4092

4088:                                             ; preds = %4082
  %4089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4090 = call i32 @fileno(ptr noundef %4089) #12
  %4091 = call i32 @isatty(i32 noundef %4090) #12
  %.not1714 = icmp eq i32 %4091, 0
  br i1 %.not1714, label %4092, label %4093

4092:                                             ; preds = %4088, %4082
  br label %4093

4093:                                             ; preds = %4088, %4092
  %.str.5.sink3258 = phi ptr [ @.str.5, %4092 ], [ @.str.2, %4088 ]
  store i32 %4083, ptr %1549, align 4, !tbaa !5
  %4094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4095 = load i32, ptr @test_count, align 4, !tbaa !5
  %4096 = load i32, ptr %1495, align 4, !tbaa !5
  %4097 = call ptr @s2n_strerror(i32 noundef %4096, ptr noundef nonnull @.str.4) #12
  %4098 = load i32, ptr %1495, align 4, !tbaa !5
  %4099 = call ptr @s2n_strerror_debug(i32 noundef %4098, ptr noundef nonnull @.str.4) #12
  %4100 = load i32, ptr %1549, align 4, !tbaa !5
  %4101 = call ptr @strerror(i32 noundef %4100) #12
  %4102 = load i32, ptr %1549, align 4, !tbaa !5
  %4103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4094, ptr noundef nonnull %.str.5.sink3258, i32 noundef %4095, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %4097, ptr noundef %4099, ptr noundef %4101, i32 noundef %4102) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4104:                                             ; preds = %4076
  %4105 = load i32, ptr @test_count, align 4, !tbaa !5
  %4106 = add nsw i32 %4105, 1
  store i32 %4106, ptr @test_count, align 4, !tbaa !5
  %4107 = load ptr, ptr %23, align 8, !tbaa !9
  %4108 = getelementptr inbounds i8, ptr %4107, i64 416
  %4109 = load i32, ptr %4108, align 8, !tbaa !58
  %4110 = icmp eq i32 %4109, 2
  br i1 %4110, label %4133, label %4111

4111:                                             ; preds = %4104
  %4112 = load i32, ptr %1549, align 4, !tbaa !5
  %4113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4114 = call i32 @s2n_print_stacktrace(ptr noundef %4113) #12
  %4115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4116 = trunc nuw i8 %4115 to i1
  br i1 %4116, label %4117, label %4121

4117:                                             ; preds = %4111
  %4118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4119 = call i32 @fileno(ptr noundef %4118) #12
  %4120 = call i32 @isatty(i32 noundef %4119) #12
  %.not1317 = icmp eq i32 %4120, 0
  br i1 %.not1317, label %4121, label %4122

4121:                                             ; preds = %4117, %4111
  br label %4122

4122:                                             ; preds = %4117, %4121
  %.str.5.sink3267 = phi ptr [ @.str.5, %4121 ], [ @.str.2, %4117 ]
  store i32 %4112, ptr %1549, align 4, !tbaa !5
  %4123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4124 = load i32, ptr @test_count, align 4, !tbaa !5
  %4125 = load i32, ptr %1495, align 4, !tbaa !5
  %4126 = call ptr @s2n_strerror(i32 noundef %4125, ptr noundef nonnull @.str.4) #12
  %4127 = load i32, ptr %1495, align 4, !tbaa !5
  %4128 = call ptr @s2n_strerror_debug(i32 noundef %4127, ptr noundef nonnull @.str.4) #12
  %4129 = load i32, ptr %1549, align 4, !tbaa !5
  %4130 = call ptr @strerror(i32 noundef %4129) #12
  %4131 = load i32, ptr %1549, align 4, !tbaa !5
  %4132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4123, ptr noundef nonnull %.str.5.sink3267, i32 noundef %4124, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 404, ptr noundef %4126, ptr noundef %4128, ptr noundef %4130, i32 noundef %4131) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4133:                                             ; preds = %4104
  %4134 = add nsw i32 %4105, 2
  store i32 %4134, ptr @test_count, align 4, !tbaa !5
  %4135 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef nonnull %4107) #12
  %4136 = icmp eq i32 %4135, -1
  br i1 %4136, label %4137, label %4159

4137:                                             ; preds = %4133
  %4138 = load i32, ptr %1549, align 4, !tbaa !5
  %4139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4140 = call i32 @s2n_print_stacktrace(ptr noundef %4139) #12
  %4141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4142 = trunc nuw i8 %4141 to i1
  br i1 %4142, label %4143, label %4147

4143:                                             ; preds = %4137
  %4144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4145 = call i32 @fileno(ptr noundef %4144) #12
  %4146 = call i32 @isatty(i32 noundef %4145) #12
  %.not1713 = icmp eq i32 %4146, 0
  br i1 %.not1713, label %4147, label %4148

4147:                                             ; preds = %4143, %4137
  br label %4148

4148:                                             ; preds = %4143, %4147
  %.str.5.sink3276 = phi ptr [ @.str.5, %4147 ], [ @.str.2, %4143 ]
  store i32 %4138, ptr %1549, align 4, !tbaa !5
  %4149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4150 = load i32, ptr @test_count, align 4, !tbaa !5
  %4151 = load i32, ptr %1495, align 4, !tbaa !5
  %4152 = call ptr @s2n_strerror(i32 noundef %4151, ptr noundef nonnull @.str.4) #12
  %4153 = load i32, ptr %1495, align 4, !tbaa !5
  %4154 = call ptr @s2n_strerror_debug(i32 noundef %4153, ptr noundef nonnull @.str.4) #12
  %4155 = load i32, ptr %1549, align 4, !tbaa !5
  %4156 = call ptr @strerror(i32 noundef %4155) #12
  %4157 = load i32, ptr %1549, align 4, !tbaa !5
  %4158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4149, ptr noundef nonnull %.str.5.sink3276, i32 noundef %4150, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 406, ptr noundef %4152, ptr noundef %4154, ptr noundef %4156, i32 noundef %4157) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4159:                                             ; preds = %4133
  %4160 = load i32, ptr @test_count, align 4, !tbaa !5
  %4161 = add nsw i32 %4160, 1
  store i32 %4161, ptr @test_count, align 4, !tbaa !5
  %4162 = load ptr, ptr %23, align 8, !tbaa !9
  %4163 = call ptr @s2n_config_get_single_default_cert(ptr noundef %4162) #12
  %4164 = icmp eq ptr %4163, null
  br i1 %4164, label %4187, label %4165

4165:                                             ; preds = %4159
  %4166 = load i32, ptr %1549, align 4, !tbaa !5
  %4167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4168 = call i32 @s2n_print_stacktrace(ptr noundef %4167) #12
  %4169 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4170 = trunc nuw i8 %4169 to i1
  br i1 %4170, label %4171, label %4175

4171:                                             ; preds = %4165
  %4172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4173 = call i32 @fileno(ptr noundef %4172) #12
  %4174 = call i32 @isatty(i32 noundef %4173) #12
  %.not1318 = icmp eq i32 %4174, 0
  br i1 %.not1318, label %4175, label %4176

4175:                                             ; preds = %4171, %4165
  br label %4176

4176:                                             ; preds = %4171, %4175
  %.str.5.sink3285 = phi ptr [ @.str.5, %4175 ], [ @.str.2, %4171 ]
  store i32 %4166, ptr %1549, align 4, !tbaa !5
  %4177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4178 = load i32, ptr @test_count, align 4, !tbaa !5
  %4179 = load i32, ptr %1495, align 4, !tbaa !5
  %4180 = call ptr @s2n_strerror(i32 noundef %4179, ptr noundef nonnull @.str.4) #12
  %4181 = load i32, ptr %1495, align 4, !tbaa !5
  %4182 = call ptr @s2n_strerror_debug(i32 noundef %4181, ptr noundef nonnull @.str.4) #12
  %4183 = load i32, ptr %1549, align 4, !tbaa !5
  %4184 = call ptr @strerror(i32 noundef %4183) #12
  %4185 = load i32, ptr %1549, align 4, !tbaa !5
  %4186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4177, ptr noundef nonnull %.str.5.sink3285, i32 noundef %4178, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 407, ptr noundef %4180, ptr noundef %4182, ptr noundef %4184, i32 noundef %4185) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4187:                                             ; preds = %4159
  %4188 = load i32, ptr @test_count, align 4, !tbaa !5
  %4189 = add nsw i32 %4188, 1
  store i32 %4189, ptr @test_count, align 4, !tbaa !5
  %4190 = load ptr, ptr %23, align 8, !tbaa !9
  %4191 = getelementptr inbounds i8, ptr %4190, i64 416
  %4192 = load i32, ptr %4191, align 8, !tbaa !58
  %4193 = icmp eq i32 %4192, 0
  br i1 %4193, label %4216, label %4194

4194:                                             ; preds = %4187
  %4195 = load i32, ptr %1549, align 4, !tbaa !5
  %4196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4197 = call i32 @s2n_print_stacktrace(ptr noundef %4196) #12
  %4198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4199 = trunc nuw i8 %4198 to i1
  br i1 %4199, label %4200, label %4204

4200:                                             ; preds = %4194
  %4201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4202 = call i32 @fileno(ptr noundef %4201) #12
  %4203 = call i32 @isatty(i32 noundef %4202) #12
  %.not1319 = icmp eq i32 %4203, 0
  br i1 %.not1319, label %4204, label %4205

4204:                                             ; preds = %4200, %4194
  br label %4205

4205:                                             ; preds = %4200, %4204
  %.str.5.sink3294 = phi ptr [ @.str.5, %4204 ], [ @.str.2, %4200 ]
  store i32 %4195, ptr %1549, align 4, !tbaa !5
  %4206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4207 = load i32, ptr @test_count, align 4, !tbaa !5
  %4208 = load i32, ptr %1495, align 4, !tbaa !5
  %4209 = call ptr @s2n_strerror(i32 noundef %4208, ptr noundef nonnull @.str.4) #12
  %4210 = load i32, ptr %1495, align 4, !tbaa !5
  %4211 = call ptr @s2n_strerror_debug(i32 noundef %4210, ptr noundef nonnull @.str.4) #12
  %4212 = load i32, ptr %1549, align 4, !tbaa !5
  %4213 = call ptr @strerror(i32 noundef %4212) #12
  %4214 = load i32, ptr %1549, align 4, !tbaa !5
  %4215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4206, ptr noundef nonnull %.str.5.sink3294, i32 noundef %4207, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 408, ptr noundef %4209, ptr noundef %4211, ptr noundef %4213, i32 noundef %4214) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4216:                                             ; preds = %4187
  %4217 = add nsw i32 %4188, 2
  store i32 %4217, ptr @test_count, align 4, !tbaa !5
  %4218 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef nonnull %4190) #12
  %4219 = icmp eq i32 %4218, -1
  br i1 %4219, label %4220, label %4242

4220:                                             ; preds = %4216
  %4221 = load i32, ptr %1549, align 4, !tbaa !5
  %4222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4223 = call i32 @s2n_print_stacktrace(ptr noundef %4222) #12
  %4224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4225 = trunc nuw i8 %4224 to i1
  br i1 %4225, label %4226, label %4230

4226:                                             ; preds = %4220
  %4227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4228 = call i32 @fileno(ptr noundef %4227) #12
  %4229 = call i32 @isatty(i32 noundef %4228) #12
  %.not1712 = icmp eq i32 %4229, 0
  br i1 %.not1712, label %4230, label %4231

4230:                                             ; preds = %4226, %4220
  br label %4231

4231:                                             ; preds = %4226, %4230
  %.str.5.sink3303 = phi ptr [ @.str.5, %4230 ], [ @.str.2, %4226 ]
  store i32 %4221, ptr %1549, align 4, !tbaa !5
  %4232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4233 = load i32, ptr @test_count, align 4, !tbaa !5
  %4234 = load i32, ptr %1495, align 4, !tbaa !5
  %4235 = call ptr @s2n_strerror(i32 noundef %4234, ptr noundef nonnull @.str.4) #12
  %4236 = load i32, ptr %1495, align 4, !tbaa !5
  %4237 = call ptr @s2n_strerror_debug(i32 noundef %4236, ptr noundef nonnull @.str.4) #12
  %4238 = load i32, ptr %1549, align 4, !tbaa !5
  %4239 = call ptr @strerror(i32 noundef %4238) #12
  %4240 = load i32, ptr %1549, align 4, !tbaa !5
  %4241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4232, ptr noundef nonnull %.str.5.sink3303, i32 noundef %4233, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 411, ptr noundef %4235, ptr noundef %4237, ptr noundef %4239, i32 noundef %4240) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4242:                                             ; preds = %4216
  %4243 = load i32, ptr @test_count, align 4, !tbaa !5
  %4244 = add nsw i32 %4243, 1
  store i32 %4244, ptr @test_count, align 4, !tbaa !5
  %4245 = load ptr, ptr %23, align 8, !tbaa !9
  %4246 = call ptr @s2n_config_get_single_default_cert(ptr noundef %4245) #12
  %4247 = icmp eq ptr %4246, null
  br i1 %4247, label %4270, label %4248

4248:                                             ; preds = %4242
  %4249 = load i32, ptr %1549, align 4, !tbaa !5
  %4250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4251 = call i32 @s2n_print_stacktrace(ptr noundef %4250) #12
  %4252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4253 = trunc nuw i8 %4252 to i1
  br i1 %4253, label %4254, label %4258

4254:                                             ; preds = %4248
  %4255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4256 = call i32 @fileno(ptr noundef %4255) #12
  %4257 = call i32 @isatty(i32 noundef %4256) #12
  %.not1320 = icmp eq i32 %4257, 0
  br i1 %.not1320, label %4258, label %4259

4258:                                             ; preds = %4254, %4248
  br label %4259

4259:                                             ; preds = %4254, %4258
  %.str.5.sink3312 = phi ptr [ @.str.5, %4258 ], [ @.str.2, %4254 ]
  store i32 %4249, ptr %1549, align 4, !tbaa !5
  %4260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4261 = load i32, ptr @test_count, align 4, !tbaa !5
  %4262 = load i32, ptr %1495, align 4, !tbaa !5
  %4263 = call ptr @s2n_strerror(i32 noundef %4262, ptr noundef nonnull @.str.4) #12
  %4264 = load i32, ptr %1495, align 4, !tbaa !5
  %4265 = call ptr @s2n_strerror_debug(i32 noundef %4264, ptr noundef nonnull @.str.4) #12
  %4266 = load i32, ptr %1549, align 4, !tbaa !5
  %4267 = call ptr @strerror(i32 noundef %4266) #12
  %4268 = load i32, ptr %1549, align 4, !tbaa !5
  %4269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4260, ptr noundef nonnull %.str.5.sink3312, i32 noundef %4261, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 412, ptr noundef %4263, ptr noundef %4265, ptr noundef %4267, i32 noundef %4268) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4270:                                             ; preds = %4242
  %4271 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #12
  store ptr null, ptr %24, align 8, !tbaa !9
  %4272 = load i32, ptr @test_count, align 4, !tbaa !5
  %4273 = add nsw i32 %4272, 1
  store i32 %4273, ptr @test_count, align 4, !tbaa !5
  %4274 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %24, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.17) #12
  %4275 = icmp eq i32 %4274, -1
  br i1 %4275, label %4276, label %4298

4276:                                             ; preds = %4270
  %4277 = load i32, ptr %1549, align 4, !tbaa !5
  %4278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4279 = call i32 @s2n_print_stacktrace(ptr noundef %4278) #12
  %4280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4281 = trunc nuw i8 %4280 to i1
  br i1 %4281, label %4282, label %4286

4282:                                             ; preds = %4276
  %4283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4284 = call i32 @fileno(ptr noundef %4283) #12
  %4285 = call i32 @isatty(i32 noundef %4284) #12
  %.not1711 = icmp eq i32 %4285, 0
  br i1 %.not1711, label %4286, label %4287

4286:                                             ; preds = %4282, %4276
  br label %4287

4287:                                             ; preds = %4282, %4286
  %.str.5.sink3321 = phi ptr [ @.str.5, %4286 ], [ @.str.2, %4282 ]
  store i32 %4277, ptr %1549, align 4, !tbaa !5
  %4288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4289 = load i32, ptr @test_count, align 4, !tbaa !5
  %4290 = load i32, ptr %1495, align 4, !tbaa !5
  %4291 = call ptr @s2n_strerror(i32 noundef %4290, ptr noundef nonnull @.str.4) #12
  %4292 = load i32, ptr %1495, align 4, !tbaa !5
  %4293 = call ptr @s2n_strerror_debug(i32 noundef %4292, ptr noundef nonnull @.str.4) #12
  %4294 = load i32, ptr %1549, align 4, !tbaa !5
  %4295 = call ptr @strerror(i32 noundef %4294) #12
  %4296 = load i32, ptr %1549, align 4, !tbaa !5
  %4297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4288, ptr noundef nonnull %.str.5.sink3321, i32 noundef %4289, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 419, ptr noundef %4291, ptr noundef %4293, ptr noundef %4295, i32 noundef %4296) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4298:                                             ; preds = %4270
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #12
  %4299 = call ptr @s2n_config_new() #12
  store ptr %4299, ptr %25, align 8, !tbaa !9
  %4300 = load i32, ptr @test_count, align 4, !tbaa !5
  %4301 = add nsw i32 %4300, 1
  store i32 %4301, ptr @test_count, align 4, !tbaa !5
  %4302 = icmp eq ptr %4299, null
  br i1 %4302, label %4303, label %4325

4303:                                             ; preds = %4298
  %4304 = load i32, ptr %1549, align 4, !tbaa !5
  %4305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4306 = call i32 @s2n_print_stacktrace(ptr noundef %4305) #12
  %4307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4308 = trunc nuw i8 %4307 to i1
  br i1 %4308, label %4309, label %4313

4309:                                             ; preds = %4303
  %4310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4311 = call i32 @fileno(ptr noundef %4310) #12
  %4312 = call i32 @isatty(i32 noundef %4311) #12
  %.not1710 = icmp eq i32 %4312, 0
  br i1 %.not1710, label %4313, label %4314

4313:                                             ; preds = %4309, %4303
  br label %4314

4314:                                             ; preds = %4309, %4313
  %.str.5.sink3330 = phi ptr [ @.str.5, %4313 ], [ @.str.2, %4309 ]
  store i32 %4304, ptr %1549, align 4, !tbaa !5
  %4315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4316 = load i32, ptr @test_count, align 4, !tbaa !5
  %4317 = load i32, ptr %1495, align 4, !tbaa !5
  %4318 = call ptr @s2n_strerror(i32 noundef %4317, ptr noundef nonnull @.str.4) #12
  %4319 = load i32, ptr %1495, align 4, !tbaa !5
  %4320 = call ptr @s2n_strerror_debug(i32 noundef %4319, ptr noundef nonnull @.str.4) #12
  %4321 = load i32, ptr %1549, align 4, !tbaa !5
  %4322 = call ptr @strerror(i32 noundef %4321) #12
  %4323 = load i32, ptr %1549, align 4, !tbaa !5
  %4324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4315, ptr noundef nonnull %.str.5.sink3330, i32 noundef %4316, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %4318, ptr noundef %4320, ptr noundef %4322, i32 noundef %4323) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4325:                                             ; preds = %4298
  %4326 = add nsw i32 %4300, 2
  store i32 %4326, ptr @test_count, align 4, !tbaa !5
  %4327 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef nonnull %4299, ptr noundef nonnull %6, ptr noundef nonnull %7) #12
  %4328 = icmp eq i32 %4327, -1
  br i1 %4328, label %4329, label %4351

4329:                                             ; preds = %4325
  %4330 = load i32, ptr %1549, align 4, !tbaa !5
  %4331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4332 = call i32 @s2n_print_stacktrace(ptr noundef %4331) #12
  %4333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4334 = trunc nuw i8 %4333 to i1
  br i1 %4334, label %4335, label %4339

4335:                                             ; preds = %4329
  %4336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4337 = call i32 @fileno(ptr noundef %4336) #12
  %4338 = call i32 @isatty(i32 noundef %4337) #12
  %.not1709 = icmp eq i32 %4338, 0
  br i1 %.not1709, label %4339, label %4340

4339:                                             ; preds = %4335, %4329
  br label %4340

4340:                                             ; preds = %4335, %4339
  %.str.5.sink3339 = phi ptr [ @.str.5, %4339 ], [ @.str.2, %4335 ]
  store i32 %4330, ptr %1549, align 4, !tbaa !5
  %4341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4342 = load i32, ptr @test_count, align 4, !tbaa !5
  %4343 = load i32, ptr %1495, align 4, !tbaa !5
  %4344 = call ptr @s2n_strerror(i32 noundef %4343, ptr noundef nonnull @.str.4) #12
  %4345 = load i32, ptr %1495, align 4, !tbaa !5
  %4346 = call ptr @s2n_strerror_debug(i32 noundef %4345, ptr noundef nonnull @.str.4) #12
  %4347 = load i32, ptr %1549, align 4, !tbaa !5
  %4348 = call ptr @strerror(i32 noundef %4347) #12
  %4349 = load i32, ptr %1549, align 4, !tbaa !5
  %4350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4341, ptr noundef nonnull %.str.5.sink3339, i32 noundef %4342, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 423, ptr noundef %4344, ptr noundef %4346, ptr noundef %4348, i32 noundef %4349) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4351:                                             ; preds = %4325
  %4352 = load i32, ptr @test_count, align 4, !tbaa !5
  %4353 = add nsw i32 %4352, 1
  store i32 %4353, ptr @test_count, align 4, !tbaa !5
  %4354 = load ptr, ptr %25, align 8, !tbaa !9
  %4355 = call ptr @s2n_config_get_single_default_cert(ptr noundef %4354) #12
  %4356 = icmp eq ptr %4355, null
  br i1 %4356, label %4357, label %4379

4357:                                             ; preds = %4351
  %4358 = load i32, ptr %1549, align 4, !tbaa !5
  %4359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4360 = call i32 @s2n_print_stacktrace(ptr noundef %4359) #12
  %4361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4362 = trunc nuw i8 %4361 to i1
  br i1 %4362, label %4363, label %4367

4363:                                             ; preds = %4357
  %4364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4365 = call i32 @fileno(ptr noundef %4364) #12
  %4366 = call i32 @isatty(i32 noundef %4365) #12
  %.not1708 = icmp eq i32 %4366, 0
  br i1 %.not1708, label %4367, label %4368

4367:                                             ; preds = %4363, %4357
  br label %4368

4368:                                             ; preds = %4363, %4367
  %.str.5.sink3348 = phi ptr [ @.str.5, %4367 ], [ @.str.2, %4363 ]
  store i32 %4358, ptr %1549, align 4, !tbaa !5
  %4369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4370 = load i32, ptr @test_count, align 4, !tbaa !5
  %4371 = load i32, ptr %1495, align 4, !tbaa !5
  %4372 = call ptr @s2n_strerror(i32 noundef %4371, ptr noundef nonnull @.str.4) #12
  %4373 = load i32, ptr %1495, align 4, !tbaa !5
  %4374 = call ptr @s2n_strerror_debug(i32 noundef %4373, ptr noundef nonnull @.str.4) #12
  %4375 = load i32, ptr %1549, align 4, !tbaa !5
  %4376 = call ptr @strerror(i32 noundef %4375) #12
  %4377 = load i32, ptr %1549, align 4, !tbaa !5
  %4378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4369, ptr noundef nonnull %.str.5.sink3348, i32 noundef %4370, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 424, ptr noundef %4372, ptr noundef %4374, ptr noundef %4376, i32 noundef %4377) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4379:                                             ; preds = %4351
  %4380 = load i32, ptr @test_count, align 4, !tbaa !5
  %4381 = add nsw i32 %4380, 1
  store i32 %4381, ptr @test_count, align 4, !tbaa !5
  %4382 = load ptr, ptr %25, align 8, !tbaa !9
  %4383 = getelementptr inbounds i8, ptr %4382, i64 416
  %4384 = load i32, ptr %4383, align 8, !tbaa !58
  %4385 = icmp eq i32 %4384, 2
  br i1 %4385, label %4408, label %4386

4386:                                             ; preds = %4379
  %4387 = load i32, ptr %1549, align 4, !tbaa !5
  %4388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4389 = call i32 @s2n_print_stacktrace(ptr noundef %4388) #12
  %4390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4391 = trunc nuw i8 %4390 to i1
  br i1 %4391, label %4392, label %4396

4392:                                             ; preds = %4386
  %4393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4394 = call i32 @fileno(ptr noundef %4393) #12
  %4395 = call i32 @isatty(i32 noundef %4394) #12
  %.not1321 = icmp eq i32 %4395, 0
  br i1 %.not1321, label %4396, label %4397

4396:                                             ; preds = %4392, %4386
  br label %4397

4397:                                             ; preds = %4392, %4396
  %.str.5.sink3357 = phi ptr [ @.str.5, %4396 ], [ @.str.2, %4392 ]
  store i32 %4387, ptr %1549, align 4, !tbaa !5
  %4398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4399 = load i32, ptr @test_count, align 4, !tbaa !5
  %4400 = load i32, ptr %1495, align 4, !tbaa !5
  %4401 = call ptr @s2n_strerror(i32 noundef %4400, ptr noundef nonnull @.str.4) #12
  %4402 = load i32, ptr %1495, align 4, !tbaa !5
  %4403 = call ptr @s2n_strerror_debug(i32 noundef %4402, ptr noundef nonnull @.str.4) #12
  %4404 = load i32, ptr %1549, align 4, !tbaa !5
  %4405 = call ptr @strerror(i32 noundef %4404) #12
  %4406 = load i32, ptr %1549, align 4, !tbaa !5
  %4407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4398, ptr noundef nonnull %.str.5.sink3357, i32 noundef %4399, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %4401, ptr noundef %4403, ptr noundef %4405, i32 noundef %4406) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4408:                                             ; preds = %4379
  %4409 = add nsw i32 %4380, 2
  store i32 %4409, ptr @test_count, align 4, !tbaa !5
  %4410 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef nonnull %4382) #12
  %4411 = icmp eq i32 %4410, -1
  br i1 %4411, label %4412, label %4434

4412:                                             ; preds = %4408
  %4413 = load i32, ptr %1549, align 4, !tbaa !5
  %4414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4415 = call i32 @s2n_print_stacktrace(ptr noundef %4414) #12
  %4416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4417 = trunc nuw i8 %4416 to i1
  br i1 %4417, label %4418, label %4422

4418:                                             ; preds = %4412
  %4419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4420 = call i32 @fileno(ptr noundef %4419) #12
  %4421 = call i32 @isatty(i32 noundef %4420) #12
  %.not1707 = icmp eq i32 %4421, 0
  br i1 %.not1707, label %4422, label %4423

4422:                                             ; preds = %4418, %4412
  br label %4423

4423:                                             ; preds = %4418, %4422
  %.str.5.sink3366 = phi ptr [ @.str.5, %4422 ], [ @.str.2, %4418 ]
  store i32 %4413, ptr %1549, align 4, !tbaa !5
  %4424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4425 = load i32, ptr @test_count, align 4, !tbaa !5
  %4426 = load i32, ptr %1495, align 4, !tbaa !5
  %4427 = call ptr @s2n_strerror(i32 noundef %4426, ptr noundef nonnull @.str.4) #12
  %4428 = load i32, ptr %1495, align 4, !tbaa !5
  %4429 = call ptr @s2n_strerror_debug(i32 noundef %4428, ptr noundef nonnull @.str.4) #12
  %4430 = load i32, ptr %1549, align 4, !tbaa !5
  %4431 = call ptr @strerror(i32 noundef %4430) #12
  %4432 = load i32, ptr %1549, align 4, !tbaa !5
  %4433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4424, ptr noundef nonnull %.str.5.sink3366, i32 noundef %4425, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 427, ptr noundef %4427, ptr noundef %4429, ptr noundef %4431, i32 noundef %4432) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4434:                                             ; preds = %4408
  %4435 = load i32, ptr @test_count, align 4, !tbaa !5
  %4436 = add nsw i32 %4435, 1
  store i32 %4436, ptr @test_count, align 4, !tbaa !5
  %4437 = load ptr, ptr %25, align 8, !tbaa !9
  %4438 = call ptr @s2n_config_get_single_default_cert(ptr noundef %4437) #12
  %4439 = icmp eq ptr %4438, null
  br i1 %4439, label %4462, label %4440

4440:                                             ; preds = %4434
  %4441 = load i32, ptr %1549, align 4, !tbaa !5
  %4442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4443 = call i32 @s2n_print_stacktrace(ptr noundef %4442) #12
  %4444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4445 = trunc nuw i8 %4444 to i1
  br i1 %4445, label %4446, label %4450

4446:                                             ; preds = %4440
  %4447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4448 = call i32 @fileno(ptr noundef %4447) #12
  %4449 = call i32 @isatty(i32 noundef %4448) #12
  %.not1322 = icmp eq i32 %4449, 0
  br i1 %.not1322, label %4450, label %4451

4450:                                             ; preds = %4446, %4440
  br label %4451

4451:                                             ; preds = %4446, %4450
  %.str.5.sink3375 = phi ptr [ @.str.5, %4450 ], [ @.str.2, %4446 ]
  store i32 %4441, ptr %1549, align 4, !tbaa !5
  %4452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4453 = load i32, ptr @test_count, align 4, !tbaa !5
  %4454 = load i32, ptr %1495, align 4, !tbaa !5
  %4455 = call ptr @s2n_strerror(i32 noundef %4454, ptr noundef nonnull @.str.4) #12
  %4456 = load i32, ptr %1495, align 4, !tbaa !5
  %4457 = call ptr @s2n_strerror_debug(i32 noundef %4456, ptr noundef nonnull @.str.4) #12
  %4458 = load i32, ptr %1549, align 4, !tbaa !5
  %4459 = call ptr @strerror(i32 noundef %4458) #12
  %4460 = load i32, ptr %1549, align 4, !tbaa !5
  %4461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4452, ptr noundef nonnull %.str.5.sink3375, i32 noundef %4453, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 428, ptr noundef %4455, ptr noundef %4457, ptr noundef %4459, i32 noundef %4460) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4462:                                             ; preds = %4434
  %4463 = load i32, ptr @test_count, align 4, !tbaa !5
  %4464 = add nsw i32 %4463, 1
  store i32 %4464, ptr @test_count, align 4, !tbaa !5
  %4465 = load ptr, ptr %25, align 8, !tbaa !9
  %4466 = getelementptr inbounds i8, ptr %4465, i64 416
  %4467 = load i32, ptr %4466, align 8, !tbaa !58
  %4468 = icmp eq i32 %4467, 0
  br i1 %4468, label %4491, label %4469

4469:                                             ; preds = %4462
  %4470 = load i32, ptr %1549, align 4, !tbaa !5
  %4471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4472 = call i32 @s2n_print_stacktrace(ptr noundef %4471) #12
  %4473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4474 = trunc nuw i8 %4473 to i1
  br i1 %4474, label %4475, label %4479

4475:                                             ; preds = %4469
  %4476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4477 = call i32 @fileno(ptr noundef %4476) #12
  %4478 = call i32 @isatty(i32 noundef %4477) #12
  %.not1323 = icmp eq i32 %4478, 0
  br i1 %.not1323, label %4479, label %4480

4479:                                             ; preds = %4475, %4469
  br label %4480

4480:                                             ; preds = %4475, %4479
  %.str.5.sink3384 = phi ptr [ @.str.5, %4479 ], [ @.str.2, %4475 ]
  store i32 %4470, ptr %1549, align 4, !tbaa !5
  %4481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4482 = load i32, ptr @test_count, align 4, !tbaa !5
  %4483 = load i32, ptr %1495, align 4, !tbaa !5
  %4484 = call ptr @s2n_strerror(i32 noundef %4483, ptr noundef nonnull @.str.4) #12
  %4485 = load i32, ptr %1495, align 4, !tbaa !5
  %4486 = call ptr @s2n_strerror_debug(i32 noundef %4485, ptr noundef nonnull @.str.4) #12
  %4487 = load i32, ptr %1549, align 4, !tbaa !5
  %4488 = call ptr @strerror(i32 noundef %4487) #12
  %4489 = load i32, ptr %1549, align 4, !tbaa !5
  %4490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4481, ptr noundef nonnull %.str.5.sink3384, i32 noundef %4482, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 429, ptr noundef %4484, ptr noundef %4486, ptr noundef %4488, i32 noundef %4489) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4491:                                             ; preds = %4462
  %4492 = add nsw i32 %4463, 2
  store i32 %4492, ptr @test_count, align 4, !tbaa !5
  %4493 = load ptr, ptr %24, align 8, !tbaa !9
  %4494 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %4465, ptr noundef %4493) #12
  %4495 = icmp eq i32 %4494, -1
  br i1 %4495, label %4496, label %4518

4496:                                             ; preds = %4491
  %4497 = load i32, ptr %1549, align 4, !tbaa !5
  %4498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4499 = call i32 @s2n_print_stacktrace(ptr noundef %4498) #12
  %4500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4501 = trunc nuw i8 %4500 to i1
  br i1 %4501, label %4502, label %4506

4502:                                             ; preds = %4496
  %4503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4504 = call i32 @fileno(ptr noundef %4503) #12
  %4505 = call i32 @isatty(i32 noundef %4504) #12
  %.not1706 = icmp eq i32 %4505, 0
  br i1 %.not1706, label %4506, label %4507

4506:                                             ; preds = %4502, %4496
  br label %4507

4507:                                             ; preds = %4502, %4506
  %.str.5.sink3393 = phi ptr [ @.str.5, %4506 ], [ @.str.2, %4502 ]
  store i32 %4497, ptr %1549, align 4, !tbaa !5
  %4508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4509 = load i32, ptr @test_count, align 4, !tbaa !5
  %4510 = load i32, ptr %1495, align 4, !tbaa !5
  %4511 = call ptr @s2n_strerror(i32 noundef %4510, ptr noundef nonnull @.str.4) #12
  %4512 = load i32, ptr %1495, align 4, !tbaa !5
  %4513 = call ptr @s2n_strerror_debug(i32 noundef %4512, ptr noundef nonnull @.str.4) #12
  %4514 = load i32, ptr %1549, align 4, !tbaa !5
  %4515 = call ptr @strerror(i32 noundef %4514) #12
  %4516 = load i32, ptr %1549, align 4, !tbaa !5
  %4517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4508, ptr noundef nonnull %.str.5.sink3393, i32 noundef %4509, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 432, ptr noundef %4511, ptr noundef %4513, ptr noundef %4515, i32 noundef %4516) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4518:                                             ; preds = %4491
  %4519 = load i32, ptr @test_count, align 4, !tbaa !5
  %4520 = add nsw i32 %4519, 1
  store i32 %4520, ptr @test_count, align 4, !tbaa !5
  %4521 = load ptr, ptr %25, align 8, !tbaa !9
  %4522 = call i32 @s2n_config_free_cert_chain_and_key(ptr noundef %4521) #12
  %4523 = icmp eq i32 %4522, -1
  br i1 %4523, label %4524, label %4546

4524:                                             ; preds = %4518
  %4525 = load i32, ptr %1549, align 4, !tbaa !5
  %4526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4527 = call i32 @s2n_print_stacktrace(ptr noundef %4526) #12
  %4528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4529 = trunc nuw i8 %4528 to i1
  br i1 %4529, label %4530, label %4534

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

4534:                                             ; preds = %4530, %4524
  br label %4535

4535:                                             ; preds = %4530, %4534
  %.str.5.sink3402 = phi ptr [ @.str.5, %4534 ], [ @.str.2, %4530 ]
  store i32 %4525, ptr %1549, align 4, !tbaa !5
  %4536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4537 = load i32, ptr @test_count, align 4, !tbaa !5
  %4538 = load i32, ptr %1495, align 4, !tbaa !5
  %4539 = call ptr @s2n_strerror(i32 noundef %4538, ptr noundef nonnull @.str.4) #12
  %4540 = load i32, ptr %1495, align 4, !tbaa !5
  %4541 = call ptr @s2n_strerror_debug(i32 noundef %4540, ptr noundef nonnull @.str.4) #12
  %4542 = load i32, ptr %1549, align 4, !tbaa !5
  %4543 = call ptr @strerror(i32 noundef %4542) #12
  %4544 = load i32, ptr %1549, align 4, !tbaa !5
  %4545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4536, ptr noundef nonnull %.str.5.sink3402, i32 noundef %4537, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 433, ptr noundef %4539, ptr noundef %4541, ptr noundef %4543, i32 noundef %4544) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4546:                                             ; preds = %4518
  %4547 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #12
  %4548 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #12
  store ptr null, ptr %26, align 8, !tbaa !9
  %4549 = load i32, ptr @test_count, align 4, !tbaa !5
  %4550 = add nsw i32 %4549, 1
  store i32 %4550, ptr @test_count, align 4, !tbaa !5
  %4551 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %26, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.17) #12
  %4552 = icmp eq i32 %4551, -1
  br i1 %4552, label %4553, label %4575

4553:                                             ; preds = %4546
  %4554 = load i32, ptr %1549, align 4, !tbaa !5
  %4555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4556 = call i32 @s2n_print_stacktrace(ptr noundef %4555) #12
  %4557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4558 = trunc nuw i8 %4557 to i1
  br i1 %4558, label %4559, label %4563

4559:                                             ; preds = %4553
  %4560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4561 = call i32 @fileno(ptr noundef %4560) #12
  %4562 = call i32 @isatty(i32 noundef %4561) #12
  %.not1704 = icmp eq i32 %4562, 0
  br i1 %.not1704, label %4563, label %4564

4563:                                             ; preds = %4559, %4553
  br label %4564

4564:                                             ; preds = %4559, %4563
  %.str.5.sink3411 = phi ptr [ @.str.5, %4563 ], [ @.str.2, %4559 ]
  store i32 %4554, ptr %1549, align 4, !tbaa !5
  %4565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4566 = load i32, ptr @test_count, align 4, !tbaa !5
  %4567 = load i32, ptr %1495, align 4, !tbaa !5
  %4568 = call ptr @s2n_strerror(i32 noundef %4567, ptr noundef nonnull @.str.4) #12
  %4569 = load i32, ptr %1495, align 4, !tbaa !5
  %4570 = call ptr @s2n_strerror_debug(i32 noundef %4569, ptr noundef nonnull @.str.4) #12
  %4571 = load i32, ptr %1549, align 4, !tbaa !5
  %4572 = call ptr @strerror(i32 noundef %4571) #12
  %4573 = load i32, ptr %1549, align 4, !tbaa !5
  %4574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4565, ptr noundef nonnull %.str.5.sink3411, i32 noundef %4566, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 443, ptr noundef %4568, ptr noundef %4570, ptr noundef %4572, i32 noundef %4573) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4575:                                             ; preds = %4546
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #12
  store ptr null, ptr %27, align 8, !tbaa !9
  %4576 = load i32, ptr @test_count, align 4, !tbaa !5
  %4577 = add nsw i32 %4576, 1
  store i32 %4577, ptr @test_count, align 4, !tbaa !5
  %4578 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %27, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.17) #12
  %4579 = icmp eq i32 %4578, -1
  br i1 %4579, label %4580, label %4602

4580:                                             ; preds = %4575
  %4581 = load i32, ptr %1549, align 4, !tbaa !5
  %4582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4583 = call i32 @s2n_print_stacktrace(ptr noundef %4582) #12
  %4584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4585 = trunc nuw i8 %4584 to i1
  br i1 %4585, label %4586, label %4590

4586:                                             ; preds = %4580
  %4587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4588 = call i32 @fileno(ptr noundef %4587) #12
  %4589 = call i32 @isatty(i32 noundef %4588) #12
  %.not1703 = icmp eq i32 %4589, 0
  br i1 %.not1703, label %4590, label %4591

4590:                                             ; preds = %4586, %4580
  br label %4591

4591:                                             ; preds = %4586, %4590
  %.str.5.sink3420 = phi ptr [ @.str.5, %4590 ], [ @.str.2, %4586 ]
  store i32 %4581, ptr %1549, align 4, !tbaa !5
  %4592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4593 = load i32, ptr @test_count, align 4, !tbaa !5
  %4594 = load i32, ptr %1495, align 4, !tbaa !5
  %4595 = call ptr @s2n_strerror(i32 noundef %4594, ptr noundef nonnull @.str.4) #12
  %4596 = load i32, ptr %1495, align 4, !tbaa !5
  %4597 = call ptr @s2n_strerror_debug(i32 noundef %4596, ptr noundef nonnull @.str.4) #12
  %4598 = load i32, ptr %1549, align 4, !tbaa !5
  %4599 = call ptr @strerror(i32 noundef %4598) #12
  %4600 = load i32, ptr %1549, align 4, !tbaa !5
  %4601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4592, ptr noundef nonnull %.str.5.sink3420, i32 noundef %4593, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 447, ptr noundef %4595, ptr noundef %4597, ptr noundef %4599, i32 noundef %4600) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4602:                                             ; preds = %4575
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #12
  %4603 = call ptr @s2n_config_new() #12
  store ptr %4603, ptr %28, align 8, !tbaa !9
  %4604 = load i32, ptr @test_count, align 4, !tbaa !5
  %4605 = add nsw i32 %4604, 1
  store i32 %4605, ptr @test_count, align 4, !tbaa !5
  %4606 = icmp eq ptr %4603, null
  br i1 %4606, label %4607, label %4629

4607:                                             ; preds = %4602
  %4608 = load i32, ptr %1549, align 4, !tbaa !5
  %4609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4610 = call i32 @s2n_print_stacktrace(ptr noundef %4609) #12
  %4611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4612 = trunc nuw i8 %4611 to i1
  br i1 %4612, label %4613, label %4617

4613:                                             ; preds = %4607
  %4614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4615 = call i32 @fileno(ptr noundef %4614) #12
  %4616 = call i32 @isatty(i32 noundef %4615) #12
  %.not1702 = icmp eq i32 %4616, 0
  br i1 %.not1702, label %4617, label %4618

4617:                                             ; preds = %4613, %4607
  br label %4618

4618:                                             ; preds = %4613, %4617
  %.str.5.sink3429 = phi ptr [ @.str.5, %4617 ], [ @.str.2, %4613 ]
  store i32 %4608, ptr %1549, align 4, !tbaa !5
  %4619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4620 = load i32, ptr @test_count, align 4, !tbaa !5
  %4621 = load i32, ptr %1495, align 4, !tbaa !5
  %4622 = call ptr @s2n_strerror(i32 noundef %4621, ptr noundef nonnull @.str.4) #12
  %4623 = load i32, ptr %1495, align 4, !tbaa !5
  %4624 = call ptr @s2n_strerror_debug(i32 noundef %4623, ptr noundef nonnull @.str.4) #12
  %4625 = load i32, ptr %1549, align 4, !tbaa !5
  %4626 = call ptr @strerror(i32 noundef %4625) #12
  %4627 = load i32, ptr %1549, align 4, !tbaa !5
  %4628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4619, ptr noundef nonnull %.str.5.sink3429, i32 noundef %4620, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 450, ptr noundef %4622, ptr noundef %4624, ptr noundef %4626, i32 noundef %4627) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4629:                                             ; preds = %4602
  %4630 = add nsw i32 %4604, 2
  store i32 %4630, ptr @test_count, align 4, !tbaa !5
  %4631 = load ptr, ptr %26, align 8, !tbaa !9
  %4632 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %4603, ptr noundef %4631) #12
  %4633 = icmp eq i32 %4632, -1
  br i1 %4633, label %4634, label %4656

4634:                                             ; preds = %4629
  %4635 = load i32, ptr %1549, align 4, !tbaa !5
  %4636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4637 = call i32 @s2n_print_stacktrace(ptr noundef %4636) #12
  %4638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4639 = trunc nuw i8 %4638 to i1
  br i1 %4639, label %4640, label %4644

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

4644:                                             ; preds = %4640, %4634
  br label %4645

4645:                                             ; preds = %4640, %4644
  %.str.5.sink3438 = phi ptr [ @.str.5, %4644 ], [ @.str.2, %4640 ]
  store i32 %4635, ptr %1549, align 4, !tbaa !5
  %4646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4647 = load i32, ptr @test_count, align 4, !tbaa !5
  %4648 = load i32, ptr %1495, align 4, !tbaa !5
  %4649 = call ptr @s2n_strerror(i32 noundef %4648, ptr noundef nonnull @.str.4) #12
  %4650 = load i32, ptr %1495, align 4, !tbaa !5
  %4651 = call ptr @s2n_strerror_debug(i32 noundef %4650, ptr noundef nonnull @.str.4) #12
  %4652 = load i32, ptr %1549, align 4, !tbaa !5
  %4653 = call ptr @strerror(i32 noundef %4652) #12
  %4654 = load i32, ptr %1549, align 4, !tbaa !5
  %4655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4646, ptr noundef nonnull %.str.5.sink3438, i32 noundef %4647, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 451, ptr noundef %4649, ptr noundef %4651, ptr noundef %4653, i32 noundef %4654) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4656:                                             ; preds = %4629
  %4657 = load i32, ptr @test_count, align 4, !tbaa !5
  %4658 = add nsw i32 %4657, 1
  store i32 %4658, ptr @test_count, align 4, !tbaa !5
  %4659 = load ptr, ptr %28, align 8, !tbaa !9
  %4660 = call ptr @s2n_config_get_single_default_cert(ptr noundef %4659) #12
  %4661 = load ptr, ptr %26, align 8, !tbaa !9
  %4662 = icmp eq ptr %4660, %4661
  br i1 %4662, label %4685, label %4663

4663:                                             ; preds = %4656
  %4664 = load i32, ptr %1549, align 4, !tbaa !5
  %4665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4666 = call i32 @s2n_print_stacktrace(ptr noundef %4665) #12
  %4667 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4668 = trunc nuw i8 %4667 to i1
  br i1 %4668, label %4669, label %4673

4669:                                             ; preds = %4663
  %4670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4671 = call i32 @fileno(ptr noundef %4670) #12
  %4672 = call i32 @isatty(i32 noundef %4671) #12
  %.not1324 = icmp eq i32 %4672, 0
  br i1 %.not1324, label %4673, label %4674

4673:                                             ; preds = %4669, %4663
  br label %4674

4674:                                             ; preds = %4669, %4673
  %.str.5.sink3447 = phi ptr [ @.str.5, %4673 ], [ @.str.2, %4669 ]
  store i32 %4664, ptr %1549, align 4, !tbaa !5
  %4675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4676 = load i32, ptr @test_count, align 4, !tbaa !5
  %4677 = load i32, ptr %1495, align 4, !tbaa !5
  %4678 = call ptr @s2n_strerror(i32 noundef %4677, ptr noundef nonnull @.str.4) #12
  %4679 = load i32, ptr %1495, align 4, !tbaa !5
  %4680 = call ptr @s2n_strerror_debug(i32 noundef %4679, ptr noundef nonnull @.str.4) #12
  %4681 = load i32, ptr %1549, align 4, !tbaa !5
  %4682 = call ptr @strerror(i32 noundef %4681) #12
  %4683 = load i32, ptr %1549, align 4, !tbaa !5
  %4684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4675, ptr noundef nonnull %.str.5.sink3447, i32 noundef %4676, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 452, ptr noundef %4678, ptr noundef %4680, ptr noundef %4682, i32 noundef %4683) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4685:                                             ; preds = %4656
  %4686 = load i32, ptr @test_count, align 4, !tbaa !5
  %4687 = add nsw i32 %4686, 1
  store i32 %4687, ptr @test_count, align 4, !tbaa !5
  %4688 = load ptr, ptr %28, align 8, !tbaa !9
  %4689 = getelementptr inbounds i8, ptr %4688, i64 416
  %4690 = load i32, ptr %4689, align 8, !tbaa !58
  %4691 = icmp eq i32 %4690, 1
  br i1 %4691, label %4714, label %4692

4692:                                             ; preds = %4685
  %4693 = load i32, ptr %1549, align 4, !tbaa !5
  %4694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4695 = call i32 @s2n_print_stacktrace(ptr noundef %4694) #12
  %4696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4697 = trunc nuw i8 %4696 to i1
  br i1 %4697, label %4698, label %4702

4698:                                             ; preds = %4692
  %4699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4700 = call i32 @fileno(ptr noundef %4699) #12
  %4701 = call i32 @isatty(i32 noundef %4700) #12
  %.not1325 = icmp eq i32 %4701, 0
  br i1 %.not1325, label %4702, label %4703

4702:                                             ; preds = %4698, %4692
  br label %4703

4703:                                             ; preds = %4698, %4702
  %.str.5.sink3456 = phi ptr [ @.str.5, %4702 ], [ @.str.2, %4698 ]
  store i32 %4693, ptr %1549, align 4, !tbaa !5
  %4704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4705 = load i32, ptr @test_count, align 4, !tbaa !5
  %4706 = load i32, ptr %1495, align 4, !tbaa !5
  %4707 = call ptr @s2n_strerror(i32 noundef %4706, ptr noundef nonnull @.str.4) #12
  %4708 = load i32, ptr %1495, align 4, !tbaa !5
  %4709 = call ptr @s2n_strerror_debug(i32 noundef %4708, ptr noundef nonnull @.str.4) #12
  %4710 = load i32, ptr %1549, align 4, !tbaa !5
  %4711 = call ptr @strerror(i32 noundef %4710) #12
  %4712 = load i32, ptr %1549, align 4, !tbaa !5
  %4713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4704, ptr noundef nonnull %.str.5.sink3456, i32 noundef %4705, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 453, ptr noundef %4707, ptr noundef %4709, ptr noundef %4711, i32 noundef %4712) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4714:                                             ; preds = %4685
  %4715 = add nsw i32 %4686, 2
  store i32 %4715, ptr @test_count, align 4, !tbaa !5
  %4716 = call i32 @s2n_config_set_cert_chain_and_key_defaults(ptr noundef nonnull %4688, ptr noundef nonnull %27, i32 noundef 1) #12
  %4717 = icmp eq i32 %4716, -1
  br i1 %4717, label %4718, label %4740

4718:                                             ; preds = %4714
  %4719 = load i32, ptr %1549, align 4, !tbaa !5
  %4720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4721 = call i32 @s2n_print_stacktrace(ptr noundef %4720) #12
  %4722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4723 = trunc nuw i8 %4722 to i1
  br i1 %4723, label %4724, label %4728

4724:                                             ; preds = %4718
  %4725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4726 = call i32 @fileno(ptr noundef %4725) #12
  %4727 = call i32 @isatty(i32 noundef %4726) #12
  %.not1700 = icmp eq i32 %4727, 0
  br i1 %.not1700, label %4728, label %4729

4728:                                             ; preds = %4724, %4718
  br label %4729

4729:                                             ; preds = %4724, %4728
  %.str.5.sink3465 = phi ptr [ @.str.5, %4728 ], [ @.str.2, %4724 ]
  store i32 %4719, ptr %1549, align 4, !tbaa !5
  %4730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4731 = load i32, ptr @test_count, align 4, !tbaa !5
  %4732 = load i32, ptr %1495, align 4, !tbaa !5
  %4733 = call ptr @s2n_strerror(i32 noundef %4732, ptr noundef nonnull @.str.4) #12
  %4734 = load i32, ptr %1495, align 4, !tbaa !5
  %4735 = call ptr @s2n_strerror_debug(i32 noundef %4734, ptr noundef nonnull @.str.4) #12
  %4736 = load i32, ptr %1549, align 4, !tbaa !5
  %4737 = call ptr @strerror(i32 noundef %4736) #12
  %4738 = load i32, ptr %1549, align 4, !tbaa !5
  %4739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4730, ptr noundef nonnull %.str.5.sink3465, i32 noundef %4731, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 455, ptr noundef %4733, ptr noundef %4735, ptr noundef %4737, i32 noundef %4738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4740:                                             ; preds = %4714
  %4741 = load i32, ptr @test_count, align 4, !tbaa !5
  %4742 = add nsw i32 %4741, 1
  store i32 %4742, ptr @test_count, align 4, !tbaa !5
  %4743 = load ptr, ptr %28, align 8, !tbaa !9
  %4744 = call ptr @s2n_config_get_single_default_cert(ptr noundef %4743) #12
  %4745 = load ptr, ptr %27, align 8, !tbaa !9
  %4746 = icmp eq ptr %4744, %4745
  br i1 %4746, label %4769, label %4747

4747:                                             ; preds = %4740
  %4748 = load i32, ptr %1549, align 4, !tbaa !5
  %4749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4750 = call i32 @s2n_print_stacktrace(ptr noundef %4749) #12
  %4751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4752 = trunc nuw i8 %4751 to i1
  br i1 %4752, label %4753, label %4757

4753:                                             ; preds = %4747
  %4754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4755 = call i32 @fileno(ptr noundef %4754) #12
  %4756 = call i32 @isatty(i32 noundef %4755) #12
  %.not1326 = icmp eq i32 %4756, 0
  br i1 %.not1326, label %4757, label %4758

4757:                                             ; preds = %4753, %4747
  br label %4758

4758:                                             ; preds = %4753, %4757
  %.str.5.sink3474 = phi ptr [ @.str.5, %4757 ], [ @.str.2, %4753 ]
  store i32 %4748, ptr %1549, align 4, !tbaa !5
  %4759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4760 = load i32, ptr @test_count, align 4, !tbaa !5
  %4761 = load i32, ptr %1495, align 4, !tbaa !5
  %4762 = call ptr @s2n_strerror(i32 noundef %4761, ptr noundef nonnull @.str.4) #12
  %4763 = load i32, ptr %1495, align 4, !tbaa !5
  %4764 = call ptr @s2n_strerror_debug(i32 noundef %4763, ptr noundef nonnull @.str.4) #12
  %4765 = load i32, ptr %1549, align 4, !tbaa !5
  %4766 = call ptr @strerror(i32 noundef %4765) #12
  %4767 = load i32, ptr %1549, align 4, !tbaa !5
  %4768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4759, ptr noundef nonnull %.str.5.sink3474, i32 noundef %4760, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 456, ptr noundef %4762, ptr noundef %4764, ptr noundef %4766, i32 noundef %4767) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4769:                                             ; preds = %4740
  %4770 = load i32, ptr @test_count, align 4, !tbaa !5
  %4771 = add nsw i32 %4770, 1
  store i32 %4771, ptr @test_count, align 4, !tbaa !5
  %4772 = load ptr, ptr %28, align 8, !tbaa !9
  %4773 = getelementptr inbounds i8, ptr %4772, i64 416
  %4774 = load i32, ptr %4773, align 8, !tbaa !58
  %4775 = icmp eq i32 %4774, 1
  br i1 %4775, label %4798, label %4776

4776:                                             ; preds = %4769
  %4777 = load i32, ptr %1549, align 4, !tbaa !5
  %4778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4779 = call i32 @s2n_print_stacktrace(ptr noundef %4778) #12
  %4780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4781 = trunc nuw i8 %4780 to i1
  br i1 %4781, label %4782, label %4786

4782:                                             ; preds = %4776
  %4783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4784 = call i32 @fileno(ptr noundef %4783) #12
  %4785 = call i32 @isatty(i32 noundef %4784) #12
  %.not1327 = icmp eq i32 %4785, 0
  br i1 %.not1327, label %4786, label %4787

4786:                                             ; preds = %4782, %4776
  br label %4787

4787:                                             ; preds = %4782, %4786
  %.str.5.sink3483 = phi ptr [ @.str.5, %4786 ], [ @.str.2, %4782 ]
  store i32 %4777, ptr %1549, align 4, !tbaa !5
  %4788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4789 = load i32, ptr @test_count, align 4, !tbaa !5
  %4790 = load i32, ptr %1495, align 4, !tbaa !5
  %4791 = call ptr @s2n_strerror(i32 noundef %4790, ptr noundef nonnull @.str.4) #12
  %4792 = load i32, ptr %1495, align 4, !tbaa !5
  %4793 = call ptr @s2n_strerror_debug(i32 noundef %4792, ptr noundef nonnull @.str.4) #12
  %4794 = load i32, ptr %1549, align 4, !tbaa !5
  %4795 = call ptr @strerror(i32 noundef %4794) #12
  %4796 = load i32, ptr %1549, align 4, !tbaa !5
  %4797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4788, ptr noundef nonnull %.str.5.sink3483, i32 noundef %4789, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 457, ptr noundef %4791, ptr noundef %4793, ptr noundef %4795, i32 noundef %4796) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4798:                                             ; preds = %4769
  %4799 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #12
  %4800 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #12
  %4801 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %26) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #12
  store ptr null, ptr %29, align 8, !tbaa !9
  %4802 = load i32, ptr @test_count, align 4, !tbaa !5
  %4803 = add nsw i32 %4802, 1
  store i32 %4803, ptr @test_count, align 4, !tbaa !5
  %4804 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %29, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.17) #12
  %4805 = icmp eq i32 %4804, -1
  br i1 %4805, label %4806, label %4828

4806:                                             ; preds = %4798
  %4807 = load i32, ptr %1549, align 4, !tbaa !5
  %4808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4809 = call i32 @s2n_print_stacktrace(ptr noundef %4808) #12
  %4810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4811 = trunc nuw i8 %4810 to i1
  br i1 %4811, label %4812, label %4816

4812:                                             ; preds = %4806
  %4813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4814 = call i32 @fileno(ptr noundef %4813) #12
  %4815 = call i32 @isatty(i32 noundef %4814) #12
  %.not1699 = icmp eq i32 %4815, 0
  br i1 %.not1699, label %4816, label %4817

4816:                                             ; preds = %4812, %4806
  br label %4817

4817:                                             ; preds = %4812, %4816
  %.str.5.sink3492 = phi ptr [ @.str.5, %4816 ], [ @.str.2, %4812 ]
  store i32 %4807, ptr %1549, align 4, !tbaa !5
  %4818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4819 = load i32, ptr @test_count, align 4, !tbaa !5
  %4820 = load i32, ptr %1495, align 4, !tbaa !5
  %4821 = call ptr @s2n_strerror(i32 noundef %4820, ptr noundef nonnull @.str.4) #12
  %4822 = load i32, ptr %1495, align 4, !tbaa !5
  %4823 = call ptr @s2n_strerror_debug(i32 noundef %4822, ptr noundef nonnull @.str.4) #12
  %4824 = load i32, ptr %1549, align 4, !tbaa !5
  %4825 = call ptr @strerror(i32 noundef %4824) #12
  %4826 = load i32, ptr %1549, align 4, !tbaa !5
  %4827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4818, ptr noundef nonnull %.str.5.sink3492, i32 noundef %4819, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 464, ptr noundef %4821, ptr noundef %4823, ptr noundef %4825, i32 noundef %4826) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4828:                                             ; preds = %4798
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  %4829 = call ptr @s2n_config_new() #12
  store ptr %4829, ptr %30, align 8, !tbaa !9
  %4830 = load i32, ptr @test_count, align 4, !tbaa !5
  %4831 = add nsw i32 %4830, 1
  store i32 %4831, ptr @test_count, align 4, !tbaa !5
  %4832 = icmp eq ptr %4829, null
  br i1 %4832, label %4833, label %4855

4833:                                             ; preds = %4828
  %4834 = load i32, ptr %1549, align 4, !tbaa !5
  %4835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4836 = call i32 @s2n_print_stacktrace(ptr noundef %4835) #12
  %4837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4838 = trunc nuw i8 %4837 to i1
  br i1 %4838, label %4839, label %4843

4839:                                             ; preds = %4833
  %4840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4841 = call i32 @fileno(ptr noundef %4840) #12
  %4842 = call i32 @isatty(i32 noundef %4841) #12
  %.not1698 = icmp eq i32 %4842, 0
  br i1 %.not1698, label %4843, label %4844

4843:                                             ; preds = %4839, %4833
  br label %4844

4844:                                             ; preds = %4839, %4843
  %.str.5.sink3501 = phi ptr [ @.str.5, %4843 ], [ @.str.2, %4839 ]
  store i32 %4834, ptr %1549, align 4, !tbaa !5
  %4845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4846 = load i32, ptr @test_count, align 4, !tbaa !5
  %4847 = load i32, ptr %1495, align 4, !tbaa !5
  %4848 = call ptr @s2n_strerror(i32 noundef %4847, ptr noundef nonnull @.str.4) #12
  %4849 = load i32, ptr %1495, align 4, !tbaa !5
  %4850 = call ptr @s2n_strerror_debug(i32 noundef %4849, ptr noundef nonnull @.str.4) #12
  %4851 = load i32, ptr %1549, align 4, !tbaa !5
  %4852 = call ptr @strerror(i32 noundef %4851) #12
  %4853 = load i32, ptr %1549, align 4, !tbaa !5
  %4854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4845, ptr noundef nonnull %.str.5.sink3501, i32 noundef %4846, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 467, ptr noundef %4848, ptr noundef %4850, ptr noundef %4852, i32 noundef %4853) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4855:                                             ; preds = %4828
  %4856 = add nsw i32 %4830, 2
  store i32 %4856, ptr @test_count, align 4, !tbaa !5
  %4857 = call i32 @s2n_config_add_cert_chain_and_key(ptr noundef nonnull %4829, ptr noundef nonnull %6, ptr noundef nonnull %7) #12
  %4858 = icmp eq i32 %4857, -1
  br i1 %4858, label %4859, label %4881

4859:                                             ; preds = %4855
  %4860 = load i32, ptr %1549, align 4, !tbaa !5
  %4861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4862 = call i32 @s2n_print_stacktrace(ptr noundef %4861) #12
  %4863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4864 = trunc nuw i8 %4863 to i1
  br i1 %4864, label %4865, label %4869

4865:                                             ; preds = %4859
  %4866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4867 = call i32 @fileno(ptr noundef %4866) #12
  %4868 = call i32 @isatty(i32 noundef %4867) #12
  %.not1697 = icmp eq i32 %4868, 0
  br i1 %.not1697, label %4869, label %4870

4869:                                             ; preds = %4865, %4859
  br label %4870

4870:                                             ; preds = %4865, %4869
  %.str.5.sink3510 = phi ptr [ @.str.5, %4869 ], [ @.str.2, %4865 ]
  store i32 %4860, ptr %1549, align 4, !tbaa !5
  %4871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4872 = load i32, ptr @test_count, align 4, !tbaa !5
  %4873 = load i32, ptr %1495, align 4, !tbaa !5
  %4874 = call ptr @s2n_strerror(i32 noundef %4873, ptr noundef nonnull @.str.4) #12
  %4875 = load i32, ptr %1495, align 4, !tbaa !5
  %4876 = call ptr @s2n_strerror_debug(i32 noundef %4875, ptr noundef nonnull @.str.4) #12
  %4877 = load i32, ptr %1549, align 4, !tbaa !5
  %4878 = call ptr @strerror(i32 noundef %4877) #12
  %4879 = load i32, ptr %1549, align 4, !tbaa !5
  %4880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4871, ptr noundef nonnull %.str.5.sink3510, i32 noundef %4872, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 468, ptr noundef %4874, ptr noundef %4876, ptr noundef %4878, i32 noundef %4879) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4881:                                             ; preds = %4855
  %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 %30, align 8, !tbaa !9
  %4885 = call ptr @s2n_config_get_single_default_cert(ptr noundef %4884) #12
  %4886 = icmp eq ptr %4885, null
  br i1 %4886, label %4887, label %4909

4887:                                             ; preds = %4881
  %4888 = load i32, ptr %1549, align 4, !tbaa !5
  %4889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4890 = call i32 @s2n_print_stacktrace(ptr noundef %4889) #12
  %4891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4892 = trunc nuw i8 %4891 to i1
  br i1 %4892, label %4893, label %4897

4893:                                             ; preds = %4887
  %4894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4895 = call i32 @fileno(ptr noundef %4894) #12
  %4896 = call i32 @isatty(i32 noundef %4895) #12
  %.not1696 = icmp eq i32 %4896, 0
  br i1 %.not1696, label %4897, label %4898

4897:                                             ; preds = %4893, %4887
  br label %4898

4898:                                             ; preds = %4893, %4897
  %.str.5.sink3519 = phi ptr [ @.str.5, %4897 ], [ @.str.2, %4893 ]
  store i32 %4888, ptr %1549, align 4, !tbaa !5
  %4899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4900 = load i32, ptr @test_count, align 4, !tbaa !5
  %4901 = load i32, ptr %1495, align 4, !tbaa !5
  %4902 = call ptr @s2n_strerror(i32 noundef %4901, ptr noundef nonnull @.str.4) #12
  %4903 = load i32, ptr %1495, align 4, !tbaa !5
  %4904 = call ptr @s2n_strerror_debug(i32 noundef %4903, ptr noundef nonnull @.str.4) #12
  %4905 = load i32, ptr %1549, align 4, !tbaa !5
  %4906 = call ptr @strerror(i32 noundef %4905) #12
  %4907 = load i32, ptr %1549, align 4, !tbaa !5
  %4908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4899, ptr noundef nonnull %.str.5.sink3519, i32 noundef %4900, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 469, ptr noundef %4902, ptr noundef %4904, ptr noundef %4906, i32 noundef %4907) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4909:                                             ; preds = %4881
  %4910 = load i32, ptr @test_count, align 4, !tbaa !5
  %4911 = add nsw i32 %4910, 1
  store i32 %4911, ptr @test_count, align 4, !tbaa !5
  %4912 = load ptr, ptr %30, align 8, !tbaa !9
  %4913 = getelementptr inbounds i8, ptr %4912, i64 416
  %4914 = load i32, ptr %4913, align 8, !tbaa !58
  %4915 = icmp eq i32 %4914, 2
  br i1 %4915, label %4938, label %4916

4916:                                             ; preds = %4909
  %4917 = load i32, ptr %1549, align 4, !tbaa !5
  %4918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4919 = call i32 @s2n_print_stacktrace(ptr noundef %4918) #12
  %4920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4921 = trunc nuw i8 %4920 to i1
  br i1 %4921, label %4922, label %4926

4922:                                             ; preds = %4916
  %4923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4924 = call i32 @fileno(ptr noundef %4923) #12
  %4925 = call i32 @isatty(i32 noundef %4924) #12
  %.not1328 = icmp eq i32 %4925, 0
  br i1 %.not1328, label %4926, label %4927

4926:                                             ; preds = %4922, %4916
  br label %4927

4927:                                             ; preds = %4922, %4926
  %.str.5.sink3528 = phi ptr [ @.str.5, %4926 ], [ @.str.2, %4922 ]
  store i32 %4917, ptr %1549, align 4, !tbaa !5
  %4928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4929 = load i32, ptr @test_count, align 4, !tbaa !5
  %4930 = load i32, ptr %1495, align 4, !tbaa !5
  %4931 = call ptr @s2n_strerror(i32 noundef %4930, ptr noundef nonnull @.str.4) #12
  %4932 = load i32, ptr %1495, align 4, !tbaa !5
  %4933 = call ptr @s2n_strerror_debug(i32 noundef %4932, ptr noundef nonnull @.str.4) #12
  %4934 = load i32, ptr %1549, align 4, !tbaa !5
  %4935 = call ptr @strerror(i32 noundef %4934) #12
  %4936 = load i32, ptr %1549, align 4, !tbaa !5
  %4937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4928, ptr noundef nonnull %.str.5.sink3528, i32 noundef %4929, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 470, ptr noundef %4931, ptr noundef %4933, ptr noundef %4935, i32 noundef %4936) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4938:                                             ; preds = %4909
  %4939 = add nsw i32 %4910, 2
  store i32 %4939, ptr @test_count, align 4, !tbaa !5
  %4940 = call i32 @s2n_config_set_cert_chain_and_key_defaults(ptr noundef nonnull %4912, ptr noundef nonnull %29, i32 noundef 1) #12
  %4941 = icmp eq i32 %4940, -1
  br i1 %4941, label %4964, label %4942

4942:                                             ; preds = %4938
  %4943 = load i32, ptr %1549, align 4, !tbaa !5
  %4944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4945 = call i32 @s2n_print_stacktrace(ptr noundef %4944) #12
  %4946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4947 = trunc nuw i8 %4946 to i1
  br i1 %4947, label %4948, label %4952

4948:                                             ; preds = %4942
  %4949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4950 = call i32 @fileno(ptr noundef %4949) #12
  %4951 = call i32 @isatty(i32 noundef %4950) #12
  %.not1329 = icmp eq i32 %4951, 0
  br i1 %.not1329, label %4952, label %4953

4952:                                             ; preds = %4948, %4942
  br label %4953

4953:                                             ; preds = %4948, %4952
  %.str.5.sink3537 = phi ptr [ @.str.5, %4952 ], [ @.str.2, %4948 ]
  store i32 %4943, ptr %1549, align 4, !tbaa !5
  %4954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4955 = load i32, ptr @test_count, align 4, !tbaa !5
  %4956 = load i32, ptr %1495, align 4, !tbaa !5
  %4957 = call ptr @s2n_strerror(i32 noundef %4956, ptr noundef nonnull @.str.4) #12
  %4958 = load i32, ptr %1495, align 4, !tbaa !5
  %4959 = call ptr @s2n_strerror_debug(i32 noundef %4958, ptr noundef nonnull @.str.4) #12
  %4960 = load i32, ptr %1549, align 4, !tbaa !5
  %4961 = call ptr @strerror(i32 noundef %4960) #12
  %4962 = load i32, ptr %1549, align 4, !tbaa !5
  %4963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4954, ptr noundef nonnull %.str.5.sink3537, i32 noundef %4955, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 474, ptr noundef %4957, ptr noundef %4959, ptr noundef %4961, i32 noundef %4962) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4964:                                             ; preds = %4938
  %4965 = load i32, ptr @test_count, align 4, !tbaa !5
  %4966 = add nsw i32 %4965, 1
  store i32 %4966, ptr @test_count, align 4, !tbaa !5
  %4967 = load i32, ptr %1495, align 4, !tbaa !5
  %4968 = icmp eq i32 %4967, 469762123
  br i1 %4968, label %4991, label %4969

4969:                                             ; preds = %4964
  %4970 = load i32, ptr %1549, align 4, !tbaa !5
  %4971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4972 = call i32 @s2n_print_stacktrace(ptr noundef %4971) #12
  %4973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4974 = trunc nuw i8 %4973 to i1
  br i1 %4974, label %4975, label %4979

4975:                                             ; preds = %4969
  %4976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4977 = call i32 @fileno(ptr noundef %4976) #12
  %4978 = call i32 @isatty(i32 noundef %4977) #12
  %.not1330 = icmp eq i32 %4978, 0
  br i1 %.not1330, label %4979, label %4980

4979:                                             ; preds = %4975, %4969
  br label %4980

4980:                                             ; preds = %4975, %4979
  %.str.5.sink3546 = phi ptr [ @.str.5, %4979 ], [ @.str.2, %4975 ]
  store i32 %4970, ptr %1549, align 4, !tbaa !5
  %4981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4982 = load i32, ptr @test_count, align 4, !tbaa !5
  %4983 = load i32, ptr %1495, align 4, !tbaa !5
  %4984 = call ptr @s2n_strerror(i32 noundef %4983, ptr noundef nonnull @.str.4) #12
  %4985 = load i32, ptr %1495, align 4, !tbaa !5
  %4986 = call ptr @s2n_strerror_debug(i32 noundef %4985, ptr noundef nonnull @.str.4) #12
  %4987 = load i32, ptr %1549, align 4, !tbaa !5
  %4988 = call ptr @strerror(i32 noundef %4987) #12
  %4989 = load i32, ptr %1549, align 4, !tbaa !5
  %4990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4981, ptr noundef nonnull %.str.5.sink3546, i32 noundef %4982, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 474, ptr noundef %4984, ptr noundef %4986, ptr noundef %4988, i32 noundef %4989) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4991:                                             ; preds = %4964
  %4992 = add nsw i32 %4965, 2
  store i32 %4992, ptr @test_count, align 4, !tbaa !5
  %4993 = call ptr @s2n_strerror_debug(i32 noundef 469762123, ptr noundef nonnull @.str.4) #12
  %4994 = icmp eq ptr %4993, null
  br i1 %4994, label %4995, label %5017

4995:                                             ; preds = %4991
  %4996 = load i32, ptr %1549, align 4, !tbaa !5
  %4997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4998 = call i32 @s2n_print_stacktrace(ptr noundef %4997) #12
  %4999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5000 = trunc nuw i8 %4999 to i1
  br i1 %5000, label %5001, label %5005

5001:                                             ; preds = %4995
  %5002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5003 = call i32 @fileno(ptr noundef %5002) #12
  %5004 = call i32 @isatty(i32 noundef %5003) #12
  %.not1695 = icmp eq i32 %5004, 0
  br i1 %.not1695, label %5005, label %5006

5005:                                             ; preds = %5001, %4995
  br label %5006

5006:                                             ; preds = %5001, %5005
  %.str.5.sink3555 = phi ptr [ @.str.5, %5005 ], [ @.str.2, %5001 ]
  store i32 %4996, ptr %1549, align 4, !tbaa !5
  %5007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5008 = load i32, ptr @test_count, align 4, !tbaa !5
  %5009 = load i32, ptr %1495, align 4, !tbaa !5
  %5010 = call ptr @s2n_strerror(i32 noundef %5009, ptr noundef nonnull @.str.4) #12
  %5011 = load i32, ptr %1495, align 4, !tbaa !5
  %5012 = call ptr @s2n_strerror_debug(i32 noundef %5011, ptr noundef nonnull @.str.4) #12
  %5013 = load i32, ptr %1549, align 4, !tbaa !5
  %5014 = call ptr @strerror(i32 noundef %5013) #12
  %5015 = load i32, ptr %1549, align 4, !tbaa !5
  %5016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5007, ptr noundef nonnull %.str.5.sink3555, i32 noundef %5008, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 474, ptr noundef %5010, ptr noundef %5012, ptr noundef %5014, i32 noundef %5015) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5017:                                             ; preds = %4991
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %5018 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  %5019 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %29) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #12
  %5020 = call ptr @s2n_config_new() #12
  store ptr %5020, ptr %31, align 8, !tbaa !9
  %5021 = load i32, ptr @test_count, align 4, !tbaa !5
  %5022 = add nsw i32 %5021, 1
  store i32 %5022, ptr @test_count, align 4, !tbaa !5
  %5023 = icmp eq ptr %5020, null
  br i1 %5023, label %5024, label %5046

5024:                                             ; preds = %5017
  %5025 = load i32, ptr %1549, 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
  %.not1694 = icmp eq i32 %5033, 0
  br i1 %.not1694, label %5034, label %5035

5034:                                             ; preds = %5030, %5024
  br label %5035

5035:                                             ; preds = %5030, %5034
  %.str.5.sink3564 = phi ptr [ @.str.5, %5034 ], [ @.str.2, %5030 ]
  store i32 %5025, ptr %1549, 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 %1495, align 4, !tbaa !5
  %5039 = call ptr @s2n_strerror(i32 noundef %5038, ptr noundef nonnull @.str.4) #12
  %5040 = load i32, ptr %1495, align 4, !tbaa !5
  %5041 = call ptr @s2n_strerror_debug(i32 noundef %5040, ptr noundef nonnull @.str.4) #12
  %5042 = load i32, ptr %1549, align 4, !tbaa !5
  %5043 = call ptr @strerror(i32 noundef %5042) #12
  %5044 = load i32, ptr %1549, align 4, !tbaa !5
  %5045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5036, ptr noundef nonnull %.str.5.sink3564, i32 noundef %5037, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 483, ptr noundef %5039, ptr noundef %5041, ptr noundef %5043, i32 noundef %5044) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5046:                                             ; preds = %5017
  %5047 = add nsw i32 %5021, 2
  store i32 %5047, ptr @test_count, align 4, !tbaa !5
  %5048 = getelementptr inbounds i8, ptr %5020, i64 420
  %5049 = load i32, ptr %5048, align 4, !tbaa !59
  %5050 = icmp eq i32 %5049, 0
  br i1 %5050, label %5073, label %5051

5051:                                             ; preds = %5046
  %5052 = load i32, ptr %1549, align 4, !tbaa !5
  %5053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5054 = call i32 @s2n_print_stacktrace(ptr noundef %5053) #12
  %5055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5056 = trunc nuw i8 %5055 to i1
  br i1 %5056, label %5057, label %5061

5057:                                             ; preds = %5051
  %5058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5059 = call i32 @fileno(ptr noundef %5058) #12
  %5060 = call i32 @isatty(i32 noundef %5059) #12
  %.not1331 = icmp eq i32 %5060, 0
  br i1 %.not1331, label %5061, label %5062

5061:                                             ; preds = %5057, %5051
  br label %5062

5062:                                             ; preds = %5057, %5061
  %.str.5.sink3573 = phi ptr [ @.str.5, %5061 ], [ @.str.2, %5057 ]
  store i32 %5052, ptr %1549, align 4, !tbaa !5
  %5063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5064 = load i32, ptr @test_count, align 4, !tbaa !5
  %5065 = load i32, ptr %1495, align 4, !tbaa !5
  %5066 = call ptr @s2n_strerror(i32 noundef %5065, ptr noundef nonnull @.str.4) #12
  %5067 = load i32, ptr %1495, align 4, !tbaa !5
  %5068 = call ptr @s2n_strerror_debug(i32 noundef %5067, ptr noundef nonnull @.str.4) #12
  %5069 = load i32, ptr %1549, align 4, !tbaa !5
  %5070 = call ptr @strerror(i32 noundef %5069) #12
  %5071 = load i32, ptr %1549, align 4, !tbaa !5
  %5072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5063, ptr noundef nonnull %.str.5.sink3573, i32 noundef %5064, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 485, ptr noundef %5066, ptr noundef %5068, ptr noundef %5070, i32 noundef %5071) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5073:                                             ; preds = %5046
  %5074 = add nsw i32 %5021, 3
  store i32 %5074, ptr @test_count, align 4, !tbaa !5
  %5075 = call i32 @s2n_config_set_send_buffer_size(ptr noundef null, i32 noundef 1034) #12
  %5076 = icmp eq i32 %5075, -1
  br i1 %5076, label %5099, label %5077

5077:                                             ; preds = %5073
  %5078 = load i32, ptr %1549, align 4, !tbaa !5
  %5079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5080 = call i32 @s2n_print_stacktrace(ptr noundef %5079) #12
  %5081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5082 = trunc nuw i8 %5081 to i1
  br i1 %5082, label %5083, label %5087

5083:                                             ; preds = %5077
  %5084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5085 = call i32 @fileno(ptr noundef %5084) #12
  %5086 = call i32 @isatty(i32 noundef %5085) #12
  %.not1332 = icmp eq i32 %5086, 0
  br i1 %.not1332, label %5087, label %5088

5087:                                             ; preds = %5083, %5077
  br label %5088

5088:                                             ; preds = %5083, %5087
  %.str.5.sink3582 = phi ptr [ @.str.5, %5087 ], [ @.str.2, %5083 ]
  store i32 %5078, ptr %1549, align 4, !tbaa !5
  %5089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5090 = load i32, ptr @test_count, align 4, !tbaa !5
  %5091 = load i32, ptr %1495, align 4, !tbaa !5
  %5092 = call ptr @s2n_strerror(i32 noundef %5091, ptr noundef nonnull @.str.4) #12
  %5093 = load i32, ptr %1495, align 4, !tbaa !5
  %5094 = call ptr @s2n_strerror_debug(i32 noundef %5093, ptr noundef nonnull @.str.4) #12
  %5095 = load i32, ptr %1549, align 4, !tbaa !5
  %5096 = call ptr @strerror(i32 noundef %5095) #12
  %5097 = load i32, ptr %1549, align 4, !tbaa !5
  %5098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5089, ptr noundef nonnull %.str.5.sink3582, i32 noundef %5090, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 486, ptr noundef %5092, ptr noundef %5094, ptr noundef %5096, i32 noundef %5097) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5099:                                             ; preds = %5073
  %5100 = load i32, ptr @test_count, align 4, !tbaa !5
  %5101 = add nsw i32 %5100, 1
  store i32 %5101, ptr @test_count, align 4, !tbaa !5
  %5102 = load i32, ptr %1495, align 4, !tbaa !5
  %5103 = icmp eq i32 %5102, 402653193
  br i1 %5103, label %5126, label %5104

5104:                                             ; preds = %5099
  %5105 = load i32, ptr %1549, align 4, !tbaa !5
  %5106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5107 = call i32 @s2n_print_stacktrace(ptr noundef %5106) #12
  %5108 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5109 = trunc nuw i8 %5108 to i1
  br i1 %5109, label %5110, label %5114

5110:                                             ; preds = %5104
  %5111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5112 = call i32 @fileno(ptr noundef %5111) #12
  %5113 = call i32 @isatty(i32 noundef %5112) #12
  %.not1333 = icmp eq i32 %5113, 0
  br i1 %.not1333, label %5114, label %5115

5114:                                             ; preds = %5110, %5104
  br label %5115

5115:                                             ; preds = %5110, %5114
  %.str.5.sink3591 = phi ptr [ @.str.5, %5114 ], [ @.str.2, %5110 ]
  store i32 %5105, ptr %1549, align 4, !tbaa !5
  %5116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5117 = load i32, ptr @test_count, align 4, !tbaa !5
  %5118 = load i32, ptr %1495, align 4, !tbaa !5
  %5119 = call ptr @s2n_strerror(i32 noundef %5118, ptr noundef nonnull @.str.4) #12
  %5120 = load i32, ptr %1495, align 4, !tbaa !5
  %5121 = call ptr @s2n_strerror_debug(i32 noundef %5120, ptr noundef nonnull @.str.4) #12
  %5122 = load i32, ptr %1549, align 4, !tbaa !5
  %5123 = call ptr @strerror(i32 noundef %5122) #12
  %5124 = load i32, ptr %1549, align 4, !tbaa !5
  %5125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5116, ptr noundef nonnull %.str.5.sink3591, i32 noundef %5117, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 486, ptr noundef %5119, ptr noundef %5121, ptr noundef %5123, i32 noundef %5124) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5126:                                             ; preds = %5099
  %5127 = add nsw i32 %5100, 2
  store i32 %5127, ptr @test_count, align 4, !tbaa !5
  %5128 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %5129 = icmp eq ptr %5128, null
  br i1 %5129, label %5130, label %5152

5130:                                             ; preds = %5126
  %5131 = load i32, ptr %1549, align 4, !tbaa !5
  %5132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5133 = call i32 @s2n_print_stacktrace(ptr noundef %5132) #12
  %5134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5135 = trunc nuw i8 %5134 to i1
  br i1 %5135, label %5136, label %5140

5136:                                             ; preds = %5130
  %5137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5138 = call i32 @fileno(ptr noundef %5137) #12
  %5139 = call i32 @isatty(i32 noundef %5138) #12
  %.not1693 = icmp eq i32 %5139, 0
  br i1 %.not1693, label %5140, label %5141

5140:                                             ; preds = %5136, %5130
  br label %5141

5141:                                             ; preds = %5136, %5140
  %.str.5.sink3600 = phi ptr [ @.str.5, %5140 ], [ @.str.2, %5136 ]
  store i32 %5131, ptr %1549, align 4, !tbaa !5
  %5142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5143 = load i32, ptr @test_count, align 4, !tbaa !5
  %5144 = load i32, ptr %1495, align 4, !tbaa !5
  %5145 = call ptr @s2n_strerror(i32 noundef %5144, ptr noundef nonnull @.str.4) #12
  %5146 = load i32, ptr %1495, align 4, !tbaa !5
  %5147 = call ptr @s2n_strerror_debug(i32 noundef %5146, ptr noundef nonnull @.str.4) #12
  %5148 = load i32, ptr %1549, align 4, !tbaa !5
  %5149 = call ptr @strerror(i32 noundef %5148) #12
  %5150 = load i32, ptr %1549, align 4, !tbaa !5
  %5151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5142, ptr noundef nonnull %.str.5.sink3600, i32 noundef %5143, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 486, ptr noundef %5145, ptr noundef %5147, ptr noundef %5149, i32 noundef %5150) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5152:                                             ; preds = %5126
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %5153 = load i32, ptr @test_count, align 4, !tbaa !5
  %5154 = add nsw i32 %5153, 1
  store i32 %5154, ptr @test_count, align 4, !tbaa !5
  %5155 = load ptr, ptr %31, align 8, !tbaa !9
  %5156 = call i32 @s2n_config_set_send_buffer_size(ptr noundef %5155, i32 noundef 0) #12
  %5157 = icmp eq i32 %5156, -1
  br i1 %5157, label %5180, label %5158

5158:                                             ; preds = %5152
  %5159 = load i32, ptr %1549, align 4, !tbaa !5
  %5160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5161 = call i32 @s2n_print_stacktrace(ptr noundef %5160) #12
  %5162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5163 = trunc nuw i8 %5162 to i1
  br i1 %5163, label %5164, label %5168

5164:                                             ; preds = %5158
  %5165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5166 = call i32 @fileno(ptr noundef %5165) #12
  %5167 = call i32 @isatty(i32 noundef %5166) #12
  %.not1334 = icmp eq i32 %5167, 0
  br i1 %.not1334, label %5168, label %5169

5168:                                             ; preds = %5164, %5158
  br label %5169

5169:                                             ; preds = %5164, %5168
  %.str.5.sink3609 = phi ptr [ @.str.5, %5168 ], [ @.str.2, %5164 ]
  store i32 %5159, ptr %1549, align 4, !tbaa !5
  %5170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5171 = load i32, ptr @test_count, align 4, !tbaa !5
  %5172 = load i32, ptr %1495, align 4, !tbaa !5
  %5173 = call ptr @s2n_strerror(i32 noundef %5172, ptr noundef nonnull @.str.4) #12
  %5174 = load i32, ptr %1495, align 4, !tbaa !5
  %5175 = call ptr @s2n_strerror_debug(i32 noundef %5174, ptr noundef nonnull @.str.4) #12
  %5176 = load i32, ptr %1549, align 4, !tbaa !5
  %5177 = call ptr @strerror(i32 noundef %5176) #12
  %5178 = load i32, ptr %1549, align 4, !tbaa !5
  %5179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5170, ptr noundef nonnull %.str.5.sink3609, i32 noundef %5171, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 487, ptr noundef %5173, ptr noundef %5175, ptr noundef %5177, i32 noundef %5178) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5180:                                             ; preds = %5152
  %5181 = load i32, ptr @test_count, align 4, !tbaa !5
  %5182 = add nsw i32 %5181, 1
  store i32 %5182, ptr @test_count, align 4, !tbaa !5
  %5183 = load i32, ptr %1495, align 4, !tbaa !5
  %5184 = icmp eq i32 %5183, 469762089
  br i1 %5184, label %5207, label %5185

5185:                                             ; preds = %5180
  %5186 = load i32, ptr %1549, align 4, !tbaa !5
  %5187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5188 = call i32 @s2n_print_stacktrace(ptr noundef %5187) #12
  %5189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5190 = trunc nuw i8 %5189 to i1
  br i1 %5190, label %5191, label %5195

5191:                                             ; preds = %5185
  %5192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5193 = call i32 @fileno(ptr noundef %5192) #12
  %5194 = call i32 @isatty(i32 noundef %5193) #12
  %.not1335 = icmp eq i32 %5194, 0
  br i1 %.not1335, label %5195, label %5196

5195:                                             ; preds = %5191, %5185
  br label %5196

5196:                                             ; preds = %5191, %5195
  %.str.5.sink3618 = phi ptr [ @.str.5, %5195 ], [ @.str.2, %5191 ]
  store i32 %5186, ptr %1549, align 4, !tbaa !5
  %5197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5198 = load i32, ptr @test_count, align 4, !tbaa !5
  %5199 = load i32, ptr %1495, align 4, !tbaa !5
  %5200 = call ptr @s2n_strerror(i32 noundef %5199, ptr noundef nonnull @.str.4) #12
  %5201 = load i32, ptr %1495, align 4, !tbaa !5
  %5202 = call ptr @s2n_strerror_debug(i32 noundef %5201, ptr noundef nonnull @.str.4) #12
  %5203 = load i32, ptr %1549, align 4, !tbaa !5
  %5204 = call ptr @strerror(i32 noundef %5203) #12
  %5205 = load i32, ptr %1549, align 4, !tbaa !5
  %5206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5197, ptr noundef nonnull %.str.5.sink3618, i32 noundef %5198, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 487, ptr noundef %5200, ptr noundef %5202, ptr noundef %5204, i32 noundef %5205) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5207:                                             ; preds = %5180
  %5208 = add nsw i32 %5181, 2
  store i32 %5208, ptr @test_count, align 4, !tbaa !5
  %5209 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.4) #12
  %5210 = icmp eq ptr %5209, null
  br i1 %5210, label %5211, label %5233

5211:                                             ; preds = %5207
  %5212 = load i32, ptr %1549, align 4, !tbaa !5
  %5213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5214 = call i32 @s2n_print_stacktrace(ptr noundef %5213) #12
  %5215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5216 = trunc nuw i8 %5215 to i1
  br i1 %5216, label %5217, label %5221

5217:                                             ; preds = %5211
  %5218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5219 = call i32 @fileno(ptr noundef %5218) #12
  %5220 = call i32 @isatty(i32 noundef %5219) #12
  %.not1692 = icmp eq i32 %5220, 0
  br i1 %.not1692, label %5221, label %5222

5221:                                             ; preds = %5217, %5211
  br label %5222

5222:                                             ; preds = %5217, %5221
  %.str.5.sink3627 = phi ptr [ @.str.5, %5221 ], [ @.str.2, %5217 ]
  store i32 %5212, ptr %1549, align 4, !tbaa !5
  %5223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5224 = load i32, ptr @test_count, align 4, !tbaa !5
  %5225 = load i32, ptr %1495, align 4, !tbaa !5
  %5226 = call ptr @s2n_strerror(i32 noundef %5225, ptr noundef nonnull @.str.4) #12
  %5227 = load i32, ptr %1495, align 4, !tbaa !5
  %5228 = call ptr @s2n_strerror_debug(i32 noundef %5227, ptr noundef nonnull @.str.4) #12
  %5229 = load i32, ptr %1549, align 4, !tbaa !5
  %5230 = call ptr @strerror(i32 noundef %5229) #12
  %5231 = load i32, ptr %1549, align 4, !tbaa !5
  %5232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5223, ptr noundef nonnull %.str.5.sink3627, i32 noundef %5224, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 487, ptr noundef %5226, ptr noundef %5228, ptr noundef %5230, i32 noundef %5231) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5233:                                             ; preds = %5207
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %5234 = load i32, ptr @test_count, align 4, !tbaa !5
  %5235 = add nsw i32 %5234, 1
  store i32 %5235, ptr @test_count, align 4, !tbaa !5
  %5236 = load ptr, ptr %31, align 8, !tbaa !9
  %5237 = getelementptr inbounds i8, ptr %5236, i64 420
  %5238 = load i32, ptr %5237, align 4, !tbaa !59
  %5239 = icmp eq i32 %5238, 0
  br i1 %5239, label %5262, label %5240

5240:                                             ; preds = %5233
  %5241 = load i32, ptr %1549, align 4, !tbaa !5
  %5242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5243 = call i32 @s2n_print_stacktrace(ptr noundef %5242) #12
  %5244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5245 = trunc nuw i8 %5244 to i1
  br i1 %5245, label %5246, label %5250

5246:                                             ; preds = %5240
  %5247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5248 = call i32 @fileno(ptr noundef %5247) #12
  %5249 = call i32 @isatty(i32 noundef %5248) #12
  %.not1336 = icmp eq i32 %5249, 0
  br i1 %.not1336, label %5250, label %5251

5250:                                             ; preds = %5246, %5240
  br label %5251

5251:                                             ; preds = %5246, %5250
  %.str.5.sink3636 = phi ptr [ @.str.5, %5250 ], [ @.str.2, %5246 ]
  store i32 %5241, ptr %1549, align 4, !tbaa !5
  %5252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5253 = load i32, ptr @test_count, align 4, !tbaa !5
  %5254 = load i32, ptr %1495, align 4, !tbaa !5
  %5255 = call ptr @s2n_strerror(i32 noundef %5254, ptr noundef nonnull @.str.4) #12
  %5256 = load i32, ptr %1495, align 4, !tbaa !5
  %5257 = call ptr @s2n_strerror_debug(i32 noundef %5256, ptr noundef nonnull @.str.4) #12
  %5258 = load i32, ptr %1549, align 4, !tbaa !5
  %5259 = call ptr @strerror(i32 noundef %5258) #12
  %5260 = load i32, ptr %1549, align 4, !tbaa !5
  %5261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5252, ptr noundef nonnull %.str.5.sink3636, i32 noundef %5253, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 488, ptr noundef %5255, ptr noundef %5257, ptr noundef %5259, i32 noundef %5260) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5262:                                             ; preds = %5233
  %5263 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #12
  %5264 = call ptr @s2n_config_new() #12
  store ptr %5264, ptr %32, align 8, !tbaa !9
  %5265 = load i32, ptr @test_count, align 4, !tbaa !5
  %5266 = add nsw i32 %5265, 1
  store i32 %5266, ptr @test_count, align 4, !tbaa !5
  %5267 = icmp eq ptr %5264, null
  br i1 %5267, label %5268, label %5290

5268:                                             ; preds = %5262
  %5269 = load i32, ptr %1549, align 4, !tbaa !5
  %5270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5271 = call i32 @s2n_print_stacktrace(ptr noundef %5270) #12
  %5272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5273 = trunc nuw i8 %5272 to i1
  br i1 %5273, label %5274, label %5278

5274:                                             ; preds = %5268
  %5275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5276 = call i32 @fileno(ptr noundef %5275) #12
  %5277 = call i32 @isatty(i32 noundef %5276) #12
  %.not1691 = icmp eq i32 %5277, 0
  br i1 %.not1691, label %5278, label %5279

5278:                                             ; preds = %5274, %5268
  br label %5279

5279:                                             ; preds = %5274, %5278
  %.str.5.sink3645 = phi ptr [ @.str.5, %5278 ], [ @.str.2, %5274 ]
  store i32 %5269, ptr %1549, align 4, !tbaa !5
  %5280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5281 = load i32, ptr @test_count, align 4, !tbaa !5
  %5282 = load i32, ptr %1495, align 4, !tbaa !5
  %5283 = call ptr @s2n_strerror(i32 noundef %5282, ptr noundef nonnull @.str.4) #12
  %5284 = load i32, ptr %1495, align 4, !tbaa !5
  %5285 = call ptr @s2n_strerror_debug(i32 noundef %5284, ptr noundef nonnull @.str.4) #12
  %5286 = load i32, ptr %1549, align 4, !tbaa !5
  %5287 = call ptr @strerror(i32 noundef %5286) #12
  %5288 = load i32, ptr %1549, align 4, !tbaa !5
  %5289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5280, ptr noundef nonnull %.str.5.sink3645, i32 noundef %5281, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 494, ptr noundef %5283, ptr noundef %5285, ptr noundef %5287, i32 noundef %5288) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5290:                                             ; preds = %5262
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #12
  %5291 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %5291, ptr %33, align 8, !tbaa !9
  %5292 = load i32, ptr @test_count, align 4, !tbaa !5
  %5293 = add nsw i32 %5292, 1
  store i32 %5293, ptr @test_count, align 4, !tbaa !5
  %5294 = icmp eq ptr %5291, null
  br i1 %5294, label %5295, label %5317

5295:                                             ; preds = %5290
  %5296 = load i32, ptr %1549, align 4, !tbaa !5
  %5297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5298 = call i32 @s2n_print_stacktrace(ptr noundef %5297) #12
  %5299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5300 = trunc nuw i8 %5299 to i1
  br i1 %5300, label %5301, label %5305

5301:                                             ; preds = %5295
  %5302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5303 = call i32 @fileno(ptr noundef %5302) #12
  %5304 = call i32 @isatty(i32 noundef %5303) #12
  %.not1690 = icmp eq i32 %5304, 0
  br i1 %.not1690, label %5305, label %5306

5305:                                             ; preds = %5301, %5295
  br label %5306

5306:                                             ; preds = %5301, %5305
  %.str.5.sink3654 = phi ptr [ @.str.5, %5305 ], [ @.str.2, %5301 ]
  store i32 %5296, ptr %1549, align 4, !tbaa !5
  %5307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5308 = load i32, ptr @test_count, align 4, !tbaa !5
  %5309 = load i32, ptr %1495, align 4, !tbaa !5
  %5310 = call ptr @s2n_strerror(i32 noundef %5309, ptr noundef nonnull @.str.4) #12
  %5311 = load i32, ptr %1495, align 4, !tbaa !5
  %5312 = call ptr @s2n_strerror_debug(i32 noundef %5311, ptr noundef nonnull @.str.4) #12
  %5313 = load i32, ptr %1549, align 4, !tbaa !5
  %5314 = call ptr @strerror(i32 noundef %5313) #12
  %5315 = load i32, ptr %1549, align 4, !tbaa !5
  %5316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5307, ptr noundef nonnull %.str.5.sink3654, i32 noundef %5308, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 497, ptr noundef %5310, ptr noundef %5312, ptr noundef %5314, i32 noundef %5315) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5317:                                             ; preds = %5290
  %5318 = add nsw i32 %5292, 2
  store i32 %5318, ptr @test_count, align 4, !tbaa !5
  %5319 = load ptr, ptr %32, align 8, !tbaa !9
  %5320 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5291, ptr noundef %5319) #12
  %5321 = icmp eq i32 %5320, -1
  br i1 %5321, label %5322, label %5344

5322:                                             ; preds = %5317
  %5323 = load i32, ptr %1549, align 4, !tbaa !5
  %5324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5325 = call i32 @s2n_print_stacktrace(ptr noundef %5324) #12
  %5326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5327 = trunc nuw i8 %5326 to i1
  br i1 %5327, label %5328, label %5332

5328:                                             ; preds = %5322
  %5329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5330 = call i32 @fileno(ptr noundef %5329) #12
  %5331 = call i32 @isatty(i32 noundef %5330) #12
  %.not1689 = icmp eq i32 %5331, 0
  br i1 %.not1689, label %5332, label %5333

5332:                                             ; preds = %5328, %5322
  br label %5333

5333:                                             ; preds = %5328, %5332
  %.str.5.sink3663 = phi ptr [ @.str.5, %5332 ], [ @.str.2, %5328 ]
  store i32 %5323, ptr %1549, align 4, !tbaa !5
  %5334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5335 = load i32, ptr @test_count, align 4, !tbaa !5
  %5336 = load i32, ptr %1495, align 4, !tbaa !5
  %5337 = call ptr @s2n_strerror(i32 noundef %5336, ptr noundef nonnull @.str.4) #12
  %5338 = load i32, ptr %1495, align 4, !tbaa !5
  %5339 = call ptr @s2n_strerror_debug(i32 noundef %5338, ptr noundef nonnull @.str.4) #12
  %5340 = load i32, ptr %1549, align 4, !tbaa !5
  %5341 = call ptr @strerror(i32 noundef %5340) #12
  %5342 = load i32, ptr %1549, align 4, !tbaa !5
  %5343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5334, ptr noundef nonnull %.str.5.sink3663, i32 noundef %5335, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 498, ptr noundef %5337, ptr noundef %5339, ptr noundef %5341, i32 noundef %5342) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5344:                                             ; preds = %5317
  %5345 = load i32, ptr @test_count, align 4, !tbaa !5
  %5346 = add nsw i32 %5345, 1
  store i32 %5346, ptr @test_count, align 4, !tbaa !5
  %5347 = load ptr, ptr %32, align 8, !tbaa !9
  %5348 = getelementptr inbounds i8, ptr %5347, i64 420
  %5349 = load i32, ptr %5348, align 4, !tbaa !59
  %5350 = icmp eq i32 %5349, 0
  br i1 %5350, label %5373, label %5351

5351:                                             ; preds = %5344
  %5352 = load i32, ptr %1549, align 4, !tbaa !5
  %5353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5354 = call i32 @s2n_print_stacktrace(ptr noundef %5353) #12
  %5355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5356 = trunc nuw i8 %5355 to i1
  br i1 %5356, label %5357, label %5361

5357:                                             ; preds = %5351
  %5358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5359 = call i32 @fileno(ptr noundef %5358) #12
  %5360 = call i32 @isatty(i32 noundef %5359) #12
  %.not1337 = icmp eq i32 %5360, 0
  br i1 %.not1337, label %5361, label %5362

5361:                                             ; preds = %5357, %5351
  br label %5362

5362:                                             ; preds = %5357, %5361
  %.str.5.sink3672 = phi ptr [ @.str.5, %5361 ], [ @.str.2, %5357 ]
  store i32 %5352, ptr %1549, align 4, !tbaa !5
  %5363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5364 = load i32, ptr @test_count, align 4, !tbaa !5
  %5365 = load i32, ptr %1495, align 4, !tbaa !5
  %5366 = call ptr @s2n_strerror(i32 noundef %5365, ptr noundef nonnull @.str.4) #12
  %5367 = load i32, ptr %1495, align 4, !tbaa !5
  %5368 = call ptr @s2n_strerror_debug(i32 noundef %5367, ptr noundef nonnull @.str.4) #12
  %5369 = load i32, ptr %1549, align 4, !tbaa !5
  %5370 = call ptr @strerror(i32 noundef %5369) #12
  %5371 = load i32, ptr %1549, align 4, !tbaa !5
  %5372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5363, ptr noundef nonnull %.str.5.sink3672, i32 noundef %5364, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 500, ptr noundef %5366, ptr noundef %5368, ptr noundef %5370, i32 noundef %5371) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5373:                                             ; preds = %5344
  %5374 = add nsw i32 %5345, 2
  store i32 %5374, ptr @test_count, align 4, !tbaa !5
  %5375 = load ptr, ptr %33, align 8, !tbaa !9
  %5376 = load i32, ptr %5375, align 8
  %5377 = and i32 %5376, 32768
  %.not1338 = icmp eq i32 %5377, 0
  br i1 %.not1338, label %5400, label %5378

5378:                                             ; preds = %5373
  %5379 = load i32, ptr %1549, align 4, !tbaa !5
  %5380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5381 = call i32 @s2n_print_stacktrace(ptr noundef %5380) #12
  %5382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5383 = trunc nuw i8 %5382 to i1
  br i1 %5383, label %5384, label %5388

5384:                                             ; preds = %5378
  %5385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5386 = call i32 @fileno(ptr noundef %5385) #12
  %5387 = call i32 @isatty(i32 noundef %5386) #12
  %.not1688 = icmp eq i32 %5387, 0
  br i1 %.not1688, label %5388, label %5389

5388:                                             ; preds = %5384, %5378
  br label %5389

5389:                                             ; preds = %5384, %5388
  %.str.5.sink3681 = phi ptr [ @.str.5, %5388 ], [ @.str.2, %5384 ]
  store i32 %5379, ptr %1549, align 4, !tbaa !5
  %5390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5391 = load i32, ptr @test_count, align 4, !tbaa !5
  %5392 = load i32, ptr %1495, align 4, !tbaa !5
  %5393 = call ptr @s2n_strerror(i32 noundef %5392, ptr noundef nonnull @.str.4) #12
  %5394 = load i32, ptr %1495, align 4, !tbaa !5
  %5395 = call ptr @s2n_strerror_debug(i32 noundef %5394, ptr noundef nonnull @.str.4) #12
  %5396 = load i32, ptr %1549, align 4, !tbaa !5
  %5397 = call ptr @strerror(i32 noundef %5396) #12
  %5398 = load i32, ptr %1549, align 4, !tbaa !5
  %5399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5390, ptr noundef nonnull %.str.5.sink3681, i32 noundef %5391, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 501, ptr noundef %5393, ptr noundef %5395, ptr noundef %5397, i32 noundef %5398) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5400:                                             ; preds = %5373
  %5401 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #12
  %5402 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %32) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #12
  %5403 = call ptr @s2n_config_new() #12
  store ptr %5403, ptr %34, align 8, !tbaa !9
  %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 = icmp eq ptr %5403, null
  br i1 %5406, label %5407, label %5429

5407:                                             ; preds = %5400
  %5408 = load i32, ptr %1549, align 4, !tbaa !5
  %5409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5410 = call i32 @s2n_print_stacktrace(ptr noundef %5409) #12
  %5411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5412 = trunc nuw i8 %5411 to i1
  br i1 %5412, label %5413, label %5417

5413:                                             ; preds = %5407
  %5414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5415 = call i32 @fileno(ptr noundef %5414) #12
  %5416 = call i32 @isatty(i32 noundef %5415) #12
  %.not1687 = icmp eq i32 %5416, 0
  br i1 %.not1687, label %5417, label %5418

5417:                                             ; preds = %5413, %5407
  br label %5418

5418:                                             ; preds = %5413, %5417
  %.str.5.sink3690 = phi ptr [ @.str.5, %5417 ], [ @.str.2, %5413 ]
  store i32 %5408, ptr %1549, align 4, !tbaa !5
  %5419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5420 = load i32, ptr @test_count, align 4, !tbaa !5
  %5421 = load i32, ptr %1495, align 4, !tbaa !5
  %5422 = call ptr @s2n_strerror(i32 noundef %5421, ptr noundef nonnull @.str.4) #12
  %5423 = load i32, ptr %1495, align 4, !tbaa !5
  %5424 = call ptr @s2n_strerror_debug(i32 noundef %5423, ptr noundef nonnull @.str.4) #12
  %5425 = load i32, ptr %1549, align 4, !tbaa !5
  %5426 = call ptr @strerror(i32 noundef %5425) #12
  %5427 = load i32, ptr %1549, align 4, !tbaa !5
  %5428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5419, ptr noundef nonnull %.str.5.sink3690, i32 noundef %5420, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 507, ptr noundef %5422, ptr noundef %5424, ptr noundef %5426, i32 noundef %5427) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5429:                                             ; preds = %5400
  %5430 = add nsw i32 %5404, 2
  store i32 %5430, ptr @test_count, align 4, !tbaa !5
  %5431 = call i32 @s2n_config_set_send_buffer_size(ptr noundef nonnull %5403, i32 noundef 1034) #12
  %5432 = icmp eq i32 %5431, -1
  br i1 %5432, label %5433, label %5455

5433:                                             ; preds = %5429
  %5434 = load i32, ptr %1549, align 4, !tbaa !5
  %5435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5436 = call i32 @s2n_print_stacktrace(ptr noundef %5435) #12
  %5437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5438 = trunc nuw i8 %5437 to i1
  br i1 %5438, label %5439, label %5443

5439:                                             ; preds = %5433
  %5440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5441 = call i32 @fileno(ptr noundef %5440) #12
  %5442 = call i32 @isatty(i32 noundef %5441) #12
  %.not1686 = icmp eq i32 %5442, 0
  br i1 %.not1686, label %5443, label %5444

5443:                                             ; preds = %5439, %5433
  br label %5444

5444:                                             ; preds = %5439, %5443
  %.str.5.sink3699 = phi ptr [ @.str.5, %5443 ], [ @.str.2, %5439 ]
  store i32 %5434, ptr %1549, align 4, !tbaa !5
  %5445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5446 = load i32, ptr @test_count, align 4, !tbaa !5
  %5447 = load i32, ptr %1495, align 4, !tbaa !5
  %5448 = call ptr @s2n_strerror(i32 noundef %5447, ptr noundef nonnull @.str.4) #12
  %5449 = load i32, ptr %1495, align 4, !tbaa !5
  %5450 = call ptr @s2n_strerror_debug(i32 noundef %5449, ptr noundef nonnull @.str.4) #12
  %5451 = load i32, ptr %1549, align 4, !tbaa !5
  %5452 = call ptr @strerror(i32 noundef %5451) #12
  %5453 = load i32, ptr %1549, align 4, !tbaa !5
  %5454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5445, ptr noundef nonnull %.str.5.sink3699, i32 noundef %5446, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 508, ptr noundef %5448, ptr noundef %5450, ptr noundef %5452, i32 noundef %5453) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5455:                                             ; preds = %5429
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #12
  %5456 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %5456, ptr %35, align 8, !tbaa !9
  %5457 = load i32, ptr @test_count, align 4, !tbaa !5
  %5458 = add nsw i32 %5457, 1
  store i32 %5458, ptr @test_count, align 4, !tbaa !5
  %5459 = icmp eq ptr %5456, null
  br i1 %5459, label %5460, label %5482

5460:                                             ; preds = %5455
  %5461 = load i32, ptr %1549, align 4, !tbaa !5
  %5462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5463 = call i32 @s2n_print_stacktrace(ptr noundef %5462) #12
  %5464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5465 = trunc nuw i8 %5464 to i1
  br i1 %5465, label %5466, label %5470

5466:                                             ; preds = %5460
  %5467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5468 = call i32 @fileno(ptr noundef %5467) #12
  %5469 = call i32 @isatty(i32 noundef %5468) #12
  %.not1685 = icmp eq i32 %5469, 0
  br i1 %.not1685, label %5470, label %5471

5470:                                             ; preds = %5466, %5460
  br label %5471

5471:                                             ; preds = %5466, %5470
  %.str.5.sink3708 = phi ptr [ @.str.5, %5470 ], [ @.str.2, %5466 ]
  store i32 %5461, ptr %1549, align 4, !tbaa !5
  %5472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5473 = load i32, ptr @test_count, align 4, !tbaa !5
  %5474 = load i32, ptr %1495, align 4, !tbaa !5
  %5475 = call ptr @s2n_strerror(i32 noundef %5474, ptr noundef nonnull @.str.4) #12
  %5476 = load i32, ptr %1495, align 4, !tbaa !5
  %5477 = call ptr @s2n_strerror_debug(i32 noundef %5476, ptr noundef nonnull @.str.4) #12
  %5478 = load i32, ptr %1549, align 4, !tbaa !5
  %5479 = call ptr @strerror(i32 noundef %5478) #12
  %5480 = load i32, ptr %1549, align 4, !tbaa !5
  %5481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5472, ptr noundef nonnull %.str.5.sink3708, i32 noundef %5473, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 511, ptr noundef %5475, ptr noundef %5477, ptr noundef %5479, i32 noundef %5480) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5482:                                             ; preds = %5455
  %5483 = add nsw i32 %5457, 2
  store i32 %5483, ptr @test_count, align 4, !tbaa !5
  %5484 = load ptr, ptr %34, align 8, !tbaa !9
  %5485 = call i32 @s2n_connection_set_config(ptr noundef nonnull %5456, ptr noundef %5484) #12
  %5486 = icmp eq i32 %5485, -1
  br i1 %5486, label %5487, label %5509

5487:                                             ; preds = %5482
  %5488 = load i32, ptr %1549, align 4, !tbaa !5
  %5489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5490 = call i32 @s2n_print_stacktrace(ptr noundef %5489) #12
  %5491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5492 = trunc nuw i8 %5491 to i1
  br i1 %5492, label %5493, label %5497

5493:                                             ; preds = %5487
  %5494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5495 = call i32 @fileno(ptr noundef %5494) #12
  %5496 = call i32 @isatty(i32 noundef %5495) #12
  %.not1684 = icmp eq i32 %5496, 0
  br i1 %.not1684, label %5497, label %5498

5497:                                             ; preds = %5493, %5487
  br label %5498

5498:                                             ; preds = %5493, %5497
  %.str.5.sink3717 = phi ptr [ @.str.5, %5497 ], [ @.str.2, %5493 ]
  store i32 %5488, ptr %1549, align 4, !tbaa !5
  %5499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5500 = load i32, ptr @test_count, align 4, !tbaa !5
  %5501 = load i32, ptr %1495, align 4, !tbaa !5
  %5502 = call ptr @s2n_strerror(i32 noundef %5501, ptr noundef nonnull @.str.4) #12
  %5503 = load i32, ptr %1495, align 4, !tbaa !5
  %5504 = call ptr @s2n_strerror_debug(i32 noundef %5503, ptr noundef nonnull @.str.4) #12
  %5505 = load i32, ptr %1549, align 4, !tbaa !5
  %5506 = call ptr @strerror(i32 noundef %5505) #12
  %5507 = load i32, ptr %1549, align 4, !tbaa !5
  %5508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5499, ptr noundef nonnull %.str.5.sink3717, i32 noundef %5500, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 512, ptr noundef %5502, ptr noundef %5504, ptr noundef %5506, i32 noundef %5507) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5509:                                             ; preds = %5482
  %5510 = load i32, ptr @test_count, align 4, !tbaa !5
  %5511 = add nsw i32 %5510, 1
  store i32 %5511, ptr @test_count, align 4, !tbaa !5
  %5512 = load ptr, ptr %34, align 8, !tbaa !9
  %5513 = getelementptr inbounds i8, ptr %5512, i64 420
  %5514 = load i32, ptr %5513, align 4, !tbaa !59
  %5515 = icmp eq i32 %5514, 1034
  br i1 %5515, label %5538, label %5516

5516:                                             ; preds = %5509
  %5517 = load i32, ptr %1549, align 4, !tbaa !5
  %5518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5519 = call i32 @s2n_print_stacktrace(ptr noundef %5518) #12
  %5520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5521 = trunc nuw i8 %5520 to i1
  br i1 %5521, label %5522, label %5526

5522:                                             ; preds = %5516
  %5523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5524 = call i32 @fileno(ptr noundef %5523) #12
  %5525 = call i32 @isatty(i32 noundef %5524) #12
  %.not1339 = icmp eq i32 %5525, 0
  br i1 %.not1339, label %5526, label %5527

5526:                                             ; preds = %5522, %5516
  br label %5527

5527:                                             ; preds = %5522, %5526
  %.str.5.sink3726 = phi ptr [ @.str.5, %5526 ], [ @.str.2, %5522 ]
  store i32 %5517, ptr %1549, align 4, !tbaa !5
  %5528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5529 = load i32, ptr @test_count, align 4, !tbaa !5
  %5530 = load i32, ptr %1495, align 4, !tbaa !5
  %5531 = call ptr @s2n_strerror(i32 noundef %5530, ptr noundef nonnull @.str.4) #12
  %5532 = load i32, ptr %1495, align 4, !tbaa !5
  %5533 = call ptr @s2n_strerror_debug(i32 noundef %5532, ptr noundef nonnull @.str.4) #12
  %5534 = load i32, ptr %1549, align 4, !tbaa !5
  %5535 = call ptr @strerror(i32 noundef %5534) #12
  %5536 = load i32, ptr %1549, align 4, !tbaa !5
  %5537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5528, ptr noundef nonnull %.str.5.sink3726, i32 noundef %5529, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 514, ptr noundef %5531, ptr noundef %5533, ptr noundef %5535, i32 noundef %5536) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5538:                                             ; preds = %5509
  %5539 = add nsw i32 %5510, 2
  store i32 %5539, ptr @test_count, align 4, !tbaa !5
  %5540 = load ptr, ptr %35, align 8, !tbaa !9
  %5541 = load i32, ptr %5540, align 8
  %5542 = and i32 %5541, 32768
  %.not1340 = icmp eq i32 %5542, 0
  br i1 %.not1340, label %5543, label %5565

5543:                                             ; preds = %5538
  %5544 = load i32, ptr %1549, align 4, !tbaa !5
  %5545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5546 = call i32 @s2n_print_stacktrace(ptr noundef %5545) #12
  %5547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5548 = trunc nuw i8 %5547 to i1
  br i1 %5548, label %5549, label %5553

5549:                                             ; preds = %5543
  %5550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5551 = call i32 @fileno(ptr noundef %5550) #12
  %5552 = call i32 @isatty(i32 noundef %5551) #12
  %.not1341 = icmp eq i32 %5552, 0
  br i1 %.not1341, label %5553, label %5554

5553:                                             ; preds = %5549, %5543
  br label %5554

5554:                                             ; preds = %5549, %5553
  %.str.5.sink3735 = phi ptr [ @.str.5, %5553 ], [ @.str.2, %5549 ]
  store i32 %5544, ptr %1549, align 4, !tbaa !5
  %5555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5556 = load i32, ptr @test_count, align 4, !tbaa !5
  %5557 = load i32, ptr %1495, align 4, !tbaa !5
  %5558 = call ptr @s2n_strerror(i32 noundef %5557, ptr noundef nonnull @.str.4) #12
  %5559 = load i32, ptr %1495, align 4, !tbaa !5
  %5560 = call ptr @s2n_strerror_debug(i32 noundef %5559, ptr noundef nonnull @.str.4) #12
  %5561 = load i32, ptr %1549, align 4, !tbaa !5
  %5562 = call ptr @strerror(i32 noundef %5561) #12
  %5563 = load i32, ptr %1549, align 4, !tbaa !5
  %5564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5555, ptr noundef nonnull %.str.5.sink3735, i32 noundef %5556, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 515, ptr noundef %5558, ptr noundef %5560, ptr noundef %5562, i32 noundef %5563) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5565:                                             ; preds = %5538
  %5566 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %35) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #12
  %5567 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #12
  %5568 = call ptr @s2n_config_new() #12
  store ptr %5568, ptr %36, align 8, !tbaa !9
  %5569 = load i32, ptr @test_count, align 4, !tbaa !5
  %5570 = add nsw i32 %5569, 1
  store i32 %5570, ptr @test_count, align 4, !tbaa !5
  %5571 = icmp eq ptr %5568, null
  br i1 %5571, label %5572, label %5594

5572:                                             ; preds = %5565
  %5573 = load i32, ptr %1549, align 4, !tbaa !5
  %5574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5575 = call i32 @s2n_print_stacktrace(ptr noundef %5574) #12
  %5576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5577 = trunc nuw i8 %5576 to i1
  br i1 %5577, label %5578, label %5582

5578:                                             ; preds = %5572
  %5579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5580 = call i32 @fileno(ptr noundef %5579) #12
  %5581 = call i32 @isatty(i32 noundef %5580) #12
  %.not1683 = icmp eq i32 %5581, 0
  br i1 %.not1683, label %5582, label %5583

5582:                                             ; preds = %5578, %5572
  br label %5583

5583:                                             ; preds = %5578, %5582
  %.str.5.sink3744 = phi ptr [ @.str.5, %5582 ], [ @.str.2, %5578 ]
  store i32 %5573, ptr %1549, align 4, !tbaa !5
  %5584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5585 = load i32, ptr @test_count, align 4, !tbaa !5
  %5586 = load i32, ptr %1495, align 4, !tbaa !5
  %5587 = call ptr @s2n_strerror(i32 noundef %5586, ptr noundef nonnull @.str.4) #12
  %5588 = load i32, ptr %1495, align 4, !tbaa !5
  %5589 = call ptr @s2n_strerror_debug(i32 noundef %5588, ptr noundef nonnull @.str.4) #12
  %5590 = load i32, ptr %1549, align 4, !tbaa !5
  %5591 = call ptr @strerror(i32 noundef %5590) #12
  %5592 = load i32, ptr %1549, align 4, !tbaa !5
  %5593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5584, ptr noundef nonnull %.str.5.sink3744, i32 noundef %5585, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %5587, ptr noundef %5589, ptr noundef %5591, i32 noundef %5592) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5594:                                             ; preds = %5565
  %5595 = add nsw i32 %5569, 2
  store i32 %5595, ptr @test_count, align 4, !tbaa !5
  %5596 = load i32, ptr %5568, align 8
  %5597 = and i32 %5596, 4096
  %.not1342 = icmp eq i32 %5597, 0
  br i1 %.not1342, label %5620, label %5598

5598:                                             ; preds = %5594
  %5599 = load i32, ptr %1549, align 4, !tbaa !5
  %5600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5601 = call i32 @s2n_print_stacktrace(ptr noundef %5600) #12
  %5602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5603 = trunc nuw i8 %5602 to i1
  br i1 %5603, label %5604, label %5608

5604:                                             ; preds = %5598
  %5605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5606 = call i32 @fileno(ptr noundef %5605) #12
  %5607 = call i32 @isatty(i32 noundef %5606) #12
  %.not1682 = icmp eq i32 %5607, 0
  br i1 %.not1682, label %5608, label %5609

5608:                                             ; preds = %5604, %5598
  br label %5609

5609:                                             ; preds = %5604, %5608
  %.str.5.sink3753 = phi ptr [ @.str.5, %5608 ], [ @.str.2, %5604 ]
  store i32 %5599, ptr %1549, align 4, !tbaa !5
  %5610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5611 = load i32, ptr @test_count, align 4, !tbaa !5
  %5612 = load i32, ptr %1495, align 4, !tbaa !5
  %5613 = call ptr @s2n_strerror(i32 noundef %5612, ptr noundef nonnull @.str.4) #12
  %5614 = load i32, ptr %1495, align 4, !tbaa !5
  %5615 = call ptr @s2n_strerror_debug(i32 noundef %5614, ptr noundef nonnull @.str.4) #12
  %5616 = load i32, ptr %1549, align 4, !tbaa !5
  %5617 = call ptr @strerror(i32 noundef %5616) #12
  %5618 = load i32, ptr %1549, align 4, !tbaa !5
  %5619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5610, ptr noundef nonnull %.str.5.sink3753, i32 noundef %5611, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 523, ptr noundef %5613, ptr noundef %5615, ptr noundef %5617, i32 noundef %5618) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5620:                                             ; preds = %5594
  %5621 = add nsw i32 %5569, 3
  store i32 %5621, ptr @test_count, align 4, !tbaa !5
  %5622 = call i32 @s2n_config_set_verify_after_sign(ptr noundef null, i32 noundef 1) #12
  %5623 = icmp eq i32 %5622, -1
  br i1 %5623, label %5646, label %5624

5624:                                             ; preds = %5620
  %5625 = load i32, ptr %1549, align 4, !tbaa !5
  %5626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5627 = call i32 @s2n_print_stacktrace(ptr noundef %5626) #12
  %5628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5629 = trunc nuw i8 %5628 to i1
  br i1 %5629, label %5630, label %5634

5630:                                             ; preds = %5624
  %5631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5632 = call i32 @fileno(ptr noundef %5631) #12
  %5633 = call i32 @isatty(i32 noundef %5632) #12
  %.not1343 = icmp eq i32 %5633, 0
  br i1 %.not1343, label %5634, label %5635

5634:                                             ; preds = %5630, %5624
  br label %5635

5635:                                             ; preds = %5630, %5634
  %.str.5.sink3762 = phi ptr [ @.str.5, %5634 ], [ @.str.2, %5630 ]
  store i32 %5625, ptr %1549, align 4, !tbaa !5
  %5636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5637 = load i32, ptr @test_count, align 4, !tbaa !5
  %5638 = load i32, ptr %1495, align 4, !tbaa !5
  %5639 = call ptr @s2n_strerror(i32 noundef %5638, ptr noundef nonnull @.str.4) #12
  %5640 = load i32, ptr %1495, align 4, !tbaa !5
  %5641 = call ptr @s2n_strerror_debug(i32 noundef %5640, ptr noundef nonnull @.str.4) #12
  %5642 = load i32, ptr %1549, align 4, !tbaa !5
  %5643 = call ptr @strerror(i32 noundef %5642) #12
  %5644 = load i32, ptr %1549, align 4, !tbaa !5
  %5645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5636, ptr noundef nonnull %.str.5.sink3762, i32 noundef %5637, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 526, ptr noundef %5639, ptr noundef %5641, ptr noundef %5643, i32 noundef %5644) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5646:                                             ; preds = %5620
  %5647 = load i32, ptr @test_count, align 4, !tbaa !5
  %5648 = add nsw i32 %5647, 1
  store i32 %5648, ptr @test_count, align 4, !tbaa !5
  %5649 = load i32, ptr %1495, align 4, !tbaa !5
  %5650 = icmp eq i32 %5649, 402653193
  br i1 %5650, label %5673, label %5651

5651:                                             ; preds = %5646
  %5652 = load i32, ptr %1549, align 4, !tbaa !5
  %5653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5654 = call i32 @s2n_print_stacktrace(ptr noundef %5653) #12
  %5655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5656 = trunc nuw i8 %5655 to i1
  br i1 %5656, label %5657, label %5661

5657:                                             ; preds = %5651
  %5658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5659 = call i32 @fileno(ptr noundef %5658) #12
  %5660 = call i32 @isatty(i32 noundef %5659) #12
  %.not1344 = icmp eq i32 %5660, 0
  br i1 %.not1344, label %5661, label %5662

5661:                                             ; preds = %5657, %5651
  br label %5662

5662:                                             ; preds = %5657, %5661
  %.str.5.sink3771 = phi ptr [ @.str.5, %5661 ], [ @.str.2, %5657 ]
  store i32 %5652, ptr %1549, align 4, !tbaa !5
  %5663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5664 = load i32, ptr @test_count, align 4, !tbaa !5
  %5665 = load i32, ptr %1495, align 4, !tbaa !5
  %5666 = call ptr @s2n_strerror(i32 noundef %5665, ptr noundef nonnull @.str.4) #12
  %5667 = load i32, ptr %1495, align 4, !tbaa !5
  %5668 = call ptr @s2n_strerror_debug(i32 noundef %5667, ptr noundef nonnull @.str.4) #12
  %5669 = load i32, ptr %1549, align 4, !tbaa !5
  %5670 = call ptr @strerror(i32 noundef %5669) #12
  %5671 = load i32, ptr %1549, align 4, !tbaa !5
  %5672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5663, ptr noundef nonnull %.str.5.sink3771, i32 noundef %5664, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 526, ptr noundef %5666, ptr noundef %5668, ptr noundef %5670, i32 noundef %5671) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5673:                                             ; preds = %5646
  %5674 = add nsw i32 %5647, 2
  store i32 %5674, ptr @test_count, align 4, !tbaa !5
  %5675 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %5676 = icmp eq ptr %5675, null
  br i1 %5676, label %5677, label %5699

5677:                                             ; preds = %5673
  %5678 = load i32, ptr %1549, align 4, !tbaa !5
  %5679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5680 = call i32 @s2n_print_stacktrace(ptr noundef %5679) #12
  %5681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5682 = trunc nuw i8 %5681 to i1
  br i1 %5682, label %5683, label %5687

5683:                                             ; preds = %5677
  %5684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5685 = call i32 @fileno(ptr noundef %5684) #12
  %5686 = call i32 @isatty(i32 noundef %5685) #12
  %.not1681 = icmp eq i32 %5686, 0
  br i1 %.not1681, label %5687, label %5688

5687:                                             ; preds = %5683, %5677
  br label %5688

5688:                                             ; preds = %5683, %5687
  %.str.5.sink3780 = phi ptr [ @.str.5, %5687 ], [ @.str.2, %5683 ]
  store i32 %5678, ptr %1549, align 4, !tbaa !5
  %5689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5690 = load i32, ptr @test_count, align 4, !tbaa !5
  %5691 = load i32, ptr %1495, align 4, !tbaa !5
  %5692 = call ptr @s2n_strerror(i32 noundef %5691, ptr noundef nonnull @.str.4) #12
  %5693 = load i32, ptr %1495, align 4, !tbaa !5
  %5694 = call ptr @s2n_strerror_debug(i32 noundef %5693, ptr noundef nonnull @.str.4) #12
  %5695 = load i32, ptr %1549, align 4, !tbaa !5
  %5696 = call ptr @strerror(i32 noundef %5695) #12
  %5697 = load i32, ptr %1549, align 4, !tbaa !5
  %5698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5689, ptr noundef nonnull %.str.5.sink3780, i32 noundef %5690, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 526, ptr noundef %5692, ptr noundef %5694, ptr noundef %5696, i32 noundef %5697) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5699:                                             ; preds = %5673
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %5700 = load ptr, ptr %36, align 8, !tbaa !9
  %5701 = load i32, ptr %5700, align 8
  %5702 = or i32 %5701, 4096
  store i32 %5702, ptr %5700, align 8
  %5703 = load i32, ptr @test_count, align 4, !tbaa !5
  %5704 = add nsw i32 %5703, 1
  store i32 %5704, ptr @test_count, align 4, !tbaa !5
  %5705 = load ptr, ptr %36, align 8, !tbaa !9
  %5706 = call i32 @s2n_config_set_verify_after_sign(ptr noundef %5705, i32 noundef 255) #12
  %5707 = icmp eq i32 %5706, -1
  br i1 %5707, label %5730, label %5708

5708:                                             ; preds = %5699
  %5709 = load i32, ptr %1549, align 4, !tbaa !5
  %5710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5711 = call i32 @s2n_print_stacktrace(ptr noundef %5710) #12
  %5712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5713 = trunc nuw i8 %5712 to i1
  br i1 %5713, label %5714, label %5718

5714:                                             ; preds = %5708
  %5715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5716 = call i32 @fileno(ptr noundef %5715) #12
  %5717 = call i32 @isatty(i32 noundef %5716) #12
  %.not1345 = icmp eq i32 %5717, 0
  br i1 %.not1345, label %5718, label %5719

5718:                                             ; preds = %5714, %5708
  br label %5719

5719:                                             ; preds = %5714, %5718
  %.str.5.sink3789 = phi ptr [ @.str.5, %5718 ], [ @.str.2, %5714 ]
  store i32 %5709, ptr %1549, align 4, !tbaa !5
  %5720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5721 = load i32, ptr @test_count, align 4, !tbaa !5
  %5722 = load i32, ptr %1495, align 4, !tbaa !5
  %5723 = call ptr @s2n_strerror(i32 noundef %5722, ptr noundef nonnull @.str.4) #12
  %5724 = load i32, ptr %1495, align 4, !tbaa !5
  %5725 = call ptr @s2n_strerror_debug(i32 noundef %5724, ptr noundef nonnull @.str.4) #12
  %5726 = load i32, ptr %1549, align 4, !tbaa !5
  %5727 = call ptr @strerror(i32 noundef %5726) #12
  %5728 = load i32, ptr %1549, align 4, !tbaa !5
  %5729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5720, ptr noundef nonnull %.str.5.sink3789, i32 noundef %5721, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 530, ptr noundef %5723, ptr noundef %5725, ptr noundef %5727, i32 noundef %5728) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5730:                                             ; preds = %5699
  %5731 = load i32, ptr @test_count, align 4, !tbaa !5
  %5732 = add nsw i32 %5731, 1
  store i32 %5732, ptr @test_count, align 4, !tbaa !5
  %5733 = load i32, ptr %1495, align 4, !tbaa !5
  %5734 = icmp eq i32 %5733, 469762089
  br i1 %5734, label %5757, label %5735

5735:                                             ; preds = %5730
  %5736 = load i32, ptr %1549, align 4, !tbaa !5
  %5737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5738 = call i32 @s2n_print_stacktrace(ptr noundef %5737) #12
  %5739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5740 = trunc nuw i8 %5739 to i1
  br i1 %5740, label %5741, label %5745

5741:                                             ; preds = %5735
  %5742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5743 = call i32 @fileno(ptr noundef %5742) #12
  %5744 = call i32 @isatty(i32 noundef %5743) #12
  %.not1346 = icmp eq i32 %5744, 0
  br i1 %.not1346, label %5745, label %5746

5745:                                             ; preds = %5741, %5735
  br label %5746

5746:                                             ; preds = %5741, %5745
  %.str.5.sink3798 = phi ptr [ @.str.5, %5745 ], [ @.str.2, %5741 ]
  store i32 %5736, ptr %1549, align 4, !tbaa !5
  %5747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5748 = load i32, ptr @test_count, align 4, !tbaa !5
  %5749 = load i32, ptr %1495, align 4, !tbaa !5
  %5750 = call ptr @s2n_strerror(i32 noundef %5749, ptr noundef nonnull @.str.4) #12
  %5751 = load i32, ptr %1495, align 4, !tbaa !5
  %5752 = call ptr @s2n_strerror_debug(i32 noundef %5751, ptr noundef nonnull @.str.4) #12
  %5753 = load i32, ptr %1549, align 4, !tbaa !5
  %5754 = call ptr @strerror(i32 noundef %5753) #12
  %5755 = load i32, ptr %1549, align 4, !tbaa !5
  %5756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5747, ptr noundef nonnull %.str.5.sink3798, i32 noundef %5748, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 530, ptr noundef %5750, ptr noundef %5752, ptr noundef %5754, i32 noundef %5755) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5757:                                             ; preds = %5730
  %5758 = add nsw i32 %5731, 2
  store i32 %5758, ptr @test_count, align 4, !tbaa !5
  %5759 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.4) #12
  %5760 = icmp eq ptr %5759, null
  br i1 %5760, label %5761, label %5783

5761:                                             ; preds = %5757
  %5762 = load i32, ptr %1549, align 4, !tbaa !5
  %5763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5764 = call i32 @s2n_print_stacktrace(ptr noundef %5763) #12
  %5765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5766 = trunc nuw i8 %5765 to i1
  br i1 %5766, label %5767, label %5771

5767:                                             ; preds = %5761
  %5768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5769 = call i32 @fileno(ptr noundef %5768) #12
  %5770 = call i32 @isatty(i32 noundef %5769) #12
  %.not1680 = icmp eq i32 %5770, 0
  br i1 %.not1680, label %5771, label %5772

5771:                                             ; preds = %5767, %5761
  br label %5772

5772:                                             ; preds = %5767, %5771
  %.str.5.sink3807 = phi ptr [ @.str.5, %5771 ], [ @.str.2, %5767 ]
  store i32 %5762, ptr %1549, align 4, !tbaa !5
  %5773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5774 = load i32, ptr @test_count, align 4, !tbaa !5
  %5775 = load i32, ptr %1495, align 4, !tbaa !5
  %5776 = call ptr @s2n_strerror(i32 noundef %5775, ptr noundef nonnull @.str.4) #12
  %5777 = load i32, ptr %1495, align 4, !tbaa !5
  %5778 = call ptr @s2n_strerror_debug(i32 noundef %5777, ptr noundef nonnull @.str.4) #12
  %5779 = load i32, ptr %1549, align 4, !tbaa !5
  %5780 = call ptr @strerror(i32 noundef %5779) #12
  %5781 = load i32, ptr %1549, align 4, !tbaa !5
  %5782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5773, ptr noundef nonnull %.str.5.sink3807, i32 noundef %5774, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 530, ptr noundef %5776, ptr noundef %5778, ptr noundef %5780, i32 noundef %5781) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5783:                                             ; preds = %5757
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %5784 = load i32, ptr @test_count, align 4, !tbaa !5
  %5785 = add nsw i32 %5784, 1
  store i32 %5785, ptr @test_count, align 4, !tbaa !5
  %5786 = load ptr, ptr %36, align 8, !tbaa !9
  %5787 = load i32, ptr %5786, align 8
  %5788 = and i32 %5787, 4096
  %.not1347 = icmp eq i32 %5788, 0
  br i1 %.not1347, label %5789, label %5811

5789:                                             ; preds = %5783
  %5790 = load i32, ptr %1549, align 4, !tbaa !5
  %5791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5792 = call i32 @s2n_print_stacktrace(ptr noundef %5791) #12
  %5793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5794 = trunc nuw i8 %5793 to i1
  br i1 %5794, label %5795, label %5799

5795:                                             ; preds = %5789
  %5796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5797 = call i32 @fileno(ptr noundef %5796) #12
  %5798 = call i32 @isatty(i32 noundef %5797) #12
  %.not1348 = icmp eq i32 %5798, 0
  br i1 %.not1348, label %5799, label %5800

5799:                                             ; preds = %5795, %5789
  br label %5800

5800:                                             ; preds = %5795, %5799
  %.str.5.sink3816 = phi ptr [ @.str.5, %5799 ], [ @.str.2, %5795 ]
  store i32 %5790, ptr %1549, align 4, !tbaa !5
  %5801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5802 = load i32, ptr @test_count, align 4, !tbaa !5
  %5803 = load i32, ptr %1495, align 4, !tbaa !5
  %5804 = call ptr @s2n_strerror(i32 noundef %5803, ptr noundef nonnull @.str.4) #12
  %5805 = load i32, ptr %1495, align 4, !tbaa !5
  %5806 = call ptr @s2n_strerror_debug(i32 noundef %5805, ptr noundef nonnull @.str.4) #12
  %5807 = load i32, ptr %1549, align 4, !tbaa !5
  %5808 = call ptr @strerror(i32 noundef %5807) #12
  %5809 = load i32, ptr %1549, align 4, !tbaa !5
  %5810 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5801, ptr noundef nonnull %.str.5.sink3816, i32 noundef %5802, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %5804, ptr noundef %5806, ptr noundef %5808, i32 noundef %5809) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5811:                                             ; preds = %5783
  %5812 = and i32 %5787, -4097
  store i32 %5812, ptr %5786, align 8
  %5813 = load i32, ptr @test_count, align 4, !tbaa !5
  %5814 = add nsw i32 %5813, 1
  store i32 %5814, ptr @test_count, align 4, !tbaa !5
  %5815 = load ptr, ptr %36, align 8, !tbaa !9
  %5816 = call i32 @s2n_config_set_verify_after_sign(ptr noundef %5815, i32 noundef 255) #12
  %5817 = icmp eq i32 %5816, -1
  br i1 %5817, label %5840, label %5818

5818:                                             ; preds = %5811
  %5819 = load i32, ptr %1549, align 4, !tbaa !5
  %5820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5821 = call i32 @s2n_print_stacktrace(ptr noundef %5820) #12
  %5822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5823 = trunc nuw i8 %5822 to i1
  br i1 %5823, label %5824, label %5828

5824:                                             ; preds = %5818
  %5825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5826 = call i32 @fileno(ptr noundef %5825) #12
  %5827 = call i32 @isatty(i32 noundef %5826) #12
  %.not1349 = icmp eq i32 %5827, 0
  br i1 %.not1349, label %5828, label %5829

5828:                                             ; preds = %5824, %5818
  br label %5829

5829:                                             ; preds = %5824, %5828
  %.str.5.sink3825 = phi ptr [ @.str.5, %5828 ], [ @.str.2, %5824 ]
  store i32 %5819, ptr %1549, align 4, !tbaa !5
  %5830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5831 = load i32, ptr @test_count, align 4, !tbaa !5
  %5832 = load i32, ptr %1495, align 4, !tbaa !5
  %5833 = call ptr @s2n_strerror(i32 noundef %5832, ptr noundef nonnull @.str.4) #12
  %5834 = load i32, ptr %1495, align 4, !tbaa !5
  %5835 = call ptr @s2n_strerror_debug(i32 noundef %5834, ptr noundef nonnull @.str.4) #12
  %5836 = load i32, ptr %1549, align 4, !tbaa !5
  %5837 = call ptr @strerror(i32 noundef %5836) #12
  %5838 = load i32, ptr %1549, align 4, !tbaa !5
  %5839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5830, ptr noundef nonnull %.str.5.sink3825, i32 noundef %5831, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 533, ptr noundef %5833, ptr noundef %5835, ptr noundef %5837, i32 noundef %5838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5840:                                             ; preds = %5811
  %5841 = load i32, ptr @test_count, align 4, !tbaa !5
  %5842 = add nsw i32 %5841, 1
  store i32 %5842, ptr @test_count, align 4, !tbaa !5
  %5843 = load i32, ptr %1495, align 4, !tbaa !5
  %5844 = icmp eq i32 %5843, 469762089
  br i1 %5844, label %5867, label %5845

5845:                                             ; preds = %5840
  %5846 = load i32, ptr %1549, align 4, !tbaa !5
  %5847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5848 = call i32 @s2n_print_stacktrace(ptr noundef %5847) #12
  %5849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5850 = trunc nuw i8 %5849 to i1
  br i1 %5850, label %5851, label %5855

5851:                                             ; preds = %5845
  %5852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5853 = call i32 @fileno(ptr noundef %5852) #12
  %5854 = call i32 @isatty(i32 noundef %5853) #12
  %.not1350 = icmp eq i32 %5854, 0
  br i1 %.not1350, label %5855, label %5856

5855:                                             ; preds = %5851, %5845
  br label %5856

5856:                                             ; preds = %5851, %5855
  %.str.5.sink3834 = phi ptr [ @.str.5, %5855 ], [ @.str.2, %5851 ]
  store i32 %5846, ptr %1549, align 4, !tbaa !5
  %5857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5858 = load i32, ptr @test_count, align 4, !tbaa !5
  %5859 = load i32, ptr %1495, align 4, !tbaa !5
  %5860 = call ptr @s2n_strerror(i32 noundef %5859, ptr noundef nonnull @.str.4) #12
  %5861 = load i32, ptr %1495, align 4, !tbaa !5
  %5862 = call ptr @s2n_strerror_debug(i32 noundef %5861, ptr noundef nonnull @.str.4) #12
  %5863 = load i32, ptr %1549, align 4, !tbaa !5
  %5864 = call ptr @strerror(i32 noundef %5863) #12
  %5865 = load i32, ptr %1549, align 4, !tbaa !5
  %5866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5857, ptr noundef nonnull %.str.5.sink3834, i32 noundef %5858, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 533, ptr noundef %5860, ptr noundef %5862, ptr noundef %5864, i32 noundef %5865) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5867:                                             ; preds = %5840
  %5868 = add nsw i32 %5841, 2
  store i32 %5868, ptr @test_count, align 4, !tbaa !5
  %5869 = call ptr @s2n_strerror_debug(i32 noundef 469762089, ptr noundef nonnull @.str.4) #12
  %5870 = icmp eq ptr %5869, null
  br i1 %5870, label %5871, label %5893

5871:                                             ; preds = %5867
  %5872 = load i32, ptr %1549, align 4, !tbaa !5
  %5873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5874 = call i32 @s2n_print_stacktrace(ptr noundef %5873) #12
  %5875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5876 = trunc nuw i8 %5875 to i1
  br i1 %5876, label %5877, label %5881

5877:                                             ; preds = %5871
  %5878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5879 = call i32 @fileno(ptr noundef %5878) #12
  %5880 = call i32 @isatty(i32 noundef %5879) #12
  %.not1679 = icmp eq i32 %5880, 0
  br i1 %.not1679, label %5881, label %5882

5881:                                             ; preds = %5877, %5871
  br label %5882

5882:                                             ; preds = %5877, %5881
  %.str.5.sink3843 = phi ptr [ @.str.5, %5881 ], [ @.str.2, %5877 ]
  store i32 %5872, ptr %1549, align 4, !tbaa !5
  %5883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5884 = load i32, ptr @test_count, align 4, !tbaa !5
  %5885 = load i32, ptr %1495, align 4, !tbaa !5
  %5886 = call ptr @s2n_strerror(i32 noundef %5885, ptr noundef nonnull @.str.4) #12
  %5887 = load i32, ptr %1495, align 4, !tbaa !5
  %5888 = call ptr @s2n_strerror_debug(i32 noundef %5887, ptr noundef nonnull @.str.4) #12
  %5889 = load i32, ptr %1549, align 4, !tbaa !5
  %5890 = call ptr @strerror(i32 noundef %5889) #12
  %5891 = load i32, ptr %1549, align 4, !tbaa !5
  %5892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5883, ptr noundef nonnull %.str.5.sink3843, i32 noundef %5884, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 533, ptr noundef %5886, ptr noundef %5888, ptr noundef %5890, i32 noundef %5891) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5893:                                             ; preds = %5867
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %5894 = load i32, ptr @test_count, align 4, !tbaa !5
  %5895 = add nsw i32 %5894, 1
  store i32 %5895, ptr @test_count, align 4, !tbaa !5
  %5896 = load ptr, ptr %36, align 8, !tbaa !9
  %5897 = load i32, ptr %5896, align 8
  %5898 = and i32 %5897, 4096
  %.not1351 = icmp eq i32 %5898, 0
  br i1 %.not1351, label %5921, label %5899

5899:                                             ; preds = %5893
  %5900 = load i32, ptr %1549, align 4, !tbaa !5
  %5901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5902 = call i32 @s2n_print_stacktrace(ptr noundef %5901) #12
  %5903 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5904 = trunc nuw i8 %5903 to i1
  br i1 %5904, label %5905, label %5909

5905:                                             ; preds = %5899
  %5906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5907 = call i32 @fileno(ptr noundef %5906) #12
  %5908 = call i32 @isatty(i32 noundef %5907) #12
  %.not1678 = icmp eq i32 %5908, 0
  br i1 %.not1678, label %5909, label %5910

5909:                                             ; preds = %5905, %5899
  br label %5910

5910:                                             ; preds = %5905, %5909
  %.str.5.sink3852 = phi ptr [ @.str.5, %5909 ], [ @.str.2, %5905 ]
  store i32 %5900, ptr %1549, align 4, !tbaa !5
  %5911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5912 = load i32, ptr @test_count, align 4, !tbaa !5
  %5913 = load i32, ptr %1495, align 4, !tbaa !5
  %5914 = call ptr @s2n_strerror(i32 noundef %5913, ptr noundef nonnull @.str.4) #12
  %5915 = load i32, ptr %1495, align 4, !tbaa !5
  %5916 = call ptr @s2n_strerror_debug(i32 noundef %5915, ptr noundef nonnull @.str.4) #12
  %5917 = load i32, ptr %1549, align 4, !tbaa !5
  %5918 = call ptr @strerror(i32 noundef %5917) #12
  %5919 = load i32, ptr %1549, align 4, !tbaa !5
  %5920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5911, ptr noundef nonnull %.str.5.sink3852, i32 noundef %5912, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 534, ptr noundef %5914, ptr noundef %5916, ptr noundef %5918, i32 noundef %5919) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5921:                                             ; preds = %5893
  %5922 = add nsw i32 %5894, 2
  store i32 %5922, ptr @test_count, align 4, !tbaa !5
  %5923 = call i32 @s2n_config_set_verify_after_sign(ptr noundef nonnull %5896, i32 noundef 1) #12
  %5924 = icmp eq i32 %5923, -1
  br i1 %5924, label %5925, label %5947

5925:                                             ; preds = %5921
  %5926 = load i32, ptr %1549, align 4, !tbaa !5
  %5927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5928 = call i32 @s2n_print_stacktrace(ptr noundef %5927) #12
  %5929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5930 = trunc nuw i8 %5929 to i1
  br i1 %5930, label %5931, label %5935

5931:                                             ; preds = %5925
  %5932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5933 = call i32 @fileno(ptr noundef %5932) #12
  %5934 = call i32 @isatty(i32 noundef %5933) #12
  %.not1677 = icmp eq i32 %5934, 0
  br i1 %.not1677, label %5935, label %5936

5935:                                             ; preds = %5931, %5925
  br label %5936

5936:                                             ; preds = %5931, %5935
  %.str.5.sink3861 = phi ptr [ @.str.5, %5935 ], [ @.str.2, %5931 ]
  store i32 %5926, ptr %1549, align 4, !tbaa !5
  %5937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5938 = load i32, ptr @test_count, align 4, !tbaa !5
  %5939 = load i32, ptr %1495, align 4, !tbaa !5
  %5940 = call ptr @s2n_strerror(i32 noundef %5939, ptr noundef nonnull @.str.4) #12
  %5941 = load i32, ptr %1495, align 4, !tbaa !5
  %5942 = call ptr @s2n_strerror_debug(i32 noundef %5941, ptr noundef nonnull @.str.4) #12
  %5943 = load i32, ptr %1549, align 4, !tbaa !5
  %5944 = call ptr @strerror(i32 noundef %5943) #12
  %5945 = load i32, ptr %1549, align 4, !tbaa !5
  %5946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5937, ptr noundef nonnull %.str.5.sink3861, i32 noundef %5938, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 537, ptr noundef %5940, ptr noundef %5942, ptr noundef %5944, i32 noundef %5945) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5947:                                             ; preds = %5921
  %5948 = load i32, ptr @test_count, align 4, !tbaa !5
  %5949 = add nsw i32 %5948, 1
  store i32 %5949, ptr @test_count, align 4, !tbaa !5
  %5950 = load ptr, ptr %36, align 8, !tbaa !9
  %5951 = load i32, ptr %5950, align 8
  %5952 = and i32 %5951, 4096
  %.not1352 = icmp eq i32 %5952, 0
  br i1 %.not1352, label %5953, label %5975

5953:                                             ; preds = %5947
  %5954 = load i32, ptr %1549, align 4, !tbaa !5
  %5955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5956 = call i32 @s2n_print_stacktrace(ptr noundef %5955) #12
  %5957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5958 = trunc nuw i8 %5957 to i1
  br i1 %5958, label %5959, label %5963

5959:                                             ; preds = %5953
  %5960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5961 = call i32 @fileno(ptr noundef %5960) #12
  %5962 = call i32 @isatty(i32 noundef %5961) #12
  %.not1353 = icmp eq i32 %5962, 0
  br i1 %.not1353, label %5963, label %5964

5963:                                             ; preds = %5959, %5953
  br label %5964

5964:                                             ; preds = %5959, %5963
  %.str.5.sink3870 = phi ptr [ @.str.5, %5963 ], [ @.str.2, %5959 ]
  store i32 %5954, ptr %1549, align 4, !tbaa !5
  %5965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5966 = load i32, ptr @test_count, align 4, !tbaa !5
  %5967 = load i32, ptr %1495, align 4, !tbaa !5
  %5968 = call ptr @s2n_strerror(i32 noundef %5967, ptr noundef nonnull @.str.4) #12
  %5969 = load i32, ptr %1495, align 4, !tbaa !5
  %5970 = call ptr @s2n_strerror_debug(i32 noundef %5969, ptr noundef nonnull @.str.4) #12
  %5971 = load i32, ptr %1549, align 4, !tbaa !5
  %5972 = call ptr @strerror(i32 noundef %5971) #12
  %5973 = load i32, ptr %1549, align 4, !tbaa !5
  %5974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5965, ptr noundef nonnull %.str.5.sink3870, i32 noundef %5966, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 538, ptr noundef %5968, ptr noundef %5970, ptr noundef %5972, i32 noundef %5973) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5975:                                             ; preds = %5947
  %5976 = add nsw i32 %5948, 2
  store i32 %5976, ptr @test_count, align 4, !tbaa !5
  %5977 = call i32 @s2n_config_set_verify_after_sign(ptr noundef nonnull %5950, i32 noundef 0) #12
  %5978 = icmp eq i32 %5977, -1
  br i1 %5978, label %5979, label %6001

5979:                                             ; preds = %5975
  %5980 = load i32, ptr %1549, align 4, !tbaa !5
  %5981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5982 = call i32 @s2n_print_stacktrace(ptr noundef %5981) #12
  %5983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5984 = trunc nuw i8 %5983 to i1
  br i1 %5984, label %5985, label %5989

5985:                                             ; preds = %5979
  %5986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5987 = call i32 @fileno(ptr noundef %5986) #12
  %5988 = call i32 @isatty(i32 noundef %5987) #12
  %.not1676 = icmp eq i32 %5988, 0
  br i1 %.not1676, label %5989, label %5990

5989:                                             ; preds = %5985, %5979
  br label %5990

5990:                                             ; preds = %5985, %5989
  %.str.5.sink3879 = phi ptr [ @.str.5, %5989 ], [ @.str.2, %5985 ]
  store i32 %5980, ptr %1549, align 4, !tbaa !5
  %5991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5992 = load i32, ptr @test_count, align 4, !tbaa !5
  %5993 = load i32, ptr %1495, align 4, !tbaa !5
  %5994 = call ptr @s2n_strerror(i32 noundef %5993, ptr noundef nonnull @.str.4) #12
  %5995 = load i32, ptr %1495, align 4, !tbaa !5
  %5996 = call ptr @s2n_strerror_debug(i32 noundef %5995, ptr noundef nonnull @.str.4) #12
  %5997 = load i32, ptr %1549, align 4, !tbaa !5
  %5998 = call ptr @strerror(i32 noundef %5997) #12
  %5999 = load i32, ptr %1549, align 4, !tbaa !5
  %6000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5991, ptr noundef nonnull %.str.5.sink3879, i32 noundef %5992, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 539, ptr noundef %5994, ptr noundef %5996, ptr noundef %5998, i32 noundef %5999) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6001:                                             ; preds = %5975
  %6002 = load i32, ptr @test_count, align 4, !tbaa !5
  %6003 = add nsw i32 %6002, 1
  store i32 %6003, ptr @test_count, align 4, !tbaa !5
  %6004 = load ptr, ptr %36, align 8, !tbaa !9
  %6005 = load i32, ptr %6004, align 8
  %6006 = and i32 %6005, 4096
  %.not1354 = icmp eq i32 %6006, 0
  br i1 %.not1354, label %6029, label %6007

6007:                                             ; preds = %6001
  %6008 = load i32, ptr %1549, align 4, !tbaa !5
  %6009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6010 = call i32 @s2n_print_stacktrace(ptr noundef %6009) #12
  %6011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6012 = trunc nuw i8 %6011 to i1
  br i1 %6012, label %6013, label %6017

6013:                                             ; preds = %6007
  %6014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6015 = call i32 @fileno(ptr noundef %6014) #12
  %6016 = call i32 @isatty(i32 noundef %6015) #12
  %.not1675 = icmp eq i32 %6016, 0
  br i1 %.not1675, label %6017, label %6018

6017:                                             ; preds = %6013, %6007
  br label %6018

6018:                                             ; preds = %6013, %6017
  %.str.5.sink3888 = phi ptr [ @.str.5, %6017 ], [ @.str.2, %6013 ]
  store i32 %6008, ptr %1549, align 4, !tbaa !5
  %6019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6020 = load i32, ptr @test_count, align 4, !tbaa !5
  %6021 = load i32, ptr %1495, align 4, !tbaa !5
  %6022 = call ptr @s2n_strerror(i32 noundef %6021, ptr noundef nonnull @.str.4) #12
  %6023 = load i32, ptr %1495, align 4, !tbaa !5
  %6024 = call ptr @s2n_strerror_debug(i32 noundef %6023, ptr noundef nonnull @.str.4) #12
  %6025 = load i32, ptr %1549, align 4, !tbaa !5
  %6026 = call ptr @strerror(i32 noundef %6025) #12
  %6027 = load i32, ptr %1549, align 4, !tbaa !5
  %6028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6019, ptr noundef nonnull %.str.5.sink3888, i32 noundef %6020, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 540, ptr noundef %6022, ptr noundef %6024, ptr noundef %6026, i32 noundef %6027) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6029:                                             ; preds = %6001
  %6030 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #12
  store i8 0, ptr %37, align 1, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %38) #12
  %6031 = call ptr @s2n_config_new() #12
  store ptr %6031, ptr %38, align 8, !tbaa !9
  %6032 = load i32, ptr @test_count, align 4, !tbaa !5
  %6033 = add nsw i32 %6032, 1
  store i32 %6033, ptr @test_count, align 4, !tbaa !5
  %6034 = icmp eq ptr %6031, null
  br i1 %6034, label %6035, label %6057

6035:                                             ; preds = %6029
  %6036 = load i32, ptr %1549, align 4, !tbaa !5
  %6037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6038 = call i32 @s2n_print_stacktrace(ptr noundef %6037) #12
  %6039 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6040 = trunc nuw i8 %6039 to i1
  br i1 %6040, label %6041, label %6045

6041:                                             ; preds = %6035
  %6042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6043 = call i32 @fileno(ptr noundef %6042) #12
  %6044 = call i32 @isatty(i32 noundef %6043) #12
  %.not1674 = icmp eq i32 %6044, 0
  br i1 %.not1674, label %6045, label %6046

6045:                                             ; preds = %6041, %6035
  br label %6046

6046:                                             ; preds = %6041, %6045
  %.str.5.sink3897 = phi ptr [ @.str.5, %6045 ], [ @.str.2, %6041 ]
  store i32 %6036, ptr %1549, align 4, !tbaa !5
  %6047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6048 = load i32, ptr @test_count, align 4, !tbaa !5
  %6049 = load i32, ptr %1495, align 4, !tbaa !5
  %6050 = call ptr @s2n_strerror(i32 noundef %6049, ptr noundef nonnull @.str.4) #12
  %6051 = load i32, ptr %1495, align 4, !tbaa !5
  %6052 = call ptr @s2n_strerror_debug(i32 noundef %6051, ptr noundef nonnull @.str.4) #12
  %6053 = load i32, ptr %1549, align 4, !tbaa !5
  %6054 = call ptr @strerror(i32 noundef %6053) #12
  %6055 = load i32, ptr %1549, align 4, !tbaa !5
  %6056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6047, ptr noundef nonnull %.str.5.sink3897, i32 noundef %6048, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 547, ptr noundef %6050, ptr noundef %6052, ptr noundef %6054, i32 noundef %6055) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6057:                                             ; preds = %6029
  %6058 = add nsw i32 %6032, 2
  store i32 %6058, ptr @test_count, align 4, !tbaa !5
  %6059 = getelementptr inbounds i8, ptr %6031, i64 432
  %6060 = load ptr, ptr %6059, align 8, !tbaa !60
  %6061 = icmp eq ptr %6060, null
  br i1 %6061, label %6084, label %6062

6062:                                             ; preds = %6057
  %6063 = load i32, ptr %1549, align 4, !tbaa !5
  %6064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6065 = call i32 @s2n_print_stacktrace(ptr noundef %6064) #12
  %6066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6067 = trunc nuw i8 %6066 to i1
  br i1 %6067, label %6068, label %6072

6068:                                             ; preds = %6062
  %6069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6070 = call i32 @fileno(ptr noundef %6069) #12
  %6071 = call i32 @isatty(i32 noundef %6070) #12
  %.not1355 = icmp eq i32 %6071, 0
  br i1 %.not1355, label %6072, label %6073

6072:                                             ; preds = %6068, %6062
  br label %6073

6073:                                             ; preds = %6068, %6072
  %.str.5.sink3906 = phi ptr [ @.str.5, %6072 ], [ @.str.2, %6068 ]
  store i32 %6063, ptr %1549, align 4, !tbaa !5
  %6074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6075 = load i32, ptr @test_count, align 4, !tbaa !5
  %6076 = load i32, ptr %1495, align 4, !tbaa !5
  %6077 = call ptr @s2n_strerror(i32 noundef %6076, ptr noundef nonnull @.str.4) #12
  %6078 = load i32, ptr %1495, align 4, !tbaa !5
  %6079 = call ptr @s2n_strerror_debug(i32 noundef %6078, ptr noundef nonnull @.str.4) #12
  %6080 = load i32, ptr %1549, align 4, !tbaa !5
  %6081 = call ptr @strerror(i32 noundef %6080) #12
  %6082 = load i32, ptr %1549, align 4, !tbaa !5
  %6083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6074, ptr noundef nonnull %.str.5.sink3906, i32 noundef %6075, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 550, ptr noundef %6077, ptr noundef %6079, ptr noundef %6081, i32 noundef %6082) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6084:                                             ; preds = %6057
  %6085 = add nsw i32 %6032, 3
  store i32 %6085, ptr @test_count, align 4, !tbaa !5
  %6086 = getelementptr inbounds i8, ptr %6031, i64 424
  %6087 = load ptr, ptr %6086, align 8, !tbaa !61
  %6088 = icmp eq ptr %6087, null
  br i1 %6088, label %6111, label %6089

6089:                                             ; preds = %6084
  %6090 = load i32, ptr %1549, align 4, !tbaa !5
  %6091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6092 = call i32 @s2n_print_stacktrace(ptr noundef %6091) #12
  %6093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6094 = trunc nuw i8 %6093 to i1
  br i1 %6094, label %6095, label %6099

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

6099:                                             ; preds = %6095, %6089
  br label %6100

6100:                                             ; preds = %6095, %6099
  %.str.5.sink3915 = phi ptr [ @.str.5, %6099 ], [ @.str.2, %6095 ]
  store i32 %6090, ptr %1549, align 4, !tbaa !5
  %6101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6102 = load i32, ptr @test_count, align 4, !tbaa !5
  %6103 = load i32, ptr %1495, align 4, !tbaa !5
  %6104 = call ptr @s2n_strerror(i32 noundef %6103, ptr noundef nonnull @.str.4) #12
  %6105 = load i32, ptr %1495, align 4, !tbaa !5
  %6106 = call ptr @s2n_strerror_debug(i32 noundef %6105, ptr noundef nonnull @.str.4) #12
  %6107 = load i32, ptr %1549, align 4, !tbaa !5
  %6108 = call ptr @strerror(i32 noundef %6107) #12
  %6109 = load i32, ptr %1549, align 4, !tbaa !5
  %6110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6101, ptr noundef nonnull %.str.5.sink3915, i32 noundef %6102, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 551, ptr noundef %6104, ptr noundef %6106, ptr noundef %6108, i32 noundef %6109) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6111:                                             ; preds = %6084
  %6112 = add nsw i32 %6032, 4
  store i32 %6112, ptr @test_count, align 4, !tbaa !5
  %6113 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef null, ptr noundef nonnull @s2n_test_reneg_req_cb, ptr noundef nonnull %37) #12
  %6114 = icmp eq i32 %6113, -1
  br i1 %6114, label %6137, label %6115

6115:                                             ; preds = %6111
  %6116 = load i32, ptr %1549, align 4, !tbaa !5
  %6117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6118 = call i32 @s2n_print_stacktrace(ptr noundef %6117) #12
  %6119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6120 = trunc nuw i8 %6119 to i1
  br i1 %6120, label %6121, label %6125

6121:                                             ; preds = %6115
  %6122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6123 = call i32 @fileno(ptr noundef %6122) #12
  %6124 = call i32 @isatty(i32 noundef %6123) #12
  %.not1357 = icmp eq i32 %6124, 0
  br i1 %.not1357, label %6125, label %6126

6125:                                             ; preds = %6121, %6115
  br label %6126

6126:                                             ; preds = %6121, %6125
  %.str.5.sink3924 = phi ptr [ @.str.5, %6125 ], [ @.str.2, %6121 ]
  store i32 %6116, ptr %1549, align 4, !tbaa !5
  %6127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6128 = load i32, ptr @test_count, align 4, !tbaa !5
  %6129 = load i32, ptr %1495, align 4, !tbaa !5
  %6130 = call ptr @s2n_strerror(i32 noundef %6129, ptr noundef nonnull @.str.4) #12
  %6131 = load i32, ptr %1495, align 4, !tbaa !5
  %6132 = call ptr @s2n_strerror_debug(i32 noundef %6131, ptr noundef nonnull @.str.4) #12
  %6133 = load i32, ptr %1549, align 4, !tbaa !5
  %6134 = call ptr @strerror(i32 noundef %6133) #12
  %6135 = load i32, ptr %1549, align 4, !tbaa !5
  %6136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6127, ptr noundef nonnull %.str.5.sink3924, i32 noundef %6128, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 554, ptr noundef %6130, ptr noundef %6132, ptr noundef %6134, i32 noundef %6135) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6137:                                             ; preds = %6111
  %6138 = load i32, ptr @test_count, align 4, !tbaa !5
  %6139 = add nsw i32 %6138, 1
  store i32 %6139, ptr @test_count, align 4, !tbaa !5
  %6140 = load i32, ptr %1495, align 4, !tbaa !5
  %6141 = icmp eq i32 %6140, 402653193
  br i1 %6141, label %6164, label %6142

6142:                                             ; preds = %6137
  %6143 = load i32, ptr %1549, 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
  %.not1358 = icmp eq i32 %6151, 0
  br i1 %.not1358, label %6152, label %6153

6152:                                             ; preds = %6148, %6142
  br label %6153

6153:                                             ; preds = %6148, %6152
  %.str.5.sink3933 = phi ptr [ @.str.5, %6152 ], [ @.str.2, %6148 ]
  store i32 %6143, ptr %1549, 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 %1495, align 4, !tbaa !5
  %6157 = call ptr @s2n_strerror(i32 noundef %6156, ptr noundef nonnull @.str.4) #12
  %6158 = load i32, ptr %1495, align 4, !tbaa !5
  %6159 = call ptr @s2n_strerror_debug(i32 noundef %6158, ptr noundef nonnull @.str.4) #12
  %6160 = load i32, ptr %1549, align 4, !tbaa !5
  %6161 = call ptr @strerror(i32 noundef %6160) #12
  %6162 = load i32, ptr %1549, align 4, !tbaa !5
  %6163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6154, ptr noundef nonnull %.str.5.sink3933, i32 noundef %6155, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 554, ptr noundef %6157, ptr noundef %6159, ptr noundef %6161, i32 noundef %6162) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6164:                                             ; preds = %6137
  %6165 = add nsw i32 %6138, 2
  store i32 %6165, ptr @test_count, align 4, !tbaa !5
  %6166 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %6167 = icmp eq ptr %6166, null
  br i1 %6167, label %6168, label %6190

6168:                                             ; preds = %6164
  %6169 = load i32, ptr %1549, align 4, !tbaa !5
  %6170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6171 = call i32 @s2n_print_stacktrace(ptr noundef %6170) #12
  %6172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6173 = trunc nuw i8 %6172 to i1
  br i1 %6173, label %6174, label %6178

6174:                                             ; preds = %6168
  %6175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6176 = call i32 @fileno(ptr noundef %6175) #12
  %6177 = call i32 @isatty(i32 noundef %6176) #12
  %.not1673 = icmp eq i32 %6177, 0
  br i1 %.not1673, label %6178, label %6179

6178:                                             ; preds = %6174, %6168
  br label %6179

6179:                                             ; preds = %6174, %6178
  %.str.5.sink3942 = phi ptr [ @.str.5, %6178 ], [ @.str.2, %6174 ]
  store i32 %6169, ptr %1549, align 4, !tbaa !5
  %6180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6181 = load i32, ptr @test_count, align 4, !tbaa !5
  %6182 = load i32, ptr %1495, align 4, !tbaa !5
  %6183 = call ptr @s2n_strerror(i32 noundef %6182, ptr noundef nonnull @.str.4) #12
  %6184 = load i32, ptr %1495, align 4, !tbaa !5
  %6185 = call ptr @s2n_strerror_debug(i32 noundef %6184, ptr noundef nonnull @.str.4) #12
  %6186 = load i32, ptr %1549, align 4, !tbaa !5
  %6187 = call ptr @strerror(i32 noundef %6186) #12
  %6188 = load i32, ptr %1549, align 4, !tbaa !5
  %6189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6180, ptr noundef nonnull %.str.5.sink3942, i32 noundef %6181, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 554, ptr noundef %6183, ptr noundef %6185, ptr noundef %6187, i32 noundef %6188) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6190:                                             ; preds = %6164
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %6191 = load i32, ptr @test_count, align 4, !tbaa !5
  %6192 = add nsw i32 %6191, 1
  store i32 %6192, ptr @test_count, align 4, !tbaa !5
  %6193 = load ptr, ptr %38, align 8, !tbaa !9
  %6194 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %6193, ptr noundef null, ptr noundef nonnull %37) #12
  %6195 = icmp eq i32 %6194, -1
  br i1 %6195, label %6196, label %6218

6196:                                             ; preds = %6190
  %6197 = load i32, ptr %1549, 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
  %.not1672 = icmp eq i32 %6205, 0
  br i1 %.not1672, label %6206, label %6207

6206:                                             ; preds = %6202, %6196
  br label %6207

6207:                                             ; preds = %6202, %6206
  %.str.5.sink3951 = phi ptr [ @.str.5, %6206 ], [ @.str.2, %6202 ]
  store i32 %6197, ptr %1549, 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 %1495, align 4, !tbaa !5
  %6211 = call ptr @s2n_strerror(i32 noundef %6210, ptr noundef nonnull @.str.4) #12
  %6212 = load i32, ptr %1495, align 4, !tbaa !5
  %6213 = call ptr @s2n_strerror_debug(i32 noundef %6212, ptr noundef nonnull @.str.4) #12
  %6214 = load i32, ptr %1549, align 4, !tbaa !5
  %6215 = call ptr @strerror(i32 noundef %6214) #12
  %6216 = load i32, ptr %1549, align 4, !tbaa !5
  %6217 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6208, ptr noundef nonnull %.str.5.sink3951, i32 noundef %6209, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.1, i32 noundef 555, ptr noundef %6211, ptr noundef %6213, ptr noundef %6215, i32 noundef %6216) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6218:                                             ; preds = %6190
  %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 = load ptr, ptr %38, align 8, !tbaa !9
  %6222 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %6221, ptr noundef nonnull @s2n_test_reneg_req_cb, ptr noundef null) #12
  %6223 = icmp eq i32 %6222, -1
  br i1 %6223, label %6224, label %6246

6224:                                             ; preds = %6218
  %6225 = load i32, ptr %1549, align 4, !tbaa !5
  %6226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6227 = call i32 @s2n_print_stacktrace(ptr noundef %6226) #12
  %6228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6229 = trunc nuw i8 %6228 to i1
  br i1 %6229, label %6230, label %6234

6230:                                             ; preds = %6224
  %6231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6232 = call i32 @fileno(ptr noundef %6231) #12
  %6233 = call i32 @isatty(i32 noundef %6232) #12
  %.not1671 = icmp eq i32 %6233, 0
  br i1 %.not1671, label %6234, label %6235

6234:                                             ; preds = %6230, %6224
  br label %6235

6235:                                             ; preds = %6230, %6234
  %.str.5.sink3960 = phi ptr [ @.str.5, %6234 ], [ @.str.2, %6230 ]
  store i32 %6225, ptr %1549, align 4, !tbaa !5
  %6236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6237 = load i32, ptr @test_count, align 4, !tbaa !5
  %6238 = load i32, ptr %1495, align 4, !tbaa !5
  %6239 = call ptr @s2n_strerror(i32 noundef %6238, ptr noundef nonnull @.str.4) #12
  %6240 = load i32, ptr %1495, align 4, !tbaa !5
  %6241 = call ptr @s2n_strerror_debug(i32 noundef %6240, ptr noundef nonnull @.str.4) #12
  %6242 = load i32, ptr %1549, align 4, !tbaa !5
  %6243 = call ptr @strerror(i32 noundef %6242) #12
  %6244 = load i32, ptr %1549, align 4, !tbaa !5
  %6245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6236, ptr noundef nonnull %.str.5.sink3960, i32 noundef %6237, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 556, ptr noundef %6239, ptr noundef %6241, ptr noundef %6243, i32 noundef %6244) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6246:                                             ; preds = %6218
  %6247 = load i32, ptr @test_count, align 4, !tbaa !5
  %6248 = add nsw i32 %6247, 1
  store i32 %6248, ptr @test_count, align 4, !tbaa !5
  %6249 = load ptr, ptr %38, align 8, !tbaa !9
  %6250 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef %6249, ptr noundef nonnull @s2n_test_reneg_req_cb, ptr noundef nonnull %37) #12
  %6251 = icmp eq i32 %6250, -1
  br i1 %6251, label %6252, label %6274

6252:                                             ; preds = %6246
  %6253 = load i32, ptr %1549, align 4, !tbaa !5
  %6254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6255 = call i32 @s2n_print_stacktrace(ptr noundef %6254) #12
  %6256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6257 = trunc nuw i8 %6256 to i1
  br i1 %6257, label %6258, label %6262

6258:                                             ; preds = %6252
  %6259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6260 = call i32 @fileno(ptr noundef %6259) #12
  %6261 = call i32 @isatty(i32 noundef %6260) #12
  %.not1670 = icmp eq i32 %6261, 0
  br i1 %.not1670, label %6262, label %6263

6262:                                             ; preds = %6258, %6252
  br label %6263

6263:                                             ; preds = %6258, %6262
  %.str.5.sink3969 = phi ptr [ @.str.5, %6262 ], [ @.str.2, %6258 ]
  store i32 %6253, ptr %1549, align 4, !tbaa !5
  %6264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6265 = load i32, ptr @test_count, align 4, !tbaa !5
  %6266 = load i32, ptr %1495, align 4, !tbaa !5
  %6267 = call ptr @s2n_strerror(i32 noundef %6266, ptr noundef nonnull @.str.4) #12
  %6268 = load i32, ptr %1495, align 4, !tbaa !5
  %6269 = call ptr @s2n_strerror_debug(i32 noundef %6268, ptr noundef nonnull @.str.4) #12
  %6270 = load i32, ptr %1549, align 4, !tbaa !5
  %6271 = call ptr @strerror(i32 noundef %6270) #12
  %6272 = load i32, ptr %1549, align 4, !tbaa !5
  %6273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6264, ptr noundef nonnull %.str.5.sink3969, i32 noundef %6265, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 559, ptr noundef %6267, ptr noundef %6269, ptr noundef %6271, i32 noundef %6272) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6274:                                             ; preds = %6246
  %6275 = load i32, ptr @test_count, align 4, !tbaa !5
  %6276 = add nsw i32 %6275, 1
  store i32 %6276, ptr @test_count, align 4, !tbaa !5
  %6277 = load ptr, ptr %38, align 8, !tbaa !9
  %6278 = getelementptr inbounds i8, ptr %6277, i64 432
  %6279 = load ptr, ptr %6278, align 8, !tbaa !60
  %6280 = icmp eq ptr %6279, @s2n_test_reneg_req_cb
  br i1 %6280, label %6303, label %6281

6281:                                             ; preds = %6274
  %6282 = load i32, ptr %1549, align 4, !tbaa !5
  %6283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6284 = call i32 @s2n_print_stacktrace(ptr noundef %6283) #12
  %6285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6286 = trunc nuw i8 %6285 to i1
  br i1 %6286, label %6287, label %6291

6287:                                             ; preds = %6281
  %6288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6289 = call i32 @fileno(ptr noundef %6288) #12
  %6290 = call i32 @isatty(i32 noundef %6289) #12
  %.not1359 = icmp eq i32 %6290, 0
  br i1 %.not1359, label %6291, label %6292

6291:                                             ; preds = %6287, %6281
  br label %6292

6292:                                             ; preds = %6287, %6291
  %.str.5.sink3978 = phi ptr [ @.str.5, %6291 ], [ @.str.2, %6287 ]
  store i32 %6282, ptr %1549, align 4, !tbaa !5
  %6293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6294 = load i32, ptr @test_count, align 4, !tbaa !5
  %6295 = load i32, ptr %1495, align 4, !tbaa !5
  %6296 = call ptr @s2n_strerror(i32 noundef %6295, ptr noundef nonnull @.str.4) #12
  %6297 = load i32, ptr %1495, align 4, !tbaa !5
  %6298 = call ptr @s2n_strerror_debug(i32 noundef %6297, ptr noundef nonnull @.str.4) #12
  %6299 = load i32, ptr %1549, align 4, !tbaa !5
  %6300 = call ptr @strerror(i32 noundef %6299) #12
  %6301 = load i32, ptr %1549, align 4, !tbaa !5
  %6302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6293, ptr noundef nonnull %.str.5.sink3978, i32 noundef %6294, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 560, ptr noundef %6296, ptr noundef %6298, ptr noundef %6300, i32 noundef %6301) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6303:                                             ; preds = %6274
  %6304 = add nsw i32 %6275, 2
  store i32 %6304, ptr @test_count, align 4, !tbaa !5
  %6305 = getelementptr inbounds i8, ptr %6277, i64 424
  %6306 = load ptr, ptr %6305, align 8, !tbaa !61
  %6307 = icmp eq ptr %6306, %37
  br i1 %6307, label %6330, label %6308

6308:                                             ; preds = %6303
  %6309 = load i32, ptr %1549, 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
  %.not1360 = icmp eq i32 %6317, 0
  br i1 %.not1360, label %6318, label %6319

6318:                                             ; preds = %6314, %6308
  br label %6319

6319:                                             ; preds = %6314, %6318
  %.str.5.sink3987 = phi ptr [ @.str.5, %6318 ], [ @.str.2, %6314 ]
  store i32 %6309, ptr %1549, 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 %1495, align 4, !tbaa !5
  %6323 = call ptr @s2n_strerror(i32 noundef %6322, ptr noundef nonnull @.str.4) #12
  %6324 = load i32, ptr %1495, align 4, !tbaa !5
  %6325 = call ptr @s2n_strerror_debug(i32 noundef %6324, ptr noundef nonnull @.str.4) #12
  %6326 = load i32, ptr %1549, align 4, !tbaa !5
  %6327 = call ptr @strerror(i32 noundef %6326) #12
  %6328 = load i32, ptr %1549, align 4, !tbaa !5
  %6329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6320, ptr noundef nonnull %.str.5.sink3987, i32 noundef %6321, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 561, ptr noundef %6323, ptr noundef %6325, ptr noundef %6327, i32 noundef %6328) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6330:                                             ; preds = %6303
  %6331 = add nsw i32 %6275, 3
  store i32 %6331, ptr @test_count, align 4, !tbaa !5
  %6332 = call i32 @s2n_config_set_renegotiate_request_cb(ptr noundef nonnull %6277, ptr noundef null, ptr noundef null) #12
  %6333 = icmp eq i32 %6332, -1
  br i1 %6333, label %6334, label %6356

6334:                                             ; preds = %6330
  %6335 = load i32, ptr %1549, align 4, !tbaa !5
  %6336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6337 = call i32 @s2n_print_stacktrace(ptr noundef %6336) #12
  %6338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6339 = trunc nuw i8 %6338 to i1
  br i1 %6339, label %6340, label %6344

6340:                                             ; preds = %6334
  %6341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6342 = call i32 @fileno(ptr noundef %6341) #12
  %6343 = call i32 @isatty(i32 noundef %6342) #12
  %.not1669 = icmp eq i32 %6343, 0
  br i1 %.not1669, label %6344, label %6345

6344:                                             ; preds = %6340, %6334
  br label %6345

6345:                                             ; preds = %6340, %6344
  %.str.5.sink3996 = phi ptr [ @.str.5, %6344 ], [ @.str.2, %6340 ]
  store i32 %6335, ptr %1549, align 4, !tbaa !5
  %6346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6347 = load i32, ptr @test_count, align 4, !tbaa !5
  %6348 = load i32, ptr %1495, align 4, !tbaa !5
  %6349 = call ptr @s2n_strerror(i32 noundef %6348, ptr noundef nonnull @.str.4) #12
  %6350 = load i32, ptr %1495, align 4, !tbaa !5
  %6351 = call ptr @s2n_strerror_debug(i32 noundef %6350, ptr noundef nonnull @.str.4) #12
  %6352 = load i32, ptr %1549, align 4, !tbaa !5
  %6353 = call ptr @strerror(i32 noundef %6352) #12
  %6354 = load i32, ptr %1549, align 4, !tbaa !5
  %6355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6346, ptr noundef nonnull %.str.5.sink3996, i32 noundef %6347, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 564, ptr noundef %6349, ptr noundef %6351, ptr noundef %6353, i32 noundef %6354) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6356:                                             ; preds = %6330
  %6357 = load i32, ptr @test_count, align 4, !tbaa !5
  %6358 = add nsw i32 %6357, 1
  store i32 %6358, ptr @test_count, align 4, !tbaa !5
  %6359 = load ptr, ptr %38, align 8, !tbaa !9
  %6360 = getelementptr inbounds i8, ptr %6359, i64 432
  %6361 = load ptr, ptr %6360, align 8, !tbaa !60
  %6362 = icmp eq ptr %6361, null
  br i1 %6362, label %6385, label %6363

6363:                                             ; preds = %6356
  %6364 = load i32, ptr %1549, align 4, !tbaa !5
  %6365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6366 = call i32 @s2n_print_stacktrace(ptr noundef %6365) #12
  %6367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6368 = trunc nuw i8 %6367 to i1
  br i1 %6368, label %6369, label %6373

6369:                                             ; preds = %6363
  %6370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6371 = call i32 @fileno(ptr noundef %6370) #12
  %6372 = call i32 @isatty(i32 noundef %6371) #12
  %.not1361 = icmp eq i32 %6372, 0
  br i1 %.not1361, label %6373, label %6374

6373:                                             ; preds = %6369, %6363
  br label %6374

6374:                                             ; preds = %6369, %6373
  %.str.5.sink4005 = phi ptr [ @.str.5, %6373 ], [ @.str.2, %6369 ]
  store i32 %6364, ptr %1549, align 4, !tbaa !5
  %6375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6376 = load i32, ptr @test_count, align 4, !tbaa !5
  %6377 = load i32, ptr %1495, align 4, !tbaa !5
  %6378 = call ptr @s2n_strerror(i32 noundef %6377, ptr noundef nonnull @.str.4) #12
  %6379 = load i32, ptr %1495, align 4, !tbaa !5
  %6380 = call ptr @s2n_strerror_debug(i32 noundef %6379, ptr noundef nonnull @.str.4) #12
  %6381 = load i32, ptr %1549, align 4, !tbaa !5
  %6382 = call ptr @strerror(i32 noundef %6381) #12
  %6383 = load i32, ptr %1549, align 4, !tbaa !5
  %6384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6375, ptr noundef nonnull %.str.5.sink4005, i32 noundef %6376, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 565, ptr noundef %6378, ptr noundef %6380, ptr noundef %6382, i32 noundef %6383) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6385:                                             ; preds = %6356
  %6386 = add nsw i32 %6357, 2
  store i32 %6386, ptr @test_count, align 4, !tbaa !5
  %6387 = getelementptr inbounds i8, ptr %6359, i64 424
  %6388 = load ptr, ptr %6387, align 8, !tbaa !61
  %6389 = icmp eq ptr %6388, null
  br i1 %6389, label %6412, label %6390

6390:                                             ; preds = %6385
  %6391 = load i32, ptr %1549, align 4, !tbaa !5
  %6392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6393 = call i32 @s2n_print_stacktrace(ptr noundef %6392) #12
  %6394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6395 = trunc nuw i8 %6394 to i1
  br i1 %6395, label %6396, label %6400

6396:                                             ; preds = %6390
  %6397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6398 = call i32 @fileno(ptr noundef %6397) #12
  %6399 = call i32 @isatty(i32 noundef %6398) #12
  %.not1362 = icmp eq i32 %6399, 0
  br i1 %.not1362, label %6400, label %6401

6400:                                             ; preds = %6396, %6390
  br label %6401

6401:                                             ; preds = %6396, %6400
  %.str.5.sink4014 = phi ptr [ @.str.5, %6400 ], [ @.str.2, %6396 ]
  store i32 %6391, ptr %1549, align 4, !tbaa !5
  %6402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6403 = load i32, ptr @test_count, align 4, !tbaa !5
  %6404 = load i32, ptr %1495, align 4, !tbaa !5
  %6405 = call ptr @s2n_strerror(i32 noundef %6404, ptr noundef nonnull @.str.4) #12
  %6406 = load i32, ptr %1495, align 4, !tbaa !5
  %6407 = call ptr @s2n_strerror_debug(i32 noundef %6406, ptr noundef nonnull @.str.4) #12
  %6408 = load i32, ptr %1549, align 4, !tbaa !5
  %6409 = call ptr @strerror(i32 noundef %6408) #12
  %6410 = load i32, ptr %1549, align 4, !tbaa !5
  %6411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6402, ptr noundef nonnull %.str.5.sink4014, i32 noundef %6403, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 566, ptr noundef %6405, ptr noundef %6407, ptr noundef %6409, i32 noundef %6410) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6412:                                             ; preds = %6385
  %6413 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %38) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #12
  %6414 = call ptr @s2n_config_new() #12
  store ptr %6414, ptr %39, align 8, !tbaa !9
  %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 = icmp eq ptr %6414, null
  br i1 %6417, label %6418, label %6440

6418:                                             ; preds = %6412
  %6419 = load i32, ptr %1549, align 4, !tbaa !5
  %6420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6421 = call i32 @s2n_print_stacktrace(ptr noundef %6420) #12
  %6422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6423 = trunc nuw i8 %6422 to i1
  br i1 %6423, label %6424, label %6428

6424:                                             ; preds = %6418
  %6425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6426 = call i32 @fileno(ptr noundef %6425) #12
  %6427 = call i32 @isatty(i32 noundef %6426) #12
  %.not1668 = icmp eq i32 %6427, 0
  br i1 %.not1668, label %6428, label %6429

6428:                                             ; preds = %6424, %6418
  br label %6429

6429:                                             ; preds = %6424, %6428
  %.str.5.sink4023 = phi ptr [ @.str.5, %6428 ], [ @.str.2, %6424 ]
  store i32 %6419, ptr %1549, align 4, !tbaa !5
  %6430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6431 = load i32, ptr @test_count, align 4, !tbaa !5
  %6432 = load i32, ptr %1495, align 4, !tbaa !5
  %6433 = call ptr @s2n_strerror(i32 noundef %6432, ptr noundef nonnull @.str.4) #12
  %6434 = load i32, ptr %1495, align 4, !tbaa !5
  %6435 = call ptr @s2n_strerror_debug(i32 noundef %6434, ptr noundef nonnull @.str.4) #12
  %6436 = load i32, ptr %1549, align 4, !tbaa !5
  %6437 = call ptr @strerror(i32 noundef %6436) #12
  %6438 = load i32, ptr %1549, align 4, !tbaa !5
  %6439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6430, ptr noundef nonnull %.str.5.sink4023, i32 noundef %6431, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 572, ptr noundef %6433, ptr noundef %6435, ptr noundef %6437, i32 noundef %6438) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6440:                                             ; preds = %6412
  %6441 = add nsw i32 %6415, 2
  store i32 %6441, ptr @test_count, align 4, !tbaa !5
  %6442 = load i32, ptr %6414, align 8
  %6443 = and i32 %6442, 8192
  %.not1363 = icmp eq i32 %6443, 0
  br i1 %.not1363, label %6466, label %6444

6444:                                             ; preds = %6440
  %6445 = load i32, ptr %1549, align 4, !tbaa !5
  %6446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6447 = call i32 @s2n_print_stacktrace(ptr noundef %6446) #12
  %6448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6449 = trunc nuw i8 %6448 to i1
  br i1 %6449, label %6450, label %6454

6450:                                             ; preds = %6444
  %6451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6452 = call i32 @fileno(ptr noundef %6451) #12
  %6453 = call i32 @isatty(i32 noundef %6452) #12
  %.not1667 = icmp eq i32 %6453, 0
  br i1 %.not1667, label %6454, label %6455

6454:                                             ; preds = %6450, %6444
  br label %6455

6455:                                             ; preds = %6450, %6454
  %.str.5.sink4032 = phi ptr [ @.str.5, %6454 ], [ @.str.2, %6450 ]
  store i32 %6445, ptr %1549, align 4, !tbaa !5
  %6456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6457 = load i32, ptr @test_count, align 4, !tbaa !5
  %6458 = load i32, ptr %1495, align 4, !tbaa !5
  %6459 = call ptr @s2n_strerror(i32 noundef %6458, ptr noundef nonnull @.str.4) #12
  %6460 = load i32, ptr %1495, align 4, !tbaa !5
  %6461 = call ptr @s2n_strerror_debug(i32 noundef %6460, ptr noundef nonnull @.str.4) #12
  %6462 = load i32, ptr %1549, align 4, !tbaa !5
  %6463 = call ptr @strerror(i32 noundef %6462) #12
  %6464 = load i32, ptr %1549, align 4, !tbaa !5
  %6465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6456, ptr noundef nonnull %.str.5.sink4032, i32 noundef %6457, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.1, i32 noundef 573, ptr noundef %6459, ptr noundef %6461, ptr noundef %6463, i32 noundef %6464) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6466:                                             ; preds = %6440
  %6467 = add nsw i32 %6415, 3
  store i32 %6467, ptr @test_count, align 4, !tbaa !5
  %6468 = call i32 @s2n_config_set_npn(ptr noundef null, i1 noundef zeroext true) #12
  %6469 = icmp eq i32 %6468, -1
  br i1 %6469, label %6492, label %6470

6470:                                             ; preds = %6466
  %6471 = load i32, ptr %1549, align 4, !tbaa !5
  %6472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6473 = call i32 @s2n_print_stacktrace(ptr noundef %6472) #12
  %6474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6475 = trunc nuw i8 %6474 to i1
  br i1 %6475, label %6476, label %6480

6476:                                             ; preds = %6470
  %6477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6478 = call i32 @fileno(ptr noundef %6477) #12
  %6479 = call i32 @isatty(i32 noundef %6478) #12
  %.not1364 = icmp eq i32 %6479, 0
  br i1 %.not1364, label %6480, label %6481

6480:                                             ; preds = %6476, %6470
  br label %6481

6481:                                             ; preds = %6476, %6480
  %.str.5.sink4041 = phi ptr [ @.str.5, %6480 ], [ @.str.2, %6476 ]
  store i32 %6471, ptr %1549, align 4, !tbaa !5
  %6482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6483 = load i32, ptr @test_count, align 4, !tbaa !5
  %6484 = load i32, ptr %1495, align 4, !tbaa !5
  %6485 = call ptr @s2n_strerror(i32 noundef %6484, ptr noundef nonnull @.str.4) #12
  %6486 = load i32, ptr %1495, align 4, !tbaa !5
  %6487 = call ptr @s2n_strerror_debug(i32 noundef %6486, ptr noundef nonnull @.str.4) #12
  %6488 = load i32, ptr %1549, align 4, !tbaa !5
  %6489 = call ptr @strerror(i32 noundef %6488) #12
  %6490 = load i32, ptr %1549, align 4, !tbaa !5
  %6491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6482, ptr noundef nonnull %.str.5.sink4041, i32 noundef %6483, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 576, ptr noundef %6485, ptr noundef %6487, ptr noundef %6489, i32 noundef %6490) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6492:                                             ; preds = %6466
  %6493 = load i32, ptr @test_count, align 4, !tbaa !5
  %6494 = add nsw i32 %6493, 1
  store i32 %6494, ptr @test_count, align 4, !tbaa !5
  %6495 = load i32, ptr %1495, align 4, !tbaa !5
  %6496 = icmp eq i32 %6495, 402653193
  br i1 %6496, label %6519, label %6497

6497:                                             ; preds = %6492
  %6498 = load i32, ptr %1549, align 4, !tbaa !5
  %6499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6500 = call i32 @s2n_print_stacktrace(ptr noundef %6499) #12
  %6501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6502 = trunc nuw i8 %6501 to i1
  br i1 %6502, label %6503, label %6507

6503:                                             ; preds = %6497
  %6504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6505 = call i32 @fileno(ptr noundef %6504) #12
  %6506 = call i32 @isatty(i32 noundef %6505) #12
  %.not1365 = icmp eq i32 %6506, 0
  br i1 %.not1365, label %6507, label %6508

6507:                                             ; preds = %6503, %6497
  br label %6508

6508:                                             ; preds = %6503, %6507
  %.str.5.sink4050 = phi ptr [ @.str.5, %6507 ], [ @.str.2, %6503 ]
  store i32 %6498, ptr %1549, align 4, !tbaa !5
  %6509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6510 = load i32, ptr @test_count, align 4, !tbaa !5
  %6511 = load i32, ptr %1495, align 4, !tbaa !5
  %6512 = call ptr @s2n_strerror(i32 noundef %6511, ptr noundef nonnull @.str.4) #12
  %6513 = load i32, ptr %1495, align 4, !tbaa !5
  %6514 = call ptr @s2n_strerror_debug(i32 noundef %6513, ptr noundef nonnull @.str.4) #12
  %6515 = load i32, ptr %1549, align 4, !tbaa !5
  %6516 = call ptr @strerror(i32 noundef %6515) #12
  %6517 = load i32, ptr %1549, align 4, !tbaa !5
  %6518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6509, ptr noundef nonnull %.str.5.sink4050, i32 noundef %6510, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 576, ptr noundef %6512, ptr noundef %6514, ptr noundef %6516, i32 noundef %6517) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6519:                                             ; preds = %6492
  %6520 = add nsw i32 %6493, 2
  store i32 %6520, ptr @test_count, align 4, !tbaa !5
  %6521 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %6522 = icmp eq ptr %6521, null
  br i1 %6522, label %6523, label %6545

6523:                                             ; preds = %6519
  %6524 = load i32, ptr %1549, align 4, !tbaa !5
  %6525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6526 = call i32 @s2n_print_stacktrace(ptr noundef %6525) #12
  %6527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6528 = trunc nuw i8 %6527 to i1
  br i1 %6528, label %6529, label %6533

6529:                                             ; preds = %6523
  %6530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6531 = call i32 @fileno(ptr noundef %6530) #12
  %6532 = call i32 @isatty(i32 noundef %6531) #12
  %.not1666 = icmp eq i32 %6532, 0
  br i1 %.not1666, label %6533, label %6534

6533:                                             ; preds = %6529, %6523
  br label %6534

6534:                                             ; preds = %6529, %6533
  %.str.5.sink4059 = phi ptr [ @.str.5, %6533 ], [ @.str.2, %6529 ]
  store i32 %6524, ptr %1549, align 4, !tbaa !5
  %6535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6536 = load i32, ptr @test_count, align 4, !tbaa !5
  %6537 = load i32, ptr %1495, align 4, !tbaa !5
  %6538 = call ptr @s2n_strerror(i32 noundef %6537, ptr noundef nonnull @.str.4) #12
  %6539 = load i32, ptr %1495, align 4, !tbaa !5
  %6540 = call ptr @s2n_strerror_debug(i32 noundef %6539, ptr noundef nonnull @.str.4) #12
  %6541 = load i32, ptr %1549, align 4, !tbaa !5
  %6542 = call ptr @strerror(i32 noundef %6541) #12
  %6543 = load i32, ptr %1549, align 4, !tbaa !5
  %6544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6535, ptr noundef nonnull %.str.5.sink4059, i32 noundef %6536, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 576, ptr noundef %6538, ptr noundef %6540, ptr noundef %6542, i32 noundef %6543) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6545:                                             ; preds = %6519
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %6546 = load i32, ptr @test_count, align 4, !tbaa !5
  %6547 = add nsw i32 %6546, 1
  store i32 %6547, ptr @test_count, align 4, !tbaa !5
  %6548 = load ptr, ptr %39, align 8, !tbaa !9
  %6549 = call i32 @s2n_config_set_npn(ptr noundef %6548, i1 noundef zeroext true) #12
  %6550 = icmp eq i32 %6549, -1
  br i1 %6550, label %6551, label %6573

6551:                                             ; preds = %6545
  %6552 = load i32, ptr %1549, align 4, !tbaa !5
  %6553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6554 = call i32 @s2n_print_stacktrace(ptr noundef %6553) #12
  %6555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6556 = trunc nuw i8 %6555 to i1
  br i1 %6556, label %6557, label %6561

6557:                                             ; preds = %6551
  %6558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6559 = call i32 @fileno(ptr noundef %6558) #12
  %6560 = call i32 @isatty(i32 noundef %6559) #12
  %.not1665 = icmp eq i32 %6560, 0
  br i1 %.not1665, label %6561, label %6562

6561:                                             ; preds = %6557, %6551
  br label %6562

6562:                                             ; preds = %6557, %6561
  %.str.5.sink4068 = phi ptr [ @.str.5, %6561 ], [ @.str.2, %6557 ]
  store i32 %6552, ptr %1549, align 4, !tbaa !5
  %6563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6564 = load i32, ptr @test_count, align 4, !tbaa !5
  %6565 = load i32, ptr %1495, align 4, !tbaa !5
  %6566 = call ptr @s2n_strerror(i32 noundef %6565, ptr noundef nonnull @.str.4) #12
  %6567 = load i32, ptr %1495, align 4, !tbaa !5
  %6568 = call ptr @s2n_strerror_debug(i32 noundef %6567, ptr noundef nonnull @.str.4) #12
  %6569 = load i32, ptr %1549, align 4, !tbaa !5
  %6570 = call ptr @strerror(i32 noundef %6569) #12
  %6571 = load i32, ptr %1549, align 4, !tbaa !5
  %6572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6563, ptr noundef nonnull %.str.5.sink4068, i32 noundef %6564, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 579, ptr noundef %6566, ptr noundef %6568, ptr noundef %6570, i32 noundef %6571) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6573:                                             ; preds = %6545
  %6574 = load i32, ptr @test_count, align 4, !tbaa !5
  %6575 = add nsw i32 %6574, 1
  store i32 %6575, ptr @test_count, align 4, !tbaa !5
  %6576 = load ptr, ptr %39, align 8, !tbaa !9
  %6577 = load i32, ptr %6576, align 8
  %6578 = and i32 %6577, 8192
  %.not1366 = icmp eq i32 %6578, 0
  br i1 %.not1366, label %6579, label %6601

6579:                                             ; preds = %6573
  %6580 = load i32, ptr %1549, align 4, !tbaa !5
  %6581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6582 = call i32 @s2n_print_stacktrace(ptr noundef %6581) #12
  %6583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6584 = trunc nuw i8 %6583 to i1
  br i1 %6584, label %6585, label %6589

6585:                                             ; preds = %6579
  %6586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6587 = call i32 @fileno(ptr noundef %6586) #12
  %6588 = call i32 @isatty(i32 noundef %6587) #12
  %.not1367 = icmp eq i32 %6588, 0
  br i1 %.not1367, label %6589, label %6590

6589:                                             ; preds = %6585, %6579
  br label %6590

6590:                                             ; preds = %6585, %6589
  %.str.5.sink4077 = phi ptr [ @.str.5, %6589 ], [ @.str.2, %6585 ]
  store i32 %6580, ptr %1549, align 4, !tbaa !5
  %6591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6592 = load i32, ptr @test_count, align 4, !tbaa !5
  %6593 = load i32, ptr %1495, align 4, !tbaa !5
  %6594 = call ptr @s2n_strerror(i32 noundef %6593, ptr noundef nonnull @.str.4) #12
  %6595 = load i32, ptr %1495, align 4, !tbaa !5
  %6596 = call ptr @s2n_strerror_debug(i32 noundef %6595, ptr noundef nonnull @.str.4) #12
  %6597 = load i32, ptr %1549, align 4, !tbaa !5
  %6598 = call ptr @strerror(i32 noundef %6597) #12
  %6599 = load i32, ptr %1549, align 4, !tbaa !5
  %6600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6591, ptr noundef nonnull %.str.5.sink4077, i32 noundef %6592, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 580, ptr noundef %6594, ptr noundef %6596, ptr noundef %6598, i32 noundef %6599) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6601:                                             ; preds = %6573
  %6602 = add nsw i32 %6574, 2
  store i32 %6602, ptr @test_count, align 4, !tbaa !5
  %6603 = call i32 @s2n_config_set_npn(ptr noundef nonnull %6576, i1 noundef zeroext false) #12
  %6604 = icmp eq i32 %6603, -1
  br i1 %6604, label %6605, label %6627

6605:                                             ; preds = %6601
  %6606 = load i32, ptr %1549, align 4, !tbaa !5
  %6607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6608 = call i32 @s2n_print_stacktrace(ptr noundef %6607) #12
  %6609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6610 = trunc nuw i8 %6609 to i1
  br i1 %6610, label %6611, label %6615

6611:                                             ; preds = %6605
  %6612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6613 = call i32 @fileno(ptr noundef %6612) #12
  %6614 = call i32 @isatty(i32 noundef %6613) #12
  %.not1664 = icmp eq i32 %6614, 0
  br i1 %.not1664, label %6615, label %6616

6615:                                             ; preds = %6611, %6605
  br label %6616

6616:                                             ; preds = %6611, %6615
  %.str.5.sink4086 = phi ptr [ @.str.5, %6615 ], [ @.str.2, %6611 ]
  store i32 %6606, ptr %1549, align 4, !tbaa !5
  %6617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6618 = load i32, ptr @test_count, align 4, !tbaa !5
  %6619 = load i32, ptr %1495, align 4, !tbaa !5
  %6620 = call ptr @s2n_strerror(i32 noundef %6619, ptr noundef nonnull @.str.4) #12
  %6621 = load i32, ptr %1495, align 4, !tbaa !5
  %6622 = call ptr @s2n_strerror_debug(i32 noundef %6621, ptr noundef nonnull @.str.4) #12
  %6623 = load i32, ptr %1549, align 4, !tbaa !5
  %6624 = call ptr @strerror(i32 noundef %6623) #12
  %6625 = load i32, ptr %1549, align 4, !tbaa !5
  %6626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6617, ptr noundef nonnull %.str.5.sink4086, i32 noundef %6618, ptr noundef nonnull @.str.122, ptr noundef nonnull @.str.1, i32 noundef 581, ptr noundef %6620, ptr noundef %6622, ptr noundef %6624, i32 noundef %6625) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6627:                                             ; preds = %6601
  %6628 = load i32, ptr @test_count, align 4, !tbaa !5
  %6629 = add nsw i32 %6628, 1
  store i32 %6629, ptr @test_count, align 4, !tbaa !5
  %6630 = load ptr, ptr %39, align 8, !tbaa !9
  %6631 = load i32, ptr %6630, align 8
  %6632 = and i32 %6631, 8192
  %.not1368 = icmp eq i32 %6632, 0
  br i1 %.not1368, label %6655, label %6633

6633:                                             ; preds = %6627
  %6634 = load i32, ptr %1549, align 4, !tbaa !5
  %6635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6636 = call i32 @s2n_print_stacktrace(ptr noundef %6635) #12
  %6637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6638 = trunc nuw i8 %6637 to i1
  br i1 %6638, label %6639, label %6643

6639:                                             ; preds = %6633
  %6640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6641 = call i32 @fileno(ptr noundef %6640) #12
  %6642 = call i32 @isatty(i32 noundef %6641) #12
  %.not1663 = icmp eq i32 %6642, 0
  br i1 %.not1663, label %6643, label %6644

6643:                                             ; preds = %6639, %6633
  br label %6644

6644:                                             ; preds = %6639, %6643
  %.str.5.sink4095 = phi ptr [ @.str.5, %6643 ], [ @.str.2, %6639 ]
  store i32 %6634, ptr %1549, align 4, !tbaa !5
  %6645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6646 = load i32, ptr @test_count, align 4, !tbaa !5
  %6647 = load i32, ptr %1495, align 4, !tbaa !5
  %6648 = call ptr @s2n_strerror(i32 noundef %6647, ptr noundef nonnull @.str.4) #12
  %6649 = load i32, ptr %1495, align 4, !tbaa !5
  %6650 = call ptr @s2n_strerror_debug(i32 noundef %6649, ptr noundef nonnull @.str.4) #12
  %6651 = load i32, ptr %1549, align 4, !tbaa !5
  %6652 = call ptr @strerror(i32 noundef %6651) #12
  %6653 = load i32, ptr %1549, align 4, !tbaa !5
  %6654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6645, ptr noundef nonnull %.str.5.sink4095, i32 noundef %6646, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.1, i32 noundef 582, ptr noundef %6648, ptr noundef %6650, ptr noundef %6652, i32 noundef %6653) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6655:                                             ; preds = %6627
  %6656 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %40) #12
  store i8 0, ptr %40, align 1, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #12
  %6657 = call ptr @s2n_config_new() #12
  store ptr %6657, ptr %41, align 8, !tbaa !9
  %6658 = load i32, ptr @test_count, align 4, !tbaa !5
  %6659 = add nsw i32 %6658, 1
  store i32 %6659, ptr @test_count, align 4, !tbaa !5
  %6660 = icmp eq ptr %6657, null
  br i1 %6660, label %6661, label %6683

6661:                                             ; preds = %6655
  %6662 = load i32, ptr %1549, align 4, !tbaa !5
  %6663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6664 = call i32 @s2n_print_stacktrace(ptr noundef %6663) #12
  %6665 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6666 = trunc nuw i8 %6665 to i1
  br i1 %6666, label %6667, label %6671

6667:                                             ; preds = %6661
  %6668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6669 = call i32 @fileno(ptr noundef %6668) #12
  %6670 = call i32 @isatty(i32 noundef %6669) #12
  %.not1662 = icmp eq i32 %6670, 0
  br i1 %.not1662, label %6671, label %6672

6671:                                             ; preds = %6667, %6661
  br label %6672

6672:                                             ; preds = %6667, %6671
  %.str.5.sink4104 = phi ptr [ @.str.5, %6671 ], [ @.str.2, %6667 ]
  store i32 %6662, ptr %1549, align 4, !tbaa !5
  %6673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6674 = load i32, ptr @test_count, align 4, !tbaa !5
  %6675 = load i32, ptr %1495, align 4, !tbaa !5
  %6676 = call ptr @s2n_strerror(i32 noundef %6675, ptr noundef nonnull @.str.4) #12
  %6677 = load i32, ptr %1495, align 4, !tbaa !5
  %6678 = call ptr @s2n_strerror_debug(i32 noundef %6677, ptr noundef nonnull @.str.4) #12
  %6679 = load i32, ptr %1549, align 4, !tbaa !5
  %6680 = call ptr @strerror(i32 noundef %6679) #12
  %6681 = load i32, ptr %1549, align 4, !tbaa !5
  %6682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6673, ptr noundef nonnull %.str.5.sink4104, i32 noundef %6674, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 589, ptr noundef %6676, ptr noundef %6678, ptr noundef %6680, i32 noundef %6681) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6683:                                             ; preds = %6655
  %6684 = add nsw i32 %6658, 2
  store i32 %6684, ptr @test_count, align 4, !tbaa !5
  %6685 = getelementptr inbounds i8, ptr %6657, i64 256
  %6686 = load ptr, ptr %6685, align 8, !tbaa !62
  %6687 = icmp eq ptr %6686, null
  br i1 %6687, label %6710, label %6688

6688:                                             ; preds = %6683
  %6689 = load i32, ptr %1549, align 4, !tbaa !5
  %6690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6691 = call i32 @s2n_print_stacktrace(ptr noundef %6690) #12
  %6692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6693 = trunc nuw i8 %6692 to i1
  br i1 %6693, label %6694, label %6698

6694:                                             ; preds = %6688
  %6695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6696 = call i32 @fileno(ptr noundef %6695) #12
  %6697 = call i32 @isatty(i32 noundef %6696) #12
  %.not1369 = icmp eq i32 %6697, 0
  br i1 %.not1369, label %6698, label %6699

6698:                                             ; preds = %6694, %6688
  br label %6699

6699:                                             ; preds = %6694, %6698
  %.str.5.sink4113 = phi ptr [ @.str.5, %6698 ], [ @.str.2, %6694 ]
  store i32 %6689, ptr %1549, align 4, !tbaa !5
  %6700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6701 = load i32, ptr @test_count, align 4, !tbaa !5
  %6702 = load i32, ptr %1495, align 4, !tbaa !5
  %6703 = call ptr @s2n_strerror(i32 noundef %6702, ptr noundef nonnull @.str.4) #12
  %6704 = load i32, ptr %1495, align 4, !tbaa !5
  %6705 = call ptr @s2n_strerror_debug(i32 noundef %6704, ptr noundef nonnull @.str.4) #12
  %6706 = load i32, ptr %1549, align 4, !tbaa !5
  %6707 = call ptr @strerror(i32 noundef %6706) #12
  %6708 = load i32, ptr %1549, align 4, !tbaa !5
  %6709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6700, ptr noundef nonnull %.str.5.sink4113, i32 noundef %6701, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 592, ptr noundef %6703, ptr noundef %6705, ptr noundef %6707, i32 noundef %6708) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6710:                                             ; preds = %6683
  %6711 = add nsw i32 %6658, 3
  store i32 %6711, ptr @test_count, align 4, !tbaa !5
  %6712 = getelementptr inbounds i8, ptr %6657, i64 264
  %6713 = load ptr, ptr %6712, align 8, !tbaa !63
  %6714 = icmp eq ptr %6713, null
  br i1 %6714, label %6737, label %6715

6715:                                             ; preds = %6710
  %6716 = load i32, ptr %1549, align 4, !tbaa !5
  %6717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6718 = call i32 @s2n_print_stacktrace(ptr noundef %6717) #12
  %6719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6720 = trunc nuw i8 %6719 to i1
  br i1 %6720, label %6721, label %6725

6721:                                             ; preds = %6715
  %6722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6723 = call i32 @fileno(ptr noundef %6722) #12
  %6724 = call i32 @isatty(i32 noundef %6723) #12
  %.not1370 = icmp eq i32 %6724, 0
  br i1 %.not1370, label %6725, label %6726

6725:                                             ; preds = %6721, %6715
  br label %6726

6726:                                             ; preds = %6721, %6725
  %.str.5.sink4122 = phi ptr [ @.str.5, %6725 ], [ @.str.2, %6721 ]
  store i32 %6716, ptr %1549, align 4, !tbaa !5
  %6727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6728 = load i32, ptr @test_count, align 4, !tbaa !5
  %6729 = load i32, ptr %1495, align 4, !tbaa !5
  %6730 = call ptr @s2n_strerror(i32 noundef %6729, ptr noundef nonnull @.str.4) #12
  %6731 = load i32, ptr %1495, align 4, !tbaa !5
  %6732 = call ptr @s2n_strerror_debug(i32 noundef %6731, ptr noundef nonnull @.str.4) #12
  %6733 = load i32, ptr %1549, align 4, !tbaa !5
  %6734 = call ptr @strerror(i32 noundef %6733) #12
  %6735 = load i32, ptr %1549, align 4, !tbaa !5
  %6736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6727, ptr noundef nonnull %.str.5.sink4122, i32 noundef %6728, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 593, ptr noundef %6730, ptr noundef %6732, ptr noundef %6734, i32 noundef %6735) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6737:                                             ; preds = %6710
  %6738 = add nsw i32 %6658, 4
  store i32 %6738, ptr @test_count, align 4, !tbaa !5
  %6739 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef null, ptr noundef nonnull @s2n_test_crl_lookup_cb, ptr noundef nonnull %40) #12
  %6740 = icmp eq i32 %6739, -1
  br i1 %6740, label %6763, label %6741

6741:                                             ; preds = %6737
  %6742 = load i32, ptr %1549, align 4, !tbaa !5
  %6743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6744 = call i32 @s2n_print_stacktrace(ptr noundef %6743) #12
  %6745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6746 = trunc nuw i8 %6745 to i1
  br i1 %6746, label %6747, label %6751

6747:                                             ; preds = %6741
  %6748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6749 = call i32 @fileno(ptr noundef %6748) #12
  %6750 = call i32 @isatty(i32 noundef %6749) #12
  %.not1371 = icmp eq i32 %6750, 0
  br i1 %.not1371, label %6751, label %6752

6751:                                             ; preds = %6747, %6741
  br label %6752

6752:                                             ; preds = %6747, %6751
  %.str.5.sink4131 = phi ptr [ @.str.5, %6751 ], [ @.str.2, %6747 ]
  store i32 %6742, ptr %1549, align 4, !tbaa !5
  %6753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6754 = load i32, ptr @test_count, align 4, !tbaa !5
  %6755 = load i32, ptr %1495, align 4, !tbaa !5
  %6756 = call ptr @s2n_strerror(i32 noundef %6755, ptr noundef nonnull @.str.4) #12
  %6757 = load i32, ptr %1495, align 4, !tbaa !5
  %6758 = call ptr @s2n_strerror_debug(i32 noundef %6757, ptr noundef nonnull @.str.4) #12
  %6759 = load i32, ptr %1549, align 4, !tbaa !5
  %6760 = call ptr @strerror(i32 noundef %6759) #12
  %6761 = load i32, ptr %1549, align 4, !tbaa !5
  %6762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6753, ptr noundef nonnull %.str.5.sink4131, i32 noundef %6754, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 596, ptr noundef %6756, ptr noundef %6758, ptr noundef %6760, i32 noundef %6761) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6763:                                             ; preds = %6737
  %6764 = load i32, ptr @test_count, align 4, !tbaa !5
  %6765 = add nsw i32 %6764, 1
  store i32 %6765, ptr @test_count, align 4, !tbaa !5
  %6766 = load i32, ptr %1495, align 4, !tbaa !5
  %6767 = icmp eq i32 %6766, 402653193
  br i1 %6767, label %6790, label %6768

6768:                                             ; preds = %6763
  %6769 = load i32, ptr %1549, align 4, !tbaa !5
  %6770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6771 = call i32 @s2n_print_stacktrace(ptr noundef %6770) #12
  %6772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6773 = trunc nuw i8 %6772 to i1
  br i1 %6773, label %6774, label %6778

6774:                                             ; preds = %6768
  %6775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6776 = call i32 @fileno(ptr noundef %6775) #12
  %6777 = call i32 @isatty(i32 noundef %6776) #12
  %.not1372 = icmp eq i32 %6777, 0
  br i1 %.not1372, label %6778, label %6779

6778:                                             ; preds = %6774, %6768
  br label %6779

6779:                                             ; preds = %6774, %6778
  %.str.5.sink4140 = phi ptr [ @.str.5, %6778 ], [ @.str.2, %6774 ]
  store i32 %6769, ptr %1549, align 4, !tbaa !5
  %6780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6781 = load i32, ptr @test_count, align 4, !tbaa !5
  %6782 = load i32, ptr %1495, align 4, !tbaa !5
  %6783 = call ptr @s2n_strerror(i32 noundef %6782, ptr noundef nonnull @.str.4) #12
  %6784 = load i32, ptr %1495, align 4, !tbaa !5
  %6785 = call ptr @s2n_strerror_debug(i32 noundef %6784, ptr noundef nonnull @.str.4) #12
  %6786 = load i32, ptr %1549, align 4, !tbaa !5
  %6787 = call ptr @strerror(i32 noundef %6786) #12
  %6788 = load i32, ptr %1549, align 4, !tbaa !5
  %6789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6780, ptr noundef nonnull %.str.5.sink4140, i32 noundef %6781, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 596, ptr noundef %6783, ptr noundef %6785, ptr noundef %6787, i32 noundef %6788) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6790:                                             ; preds = %6763
  %6791 = add nsw i32 %6764, 2
  store i32 %6791, ptr @test_count, align 4, !tbaa !5
  %6792 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %6793 = icmp eq ptr %6792, null
  br i1 %6793, label %6794, label %6816

6794:                                             ; preds = %6790
  %6795 = load i32, ptr %1549, align 4, !tbaa !5
  %6796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6797 = call i32 @s2n_print_stacktrace(ptr noundef %6796) #12
  %6798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6799 = trunc nuw i8 %6798 to i1
  br i1 %6799, label %6800, label %6804

6800:                                             ; preds = %6794
  %6801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6802 = call i32 @fileno(ptr noundef %6801) #12
  %6803 = call i32 @isatty(i32 noundef %6802) #12
  %.not1661 = icmp eq i32 %6803, 0
  br i1 %.not1661, label %6804, label %6805

6804:                                             ; preds = %6800, %6794
  br label %6805

6805:                                             ; preds = %6800, %6804
  %.str.5.sink4149 = phi ptr [ @.str.5, %6804 ], [ @.str.2, %6800 ]
  store i32 %6795, ptr %1549, align 4, !tbaa !5
  %6806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6807 = load i32, ptr @test_count, align 4, !tbaa !5
  %6808 = load i32, ptr %1495, align 4, !tbaa !5
  %6809 = call ptr @s2n_strerror(i32 noundef %6808, ptr noundef nonnull @.str.4) #12
  %6810 = load i32, ptr %1495, align 4, !tbaa !5
  %6811 = call ptr @s2n_strerror_debug(i32 noundef %6810, ptr noundef nonnull @.str.4) #12
  %6812 = load i32, ptr %1549, align 4, !tbaa !5
  %6813 = call ptr @strerror(i32 noundef %6812) #12
  %6814 = load i32, ptr %1549, align 4, !tbaa !5
  %6815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6806, ptr noundef nonnull %.str.5.sink4149, i32 noundef %6807, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 596, ptr noundef %6809, ptr noundef %6811, ptr noundef %6813, i32 noundef %6814) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6816:                                             ; preds = %6790
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %6817 = load i32, ptr @test_count, align 4, !tbaa !5
  %6818 = add nsw i32 %6817, 1
  store i32 %6818, ptr @test_count, align 4, !tbaa !5
  %6819 = load ptr, ptr %41, align 8, !tbaa !9
  %6820 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %6819, ptr noundef null, ptr noundef nonnull %40) #12
  %6821 = icmp eq i32 %6820, -1
  br i1 %6821, label %6822, label %6844

6822:                                             ; preds = %6816
  %6823 = load i32, ptr %1549, align 4, !tbaa !5
  %6824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6825 = call i32 @s2n_print_stacktrace(ptr noundef %6824) #12
  %6826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6827 = trunc nuw i8 %6826 to i1
  br i1 %6827, label %6828, label %6832

6828:                                             ; preds = %6822
  %6829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6830 = call i32 @fileno(ptr noundef %6829) #12
  %6831 = call i32 @isatty(i32 noundef %6830) #12
  %.not1660 = icmp eq i32 %6831, 0
  br i1 %.not1660, label %6832, label %6833

6832:                                             ; preds = %6828, %6822
  br label %6833

6833:                                             ; preds = %6828, %6832
  %.str.5.sink4158 = phi ptr [ @.str.5, %6832 ], [ @.str.2, %6828 ]
  store i32 %6823, ptr %1549, align 4, !tbaa !5
  %6834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6835 = load i32, ptr @test_count, align 4, !tbaa !5
  %6836 = load i32, ptr %1495, align 4, !tbaa !5
  %6837 = call ptr @s2n_strerror(i32 noundef %6836, ptr noundef nonnull @.str.4) #12
  %6838 = load i32, ptr %1495, align 4, !tbaa !5
  %6839 = call ptr @s2n_strerror_debug(i32 noundef %6838, ptr noundef nonnull @.str.4) #12
  %6840 = load i32, ptr %1549, align 4, !tbaa !5
  %6841 = call ptr @strerror(i32 noundef %6840) #12
  %6842 = load i32, ptr %1549, align 4, !tbaa !5
  %6843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6834, ptr noundef nonnull %.str.5.sink4158, i32 noundef %6835, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 597, ptr noundef %6837, ptr noundef %6839, ptr noundef %6841, i32 noundef %6842) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6844:                                             ; preds = %6816
  %6845 = load i32, ptr @test_count, align 4, !tbaa !5
  %6846 = add nsw i32 %6845, 1
  store i32 %6846, ptr @test_count, align 4, !tbaa !5
  %6847 = load ptr, ptr %41, align 8, !tbaa !9
  %6848 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %6847, ptr noundef nonnull @s2n_test_crl_lookup_cb, ptr noundef null) #12
  %6849 = icmp eq i32 %6848, -1
  br i1 %6849, label %6850, label %6872

6850:                                             ; preds = %6844
  %6851 = load i32, ptr %1549, align 4, !tbaa !5
  %6852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6853 = call i32 @s2n_print_stacktrace(ptr noundef %6852) #12
  %6854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6855 = trunc nuw i8 %6854 to i1
  br i1 %6855, label %6856, label %6860

6856:                                             ; preds = %6850
  %6857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6858 = call i32 @fileno(ptr noundef %6857) #12
  %6859 = call i32 @isatty(i32 noundef %6858) #12
  %.not1659 = icmp eq i32 %6859, 0
  br i1 %.not1659, label %6860, label %6861

6860:                                             ; preds = %6856, %6850
  br label %6861

6861:                                             ; preds = %6856, %6860
  %.str.5.sink4167 = phi ptr [ @.str.5, %6860 ], [ @.str.2, %6856 ]
  store i32 %6851, ptr %1549, align 4, !tbaa !5
  %6862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6863 = load i32, ptr @test_count, align 4, !tbaa !5
  %6864 = load i32, ptr %1495, align 4, !tbaa !5
  %6865 = call ptr @s2n_strerror(i32 noundef %6864, ptr noundef nonnull @.str.4) #12
  %6866 = load i32, ptr %1495, align 4, !tbaa !5
  %6867 = call ptr @s2n_strerror_debug(i32 noundef %6866, ptr noundef nonnull @.str.4) #12
  %6868 = load i32, ptr %1549, align 4, !tbaa !5
  %6869 = call ptr @strerror(i32 noundef %6868) #12
  %6870 = load i32, ptr %1549, align 4, !tbaa !5
  %6871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6862, ptr noundef nonnull %.str.5.sink4167, i32 noundef %6863, ptr noundef nonnull @.str.127, ptr noundef nonnull @.str.1, i32 noundef 598, ptr noundef %6865, ptr noundef %6867, ptr noundef %6869, i32 noundef %6870) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6872:                                             ; preds = %6844
  %6873 = load i32, ptr @test_count, align 4, !tbaa !5
  %6874 = add nsw i32 %6873, 1
  store i32 %6874, ptr @test_count, align 4, !tbaa !5
  %6875 = load ptr, ptr %41, align 8, !tbaa !9
  %6876 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef %6875, ptr noundef nonnull @s2n_test_crl_lookup_cb, ptr noundef nonnull %40) #12
  %6877 = icmp eq i32 %6876, -1
  br i1 %6877, label %6878, label %6900

6878:                                             ; preds = %6872
  %6879 = load i32, ptr %1549, align 4, !tbaa !5
  %6880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6881 = call i32 @s2n_print_stacktrace(ptr noundef %6880) #12
  %6882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6883 = trunc nuw i8 %6882 to i1
  br i1 %6883, label %6884, label %6888

6884:                                             ; preds = %6878
  %6885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6886 = call i32 @fileno(ptr noundef %6885) #12
  %6887 = call i32 @isatty(i32 noundef %6886) #12
  %.not1658 = icmp eq i32 %6887, 0
  br i1 %.not1658, label %6888, label %6889

6888:                                             ; preds = %6884, %6878
  br label %6889

6889:                                             ; preds = %6884, %6888
  %.str.5.sink4176 = phi ptr [ @.str.5, %6888 ], [ @.str.2, %6884 ]
  store i32 %6879, ptr %1549, align 4, !tbaa !5
  %6890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6891 = load i32, ptr @test_count, align 4, !tbaa !5
  %6892 = load i32, ptr %1495, align 4, !tbaa !5
  %6893 = call ptr @s2n_strerror(i32 noundef %6892, ptr noundef nonnull @.str.4) #12
  %6894 = load i32, ptr %1495, align 4, !tbaa !5
  %6895 = call ptr @s2n_strerror_debug(i32 noundef %6894, ptr noundef nonnull @.str.4) #12
  %6896 = load i32, ptr %1549, align 4, !tbaa !5
  %6897 = call ptr @strerror(i32 noundef %6896) #12
  %6898 = load i32, ptr %1549, align 4, !tbaa !5
  %6899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6890, ptr noundef nonnull %.str.5.sink4176, i32 noundef %6891, ptr noundef nonnull @.str.128, ptr noundef nonnull @.str.1, i32 noundef 601, ptr noundef %6893, ptr noundef %6895, ptr noundef %6897, i32 noundef %6898) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6900:                                             ; preds = %6872
  %6901 = load i32, ptr @test_count, align 4, !tbaa !5
  %6902 = add nsw i32 %6901, 1
  store i32 %6902, ptr @test_count, align 4, !tbaa !5
  %6903 = load ptr, ptr %41, align 8, !tbaa !9
  %6904 = getelementptr inbounds i8, ptr %6903, i64 256
  %6905 = load ptr, ptr %6904, align 8, !tbaa !62
  %6906 = icmp eq ptr %6905, @s2n_test_crl_lookup_cb
  br i1 %6906, label %6929, label %6907

6907:                                             ; preds = %6900
  %6908 = load i32, ptr %1549, align 4, !tbaa !5
  %6909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6910 = call i32 @s2n_print_stacktrace(ptr noundef %6909) #12
  %6911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6912 = trunc nuw i8 %6911 to i1
  br i1 %6912, label %6913, label %6917

6913:                                             ; preds = %6907
  %6914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6915 = call i32 @fileno(ptr noundef %6914) #12
  %6916 = call i32 @isatty(i32 noundef %6915) #12
  %.not1373 = icmp eq i32 %6916, 0
  br i1 %.not1373, label %6917, label %6918

6917:                                             ; preds = %6913, %6907
  br label %6918

6918:                                             ; preds = %6913, %6917
  %.str.5.sink4185 = phi ptr [ @.str.5, %6917 ], [ @.str.2, %6913 ]
  store i32 %6908, ptr %1549, align 4, !tbaa !5
  %6919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6920 = load i32, ptr @test_count, align 4, !tbaa !5
  %6921 = load i32, ptr %1495, align 4, !tbaa !5
  %6922 = call ptr @s2n_strerror(i32 noundef %6921, ptr noundef nonnull @.str.4) #12
  %6923 = load i32, ptr %1495, align 4, !tbaa !5
  %6924 = call ptr @s2n_strerror_debug(i32 noundef %6923, ptr noundef nonnull @.str.4) #12
  %6925 = load i32, ptr %1549, align 4, !tbaa !5
  %6926 = call ptr @strerror(i32 noundef %6925) #12
  %6927 = load i32, ptr %1549, align 4, !tbaa !5
  %6928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6919, ptr noundef nonnull %.str.5.sink4185, i32 noundef %6920, ptr noundef nonnull @.str.129, ptr noundef nonnull @.str.1, i32 noundef 602, ptr noundef %6922, ptr noundef %6924, ptr noundef %6926, i32 noundef %6927) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6929:                                             ; preds = %6900
  %6930 = add nsw i32 %6901, 2
  store i32 %6930, ptr @test_count, align 4, !tbaa !5
  %6931 = getelementptr inbounds i8, ptr %6903, i64 264
  %6932 = load ptr, ptr %6931, align 8, !tbaa !63
  %6933 = icmp eq ptr %6932, %40
  br i1 %6933, label %6956, label %6934

6934:                                             ; preds = %6929
  %6935 = load i32, ptr %1549, align 4, !tbaa !5
  %6936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6937 = call i32 @s2n_print_stacktrace(ptr noundef %6936) #12
  %6938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6939 = trunc nuw i8 %6938 to i1
  br i1 %6939, label %6940, label %6944

6940:                                             ; preds = %6934
  %6941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6942 = call i32 @fileno(ptr noundef %6941) #12
  %6943 = call i32 @isatty(i32 noundef %6942) #12
  %.not1374 = icmp eq i32 %6943, 0
  br i1 %.not1374, label %6944, label %6945

6944:                                             ; preds = %6940, %6934
  br label %6945

6945:                                             ; preds = %6940, %6944
  %.str.5.sink4194 = phi ptr [ @.str.5, %6944 ], [ @.str.2, %6940 ]
  store i32 %6935, ptr %1549, align 4, !tbaa !5
  %6946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6947 = load i32, ptr @test_count, align 4, !tbaa !5
  %6948 = load i32, ptr %1495, align 4, !tbaa !5
  %6949 = call ptr @s2n_strerror(i32 noundef %6948, ptr noundef nonnull @.str.4) #12
  %6950 = load i32, ptr %1495, align 4, !tbaa !5
  %6951 = call ptr @s2n_strerror_debug(i32 noundef %6950, ptr noundef nonnull @.str.4) #12
  %6952 = load i32, ptr %1549, align 4, !tbaa !5
  %6953 = call ptr @strerror(i32 noundef %6952) #12
  %6954 = load i32, ptr %1549, align 4, !tbaa !5
  %6955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6946, ptr noundef nonnull %.str.5.sink4194, i32 noundef %6947, ptr noundef nonnull @.str.130, ptr noundef nonnull @.str.1, i32 noundef 603, ptr noundef %6949, ptr noundef %6951, ptr noundef %6953, i32 noundef %6954) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6956:                                             ; preds = %6929
  %6957 = add nsw i32 %6901, 3
  store i32 %6957, ptr @test_count, align 4, !tbaa !5
  %6958 = call i32 @s2n_config_set_crl_lookup_cb(ptr noundef nonnull %6903, ptr noundef null, ptr noundef null) #12
  %6959 = icmp eq i32 %6958, -1
  br i1 %6959, label %6960, label %6982

6960:                                             ; preds = %6956
  %6961 = load i32, ptr %1549, align 4, !tbaa !5
  %6962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6963 = call i32 @s2n_print_stacktrace(ptr noundef %6962) #12
  %6964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6965 = trunc nuw i8 %6964 to i1
  br i1 %6965, label %6966, label %6970

6966:                                             ; preds = %6960
  %6967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6968 = call i32 @fileno(ptr noundef %6967) #12
  %6969 = call i32 @isatty(i32 noundef %6968) #12
  %.not1657 = icmp eq i32 %6969, 0
  br i1 %.not1657, label %6970, label %6971

6970:                                             ; preds = %6966, %6960
  br label %6971

6971:                                             ; preds = %6966, %6970
  %.str.5.sink4203 = phi ptr [ @.str.5, %6970 ], [ @.str.2, %6966 ]
  store i32 %6961, ptr %1549, align 4, !tbaa !5
  %6972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6973 = load i32, ptr @test_count, align 4, !tbaa !5
  %6974 = load i32, ptr %1495, align 4, !tbaa !5
  %6975 = call ptr @s2n_strerror(i32 noundef %6974, ptr noundef nonnull @.str.4) #12
  %6976 = load i32, ptr %1495, align 4, !tbaa !5
  %6977 = call ptr @s2n_strerror_debug(i32 noundef %6976, ptr noundef nonnull @.str.4) #12
  %6978 = load i32, ptr %1549, align 4, !tbaa !5
  %6979 = call ptr @strerror(i32 noundef %6978) #12
  %6980 = load i32, ptr %1549, align 4, !tbaa !5
  %6981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6972, ptr noundef nonnull %.str.5.sink4203, i32 noundef %6973, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 606, ptr noundef %6975, ptr noundef %6977, ptr noundef %6979, i32 noundef %6980) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6982:                                             ; preds = %6956
  %6983 = load i32, ptr @test_count, align 4, !tbaa !5
  %6984 = add nsw i32 %6983, 1
  store i32 %6984, ptr @test_count, align 4, !tbaa !5
  %6985 = load ptr, ptr %41, align 8, !tbaa !9
  %6986 = getelementptr inbounds i8, ptr %6985, i64 256
  %6987 = load ptr, ptr %6986, align 8, !tbaa !62
  %6988 = icmp eq ptr %6987, null
  br i1 %6988, label %7011, label %6989

6989:                                             ; preds = %6982
  %6990 = load i32, ptr %1549, align 4, !tbaa !5
  %6991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6992 = call i32 @s2n_print_stacktrace(ptr noundef %6991) #12
  %6993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6994 = trunc nuw i8 %6993 to i1
  br i1 %6994, label %6995, label %6999

6995:                                             ; preds = %6989
  %6996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6997 = call i32 @fileno(ptr noundef %6996) #12
  %6998 = call i32 @isatty(i32 noundef %6997) #12
  %.not1375 = icmp eq i32 %6998, 0
  br i1 %.not1375, label %6999, label %7000

6999:                                             ; preds = %6995, %6989
  br label %7000

7000:                                             ; preds = %6995, %6999
  %.str.5.sink4212 = phi ptr [ @.str.5, %6999 ], [ @.str.2, %6995 ]
  store i32 %6990, ptr %1549, align 4, !tbaa !5
  %7001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7002 = load i32, ptr @test_count, align 4, !tbaa !5
  %7003 = load i32, ptr %1495, align 4, !tbaa !5
  %7004 = call ptr @s2n_strerror(i32 noundef %7003, ptr noundef nonnull @.str.4) #12
  %7005 = load i32, ptr %1495, align 4, !tbaa !5
  %7006 = call ptr @s2n_strerror_debug(i32 noundef %7005, ptr noundef nonnull @.str.4) #12
  %7007 = load i32, ptr %1549, align 4, !tbaa !5
  %7008 = call ptr @strerror(i32 noundef %7007) #12
  %7009 = load i32, ptr %1549, align 4, !tbaa !5
  %7010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7001, ptr noundef nonnull %.str.5.sink4212, i32 noundef %7002, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 607, ptr noundef %7004, ptr noundef %7006, ptr noundef %7008, i32 noundef %7009) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7011:                                             ; preds = %6982
  %7012 = add nsw i32 %6983, 2
  store i32 %7012, ptr @test_count, align 4, !tbaa !5
  %7013 = getelementptr inbounds i8, ptr %6985, i64 264
  %7014 = load ptr, ptr %7013, align 8, !tbaa !63
  %7015 = icmp eq ptr %7014, null
  br i1 %7015, label %7038, label %7016

7016:                                             ; preds = %7011
  %7017 = load i32, ptr %1549, align 4, !tbaa !5
  %7018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7019 = call i32 @s2n_print_stacktrace(ptr noundef %7018) #12
  %7020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7021 = trunc nuw i8 %7020 to i1
  br i1 %7021, label %7022, label %7026

7022:                                             ; preds = %7016
  %7023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7024 = call i32 @fileno(ptr noundef %7023) #12
  %7025 = call i32 @isatty(i32 noundef %7024) #12
  %.not1376 = icmp eq i32 %7025, 0
  br i1 %.not1376, label %7026, label %7027

7026:                                             ; preds = %7022, %7016
  br label %7027

7027:                                             ; preds = %7022, %7026
  %.str.5.sink4221 = phi ptr [ @.str.5, %7026 ], [ @.str.2, %7022 ]
  store i32 %7017, ptr %1549, align 4, !tbaa !5
  %7028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7029 = load i32, ptr @test_count, align 4, !tbaa !5
  %7030 = load i32, ptr %1495, align 4, !tbaa !5
  %7031 = call ptr @s2n_strerror(i32 noundef %7030, ptr noundef nonnull @.str.4) #12
  %7032 = load i32, ptr %1495, align 4, !tbaa !5
  %7033 = call ptr @s2n_strerror_debug(i32 noundef %7032, ptr noundef nonnull @.str.4) #12
  %7034 = load i32, ptr %1549, align 4, !tbaa !5
  %7035 = call ptr @strerror(i32 noundef %7034) #12
  %7036 = load i32, ptr %1549, align 4, !tbaa !5
  %7037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7028, ptr noundef nonnull %.str.5.sink4221, i32 noundef %7029, ptr noundef nonnull @.str.124, ptr noundef nonnull @.str.1, i32 noundef 608, ptr noundef %7031, ptr noundef %7033, ptr noundef %7035, i32 noundef %7036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7038:                                             ; preds = %7011
  %7039 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %40) #12
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #12
  store i8 0, ptr %42, align 1, !tbaa !49
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #12
  %7040 = call ptr @s2n_config_new() #12
  store ptr %7040, ptr %43, align 8, !tbaa !9
  %7041 = load i32, ptr @test_count, align 4, !tbaa !5
  %7042 = add nsw i32 %7041, 1
  store i32 %7042, ptr @test_count, align 4, !tbaa !5
  %7043 = icmp eq ptr %7040, null
  br i1 %7043, label %7044, label %7066

7044:                                             ; preds = %7038
  %7045 = load i32, ptr %1549, align 4, !tbaa !5
  %7046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7047 = call i32 @s2n_print_stacktrace(ptr noundef %7046) #12
  %7048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7049 = trunc nuw i8 %7048 to i1
  br i1 %7049, label %7050, label %7054

7050:                                             ; preds = %7044
  %7051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7052 = call i32 @fileno(ptr noundef %7051) #12
  %7053 = call i32 @isatty(i32 noundef %7052) #12
  %.not1656 = icmp eq i32 %7053, 0
  br i1 %.not1656, label %7054, label %7055

7054:                                             ; preds = %7050, %7044
  br label %7055

7055:                                             ; preds = %7050, %7054
  %.str.5.sink4230 = phi ptr [ @.str.5, %7054 ], [ @.str.2, %7050 ]
  store i32 %7045, ptr %1549, align 4, !tbaa !5
  %7056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7057 = load i32, ptr @test_count, align 4, !tbaa !5
  %7058 = load i32, ptr %1495, align 4, !tbaa !5
  %7059 = call ptr @s2n_strerror(i32 noundef %7058, ptr noundef nonnull @.str.4) #12
  %7060 = load i32, ptr %1495, align 4, !tbaa !5
  %7061 = call ptr @s2n_strerror_debug(i32 noundef %7060, ptr noundef nonnull @.str.4) #12
  %7062 = load i32, ptr %1549, align 4, !tbaa !5
  %7063 = call ptr @strerror(i32 noundef %7062) #12
  %7064 = load i32, ptr %1549, align 4, !tbaa !5
  %7065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7056, ptr noundef nonnull %.str.5.sink4230, i32 noundef %7057, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 615, ptr noundef %7059, ptr noundef %7061, ptr noundef %7063, i32 noundef %7064) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7066:                                             ; preds = %7038
  %7067 = add nsw i32 %7041, 2
  store i32 %7067, ptr @test_count, align 4, !tbaa !5
  %7068 = getelementptr inbounds i8, ptr %7040, i64 272
  %7069 = load ptr, ptr %7068, align 8, !tbaa !64
  %7070 = icmp eq ptr %7069, null
  br i1 %7070, label %7093, label %7071

7071:                                             ; preds = %7066
  %7072 = load i32, ptr %1549, align 4, !tbaa !5
  %7073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7074 = call i32 @s2n_print_stacktrace(ptr noundef %7073) #12
  %7075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7076 = trunc nuw i8 %7075 to i1
  br i1 %7076, label %7077, label %7081

7077:                                             ; preds = %7071
  %7078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7079 = call i32 @fileno(ptr noundef %7078) #12
  %7080 = call i32 @isatty(i32 noundef %7079) #12
  %.not1377 = icmp eq i32 %7080, 0
  br i1 %.not1377, label %7081, label %7082

7081:                                             ; preds = %7077, %7071
  br label %7082

7082:                                             ; preds = %7077, %7081
  %.str.5.sink4239 = phi ptr [ @.str.5, %7081 ], [ @.str.2, %7077 ]
  store i32 %7072, ptr %1549, align 4, !tbaa !5
  %7083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7084 = load i32, ptr @test_count, align 4, !tbaa !5
  %7085 = load i32, ptr %1495, align 4, !tbaa !5
  %7086 = call ptr @s2n_strerror(i32 noundef %7085, ptr noundef nonnull @.str.4) #12
  %7087 = load i32, ptr %1495, align 4, !tbaa !5
  %7088 = call ptr @s2n_strerror_debug(i32 noundef %7087, ptr noundef nonnull @.str.4) #12
  %7089 = load i32, ptr %1549, align 4, !tbaa !5
  %7090 = call ptr @strerror(i32 noundef %7089) #12
  %7091 = load i32, ptr %1549, align 4, !tbaa !5
  %7092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7083, ptr noundef nonnull %.str.5.sink4239, i32 noundef %7084, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 618, ptr noundef %7086, ptr noundef %7088, ptr noundef %7090, i32 noundef %7091) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7093:                                             ; preds = %7066
  %7094 = add nsw i32 %7041, 3
  store i32 %7094, ptr @test_count, align 4, !tbaa !5
  %7095 = getelementptr inbounds i8, ptr %7040, i64 280
  %7096 = load ptr, ptr %7095, align 8, !tbaa !65
  %7097 = icmp eq ptr %7096, null
  br i1 %7097, label %7120, label %7098

7098:                                             ; preds = %7093
  %7099 = load i32, ptr %1549, align 4, !tbaa !5
  %7100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7101 = call i32 @s2n_print_stacktrace(ptr noundef %7100) #12
  %7102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7103 = trunc nuw i8 %7102 to i1
  br i1 %7103, label %7104, label %7108

7104:                                             ; preds = %7098
  %7105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7106 = call i32 @fileno(ptr noundef %7105) #12
  %7107 = call i32 @isatty(i32 noundef %7106) #12
  %.not1378 = icmp eq i32 %7107, 0
  br i1 %.not1378, label %7108, label %7109

7108:                                             ; preds = %7104, %7098
  br label %7109

7109:                                             ; preds = %7104, %7108
  %.str.5.sink4248 = phi ptr [ @.str.5, %7108 ], [ @.str.2, %7104 ]
  store i32 %7099, ptr %1549, align 4, !tbaa !5
  %7110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7111 = load i32, ptr @test_count, align 4, !tbaa !5
  %7112 = load i32, ptr %1495, align 4, !tbaa !5
  %7113 = call ptr @s2n_strerror(i32 noundef %7112, ptr noundef nonnull @.str.4) #12
  %7114 = load i32, ptr %1495, align 4, !tbaa !5
  %7115 = call ptr @s2n_strerror_debug(i32 noundef %7114, ptr noundef nonnull @.str.4) #12
  %7116 = load i32, ptr %1549, align 4, !tbaa !5
  %7117 = call ptr @strerror(i32 noundef %7116) #12
  %7118 = load i32, ptr %1549, align 4, !tbaa !5
  %7119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7110, ptr noundef nonnull %.str.5.sink4248, i32 noundef %7111, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 619, ptr noundef %7113, ptr noundef %7115, ptr noundef %7117, i32 noundef %7118) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7120:                                             ; preds = %7093
  %7121 = add nsw i32 %7041, 4
  store i32 %7121, ptr @test_count, align 4, !tbaa !5
  %7122 = call i32 @s2n_config_set_cert_validation_cb(ptr noundef null, ptr noundef nonnull @s2n_test_cert_validation_cb, ptr noundef nonnull %42) #12
  %7123 = icmp eq i32 %7122, -1
  br i1 %7123, label %7146, label %7124

7124:                                             ; preds = %7120
  %7125 = load i32, ptr %1549, align 4, !tbaa !5
  %7126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7127 = call i32 @s2n_print_stacktrace(ptr noundef %7126) #12
  %7128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7129 = trunc nuw i8 %7128 to i1
  br i1 %7129, label %7130, label %7134

7130:                                             ; preds = %7124
  %7131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7132 = call i32 @fileno(ptr noundef %7131) #12
  %7133 = call i32 @isatty(i32 noundef %7132) #12
  %.not1379 = icmp eq i32 %7133, 0
  br i1 %.not1379, label %7134, label %7135

7134:                                             ; preds = %7130, %7124
  br label %7135

7135:                                             ; preds = %7130, %7134
  %.str.5.sink4257 = phi ptr [ @.str.5, %7134 ], [ @.str.2, %7130 ]
  store i32 %7125, ptr %1549, align 4, !tbaa !5
  %7136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7137 = load i32, ptr @test_count, align 4, !tbaa !5
  %7138 = load i32, ptr %1495, align 4, !tbaa !5
  %7139 = call ptr @s2n_strerror(i32 noundef %7138, ptr noundef nonnull @.str.4) #12
  %7140 = load i32, ptr %1495, align 4, !tbaa !5
  %7141 = call ptr @s2n_strerror_debug(i32 noundef %7140, ptr noundef nonnull @.str.4) #12
  %7142 = load i32, ptr %1549, align 4, !tbaa !5
  %7143 = call ptr @strerror(i32 noundef %7142) #12
  %7144 = load i32, ptr %1549, align 4, !tbaa !5
  %7145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7136, ptr noundef nonnull %.str.5.sink4257, i32 noundef %7137, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %7139, ptr noundef %7141, ptr noundef %7143, i32 noundef %7144) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7146:                                             ; preds = %7120
  %7147 = load i32, ptr @test_count, align 4, !tbaa !5
  %7148 = add nsw i32 %7147, 1
  store i32 %7148, ptr @test_count, align 4, !tbaa !5
  %7149 = load i32, ptr %1495, align 4, !tbaa !5
  %7150 = icmp eq i32 %7149, 402653193
  br i1 %7150, label %7173, label %7151

7151:                                             ; preds = %7146
  %7152 = load i32, ptr %1549, align 4, !tbaa !5
  %7153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7154 = call i32 @s2n_print_stacktrace(ptr noundef %7153) #12
  %7155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7156 = trunc nuw i8 %7155 to i1
  br i1 %7156, label %7157, label %7161

7157:                                             ; preds = %7151
  %7158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7159 = call i32 @fileno(ptr noundef %7158) #12
  %7160 = call i32 @isatty(i32 noundef %7159) #12
  %.not1380 = icmp eq i32 %7160, 0
  br i1 %.not1380, label %7161, label %7162

7161:                                             ; preds = %7157, %7151
  br label %7162

7162:                                             ; preds = %7157, %7161
  %.str.5.sink4266 = phi ptr [ @.str.5, %7161 ], [ @.str.2, %7157 ]
  store i32 %7152, ptr %1549, align 4, !tbaa !5
  %7163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7164 = load i32, ptr @test_count, align 4, !tbaa !5
  %7165 = load i32, ptr %1495, align 4, !tbaa !5
  %7166 = call ptr @s2n_strerror(i32 noundef %7165, ptr noundef nonnull @.str.4) #12
  %7167 = load i32, ptr %1495, align 4, !tbaa !5
  %7168 = call ptr @s2n_strerror_debug(i32 noundef %7167, ptr noundef nonnull @.str.4) #12
  %7169 = load i32, ptr %1549, align 4, !tbaa !5
  %7170 = call ptr @strerror(i32 noundef %7169) #12
  %7171 = load i32, ptr %1549, align 4, !tbaa !5
  %7172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7163, ptr noundef nonnull %.str.5.sink4266, i32 noundef %7164, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %7166, ptr noundef %7168, ptr noundef %7170, i32 noundef %7171) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7173:                                             ; preds = %7146
  %7174 = add nsw i32 %7147, 2
  store i32 %7174, ptr @test_count, align 4, !tbaa !5
  %7175 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %7176 = icmp eq ptr %7175, null
  br i1 %7176, label %7177, label %7199

7177:                                             ; preds = %7173
  %7178 = load i32, ptr %1549, align 4, !tbaa !5
  %7179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7180 = call i32 @s2n_print_stacktrace(ptr noundef %7179) #12
  %7181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7182 = trunc nuw i8 %7181 to i1
  br i1 %7182, label %7183, label %7187

7183:                                             ; preds = %7177
  %7184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7185 = call i32 @fileno(ptr noundef %7184) #12
  %7186 = call i32 @isatty(i32 noundef %7185) #12
  %.not1655 = icmp eq i32 %7186, 0
  br i1 %.not1655, label %7187, label %7188

7187:                                             ; preds = %7183, %7177
  br label %7188

7188:                                             ; preds = %7183, %7187
  %.str.5.sink4275 = phi ptr [ @.str.5, %7187 ], [ @.str.2, %7183 ]
  store i32 %7178, ptr %1549, align 4, !tbaa !5
  %7189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7190 = load i32, ptr @test_count, align 4, !tbaa !5
  %7191 = load i32, ptr %1495, align 4, !tbaa !5
  %7192 = call ptr @s2n_strerror(i32 noundef %7191, ptr noundef nonnull @.str.4) #12
  %7193 = load i32, ptr %1495, align 4, !tbaa !5
  %7194 = call ptr @s2n_strerror_debug(i32 noundef %7193, ptr noundef nonnull @.str.4) #12
  %7195 = load i32, ptr %1549, align 4, !tbaa !5
  %7196 = call ptr @strerror(i32 noundef %7195) #12
  %7197 = load i32, ptr %1549, align 4, !tbaa !5
  %7198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7189, ptr noundef nonnull %.str.5.sink4275, i32 noundef %7190, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %7192, ptr noundef %7194, ptr noundef %7196, i32 noundef %7197) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7199:                                             ; preds = %7173
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %7200 = load i32, ptr @test_count, align 4, !tbaa !5
  %7201 = add nsw i32 %7200, 1
  store i32 %7201, ptr @test_count, align 4, !tbaa !5
  %7202 = load ptr, ptr %43, align 8, !tbaa !9
  %7203 = call i32 @s2n_config_set_cert_validation_cb(ptr noundef %7202, ptr noundef null, ptr noundef nonnull %42) #12
  %7204 = icmp eq i32 %7203, -1
  br i1 %7204, label %7205, label %7227

7205:                                             ; preds = %7199
  %7206 = load i32, ptr %1549, align 4, !tbaa !5
  %7207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7208 = call i32 @s2n_print_stacktrace(ptr noundef %7207) #12
  %7209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7210 = trunc nuw i8 %7209 to i1
  br i1 %7210, label %7211, label %7215

7211:                                             ; preds = %7205
  %7212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7213 = call i32 @fileno(ptr noundef %7212) #12
  %7214 = call i32 @isatty(i32 noundef %7213) #12
  %.not1654 = icmp eq i32 %7214, 0
  br i1 %.not1654, label %7215, label %7216

7215:                                             ; preds = %7211, %7205
  br label %7216

7216:                                             ; preds = %7211, %7215
  %.str.5.sink4284 = phi ptr [ @.str.5, %7215 ], [ @.str.2, %7211 ]
  store i32 %7206, ptr %1549, align 4, !tbaa !5
  %7217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7218 = load i32, ptr @test_count, align 4, !tbaa !5
  %7219 = load i32, ptr %1495, align 4, !tbaa !5
  %7220 = call ptr @s2n_strerror(i32 noundef %7219, ptr noundef nonnull @.str.4) #12
  %7221 = load i32, ptr %1495, align 4, !tbaa !5
  %7222 = call ptr @s2n_strerror_debug(i32 noundef %7221, ptr noundef nonnull @.str.4) #12
  %7223 = load i32, ptr %1549, align 4, !tbaa !5
  %7224 = call ptr @strerror(i32 noundef %7223) #12
  %7225 = load i32, ptr %1549, align 4, !tbaa !5
  %7226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7217, ptr noundef nonnull %.str.5.sink4284, i32 noundef %7218, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 624, ptr noundef %7220, ptr noundef %7222, ptr noundef %7224, i32 noundef %7225) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7227:                                             ; preds = %7199
  %7228 = load i32, ptr @test_count, align 4, !tbaa !5
  %7229 = add nsw i32 %7228, 1
  store i32 %7229, ptr @test_count, align 4, !tbaa !5
  %7230 = load ptr, ptr %43, align 8, !tbaa !9
  %7231 = call i32 @s2n_config_set_cert_validation_cb(ptr noundef %7230, ptr noundef nonnull @s2n_test_cert_validation_cb, ptr noundef null) #12
  %7232 = icmp eq i32 %7231, -1
  br i1 %7232, label %7233, label %7255

7233:                                             ; preds = %7227
  %7234 = load i32, ptr %1549, align 4, !tbaa !5
  %7235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7236 = call i32 @s2n_print_stacktrace(ptr noundef %7235) #12
  %7237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7238 = trunc nuw i8 %7237 to i1
  br i1 %7238, label %7239, label %7243

7239:                                             ; preds = %7233
  %7240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7241 = call i32 @fileno(ptr noundef %7240) #12
  %7242 = call i32 @isatty(i32 noundef %7241) #12
  %.not1653 = icmp eq i32 %7242, 0
  br i1 %.not1653, label %7243, label %7244

7243:                                             ; preds = %7239, %7233
  br label %7244

7244:                                             ; preds = %7239, %7243
  %.str.5.sink4293 = phi ptr [ @.str.5, %7243 ], [ @.str.2, %7239 ]
  store i32 %7234, ptr %1549, align 4, !tbaa !5
  %7245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7246 = load i32, ptr @test_count, align 4, !tbaa !5
  %7247 = load i32, ptr %1495, align 4, !tbaa !5
  %7248 = call ptr @s2n_strerror(i32 noundef %7247, ptr noundef nonnull @.str.4) #12
  %7249 = load i32, ptr %1495, align 4, !tbaa !5
  %7250 = call ptr @s2n_strerror_debug(i32 noundef %7249, ptr noundef nonnull @.str.4) #12
  %7251 = load i32, ptr %1549, align 4, !tbaa !5
  %7252 = call ptr @strerror(i32 noundef %7251) #12
  %7253 = load i32, ptr %1549, align 4, !tbaa !5
  %7254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7245, ptr noundef nonnull %.str.5.sink4293, i32 noundef %7246, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 625, ptr noundef %7248, ptr noundef %7250, ptr noundef %7252, i32 noundef %7253) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7255:                                             ; preds = %7227
  %7256 = load i32, ptr @test_count, align 4, !tbaa !5
  %7257 = add nsw i32 %7256, 1
  store i32 %7257, ptr @test_count, align 4, !tbaa !5
  %7258 = load ptr, ptr %43, align 8, !tbaa !9
  %7259 = call i32 @s2n_config_set_cert_validation_cb(ptr noundef %7258, ptr noundef nonnull @s2n_test_cert_validation_cb, ptr noundef nonnull %42) #12
  %7260 = icmp eq i32 %7259, -1
  br i1 %7260, label %7261, label %7283

7261:                                             ; preds = %7255
  %7262 = load i32, ptr %1549, align 4, !tbaa !5
  %7263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7264 = call i32 @s2n_print_stacktrace(ptr noundef %7263) #12
  %7265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7266 = trunc nuw i8 %7265 to i1
  br i1 %7266, label %7267, label %7271

7267:                                             ; preds = %7261
  %7268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7269 = call i32 @fileno(ptr noundef %7268) #12
  %7270 = call i32 @isatty(i32 noundef %7269) #12
  %.not1652 = icmp eq i32 %7270, 0
  br i1 %.not1652, label %7271, label %7272

7271:                                             ; preds = %7267, %7261
  br label %7272

7272:                                             ; preds = %7267, %7271
  %.str.5.sink4302 = phi ptr [ @.str.5, %7271 ], [ @.str.2, %7267 ]
  store i32 %7262, ptr %1549, align 4, !tbaa !5
  %7273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7274 = load i32, ptr @test_count, align 4, !tbaa !5
  %7275 = load i32, ptr %1495, align 4, !tbaa !5
  %7276 = call ptr @s2n_strerror(i32 noundef %7275, ptr noundef nonnull @.str.4) #12
  %7277 = load i32, ptr %1495, align 4, !tbaa !5
  %7278 = call ptr @s2n_strerror_debug(i32 noundef %7277, ptr noundef nonnull @.str.4) #12
  %7279 = load i32, ptr %1549, align 4, !tbaa !5
  %7280 = call ptr @strerror(i32 noundef %7279) #12
  %7281 = load i32, ptr %1549, align 4, !tbaa !5
  %7282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7273, ptr noundef nonnull %.str.5.sink4302, i32 noundef %7274, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 628, ptr noundef %7276, ptr noundef %7278, ptr noundef %7280, i32 noundef %7281) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7283:                                             ; preds = %7255
  %7284 = load i32, ptr @test_count, align 4, !tbaa !5
  %7285 = add nsw i32 %7284, 1
  store i32 %7285, ptr @test_count, align 4, !tbaa !5
  %7286 = load ptr, ptr %43, align 8, !tbaa !9
  %7287 = getelementptr inbounds i8, ptr %7286, i64 272
  %7288 = load ptr, ptr %7287, align 8, !tbaa !64
  %7289 = icmp eq ptr %7288, @s2n_test_cert_validation_cb
  br i1 %7289, label %7312, label %7290

7290:                                             ; preds = %7283
  %7291 = load i32, ptr %1549, align 4, !tbaa !5
  %7292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7293 = call i32 @s2n_print_stacktrace(ptr noundef %7292) #12
  %7294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7295 = trunc nuw i8 %7294 to i1
  br i1 %7295, label %7296, label %7300

7296:                                             ; preds = %7290
  %7297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7298 = call i32 @fileno(ptr noundef %7297) #12
  %7299 = call i32 @isatty(i32 noundef %7298) #12
  %.not1381 = icmp eq i32 %7299, 0
  br i1 %.not1381, label %7300, label %7301

7300:                                             ; preds = %7296, %7290
  br label %7301

7301:                                             ; preds = %7296, %7300
  %.str.5.sink4311 = phi ptr [ @.str.5, %7300 ], [ @.str.2, %7296 ]
  store i32 %7291, ptr %1549, align 4, !tbaa !5
  %7302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7303 = load i32, ptr @test_count, align 4, !tbaa !5
  %7304 = load i32, ptr %1495, align 4, !tbaa !5
  %7305 = call ptr @s2n_strerror(i32 noundef %7304, ptr noundef nonnull @.str.4) #12
  %7306 = load i32, ptr %1495, align 4, !tbaa !5
  %7307 = call ptr @s2n_strerror_debug(i32 noundef %7306, ptr noundef nonnull @.str.4) #12
  %7308 = load i32, ptr %1549, align 4, !tbaa !5
  %7309 = call ptr @strerror(i32 noundef %7308) #12
  %7310 = load i32, ptr %1549, align 4, !tbaa !5
  %7311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7302, ptr noundef nonnull %.str.5.sink4311, i32 noundef %7303, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.1, i32 noundef 629, ptr noundef %7305, ptr noundef %7307, ptr noundef %7309, i32 noundef %7310) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7312:                                             ; preds = %7283
  %7313 = add nsw i32 %7284, 2
  store i32 %7313, ptr @test_count, align 4, !tbaa !5
  %7314 = getelementptr inbounds i8, ptr %7286, i64 280
  %7315 = load ptr, ptr %7314, align 8, !tbaa !65
  %7316 = icmp eq ptr %7315, %42
  br i1 %7316, label %7339, label %7317

7317:                                             ; preds = %7312
  %7318 = load i32, ptr %1549, align 4, !tbaa !5
  %7319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7320 = call i32 @s2n_print_stacktrace(ptr noundef %7319) #12
  %7321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7322 = trunc nuw i8 %7321 to i1
  br i1 %7322, label %7323, label %7327

7323:                                             ; preds = %7317
  %7324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7325 = call i32 @fileno(ptr noundef %7324) #12
  %7326 = call i32 @isatty(i32 noundef %7325) #12
  %.not1382 = icmp eq i32 %7326, 0
  br i1 %.not1382, label %7327, label %7328

7327:                                             ; preds = %7323, %7317
  br label %7328

7328:                                             ; preds = %7323, %7327
  %.str.5.sink4320 = phi ptr [ @.str.5, %7327 ], [ @.str.2, %7323 ]
  store i32 %7318, ptr %1549, align 4, !tbaa !5
  %7329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7330 = load i32, ptr @test_count, align 4, !tbaa !5
  %7331 = load i32, ptr %1495, align 4, !tbaa !5
  %7332 = call ptr @s2n_strerror(i32 noundef %7331, ptr noundef nonnull @.str.4) #12
  %7333 = load i32, ptr %1495, align 4, !tbaa !5
  %7334 = call ptr @s2n_strerror_debug(i32 noundef %7333, ptr noundef nonnull @.str.4) #12
  %7335 = load i32, ptr %1549, align 4, !tbaa !5
  %7336 = call ptr @strerror(i32 noundef %7335) #12
  %7337 = load i32, ptr %1549, align 4, !tbaa !5
  %7338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7329, ptr noundef nonnull %.str.5.sink4320, i32 noundef %7330, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.1, i32 noundef 630, ptr noundef %7332, ptr noundef %7334, ptr noundef %7336, i32 noundef %7337) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7339:                                             ; preds = %7312
  %7340 = add nsw i32 %7284, 3
  store i32 %7340, ptr @test_count, align 4, !tbaa !5
  %7341 = call i32 @s2n_config_set_cert_validation_cb(ptr noundef nonnull %7286, ptr noundef null, ptr noundef null) #12
  %7342 = icmp eq i32 %7341, -1
  br i1 %7342, label %7343, label %7365

7343:                                             ; preds = %7339
  %7344 = load i32, ptr %1549, align 4, !tbaa !5
  %7345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7346 = call i32 @s2n_print_stacktrace(ptr noundef %7345) #12
  %7347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7348 = trunc nuw i8 %7347 to i1
  br i1 %7348, label %7349, label %7353

7349:                                             ; preds = %7343
  %7350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7351 = call i32 @fileno(ptr noundef %7350) #12
  %7352 = call i32 @isatty(i32 noundef %7351) #12
  %.not1651 = icmp eq i32 %7352, 0
  br i1 %.not1651, label %7353, label %7354

7353:                                             ; preds = %7349, %7343
  br label %7354

7354:                                             ; preds = %7349, %7353
  %.str.5.sink4329 = phi ptr [ @.str.5, %7353 ], [ @.str.2, %7349 ]
  store i32 %7344, ptr %1549, align 4, !tbaa !5
  %7355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7356 = load i32, ptr @test_count, align 4, !tbaa !5
  %7357 = load i32, ptr %1495, align 4, !tbaa !5
  %7358 = call ptr @s2n_strerror(i32 noundef %7357, ptr noundef nonnull @.str.4) #12
  %7359 = load i32, ptr %1495, align 4, !tbaa !5
  %7360 = call ptr @s2n_strerror_debug(i32 noundef %7359, ptr noundef nonnull @.str.4) #12
  %7361 = load i32, ptr %1549, align 4, !tbaa !5
  %7362 = call ptr @strerror(i32 noundef %7361) #12
  %7363 = load i32, ptr %1549, align 4, !tbaa !5
  %7364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7355, ptr noundef nonnull %.str.5.sink4329, i32 noundef %7356, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 633, ptr noundef %7358, ptr noundef %7360, ptr noundef %7362, i32 noundef %7363) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7365:                                             ; preds = %7339
  %7366 = load i32, ptr @test_count, align 4, !tbaa !5
  %7367 = add nsw i32 %7366, 1
  store i32 %7367, ptr @test_count, align 4, !tbaa !5
  %7368 = load ptr, ptr %43, align 8, !tbaa !9
  %7369 = getelementptr inbounds i8, ptr %7368, i64 272
  %7370 = load ptr, ptr %7369, align 8, !tbaa !64
  %7371 = icmp eq ptr %7370, null
  br i1 %7371, label %7394, label %7372

7372:                                             ; preds = %7365
  %7373 = load i32, ptr %1549, align 4, !tbaa !5
  %7374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7375 = call i32 @s2n_print_stacktrace(ptr noundef %7374) #12
  %7376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7377 = trunc nuw i8 %7376 to i1
  br i1 %7377, label %7378, label %7382

7378:                                             ; preds = %7372
  %7379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7380 = call i32 @fileno(ptr noundef %7379) #12
  %7381 = call i32 @isatty(i32 noundef %7380) #12
  %.not1383 = icmp eq i32 %7381, 0
  br i1 %.not1383, label %7382, label %7383

7382:                                             ; preds = %7378, %7372
  br label %7383

7383:                                             ; preds = %7378, %7382
  %.str.5.sink4338 = phi ptr [ @.str.5, %7382 ], [ @.str.2, %7378 ]
  store i32 %7373, ptr %1549, align 4, !tbaa !5
  %7384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7385 = load i32, ptr @test_count, align 4, !tbaa !5
  %7386 = load i32, ptr %1495, align 4, !tbaa !5
  %7387 = call ptr @s2n_strerror(i32 noundef %7386, ptr noundef nonnull @.str.4) #12
  %7388 = load i32, ptr %1495, align 4, !tbaa !5
  %7389 = call ptr @s2n_strerror_debug(i32 noundef %7388, ptr noundef nonnull @.str.4) #12
  %7390 = load i32, ptr %1549, align 4, !tbaa !5
  %7391 = call ptr @strerror(i32 noundef %7390) #12
  %7392 = load i32, ptr %1549, align 4, !tbaa !5
  %7393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7384, ptr noundef nonnull %.str.5.sink4338, i32 noundef %7385, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 634, ptr noundef %7387, ptr noundef %7389, ptr noundef %7391, i32 noundef %7392) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7394:                                             ; preds = %7365
  %7395 = add nsw i32 %7366, 2
  store i32 %7395, ptr @test_count, align 4, !tbaa !5
  %7396 = getelementptr inbounds i8, ptr %7368, i64 280
  %7397 = load ptr, ptr %7396, align 8, !tbaa !65
  %7398 = icmp eq ptr %7397, null
  br i1 %7398, label %7421, label %7399

7399:                                             ; preds = %7394
  %7400 = load i32, ptr %1549, align 4, !tbaa !5
  %7401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7402 = call i32 @s2n_print_stacktrace(ptr noundef %7401) #12
  %7403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7404 = trunc nuw i8 %7403 to i1
  br i1 %7404, label %7405, label %7409

7405:                                             ; preds = %7399
  %7406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7407 = call i32 @fileno(ptr noundef %7406) #12
  %7408 = call i32 @isatty(i32 noundef %7407) #12
  %.not1384 = icmp eq i32 %7408, 0
  br i1 %.not1384, label %7409, label %7410

7409:                                             ; preds = %7405, %7399
  br label %7410

7410:                                             ; preds = %7405, %7409
  %.str.5.sink4347 = phi ptr [ @.str.5, %7409 ], [ @.str.2, %7405 ]
  store i32 %7400, ptr %1549, align 4, !tbaa !5
  %7411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7412 = load i32, ptr @test_count, align 4, !tbaa !5
  %7413 = load i32, ptr %1495, align 4, !tbaa !5
  %7414 = call ptr @s2n_strerror(i32 noundef %7413, ptr noundef nonnull @.str.4) #12
  %7415 = load i32, ptr %1495, align 4, !tbaa !5
  %7416 = call ptr @s2n_strerror_debug(i32 noundef %7415, ptr noundef nonnull @.str.4) #12
  %7417 = load i32, ptr %1549, align 4, !tbaa !5
  %7418 = call ptr @strerror(i32 noundef %7417) #12
  %7419 = load i32, ptr %1549, align 4, !tbaa !5
  %7420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7411, ptr noundef nonnull %.str.5.sink4347, i32 noundef %7412, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 635, ptr noundef %7414, ptr noundef %7416, ptr noundef %7418, i32 noundef %7419) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7421:                                             ; preds = %7394
  %7422 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #12
  br label %7423

7423:                                             ; preds = %7421, %8458
  %7424 = phi i1 [ true, %7421 ], [ false, %8458 ]
  %.012111827 = phi i64 [ 0, %7421 ], [ 1, %8458 ]
  %7425 = getelementptr inbounds [2 x i32], ptr @__const.main.modes, i64 0, i64 %.012111827
  %7426 = load i32, ptr %7425, align 4, !tbaa !5
  %7427 = call zeroext i8 @s2n_x509_ocsp_stapling_supported() #12
  %.not1385.not = icmp eq i8 %7427, 0
  br i1 %.not1385.not, label %.critedge, label %7428

7428:                                             ; preds = %7423
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %44) #12
  %7429 = call ptr @s2n_config_new() #12
  store ptr %7429, ptr %44, align 8, !tbaa !9
  %7430 = load i32, ptr @test_count, align 4, !tbaa !5
  %7431 = add nsw i32 %7430, 1
  store i32 %7431, ptr @test_count, align 4, !tbaa !5
  %7432 = icmp eq ptr %7429, null
  br i1 %7432, label %7433, label %7455

7433:                                             ; preds = %7428
  %7434 = load i32, ptr %1549, align 4, !tbaa !5
  %7435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7436 = call i32 @s2n_print_stacktrace(ptr noundef %7435) #12
  %7437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7438 = trunc nuw i8 %7437 to i1
  br i1 %7438, label %7439, label %7443

7439:                                             ; preds = %7433
  %7440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7441 = call i32 @fileno(ptr noundef %7440) #12
  %7442 = call i32 @isatty(i32 noundef %7441) #12
  %.not1650 = icmp eq i32 %7442, 0
  br i1 %.not1650, label %7443, label %7444

7443:                                             ; preds = %7439, %7433
  br label %7444

7444:                                             ; preds = %7439, %7443
  %.str.5.sink4356 = phi ptr [ @.str.5, %7443 ], [ @.str.2, %7439 ]
  store i32 %7434, ptr %1549, align 4, !tbaa !5
  %7445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7446 = load i32, ptr @test_count, align 4, !tbaa !5
  %7447 = load i32, ptr %1495, align 4, !tbaa !5
  %7448 = call ptr @s2n_strerror(i32 noundef %7447, ptr noundef nonnull @.str.4) #12
  %7449 = load i32, ptr %1495, align 4, !tbaa !5
  %7450 = call ptr @s2n_strerror_debug(i32 noundef %7449, ptr noundef nonnull @.str.4) #12
  %7451 = load i32, ptr %1549, align 4, !tbaa !5
  %7452 = call ptr @strerror(i32 noundef %7451) #12
  %7453 = load i32, ptr %1549, align 4, !tbaa !5
  %7454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7445, ptr noundef nonnull %.str.5.sink4356, i32 noundef %7446, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 649, ptr noundef %7448, ptr noundef %7450, ptr noundef %7452, i32 noundef %7453) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7455:                                             ; preds = %7428
  %7456 = add nsw i32 %7430, 2
  store i32 %7456, ptr @test_count, align 4, !tbaa !5
  %7457 = load i32, ptr %7429, align 8
  %7458 = and i32 %7457, 32768
  %.not1386 = icmp eq i32 %7458, 0
  br i1 %.not1386, label %7481, label %7459

7459:                                             ; preds = %7455
  %7460 = load i32, ptr %1549, align 4, !tbaa !5
  %7461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7462 = call i32 @s2n_print_stacktrace(ptr noundef %7461) #12
  %7463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7464 = trunc nuw i8 %7463 to i1
  br i1 %7464, label %7465, label %7469

7465:                                             ; preds = %7459
  %7466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7467 = call i32 @fileno(ptr noundef %7466) #12
  %7468 = call i32 @isatty(i32 noundef %7467) #12
  %.not1649 = icmp eq i32 %7468, 0
  br i1 %.not1649, label %7469, label %7470

7469:                                             ; preds = %7465, %7459
  br label %7470

7470:                                             ; preds = %7465, %7469
  %.str.5.sink4365 = phi ptr [ @.str.5, %7469 ], [ @.str.2, %7465 ]
  store i32 %7460, ptr %1549, align 4, !tbaa !5
  %7471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7472 = load i32, ptr @test_count, align 4, !tbaa !5
  %7473 = load i32, ptr %1495, align 4, !tbaa !5
  %7474 = call ptr @s2n_strerror(i32 noundef %7473, ptr noundef nonnull @.str.4) #12
  %7475 = load i32, ptr %1495, align 4, !tbaa !5
  %7476 = call ptr @s2n_strerror_debug(i32 noundef %7475, ptr noundef nonnull @.str.4) #12
  %7477 = load i32, ptr %1549, align 4, !tbaa !5
  %7478 = call ptr @strerror(i32 noundef %7477) #12
  %7479 = load i32, ptr %1549, align 4, !tbaa !5
  %7480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7471, ptr noundef nonnull %.str.5.sink4365, i32 noundef %7472, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 650, ptr noundef %7474, ptr noundef %7476, ptr noundef %7478, i32 noundef %7479) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7481:                                             ; preds = %7455
  %7482 = add nsw i32 %7430, 3
  store i32 %7482, ptr @test_count, align 4, !tbaa !5
  %7483 = load i32, ptr %7429, align 8
  %7484 = and i32 %7483, 65536
  %.not1387 = icmp eq i32 %7484, 0
  br i1 %.not1387, label %7507, label %7485

7485:                                             ; preds = %7481
  %7486 = load i32, ptr %1549, align 4, !tbaa !5
  %7487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7488 = call i32 @s2n_print_stacktrace(ptr noundef %7487) #12
  %7489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7490 = trunc nuw i8 %7489 to i1
  br i1 %7490, label %7491, label %7495

7491:                                             ; preds = %7485
  %7492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7493 = call i32 @fileno(ptr noundef %7492) #12
  %7494 = call i32 @isatty(i32 noundef %7493) #12
  %.not1648 = icmp eq i32 %7494, 0
  br i1 %.not1648, label %7495, label %7496

7495:                                             ; preds = %7491, %7485
  br label %7496

7496:                                             ; preds = %7491, %7495
  %.str.5.sink4374 = phi ptr [ @.str.5, %7495 ], [ @.str.2, %7491 ]
  store i32 %7486, ptr %1549, align 4, !tbaa !5
  %7497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7498 = load i32, ptr @test_count, align 4, !tbaa !5
  %7499 = load i32, ptr %1495, align 4, !tbaa !5
  %7500 = call ptr @s2n_strerror(i32 noundef %7499, ptr noundef nonnull @.str.4) #12
  %7501 = load i32, ptr %1495, align 4, !tbaa !5
  %7502 = call ptr @s2n_strerror_debug(i32 noundef %7501, ptr noundef nonnull @.str.4) #12
  %7503 = load i32, ptr %1549, align 4, !tbaa !5
  %7504 = call ptr @strerror(i32 noundef %7503) #12
  %7505 = load i32, ptr %1549, align 4, !tbaa !5
  %7506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7497, ptr noundef nonnull %.str.5.sink4374, i32 noundef %7498, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 651, ptr noundef %7500, ptr noundef %7502, ptr noundef %7504, i32 noundef %7505) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7507:                                             ; preds = %7481
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %45) #12
  %7508 = call ptr @s2n_connection_new(i32 noundef %7426) #12
  store ptr %7508, ptr %45, align 8, !tbaa !9
  %7509 = load i32, ptr @test_count, align 4, !tbaa !5
  %7510 = add nsw i32 %7509, 1
  store i32 %7510, ptr @test_count, align 4, !tbaa !5
  %7511 = icmp eq ptr %7508, null
  br i1 %7511, label %7512, label %7534

7512:                                             ; preds = %7507
  %7513 = load i32, ptr %1549, align 4, !tbaa !5
  %7514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7515 = call i32 @s2n_print_stacktrace(ptr noundef %7514) #12
  %7516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7517 = trunc nuw i8 %7516 to i1
  br i1 %7517, label %7518, label %7522

7518:                                             ; preds = %7512
  %7519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7520 = call i32 @fileno(ptr noundef %7519) #12
  %7521 = call i32 @isatty(i32 noundef %7520) #12
  %.not1647 = icmp eq i32 %7521, 0
  br i1 %.not1647, label %7522, label %7523

7522:                                             ; preds = %7518, %7512
  br label %7523

7523:                                             ; preds = %7518, %7522
  %.str.5.sink4383 = phi ptr [ @.str.5, %7522 ], [ @.str.2, %7518 ]
  store i32 %7513, ptr %1549, align 4, !tbaa !5
  %7524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7525 = load i32, ptr @test_count, align 4, !tbaa !5
  %7526 = load i32, ptr %1495, align 4, !tbaa !5
  %7527 = call ptr @s2n_strerror(i32 noundef %7526, ptr noundef nonnull @.str.4) #12
  %7528 = load i32, ptr %1495, align 4, !tbaa !5
  %7529 = call ptr @s2n_strerror_debug(i32 noundef %7528, ptr noundef nonnull @.str.4) #12
  %7530 = load i32, ptr %1549, align 4, !tbaa !5
  %7531 = call ptr @strerror(i32 noundef %7530) #12
  %7532 = load i32, ptr %1549, align 4, !tbaa !5
  %7533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7524, ptr noundef nonnull %.str.5.sink4383, i32 noundef %7525, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 654, ptr noundef %7527, ptr noundef %7529, ptr noundef %7531, i32 noundef %7532) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7534:                                             ; preds = %7507
  %7535 = add nsw i32 %7509, 2
  store i32 %7535, ptr @test_count, align 4, !tbaa !5
  %7536 = load ptr, ptr %44, align 8, !tbaa !9
  %7537 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7508, ptr noundef %7536) #12
  %7538 = icmp eq i32 %7537, -1
  br i1 %7538, label %7539, label %7561

7539:                                             ; preds = %7534
  %7540 = load i32, ptr %1549, align 4, !tbaa !5
  %7541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7542 = call i32 @s2n_print_stacktrace(ptr noundef %7541) #12
  %7543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7544 = trunc nuw i8 %7543 to i1
  br i1 %7544, label %7545, label %7549

7545:                                             ; preds = %7539
  %7546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7547 = call i32 @fileno(ptr noundef %7546) #12
  %7548 = call i32 @isatty(i32 noundef %7547) #12
  %.not1646 = icmp eq i32 %7548, 0
  br i1 %.not1646, label %7549, label %7550

7549:                                             ; preds = %7545, %7539
  br label %7550

7550:                                             ; preds = %7545, %7549
  %.str.5.sink4392 = phi ptr [ @.str.5, %7549 ], [ @.str.2, %7545 ]
  store i32 %7540, ptr %1549, align 4, !tbaa !5
  %7551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7552 = load i32, ptr @test_count, align 4, !tbaa !5
  %7553 = load i32, ptr %1495, align 4, !tbaa !5
  %7554 = call ptr @s2n_strerror(i32 noundef %7553, ptr noundef nonnull @.str.4) #12
  %7555 = load i32, ptr %1495, align 4, !tbaa !5
  %7556 = call ptr @s2n_strerror_debug(i32 noundef %7555, ptr noundef nonnull @.str.4) #12
  %7557 = load i32, ptr %1549, align 4, !tbaa !5
  %7558 = call ptr @strerror(i32 noundef %7557) #12
  %7559 = load i32, ptr %1549, align 4, !tbaa !5
  %7560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7551, ptr noundef nonnull %.str.5.sink4392, i32 noundef %7552, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 655, ptr noundef %7554, ptr noundef %7556, ptr noundef %7558, i32 noundef %7559) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7561:                                             ; preds = %7534
  %7562 = load i32, ptr @test_count, align 4, !tbaa !5
  %7563 = add nsw i32 %7562, 1
  store i32 %7563, ptr @test_count, align 4, !tbaa !5
  %7564 = load ptr, ptr %45, align 8, !tbaa !9
  %7565 = load i32, ptr %7564, align 8
  %7566 = and i32 %7565, 1048576
  %.not1388 = icmp eq i32 %7566, 0
  br i1 %.not1388, label %7589, label %7567

7567:                                             ; preds = %7561
  %7568 = load i32, ptr %1549, align 4, !tbaa !5
  %7569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7570 = call i32 @s2n_print_stacktrace(ptr noundef %7569) #12
  %7571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7572 = trunc nuw i8 %7571 to i1
  br i1 %7572, label %7573, label %7577

7573:                                             ; preds = %7567
  %7574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7575 = call i32 @fileno(ptr noundef %7574) #12
  %7576 = call i32 @isatty(i32 noundef %7575) #12
  %.not1645 = icmp eq i32 %7576, 0
  br i1 %.not1645, label %7577, label %7578

7577:                                             ; preds = %7573, %7567
  br label %7578

7578:                                             ; preds = %7573, %7577
  %.str.5.sink4401 = phi ptr [ @.str.5, %7577 ], [ @.str.2, %7573 ]
  store i32 %7568, ptr %1549, align 4, !tbaa !5
  %7579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7580 = load i32, ptr @test_count, align 4, !tbaa !5
  %7581 = load i32, ptr %1495, align 4, !tbaa !5
  %7582 = call ptr @s2n_strerror(i32 noundef %7581, ptr noundef nonnull @.str.4) #12
  %7583 = load i32, ptr %1495, align 4, !tbaa !5
  %7584 = call ptr @s2n_strerror_debug(i32 noundef %7583, ptr noundef nonnull @.str.4) #12
  %7585 = load i32, ptr %1549, align 4, !tbaa !5
  %7586 = call ptr @strerror(i32 noundef %7585) #12
  %7587 = load i32, ptr %1549, align 4, !tbaa !5
  %7588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7579, ptr noundef nonnull %.str.5.sink4401, i32 noundef %7580, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.1, i32 noundef 657, ptr noundef %7582, ptr noundef %7584, ptr noundef %7586, i32 noundef %7587) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7589:                                             ; preds = %7561
  %7590 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %45) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %45) #12
  %7591 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %44) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %44) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #12
  %7592 = call ptr @s2n_config_new() #12
  store ptr %7592, ptr %46, align 8, !tbaa !9
  %7593 = load i32, ptr @test_count, align 4, !tbaa !5
  %7594 = add nsw i32 %7593, 1
  store i32 %7594, ptr @test_count, align 4, !tbaa !5
  %7595 = icmp eq ptr %7592, null
  br i1 %7595, label %7596, label %7618

7596:                                             ; preds = %7589
  %7597 = load i32, ptr %1549, align 4, !tbaa !5
  %7598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7599 = call i32 @s2n_print_stacktrace(ptr noundef %7598) #12
  %7600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7601 = trunc nuw i8 %7600 to i1
  br i1 %7601, label %7602, label %7606

7602:                                             ; preds = %7596
  %7603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7604 = call i32 @fileno(ptr noundef %7603) #12
  %7605 = call i32 @isatty(i32 noundef %7604) #12
  %.not1644 = icmp eq i32 %7605, 0
  br i1 %.not1644, label %7606, label %7607

7606:                                             ; preds = %7602, %7596
  br label %7607

7607:                                             ; preds = %7602, %7606
  %.str.5.sink4410 = phi ptr [ @.str.5, %7606 ], [ @.str.2, %7602 ]
  store i32 %7597, ptr %1549, align 4, !tbaa !5
  %7608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7609 = load i32, ptr @test_count, align 4, !tbaa !5
  %7610 = load i32, ptr %1495, align 4, !tbaa !5
  %7611 = call ptr @s2n_strerror(i32 noundef %7610, ptr noundef nonnull @.str.4) #12
  %7612 = load i32, ptr %1495, align 4, !tbaa !5
  %7613 = call ptr @s2n_strerror_debug(i32 noundef %7612, ptr noundef nonnull @.str.4) #12
  %7614 = load i32, ptr %1549, align 4, !tbaa !5
  %7615 = call ptr @strerror(i32 noundef %7614) #12
  %7616 = load i32, ptr %1549, align 4, !tbaa !5
  %7617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7608, ptr noundef nonnull %.str.5.sink4410, i32 noundef %7609, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 663, ptr noundef %7611, ptr noundef %7613, ptr noundef %7615, i32 noundef %7616) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7618:                                             ; preds = %7589
  %7619 = add nsw i32 %7593, 2
  store i32 %7619, ptr @test_count, align 4, !tbaa !5
  %7620 = call i32 @s2n_config_set_status_request_type(ptr noundef nonnull %7592, i32 noundef 1) #12
  %7621 = icmp eq i32 %7620, -1
  br i1 %7621, label %7622, label %7644

7622:                                             ; preds = %7618
  %7623 = load i32, ptr %1549, align 4, !tbaa !5
  %7624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7625 = call i32 @s2n_print_stacktrace(ptr noundef %7624) #12
  %7626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7627 = trunc nuw i8 %7626 to i1
  br i1 %7627, label %7628, label %7632

7628:                                             ; preds = %7622
  %7629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7630 = call i32 @fileno(ptr noundef %7629) #12
  %7631 = call i32 @isatty(i32 noundef %7630) #12
  %.not1643 = icmp eq i32 %7631, 0
  br i1 %.not1643, label %7632, label %7633

7632:                                             ; preds = %7628, %7622
  br label %7633

7633:                                             ; preds = %7628, %7632
  %.str.5.sink4419 = phi ptr [ @.str.5, %7632 ], [ @.str.2, %7628 ]
  store i32 %7623, ptr %1549, align 4, !tbaa !5
  %7634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7635 = load i32, ptr @test_count, align 4, !tbaa !5
  %7636 = load i32, ptr %1495, align 4, !tbaa !5
  %7637 = call ptr @s2n_strerror(i32 noundef %7636, ptr noundef nonnull @.str.4) #12
  %7638 = load i32, ptr %1495, align 4, !tbaa !5
  %7639 = call ptr @s2n_strerror_debug(i32 noundef %7638, ptr noundef nonnull @.str.4) #12
  %7640 = load i32, ptr %1549, align 4, !tbaa !5
  %7641 = call ptr @strerror(i32 noundef %7640) #12
  %7642 = load i32, ptr %1549, align 4, !tbaa !5
  %7643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7634, ptr noundef nonnull %.str.5.sink4419, i32 noundef %7635, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.1, i32 noundef 664, ptr noundef %7637, ptr noundef %7639, ptr noundef %7641, i32 noundef %7642) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7644:                                             ; preds = %7618
  %7645 = load i32, ptr @test_count, align 4, !tbaa !5
  %7646 = add nsw i32 %7645, 1
  store i32 %7646, ptr @test_count, align 4, !tbaa !5
  %7647 = load ptr, ptr %46, align 8, !tbaa !9
  %7648 = load i32, ptr %7647, align 8
  %7649 = and i32 %7648, 32768
  %.not1389 = icmp eq i32 %7649, 0
  br i1 %.not1389, label %7650, label %7672

7650:                                             ; preds = %7644
  %7651 = load i32, ptr %1549, align 4, !tbaa !5
  %7652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7653 = call i32 @s2n_print_stacktrace(ptr noundef %7652) #12
  %7654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7655 = trunc nuw i8 %7654 to i1
  br i1 %7655, label %7656, label %7660

7656:                                             ; preds = %7650
  %7657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7658 = call i32 @fileno(ptr noundef %7657) #12
  %7659 = call i32 @isatty(i32 noundef %7658) #12
  %.not1390 = icmp eq i32 %7659, 0
  br i1 %.not1390, label %7660, label %7661

7660:                                             ; preds = %7656, %7650
  br label %7661

7661:                                             ; preds = %7656, %7660
  %.str.5.sink4428 = phi ptr [ @.str.5, %7660 ], [ @.str.2, %7656 ]
  store i32 %7651, ptr %1549, align 4, !tbaa !5
  %7662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7663 = load i32, ptr @test_count, align 4, !tbaa !5
  %7664 = load i32, ptr %1495, align 4, !tbaa !5
  %7665 = call ptr @s2n_strerror(i32 noundef %7664, ptr noundef nonnull @.str.4) #12
  %7666 = load i32, ptr %1495, align 4, !tbaa !5
  %7667 = call ptr @s2n_strerror_debug(i32 noundef %7666, ptr noundef nonnull @.str.4) #12
  %7668 = load i32, ptr %1549, align 4, !tbaa !5
  %7669 = call ptr @strerror(i32 noundef %7668) #12
  %7670 = load i32, ptr %1549, align 4, !tbaa !5
  %7671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7662, ptr noundef nonnull %.str.5.sink4428, i32 noundef %7663, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.1, i32 noundef 665, ptr noundef %7665, ptr noundef %7667, ptr noundef %7669, i32 noundef %7670) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7672:                                             ; preds = %7644
  %7673 = add nsw i32 %7645, 2
  store i32 %7673, ptr @test_count, align 4, !tbaa !5
  %7674 = load i32, ptr %7647, align 8
  %7675 = and i32 %7674, 65536
  %.not1391 = icmp eq i32 %7675, 0
  br i1 %.not1391, label %7698, label %7676

7676:                                             ; preds = %7672
  %7677 = load i32, ptr %1549, align 4, !tbaa !5
  %7678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7679 = call i32 @s2n_print_stacktrace(ptr noundef %7678) #12
  %7680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7681 = trunc nuw i8 %7680 to i1
  br i1 %7681, label %7682, label %7686

7682:                                             ; preds = %7676
  %7683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7684 = call i32 @fileno(ptr noundef %7683) #12
  %7685 = call i32 @isatty(i32 noundef %7684) #12
  %.not1642 = icmp eq i32 %7685, 0
  br i1 %.not1642, label %7686, label %7687

7686:                                             ; preds = %7682, %7676
  br label %7687

7687:                                             ; preds = %7682, %7686
  %.str.5.sink4437 = phi ptr [ @.str.5, %7686 ], [ @.str.2, %7682 ]
  store i32 %7677, ptr %1549, align 4, !tbaa !5
  %7688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7689 = load i32, ptr @test_count, align 4, !tbaa !5
  %7690 = load i32, ptr %1495, align 4, !tbaa !5
  %7691 = call ptr @s2n_strerror(i32 noundef %7690, ptr noundef nonnull @.str.4) #12
  %7692 = load i32, ptr %1495, align 4, !tbaa !5
  %7693 = call ptr @s2n_strerror_debug(i32 noundef %7692, ptr noundef nonnull @.str.4) #12
  %7694 = load i32, ptr %1549, align 4, !tbaa !5
  %7695 = call ptr @strerror(i32 noundef %7694) #12
  %7696 = load i32, ptr %1549, align 4, !tbaa !5
  %7697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7688, ptr noundef nonnull %.str.5.sink4437, i32 noundef %7689, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 666, ptr noundef %7691, ptr noundef %7693, ptr noundef %7695, i32 noundef %7696) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7698:                                             ; preds = %7672
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %47) #12
  %7699 = call ptr @s2n_connection_new(i32 noundef %7426) #12
  store ptr %7699, ptr %47, align 8, !tbaa !9
  %7700 = load i32, ptr @test_count, align 4, !tbaa !5
  %7701 = add nsw i32 %7700, 1
  store i32 %7701, ptr @test_count, align 4, !tbaa !5
  %7702 = icmp eq ptr %7699, null
  br i1 %7702, label %7703, label %7725

7703:                                             ; preds = %7698
  %7704 = load i32, ptr %1549, align 4, !tbaa !5
  %7705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7706 = call i32 @s2n_print_stacktrace(ptr noundef %7705) #12
  %7707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7708 = trunc nuw i8 %7707 to i1
  br i1 %7708, label %7709, label %7713

7709:                                             ; preds = %7703
  %7710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7711 = call i32 @fileno(ptr noundef %7710) #12
  %7712 = call i32 @isatty(i32 noundef %7711) #12
  %.not1641 = icmp eq i32 %7712, 0
  br i1 %.not1641, label %7713, label %7714

7713:                                             ; preds = %7709, %7703
  br label %7714

7714:                                             ; preds = %7709, %7713
  %.str.5.sink4446 = phi ptr [ @.str.5, %7713 ], [ @.str.2, %7709 ]
  store i32 %7704, ptr %1549, align 4, !tbaa !5
  %7715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7716 = load i32, ptr @test_count, align 4, !tbaa !5
  %7717 = load i32, ptr %1495, align 4, !tbaa !5
  %7718 = call ptr @s2n_strerror(i32 noundef %7717, ptr noundef nonnull @.str.4) #12
  %7719 = load i32, ptr %1495, align 4, !tbaa !5
  %7720 = call ptr @s2n_strerror_debug(i32 noundef %7719, ptr noundef nonnull @.str.4) #12
  %7721 = load i32, ptr %1549, align 4, !tbaa !5
  %7722 = call ptr @strerror(i32 noundef %7721) #12
  %7723 = load i32, ptr %1549, align 4, !tbaa !5
  %7724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7715, ptr noundef nonnull %.str.5.sink4446, i32 noundef %7716, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 669, ptr noundef %7718, ptr noundef %7720, ptr noundef %7722, i32 noundef %7723) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7725:                                             ; preds = %7698
  %7726 = add nsw i32 %7700, 2
  store i32 %7726, ptr @test_count, align 4, !tbaa !5
  %7727 = load ptr, ptr %46, align 8, !tbaa !9
  %7728 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7699, ptr noundef %7727) #12
  %7729 = icmp eq i32 %7728, -1
  br i1 %7729, label %7730, label %7752

7730:                                             ; preds = %7725
  %7731 = load i32, ptr %1549, align 4, !tbaa !5
  %7732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7733 = call i32 @s2n_print_stacktrace(ptr noundef %7732) #12
  %7734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7735 = trunc nuw i8 %7734 to i1
  br i1 %7735, label %7736, label %7740

7736:                                             ; preds = %7730
  %7737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7738 = call i32 @fileno(ptr noundef %7737) #12
  %7739 = call i32 @isatty(i32 noundef %7738) #12
  %.not1640 = icmp eq i32 %7739, 0
  br i1 %.not1640, label %7740, label %7741

7740:                                             ; preds = %7736, %7730
  br label %7741

7741:                                             ; preds = %7736, %7740
  %.str.5.sink4455 = phi ptr [ @.str.5, %7740 ], [ @.str.2, %7736 ]
  store i32 %7731, ptr %1549, align 4, !tbaa !5
  %7742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7743 = load i32, ptr @test_count, align 4, !tbaa !5
  %7744 = load i32, ptr %1495, align 4, !tbaa !5
  %7745 = call ptr @s2n_strerror(i32 noundef %7744, ptr noundef nonnull @.str.4) #12
  %7746 = load i32, ptr %1495, align 4, !tbaa !5
  %7747 = call ptr @s2n_strerror_debug(i32 noundef %7746, ptr noundef nonnull @.str.4) #12
  %7748 = load i32, ptr %1549, align 4, !tbaa !5
  %7749 = call ptr @strerror(i32 noundef %7748) #12
  %7750 = load i32, ptr %1549, align 4, !tbaa !5
  %7751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7742, ptr noundef nonnull %.str.5.sink4455, i32 noundef %7743, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 670, ptr noundef %7745, ptr noundef %7747, ptr noundef %7749, i32 noundef %7750) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7752:                                             ; preds = %7725
  %7753 = load i32, ptr @test_count, align 4, !tbaa !5
  %7754 = add nsw i32 %7753, 1
  store i32 %7754, ptr @test_count, align 4, !tbaa !5
  %7755 = load ptr, ptr %47, align 8, !tbaa !9
  %7756 = load i32, ptr %7755, align 8
  %7757 = and i32 %7756, 1048576
  %.not1392 = icmp eq i32 %7757, 0
  br i1 %.not1392, label %7758, label %7780

7758:                                             ; preds = %7752
  %7759 = load i32, ptr %1549, align 4, !tbaa !5
  %7760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7761 = call i32 @s2n_print_stacktrace(ptr noundef %7760) #12
  %7762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7763 = trunc nuw i8 %7762 to i1
  br i1 %7763, label %7764, label %7768

7764:                                             ; preds = %7758
  %7765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7766 = call i32 @fileno(ptr noundef %7765) #12
  %7767 = call i32 @isatty(i32 noundef %7766) #12
  %.not1393 = icmp eq i32 %7767, 0
  br i1 %.not1393, label %7768, label %7769

7768:                                             ; preds = %7764, %7758
  br label %7769

7769:                                             ; preds = %7764, %7768
  %.str.5.sink4464 = phi ptr [ @.str.5, %7768 ], [ @.str.2, %7764 ]
  store i32 %7759, ptr %1549, align 4, !tbaa !5
  %7770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7771 = load i32, ptr @test_count, align 4, !tbaa !5
  %7772 = load i32, ptr %1495, align 4, !tbaa !5
  %7773 = call ptr @s2n_strerror(i32 noundef %7772, ptr noundef nonnull @.str.4) #12
  %7774 = load i32, ptr %1495, align 4, !tbaa !5
  %7775 = call ptr @s2n_strerror_debug(i32 noundef %7774, ptr noundef nonnull @.str.4) #12
  %7776 = load i32, ptr %1549, align 4, !tbaa !5
  %7777 = call ptr @strerror(i32 noundef %7776) #12
  %7778 = load i32, ptr %1549, align 4, !tbaa !5
  %7779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7770, ptr noundef nonnull %.str.5.sink4464, i32 noundef %7771, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.1, i32 noundef 672, ptr noundef %7773, ptr noundef %7775, ptr noundef %7777, i32 noundef %7778) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7780:                                             ; preds = %7752
  %7781 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %47) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %47) #12
  %7782 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %46) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #12
  %7783 = icmp eq i32 %7426, 1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #12
  %7784 = call ptr @s2n_config_new() #12
  store ptr %7784, ptr %48, align 8, !tbaa !9
  %7785 = load i32, ptr @test_count, align 4, !tbaa !5
  %7786 = add nsw i32 %7785, 1
  store i32 %7786, ptr @test_count, align 4, !tbaa !5
  %7787 = icmp eq ptr %7784, null
  br i1 %7787, label %7788, label %7810

7788:                                             ; preds = %8087, %8052, %7780
  %7789 = load i32, ptr %1549, align 4, !tbaa !5
  %7790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7791 = call i32 @s2n_print_stacktrace(ptr noundef %7790) #12
  %7792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7793 = trunc nuw i8 %7792 to i1
  br i1 %7793, label %7794, label %7798

7794:                                             ; preds = %7788
  %7795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7796 = call i32 @fileno(ptr noundef %7795) #12
  %7797 = call i32 @isatty(i32 noundef %7796) #12
  %.not1639 = icmp eq i32 %7797, 0
  br i1 %.not1639, label %7798, label %7799

7798:                                             ; preds = %7794, %7788
  br label %7799

7799:                                             ; preds = %7794, %7798
  %.str.5.sink4473 = phi ptr [ @.str.5, %7798 ], [ @.str.2, %7794 ]
  store i32 %7789, ptr %1549, align 4, !tbaa !5
  %7800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7801 = load i32, ptr @test_count, align 4, !tbaa !5
  %7802 = load i32, ptr %1495, align 4, !tbaa !5
  %7803 = call ptr @s2n_strerror(i32 noundef %7802, ptr noundef nonnull @.str.4) #12
  %7804 = load i32, ptr %1495, align 4, !tbaa !5
  %7805 = call ptr @s2n_strerror_debug(i32 noundef %7804, ptr noundef nonnull @.str.4) #12
  %7806 = load i32, ptr %1549, align 4, !tbaa !5
  %7807 = call ptr @strerror(i32 noundef %7806) #12
  %7808 = load i32, ptr %1549, align 4, !tbaa !5
  %7809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7800, ptr noundef nonnull %.str.5.sink4473, i32 noundef %7801, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 681, ptr noundef %7803, ptr noundef %7805, ptr noundef %7807, i32 noundef %7808) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7810:                                             ; preds = %7780
  %7811 = add nsw i32 %7785, 2
  store i32 %7811, ptr @test_count, align 4, !tbaa !5
  %7812 = call i32 @s2n_config_set_verification_ca_location(ptr noundef nonnull %7784, ptr noundef nonnull @.str.15, ptr noundef null) #12
  %7813 = icmp eq i32 %7812, -1
  br i1 %7813, label %7814, label %7946

7814:                                             ; preds = %7810
  %7815 = load i32, ptr %1549, align 4, !tbaa !5
  %7816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7817 = call i32 @s2n_print_stacktrace(ptr noundef %7816) #12
  %7818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7819 = trunc nuw i8 %7818 to i1
  br i1 %7819, label %7820, label %7824

7820:                                             ; preds = %7814
  %7821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7822 = call i32 @fileno(ptr noundef %7821) #12
  %7823 = call i32 @isatty(i32 noundef %7822) #12
  %.not1629 = icmp eq i32 %7823, 0
  br i1 %.not1629, label %7824, label %7825

7824:                                             ; preds = %7820, %7814
  br label %7825

7825:                                             ; preds = %7820, %7824
  %.str.5.sink4482 = phi ptr [ @.str.5, %7824 ], [ @.str.2, %7820 ]
  store i32 %7815, ptr %1549, align 4, !tbaa !5
  %7826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7827 = load i32, ptr @test_count, align 4, !tbaa !5
  %7828 = load i32, ptr %1495, align 4, !tbaa !5
  %7829 = call ptr @s2n_strerror(i32 noundef %7828, ptr noundef nonnull @.str.4) #12
  %7830 = load i32, ptr %1495, align 4, !tbaa !5
  %7831 = call ptr @s2n_strerror_debug(i32 noundef %7830, ptr noundef nonnull @.str.4) #12
  %7832 = load i32, ptr %1549, align 4, !tbaa !5
  %7833 = call ptr @strerror(i32 noundef %7832) #12
  %7834 = load i32, ptr %1549, align 4, !tbaa !5
  %7835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7826, ptr noundef nonnull %.str.5.sink4482, i32 noundef %7827, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 685, ptr noundef %7829, ptr noundef %7831, ptr noundef %7833, i32 noundef %7834) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7836:                                             ; preds = %8059
  %7837 = load i32, ptr %1549, align 4, !tbaa !5
  %7838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7839 = call i32 @s2n_print_stacktrace(ptr noundef %7838) #12
  %7840 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7841 = trunc nuw i8 %7840 to i1
  br i1 %7841, label %7842, label %7846

7842:                                             ; preds = %7836
  %7843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7844 = call i32 @fileno(ptr noundef %7843) #12
  %7845 = call i32 @isatty(i32 noundef %7844) #12
  %.not1628 = icmp eq i32 %7845, 0
  br i1 %.not1628, label %7846, label %7847

7846:                                             ; preds = %7842, %7836
  br label %7847

7847:                                             ; preds = %7842, %7846
  %.str.5.sink4491 = phi ptr [ @.str.5, %7846 ], [ @.str.2, %7842 ]
  store i32 %7837, ptr %1549, align 4, !tbaa !5
  %7848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7849 = load i32, ptr @test_count, align 4, !tbaa !5
  %7850 = load i32, ptr %1495, align 4, !tbaa !5
  %7851 = call ptr @s2n_strerror(i32 noundef %7850, ptr noundef nonnull @.str.4) #12
  %7852 = load i32, ptr %1495, align 4, !tbaa !5
  %7853 = call ptr @s2n_strerror_debug(i32 noundef %7852, ptr noundef nonnull @.str.4) #12
  %7854 = load i32, ptr %1549, align 4, !tbaa !5
  %7855 = call ptr @strerror(i32 noundef %7854) #12
  %7856 = load i32, ptr %1549, align 4, !tbaa !5
  %7857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7848, ptr noundef nonnull %.str.5.sink4491, i32 noundef %7849, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.1, i32 noundef 691, ptr noundef %7851, ptr noundef %7853, ptr noundef %7855, i32 noundef %7856) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7858:                                             ; preds = %8063
  %7859 = load i32, ptr %1549, align 4, !tbaa !5
  %7860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7861 = call i32 @s2n_print_stacktrace(ptr noundef %7860) #12
  %7862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7863 = trunc nuw i8 %7862 to i1
  br i1 %7863, label %7864, label %7868

7864:                                             ; preds = %7858
  %7865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7866 = call i32 @fileno(ptr noundef %7865) #12
  %7867 = call i32 @isatty(i32 noundef %7866) #12
  %.not1627 = icmp eq i32 %7867, 0
  br i1 %.not1627, label %7868, label %7869

7868:                                             ; preds = %7864, %7858
  br label %7869

7869:                                             ; preds = %7864, %7868
  %.str.5.sink4500 = phi ptr [ @.str.5, %7868 ], [ @.str.2, %7864 ]
  store i32 %7859, ptr %1549, align 4, !tbaa !5
  %7870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7871 = load i32, ptr @test_count, align 4, !tbaa !5
  %7872 = load i32, ptr %1495, align 4, !tbaa !5
  %7873 = call ptr @s2n_strerror(i32 noundef %7872, ptr noundef nonnull @.str.4) #12
  %7874 = load i32, ptr %1495, align 4, !tbaa !5
  %7875 = call ptr @s2n_strerror_debug(i32 noundef %7874, ptr noundef nonnull @.str.4) #12
  %7876 = load i32, ptr %1549, align 4, !tbaa !5
  %7877 = call ptr @strerror(i32 noundef %7876) #12
  %7878 = load i32, ptr %1549, align 4, !tbaa !5
  %7879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7870, ptr noundef nonnull %.str.5.sink4500, i32 noundef %7871, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 692, ptr noundef %7873, ptr noundef %7875, ptr noundef %7877, i32 noundef %7878) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7880:                                             ; preds = %8094
  %7881 = load i32, ptr %1549, align 4, !tbaa !5
  %7882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7883 = call i32 @s2n_print_stacktrace(ptr noundef %7882) #12
  %7884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7885 = trunc nuw i8 %7884 to i1
  br i1 %7885, label %7886, label %7890

7886:                                             ; preds = %7880
  %7887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7888 = call i32 @fileno(ptr noundef %7887) #12
  %7889 = call i32 @isatty(i32 noundef %7888) #12
  %.not1638 = icmp eq i32 %7889, 0
  br i1 %.not1638, label %7890, label %7891

7890:                                             ; preds = %7886, %7880
  br label %7891

7891:                                             ; preds = %7886, %7890
  %.str.5.sink4509 = phi ptr [ @.str.5, %7890 ], [ @.str.2, %7886 ]
  store i32 %7881, ptr %1549, align 4, !tbaa !5
  %7892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7893 = load i32, ptr @test_count, align 4, !tbaa !5
  %7894 = load i32, ptr %1495, align 4, !tbaa !5
  %7895 = call ptr @s2n_strerror(i32 noundef %7894, ptr noundef nonnull @.str.4) #12
  %7896 = load i32, ptr %1495, align 4, !tbaa !5
  %7897 = call ptr @s2n_strerror_debug(i32 noundef %7896, ptr noundef nonnull @.str.4) #12
  %7898 = load i32, ptr %1549, align 4, !tbaa !5
  %7899 = call ptr @strerror(i32 noundef %7898) #12
  %7900 = load i32, ptr %1549, align 4, !tbaa !5
  %7901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7892, ptr noundef nonnull %.str.5.sink4509, i32 noundef %7893, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.1, i32 noundef 695, ptr noundef %7895, ptr noundef %7897, ptr noundef %7899, i32 noundef %7900) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7902:                                             ; preds = %8098
  %7903 = load i32, ptr %1549, align 4, !tbaa !5
  %7904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7905 = call i32 @s2n_print_stacktrace(ptr noundef %7904) #12
  %7906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7907 = trunc nuw i8 %7906 to i1
  br i1 %7907, label %7908, label %7912

7908:                                             ; preds = %7902
  %7909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7910 = call i32 @fileno(ptr noundef %7909) #12
  %7911 = call i32 @isatty(i32 noundef %7910) #12
  %.not1637 = icmp eq i32 %7911, 0
  br i1 %.not1637, label %7912, label %7913

7912:                                             ; preds = %7908, %7902
  br label %7913

7913:                                             ; preds = %7908, %7912
  %.str.5.sink4518 = phi ptr [ @.str.5, %7912 ], [ @.str.2, %7908 ]
  store i32 %7903, ptr %1549, align 4, !tbaa !5
  %7914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7915 = load i32, ptr @test_count, align 4, !tbaa !5
  %7916 = load i32, ptr %1495, align 4, !tbaa !5
  %7917 = call ptr @s2n_strerror(i32 noundef %7916, ptr noundef nonnull @.str.4) #12
  %7918 = load i32, ptr %1495, align 4, !tbaa !5
  %7919 = call ptr @s2n_strerror_debug(i32 noundef %7918, ptr noundef nonnull @.str.4) #12
  %7920 = load i32, ptr %1549, align 4, !tbaa !5
  %7921 = call ptr @strerror(i32 noundef %7920) #12
  %7922 = load i32, ptr %1549, align 4, !tbaa !5
  %7923 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7914, ptr noundef nonnull %.str.5.sink4518, i32 noundef %7915, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.1, i32 noundef 696, ptr noundef %7917, ptr noundef %7919, ptr noundef %7921, i32 noundef %7922) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7924:                                             ; preds = %8104
  %7925 = load i32, ptr %1549, align 4, !tbaa !5
  %7926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7927 = call i32 @s2n_print_stacktrace(ptr noundef %7926) #12
  %7928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7929 = trunc nuw i8 %7928 to i1
  br i1 %7929, label %7930, label %7934

7930:                                             ; preds = %7924
  %7931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7932 = call i32 @fileno(ptr noundef %7931) #12
  %7933 = call i32 @isatty(i32 noundef %7932) #12
  %.not1636 = icmp eq i32 %7933, 0
  br i1 %.not1636, label %7934, label %7935

7934:                                             ; preds = %7930, %7924
  br label %7935

7935:                                             ; preds = %7930, %7934
  %.str.5.sink4527 = phi ptr [ @.str.5, %7934 ], [ @.str.2, %7930 ]
  store i32 %7925, ptr %1549, align 4, !tbaa !5
  %7936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7937 = load i32, ptr @test_count, align 4, !tbaa !5
  %7938 = load i32, ptr %1495, align 4, !tbaa !5
  %7939 = call ptr @s2n_strerror(i32 noundef %7938, ptr noundef nonnull @.str.4) #12
  %7940 = load i32, ptr %1495, align 4, !tbaa !5
  %7941 = call ptr @s2n_strerror_debug(i32 noundef %7940, ptr noundef nonnull @.str.4) #12
  %7942 = load i32, ptr %1549, align 4, !tbaa !5
  %7943 = call ptr @strerror(i32 noundef %7942) #12
  %7944 = load i32, ptr %1549, align 4, !tbaa !5
  %7945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7936, ptr noundef nonnull %.str.5.sink4527, i32 noundef %7937, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 697, ptr noundef %7939, ptr noundef %7941, ptr noundef %7943, i32 noundef %7944) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7946:                                             ; preds = %7810
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #12
  %7947 = call ptr @s2n_connection_new(i32 noundef %7426) #12
  store ptr %7947, ptr %49, align 8, !tbaa !9
  %7948 = load i32, ptr @test_count, align 4, !tbaa !5
  %7949 = add nsw i32 %7948, 1
  store i32 %7949, ptr @test_count, align 4, !tbaa !5
  %7950 = icmp eq ptr %7947, null
  br i1 %7950, label %7951, label %7973

7951:                                             ; preds = %8110, %8069, %7946
  %7952 = load i32, ptr %1549, align 4, !tbaa !5
  %7953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7954 = call i32 @s2n_print_stacktrace(ptr noundef %7953) #12
  %7955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7956 = trunc nuw i8 %7955 to i1
  br i1 %7956, label %7957, label %7961

7957:                                             ; preds = %7951
  %7958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7959 = call i32 @fileno(ptr noundef %7958) #12
  %7960 = call i32 @isatty(i32 noundef %7959) #12
  %.not1635 = icmp eq i32 %7960, 0
  br i1 %.not1635, label %7961, label %7962

7961:                                             ; preds = %7957, %7951
  br label %7962

7962:                                             ; preds = %7957, %7961
  %.str.5.sink4536 = phi ptr [ @.str.5, %7961 ], [ @.str.2, %7957 ]
  store i32 %7952, ptr %1549, align 4, !tbaa !5
  %7963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7964 = load i32, ptr @test_count, align 4, !tbaa !5
  %7965 = load i32, ptr %1495, align 4, !tbaa !5
  %7966 = call ptr @s2n_strerror(i32 noundef %7965, ptr noundef nonnull @.str.4) #12
  %7967 = load i32, ptr %1495, align 4, !tbaa !5
  %7968 = call ptr @s2n_strerror_debug(i32 noundef %7967, ptr noundef nonnull @.str.4) #12
  %7969 = load i32, ptr %1549, align 4, !tbaa !5
  %7970 = call ptr @strerror(i32 noundef %7969) #12
  %7971 = load i32, ptr %1549, align 4, !tbaa !5
  %7972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7963, ptr noundef nonnull %.str.5.sink4536, i32 noundef %7964, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 702, ptr noundef %7966, ptr noundef %7968, ptr noundef %7970, i32 noundef %7971) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7973:                                             ; preds = %7946
  %7974 = add nsw i32 %7948, 2
  store i32 %7974, ptr @test_count, align 4, !tbaa !5
  %7975 = load ptr, ptr %48, align 8, !tbaa !9
  %7976 = call i32 @s2n_connection_set_config(ptr noundef nonnull %7947, ptr noundef %7975) #12
  %7977 = icmp eq i32 %7976, -1
  br i1 %7977, label %7978, label %8000

7978:                                             ; preds = %8115, %8074, %7973
  %7979 = load i32, ptr %1549, align 4, !tbaa !5
  %7980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7981 = call i32 @s2n_print_stacktrace(ptr noundef %7980) #12
  %7982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7983 = trunc nuw i8 %7982 to i1
  br i1 %7983, label %7984, label %7988

7984:                                             ; preds = %7978
  %7985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7986 = call i32 @fileno(ptr noundef %7985) #12
  %7987 = call i32 @isatty(i32 noundef %7986) #12
  %.not1634 = icmp eq i32 %7987, 0
  br i1 %.not1634, label %7988, label %7989

7988:                                             ; preds = %7984, %7978
  br label %7989

7989:                                             ; preds = %7984, %7988
  %.str.5.sink4545 = phi ptr [ @.str.5, %7988 ], [ @.str.2, %7984 ]
  store i32 %7979, ptr %1549, align 4, !tbaa !5
  %7990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7991 = load i32, ptr @test_count, align 4, !tbaa !5
  %7992 = load i32, ptr %1495, align 4, !tbaa !5
  %7993 = call ptr @s2n_strerror(i32 noundef %7992, ptr noundef nonnull @.str.4) #12
  %7994 = load i32, ptr %1495, align 4, !tbaa !5
  %7995 = call ptr @s2n_strerror_debug(i32 noundef %7994, ptr noundef nonnull @.str.4) #12
  %7996 = load i32, ptr %1549, align 4, !tbaa !5
  %7997 = call ptr @strerror(i32 noundef %7996) #12
  %7998 = load i32, ptr %1549, align 4, !tbaa !5
  %7999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7990, ptr noundef nonnull %.str.5.sink4545, i32 noundef %7991, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 703, ptr noundef %7993, ptr noundef %7995, ptr noundef %7997, i32 noundef %7998) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8000:                                             ; preds = %7973
  %8001 = load i32, ptr @test_count, align 4, !tbaa !5
  %8002 = add nsw i32 %8001, 1
  store i32 %8002, ptr @test_count, align 4, !tbaa !5
  %8003 = load ptr, ptr %49, align 8, !tbaa !9
  %8004 = load i32, ptr %8003, align 8
  %8005 = and i32 %8004, 1048576
  %.not1632 = icmp eq i32 %8005, 0
  br i1 %7783, label %8006, label %8029

8006:                                             ; preds = %8000
  br i1 %.not1632, label %8007, label %8052

8007:                                             ; preds = %8127, %8086, %8006
  %8008 = load i32, ptr %1549, align 4, !tbaa !5
  %8009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8010 = call i32 @s2n_print_stacktrace(ptr noundef %8009) #12
  %8011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8012 = trunc nuw i8 %8011 to i1
  br i1 %8012, label %8013, label %8017

8013:                                             ; preds = %8007
  %8014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8015 = call i32 @fileno(ptr noundef %8014) #12
  %8016 = call i32 @isatty(i32 noundef %8015) #12
  %.not1633 = icmp eq i32 %8016, 0
  br i1 %.not1633, label %8017, label %8018

8017:                                             ; preds = %8013, %8007
  br label %8018

8018:                                             ; preds = %8013, %8017
  %.str.5.sink4554 = phi ptr [ @.str.5, %8017 ], [ @.str.2, %8013 ]
  store i32 %8008, ptr %1549, align 4, !tbaa !5
  %8019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8020 = load i32, ptr @test_count, align 4, !tbaa !5
  %8021 = load i32, ptr %1495, align 4, !tbaa !5
  %8022 = call ptr @s2n_strerror(i32 noundef %8021, ptr noundef nonnull @.str.4) #12
  %8023 = load i32, ptr %1495, align 4, !tbaa !5
  %8024 = call ptr @s2n_strerror_debug(i32 noundef %8023, ptr noundef nonnull @.str.4) #12
  %8025 = load i32, ptr %1549, align 4, !tbaa !5
  %8026 = call ptr @strerror(i32 noundef %8025) #12
  %8027 = load i32, ptr %1549, align 4, !tbaa !5
  %8028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8019, ptr noundef nonnull %.str.5.sink4554, i32 noundef %8020, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.1, i32 noundef 706, ptr noundef %8022, ptr noundef %8024, ptr noundef %8026, i32 noundef %8027) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8029:                                             ; preds = %8000
  br i1 %.not1632, label %8052, label %8030

8030:                                             ; preds = %8126, %8085, %8029
  %8031 = load i32, ptr %1549, align 4, !tbaa !5
  %8032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8033 = call i32 @s2n_print_stacktrace(ptr noundef %8032) #12
  %8034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8035 = trunc nuw i8 %8034 to i1
  br i1 %8035, label %8036, label %8040

8036:                                             ; preds = %8030
  %8037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8038 = call i32 @fileno(ptr noundef %8037) #12
  %8039 = call i32 @isatty(i32 noundef %8038) #12
  %.not1631 = icmp eq i32 %8039, 0
  br i1 %.not1631, label %8040, label %8041

8040:                                             ; preds = %8036, %8030
  br label %8041

8041:                                             ; preds = %8036, %8040
  %.str.5.sink4563 = phi ptr [ @.str.5, %8040 ], [ @.str.2, %8036 ]
  store i32 %8031, ptr %1549, align 4, !tbaa !5
  %8042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8043 = load i32, ptr @test_count, align 4, !tbaa !5
  %8044 = load i32, ptr %1495, align 4, !tbaa !5
  %8045 = call ptr @s2n_strerror(i32 noundef %8044, ptr noundef nonnull @.str.4) #12
  %8046 = load i32, ptr %1495, align 4, !tbaa !5
  %8047 = call ptr @s2n_strerror_debug(i32 noundef %8046, ptr noundef nonnull @.str.4) #12
  %8048 = load i32, ptr %1549, align 4, !tbaa !5
  %8049 = call ptr @strerror(i32 noundef %8048) #12
  %8050 = load i32, ptr %1549, align 4, !tbaa !5
  %8051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8042, ptr noundef nonnull %.str.5.sink4563, i32 noundef %8043, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.1, i32 noundef 708, ptr noundef %8045, ptr noundef %8047, ptr noundef %8049, i32 noundef %8050) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8052:                                             ; preds = %8029, %8006
  %8053 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #12
  %8054 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #12
  %8055 = call ptr @s2n_config_new() #12
  store ptr %8055, ptr %48, align 8, !tbaa !9
  %8056 = load i32, ptr @test_count, align 4, !tbaa !5
  %8057 = add nsw i32 %8056, 1
  store i32 %8057, ptr @test_count, align 4, !tbaa !5
  %8058 = icmp eq ptr %8055, null
  br i1 %8058, label %7788, label %8059

8059:                                             ; preds = %8052
  %8060 = add nsw i32 %8056, 2
  store i32 %8060, ptr @test_count, align 4, !tbaa !5
  %8061 = call i32 @s2n_config_set_status_request_type(ptr noundef nonnull %8055, i32 noundef 0) #12
  %8062 = icmp eq i32 %8061, -1
  br i1 %8062, label %7836, label %8063

8063:                                             ; preds = %8059
  %8064 = load i32, ptr @test_count, align 4, !tbaa !5
  %8065 = add nsw i32 %8064, 1
  store i32 %8065, ptr @test_count, align 4, !tbaa !5
  %8066 = load ptr, ptr %48, align 8, !tbaa !9
  %8067 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %8066, ptr noundef nonnull @.str.15, ptr noundef null) #12
  %8068 = icmp eq i32 %8067, -1
  br i1 %8068, label %7858, label %8069

8069:                                             ; preds = %8063
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #12
  %8070 = call ptr @s2n_connection_new(i32 noundef %7426) #12
  store ptr %8070, ptr %49, align 8, !tbaa !9
  %8071 = load i32, ptr @test_count, align 4, !tbaa !5
  %8072 = add nsw i32 %8071, 1
  store i32 %8072, ptr @test_count, align 4, !tbaa !5
  %8073 = icmp eq ptr %8070, null
  br i1 %8073, label %7951, label %8074

8074:                                             ; preds = %8069
  %8075 = add nsw i32 %8071, 2
  store i32 %8075, ptr @test_count, align 4, !tbaa !5
  %8076 = load ptr, ptr %48, align 8, !tbaa !9
  %8077 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8070, ptr noundef %8076) #12
  %8078 = icmp eq i32 %8077, -1
  br i1 %8078, label %7978, label %8079

8079:                                             ; preds = %8074
  %8080 = load i32, ptr @test_count, align 4, !tbaa !5
  %8081 = add nsw i32 %8080, 1
  store i32 %8081, ptr @test_count, align 4, !tbaa !5
  %8082 = load ptr, ptr %49, align 8, !tbaa !9
  %8083 = load i32, ptr %8082, align 8
  %8084 = and i32 %8083, 1048576
  %.not1632.1 = icmp eq i32 %8084, 0
  br i1 %7783, label %8086, label %8085

8085:                                             ; preds = %8079
  br i1 %.not1632.1, label %8087, label %8030

8086:                                             ; preds = %8079
  br i1 %.not1632.1, label %8007, label %8087

8087:                                             ; preds = %8086, %8085
  %8088 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #12
  %8089 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #12
  %8090 = call ptr @s2n_config_new() #12
  store ptr %8090, ptr %48, align 8, !tbaa !9
  %8091 = load i32, ptr @test_count, align 4, !tbaa !5
  %8092 = add nsw i32 %8091, 1
  store i32 %8092, ptr @test_count, align 4, !tbaa !5
  %8093 = icmp eq ptr %8090, null
  br i1 %8093, label %7788, label %8094

8094:                                             ; preds = %8087
  %8095 = add nsw i32 %8091, 2
  store i32 %8095, ptr @test_count, align 4, !tbaa !5
  %8096 = call i32 @s2n_config_set_status_request_type(ptr noundef nonnull %8090, i32 noundef 1) #12
  %8097 = icmp eq i32 %8096, -1
  br i1 %8097, label %7880, label %8098

8098:                                             ; preds = %8094
  %8099 = load i32, ptr @test_count, align 4, !tbaa !5
  %8100 = add nsw i32 %8099, 1
  store i32 %8100, ptr @test_count, align 4, !tbaa !5
  %8101 = load ptr, ptr %48, align 8, !tbaa !9
  %8102 = call i32 @s2n_config_set_status_request_type(ptr noundef %8101, i32 noundef 0) #12
  %8103 = icmp eq i32 %8102, -1
  br i1 %8103, label %7902, label %8104

8104:                                             ; preds = %8098
  %8105 = load i32, ptr @test_count, align 4, !tbaa !5
  %8106 = add nsw i32 %8105, 1
  store i32 %8106, ptr @test_count, align 4, !tbaa !5
  %8107 = load ptr, ptr %48, align 8, !tbaa !9
  %8108 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %8107, ptr noundef nonnull @.str.15, ptr noundef null) #12
  %8109 = icmp eq i32 %8108, -1
  br i1 %8109, label %7924, label %8110

8110:                                             ; preds = %8104
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #12
  %8111 = call ptr @s2n_connection_new(i32 noundef %7426) #12
  store ptr %8111, ptr %49, align 8, !tbaa !9
  %8112 = load i32, ptr @test_count, align 4, !tbaa !5
  %8113 = add nsw i32 %8112, 1
  store i32 %8113, ptr @test_count, align 4, !tbaa !5
  %8114 = icmp eq ptr %8111, null
  br i1 %8114, label %7951, label %8115

8115:                                             ; preds = %8110
  %8116 = add nsw i32 %8112, 2
  store i32 %8116, ptr @test_count, align 4, !tbaa !5
  %8117 = load ptr, ptr %48, align 8, !tbaa !9
  %8118 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8111, ptr noundef %8117) #12
  %8119 = icmp eq i32 %8118, -1
  br i1 %8119, label %7978, label %8120

8120:                                             ; preds = %8115
  %8121 = load i32, ptr @test_count, align 4, !tbaa !5
  %8122 = add nsw i32 %8121, 1
  store i32 %8122, ptr @test_count, align 4, !tbaa !5
  %8123 = load ptr, ptr %49, align 8, !tbaa !9
  %8124 = load i32, ptr %8123, align 8
  %8125 = and i32 %8124, 1048576
  %.not1632.2 = icmp eq i32 %8125, 0
  br i1 %7783, label %8127, label %8126

8126:                                             ; preds = %8120
  br i1 %.not1632.2, label %8128, label %8030

8127:                                             ; preds = %8120
  br i1 %.not1632.2, label %8007, label %8128

8128:                                             ; preds = %8127, %8126
  %8129 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #12
  %8130 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %48) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #12
  %8131 = call ptr @s2n_config_new() #12
  store ptr %8131, ptr %50, align 8, !tbaa !9
  %8132 = load i32, ptr @test_count, align 4, !tbaa !5
  %8133 = add nsw i32 %8132, 1
  store i32 %8133, ptr @test_count, align 4, !tbaa !5
  %8134 = icmp eq ptr %8131, null
  br i1 %8134, label %8135, label %8157

8135:                                             ; preds = %8128
  %8136 = load i32, ptr %1549, align 4, !tbaa !5
  %8137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8138 = call i32 @s2n_print_stacktrace(ptr noundef %8137) #12
  %8139 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8140 = trunc nuw i8 %8139 to i1
  br i1 %8140, label %8141, label %8145

8141:                                             ; preds = %8135
  %8142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8143 = call i32 @fileno(ptr noundef %8142) #12
  %8144 = call i32 @isatty(i32 noundef %8143) #12
  %.not1626 = icmp eq i32 %8144, 0
  br i1 %.not1626, label %8145, label %8146

8145:                                             ; preds = %8141, %8135
  br label %8146

8146:                                             ; preds = %8141, %8145
  %.str.5.sink4572 = phi ptr [ @.str.5, %8145 ], [ @.str.2, %8141 ]
  store i32 %8136, ptr %1549, align 4, !tbaa !5
  %8147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8148 = load i32, ptr @test_count, align 4, !tbaa !5
  %8149 = load i32, ptr %1495, align 4, !tbaa !5
  %8150 = call ptr @s2n_strerror(i32 noundef %8149, ptr noundef nonnull @.str.4) #12
  %8151 = load i32, ptr %1495, align 4, !tbaa !5
  %8152 = call ptr @s2n_strerror_debug(i32 noundef %8151, ptr noundef nonnull @.str.4) #12
  %8153 = load i32, ptr %1549, align 4, !tbaa !5
  %8154 = call ptr @strerror(i32 noundef %8153) #12
  %8155 = load i32, ptr %1549, align 4, !tbaa !5
  %8156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8147, ptr noundef nonnull %.str.5.sink4572, i32 noundef %8148, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 717, ptr noundef %8150, ptr noundef %8152, ptr noundef %8154, i32 noundef %8155) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8157:                                             ; preds = %8128
  %8158 = add nsw i32 %8132, 2
  store i32 %8158, ptr @test_count, align 4, !tbaa !5
  %8159 = call i32 @s2n_config_set_status_request_type(ptr noundef nonnull %8131, i32 noundef 1) #12
  %8160 = icmp eq i32 %8159, -1
  br i1 %8160, label %8161, label %8183

8161:                                             ; preds = %8157
  %8162 = load i32, ptr %1549, align 4, !tbaa !5
  %8163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8164 = call i32 @s2n_print_stacktrace(ptr noundef %8163) #12
  %8165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8166 = trunc nuw i8 %8165 to i1
  br i1 %8166, label %8167, label %8171

8167:                                             ; preds = %8161
  %8168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8169 = call i32 @fileno(ptr noundef %8168) #12
  %8170 = call i32 @isatty(i32 noundef %8169) #12
  %.not1625 = icmp eq i32 %8170, 0
  br i1 %.not1625, label %8171, label %8172

8171:                                             ; preds = %8167, %8161
  br label %8172

8172:                                             ; preds = %8167, %8171
  %.str.5.sink4581 = phi ptr [ @.str.5, %8171 ], [ @.str.2, %8167 ]
  store i32 %8162, ptr %1549, align 4, !tbaa !5
  %8173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8174 = load i32, ptr @test_count, align 4, !tbaa !5
  %8175 = load i32, ptr %1495, align 4, !tbaa !5
  %8176 = call ptr @s2n_strerror(i32 noundef %8175, ptr noundef nonnull @.str.4) #12
  %8177 = load i32, ptr %1495, align 4, !tbaa !5
  %8178 = call ptr @s2n_strerror_debug(i32 noundef %8177, ptr noundef nonnull @.str.4) #12
  %8179 = load i32, ptr %1549, align 4, !tbaa !5
  %8180 = call ptr @strerror(i32 noundef %8179) #12
  %8181 = load i32, ptr %1549, align 4, !tbaa !5
  %8182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8173, ptr noundef nonnull %.str.5.sink4581, i32 noundef %8174, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.1, i32 noundef 719, ptr noundef %8176, ptr noundef %8178, ptr noundef %8180, i32 noundef %8181) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8183:                                             ; preds = %8157
  %8184 = load i32, ptr @test_count, align 4, !tbaa !5
  %8185 = add nsw i32 %8184, 1
  store i32 %8185, ptr @test_count, align 4, !tbaa !5
  %8186 = load ptr, ptr %50, align 8, !tbaa !9
  %8187 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %8186, ptr noundef nonnull @.str.15, ptr noundef null) #12
  %8188 = icmp eq i32 %8187, -1
  br i1 %8188, label %8189, label %8211

8189:                                             ; preds = %8183
  %8190 = load i32, ptr %1549, align 4, !tbaa !5
  %8191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8192 = call i32 @s2n_print_stacktrace(ptr noundef %8191) #12
  %8193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8194 = trunc nuw i8 %8193 to i1
  br i1 %8194, label %8195, label %8199

8195:                                             ; preds = %8189
  %8196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8197 = call i32 @fileno(ptr noundef %8196) #12
  %8198 = call i32 @isatty(i32 noundef %8197) #12
  %.not1624 = icmp eq i32 %8198, 0
  br i1 %.not1624, label %8199, label %8200

8199:                                             ; preds = %8195, %8189
  br label %8200

8200:                                             ; preds = %8195, %8199
  %.str.5.sink4590 = phi ptr [ @.str.5, %8199 ], [ @.str.2, %8195 ]
  store i32 %8190, ptr %1549, align 4, !tbaa !5
  %8201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8202 = load i32, ptr @test_count, align 4, !tbaa !5
  %8203 = load i32, ptr %1495, align 4, !tbaa !5
  %8204 = call ptr @s2n_strerror(i32 noundef %8203, ptr noundef nonnull @.str.4) #12
  %8205 = load i32, ptr %1495, align 4, !tbaa !5
  %8206 = call ptr @s2n_strerror_debug(i32 noundef %8205, ptr noundef nonnull @.str.4) #12
  %8207 = load i32, ptr %1549, align 4, !tbaa !5
  %8208 = call ptr @strerror(i32 noundef %8207) #12
  %8209 = load i32, ptr %1549, align 4, !tbaa !5
  %8210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8201, ptr noundef nonnull %.str.5.sink4590, i32 noundef %8202, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 720, ptr noundef %8204, ptr noundef %8206, ptr noundef %8208, i32 noundef %8209) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8211:                                             ; preds = %8183
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %51) #12
  %8212 = call ptr @s2n_connection_new(i32 noundef %7426) #12
  store ptr %8212, ptr %51, align 8, !tbaa !9
  %8213 = load i32, ptr @test_count, align 4, !tbaa !5
  %8214 = add nsw i32 %8213, 1
  store i32 %8214, ptr @test_count, align 4, !tbaa !5
  %8215 = icmp eq ptr %8212, null
  br i1 %8215, label %8216, label %8238

8216:                                             ; preds = %8211
  %8217 = load i32, ptr %1549, align 4, !tbaa !5
  %8218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8219 = call i32 @s2n_print_stacktrace(ptr noundef %8218) #12
  %8220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8221 = trunc nuw i8 %8220 to i1
  br i1 %8221, label %8222, label %8226

8222:                                             ; preds = %8216
  %8223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8224 = call i32 @fileno(ptr noundef %8223) #12
  %8225 = call i32 @isatty(i32 noundef %8224) #12
  %.not1623 = icmp eq i32 %8225, 0
  br i1 %.not1623, label %8226, label %8227

8226:                                             ; preds = %8222, %8216
  br label %8227

8227:                                             ; preds = %8222, %8226
  %.str.5.sink4599 = phi ptr [ @.str.5, %8226 ], [ @.str.2, %8222 ]
  store i32 %8217, ptr %1549, align 4, !tbaa !5
  %8228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8229 = load i32, ptr @test_count, align 4, !tbaa !5
  %8230 = load i32, ptr %1495, align 4, !tbaa !5
  %8231 = call ptr @s2n_strerror(i32 noundef %8230, ptr noundef nonnull @.str.4) #12
  %8232 = load i32, ptr %1495, align 4, !tbaa !5
  %8233 = call ptr @s2n_strerror_debug(i32 noundef %8232, ptr noundef nonnull @.str.4) #12
  %8234 = load i32, ptr %1549, align 4, !tbaa !5
  %8235 = call ptr @strerror(i32 noundef %8234) #12
  %8236 = load i32, ptr %1549, align 4, !tbaa !5
  %8237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8228, ptr noundef nonnull %.str.5.sink4599, i32 noundef %8229, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 723, ptr noundef %8231, ptr noundef %8233, ptr noundef %8235, i32 noundef %8236) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8238:                                             ; preds = %8211
  %8239 = add nsw i32 %8213, 2
  store i32 %8239, ptr @test_count, align 4, !tbaa !5
  %8240 = load ptr, ptr %50, align 8, !tbaa !9
  %8241 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8212, ptr noundef %8240) #12
  %8242 = icmp eq i32 %8241, -1
  br i1 %8242, label %8243, label %8265

8243:                                             ; preds = %8238
  %8244 = load i32, ptr %1549, align 4, !tbaa !5
  %8245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8246 = call i32 @s2n_print_stacktrace(ptr noundef %8245) #12
  %8247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8248 = trunc nuw i8 %8247 to i1
  br i1 %8248, label %8249, label %8253

8249:                                             ; preds = %8243
  %8250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8251 = call i32 @fileno(ptr noundef %8250) #12
  %8252 = call i32 @isatty(i32 noundef %8251) #12
  %.not1622 = icmp eq i32 %8252, 0
  br i1 %.not1622, label %8253, label %8254

8253:                                             ; preds = %8249, %8243
  br label %8254

8254:                                             ; preds = %8249, %8253
  %.str.5.sink4608 = phi ptr [ @.str.5, %8253 ], [ @.str.2, %8249 ]
  store i32 %8244, ptr %1549, align 4, !tbaa !5
  %8255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8256 = load i32, ptr @test_count, align 4, !tbaa !5
  %8257 = load i32, ptr %1495, align 4, !tbaa !5
  %8258 = call ptr @s2n_strerror(i32 noundef %8257, ptr noundef nonnull @.str.4) #12
  %8259 = load i32, ptr %1495, align 4, !tbaa !5
  %8260 = call ptr @s2n_strerror_debug(i32 noundef %8259, ptr noundef nonnull @.str.4) #12
  %8261 = load i32, ptr %1549, align 4, !tbaa !5
  %8262 = call ptr @strerror(i32 noundef %8261) #12
  %8263 = load i32, ptr %1549, align 4, !tbaa !5
  %8264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8255, ptr noundef nonnull %.str.5.sink4608, i32 noundef %8256, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 724, ptr noundef %8258, ptr noundef %8260, ptr noundef %8262, i32 noundef %8263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8265:                                             ; preds = %8238
  %8266 = load i32, ptr @test_count, align 4, !tbaa !5
  %8267 = add nsw i32 %8266, 1
  store i32 %8267, ptr @test_count, align 4, !tbaa !5
  %8268 = load ptr, ptr %51, align 8, !tbaa !9
  %8269 = load i32, ptr %8268, align 8
  %8270 = and i32 %8269, 1048576
  %.not1394 = icmp eq i32 %8270, 0
  br i1 %.not1394, label %8271, label %8293

8271:                                             ; preds = %8265
  %8272 = load i32, ptr %1549, align 4, !tbaa !5
  %8273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8274 = call i32 @s2n_print_stacktrace(ptr noundef %8273) #12
  %8275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8276 = trunc nuw i8 %8275 to i1
  br i1 %8276, label %8277, label %8281

8277:                                             ; preds = %8271
  %8278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8279 = call i32 @fileno(ptr noundef %8278) #12
  %8280 = call i32 @isatty(i32 noundef %8279) #12
  %.not1395 = icmp eq i32 %8280, 0
  br i1 %.not1395, label %8281, label %8282

8281:                                             ; preds = %8277, %8271
  br label %8282

8282:                                             ; preds = %8277, %8281
  %.str.5.sink4617 = phi ptr [ @.str.5, %8281 ], [ @.str.2, %8277 ]
  store i32 %8272, ptr %1549, align 4, !tbaa !5
  %8283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8284 = load i32, ptr @test_count, align 4, !tbaa !5
  %8285 = load i32, ptr %1495, align 4, !tbaa !5
  %8286 = call ptr @s2n_strerror(i32 noundef %8285, ptr noundef nonnull @.str.4) #12
  %8287 = load i32, ptr %1495, align 4, !tbaa !5
  %8288 = call ptr @s2n_strerror_debug(i32 noundef %8287, ptr noundef nonnull @.str.4) #12
  %8289 = load i32, ptr %1549, align 4, !tbaa !5
  %8290 = call ptr @strerror(i32 noundef %8289) #12
  %8291 = load i32, ptr %1549, align 4, !tbaa !5
  %8292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8283, ptr noundef nonnull %.str.5.sink4617, i32 noundef %8284, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.1, i32 noundef 726, ptr noundef %8286, ptr noundef %8288, ptr noundef %8290, i32 noundef %8291) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8293:                                             ; preds = %8265
  %8294 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %51) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %51) #12
  %8295 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %52) #12
  %8296 = call ptr @s2n_config_new() #12
  store ptr %8296, ptr %52, align 8, !tbaa !9
  %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 = icmp eq ptr %8296, null
  br i1 %8299, label %8300, label %8322

8300:                                             ; preds = %8293
  %8301 = load i32, ptr %1549, align 4, !tbaa !5
  %8302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8303 = call i32 @s2n_print_stacktrace(ptr noundef %8302) #12
  %8304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8305 = trunc nuw i8 %8304 to i1
  br i1 %8305, label %8306, label %8310

8306:                                             ; preds = %8300
  %8307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8308 = call i32 @fileno(ptr noundef %8307) #12
  %8309 = call i32 @isatty(i32 noundef %8308) #12
  %.not1621 = icmp eq i32 %8309, 0
  br i1 %.not1621, label %8310, label %8311

8310:                                             ; preds = %8306, %8300
  br label %8311

8311:                                             ; preds = %8306, %8310
  %.str.5.sink4626 = phi ptr [ @.str.5, %8310 ], [ @.str.2, %8306 ]
  store i32 %8301, ptr %1549, align 4, !tbaa !5
  %8312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8313 = load i32, ptr @test_count, align 4, !tbaa !5
  %8314 = load i32, ptr %1495, align 4, !tbaa !5
  %8315 = call ptr @s2n_strerror(i32 noundef %8314, ptr noundef nonnull @.str.4) #12
  %8316 = load i32, ptr %1495, align 4, !tbaa !5
  %8317 = call ptr @s2n_strerror_debug(i32 noundef %8316, ptr noundef nonnull @.str.4) #12
  %8318 = load i32, ptr %1549, align 4, !tbaa !5
  %8319 = call ptr @strerror(i32 noundef %8318) #12
  %8320 = load i32, ptr %1549, align 4, !tbaa !5
  %8321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8312, ptr noundef nonnull %.str.5.sink4626, i32 noundef %8313, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 734, ptr noundef %8315, ptr noundef %8317, ptr noundef %8319, i32 noundef %8320) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8322:                                             ; preds = %8293
  %8323 = add nsw i32 %8297, 2
  store i32 %8323, ptr @test_count, align 4, !tbaa !5
  %8324 = call i32 @s2n_config_set_verification_ca_location(ptr noundef nonnull %8296, ptr noundef nonnull @.str.15, ptr noundef null) #12
  %8325 = icmp eq i32 %8324, -1
  br i1 %8325, label %8326, label %8348

8326:                                             ; preds = %8322
  %8327 = load i32, ptr %1549, align 4, !tbaa !5
  %8328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8329 = call i32 @s2n_print_stacktrace(ptr noundef %8328) #12
  %8330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8331 = trunc nuw i8 %8330 to i1
  br i1 %8331, label %8332, label %8336

8332:                                             ; preds = %8326
  %8333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8334 = call i32 @fileno(ptr noundef %8333) #12
  %8335 = call i32 @isatty(i32 noundef %8334) #12
  %.not1620 = icmp eq i32 %8335, 0
  br i1 %.not1620, label %8336, label %8337

8336:                                             ; preds = %8332, %8326
  br label %8337

8337:                                             ; preds = %8332, %8336
  %.str.5.sink4635 = phi ptr [ @.str.5, %8336 ], [ @.str.2, %8332 ]
  store i32 %8327, ptr %1549, align 4, !tbaa !5
  %8338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8339 = load i32, ptr @test_count, align 4, !tbaa !5
  %8340 = load i32, ptr %1495, align 4, !tbaa !5
  %8341 = call ptr @s2n_strerror(i32 noundef %8340, ptr noundef nonnull @.str.4) #12
  %8342 = load i32, ptr %1495, align 4, !tbaa !5
  %8343 = call ptr @s2n_strerror_debug(i32 noundef %8342, ptr noundef nonnull @.str.4) #12
  %8344 = load i32, ptr %1549, align 4, !tbaa !5
  %8345 = call ptr @strerror(i32 noundef %8344) #12
  %8346 = load i32, ptr %1549, align 4, !tbaa !5
  %8347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8338, ptr noundef nonnull %.str.5.sink4635, i32 noundef %8339, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 736, ptr noundef %8341, ptr noundef %8343, ptr noundef %8345, i32 noundef %8346) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8348:                                             ; preds = %8322
  %8349 = load i32, ptr @test_count, align 4, !tbaa !5
  %8350 = add nsw i32 %8349, 1
  store i32 %8350, ptr @test_count, align 4, !tbaa !5
  %8351 = load ptr, ptr %52, align 8, !tbaa !9
  %8352 = call i32 @s2n_config_set_status_request_type(ptr noundef %8351, i32 noundef 0) #12
  %8353 = icmp eq i32 %8352, -1
  br i1 %8353, label %8354, label %8376

8354:                                             ; preds = %8348
  %8355 = load i32, ptr %1549, align 4, !tbaa !5
  %8356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8357 = call i32 @s2n_print_stacktrace(ptr noundef %8356) #12
  %8358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8359 = trunc nuw i8 %8358 to i1
  br i1 %8359, label %8360, label %8364

8360:                                             ; preds = %8354
  %8361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8362 = call i32 @fileno(ptr noundef %8361) #12
  %8363 = call i32 @isatty(i32 noundef %8362) #12
  %.not1619 = icmp eq i32 %8363, 0
  br i1 %.not1619, label %8364, label %8365

8364:                                             ; preds = %8360, %8354
  br label %8365

8365:                                             ; preds = %8360, %8364
  %.str.5.sink4644 = phi ptr [ @.str.5, %8364 ], [ @.str.2, %8360 ]
  store i32 %8355, ptr %1549, align 4, !tbaa !5
  %8366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8367 = load i32, ptr @test_count, align 4, !tbaa !5
  %8368 = load i32, ptr %1495, align 4, !tbaa !5
  %8369 = call ptr @s2n_strerror(i32 noundef %8368, ptr noundef nonnull @.str.4) #12
  %8370 = load i32, ptr %1495, align 4, !tbaa !5
  %8371 = call ptr @s2n_strerror_debug(i32 noundef %8370, ptr noundef nonnull @.str.4) #12
  %8372 = load i32, ptr %1549, align 4, !tbaa !5
  %8373 = call ptr @strerror(i32 noundef %8372) #12
  %8374 = load i32, ptr %1549, align 4, !tbaa !5
  %8375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8366, ptr noundef nonnull %.str.5.sink4644, i32 noundef %8367, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.1, i32 noundef 737, ptr noundef %8369, ptr noundef %8371, ptr noundef %8373, i32 noundef %8374) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8376:                                             ; preds = %8348
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  %8377 = call ptr @s2n_connection_new(i32 noundef %7426) #12
  store ptr %8377, ptr %53, align 8, !tbaa !9
  %8378 = load i32, ptr @test_count, align 4, !tbaa !5
  %8379 = add nsw i32 %8378, 1
  store i32 %8379, ptr @test_count, align 4, !tbaa !5
  %8380 = icmp eq ptr %8377, null
  br i1 %8380, label %8381, label %8403

8381:                                             ; preds = %8376
  %8382 = load i32, ptr %1549, align 4, !tbaa !5
  %8383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8384 = call i32 @s2n_print_stacktrace(ptr noundef %8383) #12
  %8385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8386 = trunc nuw i8 %8385 to i1
  br i1 %8386, label %8387, label %8391

8387:                                             ; preds = %8381
  %8388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8389 = call i32 @fileno(ptr noundef %8388) #12
  %8390 = call i32 @isatty(i32 noundef %8389) #12
  %.not1618 = icmp eq i32 %8390, 0
  br i1 %.not1618, label %8391, label %8392

8391:                                             ; preds = %8387, %8381
  br label %8392

8392:                                             ; preds = %8387, %8391
  %.str.5.sink4653 = phi ptr [ @.str.5, %8391 ], [ @.str.2, %8387 ]
  store i32 %8382, ptr %1549, align 4, !tbaa !5
  %8393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8394 = load i32, ptr @test_count, align 4, !tbaa !5
  %8395 = load i32, ptr %1495, align 4, !tbaa !5
  %8396 = call ptr @s2n_strerror(i32 noundef %8395, ptr noundef nonnull @.str.4) #12
  %8397 = load i32, ptr %1495, align 4, !tbaa !5
  %8398 = call ptr @s2n_strerror_debug(i32 noundef %8397, ptr noundef nonnull @.str.4) #12
  %8399 = load i32, ptr %1549, align 4, !tbaa !5
  %8400 = call ptr @strerror(i32 noundef %8399) #12
  %8401 = load i32, ptr %1549, align 4, !tbaa !5
  %8402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8393, ptr noundef nonnull %.str.5.sink4653, i32 noundef %8394, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 740, ptr noundef %8396, ptr noundef %8398, ptr noundef %8400, i32 noundef %8401) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8403:                                             ; preds = %8376
  %8404 = add nsw i32 %8378, 2
  store i32 %8404, ptr @test_count, align 4, !tbaa !5
  %8405 = load ptr, ptr %52, align 8, !tbaa !9
  %8406 = call i32 @s2n_connection_set_config(ptr noundef nonnull %8377, ptr noundef %8405) #12
  %8407 = icmp eq i32 %8406, -1
  br i1 %8407, label %8408, label %8430

8408:                                             ; preds = %8403
  %8409 = load i32, ptr %1549, align 4, !tbaa !5
  %8410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8411 = call i32 @s2n_print_stacktrace(ptr noundef %8410) #12
  %8412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8413 = trunc nuw i8 %8412 to i1
  br i1 %8413, label %8414, label %8418

8414:                                             ; preds = %8408
  %8415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8416 = call i32 @fileno(ptr noundef %8415) #12
  %8417 = call i32 @isatty(i32 noundef %8416) #12
  %.not1617 = icmp eq i32 %8417, 0
  br i1 %.not1617, label %8418, label %8419

8418:                                             ; preds = %8414, %8408
  br label %8419

8419:                                             ; preds = %8414, %8418
  %.str.5.sink4662 = phi ptr [ @.str.5, %8418 ], [ @.str.2, %8414 ]
  store i32 %8409, ptr %1549, align 4, !tbaa !5
  %8420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8421 = load i32, ptr @test_count, align 4, !tbaa !5
  %8422 = load i32, ptr %1495, align 4, !tbaa !5
  %8423 = call ptr @s2n_strerror(i32 noundef %8422, ptr noundef nonnull @.str.4) #12
  %8424 = load i32, ptr %1495, align 4, !tbaa !5
  %8425 = call ptr @s2n_strerror_debug(i32 noundef %8424, ptr noundef nonnull @.str.4) #12
  %8426 = load i32, ptr %1549, align 4, !tbaa !5
  %8427 = call ptr @strerror(i32 noundef %8426) #12
  %8428 = load i32, ptr %1549, align 4, !tbaa !5
  %8429 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8420, ptr noundef nonnull %.str.5.sink4662, i32 noundef %8421, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 741, ptr noundef %8423, ptr noundef %8425, ptr noundef %8427, i32 noundef %8428) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8430:                                             ; preds = %8403
  %8431 = load i32, ptr @test_count, align 4, !tbaa !5
  %8432 = add nsw i32 %8431, 1
  store i32 %8432, ptr @test_count, align 4, !tbaa !5
  %8433 = load ptr, ptr %53, align 8, !tbaa !9
  %8434 = load i32, ptr %8433, align 8
  %8435 = and i32 %8434, 1048576
  %.not1396 = icmp eq i32 %8435, 0
  br i1 %.not1396, label %8458, label %8436

8436:                                             ; preds = %8430
  %8437 = load i32, ptr %1549, align 4, !tbaa !5
  %8438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8439 = call i32 @s2n_print_stacktrace(ptr noundef %8438) #12
  %8440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8441 = trunc nuw i8 %8440 to i1
  br i1 %8441, label %8442, label %8446

8442:                                             ; preds = %8436
  %8443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8444 = call i32 @fileno(ptr noundef %8443) #12
  %8445 = call i32 @isatty(i32 noundef %8444) #12
  %.not1616 = icmp eq i32 %8445, 0
  br i1 %.not1616, label %8446, label %8447

8446:                                             ; preds = %8442, %8436
  br label %8447

8447:                                             ; preds = %8442, %8446
  %.str.5.sink4671 = phi ptr [ @.str.5, %8446 ], [ @.str.2, %8442 ]
  store i32 %8437, ptr %1549, align 4, !tbaa !5
  %8448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8449 = load i32, ptr @test_count, align 4, !tbaa !5
  %8450 = load i32, ptr %1495, align 4, !tbaa !5
  %8451 = call ptr @s2n_strerror(i32 noundef %8450, ptr noundef nonnull @.str.4) #12
  %8452 = load i32, ptr %1495, align 4, !tbaa !5
  %8453 = call ptr @s2n_strerror_debug(i32 noundef %8452, ptr noundef nonnull @.str.4) #12
  %8454 = load i32, ptr %1549, align 4, !tbaa !5
  %8455 = call ptr @strerror(i32 noundef %8454) #12
  %8456 = load i32, ptr %1549, align 4, !tbaa !5
  %8457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8448, ptr noundef nonnull %.str.5.sink4671, i32 noundef %8449, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.1, i32 noundef 743, ptr noundef %8451, ptr noundef %8453, ptr noundef %8455, i32 noundef %8456) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8458:                                             ; preds = %8430
  %8459 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  %8460 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %52) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %52) #12
  br i1 %7424, label %7423, label %.critedge, !llvm.loop !66

.critedge:                                        ; preds = %7423, %8458
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %54) #12
  store i32 0, ptr %54, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 12000, ptr nonnull %55) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(12000) %55, i8 0, i64 12000, i1 false)
  %8461 = load i32, ptr @test_count, align 4, !tbaa !5
  %8462 = add nsw i32 %8461, 1
  store i32 %8462, ptr @test_count, align 4, !tbaa !5
  %8463 = call i32 @s2n_read_test_pem_and_len(ptr noundef nonnull @.str.149, ptr noundef nonnull %55, ptr noundef nonnull %54, i64 noundef 12000) #12
  %8464 = icmp eq i32 %8463, -1
  br i1 %8464, label %8465, label %8487

8465:                                             ; preds = %.critedge
  %8466 = load i32, ptr %1549, align 4, !tbaa !5
  %8467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8468 = call i32 @s2n_print_stacktrace(ptr noundef %8467) #12
  %8469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8470 = trunc nuw i8 %8469 to i1
  br i1 %8470, label %8471, label %8475

8471:                                             ; preds = %8465
  %8472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8473 = call i32 @fileno(ptr noundef %8472) #12
  %8474 = call i32 @isatty(i32 noundef %8473) #12
  %.not1615 = icmp eq i32 %8474, 0
  br i1 %.not1615, label %8475, label %8476

8475:                                             ; preds = %8471, %8465
  br label %8476

8476:                                             ; preds = %8471, %8475
  %.str.5.sink4680 = phi ptr [ @.str.5, %8475 ], [ @.str.2, %8471 ]
  store i32 %8466, ptr %1549, align 4, !tbaa !5
  %8477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8478 = load i32, ptr @test_count, align 4, !tbaa !5
  %8479 = load i32, ptr %1495, align 4, !tbaa !5
  %8480 = call ptr @s2n_strerror(i32 noundef %8479, ptr noundef nonnull @.str.4) #12
  %8481 = load i32, ptr %1495, align 4, !tbaa !5
  %8482 = call ptr @s2n_strerror_debug(i32 noundef %8481, ptr noundef nonnull @.str.4) #12
  %8483 = load i32, ptr %1549, align 4, !tbaa !5
  %8484 = call ptr @strerror(i32 noundef %8483) #12
  %8485 = load i32, ptr %1549, align 4, !tbaa !5
  %8486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8477, ptr noundef nonnull %.str.5.sink4680, i32 noundef %8478, ptr noundef nonnull @.str.150, ptr noundef nonnull @.str.1, i32 noundef 752, ptr noundef %8480, ptr noundef %8482, ptr noundef %8484, i32 noundef %8485) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8487:                                             ; preds = %.critedge
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #12
  %8488 = call ptr @s2n_config_new() #12
  store ptr %8488, ptr %56, align 8, !tbaa !9
  %8489 = load i32, ptr @test_count, align 4, !tbaa !5
  %8490 = add nsw i32 %8489, 1
  store i32 %8490, ptr @test_count, align 4, !tbaa !5
  %8491 = load i32, ptr %54, align 4, !tbaa !5
  %8492 = call i32 @s2n_config_add_cert_chain(ptr noundef %8488, ptr noundef nonnull %55, i32 noundef %8491) #12
  %8493 = icmp eq i32 %8492, -1
  br i1 %8493, label %8494, label %8516

8494:                                             ; preds = %8487
  %8495 = load i32, ptr %1549, align 4, !tbaa !5
  %8496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8497 = call i32 @s2n_print_stacktrace(ptr noundef %8496) #12
  %8498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8499 = trunc nuw i8 %8498 to i1
  br i1 %8499, label %8500, label %8504

8500:                                             ; preds = %8494
  %8501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8502 = call i32 @fileno(ptr noundef %8501) #12
  %8503 = call i32 @isatty(i32 noundef %8502) #12
  %.not1614 = icmp eq i32 %8503, 0
  br i1 %.not1614, label %8504, label %8505

8504:                                             ; preds = %8500, %8494
  br label %8505

8505:                                             ; preds = %8500, %8504
  %.str.5.sink4689 = phi ptr [ @.str.5, %8504 ], [ @.str.2, %8500 ]
  store i32 %8495, ptr %1549, align 4, !tbaa !5
  %8506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8507 = load i32, ptr @test_count, align 4, !tbaa !5
  %8508 = load i32, ptr %1495, align 4, !tbaa !5
  %8509 = call ptr @s2n_strerror(i32 noundef %8508, ptr noundef nonnull @.str.4) #12
  %8510 = load i32, ptr %1495, align 4, !tbaa !5
  %8511 = call ptr @s2n_strerror_debug(i32 noundef %8510, ptr noundef nonnull @.str.4) #12
  %8512 = load i32, ptr %1549, align 4, !tbaa !5
  %8513 = call ptr @strerror(i32 noundef %8512) #12
  %8514 = load i32, ptr %1549, align 4, !tbaa !5
  %8515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8506, ptr noundef nonnull %.str.5.sink4689, i32 noundef %8507, ptr noundef nonnull @.str.151, ptr noundef nonnull @.str.1, i32 noundef 755, ptr noundef %8509, ptr noundef %8511, ptr noundef %8513, i32 noundef %8514) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8516:                                             ; preds = %8487
  %8517 = load i32, ptr @test_count, align 4, !tbaa !5
  %8518 = add nsw i32 %8517, 1
  store i32 %8518, ptr @test_count, align 4, !tbaa !5
  %8519 = load ptr, ptr %56, align 8, !tbaa !9
  %8520 = load i32, ptr %8519, align 8
  %8521 = and i32 %8520, 2048
  %.not1397 = icmp eq i32 %8521, 0
  br i1 %.not1397, label %8522, label %8544

8522:                                             ; preds = %8516
  %8523 = load i32, ptr %1549, align 4, !tbaa !5
  %8524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8525 = call i32 @s2n_print_stacktrace(ptr noundef %8524) #12
  %8526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8527 = trunc nuw i8 %8526 to i1
  br i1 %8527, label %8528, label %8532

8528:                                             ; preds = %8522
  %8529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8530 = call i32 @fileno(ptr noundef %8529) #12
  %8531 = call i32 @isatty(i32 noundef %8530) #12
  %.not1398 = icmp eq i32 %8531, 0
  br i1 %.not1398, label %8532, label %8533

8532:                                             ; preds = %8528, %8522
  br label %8533

8533:                                             ; preds = %8528, %8532
  %.str.5.sink4698 = phi ptr [ @.str.5, %8532 ], [ @.str.2, %8528 ]
  store i32 %8523, ptr %1549, align 4, !tbaa !5
  %8534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8535 = load i32, ptr @test_count, align 4, !tbaa !5
  %8536 = load i32, ptr %1495, align 4, !tbaa !5
  %8537 = call ptr @s2n_strerror(i32 noundef %8536, ptr noundef nonnull @.str.4) #12
  %8538 = load i32, ptr %1495, align 4, !tbaa !5
  %8539 = call ptr @s2n_strerror_debug(i32 noundef %8538, ptr noundef nonnull @.str.4) #12
  %8540 = load i32, ptr %1549, align 4, !tbaa !5
  %8541 = call ptr @strerror(i32 noundef %8540) #12
  %8542 = load i32, ptr %1549, align 4, !tbaa !5
  %8543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8534, ptr noundef nonnull %.str.5.sink4698, i32 noundef %8535, ptr noundef nonnull @.str.152, ptr noundef nonnull @.str.1, i32 noundef 756, ptr noundef %8537, ptr noundef %8539, ptr noundef %8541, i32 noundef %8542) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8544:                                             ; preds = %8516
  %8545 = add nsw i32 %8517, 2
  store i32 %8545, ptr @test_count, align 4, !tbaa !5
  %8546 = getelementptr inbounds i8, ptr %8519, i64 416
  %8547 = load i32, ptr %8546, align 8, !tbaa !58
  %8548 = icmp eq i32 %8547, 2
  br i1 %8548, label %8571, label %8549

8549:                                             ; preds = %8544
  %8550 = load i32, ptr %1549, align 4, !tbaa !5
  %8551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8552 = call i32 @s2n_print_stacktrace(ptr noundef %8551) #12
  %8553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8554 = trunc nuw i8 %8553 to i1
  br i1 %8554, label %8555, label %8559

8555:                                             ; preds = %8549
  %8556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8557 = call i32 @fileno(ptr noundef %8556) #12
  %8558 = call i32 @isatty(i32 noundef %8557) #12
  %.not1399 = icmp eq i32 %8558, 0
  br i1 %.not1399, label %8559, label %8560

8559:                                             ; preds = %8555, %8549
  br label %8560

8560:                                             ; preds = %8555, %8559
  %.str.5.sink4707 = phi ptr [ @.str.5, %8559 ], [ @.str.2, %8555 ]
  store i32 %8550, ptr %1549, align 4, !tbaa !5
  %8561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8562 = load i32, ptr @test_count, align 4, !tbaa !5
  %8563 = load i32, ptr %1495, align 4, !tbaa !5
  %8564 = call ptr @s2n_strerror(i32 noundef %8563, ptr noundef nonnull @.str.4) #12
  %8565 = load i32, ptr %1495, align 4, !tbaa !5
  %8566 = call ptr @s2n_strerror_debug(i32 noundef %8565, ptr noundef nonnull @.str.4) #12
  %8567 = load i32, ptr %1549, align 4, !tbaa !5
  %8568 = call ptr @strerror(i32 noundef %8567) #12
  %8569 = load i32, ptr %1549, align 4, !tbaa !5
  %8570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8561, ptr noundef nonnull %.str.5.sink4707, i32 noundef %8562, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 757, ptr noundef %8564, ptr noundef %8566, ptr noundef %8568, i32 noundef %8569) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8571:                                             ; preds = %8544
  %8572 = call ptr @s2n_config_get_single_default_cert(ptr noundef nonnull %8519) #12
  %.not1400.not = icmp eq ptr %8572, null
  br i1 %.not1400.not, label %.thread, label %8580

.thread:                                          ; preds = %8571
  %8573 = call align 8 ptr @llvm.threadlocal.address.p0(ptr align 8 @_s2n_debug_info)
  store ptr @.str.153, ptr %8573, align 8, !tbaa !68
  %8574 = call ptr @strrchr(ptr noundef nonnull dereferenceable(1) getelementptr inbounds (i8, ptr @.str.153, i64 21), i32 noundef 47) #16
  %.not1401 = icmp eq ptr %8574, null
  %8575 = getelementptr inbounds i8, ptr %8574, i64 1
  %8576 = select i1 %.not1401, ptr getelementptr inbounds (i8, ptr @.str.153, i64 21), ptr %8575
  %8577 = getelementptr inbounds i8, ptr %8573, i64 8
  store ptr %8576, ptr %8577, align 8, !tbaa !70
  store i32 402653193, ptr %1495, align 4, !tbaa !5
  %8578 = call i32 @s2n_calculate_stacktrace() #12
  %8579 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %55) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #12
  br label %.loopexit1876

8580:                                             ; preds = %8571
  %8581 = load i32, ptr @test_count, align 4, !tbaa !5
  %8582 = add nsw i32 %8581, 1
  store i32 %8582, ptr @test_count, align 4, !tbaa !5
  %8583 = getelementptr inbounds i8, ptr %8572, i64 8
  %8584 = load ptr, ptr %8583, align 8, !tbaa !71
  %8585 = call i32 @s2n_pkey_check_key_exists(ptr noundef %8584) #12
  %8586 = icmp eq i32 %8585, -1
  br i1 %8586, label %8609, label %8587

8587:                                             ; preds = %8580
  %8588 = load i32, ptr %1549, align 4, !tbaa !5
  %8589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8590 = call i32 @s2n_print_stacktrace(ptr noundef %8589) #12
  %8591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8592 = trunc nuw i8 %8591 to i1
  br i1 %8592, label %8593, label %8597

8593:                                             ; preds = %8587
  %8594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8595 = call i32 @fileno(ptr noundef %8594) #12
  %8596 = call i32 @isatty(i32 noundef %8595) #12
  %.not1402 = icmp eq i32 %8596, 0
  br i1 %.not1402, label %8597, label %8598

8597:                                             ; preds = %8593, %8587
  br label %8598

8598:                                             ; preds = %8593, %8597
  %.str.5.sink4716 = phi ptr [ @.str.5, %8597 ], [ @.str.2, %8593 ]
  store i32 %8588, ptr %1549, align 4, !tbaa !5
  %8599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8600 = load i32, ptr @test_count, align 4, !tbaa !5
  %8601 = load i32, ptr %1495, align 4, !tbaa !5
  %8602 = call ptr @s2n_strerror(i32 noundef %8601, ptr noundef nonnull @.str.4) #12
  %8603 = load i32, ptr %1495, align 4, !tbaa !5
  %8604 = call ptr @s2n_strerror_debug(i32 noundef %8603, ptr noundef nonnull @.str.4) #12
  %8605 = load i32, ptr %1549, align 4, !tbaa !5
  %8606 = call ptr @strerror(i32 noundef %8605) #12
  %8607 = load i32, ptr %1549, align 4, !tbaa !5
  %8608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8599, ptr noundef nonnull %.str.5.sink4716, i32 noundef %8600, ptr noundef nonnull @.str.154, ptr noundef nonnull @.str.1, i32 noundef 761, ptr noundef %8602, ptr noundef %8604, ptr noundef %8606, i32 noundef %8607) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8609:                                             ; preds = %8580
  %8610 = load i32, ptr @test_count, align 4, !tbaa !5
  %8611 = add nsw i32 %8610, 1
  store i32 %8611, ptr @test_count, align 4, !tbaa !5
  %8612 = load i32, ptr %1495, align 4, !tbaa !5
  %8613 = icmp eq i32 %8612, 0
  br i1 %8613, label %8614, label %8636

8614:                                             ; preds = %8609
  %8615 = load i32, ptr %1549, align 4, !tbaa !5
  %8616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8617 = call i32 @s2n_print_stacktrace(ptr noundef %8616) #12
  %8618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8619 = trunc nuw i8 %8618 to i1
  br i1 %8619, label %8620, label %8624

8620:                                             ; preds = %8614
  %8621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8622 = call i32 @fileno(ptr noundef %8621) #12
  %8623 = call i32 @isatty(i32 noundef %8622) #12
  %.not1613 = icmp eq i32 %8623, 0
  br i1 %.not1613, label %8624, label %8625

8624:                                             ; preds = %8620, %8614
  br label %8625

8625:                                             ; preds = %8620, %8624
  %.str.5.sink4725 = phi ptr [ @.str.5, %8624 ], [ @.str.2, %8620 ]
  store i32 %8615, ptr %1549, align 4, !tbaa !5
  %8626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8627 = load i32, ptr @test_count, align 4, !tbaa !5
  %8628 = load i32, ptr %1495, align 4, !tbaa !5
  %8629 = call ptr @s2n_strerror(i32 noundef %8628, ptr noundef nonnull @.str.4) #12
  %8630 = load i32, ptr %1495, align 4, !tbaa !5
  %8631 = call ptr @s2n_strerror_debug(i32 noundef %8630, ptr noundef nonnull @.str.4) #12
  %8632 = load i32, ptr %1549, align 4, !tbaa !5
  %8633 = call ptr @strerror(i32 noundef %8632) #12
  %8634 = load i32, ptr %1549, align 4, !tbaa !5
  %8635 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8626, ptr noundef nonnull %.str.5.sink4725, i32 noundef %8627, ptr noundef nonnull @.str.155, ptr noundef nonnull @.str.1, i32 noundef 761, ptr noundef %8629, ptr noundef %8631, ptr noundef %8633, i32 noundef %8634) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8636:                                             ; preds = %8609
  %8637 = add nsw i32 %8610, 2
  store i32 %8637, ptr @test_count, align 4, !tbaa !5
  %8638 = call ptr @s2n_strerror_debug(i32 noundef %8612, ptr noundef nonnull @.str.4) #12
  %8639 = icmp eq ptr %8638, null
  br i1 %8639, label %8640, label %8662

8640:                                             ; preds = %8636
  %8641 = load i32, ptr %1549, align 4, !tbaa !5
  %8642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8643 = call i32 @s2n_print_stacktrace(ptr noundef %8642) #12
  %8644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8645 = trunc nuw i8 %8644 to i1
  br i1 %8645, label %8646, label %8650

8646:                                             ; preds = %8640
  %8647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8648 = call i32 @fileno(ptr noundef %8647) #12
  %8649 = call i32 @isatty(i32 noundef %8648) #12
  %.not1612 = icmp eq i32 %8649, 0
  br i1 %.not1612, label %8650, label %8651

8650:                                             ; preds = %8646, %8640
  br label %8651

8651:                                             ; preds = %8646, %8650
  %.str.5.sink4734 = phi ptr [ @.str.5, %8650 ], [ @.str.2, %8646 ]
  store i32 %8641, ptr %1549, align 4, !tbaa !5
  %8652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8653 = load i32, ptr @test_count, align 4, !tbaa !5
  %8654 = load i32, ptr %1495, align 4, !tbaa !5
  %8655 = call ptr @s2n_strerror(i32 noundef %8654, ptr noundef nonnull @.str.4) #12
  %8656 = load i32, ptr %1495, align 4, !tbaa !5
  %8657 = call ptr @s2n_strerror_debug(i32 noundef %8656, ptr noundef nonnull @.str.4) #12
  %8658 = load i32, ptr %1549, align 4, !tbaa !5
  %8659 = call ptr @strerror(i32 noundef %8658) #12
  %8660 = load i32, ptr %1549, align 4, !tbaa !5
  %8661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8652, ptr noundef nonnull %.str.5.sink4734, i32 noundef %8653, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 761, ptr noundef %8655, ptr noundef %8657, ptr noundef %8659, i32 noundef %8660) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8662:                                             ; preds = %8636
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %57) #12
  %8663 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %8663, ptr %57, align 8, !tbaa !9
  %8664 = load i32, ptr @test_count, align 4, !tbaa !5
  %8665 = add nsw i32 %8664, 1
  store i32 %8665, ptr @test_count, align 4, !tbaa !5
  %8666 = load ptr, ptr %56, align 8, !tbaa !9
  %8667 = call i32 @s2n_connection_set_config(ptr noundef %8663, ptr noundef %8666) #12
  %8668 = icmp eq i32 %8667, -1
  br i1 %8668, label %8691, label %8669

8669:                                             ; preds = %8662
  %8670 = load i32, ptr %1549, align 4, !tbaa !5
  %8671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8672 = call i32 @s2n_print_stacktrace(ptr noundef %8671) #12
  %8673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8674 = trunc nuw i8 %8673 to i1
  br i1 %8674, label %8675, label %8679

8675:                                             ; preds = %8669
  %8676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8677 = call i32 @fileno(ptr noundef %8676) #12
  %8678 = call i32 @isatty(i32 noundef %8677) #12
  %.not1403 = icmp eq i32 %8678, 0
  br i1 %.not1403, label %8679, label %8680

8679:                                             ; preds = %8675, %8669
  br label %8680

8680:                                             ; preds = %8675, %8679
  %.str.5.sink4743 = phi ptr [ @.str.5, %8679 ], [ @.str.2, %8675 ]
  store i32 %8670, ptr %1549, align 4, !tbaa !5
  %8681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8682 = load i32, ptr @test_count, align 4, !tbaa !5
  %8683 = load i32, ptr %1495, align 4, !tbaa !5
  %8684 = call ptr @s2n_strerror(i32 noundef %8683, ptr noundef nonnull @.str.4) #12
  %8685 = load i32, ptr %1495, align 4, !tbaa !5
  %8686 = call ptr @s2n_strerror_debug(i32 noundef %8685, ptr noundef nonnull @.str.4) #12
  %8687 = load i32, ptr %1549, align 4, !tbaa !5
  %8688 = call ptr @strerror(i32 noundef %8687) #12
  %8689 = load i32, ptr %1549, align 4, !tbaa !5
  %8690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8681, ptr noundef nonnull %.str.5.sink4743, i32 noundef %8682, ptr noundef nonnull @.str.156, ptr noundef nonnull @.str.1, i32 noundef 765, ptr noundef %8684, ptr noundef %8686, ptr noundef %8688, i32 noundef %8689) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8691:                                             ; preds = %8662
  %8692 = load i32, ptr @test_count, align 4, !tbaa !5
  %8693 = add nsw i32 %8692, 1
  store i32 %8693, ptr @test_count, align 4, !tbaa !5
  %8694 = load i32, ptr %1495, align 4, !tbaa !5
  %8695 = icmp eq i32 %8694, 469762116
  br i1 %8695, label %8718, label %8696

8696:                                             ; preds = %8691
  %8697 = load i32, ptr %1549, align 4, !tbaa !5
  %8698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8699 = call i32 @s2n_print_stacktrace(ptr noundef %8698) #12
  %8700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8701 = trunc nuw i8 %8700 to i1
  br i1 %8701, label %8702, label %8706

8702:                                             ; preds = %8696
  %8703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8704 = call i32 @fileno(ptr noundef %8703) #12
  %8705 = call i32 @isatty(i32 noundef %8704) #12
  %.not1404 = icmp eq i32 %8705, 0
  br i1 %.not1404, label %8706, label %8707

8706:                                             ; preds = %8702, %8696
  br label %8707

8707:                                             ; preds = %8702, %8706
  %.str.5.sink4752 = phi ptr [ @.str.5, %8706 ], [ @.str.2, %8702 ]
  store i32 %8697, ptr %1549, align 4, !tbaa !5
  %8708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8709 = load i32, ptr @test_count, align 4, !tbaa !5
  %8710 = load i32, ptr %1495, align 4, !tbaa !5
  %8711 = call ptr @s2n_strerror(i32 noundef %8710, ptr noundef nonnull @.str.4) #12
  %8712 = load i32, ptr %1495, align 4, !tbaa !5
  %8713 = call ptr @s2n_strerror_debug(i32 noundef %8712, ptr noundef nonnull @.str.4) #12
  %8714 = load i32, ptr %1549, align 4, !tbaa !5
  %8715 = call ptr @strerror(i32 noundef %8714) #12
  %8716 = load i32, ptr %1549, align 4, !tbaa !5
  %8717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8708, ptr noundef nonnull %.str.5.sink4752, i32 noundef %8709, ptr noundef nonnull @.str.157, ptr noundef nonnull @.str.1, i32 noundef 765, ptr noundef %8711, ptr noundef %8713, ptr noundef %8715, i32 noundef %8716) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8718:                                             ; preds = %8691
  %8719 = add nsw i32 %8692, 2
  store i32 %8719, ptr @test_count, align 4, !tbaa !5
  %8720 = call ptr @s2n_strerror_debug(i32 noundef 469762116, ptr noundef nonnull @.str.4) #12
  %8721 = icmp eq ptr %8720, null
  br i1 %8721, label %8722, label %8744

8722:                                             ; preds = %8718
  %8723 = load i32, ptr %1549, align 4, !tbaa !5
  %8724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8725 = call i32 @s2n_print_stacktrace(ptr noundef %8724) #12
  %8726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8727 = trunc nuw i8 %8726 to i1
  br i1 %8727, label %8728, label %8732

8728:                                             ; preds = %8722
  %8729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8730 = call i32 @fileno(ptr noundef %8729) #12
  %8731 = call i32 @isatty(i32 noundef %8730) #12
  %.not1611 = icmp eq i32 %8731, 0
  br i1 %.not1611, label %8732, label %8733

8732:                                             ; preds = %8728, %8722
  br label %8733

8733:                                             ; preds = %8728, %8732
  %.str.5.sink4761 = phi ptr [ @.str.5, %8732 ], [ @.str.2, %8728 ]
  store i32 %8723, ptr %1549, align 4, !tbaa !5
  %8734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8735 = load i32, ptr @test_count, align 4, !tbaa !5
  %8736 = load i32, ptr %1495, align 4, !tbaa !5
  %8737 = call ptr @s2n_strerror(i32 noundef %8736, ptr noundef nonnull @.str.4) #12
  %8738 = load i32, ptr %1495, align 4, !tbaa !5
  %8739 = call ptr @s2n_strerror_debug(i32 noundef %8738, ptr noundef nonnull @.str.4) #12
  %8740 = load i32, ptr %1549, align 4, !tbaa !5
  %8741 = call ptr @strerror(i32 noundef %8740) #12
  %8742 = load i32, ptr %1549, align 4, !tbaa !5
  %8743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8734, ptr noundef nonnull %.str.5.sink4761, i32 noundef %8735, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 765, ptr noundef %8737, ptr noundef %8739, ptr noundef %8741, i32 noundef %8742) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8744:                                             ; preds = %8718
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %8745 = load i32, ptr @test_count, align 4, !tbaa !5
  %8746 = add nsw i32 %8745, 1
  store i32 %8746, ptr @test_count, align 4, !tbaa !5
  %8747 = load ptr, ptr %56, align 8, !tbaa !9
  %8748 = call i32 @s2n_config_set_async_pkey_callback(ptr noundef %8747, ptr noundef nonnull @s2n_test_async_pkey_fn) #12
  %8749 = icmp eq i32 %8748, -1
  br i1 %8749, label %8750, label %8772

8750:                                             ; preds = %8744
  %8751 = load i32, ptr %1549, align 4, !tbaa !5
  %8752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8753 = call i32 @s2n_print_stacktrace(ptr noundef %8752) #12
  %8754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8755 = trunc nuw i8 %8754 to i1
  br i1 %8755, label %8756, label %8760

8756:                                             ; preds = %8750
  %8757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8758 = call i32 @fileno(ptr noundef %8757) #12
  %8759 = call i32 @isatty(i32 noundef %8758) #12
  %.not1610 = icmp eq i32 %8759, 0
  br i1 %.not1610, label %8760, label %8761

8760:                                             ; preds = %8756, %8750
  br label %8761

8761:                                             ; preds = %8756, %8760
  %.str.5.sink4770 = phi ptr [ @.str.5, %8760 ], [ @.str.2, %8756 ]
  store i32 %8751, ptr %1549, align 4, !tbaa !5
  %8762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8763 = load i32, ptr @test_count, align 4, !tbaa !5
  %8764 = load i32, ptr %1495, align 4, !tbaa !5
  %8765 = call ptr @s2n_strerror(i32 noundef %8764, ptr noundef nonnull @.str.4) #12
  %8766 = load i32, ptr %1495, align 4, !tbaa !5
  %8767 = call ptr @s2n_strerror_debug(i32 noundef %8766, ptr noundef nonnull @.str.4) #12
  %8768 = load i32, ptr %1549, align 4, !tbaa !5
  %8769 = call ptr @strerror(i32 noundef %8768) #12
  %8770 = load i32, ptr %1549, align 4, !tbaa !5
  %8771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8762, ptr noundef nonnull %.str.5.sink4770, i32 noundef %8763, ptr noundef nonnull @.str.158, ptr noundef nonnull @.str.1, i32 noundef 766, ptr noundef %8765, ptr noundef %8767, ptr noundef %8769, i32 noundef %8770) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8772:                                             ; preds = %8744
  %8773 = load i32, ptr @test_count, align 4, !tbaa !5
  %8774 = add nsw i32 %8773, 1
  store i32 %8774, ptr @test_count, align 4, !tbaa !5
  %8775 = load ptr, ptr %57, align 8, !tbaa !9
  %8776 = load ptr, ptr %56, align 8, !tbaa !9
  %8777 = call i32 @s2n_connection_set_config(ptr noundef %8775, ptr noundef %8776) #12
  %8778 = icmp eq i32 %8777, -1
  br i1 %8778, label %8779, label %8801

8779:                                             ; preds = %8772
  %8780 = load i32, ptr %1549, align 4, !tbaa !5
  %8781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8782 = call i32 @s2n_print_stacktrace(ptr noundef %8781) #12
  %8783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8784 = trunc nuw i8 %8783 to i1
  br i1 %8784, label %8785, label %8789

8785:                                             ; preds = %8779
  %8786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8787 = call i32 @fileno(ptr noundef %8786) #12
  %8788 = call i32 @isatty(i32 noundef %8787) #12
  %.not1609 = icmp eq i32 %8788, 0
  br i1 %.not1609, label %8789, label %8790

8789:                                             ; preds = %8785, %8779
  br label %8790

8790:                                             ; preds = %8785, %8789
  %.str.5.sink4779 = phi ptr [ @.str.5, %8789 ], [ @.str.2, %8785 ]
  store i32 %8780, ptr %1549, align 4, !tbaa !5
  %8791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8792 = load i32, ptr @test_count, align 4, !tbaa !5
  %8793 = load i32, ptr %1495, align 4, !tbaa !5
  %8794 = call ptr @s2n_strerror(i32 noundef %8793, ptr noundef nonnull @.str.4) #12
  %8795 = load i32, ptr %1495, align 4, !tbaa !5
  %8796 = call ptr @s2n_strerror_debug(i32 noundef %8795, ptr noundef nonnull @.str.4) #12
  %8797 = load i32, ptr %1549, align 4, !tbaa !5
  %8798 = call ptr @strerror(i32 noundef %8797) #12
  %8799 = load i32, ptr %1549, align 4, !tbaa !5
  %8800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8791, ptr noundef nonnull %.str.5.sink4779, i32 noundef %8792, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 767, ptr noundef %8794, ptr noundef %8796, ptr noundef %8798, i32 noundef %8799) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8801:                                             ; preds = %8772
  %8802 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %57) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %57) #12
  %8803 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %55) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %54) #12
  %8804 = load i32, ptr @test_count, align 4, !tbaa !5
  %8805 = add nsw i32 %8804, 1
  store i32 %8805, ptr @test_count, align 4, !tbaa !5
  %8806 = call i32 @s2n_config_load_system_certs(ptr noundef null) #12
  %8807 = icmp eq i32 %8806, -1
  br i1 %8807, label %8830, label %8808

8808:                                             ; preds = %8801
  %8809 = load i32, ptr %1549, align 4, !tbaa !5
  %8810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8811 = call i32 @s2n_print_stacktrace(ptr noundef %8810) #12
  %8812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8813 = trunc nuw i8 %8812 to i1
  br i1 %8813, label %8814, label %8818

8814:                                             ; preds = %8808
  %8815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8816 = call i32 @fileno(ptr noundef %8815) #12
  %8817 = call i32 @isatty(i32 noundef %8816) #12
  %.not1405 = icmp eq i32 %8817, 0
  br i1 %.not1405, label %8818, label %8819

8818:                                             ; preds = %8814, %8808
  br label %8819

8819:                                             ; preds = %8814, %8818
  %.str.5.sink4788 = phi ptr [ @.str.5, %8818 ], [ @.str.2, %8814 ]
  store i32 %8809, ptr %1549, align 4, !tbaa !5
  %8820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8821 = load i32, ptr @test_count, align 4, !tbaa !5
  %8822 = load i32, ptr %1495, align 4, !tbaa !5
  %8823 = call ptr @s2n_strerror(i32 noundef %8822, ptr noundef nonnull @.str.4) #12
  %8824 = load i32, ptr %1495, align 4, !tbaa !5
  %8825 = call ptr @s2n_strerror_debug(i32 noundef %8824, ptr noundef nonnull @.str.4) #12
  %8826 = load i32, ptr %1549, align 4, !tbaa !5
  %8827 = call ptr @strerror(i32 noundef %8826) #12
  %8828 = load i32, ptr %1549, align 4, !tbaa !5
  %8829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8820, ptr noundef nonnull %.str.5.sink4788, i32 noundef %8821, ptr noundef nonnull @.str.159, ptr noundef nonnull @.str.1, i32 noundef 774, ptr noundef %8823, ptr noundef %8825, ptr noundef %8827, i32 noundef %8828) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8830:                                             ; preds = %8801
  %8831 = load i32, ptr @test_count, align 4, !tbaa !5
  %8832 = add nsw i32 %8831, 1
  store i32 %8832, ptr @test_count, align 4, !tbaa !5
  %8833 = load i32, ptr %1495, align 4, !tbaa !5
  %8834 = icmp eq i32 %8833, 402653193
  br i1 %8834, label %8857, label %8835

8835:                                             ; preds = %8830
  %8836 = load i32, ptr %1549, align 4, !tbaa !5
  %8837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8838 = call i32 @s2n_print_stacktrace(ptr noundef %8837) #12
  %8839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8840 = trunc nuw i8 %8839 to i1
  br i1 %8840, label %8841, label %8845

8841:                                             ; preds = %8835
  %8842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8843 = call i32 @fileno(ptr noundef %8842) #12
  %8844 = call i32 @isatty(i32 noundef %8843) #12
  %.not1406 = icmp eq i32 %8844, 0
  br i1 %.not1406, label %8845, label %8846

8845:                                             ; preds = %8841, %8835
  br label %8846

8846:                                             ; preds = %8841, %8845
  %.str.5.sink4797 = phi ptr [ @.str.5, %8845 ], [ @.str.2, %8841 ]
  store i32 %8836, ptr %1549, align 4, !tbaa !5
  %8847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8848 = load i32, ptr @test_count, align 4, !tbaa !5
  %8849 = load i32, ptr %1495, align 4, !tbaa !5
  %8850 = call ptr @s2n_strerror(i32 noundef %8849, ptr noundef nonnull @.str.4) #12
  %8851 = load i32, ptr %1495, align 4, !tbaa !5
  %8852 = call ptr @s2n_strerror_debug(i32 noundef %8851, ptr noundef nonnull @.str.4) #12
  %8853 = load i32, ptr %1549, align 4, !tbaa !5
  %8854 = call ptr @strerror(i32 noundef %8853) #12
  %8855 = load i32, ptr %1549, align 4, !tbaa !5
  %8856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8847, ptr noundef nonnull %.str.5.sink4797, i32 noundef %8848, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 774, ptr noundef %8850, ptr noundef %8852, ptr noundef %8854, i32 noundef %8855) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8857:                                             ; preds = %8830
  %8858 = add nsw i32 %8831, 2
  store i32 %8858, ptr @test_count, align 4, !tbaa !5
  %8859 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %8860 = icmp eq ptr %8859, null
  br i1 %8860, label %8861, label %8883

8861:                                             ; preds = %8857
  %8862 = load i32, ptr %1549, 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
  %.not1608 = icmp eq i32 %8870, 0
  br i1 %.not1608, label %8871, label %8872

8871:                                             ; preds = %8867, %8861
  br label %8872

8872:                                             ; preds = %8867, %8871
  %.str.5.sink4806 = phi ptr [ @.str.5, %8871 ], [ @.str.2, %8867 ]
  store i32 %8862, ptr %1549, 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 %1495, align 4, !tbaa !5
  %8876 = call ptr @s2n_strerror(i32 noundef %8875, ptr noundef nonnull @.str.4) #12
  %8877 = load i32, ptr %1495, align 4, !tbaa !5
  %8878 = call ptr @s2n_strerror_debug(i32 noundef %8877, ptr noundef nonnull @.str.4) #12
  %8879 = load i32, ptr %1549, align 4, !tbaa !5
  %8880 = call ptr @strerror(i32 noundef %8879) #12
  %8881 = load i32, ptr %1549, align 4, !tbaa !5
  %8882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8873, ptr noundef nonnull %.str.5.sink4806, i32 noundef %8874, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 774, ptr noundef %8876, ptr noundef %8878, ptr noundef %8880, i32 noundef %8881) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8883:                                             ; preds = %8857
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %58) #12
  %8884 = call ptr @s2n_config_new_minimal() #12
  store ptr %8884, ptr %58, align 8, !tbaa !9
  %8885 = load i32, ptr @test_count, align 4, !tbaa !5
  %8886 = add nsw i32 %8885, 1
  store i32 %8886, ptr @test_count, align 4, !tbaa !5
  %8887 = icmp eq ptr %8884, null
  br i1 %8887, label %8888, label %8910

8888:                                             ; preds = %8883
  %8889 = load i32, ptr %1549, align 4, !tbaa !5
  %8890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8891 = call i32 @s2n_print_stacktrace(ptr noundef %8890) #12
  %8892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8893 = trunc nuw i8 %8892 to i1
  br i1 %8893, label %8894, label %8898

8894:                                             ; preds = %8888
  %8895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8896 = call i32 @fileno(ptr noundef %8895) #12
  %8897 = call i32 @isatty(i32 noundef %8896) #12
  %.not1607 = icmp eq i32 %8897, 0
  br i1 %.not1607, label %8898, label %8899

8898:                                             ; preds = %8894, %8888
  br label %8899

8899:                                             ; preds = %8894, %8898
  %.str.5.sink4815 = phi ptr [ @.str.5, %8898 ], [ @.str.2, %8894 ]
  store i32 %8889, ptr %1549, align 4, !tbaa !5
  %8900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8901 = load i32, ptr @test_count, align 4, !tbaa !5
  %8902 = load i32, ptr %1495, align 4, !tbaa !5
  %8903 = call ptr @s2n_strerror(i32 noundef %8902, ptr noundef nonnull @.str.4) #12
  %8904 = load i32, ptr %1495, align 4, !tbaa !5
  %8905 = call ptr @s2n_strerror_debug(i32 noundef %8904, ptr noundef nonnull @.str.4) #12
  %8906 = load i32, ptr %1549, align 4, !tbaa !5
  %8907 = call ptr @strerror(i32 noundef %8906) #12
  %8908 = load i32, ptr %1549, align 4, !tbaa !5
  %8909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8900, ptr noundef nonnull %.str.5.sink4815, i32 noundef %8901, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 780, ptr noundef %8903, ptr noundef %8905, ptr noundef %8907, i32 noundef %8908) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8910:                                             ; preds = %8883
  %8911 = add nsw i32 %8885, 2
  store i32 %8911, ptr @test_count, align 4, !tbaa !5
  %8912 = getelementptr inbounds i8, ptr %8884, i64 304
  %8913 = load ptr, ptr %8912, align 8, !tbaa !72
  %8914 = icmp eq ptr %8913, null
  br i1 %8914, label %8937, label %8915

8915:                                             ; preds = %8910
  %8916 = load i32, ptr %1549, align 4, !tbaa !5
  %8917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8918 = call i32 @s2n_print_stacktrace(ptr noundef %8917) #12
  %8919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8920 = trunc nuw i8 %8919 to i1
  br i1 %8920, label %8921, label %8925

8921:                                             ; preds = %8915
  %8922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8923 = call i32 @fileno(ptr noundef %8922) #12
  %8924 = call i32 @isatty(i32 noundef %8923) #12
  %.not1407 = icmp eq i32 %8924, 0
  br i1 %.not1407, label %8925, label %8926

8925:                                             ; preds = %8921, %8915
  br label %8926

8926:                                             ; preds = %8921, %8925
  %.str.5.sink4824 = phi ptr [ @.str.5, %8925 ], [ @.str.2, %8921 ]
  store i32 %8916, ptr %1549, align 4, !tbaa !5
  %8927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8928 = load i32, ptr @test_count, align 4, !tbaa !5
  %8929 = load i32, ptr %1495, align 4, !tbaa !5
  %8930 = call ptr @s2n_strerror(i32 noundef %8929, ptr noundef nonnull @.str.4) #12
  %8931 = load i32, ptr %1495, align 4, !tbaa !5
  %8932 = call ptr @s2n_strerror_debug(i32 noundef %8931, ptr noundef nonnull @.str.4) #12
  %8933 = load i32, ptr %1549, align 4, !tbaa !5
  %8934 = call ptr @strerror(i32 noundef %8933) #12
  %8935 = load i32, ptr %1549, align 4, !tbaa !5
  %8936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8927, ptr noundef nonnull %.str.5.sink4824, i32 noundef %8928, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.1, i32 noundef 781, ptr noundef %8930, ptr noundef %8932, ptr noundef %8934, i32 noundef %8935) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8937:                                             ; preds = %8910
  %8938 = add nsw i32 %8885, 3
  store i32 %8938, ptr @test_count, align 4, !tbaa !5
  %8939 = getelementptr inbounds i8, ptr %8884, i64 312
  %8940 = load i8, ptr %8939, align 8
  %8941 = and i8 %8940, 1
  %.not1408 = icmp eq i8 %8941, 0
  br i1 %.not1408, label %8964, label %8942

8942:                                             ; preds = %8937
  %8943 = load i32, ptr %1549, align 4, !tbaa !5
  %8944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8945 = call i32 @s2n_print_stacktrace(ptr noundef %8944) #12
  %8946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8947 = trunc nuw i8 %8946 to i1
  br i1 %8947, label %8948, label %8952

8948:                                             ; preds = %8942
  %8949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8950 = call i32 @fileno(ptr noundef %8949) #12
  %8951 = call i32 @isatty(i32 noundef %8950) #12
  %.not1606 = icmp eq i32 %8951, 0
  br i1 %.not1606, label %8952, label %8953

8952:                                             ; preds = %8948, %8942
  br label %8953

8953:                                             ; preds = %8948, %8952
  %.str.5.sink4833 = phi ptr [ @.str.5, %8952 ], [ @.str.2, %8948 ]
  store i32 %8943, ptr %1549, align 4, !tbaa !5
  %8954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8955 = load i32, ptr @test_count, align 4, !tbaa !5
  %8956 = load i32, ptr %1495, align 4, !tbaa !5
  %8957 = call ptr @s2n_strerror(i32 noundef %8956, ptr noundef nonnull @.str.4) #12
  %8958 = load i32, ptr %1495, align 4, !tbaa !5
  %8959 = call ptr @s2n_strerror_debug(i32 noundef %8958, ptr noundef nonnull @.str.4) #12
  %8960 = load i32, ptr %1549, align 4, !tbaa !5
  %8961 = call ptr @strerror(i32 noundef %8960) #12
  %8962 = load i32, ptr %1549, align 4, !tbaa !5
  %8963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8954, ptr noundef nonnull %.str.5.sink4833, i32 noundef %8955, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.1, i32 noundef 782, ptr noundef %8957, ptr noundef %8959, ptr noundef %8961, i32 noundef %8962) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8964:                                             ; preds = %8937
  %8965 = add nsw i32 %8885, 4
  store i32 %8965, ptr @test_count, align 4, !tbaa !5
  %8966 = call i32 @s2n_config_load_system_certs(ptr noundef nonnull %8884) #12
  %8967 = icmp eq i32 %8966, -1
  br i1 %8967, label %8968, label %8990

8968:                                             ; preds = %8964
  %8969 = load i32, ptr %1549, align 4, !tbaa !5
  %8970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8971 = call i32 @s2n_print_stacktrace(ptr noundef %8970) #12
  %8972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8973 = trunc nuw i8 %8972 to i1
  br i1 %8973, label %8974, label %8978

8974:                                             ; preds = %8968
  %8975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8976 = call i32 @fileno(ptr noundef %8975) #12
  %8977 = call i32 @isatty(i32 noundef %8976) #12
  %.not1605 = icmp eq i32 %8977, 0
  br i1 %.not1605, label %8978, label %8979

8978:                                             ; preds = %8974, %8968
  br label %8979

8979:                                             ; preds = %8974, %8978
  %.str.5.sink4842 = phi ptr [ @.str.5, %8978 ], [ @.str.2, %8974 ]
  store i32 %8969, ptr %1549, align 4, !tbaa !5
  %8980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8981 = load i32, ptr @test_count, align 4, !tbaa !5
  %8982 = load i32, ptr %1495, align 4, !tbaa !5
  %8983 = call ptr @s2n_strerror(i32 noundef %8982, ptr noundef nonnull @.str.4) #12
  %8984 = load i32, ptr %1495, align 4, !tbaa !5
  %8985 = call ptr @s2n_strerror_debug(i32 noundef %8984, ptr noundef nonnull @.str.4) #12
  %8986 = load i32, ptr %1549, align 4, !tbaa !5
  %8987 = call ptr @strerror(i32 noundef %8986) #12
  %8988 = load i32, ptr %1549, align 4, !tbaa !5
  %8989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8980, ptr noundef nonnull %.str.5.sink4842, i32 noundef %8981, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.1, i32 noundef 785, ptr noundef %8983, ptr noundef %8985, ptr noundef %8987, i32 noundef %8988) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8990:                                             ; preds = %8964
  %8991 = load i32, ptr @test_count, align 4, !tbaa !5
  %8992 = add nsw i32 %8991, 1
  store i32 %8992, ptr @test_count, align 4, !tbaa !5
  %8993 = load ptr, ptr %58, align 8, !tbaa !9
  %8994 = getelementptr inbounds i8, ptr %8993, i64 304
  %8995 = load ptr, ptr %8994, align 8, !tbaa !72
  %8996 = icmp eq ptr %8995, null
  br i1 %8996, label %8997, label %9019

8997:                                             ; preds = %8990
  %8998 = load i32, ptr %1549, align 4, !tbaa !5
  %8999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9000 = call i32 @s2n_print_stacktrace(ptr noundef %8999) #12
  %9001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9002 = trunc nuw i8 %9001 to i1
  br i1 %9002, label %9003, label %9007

9003:                                             ; preds = %8997
  %9004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9005 = call i32 @fileno(ptr noundef %9004) #12
  %9006 = call i32 @isatty(i32 noundef %9005) #12
  %.not1604 = icmp eq i32 %9006, 0
  br i1 %.not1604, label %9007, label %9008

9007:                                             ; preds = %9003, %8997
  br label %9008

9008:                                             ; preds = %9003, %9007
  %.str.5.sink4851 = phi ptr [ @.str.5, %9007 ], [ @.str.2, %9003 ]
  store i32 %8998, ptr %1549, align 4, !tbaa !5
  %9009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9010 = load i32, ptr @test_count, align 4, !tbaa !5
  %9011 = load i32, ptr %1495, align 4, !tbaa !5
  %9012 = call ptr @s2n_strerror(i32 noundef %9011, ptr noundef nonnull @.str.4) #12
  %9013 = load i32, ptr %1495, align 4, !tbaa !5
  %9014 = call ptr @s2n_strerror_debug(i32 noundef %9013, ptr noundef nonnull @.str.4) #12
  %9015 = load i32, ptr %1549, align 4, !tbaa !5
  %9016 = call ptr @strerror(i32 noundef %9015) #12
  %9017 = load i32, ptr %1549, align 4, !tbaa !5
  %9018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9009, ptr noundef nonnull %.str.5.sink4851, i32 noundef %9010, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.1, i32 noundef 786, ptr noundef %9012, ptr noundef %9014, ptr noundef %9016, i32 noundef %9017) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9019:                                             ; preds = %8990
  %9020 = add nsw i32 %8991, 2
  store i32 %9020, ptr @test_count, align 4, !tbaa !5
  %9021 = getelementptr inbounds i8, ptr %8993, i64 312
  %9022 = load i8, ptr %9021, align 8
  %9023 = and i8 %9022, 1
  %.not1409 = icmp eq i8 %9023, 0
  br i1 %.not1409, label %9024, label %.preheader1809

9024:                                             ; preds = %9019
  %9025 = load i32, ptr %1549, align 4, !tbaa !5
  %9026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9027 = call i32 @s2n_print_stacktrace(ptr noundef %9026) #12
  %9028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9029 = trunc nuw i8 %9028 to i1
  br i1 %9029, label %9030, label %9034

9030:                                             ; preds = %9024
  %9031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9032 = call i32 @fileno(ptr noundef %9031) #12
  %9033 = call i32 @isatty(i32 noundef %9032) #12
  %.not1410 = icmp eq i32 %9033, 0
  br i1 %.not1410, label %9034, label %9035

9034:                                             ; preds = %9030, %9024
  br label %9035

9035:                                             ; preds = %9030, %9034
  %.str.5.sink4860 = phi ptr [ @.str.5, %9034 ], [ @.str.2, %9030 ]
  store i32 %9025, ptr %1549, align 4, !tbaa !5
  %9036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9037 = load i32, ptr @test_count, align 4, !tbaa !5
  %9038 = load i32, ptr %1495, align 4, !tbaa !5
  %9039 = call ptr @s2n_strerror(i32 noundef %9038, ptr noundef nonnull @.str.4) #12
  %9040 = load i32, ptr %1495, align 4, !tbaa !5
  %9041 = call ptr @s2n_strerror_debug(i32 noundef %9040, ptr noundef nonnull @.str.4) #12
  %9042 = load i32, ptr %1549, align 4, !tbaa !5
  %9043 = call ptr @strerror(i32 noundef %9042) #12
  %9044 = load i32, ptr %1549, align 4, !tbaa !5
  %9045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9036, ptr noundef nonnull %.str.5.sink4860, i32 noundef %9037, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 787, ptr noundef %9039, ptr noundef %9041, ptr noundef %9043, i32 noundef %9044) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9046:                                             ; preds = %9134
  %9047 = add nuw nsw i32 %.012181828, 1
  %exitcond1861.not = icmp eq i32 %9047, 20
  br i1 %exitcond1861.not, label %9048, label %.preheader1809, !llvm.loop !73

9048:                                             ; preds = %9046
  %9049 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %58) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %58) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #12
  %9050 = call ptr @s2n_config_new() #12
  store ptr %9050, ptr %59, 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 = icmp eq ptr %9050, null
  br i1 %9053, label %9163, label %9185

.preheader1809:                                   ; preds = %9019, %9046
  %9054 = phi ptr [ %9137, %9046 ], [ %8993, %9019 ]
  %9055 = phi i32 [ %9136, %9046 ], [ %9020, %9019 ]
  %.012181828 = phi i32 [ %9047, %9046 ], [ 0, %9019 ]
  %9056 = add nsw i32 %9055, 1
  store i32 %9056, ptr @test_count, align 4, !tbaa !5
  %9057 = call i32 @s2n_config_load_system_certs(ptr noundef nonnull %9054) #12
  %9058 = icmp eq i32 %9057, -1
  br i1 %9058, label %9081, label %9059

9059:                                             ; preds = %.preheader1809
  %9060 = load i32, ptr %1549, align 4, !tbaa !5
  %9061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9062 = call i32 @s2n_print_stacktrace(ptr noundef %9061) #12
  %9063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9064 = trunc nuw i8 %9063 to i1
  br i1 %9064, label %9065, label %9069

9065:                                             ; preds = %9059
  %9066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9067 = call i32 @fileno(ptr noundef %9066) #12
  %9068 = call i32 @isatty(i32 noundef %9067) #12
  %.not1599 = icmp eq i32 %9068, 0
  br i1 %.not1599, label %9069, label %9070

9069:                                             ; preds = %9065, %9059
  br label %9070

9070:                                             ; preds = %9065, %9069
  %.str.5.sink4869 = phi ptr [ @.str.5, %9069 ], [ @.str.2, %9065 ]
  store i32 %9060, ptr %1549, align 4, !tbaa !5
  %9071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9072 = load i32, ptr @test_count, align 4, !tbaa !5
  %9073 = load i32, ptr %1495, align 4, !tbaa !5
  %9074 = call ptr @s2n_strerror(i32 noundef %9073, ptr noundef nonnull @.str.4) #12
  %9075 = load i32, ptr %1495, align 4, !tbaa !5
  %9076 = call ptr @s2n_strerror_debug(i32 noundef %9075, ptr noundef nonnull @.str.4) #12
  %9077 = load i32, ptr %1549, align 4, !tbaa !5
  %9078 = call ptr @strerror(i32 noundef %9077) #12
  %9079 = load i32, ptr %1549, align 4, !tbaa !5
  %9080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9071, ptr noundef nonnull %.str.5.sink4869, i32 noundef %9072, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.1, i32 noundef 791, ptr noundef %9074, ptr noundef %9076, ptr noundef %9078, i32 noundef %9079) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9081:                                             ; preds = %.preheader1809
  %9082 = load i32, ptr @test_count, align 4, !tbaa !5
  %9083 = add nsw i32 %9082, 1
  store i32 %9083, ptr @test_count, align 4, !tbaa !5
  %9084 = load i32, ptr %1495, align 4, !tbaa !5
  %9085 = icmp eq i32 %9084, 402653238
  br i1 %9085, label %9108, label %9086

9086:                                             ; preds = %9081
  %9087 = load i32, ptr %1549, align 4, !tbaa !5
  %9088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9089 = call i32 @s2n_print_stacktrace(ptr noundef %9088) #12
  %9090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9091 = trunc nuw i8 %9090 to i1
  br i1 %9091, label %9092, label %9096

9092:                                             ; preds = %9086
  %9093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9094 = call i32 @fileno(ptr noundef %9093) #12
  %9095 = call i32 @isatty(i32 noundef %9094) #12
  %.not1600 = icmp eq i32 %9095, 0
  br i1 %.not1600, label %9096, label %9097

9096:                                             ; preds = %9092, %9086
  br label %9097

9097:                                             ; preds = %9092, %9096
  %.str.5.sink4878 = phi ptr [ @.str.5, %9096 ], [ @.str.2, %9092 ]
  store i32 %9087, ptr %1549, align 4, !tbaa !5
  %9098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9099 = load i32, ptr @test_count, align 4, !tbaa !5
  %9100 = load i32, ptr %1495, align 4, !tbaa !5
  %9101 = call ptr @s2n_strerror(i32 noundef %9100, ptr noundef nonnull @.str.4) #12
  %9102 = load i32, ptr %1495, align 4, !tbaa !5
  %9103 = call ptr @s2n_strerror_debug(i32 noundef %9102, ptr noundef nonnull @.str.4) #12
  %9104 = load i32, ptr %1549, align 4, !tbaa !5
  %9105 = call ptr @strerror(i32 noundef %9104) #12
  %9106 = load i32, ptr %1549, align 4, !tbaa !5
  %9107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9098, ptr noundef nonnull %.str.5.sink4878, i32 noundef %9099, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.1, i32 noundef 791, ptr noundef %9101, ptr noundef %9103, ptr noundef %9105, i32 noundef %9106) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9108:                                             ; preds = %9081
  %9109 = add nsw i32 %9082, 2
  store i32 %9109, ptr @test_count, align 4, !tbaa !5
  %9110 = call ptr @s2n_strerror_debug(i32 noundef 402653238, ptr noundef nonnull @.str.4) #12
  %9111 = icmp eq ptr %9110, null
  br i1 %9111, label %9112, label %9134

9112:                                             ; preds = %9108
  %9113 = load i32, ptr %1549, align 4, !tbaa !5
  %9114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9115 = call i32 @s2n_print_stacktrace(ptr noundef %9114) #12
  %9116 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9117 = trunc nuw i8 %9116 to i1
  br i1 %9117, label %9118, label %9122

9118:                                             ; preds = %9112
  %9119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9120 = call i32 @fileno(ptr noundef %9119) #12
  %9121 = call i32 @isatty(i32 noundef %9120) #12
  %.not1603 = icmp eq i32 %9121, 0
  br i1 %.not1603, label %9122, label %9123

9122:                                             ; preds = %9118, %9112
  br label %9123

9123:                                             ; preds = %9118, %9122
  %.str.5.sink4887 = phi ptr [ @.str.5, %9122 ], [ @.str.2, %9118 ]
  store i32 %9113, ptr %1549, align 4, !tbaa !5
  %9124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9125 = load i32, ptr @test_count, align 4, !tbaa !5
  %9126 = load i32, ptr %1495, align 4, !tbaa !5
  %9127 = call ptr @s2n_strerror(i32 noundef %9126, ptr noundef nonnull @.str.4) #12
  %9128 = load i32, ptr %1495, align 4, !tbaa !5
  %9129 = call ptr @s2n_strerror_debug(i32 noundef %9128, ptr noundef nonnull @.str.4) #12
  %9130 = load i32, ptr %1549, align 4, !tbaa !5
  %9131 = call ptr @strerror(i32 noundef %9130) #12
  %9132 = load i32, ptr %1549, align 4, !tbaa !5
  %9133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9124, ptr noundef nonnull %.str.5.sink4887, i32 noundef %9125, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 791, ptr noundef %9127, ptr noundef %9129, ptr noundef %9131, i32 noundef %9132) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9134:                                             ; preds = %9108
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %9135 = load i32, ptr @test_count, align 4, !tbaa !5
  %9136 = add nsw i32 %9135, 1
  store i32 %9136, ptr @test_count, align 4, !tbaa !5
  %9137 = load ptr, ptr %58, align 8, !tbaa !9
  %9138 = getelementptr inbounds i8, ptr %9137, i64 312
  %9139 = load i8, ptr %9138, align 8
  %9140 = and i8 %9139, 1
  %.not1601 = icmp eq i8 %9140, 0
  br i1 %.not1601, label %9141, label %9046

9141:                                             ; preds = %9134
  %9142 = load i32, ptr %1549, align 4, !tbaa !5
  %9143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9144 = call i32 @s2n_print_stacktrace(ptr noundef %9143) #12
  %9145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9146 = trunc nuw i8 %9145 to i1
  br i1 %9146, label %9147, label %9151

9147:                                             ; preds = %9141
  %9148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9149 = call i32 @fileno(ptr noundef %9148) #12
  %9150 = call i32 @isatty(i32 noundef %9149) #12
  %.not1602 = icmp eq i32 %9150, 0
  br i1 %.not1602, label %9151, label %9152

9151:                                             ; preds = %9147, %9141
  br label %9152

9152:                                             ; preds = %9147, %9151
  %.str.5.sink4896 = phi ptr [ @.str.5, %9151 ], [ @.str.2, %9147 ]
  store i32 %9142, ptr %1549, align 4, !tbaa !5
  %9153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9154 = load i32, ptr @test_count, align 4, !tbaa !5
  %9155 = load i32, ptr %1495, align 4, !tbaa !5
  %9156 = call ptr @s2n_strerror(i32 noundef %9155, ptr noundef nonnull @.str.4) #12
  %9157 = load i32, ptr %1495, align 4, !tbaa !5
  %9158 = call ptr @s2n_strerror_debug(i32 noundef %9157, ptr noundef nonnull @.str.4) #12
  %9159 = load i32, ptr %1549, align 4, !tbaa !5
  %9160 = call ptr @strerror(i32 noundef %9159) #12
  %9161 = load i32, ptr %1549, align 4, !tbaa !5
  %9162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9153, ptr noundef nonnull %.str.5.sink4896, i32 noundef %9154, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 792, ptr noundef %9156, ptr noundef %9158, ptr noundef %9160, i32 noundef %9161) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9163:                                             ; preds = %9048
  %9164 = load i32, ptr %1549, align 4, !tbaa !5
  %9165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9166 = call i32 @s2n_print_stacktrace(ptr noundef %9165) #12
  %9167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9168 = trunc nuw i8 %9167 to i1
  br i1 %9168, label %9169, label %9173

9169:                                             ; preds = %9163
  %9170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9171 = call i32 @fileno(ptr noundef %9170) #12
  %9172 = call i32 @isatty(i32 noundef %9171) #12
  %.not1598 = icmp eq i32 %9172, 0
  br i1 %.not1598, label %9173, label %9174

9173:                                             ; preds = %9169, %9163
  br label %9174

9174:                                             ; preds = %9169, %9173
  %.str.5.sink4905 = phi ptr [ @.str.5, %9173 ], [ @.str.2, %9169 ]
  store i32 %9164, ptr %1549, align 4, !tbaa !5
  %9175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9176 = load i32, ptr @test_count, align 4, !tbaa !5
  %9177 = load i32, ptr %1495, align 4, !tbaa !5
  %9178 = call ptr @s2n_strerror(i32 noundef %9177, ptr noundef nonnull @.str.4) #12
  %9179 = load i32, ptr %1495, align 4, !tbaa !5
  %9180 = call ptr @s2n_strerror_debug(i32 noundef %9179, ptr noundef nonnull @.str.4) #12
  %9181 = load i32, ptr %1549, align 4, !tbaa !5
  %9182 = call ptr @strerror(i32 noundef %9181) #12
  %9183 = load i32, ptr %1549, align 4, !tbaa !5
  %9184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9175, ptr noundef nonnull %.str.5.sink4905, i32 noundef %9176, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 799, ptr noundef %9178, ptr noundef %9180, ptr noundef %9182, i32 noundef %9183) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9185:                                             ; preds = %9048
  %9186 = add nsw i32 %9051, 2
  store i32 %9186, ptr @test_count, align 4, !tbaa !5
  %9187 = getelementptr inbounds i8, ptr %9050, i64 304
  %9188 = load ptr, ptr %9187, align 8, !tbaa !72
  %9189 = icmp eq ptr %9188, null
  br i1 %9189, label %9190, label %9212

9190:                                             ; preds = %9185
  %9191 = load i32, ptr %1549, align 4, !tbaa !5
  %9192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9193 = call i32 @s2n_print_stacktrace(ptr noundef %9192) #12
  %9194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9195 = trunc nuw i8 %9194 to i1
  br i1 %9195, label %9196, label %9200

9196:                                             ; preds = %9190
  %9197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9198 = call i32 @fileno(ptr noundef %9197) #12
  %9199 = call i32 @isatty(i32 noundef %9198) #12
  %.not1597 = icmp eq i32 %9199, 0
  br i1 %.not1597, label %9200, label %9201

9200:                                             ; preds = %9196, %9190
  br label %9201

9201:                                             ; preds = %9196, %9200
  %.str.5.sink4914 = phi ptr [ @.str.5, %9200 ], [ @.str.2, %9196 ]
  store i32 %9191, ptr %1549, align 4, !tbaa !5
  %9202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9203 = load i32, ptr @test_count, align 4, !tbaa !5
  %9204 = load i32, ptr %1495, align 4, !tbaa !5
  %9205 = call ptr @s2n_strerror(i32 noundef %9204, ptr noundef nonnull @.str.4) #12
  %9206 = load i32, ptr %1495, align 4, !tbaa !5
  %9207 = call ptr @s2n_strerror_debug(i32 noundef %9206, ptr noundef nonnull @.str.4) #12
  %9208 = load i32, ptr %1549, align 4, !tbaa !5
  %9209 = call ptr @strerror(i32 noundef %9208) #12
  %9210 = load i32, ptr %1549, align 4, !tbaa !5
  %9211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9202, ptr noundef nonnull %.str.5.sink4914, i32 noundef %9203, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.1, i32 noundef 800, ptr noundef %9205, ptr noundef %9207, ptr noundef %9209, i32 noundef %9210) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9212:                                             ; preds = %9185
  %9213 = add nsw i32 %9051, 3
  store i32 %9213, ptr @test_count, align 4, !tbaa !5
  %9214 = getelementptr inbounds i8, ptr %9050, i64 312
  %9215 = load i8, ptr %9214, align 8
  %9216 = and i8 %9215, 1
  %.not1411 = icmp eq i8 %9216, 0
  br i1 %.not1411, label %9217, label %.preheader1808

9217:                                             ; preds = %9212
  %9218 = load i32, ptr %1549, align 4, !tbaa !5
  %9219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9220 = call i32 @s2n_print_stacktrace(ptr noundef %9219) #12
  %9221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9222 = trunc nuw i8 %9221 to i1
  br i1 %9222, label %9223, label %9227

9223:                                             ; preds = %9217
  %9224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9225 = call i32 @fileno(ptr noundef %9224) #12
  %9226 = call i32 @isatty(i32 noundef %9225) #12
  %.not1412 = icmp eq i32 %9226, 0
  br i1 %.not1412, label %9227, label %9228

9227:                                             ; preds = %9223, %9217
  br label %9228

9228:                                             ; preds = %9223, %9227
  %.str.5.sink4923 = phi ptr [ @.str.5, %9227 ], [ @.str.2, %9223 ]
  store i32 %9218, ptr %1549, align 4, !tbaa !5
  %9229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9230 = load i32, ptr @test_count, align 4, !tbaa !5
  %9231 = load i32, ptr %1495, align 4, !tbaa !5
  %9232 = call ptr @s2n_strerror(i32 noundef %9231, ptr noundef nonnull @.str.4) #12
  %9233 = load i32, ptr %1495, align 4, !tbaa !5
  %9234 = call ptr @s2n_strerror_debug(i32 noundef %9233, ptr noundef nonnull @.str.4) #12
  %9235 = load i32, ptr %1549, align 4, !tbaa !5
  %9236 = call ptr @strerror(i32 noundef %9235) #12
  %9237 = load i32, ptr %1549, align 4, !tbaa !5
  %9238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9229, ptr noundef nonnull %.str.5.sink4923, i32 noundef %9230, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 801, ptr noundef %9232, ptr noundef %9234, ptr noundef %9236, i32 noundef %9237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9239:                                             ; preds = %9327
  %9240 = add nuw nsw i32 %.012191829, 1
  %exitcond1862.not = icmp eq i32 %9240, 20
  br i1 %exitcond1862.not, label %9241, label %.preheader1808, !llvm.loop !74

9241:                                             ; preds = %9239
  %9242 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %59) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #12
  %9243 = call ptr @s2n_fetch_default_config() #12
  %9244 = load i32, ptr @test_count, align 4, !tbaa !5
  %9245 = add nsw i32 %9244, 1
  store i32 %9245, ptr @test_count, align 4, !tbaa !5
  %9246 = icmp eq ptr %9243, null
  br i1 %9246, label %9356, label %9378

.preheader1808:                                   ; preds = %9212, %9239
  %9247 = phi ptr [ %9330, %9239 ], [ %9050, %9212 ]
  %9248 = phi i32 [ %9329, %9239 ], [ %9213, %9212 ]
  %.012191829 = phi i32 [ %9240, %9239 ], [ 0, %9212 ]
  %9249 = add nsw i32 %9248, 1
  store i32 %9249, ptr @test_count, align 4, !tbaa !5
  %9250 = call i32 @s2n_config_load_system_certs(ptr noundef nonnull %9247) #12
  %9251 = icmp eq i32 %9250, -1
  br i1 %9251, label %9274, label %9252

9252:                                             ; preds = %.preheader1808
  %9253 = load i32, ptr %1549, align 4, !tbaa !5
  %9254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9255 = call i32 @s2n_print_stacktrace(ptr noundef %9254) #12
  %9256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9257 = trunc nuw i8 %9256 to i1
  br i1 %9257, label %9258, label %9262

9258:                                             ; preds = %9252
  %9259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9260 = call i32 @fileno(ptr noundef %9259) #12
  %9261 = call i32 @isatty(i32 noundef %9260) #12
  %.not1592 = icmp eq i32 %9261, 0
  br i1 %.not1592, label %9262, label %9263

9262:                                             ; preds = %9258, %9252
  br label %9263

9263:                                             ; preds = %9258, %9262
  %.str.5.sink4932 = phi ptr [ @.str.5, %9262 ], [ @.str.2, %9258 ]
  store i32 %9253, ptr %1549, align 4, !tbaa !5
  %9264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9265 = load i32, ptr @test_count, align 4, !tbaa !5
  %9266 = load i32, ptr %1495, align 4, !tbaa !5
  %9267 = call ptr @s2n_strerror(i32 noundef %9266, ptr noundef nonnull @.str.4) #12
  %9268 = load i32, ptr %1495, align 4, !tbaa !5
  %9269 = call ptr @s2n_strerror_debug(i32 noundef %9268, ptr noundef nonnull @.str.4) #12
  %9270 = load i32, ptr %1549, align 4, !tbaa !5
  %9271 = call ptr @strerror(i32 noundef %9270) #12
  %9272 = load i32, ptr %1549, align 4, !tbaa !5
  %9273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9264, ptr noundef nonnull %.str.5.sink4932, i32 noundef %9265, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.1, i32 noundef 805, ptr noundef %9267, ptr noundef %9269, ptr noundef %9271, i32 noundef %9272) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9274:                                             ; preds = %.preheader1808
  %9275 = load i32, ptr @test_count, align 4, !tbaa !5
  %9276 = add nsw i32 %9275, 1
  store i32 %9276, ptr @test_count, align 4, !tbaa !5
  %9277 = load i32, ptr %1495, align 4, !tbaa !5
  %9278 = icmp eq i32 %9277, 402653238
  br i1 %9278, label %9301, label %9279

9279:                                             ; preds = %9274
  %9280 = load i32, ptr %1549, align 4, !tbaa !5
  %9281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9282 = call i32 @s2n_print_stacktrace(ptr noundef %9281) #12
  %9283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9284 = trunc nuw i8 %9283 to i1
  br i1 %9284, label %9285, label %9289

9285:                                             ; preds = %9279
  %9286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9287 = call i32 @fileno(ptr noundef %9286) #12
  %9288 = call i32 @isatty(i32 noundef %9287) #12
  %.not1593 = icmp eq i32 %9288, 0
  br i1 %.not1593, label %9289, label %9290

9289:                                             ; preds = %9285, %9279
  br label %9290

9290:                                             ; preds = %9285, %9289
  %.str.5.sink4941 = phi ptr [ @.str.5, %9289 ], [ @.str.2, %9285 ]
  store i32 %9280, ptr %1549, align 4, !tbaa !5
  %9291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9292 = load i32, ptr @test_count, align 4, !tbaa !5
  %9293 = load i32, ptr %1495, align 4, !tbaa !5
  %9294 = call ptr @s2n_strerror(i32 noundef %9293, ptr noundef nonnull @.str.4) #12
  %9295 = load i32, ptr %1495, align 4, !tbaa !5
  %9296 = call ptr @s2n_strerror_debug(i32 noundef %9295, ptr noundef nonnull @.str.4) #12
  %9297 = load i32, ptr %1549, align 4, !tbaa !5
  %9298 = call ptr @strerror(i32 noundef %9297) #12
  %9299 = load i32, ptr %1549, align 4, !tbaa !5
  %9300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9291, ptr noundef nonnull %.str.5.sink4941, i32 noundef %9292, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.1, i32 noundef 805, ptr noundef %9294, ptr noundef %9296, ptr noundef %9298, i32 noundef %9299) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9301:                                             ; preds = %9274
  %9302 = add nsw i32 %9275, 2
  store i32 %9302, ptr @test_count, align 4, !tbaa !5
  %9303 = call ptr @s2n_strerror_debug(i32 noundef 402653238, ptr noundef nonnull @.str.4) #12
  %9304 = icmp eq ptr %9303, null
  br i1 %9304, label %9305, label %9327

9305:                                             ; preds = %9301
  %9306 = load i32, ptr %1549, align 4, !tbaa !5
  %9307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9308 = call i32 @s2n_print_stacktrace(ptr noundef %9307) #12
  %9309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9310 = trunc nuw i8 %9309 to i1
  br i1 %9310, label %9311, label %9315

9311:                                             ; preds = %9305
  %9312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9313 = call i32 @fileno(ptr noundef %9312) #12
  %9314 = call i32 @isatty(i32 noundef %9313) #12
  %.not1596 = icmp eq i32 %9314, 0
  br i1 %.not1596, label %9315, label %9316

9315:                                             ; preds = %9311, %9305
  br label %9316

9316:                                             ; preds = %9311, %9315
  %.str.5.sink4950 = phi ptr [ @.str.5, %9315 ], [ @.str.2, %9311 ]
  store i32 %9306, ptr %1549, align 4, !tbaa !5
  %9317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9318 = load i32, ptr @test_count, align 4, !tbaa !5
  %9319 = load i32, ptr %1495, align 4, !tbaa !5
  %9320 = call ptr @s2n_strerror(i32 noundef %9319, ptr noundef nonnull @.str.4) #12
  %9321 = load i32, ptr %1495, align 4, !tbaa !5
  %9322 = call ptr @s2n_strerror_debug(i32 noundef %9321, ptr noundef nonnull @.str.4) #12
  %9323 = load i32, ptr %1549, align 4, !tbaa !5
  %9324 = call ptr @strerror(i32 noundef %9323) #12
  %9325 = load i32, ptr %1549, align 4, !tbaa !5
  %9326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9317, ptr noundef nonnull %.str.5.sink4950, i32 noundef %9318, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 805, ptr noundef %9320, ptr noundef %9322, ptr noundef %9324, i32 noundef %9325) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9327:                                             ; preds = %9301
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %9328 = load i32, ptr @test_count, align 4, !tbaa !5
  %9329 = add nsw i32 %9328, 1
  store i32 %9329, ptr @test_count, align 4, !tbaa !5
  %9330 = load ptr, ptr %59, align 8, !tbaa !9
  %9331 = getelementptr inbounds i8, ptr %9330, i64 312
  %9332 = load i8, ptr %9331, align 8
  %9333 = and i8 %9332, 1
  %.not1594 = icmp eq i8 %9333, 0
  br i1 %.not1594, label %9334, label %9239

9334:                                             ; preds = %9327
  %9335 = load i32, ptr %1549, align 4, !tbaa !5
  %9336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9337 = call i32 @s2n_print_stacktrace(ptr noundef %9336) #12
  %9338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9339 = trunc nuw i8 %9338 to i1
  br i1 %9339, label %9340, label %9344

9340:                                             ; preds = %9334
  %9341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9342 = call i32 @fileno(ptr noundef %9341) #12
  %9343 = call i32 @isatty(i32 noundef %9342) #12
  %.not1595 = icmp eq i32 %9343, 0
  br i1 %.not1595, label %9344, label %9345

9344:                                             ; preds = %9340, %9334
  br label %9345

9345:                                             ; preds = %9340, %9344
  %.str.5.sink4959 = phi ptr [ @.str.5, %9344 ], [ @.str.2, %9340 ]
  store i32 %9335, ptr %1549, align 4, !tbaa !5
  %9346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9347 = load i32, ptr @test_count, align 4, !tbaa !5
  %9348 = load i32, ptr %1495, align 4, !tbaa !5
  %9349 = call ptr @s2n_strerror(i32 noundef %9348, ptr noundef nonnull @.str.4) #12
  %9350 = load i32, ptr %1495, align 4, !tbaa !5
  %9351 = call ptr @s2n_strerror_debug(i32 noundef %9350, ptr noundef nonnull @.str.4) #12
  %9352 = load i32, ptr %1549, align 4, !tbaa !5
  %9353 = call ptr @strerror(i32 noundef %9352) #12
  %9354 = load i32, ptr %1549, align 4, !tbaa !5
  %9355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9346, ptr noundef nonnull %.str.5.sink4959, i32 noundef %9347, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 806, ptr noundef %9349, ptr noundef %9351, ptr noundef %9353, i32 noundef %9354) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9356:                                             ; preds = %9241
  %9357 = load i32, ptr %1549, align 4, !tbaa !5
  %9358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9359 = call i32 @s2n_print_stacktrace(ptr noundef %9358) #12
  %9360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9361 = trunc nuw i8 %9360 to i1
  br i1 %9361, label %9362, label %9366

9362:                                             ; preds = %9356
  %9363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9364 = call i32 @fileno(ptr noundef %9363) #12
  %9365 = call i32 @isatty(i32 noundef %9364) #12
  %.not1591 = icmp eq i32 %9365, 0
  br i1 %.not1591, label %9366, label %9367

9366:                                             ; preds = %9362, %9356
  br label %9367

9367:                                             ; preds = %9362, %9366
  %.str.5.sink4968 = phi ptr [ @.str.5, %9366 ], [ @.str.2, %9362 ]
  store i32 %9357, ptr %1549, align 4, !tbaa !5
  %9368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9369 = load i32, ptr @test_count, align 4, !tbaa !5
  %9370 = load i32, ptr %1495, align 4, !tbaa !5
  %9371 = call ptr @s2n_strerror(i32 noundef %9370, ptr noundef nonnull @.str.4) #12
  %9372 = load i32, ptr %1495, align 4, !tbaa !5
  %9373 = call ptr @s2n_strerror_debug(i32 noundef %9372, ptr noundef nonnull @.str.4) #12
  %9374 = load i32, ptr %1549, align 4, !tbaa !5
  %9375 = call ptr @strerror(i32 noundef %9374) #12
  %9376 = load i32, ptr %1549, align 4, !tbaa !5
  %9377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9368, ptr noundef nonnull %.str.5.sink4968, i32 noundef %9369, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 813, ptr noundef %9371, ptr noundef %9373, ptr noundef %9375, i32 noundef %9376) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9378:                                             ; preds = %9241
  %9379 = add nsw i32 %9244, 2
  store i32 %9379, ptr @test_count, align 4, !tbaa !5
  %9380 = getelementptr inbounds i8, ptr %9243, i64 312
  %9381 = load i8, ptr %9380, align 8
  %9382 = and i8 %9381, 1
  %.not1413 = icmp eq i8 %9382, 0
  br i1 %.not1413, label %9383, label %9405

9383:                                             ; preds = %9378
  %9384 = load i32, ptr %1549, align 4, !tbaa !5
  %9385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9386 = call i32 @s2n_print_stacktrace(ptr noundef %9385) #12
  %9387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9388 = trunc nuw i8 %9387 to i1
  br i1 %9388, label %9389, label %9393

9389:                                             ; preds = %9383
  %9390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9391 = call i32 @fileno(ptr noundef %9390) #12
  %9392 = call i32 @isatty(i32 noundef %9391) #12
  %.not1414 = icmp eq i32 %9392, 0
  br i1 %.not1414, label %9393, label %9394

9393:                                             ; preds = %9389, %9383
  br label %9394

9394:                                             ; preds = %9389, %9393
  %.str.5.sink4977 = phi ptr [ @.str.5, %9393 ], [ @.str.2, %9389 ]
  store i32 %9384, ptr %1549, align 4, !tbaa !5
  %9395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9396 = load i32, ptr @test_count, align 4, !tbaa !5
  %9397 = load i32, ptr %1495, align 4, !tbaa !5
  %9398 = call ptr @s2n_strerror(i32 noundef %9397, ptr noundef nonnull @.str.4) #12
  %9399 = load i32, ptr %1495, align 4, !tbaa !5
  %9400 = call ptr @s2n_strerror_debug(i32 noundef %9399, ptr noundef nonnull @.str.4) #12
  %9401 = load i32, ptr %1549, align 4, !tbaa !5
  %9402 = call ptr @strerror(i32 noundef %9401) #12
  %9403 = load i32, ptr %1549, align 4, !tbaa !5
  %9404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9395, ptr noundef nonnull %.str.5.sink4977, i32 noundef %9396, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 814, ptr noundef %9398, ptr noundef %9400, ptr noundef %9402, i32 noundef %9403) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9405:                                             ; preds = %9378
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #12
  %9406 = call ptr @s2n_config_new() #12
  store ptr %9406, ptr %60, align 8, !tbaa !9
  %9407 = load i32, ptr @test_count, align 4, !tbaa !5
  %9408 = add nsw i32 %9407, 1
  store i32 %9408, ptr @test_count, align 4, !tbaa !5
  %9409 = icmp eq ptr %9406, null
  br i1 %9409, label %9410, label %.preheader1807

9410:                                             ; preds = %9405
  %9411 = load i32, ptr %1549, align 4, !tbaa !5
  %9412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9413 = call i32 @s2n_print_stacktrace(ptr noundef %9412) #12
  %9414 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9415 = trunc nuw i8 %9414 to i1
  br i1 %9415, label %9416, label %9420

9416:                                             ; preds = %9410
  %9417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9418 = call i32 @fileno(ptr noundef %9417) #12
  %9419 = call i32 @isatty(i32 noundef %9418) #12
  %.not1590 = icmp eq i32 %9419, 0
  br i1 %.not1590, label %9420, label %9421

9420:                                             ; preds = %9416, %9410
  br label %9421

9421:                                             ; preds = %9416, %9420
  %.str.5.sink4986 = phi ptr [ @.str.5, %9420 ], [ @.str.2, %9416 ]
  store i32 %9411, ptr %1549, align 4, !tbaa !5
  %9422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9423 = load i32, ptr @test_count, align 4, !tbaa !5
  %9424 = load i32, ptr %1495, align 4, !tbaa !5
  %9425 = call ptr @s2n_strerror(i32 noundef %9424, ptr noundef nonnull @.str.4) #12
  %9426 = load i32, ptr %1495, align 4, !tbaa !5
  %9427 = call ptr @s2n_strerror_debug(i32 noundef %9426, ptr noundef nonnull @.str.4) #12
  %9428 = load i32, ptr %1549, align 4, !tbaa !5
  %9429 = call ptr @strerror(i32 noundef %9428) #12
  %9430 = load i32, ptr %1549, align 4, !tbaa !5
  %9431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9422, ptr noundef nonnull %.str.5.sink4986, i32 noundef %9423, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 820, ptr noundef %9425, ptr noundef %9427, ptr noundef %9429, i32 noundef %9430) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9432:                                             ; preds = %9657
  %9433 = add nuw nsw i32 %.012201830, 1
  %exitcond1863.not = icmp eq i32 %9433, 20
  br i1 %exitcond1863.not, label %9434, label %.preheader1807, !llvm.loop !75

9434:                                             ; preds = %9432
  %9435 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %60) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #12
  %9436 = call ptr @s2n_config_new_minimal() #12
  store ptr %9436, ptr %61, align 8, !tbaa !9
  %9437 = load i32, ptr @test_count, align 4, !tbaa !5
  %9438 = add nsw i32 %9437, 1
  store i32 %9438, ptr @test_count, align 4, !tbaa !5
  %9439 = icmp eq ptr %9436, null
  br i1 %9439, label %9686, label %9708

.preheader1807:                                   ; preds = %9405, %9432
  %9440 = phi ptr [ %9660, %9432 ], [ %9406, %9405 ]
  %9441 = phi i32 [ %9659, %9432 ], [ %9408, %9405 ]
  %.012201830 = phi i32 [ %9433, %9432 ], [ 0, %9405 ]
  %9442 = add nsw i32 %9441, 1
  store i32 %9442, ptr @test_count, align 4, !tbaa !5
  %9443 = getelementptr inbounds i8, ptr %9440, i64 304
  %9444 = load ptr, ptr %9443, align 8, !tbaa !72
  %9445 = icmp eq ptr %9444, null
  br i1 %9445, label %9446, label %9468

9446:                                             ; preds = %.preheader1807
  %9447 = load i32, ptr %1549, 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
  %.not1589 = icmp eq i32 %9455, 0
  br i1 %.not1589, label %9456, label %9457

9456:                                             ; preds = %9452, %9446
  br label %9457

9457:                                             ; preds = %9452, %9456
  %.str.5.sink4995 = phi ptr [ @.str.5, %9456 ], [ @.str.2, %9452 ]
  store i32 %9447, ptr %1549, 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 %1495, align 4, !tbaa !5
  %9461 = call ptr @s2n_strerror(i32 noundef %9460, ptr noundef nonnull @.str.4) #12
  %9462 = load i32, ptr %1495, align 4, !tbaa !5
  %9463 = call ptr @s2n_strerror_debug(i32 noundef %9462, ptr noundef nonnull @.str.4) #12
  %9464 = load i32, ptr %1549, align 4, !tbaa !5
  %9465 = call ptr @strerror(i32 noundef %9464) #12
  %9466 = load i32, ptr %1549, align 4, !tbaa !5
  %9467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9458, ptr noundef nonnull %.str.5.sink4995, i32 noundef %9459, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.1, i32 noundef 824, ptr noundef %9461, ptr noundef %9463, ptr noundef %9465, i32 noundef %9466) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9468:                                             ; preds = %.preheader1807
  %9469 = add nsw i32 %9441, 2
  store i32 %9469, ptr @test_count, align 4, !tbaa !5
  %9470 = getelementptr inbounds i8, ptr %9440, i64 312
  %9471 = load i8, ptr %9470, align 8
  %9472 = and i8 %9471, 1
  %.not1578 = icmp eq i8 %9472, 0
  br i1 %.not1578, label %9473, label %9495

9473:                                             ; preds = %9468
  %9474 = load i32, ptr %1549, align 4, !tbaa !5
  %9475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9476 = call i32 @s2n_print_stacktrace(ptr noundef %9475) #12
  %9477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9478 = trunc nuw i8 %9477 to i1
  br i1 %9478, label %9479, label %9483

9479:                                             ; preds = %9473
  %9480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9481 = call i32 @fileno(ptr noundef %9480) #12
  %9482 = call i32 @isatty(i32 noundef %9481) #12
  %.not1579 = icmp eq i32 %9482, 0
  br i1 %.not1579, label %9483, label %9484

9483:                                             ; preds = %9479, %9473
  br label %9484

9484:                                             ; preds = %9479, %9483
  %.str.5.sink5004 = phi ptr [ @.str.5, %9483 ], [ @.str.2, %9479 ]
  store i32 %9474, ptr %1549, align 4, !tbaa !5
  %9485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9486 = load i32, ptr @test_count, align 4, !tbaa !5
  %9487 = load i32, ptr %1495, align 4, !tbaa !5
  %9488 = call ptr @s2n_strerror(i32 noundef %9487, ptr noundef nonnull @.str.4) #12
  %9489 = load i32, ptr %1495, align 4, !tbaa !5
  %9490 = call ptr @s2n_strerror_debug(i32 noundef %9489, ptr noundef nonnull @.str.4) #12
  %9491 = load i32, ptr %1549, align 4, !tbaa !5
  %9492 = call ptr @strerror(i32 noundef %9491) #12
  %9493 = load i32, ptr %1549, align 4, !tbaa !5
  %9494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9485, ptr noundef nonnull %.str.5.sink5004, i32 noundef %9486, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 825, ptr noundef %9488, ptr noundef %9490, ptr noundef %9492, i32 noundef %9493) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9495:                                             ; preds = %9468
  %9496 = add nsw i32 %9441, 3
  store i32 %9496, ptr @test_count, align 4, !tbaa !5
  %9497 = call i32 @s2n_config_load_system_certs(ptr noundef nonnull %9440) #12
  %9498 = icmp eq i32 %9497, -1
  br i1 %9498, label %9521, label %9499

9499:                                             ; preds = %9495
  %9500 = load i32, ptr %1549, align 4, !tbaa !5
  %9501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9502 = call i32 @s2n_print_stacktrace(ptr noundef %9501) #12
  %9503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9504 = trunc nuw i8 %9503 to i1
  br i1 %9504, label %9505, label %9509

9505:                                             ; preds = %9499
  %9506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9507 = call i32 @fileno(ptr noundef %9506) #12
  %9508 = call i32 @isatty(i32 noundef %9507) #12
  %.not1580 = icmp eq i32 %9508, 0
  br i1 %.not1580, label %9509, label %9510

9509:                                             ; preds = %9505, %9499
  br label %9510

9510:                                             ; preds = %9505, %9509
  %.str.5.sink5013 = phi ptr [ @.str.5, %9509 ], [ @.str.2, %9505 ]
  store i32 %9500, ptr %1549, align 4, !tbaa !5
  %9511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9512 = load i32, ptr @test_count, align 4, !tbaa !5
  %9513 = load i32, ptr %1495, align 4, !tbaa !5
  %9514 = call ptr @s2n_strerror(i32 noundef %9513, ptr noundef nonnull @.str.4) #12
  %9515 = load i32, ptr %1495, align 4, !tbaa !5
  %9516 = call ptr @s2n_strerror_debug(i32 noundef %9515, ptr noundef nonnull @.str.4) #12
  %9517 = load i32, ptr %1549, align 4, !tbaa !5
  %9518 = call ptr @strerror(i32 noundef %9517) #12
  %9519 = load i32, ptr %1549, align 4, !tbaa !5
  %9520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9511, ptr noundef nonnull %.str.5.sink5013, i32 noundef %9512, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.1, i32 noundef 826, ptr noundef %9514, ptr noundef %9516, ptr noundef %9518, i32 noundef %9519) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9521:                                             ; preds = %9495
  %9522 = load i32, ptr @test_count, align 4, !tbaa !5
  %9523 = add nsw i32 %9522, 1
  store i32 %9523, ptr @test_count, align 4, !tbaa !5
  %9524 = load i32, ptr %1495, align 4, !tbaa !5
  %9525 = icmp eq i32 %9524, 402653238
  br i1 %9525, label %9548, label %9526

9526:                                             ; preds = %9521
  %9527 = load i32, ptr %1549, align 4, !tbaa !5
  %9528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9529 = call i32 @s2n_print_stacktrace(ptr noundef %9528) #12
  %9530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9531 = trunc nuw i8 %9530 to i1
  br i1 %9531, label %9532, label %9536

9532:                                             ; preds = %9526
  %9533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9534 = call i32 @fileno(ptr noundef %9533) #12
  %9535 = call i32 @isatty(i32 noundef %9534) #12
  %.not1581 = icmp eq i32 %9535, 0
  br i1 %.not1581, label %9536, label %9537

9536:                                             ; preds = %9532, %9526
  br label %9537

9537:                                             ; preds = %9532, %9536
  %.str.5.sink5022 = phi ptr [ @.str.5, %9536 ], [ @.str.2, %9532 ]
  store i32 %9527, ptr %1549, align 4, !tbaa !5
  %9538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9539 = load i32, ptr @test_count, align 4, !tbaa !5
  %9540 = load i32, ptr %1495, align 4, !tbaa !5
  %9541 = call ptr @s2n_strerror(i32 noundef %9540, ptr noundef nonnull @.str.4) #12
  %9542 = load i32, ptr %1495, align 4, !tbaa !5
  %9543 = call ptr @s2n_strerror_debug(i32 noundef %9542, ptr noundef nonnull @.str.4) #12
  %9544 = load i32, ptr %1549, align 4, !tbaa !5
  %9545 = call ptr @strerror(i32 noundef %9544) #12
  %9546 = load i32, ptr %1549, align 4, !tbaa !5
  %9547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9538, ptr noundef nonnull %.str.5.sink5022, i32 noundef %9539, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.1, i32 noundef 826, ptr noundef %9541, ptr noundef %9543, ptr noundef %9545, i32 noundef %9546) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9548:                                             ; preds = %9521
  %9549 = add nsw i32 %9522, 2
  store i32 %9549, ptr @test_count, align 4, !tbaa !5
  %9550 = call ptr @s2n_strerror_debug(i32 noundef 402653238, ptr noundef nonnull @.str.4) #12
  %9551 = icmp eq ptr %9550, null
  br i1 %9551, label %9552, label %9574

9552:                                             ; preds = %9548
  %9553 = load i32, ptr %1549, align 4, !tbaa !5
  %9554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9555 = call i32 @s2n_print_stacktrace(ptr noundef %9554) #12
  %9556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9557 = trunc nuw i8 %9556 to i1
  br i1 %9557, label %9558, label %9562

9558:                                             ; preds = %9552
  %9559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9560 = call i32 @fileno(ptr noundef %9559) #12
  %9561 = call i32 @isatty(i32 noundef %9560) #12
  %.not1588 = icmp eq i32 %9561, 0
  br i1 %.not1588, label %9562, label %9563

9562:                                             ; preds = %9558, %9552
  br label %9563

9563:                                             ; preds = %9558, %9562
  %.str.5.sink5031 = phi ptr [ @.str.5, %9562 ], [ @.str.2, %9558 ]
  store i32 %9553, ptr %1549, align 4, !tbaa !5
  %9564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9565 = load i32, ptr @test_count, align 4, !tbaa !5
  %9566 = load i32, ptr %1495, align 4, !tbaa !5
  %9567 = call ptr @s2n_strerror(i32 noundef %9566, ptr noundef nonnull @.str.4) #12
  %9568 = load i32, ptr %1495, align 4, !tbaa !5
  %9569 = call ptr @s2n_strerror_debug(i32 noundef %9568, ptr noundef nonnull @.str.4) #12
  %9570 = load i32, ptr %1549, align 4, !tbaa !5
  %9571 = call ptr @strerror(i32 noundef %9570) #12
  %9572 = load i32, ptr %1549, align 4, !tbaa !5
  %9573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9564, ptr noundef nonnull %.str.5.sink5031, i32 noundef %9565, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 826, ptr noundef %9567, ptr noundef %9569, ptr noundef %9571, i32 noundef %9572) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9574:                                             ; preds = %9548
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %9575 = load i32, ptr @test_count, align 4, !tbaa !5
  %9576 = add nsw i32 %9575, 1
  store i32 %9576, ptr @test_count, align 4, !tbaa !5
  %9577 = load ptr, ptr %60, align 8, !tbaa !9
  %9578 = call i32 @s2n_config_wipe_trust_store(ptr noundef %9577) #12
  %9579 = icmp eq i32 %9578, -1
  br i1 %9579, label %9580, label %9602

9580:                                             ; preds = %9574
  %9581 = load i32, ptr %1549, align 4, !tbaa !5
  %9582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9583 = call i32 @s2n_print_stacktrace(ptr noundef %9582) #12
  %9584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9585 = trunc nuw i8 %9584 to i1
  br i1 %9585, label %9586, label %9590

9586:                                             ; preds = %9580
  %9587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9588 = call i32 @fileno(ptr noundef %9587) #12
  %9589 = call i32 @isatty(i32 noundef %9588) #12
  %.not1587 = icmp eq i32 %9589, 0
  br i1 %.not1587, label %9590, label %9591

9590:                                             ; preds = %9586, %9580
  br label %9591

9591:                                             ; preds = %9586, %9590
  %.str.5.sink5040 = phi ptr [ @.str.5, %9590 ], [ @.str.2, %9586 ]
  store i32 %9581, ptr %1549, align 4, !tbaa !5
  %9592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9593 = load i32, ptr @test_count, align 4, !tbaa !5
  %9594 = load i32, ptr %1495, align 4, !tbaa !5
  %9595 = call ptr @s2n_strerror(i32 noundef %9594, ptr noundef nonnull @.str.4) #12
  %9596 = load i32, ptr %1495, align 4, !tbaa !5
  %9597 = call ptr @s2n_strerror_debug(i32 noundef %9596, ptr noundef nonnull @.str.4) #12
  %9598 = load i32, ptr %1549, align 4, !tbaa !5
  %9599 = call ptr @strerror(i32 noundef %9598) #12
  %9600 = load i32, ptr %1549, align 4, !tbaa !5
  %9601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9592, ptr noundef nonnull %.str.5.sink5040, i32 noundef %9593, ptr noundef nonnull @.str.167, ptr noundef nonnull @.str.1, i32 noundef 828, ptr noundef %9595, ptr noundef %9597, ptr noundef %9599, i32 noundef %9600) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9602:                                             ; preds = %9574
  %9603 = load i32, ptr @test_count, align 4, !tbaa !5
  %9604 = add nsw i32 %9603, 1
  store i32 %9604, ptr @test_count, align 4, !tbaa !5
  %9605 = load ptr, ptr %60, align 8, !tbaa !9
  %9606 = getelementptr inbounds i8, ptr %9605, i64 312
  %9607 = load i8, ptr %9606, align 8
  %9608 = and i8 %9607, 1
  %.not1582 = icmp eq i8 %9608, 0
  br i1 %.not1582, label %9631, label %9609

9609:                                             ; preds = %9602
  %9610 = load i32, ptr %1549, align 4, !tbaa !5
  %9611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9612 = call i32 @s2n_print_stacktrace(ptr noundef %9611) #12
  %9613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9614 = trunc nuw i8 %9613 to i1
  br i1 %9614, label %9615, label %9619

9615:                                             ; preds = %9609
  %9616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9617 = call i32 @fileno(ptr noundef %9616) #12
  %9618 = call i32 @isatty(i32 noundef %9617) #12
  %.not1586 = icmp eq i32 %9618, 0
  br i1 %.not1586, label %9619, label %9620

9619:                                             ; preds = %9615, %9609
  br label %9620

9620:                                             ; preds = %9615, %9619
  %.str.5.sink5049 = phi ptr [ @.str.5, %9619 ], [ @.str.2, %9615 ]
  store i32 %9610, ptr %1549, align 4, !tbaa !5
  %9621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9622 = load i32, ptr @test_count, align 4, !tbaa !5
  %9623 = load i32, ptr %1495, align 4, !tbaa !5
  %9624 = call ptr @s2n_strerror(i32 noundef %9623, ptr noundef nonnull @.str.4) #12
  %9625 = load i32, ptr %1495, align 4, !tbaa !5
  %9626 = call ptr @s2n_strerror_debug(i32 noundef %9625, ptr noundef nonnull @.str.4) #12
  %9627 = load i32, ptr %1549, align 4, !tbaa !5
  %9628 = call ptr @strerror(i32 noundef %9627) #12
  %9629 = load i32, ptr %1549, align 4, !tbaa !5
  %9630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9621, ptr noundef nonnull %.str.5.sink5049, i32 noundef %9622, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.1, i32 noundef 831, ptr noundef %9624, ptr noundef %9626, ptr noundef %9628, i32 noundef %9629) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9631:                                             ; preds = %9602
  %9632 = add nsw i32 %9603, 2
  store i32 %9632, ptr @test_count, align 4, !tbaa !5
  %9633 = call i32 @s2n_config_load_system_certs(ptr noundef nonnull %9605) #12
  %9634 = icmp eq i32 %9633, -1
  br i1 %9634, label %9635, label %9657

9635:                                             ; preds = %9631
  %9636 = load i32, ptr %1549, align 4, !tbaa !5
  %9637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9638 = call i32 @s2n_print_stacktrace(ptr noundef %9637) #12
  %9639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9640 = trunc nuw i8 %9639 to i1
  br i1 %9640, label %9641, label %9645

9641:                                             ; preds = %9635
  %9642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9643 = call i32 @fileno(ptr noundef %9642) #12
  %9644 = call i32 @isatty(i32 noundef %9643) #12
  %.not1585 = icmp eq i32 %9644, 0
  br i1 %.not1585, label %9645, label %9646

9645:                                             ; preds = %9641, %9635
  br label %9646

9646:                                             ; preds = %9641, %9645
  %.str.5.sink5058 = phi ptr [ @.str.5, %9645 ], [ @.str.2, %9641 ]
  store i32 %9636, ptr %1549, align 4, !tbaa !5
  %9647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9648 = load i32, ptr @test_count, align 4, !tbaa !5
  %9649 = load i32, ptr %1495, align 4, !tbaa !5
  %9650 = call ptr @s2n_strerror(i32 noundef %9649, ptr noundef nonnull @.str.4) #12
  %9651 = load i32, ptr %1495, align 4, !tbaa !5
  %9652 = call ptr @s2n_strerror_debug(i32 noundef %9651, ptr noundef nonnull @.str.4) #12
  %9653 = load i32, ptr %1549, align 4, !tbaa !5
  %9654 = call ptr @strerror(i32 noundef %9653) #12
  %9655 = load i32, ptr %1549, align 4, !tbaa !5
  %9656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9647, ptr noundef nonnull %.str.5.sink5058, i32 noundef %9648, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.1, i32 noundef 832, ptr noundef %9650, ptr noundef %9652, ptr noundef %9654, i32 noundef %9655) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9657:                                             ; preds = %9631
  %9658 = load i32, ptr @test_count, align 4, !tbaa !5
  %9659 = add nsw i32 %9658, 1
  store i32 %9659, ptr @test_count, align 4, !tbaa !5
  %9660 = load ptr, ptr %60, align 8, !tbaa !9
  %9661 = getelementptr inbounds i8, ptr %9660, i64 312
  %9662 = load i8, ptr %9661, align 8
  %9663 = and i8 %9662, 1
  %.not1583 = icmp eq i8 %9663, 0
  br i1 %.not1583, label %9664, label %9432

9664:                                             ; preds = %9657
  %9665 = load i32, ptr %1549, align 4, !tbaa !5
  %9666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9667 = call i32 @s2n_print_stacktrace(ptr noundef %9666) #12
  %9668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9669 = trunc nuw i8 %9668 to i1
  br i1 %9669, label %9670, label %9674

9670:                                             ; preds = %9664
  %9671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9672 = call i32 @fileno(ptr noundef %9671) #12
  %9673 = call i32 @isatty(i32 noundef %9672) #12
  %.not1584 = icmp eq i32 %9673, 0
  br i1 %.not1584, label %9674, label %9675

9674:                                             ; preds = %9670, %9664
  br label %9675

9675:                                             ; preds = %9670, %9674
  %.str.5.sink5067 = phi ptr [ @.str.5, %9674 ], [ @.str.2, %9670 ]
  store i32 %9665, ptr %1549, align 4, !tbaa !5
  %9676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9677 = load i32, ptr @test_count, align 4, !tbaa !5
  %9678 = load i32, ptr %1495, align 4, !tbaa !5
  %9679 = call ptr @s2n_strerror(i32 noundef %9678, ptr noundef nonnull @.str.4) #12
  %9680 = load i32, ptr %1495, align 4, !tbaa !5
  %9681 = call ptr @s2n_strerror_debug(i32 noundef %9680, ptr noundef nonnull @.str.4) #12
  %9682 = load i32, ptr %1549, align 4, !tbaa !5
  %9683 = call ptr @strerror(i32 noundef %9682) #12
  %9684 = load i32, ptr %1549, align 4, !tbaa !5
  %9685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9676, ptr noundef nonnull %.str.5.sink5067, i32 noundef %9677, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 833, ptr noundef %9679, ptr noundef %9681, ptr noundef %9683, i32 noundef %9684) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9686:                                             ; preds = %9434
  %9687 = load i32, ptr %1549, align 4, !tbaa !5
  %9688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9689 = call i32 @s2n_print_stacktrace(ptr noundef %9688) #12
  %9690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9691 = trunc nuw i8 %9690 to i1
  br i1 %9691, label %9692, label %9696

9692:                                             ; preds = %9686
  %9693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9694 = call i32 @fileno(ptr noundef %9693) #12
  %9695 = call i32 @isatty(i32 noundef %9694) #12
  %.not1577 = icmp eq i32 %9695, 0
  br i1 %.not1577, label %9696, label %9697

9696:                                             ; preds = %9692, %9686
  br label %9697

9697:                                             ; preds = %9692, %9696
  %.str.5.sink5076 = phi ptr [ @.str.5, %9696 ], [ @.str.2, %9692 ]
  store i32 %9687, ptr %1549, align 4, !tbaa !5
  %9698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9699 = load i32, ptr @test_count, align 4, !tbaa !5
  %9700 = load i32, ptr %1495, align 4, !tbaa !5
  %9701 = call ptr @s2n_strerror(i32 noundef %9700, ptr noundef nonnull @.str.4) #12
  %9702 = load i32, ptr %1495, align 4, !tbaa !5
  %9703 = call ptr @s2n_strerror_debug(i32 noundef %9702, ptr noundef nonnull @.str.4) #12
  %9704 = load i32, ptr %1549, align 4, !tbaa !5
  %9705 = call ptr @strerror(i32 noundef %9704) #12
  %9706 = load i32, ptr %1549, align 4, !tbaa !5
  %9707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9698, ptr noundef nonnull %.str.5.sink5076, i32 noundef %9699, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 845, ptr noundef %9701, ptr noundef %9703, ptr noundef %9705, i32 noundef %9706) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9708:                                             ; preds = %9434
  %9709 = add nsw i32 %9437, 2
  store i32 %9709, ptr @test_count, align 4, !tbaa !5
  %9710 = getelementptr inbounds i8, ptr %9436, i64 304
  %9711 = load ptr, ptr %9710, align 8, !tbaa !72
  %9712 = icmp eq ptr %9711, null
  br i1 %9712, label %9735, label %9713

9713:                                             ; preds = %9708
  %9714 = load i32, ptr %1549, align 4, !tbaa !5
  %9715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9716 = call i32 @s2n_print_stacktrace(ptr noundef %9715) #12
  %9717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9718 = trunc nuw i8 %9717 to i1
  br i1 %9718, label %9719, label %9723

9719:                                             ; preds = %9713
  %9720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9721 = call i32 @fileno(ptr noundef %9720) #12
  %9722 = call i32 @isatty(i32 noundef %9721) #12
  %.not1415 = icmp eq i32 %9722, 0
  br i1 %.not1415, label %9723, label %9724

9723:                                             ; preds = %9719, %9713
  br label %9724

9724:                                             ; preds = %9719, %9723
  %.str.5.sink5085 = phi ptr [ @.str.5, %9723 ], [ @.str.2, %9719 ]
  store i32 %9714, ptr %1549, align 4, !tbaa !5
  %9725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9726 = load i32, ptr @test_count, align 4, !tbaa !5
  %9727 = load i32, ptr %1495, align 4, !tbaa !5
  %9728 = call ptr @s2n_strerror(i32 noundef %9727, ptr noundef nonnull @.str.4) #12
  %9729 = load i32, ptr %1495, align 4, !tbaa !5
  %9730 = call ptr @s2n_strerror_debug(i32 noundef %9729, ptr noundef nonnull @.str.4) #12
  %9731 = load i32, ptr %1549, align 4, !tbaa !5
  %9732 = call ptr @strerror(i32 noundef %9731) #12
  %9733 = load i32, ptr %1549, align 4, !tbaa !5
  %9734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9725, ptr noundef nonnull %.str.5.sink5085, i32 noundef %9726, ptr noundef nonnull @.str.160, ptr noundef nonnull @.str.1, i32 noundef 846, ptr noundef %9728, ptr noundef %9730, ptr noundef %9732, i32 noundef %9733) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9735:                                             ; preds = %9708
  %9736 = add nsw i32 %9437, 3
  store i32 %9736, ptr @test_count, align 4, !tbaa !5
  %9737 = getelementptr inbounds i8, ptr %9436, i64 312
  %9738 = load i8, ptr %9737, align 8
  %9739 = and i8 %9738, 1
  %.not1416 = icmp eq i8 %9739, 0
  br i1 %.not1416, label %9762, label %9740

9740:                                             ; preds = %9735
  %9741 = load i32, ptr %1549, align 4, !tbaa !5
  %9742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9743 = call i32 @s2n_print_stacktrace(ptr noundef %9742) #12
  %9744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9745 = trunc nuw i8 %9744 to i1
  br i1 %9745, label %9746, label %9750

9746:                                             ; preds = %9740
  %9747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9748 = call i32 @fileno(ptr noundef %9747) #12
  %9749 = call i32 @isatty(i32 noundef %9748) #12
  %.not1576 = icmp eq i32 %9749, 0
  br i1 %.not1576, label %9750, label %9751

9750:                                             ; preds = %9746, %9740
  br label %9751

9751:                                             ; preds = %9746, %9750
  %.str.5.sink5094 = phi ptr [ @.str.5, %9750 ], [ @.str.2, %9746 ]
  store i32 %9741, ptr %1549, align 4, !tbaa !5
  %9752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9753 = load i32, ptr @test_count, align 4, !tbaa !5
  %9754 = load i32, ptr %1495, align 4, !tbaa !5
  %9755 = call ptr @s2n_strerror(i32 noundef %9754, ptr noundef nonnull @.str.4) #12
  %9756 = load i32, ptr %1495, align 4, !tbaa !5
  %9757 = call ptr @s2n_strerror_debug(i32 noundef %9756, ptr noundef nonnull @.str.4) #12
  %9758 = load i32, ptr %1549, align 4, !tbaa !5
  %9759 = call ptr @strerror(i32 noundef %9758) #12
  %9760 = load i32, ptr %1549, align 4, !tbaa !5
  %9761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9752, ptr noundef nonnull %.str.5.sink5094, i32 noundef %9753, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.1, i32 noundef 847, ptr noundef %9755, ptr noundef %9757, ptr noundef %9759, i32 noundef %9760) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9762:                                             ; preds = %9735
  %9763 = add nsw i32 %9437, 4
  store i32 %9763, ptr @test_count, align 4, !tbaa !5
  %9764 = call i32 @s2n_x509_trust_store_from_ca_file(ptr noundef nonnull %9710, ptr noundef nonnull @.str.168, ptr noundef null) #12
  %9765 = icmp eq i32 %9764, -1
  br i1 %9765, label %9766, label %9788

9766:                                             ; preds = %9762
  %9767 = load i32, ptr %1549, align 4, !tbaa !5
  %9768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9769 = call i32 @s2n_print_stacktrace(ptr noundef %9768) #12
  %9770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9771 = trunc nuw i8 %9770 to i1
  br i1 %9771, label %9772, label %9776

9772:                                             ; preds = %9766
  %9773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9774 = call i32 @fileno(ptr noundef %9773) #12
  %9775 = call i32 @isatty(i32 noundef %9774) #12
  %.not1575 = icmp eq i32 %9775, 0
  br i1 %.not1575, label %9776, label %9777

9776:                                             ; preds = %9772, %9766
  br label %9777

9777:                                             ; preds = %9772, %9776
  %.str.5.sink5103 = phi ptr [ @.str.5, %9776 ], [ @.str.2, %9772 ]
  store i32 %9767, ptr %1549, align 4, !tbaa !5
  %9778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9779 = load i32, ptr @test_count, align 4, !tbaa !5
  %9780 = load i32, ptr %1495, align 4, !tbaa !5
  %9781 = call ptr @s2n_strerror(i32 noundef %9780, ptr noundef nonnull @.str.4) #12
  %9782 = load i32, ptr %1495, align 4, !tbaa !5
  %9783 = call ptr @s2n_strerror_debug(i32 noundef %9782, ptr noundef nonnull @.str.4) #12
  %9784 = load i32, ptr %1549, align 4, !tbaa !5
  %9785 = call ptr @strerror(i32 noundef %9784) #12
  %9786 = load i32, ptr %1549, align 4, !tbaa !5
  %9787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9778, ptr noundef nonnull %.str.5.sink5103, i32 noundef %9779, ptr noundef nonnull @.str.169, ptr noundef nonnull @.str.1, i32 noundef 850, ptr noundef %9781, ptr noundef %9783, ptr noundef %9785, i32 noundef %9786) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9788:                                             ; preds = %9762
  %9789 = load i32, ptr @test_count, align 4, !tbaa !5
  %9790 = add nsw i32 %9789, 1
  store i32 %9790, ptr @test_count, align 4, !tbaa !5
  %9791 = load ptr, ptr %61, align 8, !tbaa !9
  %9792 = getelementptr inbounds i8, ptr %9791, i64 304
  %9793 = load ptr, ptr %9792, align 8, !tbaa !72
  %9794 = icmp eq ptr %9793, null
  br i1 %9794, label %9795, label %9817

9795:                                             ; preds = %9788
  %9796 = load i32, ptr %1549, align 4, !tbaa !5
  %9797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9798 = call i32 @s2n_print_stacktrace(ptr noundef %9797) #12
  %9799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9800 = trunc nuw i8 %9799 to i1
  br i1 %9800, label %9801, label %9805

9801:                                             ; preds = %9795
  %9802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9803 = call i32 @fileno(ptr noundef %9802) #12
  %9804 = call i32 @isatty(i32 noundef %9803) #12
  %.not1574 = icmp eq i32 %9804, 0
  br i1 %.not1574, label %9805, label %9806

9805:                                             ; preds = %9801, %9795
  br label %9806

9806:                                             ; preds = %9801, %9805
  %.str.5.sink5112 = phi ptr [ @.str.5, %9805 ], [ @.str.2, %9801 ]
  store i32 %9796, ptr %1549, align 4, !tbaa !5
  %9807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9808 = load i32, ptr @test_count, align 4, !tbaa !5
  %9809 = load i32, ptr %1495, align 4, !tbaa !5
  %9810 = call ptr @s2n_strerror(i32 noundef %9809, ptr noundef nonnull @.str.4) #12
  %9811 = load i32, ptr %1495, align 4, !tbaa !5
  %9812 = call ptr @s2n_strerror_debug(i32 noundef %9811, ptr noundef nonnull @.str.4) #12
  %9813 = load i32, ptr %1549, align 4, !tbaa !5
  %9814 = call ptr @strerror(i32 noundef %9813) #12
  %9815 = load i32, ptr %1549, align 4, !tbaa !5
  %9816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9807, ptr noundef nonnull %.str.5.sink5112, i32 noundef %9808, ptr noundef nonnull @.str.163, ptr noundef nonnull @.str.1, i32 noundef 851, ptr noundef %9810, ptr noundef %9812, ptr noundef %9814, i32 noundef %9815) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9817:                                             ; preds = %9788
  %9818 = add nsw i32 %9789, 2
  store i32 %9818, ptr @test_count, align 4, !tbaa !5
  %9819 = getelementptr inbounds i8, ptr %9791, i64 312
  %9820 = load i8, ptr %9819, align 8
  %9821 = and i8 %9820, 1
  %.not1417 = icmp eq i8 %9821, 0
  br i1 %.not1417, label %9844, label %9822

9822:                                             ; preds = %9817
  %9823 = load i32, ptr %1549, align 4, !tbaa !5
  %9824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9825 = call i32 @s2n_print_stacktrace(ptr noundef %9824) #12
  %9826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9827 = trunc nuw i8 %9826 to i1
  br i1 %9827, label %9828, label %9832

9828:                                             ; preds = %9822
  %9829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9830 = call i32 @fileno(ptr noundef %9829) #12
  %9831 = call i32 @isatty(i32 noundef %9830) #12
  %.not1573 = icmp eq i32 %9831, 0
  br i1 %.not1573, label %9832, label %9833

9832:                                             ; preds = %9828, %9822
  br label %9833

9833:                                             ; preds = %9828, %9832
  %.str.5.sink5121 = phi ptr [ @.str.5, %9832 ], [ @.str.2, %9828 ]
  store i32 %9823, ptr %1549, align 4, !tbaa !5
  %9834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9835 = load i32, ptr @test_count, align 4, !tbaa !5
  %9836 = load i32, ptr %1495, align 4, !tbaa !5
  %9837 = call ptr @s2n_strerror(i32 noundef %9836, ptr noundef nonnull @.str.4) #12
  %9838 = load i32, ptr %1495, align 4, !tbaa !5
  %9839 = call ptr @s2n_strerror_debug(i32 noundef %9838, ptr noundef nonnull @.str.4) #12
  %9840 = load i32, ptr %1549, align 4, !tbaa !5
  %9841 = call ptr @strerror(i32 noundef %9840) #12
  %9842 = load i32, ptr %1549, align 4, !tbaa !5
  %9843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9834, ptr noundef nonnull %.str.5.sink5121, i32 noundef %9835, ptr noundef nonnull @.str.161, ptr noundef nonnull @.str.1, i32 noundef 852, ptr noundef %9837, ptr noundef %9839, ptr noundef %9841, i32 noundef %9842) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9844:                                             ; preds = %9817
  %9845 = call ptr @X509_STORE_get0_objects(ptr noundef nonnull %9793) #12
  %9846 = load i32, ptr @test_count, align 4, !tbaa !5
  %9847 = add nsw i32 %9846, 1
  store i32 %9847, ptr @test_count, align 4, !tbaa !5
  %9848 = icmp eq ptr %9845, null
  br i1 %9848, label %9849, label %9871

9849:                                             ; preds = %9844
  %9850 = load i32, ptr %1549, align 4, !tbaa !5
  %9851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9852 = call i32 @s2n_print_stacktrace(ptr noundef %9851) #12
  %9853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9854 = trunc nuw i8 %9853 to i1
  br i1 %9854, label %9855, label %9859

9855:                                             ; preds = %9849
  %9856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9857 = call i32 @fileno(ptr noundef %9856) #12
  %9858 = call i32 @isatty(i32 noundef %9857) #12
  %.not1572 = icmp eq i32 %9858, 0
  br i1 %.not1572, label %9859, label %9860

9859:                                             ; preds = %9855, %9849
  br label %9860

9860:                                             ; preds = %9855, %9859
  %.str.5.sink5130 = phi ptr [ @.str.5, %9859 ], [ @.str.2, %9855 ]
  store i32 %9850, ptr %1549, align 4, !tbaa !5
  %9861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9862 = load i32, ptr @test_count, align 4, !tbaa !5
  %9863 = load i32, ptr %1495, align 4, !tbaa !5
  %9864 = call ptr @s2n_strerror(i32 noundef %9863, ptr noundef nonnull @.str.4) #12
  %9865 = load i32, ptr %1495, align 4, !tbaa !5
  %9866 = call ptr @s2n_strerror_debug(i32 noundef %9865, ptr noundef nonnull @.str.4) #12
  %9867 = load i32, ptr %1549, align 4, !tbaa !5
  %9868 = call ptr @strerror(i32 noundef %9867) #12
  %9869 = load i32, ptr %1549, align 4, !tbaa !5
  %9870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9861, ptr noundef nonnull %.str.5.sink5130, i32 noundef %9862, ptr noundef nonnull @.str.170, ptr noundef nonnull @.str.1, i32 noundef 856, ptr noundef %9864, ptr noundef %9866, ptr noundef %9868, i32 noundef %9869) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9871:                                             ; preds = %9844
  %9872 = call ptr @ossl_check_const_X509_OBJECT_sk_type(ptr noundef nonnull %9845)
  %9873 = call i32 @OPENSSL_sk_num(ptr noundef %9872) #12
  %9874 = load i32, ptr @test_count, align 4, !tbaa !5
  %9875 = add nsw i32 %9874, 1
  store i32 %9875, ptr @test_count, align 4, !tbaa !5
  %9876 = icmp eq i32 %9873, 1
  br i1 %9876, label %9899, label %9877

9877:                                             ; preds = %9871
  %9878 = load i32, ptr %1549, align 4, !tbaa !5
  %9879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9880 = call i32 @s2n_print_stacktrace(ptr noundef %9879) #12
  %9881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9882 = trunc nuw i8 %9881 to i1
  br i1 %9882, label %9883, label %9887

9883:                                             ; preds = %9877
  %9884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9885 = call i32 @fileno(ptr noundef %9884) #12
  %9886 = call i32 @isatty(i32 noundef %9885) #12
  %.not1418 = icmp eq i32 %9886, 0
  br i1 %.not1418, label %9887, label %9888

9887:                                             ; preds = %9883, %9877
  br label %9888

9888:                                             ; preds = %9883, %9887
  %.str.5.sink5139 = phi ptr [ @.str.5, %9887 ], [ @.str.2, %9883 ]
  store i32 %9878, ptr %1549, align 4, !tbaa !5
  %9889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9890 = load i32, ptr @test_count, align 4, !tbaa !5
  %9891 = load i32, ptr %1495, align 4, !tbaa !5
  %9892 = call ptr @s2n_strerror(i32 noundef %9891, ptr noundef nonnull @.str.4) #12
  %9893 = load i32, ptr %1495, align 4, !tbaa !5
  %9894 = call ptr @s2n_strerror_debug(i32 noundef %9893, ptr noundef nonnull @.str.4) #12
  %9895 = load i32, ptr %1549, align 4, !tbaa !5
  %9896 = call ptr @strerror(i32 noundef %9895) #12
  %9897 = load i32, ptr %1549, align 4, !tbaa !5
  %9898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9889, ptr noundef nonnull %.str.5.sink5139, i32 noundef %9890, ptr noundef nonnull @.str.171, ptr noundef nonnull @.str.1, i32 noundef 858, ptr noundef %9892, ptr noundef %9894, ptr noundef %9896, i32 noundef %9897) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9899:                                             ; preds = %9871
  %9900 = add nsw i32 %9874, 2
  store i32 %9900, ptr @test_count, align 4, !tbaa !5
  %9901 = call i32 @setenv(ptr noundef nonnull @.str.172, ptr noundef nonnull @.str.173, i32 noundef 1) #12
  %9902 = icmp eq i32 %9901, -1
  br i1 %9902, label %9903, label %9925

9903:                                             ; preds = %9899
  %9904 = load i32, ptr %1549, align 4, !tbaa !5
  %9905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9906 = call i32 @s2n_print_stacktrace(ptr noundef %9905) #12
  %9907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9908 = trunc nuw i8 %9907 to i1
  br i1 %9908, label %9909, label %9913

9909:                                             ; preds = %9903
  %9910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9911 = call i32 @fileno(ptr noundef %9910) #12
  %9912 = call i32 @isatty(i32 noundef %9911) #12
  %.not1571 = icmp eq i32 %9912, 0
  br i1 %.not1571, label %9913, label %9914

9913:                                             ; preds = %9909, %9903
  br label %9914

9914:                                             ; preds = %9909, %9913
  %.str.5.sink5148 = phi ptr [ @.str.5, %9913 ], [ @.str.2, %9909 ]
  store i32 %9904, ptr %1549, align 4, !tbaa !5
  %9915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9916 = load i32, ptr @test_count, align 4, !tbaa !5
  %9917 = load i32, ptr %1495, align 4, !tbaa !5
  %9918 = call ptr @s2n_strerror(i32 noundef %9917, ptr noundef nonnull @.str.4) #12
  %9919 = load i32, ptr %1495, align 4, !tbaa !5
  %9920 = call ptr @s2n_strerror_debug(i32 noundef %9919, ptr noundef nonnull @.str.4) #12
  %9921 = load i32, ptr %1549, align 4, !tbaa !5
  %9922 = call ptr @strerror(i32 noundef %9921) #12
  %9923 = load i32, ptr %1549, align 4, !tbaa !5
  %9924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9915, ptr noundef nonnull %.str.5.sink5148, i32 noundef %9916, ptr noundef nonnull @.str.174, ptr noundef nonnull @.str.1, i32 noundef 861, ptr noundef %9918, ptr noundef %9920, ptr noundef %9922, i32 noundef %9923) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9925:                                             ; preds = %9899
  %9926 = load i32, ptr @test_count, align 4, !tbaa !5
  %9927 = add nsw i32 %9926, 1
  store i32 %9927, ptr @test_count, align 4, !tbaa !5
  %9928 = load ptr, ptr %61, align 8, !tbaa !9
  %9929 = call i32 @s2n_config_load_system_certs(ptr noundef %9928) #12
  %9930 = icmp eq i32 %9929, -1
  br i1 %9930, label %9931, label %9953

9931:                                             ; preds = %9925
  %9932 = load i32, ptr %1549, align 4, !tbaa !5
  %9933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9934 = call i32 @s2n_print_stacktrace(ptr noundef %9933) #12
  %9935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9936 = trunc nuw i8 %9935 to i1
  br i1 %9936, label %9937, label %9941

9937:                                             ; preds = %9931
  %9938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9939 = call i32 @fileno(ptr noundef %9938) #12
  %9940 = call i32 @isatty(i32 noundef %9939) #12
  %.not1570 = icmp eq i32 %9940, 0
  br i1 %.not1570, label %9941, label %9942

9941:                                             ; preds = %9937, %9931
  br label %9942

9942:                                             ; preds = %9937, %9941
  %.str.5.sink5157 = phi ptr [ @.str.5, %9941 ], [ @.str.2, %9937 ]
  store i32 %9932, ptr %1549, align 4, !tbaa !5
  %9943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9944 = load i32, ptr @test_count, align 4, !tbaa !5
  %9945 = load i32, ptr %1495, align 4, !tbaa !5
  %9946 = call ptr @s2n_strerror(i32 noundef %9945, ptr noundef nonnull @.str.4) #12
  %9947 = load i32, ptr %1495, align 4, !tbaa !5
  %9948 = call ptr @s2n_strerror_debug(i32 noundef %9947, ptr noundef nonnull @.str.4) #12
  %9949 = load i32, ptr %1549, align 4, !tbaa !5
  %9950 = call ptr @strerror(i32 noundef %9949) #12
  %9951 = load i32, ptr %1549, align 4, !tbaa !5
  %9952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9943, ptr noundef nonnull %.str.5.sink5157, i32 noundef %9944, ptr noundef nonnull @.str.162, ptr noundef nonnull @.str.1, i32 noundef 864, ptr noundef %9946, ptr noundef %9948, ptr noundef %9950, i32 noundef %9951) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9953:                                             ; preds = %9925
  %9954 = load i32, ptr @test_count, align 4, !tbaa !5
  %9955 = add nsw i32 %9954, 1
  store i32 %9955, ptr @test_count, align 4, !tbaa !5
  %9956 = load ptr, ptr %61, align 8, !tbaa !9
  %9957 = getelementptr inbounds i8, ptr %9956, i64 312
  %9958 = load i8, ptr %9957, align 8
  %9959 = and i8 %9958, 1
  %.not1419 = icmp eq i8 %9959, 0
  br i1 %.not1419, label %9960, label %9982

9960:                                             ; preds = %9953
  %9961 = load i32, ptr %1549, align 4, !tbaa !5
  %9962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9963 = call i32 @s2n_print_stacktrace(ptr noundef %9962) #12
  %9964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9965 = trunc nuw i8 %9964 to i1
  br i1 %9965, label %9966, label %9970

9966:                                             ; preds = %9960
  %9967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9968 = call i32 @fileno(ptr noundef %9967) #12
  %9969 = call i32 @isatty(i32 noundef %9968) #12
  %.not1420 = icmp eq i32 %9969, 0
  br i1 %.not1420, label %9970, label %9971

9970:                                             ; preds = %9966, %9960
  br label %9971

9971:                                             ; preds = %9966, %9970
  %.str.5.sink5166 = phi ptr [ @.str.5, %9970 ], [ @.str.2, %9966 ]
  store i32 %9961, ptr %1549, align 4, !tbaa !5
  %9972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9973 = load i32, ptr @test_count, align 4, !tbaa !5
  %9974 = load i32, ptr %1495, align 4, !tbaa !5
  %9975 = call ptr @s2n_strerror(i32 noundef %9974, ptr noundef nonnull @.str.4) #12
  %9976 = load i32, ptr %1495, align 4, !tbaa !5
  %9977 = call ptr @s2n_strerror_debug(i32 noundef %9976, ptr noundef nonnull @.str.4) #12
  %9978 = load i32, ptr %1549, align 4, !tbaa !5
  %9979 = call ptr @strerror(i32 noundef %9978) #12
  %9980 = load i32, ptr %1549, align 4, !tbaa !5
  %9981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9972, ptr noundef nonnull %.str.5.sink5166, i32 noundef %9973, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 865, ptr noundef %9975, ptr noundef %9977, ptr noundef %9979, i32 noundef %9980) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9982:                                             ; preds = %9953
  %9983 = call ptr @ossl_check_const_X509_OBJECT_sk_type(ptr noundef nonnull %9845)
  %9984 = call i32 @OPENSSL_sk_num(ptr noundef %9983) #12
  %9985 = call zeroext i1 @s2n_libcrypto_is_libressl() #12
  %.pre.pre = load i32, ptr @test_count, align 4, !tbaa !5
  br i1 %9985, label %.preheader6409, label %9986

.preheader6409:                                   ; preds = %9986, %9982
  %.ph = phi i32 [ %.pre.pre, %9982 ], [ %9987, %9986 ]
  br label %10017

9986:                                             ; preds = %9982
  %9987 = add nsw i32 %.pre.pre, 1
  store i32 %9987, ptr @test_count, align 4, !tbaa !5
  %9988 = icmp eq i32 %9984, 2
  br i1 %9988, label %.preheader6409, label %9989

9989:                                             ; preds = %9986
  %9990 = load i32, ptr %1549, align 4, !tbaa !5
  %9991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9992 = call i32 @s2n_print_stacktrace(ptr noundef %9991) #12
  %9993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9994 = trunc nuw i8 %9993 to i1
  br i1 %9994, label %9995, label %9999

9995:                                             ; preds = %9989
  %9996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9997 = call i32 @fileno(ptr noundef %9996) #12
  %9998 = call i32 @isatty(i32 noundef %9997) #12
  %.not1421 = icmp eq i32 %9998, 0
  br i1 %.not1421, label %9999, label %10000

9999:                                             ; preds = %9995, %9989
  br label %10000

10000:                                            ; preds = %9995, %9999
  %.str.5.sink5175 = phi ptr [ @.str.5, %9999 ], [ @.str.2, %9995 ]
  store i32 %9990, ptr %1549, align 4, !tbaa !5
  %10001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10002 = load i32, ptr @test_count, align 4, !tbaa !5
  %10003 = load i32, ptr %1495, align 4, !tbaa !5
  %10004 = call ptr @s2n_strerror(i32 noundef %10003, ptr noundef nonnull @.str.4) #12
  %10005 = load i32, ptr %1495, align 4, !tbaa !5
  %10006 = call ptr @s2n_strerror_debug(i32 noundef %10005, ptr noundef nonnull @.str.4) #12
  %10007 = load i32, ptr %1549, align 4, !tbaa !5
  %10008 = call ptr @strerror(i32 noundef %10007) #12
  %10009 = load i32, ptr %1549, align 4, !tbaa !5
  %10010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10001, ptr noundef nonnull %.str.5.sink5175, i32 noundef %10002, ptr noundef nonnull @.str.175, ptr noundef nonnull @.str.1, i32 noundef 872, ptr noundef %10004, ptr noundef %10006, ptr noundef %10008, i32 noundef %10009) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10011:                                            ; preds = %10127
  %10012 = add nuw nsw i32 %.012211831, 1
  %exitcond1864.not = icmp eq i32 %10012, 20
  br i1 %exitcond1864.not, label %10013, label %10017, !llvm.loop !76

10013:                                            ; preds = %10011
  %10014 = add nsw i32 %10130, 2
  store i32 %10014, ptr @test_count, align 4, !tbaa !5
  %10015 = call i32 @unsetenv(ptr noundef nonnull @.str.172) #12
  %10016 = icmp eq i32 %10015, -1
  br i1 %10016, label %10155, label %10177

10017:                                            ; preds = %.preheader6409, %10011
  %10018 = phi i32 [ %10131, %10011 ], [ %.ph, %.preheader6409 ]
  %.012211831 = phi i32 [ %10012, %10011 ], [ 0, %.preheader6409 ]
  %10019 = add nsw i32 %10018, 1
  store i32 %10019, ptr @test_count, align 4, !tbaa !5
  %10020 = load ptr, ptr %61, align 8, !tbaa !9
  %10021 = call i32 @s2n_config_load_system_certs(ptr noundef %10020) #12
  %10022 = icmp eq i32 %10021, -1
  br i1 %10022, label %10045, label %10023

10023:                                            ; preds = %10017
  %10024 = load i32, ptr %1549, align 4, !tbaa !5
  %10025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10026 = call i32 @s2n_print_stacktrace(ptr noundef %10025) #12
  %10027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10028 = trunc nuw i8 %10027 to i1
  br i1 %10028, label %10029, label %10033

10029:                                            ; preds = %10023
  %10030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10031 = call i32 @fileno(ptr noundef %10030) #12
  %10032 = call i32 @isatty(i32 noundef %10031) #12
  %.not1564 = icmp eq i32 %10032, 0
  br i1 %.not1564, label %10033, label %10034

10033:                                            ; preds = %10029, %10023
  br label %10034

10034:                                            ; preds = %10029, %10033
  %.str.5.sink5184 = phi ptr [ @.str.5, %10033 ], [ @.str.2, %10029 ]
  store i32 %10024, ptr %1549, align 4, !tbaa !5
  %10035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10036 = load i32, ptr @test_count, align 4, !tbaa !5
  %10037 = load i32, ptr %1495, align 4, !tbaa !5
  %10038 = call ptr @s2n_strerror(i32 noundef %10037, ptr noundef nonnull @.str.4) #12
  %10039 = load i32, ptr %1495, align 4, !tbaa !5
  %10040 = call ptr @s2n_strerror_debug(i32 noundef %10039, ptr noundef nonnull @.str.4) #12
  %10041 = load i32, ptr %1549, align 4, !tbaa !5
  %10042 = call ptr @strerror(i32 noundef %10041) #12
  %10043 = load i32, ptr %1549, align 4, !tbaa !5
  %10044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10035, ptr noundef nonnull %.str.5.sink5184, i32 noundef %10036, ptr noundef nonnull @.str.165, ptr noundef nonnull @.str.1, i32 noundef 877, ptr noundef %10038, ptr noundef %10040, ptr noundef %10042, i32 noundef %10043) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10045:                                            ; preds = %10017
  %10046 = load i32, ptr @test_count, align 4, !tbaa !5
  %10047 = add nsw i32 %10046, 1
  store i32 %10047, ptr @test_count, align 4, !tbaa !5
  %10048 = load i32, ptr %1495, align 4, !tbaa !5
  %10049 = icmp eq i32 %10048, 402653238
  br i1 %10049, label %10072, label %10050

10050:                                            ; preds = %10045
  %10051 = load i32, ptr %1549, align 4, !tbaa !5
  %10052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10053 = call i32 @s2n_print_stacktrace(ptr noundef %10052) #12
  %10054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10055 = trunc nuw i8 %10054 to i1
  br i1 %10055, label %10056, label %10060

10056:                                            ; preds = %10050
  %10057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10058 = call i32 @fileno(ptr noundef %10057) #12
  %10059 = call i32 @isatty(i32 noundef %10058) #12
  %.not1565 = icmp eq i32 %10059, 0
  br i1 %.not1565, label %10060, label %10061

10060:                                            ; preds = %10056, %10050
  br label %10061

10061:                                            ; preds = %10056, %10060
  %.str.5.sink5193 = phi ptr [ @.str.5, %10060 ], [ @.str.2, %10056 ]
  store i32 %10051, ptr %1549, align 4, !tbaa !5
  %10062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10063 = load i32, ptr @test_count, align 4, !tbaa !5
  %10064 = load i32, ptr %1495, align 4, !tbaa !5
  %10065 = call ptr @s2n_strerror(i32 noundef %10064, ptr noundef nonnull @.str.4) #12
  %10066 = load i32, ptr %1495, align 4, !tbaa !5
  %10067 = call ptr @s2n_strerror_debug(i32 noundef %10066, ptr noundef nonnull @.str.4) #12
  %10068 = load i32, ptr %1549, align 4, !tbaa !5
  %10069 = call ptr @strerror(i32 noundef %10068) #12
  %10070 = load i32, ptr %1549, align 4, !tbaa !5
  %10071 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10062, ptr noundef nonnull %.str.5.sink5193, i32 noundef %10063, ptr noundef nonnull @.str.166, ptr noundef nonnull @.str.1, i32 noundef 877, ptr noundef %10065, ptr noundef %10067, ptr noundef %10069, i32 noundef %10070) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10072:                                            ; preds = %10045
  %10073 = add nsw i32 %10046, 2
  store i32 %10073, ptr @test_count, align 4, !tbaa !5
  %10074 = call ptr @s2n_strerror_debug(i32 noundef 402653238, ptr noundef nonnull @.str.4) #12
  %10075 = icmp eq ptr %10074, null
  br i1 %10075, label %10076, label %10098

10076:                                            ; preds = %10072
  %10077 = load i32, ptr %1549, align 4, !tbaa !5
  %10078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10079 = call i32 @s2n_print_stacktrace(ptr noundef %10078) #12
  %10080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10081 = trunc nuw i8 %10080 to i1
  br i1 %10081, label %10082, label %10086

10082:                                            ; preds = %10076
  %10083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10084 = call i32 @fileno(ptr noundef %10083) #12
  %10085 = call i32 @isatty(i32 noundef %10084) #12
  %.not1569 = icmp eq i32 %10085, 0
  br i1 %.not1569, label %10086, label %10087

10086:                                            ; preds = %10082, %10076
  br label %10087

10087:                                            ; preds = %10082, %10086
  %.str.5.sink5202 = phi ptr [ @.str.5, %10086 ], [ @.str.2, %10082 ]
  store i32 %10077, ptr %1549, align 4, !tbaa !5
  %10088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10089 = load i32, ptr @test_count, align 4, !tbaa !5
  %10090 = load i32, ptr %1495, align 4, !tbaa !5
  %10091 = call ptr @s2n_strerror(i32 noundef %10090, ptr noundef nonnull @.str.4) #12
  %10092 = load i32, ptr %1495, align 4, !tbaa !5
  %10093 = call ptr @s2n_strerror_debug(i32 noundef %10092, ptr noundef nonnull @.str.4) #12
  %10094 = load i32, ptr %1549, align 4, !tbaa !5
  %10095 = call ptr @strerror(i32 noundef %10094) #12
  %10096 = load i32, ptr %1549, align 4, !tbaa !5
  %10097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10088, ptr noundef nonnull %.str.5.sink5202, i32 noundef %10089, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 877, ptr noundef %10091, ptr noundef %10093, ptr noundef %10095, i32 noundef %10096) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10098:                                            ; preds = %10072
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %10099 = load i32, ptr @test_count, align 4, !tbaa !5
  %10100 = add nsw i32 %10099, 1
  store i32 %10100, ptr @test_count, align 4, !tbaa !5
  %10101 = load ptr, ptr %61, align 8, !tbaa !9
  %10102 = getelementptr inbounds i8, ptr %10101, i64 312
  %10103 = load i8, ptr %10102, align 8
  %10104 = and i8 %10103, 1
  %.not1566 = icmp eq i8 %10104, 0
  br i1 %.not1566, label %10105, label %10127

10105:                                            ; preds = %10098
  %10106 = load i32, ptr %1549, align 4, !tbaa !5
  %10107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10108 = call i32 @s2n_print_stacktrace(ptr noundef %10107) #12
  %10109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10110 = trunc nuw i8 %10109 to i1
  br i1 %10110, label %10111, label %10115

10111:                                            ; preds = %10105
  %10112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10113 = call i32 @fileno(ptr noundef %10112) #12
  %10114 = call i32 @isatty(i32 noundef %10113) #12
  %.not1567 = icmp eq i32 %10114, 0
  br i1 %.not1567, label %10115, label %10116

10115:                                            ; preds = %10111, %10105
  br label %10116

10116:                                            ; preds = %10111, %10115
  %.str.5.sink5211 = phi ptr [ @.str.5, %10115 ], [ @.str.2, %10111 ]
  store i32 %10106, ptr %1549, align 4, !tbaa !5
  %10117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10118 = load i32, ptr @test_count, align 4, !tbaa !5
  %10119 = load i32, ptr %1495, align 4, !tbaa !5
  %10120 = call ptr @s2n_strerror(i32 noundef %10119, ptr noundef nonnull @.str.4) #12
  %10121 = load i32, ptr %1495, align 4, !tbaa !5
  %10122 = call ptr @s2n_strerror_debug(i32 noundef %10121, ptr noundef nonnull @.str.4) #12
  %10123 = load i32, ptr %1549, align 4, !tbaa !5
  %10124 = call ptr @strerror(i32 noundef %10123) #12
  %10125 = load i32, ptr %1549, align 4, !tbaa !5
  %10126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10117, ptr noundef nonnull %.str.5.sink5211, i32 noundef %10118, ptr noundef nonnull @.str.164, ptr noundef nonnull @.str.1, i32 noundef 878, ptr noundef %10120, ptr noundef %10122, ptr noundef %10124, i32 noundef %10125) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10127:                                            ; preds = %10098
  %10128 = call ptr @ossl_check_const_X509_OBJECT_sk_type(ptr noundef nonnull %9845)
  %10129 = call i32 @OPENSSL_sk_num(ptr noundef %10128) #12
  %10130 = load i32, ptr @test_count, align 4, !tbaa !5
  %10131 = add nsw i32 %10130, 1
  store i32 %10131, ptr @test_count, align 4, !tbaa !5
  %10132 = icmp eq i32 %10129, %9984
  br i1 %10132, label %10011, label %10133

10133:                                            ; preds = %10127
  %10134 = load i32, ptr %1549, align 4, !tbaa !5
  %10135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10136 = call i32 @s2n_print_stacktrace(ptr noundef %10135) #12
  %10137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10138 = trunc nuw i8 %10137 to i1
  br i1 %10138, label %10139, label %10143

10139:                                            ; preds = %10133
  %10140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10141 = call i32 @fileno(ptr noundef %10140) #12
  %10142 = call i32 @isatty(i32 noundef %10141) #12
  %.not1568 = icmp eq i32 %10142, 0
  br i1 %.not1568, label %10143, label %10144

10143:                                            ; preds = %10139, %10133
  br label %10144

10144:                                            ; preds = %10139, %10143
  %.str.5.sink5220 = phi ptr [ @.str.5, %10143 ], [ @.str.2, %10139 ]
  store i32 %10134, ptr %1549, align 4, !tbaa !5
  %10145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10146 = load i32, ptr @test_count, align 4, !tbaa !5
  %10147 = load i32, ptr %1495, align 4, !tbaa !5
  %10148 = call ptr @s2n_strerror(i32 noundef %10147, ptr noundef nonnull @.str.4) #12
  %10149 = load i32, ptr %1495, align 4, !tbaa !5
  %10150 = call ptr @s2n_strerror_debug(i32 noundef %10149, ptr noundef nonnull @.str.4) #12
  %10151 = load i32, ptr %1549, align 4, !tbaa !5
  %10152 = call ptr @strerror(i32 noundef %10151) #12
  %10153 = load i32, ptr %1549, align 4, !tbaa !5
  %10154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10145, ptr noundef nonnull %.str.5.sink5220, i32 noundef %10146, ptr noundef nonnull @.str.176, ptr noundef nonnull @.str.1, i32 noundef 880, ptr noundef %10148, ptr noundef %10150, ptr noundef %10152, i32 noundef %10153) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10155:                                            ; preds = %10013
  %10156 = load i32, ptr %1549, align 4, !tbaa !5
  %10157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10158 = call i32 @s2n_print_stacktrace(ptr noundef %10157) #12
  %10159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10160 = trunc nuw i8 %10159 to i1
  br i1 %10160, label %10161, label %10165

10161:                                            ; preds = %10155
  %10162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10163 = call i32 @fileno(ptr noundef %10162) #12
  %10164 = call i32 @isatty(i32 noundef %10163) #12
  %.not1563 = icmp eq i32 %10164, 0
  br i1 %.not1563, label %10165, label %10166

10165:                                            ; preds = %10161, %10155
  br label %10166

10166:                                            ; preds = %10161, %10165
  %.str.5.sink5229 = phi ptr [ @.str.5, %10165 ], [ @.str.2, %10161 ]
  store i32 %10156, ptr %1549, align 4, !tbaa !5
  %10167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10168 = load i32, ptr @test_count, align 4, !tbaa !5
  %10169 = load i32, ptr %1495, align 4, !tbaa !5
  %10170 = call ptr @s2n_strerror(i32 noundef %10169, ptr noundef nonnull @.str.4) #12
  %10171 = load i32, ptr %1495, align 4, !tbaa !5
  %10172 = call ptr @s2n_strerror_debug(i32 noundef %10171, ptr noundef nonnull @.str.4) #12
  %10173 = load i32, ptr %1549, align 4, !tbaa !5
  %10174 = call ptr @strerror(i32 noundef %10173) #12
  %10175 = load i32, ptr %1549, align 4, !tbaa !5
  %10176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10167, ptr noundef nonnull %.str.5.sink5229, i32 noundef %10168, ptr noundef nonnull @.str.177, ptr noundef nonnull @.str.1, i32 noundef 883, ptr noundef %10170, ptr noundef %10172, ptr noundef %10174, i32 noundef %10175) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10177:                                            ; preds = %10013
  %10178 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %61) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #12
  store ptr null, ptr %62, align 8, !tbaa !9
  %10179 = load i32, ptr @test_count, align 4, !tbaa !5
  %10180 = add nsw i32 %10179, 1
  store i32 %10180, ptr @test_count, align 4, !tbaa !5
  %10181 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %62, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.17) #12
  %10182 = icmp eq i32 %10181, -1
  br i1 %10182, label %10183, label %10205

10183:                                            ; preds = %10177
  %10184 = load i32, ptr %1549, align 4, !tbaa !5
  %10185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10186 = call i32 @s2n_print_stacktrace(ptr noundef %10185) #12
  %10187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10188 = trunc nuw i8 %10187 to i1
  br i1 %10188, label %10189, label %10193

10189:                                            ; preds = %10183
  %10190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10191 = call i32 @fileno(ptr noundef %10190) #12
  %10192 = call i32 @isatty(i32 noundef %10191) #12
  %.not1562 = icmp eq i32 %10192, 0
  br i1 %.not1562, label %10193, label %10194

10193:                                            ; preds = %10189, %10183
  br label %10194

10194:                                            ; preds = %10189, %10193
  %.str.5.sink5238 = phi ptr [ @.str.5, %10193 ], [ @.str.2, %10189 ]
  store i32 %10184, ptr %1549, align 4, !tbaa !5
  %10195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10196 = load i32, ptr @test_count, align 4, !tbaa !5
  %10197 = load i32, ptr %1495, align 4, !tbaa !5
  %10198 = call ptr @s2n_strerror(i32 noundef %10197, ptr noundef nonnull @.str.4) #12
  %10199 = load i32, ptr %1495, align 4, !tbaa !5
  %10200 = call ptr @s2n_strerror_debug(i32 noundef %10199, ptr noundef nonnull @.str.4) #12
  %10201 = load i32, ptr %1549, align 4, !tbaa !5
  %10202 = call ptr @strerror(i32 noundef %10201) #12
  %10203 = load i32, ptr %1549, align 4, !tbaa !5
  %10204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10195, ptr noundef nonnull %.str.5.sink5238, i32 noundef %10196, ptr noundef nonnull @.str.178, ptr noundef nonnull @.str.1, i32 noundef 892, ptr noundef %10198, ptr noundef %10200, ptr noundef %10202, i32 noundef %10203) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10205:                                            ; preds = %10177
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %63) #12
  %10206 = call ptr @s2n_config_new_minimal() #12
  store ptr %10206, ptr %63, align 8, !tbaa !9
  %10207 = load i32, ptr @test_count, align 4, !tbaa !5
  %10208 = add nsw i32 %10207, 1
  store i32 %10208, ptr @test_count, align 4, !tbaa !5
  %10209 = icmp eq ptr %10206, null
  br i1 %10209, label %10210, label %10232

10210:                                            ; preds = %10205
  %10211 = load i32, ptr %1549, align 4, !tbaa !5
  %10212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10213 = call i32 @s2n_print_stacktrace(ptr noundef %10212) #12
  %10214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10215 = trunc nuw i8 %10214 to i1
  br i1 %10215, label %10216, label %10220

10216:                                            ; preds = %10210
  %10217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10218 = call i32 @fileno(ptr noundef %10217) #12
  %10219 = call i32 @isatty(i32 noundef %10218) #12
  %.not1561 = icmp eq i32 %10219, 0
  br i1 %.not1561, label %10220, label %10221

10220:                                            ; preds = %10216, %10210
  br label %10221

10221:                                            ; preds = %10216, %10220
  %.str.5.sink5247 = phi ptr [ @.str.5, %10220 ], [ @.str.2, %10216 ]
  store i32 %10211, ptr %1549, align 4, !tbaa !5
  %10222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10223 = load i32, ptr @test_count, align 4, !tbaa !5
  %10224 = load i32, ptr %1495, align 4, !tbaa !5
  %10225 = call ptr @s2n_strerror(i32 noundef %10224, ptr noundef nonnull @.str.4) #12
  %10226 = load i32, ptr %1495, align 4, !tbaa !5
  %10227 = call ptr @s2n_strerror_debug(i32 noundef %10226, ptr noundef nonnull @.str.4) #12
  %10228 = load i32, ptr %1549, align 4, !tbaa !5
  %10229 = call ptr @strerror(i32 noundef %10228) #12
  %10230 = load i32, ptr %1549, align 4, !tbaa !5
  %10231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10222, ptr noundef nonnull %.str.5.sink5247, i32 noundef %10223, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.1, i32 noundef 897, ptr noundef %10225, ptr noundef %10227, ptr noundef %10229, i32 noundef %10230) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10232:                                            ; preds = %10205
  %10233 = add nsw i32 %10207, 2
  store i32 %10233, ptr @test_count, align 4, !tbaa !5
  %10234 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %10206, ptr noundef nonnull @.str.13) #12
  %10235 = icmp eq i32 %10234, -1
  br i1 %10235, label %10236, label %10258

10236:                                            ; preds = %10232
  %10237 = load i32, ptr %1549, align 4, !tbaa !5
  %10238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10239 = call i32 @s2n_print_stacktrace(ptr noundef %10238) #12
  %10240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10241 = trunc nuw i8 %10240 to i1
  br i1 %10241, label %10242, label %10246

10242:                                            ; preds = %10236
  %10243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10244 = call i32 @fileno(ptr noundef %10243) #12
  %10245 = call i32 @isatty(i32 noundef %10244) #12
  %.not1560 = icmp eq i32 %10245, 0
  br i1 %.not1560, label %10246, label %10247

10246:                                            ; preds = %10242, %10236
  br label %10247

10247:                                            ; preds = %10242, %10246
  %.str.5.sink5256 = phi ptr [ @.str.5, %10246 ], [ @.str.2, %10242 ]
  store i32 %10237, ptr %1549, align 4, !tbaa !5
  %10248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10249 = load i32, ptr @test_count, align 4, !tbaa !5
  %10250 = load i32, ptr %1495, align 4, !tbaa !5
  %10251 = call ptr @s2n_strerror(i32 noundef %10250, ptr noundef nonnull @.str.4) #12
  %10252 = load i32, ptr %1495, align 4, !tbaa !5
  %10253 = call ptr @s2n_strerror_debug(i32 noundef %10252, ptr noundef nonnull @.str.4) #12
  %10254 = load i32, ptr %1549, align 4, !tbaa !5
  %10255 = call ptr @strerror(i32 noundef %10254) #12
  %10256 = load i32, ptr %1549, align 4, !tbaa !5
  %10257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10248, ptr noundef nonnull %.str.5.sink5256, i32 noundef %10249, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.1, i32 noundef 898, ptr noundef %10251, ptr noundef %10253, ptr noundef %10255, i32 noundef %10256) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10258:                                            ; preds = %10232
  %10259 = load i32, ptr @test_count, align 4, !tbaa !5
  %10260 = add nsw i32 %10259, 1
  store i32 %10260, ptr @test_count, align 4, !tbaa !5
  %10261 = load ptr, ptr %63, align 8, !tbaa !9
  %10262 = load ptr, ptr %62, align 8, !tbaa !9
  %10263 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %10261, ptr noundef %10262) #12
  %10264 = icmp eq i32 %10263, -1
  br i1 %10264, label %10265, label %10287

10265:                                            ; preds = %10258
  %10266 = load i32, ptr %1549, align 4, !tbaa !5
  %10267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10268 = call i32 @s2n_print_stacktrace(ptr noundef %10267) #12
  %10269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10270 = trunc nuw i8 %10269 to i1
  br i1 %10270, label %10271, label %10275

10271:                                            ; preds = %10265
  %10272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10273 = call i32 @fileno(ptr noundef %10272) #12
  %10274 = call i32 @isatty(i32 noundef %10273) #12
  %.not1559 = icmp eq i32 %10274, 0
  br i1 %.not1559, label %10275, label %10276

10275:                                            ; preds = %10271, %10265
  br label %10276

10276:                                            ; preds = %10271, %10275
  %.str.5.sink5265 = phi ptr [ @.str.5, %10275 ], [ @.str.2, %10271 ]
  store i32 %10266, ptr %1549, align 4, !tbaa !5
  %10277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10278 = load i32, ptr @test_count, align 4, !tbaa !5
  %10279 = load i32, ptr %1495, align 4, !tbaa !5
  %10280 = call ptr @s2n_strerror(i32 noundef %10279, ptr noundef nonnull @.str.4) #12
  %10281 = load i32, ptr %1495, align 4, !tbaa !5
  %10282 = call ptr @s2n_strerror_debug(i32 noundef %10281, ptr noundef nonnull @.str.4) #12
  %10283 = load i32, ptr %1549, align 4, !tbaa !5
  %10284 = call ptr @strerror(i32 noundef %10283) #12
  %10285 = load i32, ptr %1549, align 4, !tbaa !5
  %10286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10277, ptr noundef nonnull %.str.5.sink5265, i32 noundef %10278, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.1, i32 noundef 899, ptr noundef %10280, ptr noundef %10282, ptr noundef %10284, i32 noundef %10285) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10287:                                            ; preds = %10258
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %64) #12
  %10288 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %10288, ptr %64, align 8, !tbaa !9
  %10289 = load i32, ptr @test_count, align 4, !tbaa !5
  %10290 = add nsw i32 %10289, 1
  store i32 %10290, ptr @test_count, align 4, !tbaa !5
  %10291 = icmp eq ptr %10288, null
  br i1 %10291, label %10292, label %10314

10292:                                            ; preds = %10287
  %10293 = load i32, ptr %1549, align 4, !tbaa !5
  %10294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10295 = call i32 @s2n_print_stacktrace(ptr noundef %10294) #12
  %10296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10297 = trunc nuw i8 %10296 to i1
  br i1 %10297, label %10298, label %10302

10298:                                            ; preds = %10292
  %10299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10300 = call i32 @fileno(ptr noundef %10299) #12
  %10301 = call i32 @isatty(i32 noundef %10300) #12
  %.not1558 = icmp eq i32 %10301, 0
  br i1 %.not1558, label %10302, label %10303

10302:                                            ; preds = %10298, %10292
  br label %10303

10303:                                            ; preds = %10298, %10302
  %.str.5.sink5274 = phi ptr [ @.str.5, %10302 ], [ @.str.2, %10298 ]
  store i32 %10293, ptr %1549, align 4, !tbaa !5
  %10304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10305 = load i32, ptr @test_count, align 4, !tbaa !5
  %10306 = load i32, ptr %1495, align 4, !tbaa !5
  %10307 = call ptr @s2n_strerror(i32 noundef %10306, ptr noundef nonnull @.str.4) #12
  %10308 = load i32, ptr %1495, align 4, !tbaa !5
  %10309 = call ptr @s2n_strerror_debug(i32 noundef %10308, ptr noundef nonnull @.str.4) #12
  %10310 = load i32, ptr %1549, align 4, !tbaa !5
  %10311 = call ptr @strerror(i32 noundef %10310) #12
  %10312 = load i32, ptr %1549, align 4, !tbaa !5
  %10313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10304, ptr noundef nonnull %.str.5.sink5274, i32 noundef %10305, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.1, i32 noundef 903, ptr noundef %10307, ptr noundef %10309, ptr noundef %10311, i32 noundef %10312) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10314:                                            ; preds = %10287
  %10315 = add nsw i32 %10289, 2
  store i32 %10315, ptr @test_count, align 4, !tbaa !5
  %10316 = load ptr, ptr %63, align 8, !tbaa !9
  %10317 = call i32 @s2n_connection_set_config(ptr noundef nonnull %10288, ptr noundef %10316) #12
  %10318 = icmp eq i32 %10317, -1
  br i1 %10318, label %10319, label %10341

10319:                                            ; preds = %10314
  %10320 = load i32, ptr %1549, align 4, !tbaa !5
  %10321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10322 = call i32 @s2n_print_stacktrace(ptr noundef %10321) #12
  %10323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10324 = trunc nuw i8 %10323 to i1
  br i1 %10324, label %10325, label %10329

10325:                                            ; preds = %10319
  %10326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10327 = call i32 @fileno(ptr noundef %10326) #12
  %10328 = call i32 @isatty(i32 noundef %10327) #12
  %.not1557 = icmp eq i32 %10328, 0
  br i1 %.not1557, label %10329, label %10330

10329:                                            ; preds = %10325, %10319
  br label %10330

10330:                                            ; preds = %10325, %10329
  %.str.5.sink5283 = phi ptr [ @.str.5, %10329 ], [ @.str.2, %10325 ]
  store i32 %10320, ptr %1549, align 4, !tbaa !5
  %10331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10332 = load i32, ptr @test_count, align 4, !tbaa !5
  %10333 = load i32, ptr %1495, align 4, !tbaa !5
  %10334 = call ptr @s2n_strerror(i32 noundef %10333, ptr noundef nonnull @.str.4) #12
  %10335 = load i32, ptr %1495, align 4, !tbaa !5
  %10336 = call ptr @s2n_strerror_debug(i32 noundef %10335, ptr noundef nonnull @.str.4) #12
  %10337 = load i32, ptr %1549, align 4, !tbaa !5
  %10338 = call ptr @strerror(i32 noundef %10337) #12
  %10339 = load i32, ptr %1549, align 4, !tbaa !5
  %10340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10331, ptr noundef nonnull %.str.5.sink5283, i32 noundef %10332, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.1, i32 noundef 904, ptr noundef %10334, ptr noundef %10336, ptr noundef %10338, i32 noundef %10339) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10341:                                            ; preds = %10314
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #12
  %10342 = call ptr @s2n_config_new_minimal() #12
  store ptr %10342, ptr %65, align 8, !tbaa !9
  %10343 = load i32, ptr @test_count, align 4, !tbaa !5
  %10344 = add nsw i32 %10343, 1
  store i32 %10344, ptr @test_count, align 4, !tbaa !5
  %10345 = icmp eq ptr %10342, null
  br i1 %10345, label %10346, label %10368

10346:                                            ; preds = %10341
  %10347 = load i32, ptr %1549, align 4, !tbaa !5
  %10348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10349 = call i32 @s2n_print_stacktrace(ptr noundef %10348) #12
  %10350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10351 = trunc nuw i8 %10350 to i1
  br i1 %10351, label %10352, label %10356

10352:                                            ; preds = %10346
  %10353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10354 = call i32 @fileno(ptr noundef %10353) #12
  %10355 = call i32 @isatty(i32 noundef %10354) #12
  %.not1556 = icmp eq i32 %10355, 0
  br i1 %.not1556, label %10356, label %10357

10356:                                            ; preds = %10352, %10346
  br label %10357

10357:                                            ; preds = %10352, %10356
  %.str.5.sink5292 = phi ptr [ @.str.5, %10356 ], [ @.str.2, %10352 ]
  store i32 %10347, ptr %1549, align 4, !tbaa !5
  %10358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10359 = load i32, ptr @test_count, align 4, !tbaa !5
  %10360 = load i32, ptr %1495, align 4, !tbaa !5
  %10361 = call ptr @s2n_strerror(i32 noundef %10360, ptr noundef nonnull @.str.4) #12
  %10362 = load i32, ptr %1495, align 4, !tbaa !5
  %10363 = call ptr @s2n_strerror_debug(i32 noundef %10362, ptr noundef nonnull @.str.4) #12
  %10364 = load i32, ptr %1549, align 4, !tbaa !5
  %10365 = call ptr @strerror(i32 noundef %10364) #12
  %10366 = load i32, ptr %1549, align 4, !tbaa !5
  %10367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10358, ptr noundef nonnull %.str.5.sink5292, i32 noundef %10359, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.1, i32 noundef 907, ptr noundef %10361, ptr noundef %10363, ptr noundef %10365, i32 noundef %10366) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10368:                                            ; preds = %10341
  %10369 = add nsw i32 %10343, 2
  store i32 %10369, ptr @test_count, align 4, !tbaa !5
  %10370 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %10342, ptr noundef nonnull @.str.13) #12
  %10371 = icmp eq i32 %10370, -1
  br i1 %10371, label %10372, label %10394

10372:                                            ; preds = %10368
  %10373 = load i32, ptr %1549, align 4, !tbaa !5
  %10374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10375 = call i32 @s2n_print_stacktrace(ptr noundef %10374) #12
  %10376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10377 = trunc nuw i8 %10376 to i1
  br i1 %10377, label %10378, label %10382

10378:                                            ; preds = %10372
  %10379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10380 = call i32 @fileno(ptr noundef %10379) #12
  %10381 = call i32 @isatty(i32 noundef %10380) #12
  %.not1555 = icmp eq i32 %10381, 0
  br i1 %.not1555, label %10382, label %10383

10382:                                            ; preds = %10378, %10372
  br label %10383

10383:                                            ; preds = %10378, %10382
  %.str.5.sink5301 = phi ptr [ @.str.5, %10382 ], [ @.str.2, %10378 ]
  store i32 %10373, ptr %1549, align 4, !tbaa !5
  %10384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10385 = load i32, ptr @test_count, align 4, !tbaa !5
  %10386 = load i32, ptr %1495, align 4, !tbaa !5
  %10387 = call ptr @s2n_strerror(i32 noundef %10386, ptr noundef nonnull @.str.4) #12
  %10388 = load i32, ptr %1495, align 4, !tbaa !5
  %10389 = call ptr @s2n_strerror_debug(i32 noundef %10388, ptr noundef nonnull @.str.4) #12
  %10390 = load i32, ptr %1549, align 4, !tbaa !5
  %10391 = call ptr @strerror(i32 noundef %10390) #12
  %10392 = load i32, ptr %1549, align 4, !tbaa !5
  %10393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10384, ptr noundef nonnull %.str.5.sink5301, i32 noundef %10385, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.1, i32 noundef 908, ptr noundef %10387, ptr noundef %10389, ptr noundef %10391, i32 noundef %10392) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10394:                                            ; preds = %10368
  %10395 = load i32, ptr @test_count, align 4, !tbaa !5
  %10396 = add nsw i32 %10395, 1
  store i32 %10396, ptr @test_count, align 4, !tbaa !5
  %10397 = load ptr, ptr %65, align 8, !tbaa !9
  %10398 = call i32 @s2n_config_set_verification_ca_location(ptr noundef %10397, ptr noundef nonnull @.str.15, ptr noundef null) #12
  %10399 = icmp eq i32 %10398, -1
  br i1 %10399, label %10400, label %10422

10400:                                            ; preds = %10394
  %10401 = load i32, ptr %1549, align 4, !tbaa !5
  %10402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10403 = call i32 @s2n_print_stacktrace(ptr noundef %10402) #12
  %10404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10405 = trunc nuw i8 %10404 to i1
  br i1 %10405, label %10406, label %10410

10406:                                            ; preds = %10400
  %10407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10408 = call i32 @fileno(ptr noundef %10407) #12
  %10409 = call i32 @isatty(i32 noundef %10408) #12
  %.not1554 = icmp eq i32 %10409, 0
  br i1 %.not1554, label %10410, label %10411

10410:                                            ; preds = %10406, %10400
  br label %10411

10411:                                            ; preds = %10406, %10410
  %.str.5.sink5310 = phi ptr [ @.str.5, %10410 ], [ @.str.2, %10406 ]
  store i32 %10401, ptr %1549, align 4, !tbaa !5
  %10412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10413 = load i32, ptr @test_count, align 4, !tbaa !5
  %10414 = load i32, ptr %1495, align 4, !tbaa !5
  %10415 = call ptr @s2n_strerror(i32 noundef %10414, ptr noundef nonnull @.str.4) #12
  %10416 = load i32, ptr %1495, align 4, !tbaa !5
  %10417 = call ptr @s2n_strerror_debug(i32 noundef %10416, ptr noundef nonnull @.str.4) #12
  %10418 = load i32, ptr %1549, align 4, !tbaa !5
  %10419 = call ptr @strerror(i32 noundef %10418) #12
  %10420 = load i32, ptr %1549, align 4, !tbaa !5
  %10421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10412, ptr noundef nonnull %.str.5.sink5310, i32 noundef %10413, ptr noundef nonnull @.str.186, ptr noundef nonnull @.str.1, i32 noundef 909, ptr noundef %10415, ptr noundef %10417, ptr noundef %10419, i32 noundef %10420) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10422:                                            ; preds = %10394
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %66) #12
  %10423 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %10423, ptr %66, align 8, !tbaa !9
  %10424 = load i32, ptr @test_count, align 4, !tbaa !5
  %10425 = add nsw i32 %10424, 1
  store i32 %10425, ptr @test_count, align 4, !tbaa !5
  %10426 = icmp eq ptr %10423, null
  br i1 %10426, label %10427, label %10449

10427:                                            ; preds = %10422
  %10428 = load i32, ptr %1549, align 4, !tbaa !5
  %10429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10430 = call i32 @s2n_print_stacktrace(ptr noundef %10429) #12
  %10431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10432 = trunc nuw i8 %10431 to i1
  br i1 %10432, label %10433, label %10437

10433:                                            ; preds = %10427
  %10434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10435 = call i32 @fileno(ptr noundef %10434) #12
  %10436 = call i32 @isatty(i32 noundef %10435) #12
  %.not1553 = icmp eq i32 %10436, 0
  br i1 %.not1553, label %10437, label %10438

10437:                                            ; preds = %10433, %10427
  br label %10438

10438:                                            ; preds = %10433, %10437
  %.str.5.sink5319 = phi ptr [ @.str.5, %10437 ], [ @.str.2, %10433 ]
  store i32 %10428, ptr %1549, align 4, !tbaa !5
  %10439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10440 = load i32, ptr @test_count, align 4, !tbaa !5
  %10441 = load i32, ptr %1495, align 4, !tbaa !5
  %10442 = call ptr @s2n_strerror(i32 noundef %10441, ptr noundef nonnull @.str.4) #12
  %10443 = load i32, ptr %1495, align 4, !tbaa !5
  %10444 = call ptr @s2n_strerror_debug(i32 noundef %10443, ptr noundef nonnull @.str.4) #12
  %10445 = load i32, ptr %1549, align 4, !tbaa !5
  %10446 = call ptr @strerror(i32 noundef %10445) #12
  %10447 = load i32, ptr %1549, align 4, !tbaa !5
  %10448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10439, ptr noundef nonnull %.str.5.sink5319, i32 noundef %10440, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.1, i32 noundef 913, ptr noundef %10442, ptr noundef %10444, ptr noundef %10446, i32 noundef %10447) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10449:                                            ; preds = %10422
  %10450 = add nsw i32 %10424, 2
  store i32 %10450, ptr @test_count, align 4, !tbaa !5
  %10451 = load ptr, ptr %65, align 8, !tbaa !9
  %10452 = call i32 @s2n_connection_set_config(ptr noundef nonnull %10423, ptr noundef %10451) #12
  %10453 = icmp eq i32 %10452, -1
  br i1 %10453, label %10454, label %10476

10454:                                            ; preds = %10449
  %10455 = load i32, ptr %1549, align 4, !tbaa !5
  %10456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10457 = call i32 @s2n_print_stacktrace(ptr noundef %10456) #12
  %10458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10459 = trunc nuw i8 %10458 to i1
  br i1 %10459, label %10460, label %10464

10460:                                            ; preds = %10454
  %10461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10462 = call i32 @fileno(ptr noundef %10461) #12
  %10463 = call i32 @isatty(i32 noundef %10462) #12
  %.not1552 = icmp eq i32 %10463, 0
  br i1 %.not1552, label %10464, label %10465

10464:                                            ; preds = %10460, %10454
  br label %10465

10465:                                            ; preds = %10460, %10464
  %.str.5.sink5328 = phi ptr [ @.str.5, %10464 ], [ @.str.2, %10460 ]
  store i32 %10455, ptr %1549, align 4, !tbaa !5
  %10466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10467 = load i32, ptr @test_count, align 4, !tbaa !5
  %10468 = load i32, ptr %1495, align 4, !tbaa !5
  %10469 = call ptr @s2n_strerror(i32 noundef %10468, ptr noundef nonnull @.str.4) #12
  %10470 = load i32, ptr %1495, align 4, !tbaa !5
  %10471 = call ptr @s2n_strerror_debug(i32 noundef %10470, ptr noundef nonnull @.str.4) #12
  %10472 = load i32, ptr %1549, align 4, !tbaa !5
  %10473 = call ptr @strerror(i32 noundef %10472) #12
  %10474 = load i32, ptr %1549, align 4, !tbaa !5
  %10475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10466, ptr noundef nonnull %.str.5.sink5328, i32 noundef %10467, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.1, i32 noundef 914, ptr noundef %10469, ptr noundef %10471, ptr noundef %10473, i32 noundef %10474) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10476:                                            ; preds = %10449
  %10477 = load i32, ptr @test_count, align 4, !tbaa !5
  %10478 = add nsw i32 %10477, 1
  store i32 %10478, ptr @test_count, align 4, !tbaa !5
  %10479 = load ptr, ptr %66, align 8, !tbaa !9
  %10480 = call i32 @s2n_set_server_name(ptr noundef %10479, ptr noundef nonnull @.str.189) #12
  %10481 = icmp eq i32 %10480, -1
  br i1 %10481, label %10482, label %10504

10482:                                            ; preds = %10476
  %10483 = load i32, ptr %1549, align 4, !tbaa !5
  %10484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10485 = call i32 @s2n_print_stacktrace(ptr noundef %10484) #12
  %10486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10487 = trunc nuw i8 %10486 to i1
  br i1 %10487, label %10488, label %10492

10488:                                            ; preds = %10482
  %10489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10490 = call i32 @fileno(ptr noundef %10489) #12
  %10491 = call i32 @isatty(i32 noundef %10490) #12
  %.not1551 = icmp eq i32 %10491, 0
  br i1 %.not1551, label %10492, label %10493

10492:                                            ; preds = %10488, %10482
  br label %10493

10493:                                            ; preds = %10488, %10492
  %.str.5.sink5337 = phi ptr [ @.str.5, %10492 ], [ @.str.2, %10488 ]
  store i32 %10483, ptr %1549, align 4, !tbaa !5
  %10494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10495 = load i32, ptr @test_count, align 4, !tbaa !5
  %10496 = load i32, ptr %1495, align 4, !tbaa !5
  %10497 = call ptr @s2n_strerror(i32 noundef %10496, ptr noundef nonnull @.str.4) #12
  %10498 = load i32, ptr %1495, align 4, !tbaa !5
  %10499 = call ptr @s2n_strerror_debug(i32 noundef %10498, ptr noundef nonnull @.str.4) #12
  %10500 = load i32, ptr %1549, align 4, !tbaa !5
  %10501 = call ptr @strerror(i32 noundef %10500) #12
  %10502 = load i32, ptr %1549, align 4, !tbaa !5
  %10503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10494, ptr noundef nonnull %.str.5.sink5337, i32 noundef %10495, ptr noundef nonnull @.str.190, ptr noundef nonnull @.str.1, i32 noundef 915, ptr noundef %10497, ptr noundef %10499, ptr noundef %10501, i32 noundef %10502) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10504:                                            ; preds = %10476
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %67) #12
  store i64 0, ptr %67, align 8
  %10505 = load i32, ptr @test_count, align 4, !tbaa !5
  %10506 = add nsw i32 %10505, 1
  store i32 %10506, ptr @test_count, align 4, !tbaa !5
  %10507 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %67) #12
  %10508 = icmp eq i32 %10507, -1
  br i1 %10508, label %10509, label %10531

10509:                                            ; preds = %10504
  %10510 = load i32, ptr %1549, align 4, !tbaa !5
  %10511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10512 = call i32 @s2n_print_stacktrace(ptr noundef %10511) #12
  %10513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10514 = trunc nuw i8 %10513 to i1
  br i1 %10514, label %10515, label %10519

10515:                                            ; preds = %10509
  %10516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10517 = call i32 @fileno(ptr noundef %10516) #12
  %10518 = call i32 @isatty(i32 noundef %10517) #12
  %.not1550 = icmp eq i32 %10518, 0
  br i1 %.not1550, label %10519, label %10520

10519:                                            ; preds = %10515, %10509
  br label %10520

10520:                                            ; preds = %10515, %10519
  %.str.5.sink5346 = phi ptr [ @.str.5, %10519 ], [ @.str.2, %10515 ]
  store i32 %10510, ptr %1549, align 4, !tbaa !5
  %10521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10522 = load i32, ptr @test_count, align 4, !tbaa !5
  %10523 = load i32, ptr %1495, align 4, !tbaa !5
  %10524 = call ptr @s2n_strerror(i32 noundef %10523, ptr noundef nonnull @.str.4) #12
  %10525 = load i32, ptr %1495, align 4, !tbaa !5
  %10526 = call ptr @s2n_strerror_debug(i32 noundef %10525, ptr noundef nonnull @.str.4) #12
  %10527 = load i32, ptr %1549, align 4, !tbaa !5
  %10528 = call ptr @strerror(i32 noundef %10527) #12
  %10529 = load i32, ptr %1549, align 4, !tbaa !5
  %10530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10521, ptr noundef nonnull %.str.5.sink5346, i32 noundef %10522, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.1, i32 noundef 918, ptr noundef %10524, ptr noundef %10526, ptr noundef %10528, i32 noundef %10529) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10531:                                            ; preds = %10504
  %10532 = load i32, ptr @test_count, align 4, !tbaa !5
  %10533 = add nsw i32 %10532, 1
  store i32 %10533, ptr @test_count, align 4, !tbaa !5
  %10534 = load ptr, ptr %66, align 8, !tbaa !9
  %10535 = load ptr, ptr %64, align 8, !tbaa !9
  %10536 = call i32 @s2n_connections_set_io_pair(ptr noundef %10534, ptr noundef %10535, ptr noundef nonnull %67) #12
  %10537 = icmp eq i32 %10536, -1
  br i1 %10537, label %10538, label %10560

10538:                                            ; preds = %10531
  %10539 = load i32, ptr %1549, align 4, !tbaa !5
  %10540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10541 = call i32 @s2n_print_stacktrace(ptr noundef %10540) #12
  %10542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10543 = trunc nuw i8 %10542 to i1
  br i1 %10543, label %10544, label %10548

10544:                                            ; preds = %10538
  %10545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10546 = call i32 @fileno(ptr noundef %10545) #12
  %10547 = call i32 @isatty(i32 noundef %10546) #12
  %.not1549 = icmp eq i32 %10547, 0
  br i1 %.not1549, label %10548, label %10549

10548:                                            ; preds = %10544, %10538
  br label %10549

10549:                                            ; preds = %10544, %10548
  %.str.5.sink5355 = phi ptr [ @.str.5, %10548 ], [ @.str.2, %10544 ]
  store i32 %10539, ptr %1549, align 4, !tbaa !5
  %10550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10551 = load i32, ptr @test_count, align 4, !tbaa !5
  %10552 = load i32, ptr %1495, align 4, !tbaa !5
  %10553 = call ptr @s2n_strerror(i32 noundef %10552, ptr noundef nonnull @.str.4) #12
  %10554 = load i32, ptr %1495, align 4, !tbaa !5
  %10555 = call ptr @s2n_strerror_debug(i32 noundef %10554, ptr noundef nonnull @.str.4) #12
  %10556 = load i32, ptr %1549, align 4, !tbaa !5
  %10557 = call ptr @strerror(i32 noundef %10556) #12
  %10558 = load i32, ptr %1549, align 4, !tbaa !5
  %10559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10550, ptr noundef nonnull %.str.5.sink5355, i32 noundef %10551, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.1, i32 noundef 919, ptr noundef %10553, ptr noundef %10555, ptr noundef %10557, i32 noundef %10558) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10560:                                            ; preds = %10531
  %10561 = load i32, ptr @test_count, align 4, !tbaa !5
  %10562 = add nsw i32 %10561, 1
  store i32 %10562, ptr @test_count, align 4, !tbaa !5
  %10563 = load ptr, ptr %63, align 8, !tbaa !9
  %10564 = getelementptr inbounds i8, ptr %10563, i64 312
  %10565 = load i8, ptr %10564, align 8
  %10566 = and i8 %10565, 1
  %.not1422 = icmp eq i8 %10566, 0
  br i1 %.not1422, label %10589, label %10567

10567:                                            ; preds = %10560
  %10568 = load i32, ptr %1549, align 4, !tbaa !5
  %10569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10570 = call i32 @s2n_print_stacktrace(ptr noundef %10569) #12
  %10571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10572 = trunc nuw i8 %10571 to i1
  br i1 %10572, label %10573, label %10577

10573:                                            ; preds = %10567
  %10574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10575 = call i32 @fileno(ptr noundef %10574) #12
  %10576 = call i32 @isatty(i32 noundef %10575) #12
  %.not1548 = icmp eq i32 %10576, 0
  br i1 %.not1548, label %10577, label %10578

10577:                                            ; preds = %10573, %10567
  br label %10578

10578:                                            ; preds = %10573, %10577
  %.str.5.sink5364 = phi ptr [ @.str.5, %10577 ], [ @.str.2, %10573 ]
  store i32 %10568, ptr %1549, align 4, !tbaa !5
  %10579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10580 = load i32, ptr @test_count, align 4, !tbaa !5
  %10581 = load i32, ptr %1495, align 4, !tbaa !5
  %10582 = call ptr @s2n_strerror(i32 noundef %10581, ptr noundef nonnull @.str.4) #12
  %10583 = load i32, ptr %1495, align 4, !tbaa !5
  %10584 = call ptr @s2n_strerror_debug(i32 noundef %10583, ptr noundef nonnull @.str.4) #12
  %10585 = load i32, ptr %1549, align 4, !tbaa !5
  %10586 = call ptr @strerror(i32 noundef %10585) #12
  %10587 = load i32, ptr %1549, align 4, !tbaa !5
  %10588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10579, ptr noundef nonnull %.str.5.sink5364, i32 noundef %10580, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.1, i32 noundef 921, ptr noundef %10582, ptr noundef %10584, ptr noundef %10586, i32 noundef %10587) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10589:                                            ; preds = %10560
  %10590 = add nsw i32 %10561, 2
  store i32 %10590, ptr @test_count, align 4, !tbaa !5
  %10591 = getelementptr inbounds i8, ptr %10563, i64 304
  %10592 = load ptr, ptr %10591, align 8, !tbaa !72
  %10593 = icmp eq ptr %10592, null
  br i1 %10593, label %10616, label %10594

10594:                                            ; preds = %10589
  %10595 = load i32, ptr %1549, align 4, !tbaa !5
  %10596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10597 = call i32 @s2n_print_stacktrace(ptr noundef %10596) #12
  %10598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10599 = trunc nuw i8 %10598 to i1
  br i1 %10599, label %10600, label %10604

10600:                                            ; preds = %10594
  %10601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10602 = call i32 @fileno(ptr noundef %10601) #12
  %10603 = call i32 @isatty(i32 noundef %10602) #12
  %.not1423 = icmp eq i32 %10603, 0
  br i1 %.not1423, label %10604, label %10605

10604:                                            ; preds = %10600, %10594
  br label %10605

10605:                                            ; preds = %10600, %10604
  %.str.5.sink5373 = phi ptr [ @.str.5, %10604 ], [ @.str.2, %10600 ]
  store i32 %10595, ptr %1549, align 4, !tbaa !5
  %10606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10607 = load i32, ptr @test_count, align 4, !tbaa !5
  %10608 = load i32, ptr %1495, align 4, !tbaa !5
  %10609 = call ptr @s2n_strerror(i32 noundef %10608, ptr noundef nonnull @.str.4) #12
  %10610 = load i32, ptr %1495, align 4, !tbaa !5
  %10611 = call ptr @s2n_strerror_debug(i32 noundef %10610, ptr noundef nonnull @.str.4) #12
  %10612 = load i32, ptr %1549, align 4, !tbaa !5
  %10613 = call ptr @strerror(i32 noundef %10612) #12
  %10614 = load i32, ptr %1549, align 4, !tbaa !5
  %10615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10606, ptr noundef nonnull %.str.5.sink5373, i32 noundef %10607, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.1, i32 noundef 922, ptr noundef %10609, ptr noundef %10611, ptr noundef %10613, i32 noundef %10614) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10616:                                            ; preds = %10589
  %10617 = add nsw i32 %10561, 3
  store i32 %10617, ptr @test_count, align 4, !tbaa !5
  %10618 = load ptr, ptr %65, align 8, !tbaa !9
  %10619 = getelementptr inbounds i8, ptr %10618, i64 312
  %10620 = load i8, ptr %10619, align 8
  %10621 = and i8 %10620, 1
  %.not1424 = icmp eq i8 %10621, 0
  br i1 %.not1424, label %10644, label %10622

10622:                                            ; preds = %10616
  %10623 = load i32, ptr %1549, align 4, !tbaa !5
  %10624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10625 = call i32 @s2n_print_stacktrace(ptr noundef %10624) #12
  %10626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10627 = trunc nuw i8 %10626 to i1
  br i1 %10627, label %10628, label %10632

10628:                                            ; preds = %10622
  %10629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10630 = call i32 @fileno(ptr noundef %10629) #12
  %10631 = call i32 @isatty(i32 noundef %10630) #12
  %.not1547 = icmp eq i32 %10631, 0
  br i1 %.not1547, label %10632, label %10633

10632:                                            ; preds = %10628, %10622
  br label %10633

10633:                                            ; preds = %10628, %10632
  %.str.5.sink5382 = phi ptr [ @.str.5, %10632 ], [ @.str.2, %10628 ]
  store i32 %10623, ptr %1549, align 4, !tbaa !5
  %10634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10635 = load i32, ptr @test_count, align 4, !tbaa !5
  %10636 = load i32, ptr %1495, align 4, !tbaa !5
  %10637 = call ptr @s2n_strerror(i32 noundef %10636, ptr noundef nonnull @.str.4) #12
  %10638 = load i32, ptr %1495, align 4, !tbaa !5
  %10639 = call ptr @s2n_strerror_debug(i32 noundef %10638, ptr noundef nonnull @.str.4) #12
  %10640 = load i32, ptr %1549, align 4, !tbaa !5
  %10641 = call ptr @strerror(i32 noundef %10640) #12
  %10642 = load i32, ptr %1549, align 4, !tbaa !5
  %10643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10634, ptr noundef nonnull %.str.5.sink5382, i32 noundef %10635, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.1, i32 noundef 924, ptr noundef %10637, ptr noundef %10639, ptr noundef %10641, i32 noundef %10642) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10644:                                            ; preds = %10616
  %10645 = add nsw i32 %10561, 4
  store i32 %10645, ptr @test_count, align 4, !tbaa !5
  %10646 = getelementptr inbounds i8, ptr %10618, i64 304
  %10647 = load ptr, ptr %10646, align 8, !tbaa !72
  %10648 = icmp eq ptr %10647, null
  br i1 %10648, label %10649, label %10671

10649:                                            ; preds = %10644
  %10650 = load i32, ptr %1549, align 4, !tbaa !5
  %10651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10652 = call i32 @s2n_print_stacktrace(ptr noundef %10651) #12
  %10653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10654 = trunc nuw i8 %10653 to i1
  br i1 %10654, label %10655, label %10659

10655:                                            ; preds = %10649
  %10656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10657 = call i32 @fileno(ptr noundef %10656) #12
  %10658 = call i32 @isatty(i32 noundef %10657) #12
  %.not1546 = icmp eq i32 %10658, 0
  br i1 %.not1546, label %10659, label %10660

10659:                                            ; preds = %10655, %10649
  br label %10660

10660:                                            ; preds = %10655, %10659
  %.str.5.sink5391 = phi ptr [ @.str.5, %10659 ], [ @.str.2, %10655 ]
  store i32 %10650, ptr %1549, align 4, !tbaa !5
  %10661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10662 = load i32, ptr @test_count, align 4, !tbaa !5
  %10663 = load i32, ptr %1495, align 4, !tbaa !5
  %10664 = call ptr @s2n_strerror(i32 noundef %10663, ptr noundef nonnull @.str.4) #12
  %10665 = load i32, ptr %1495, align 4, !tbaa !5
  %10666 = call ptr @s2n_strerror_debug(i32 noundef %10665, ptr noundef nonnull @.str.4) #12
  %10667 = load i32, ptr %1549, align 4, !tbaa !5
  %10668 = call ptr @strerror(i32 noundef %10667) #12
  %10669 = load i32, ptr %1549, align 4, !tbaa !5
  %10670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10661, ptr noundef nonnull %.str.5.sink5391, i32 noundef %10662, ptr noundef nonnull @.str.196, ptr noundef nonnull @.str.1, i32 noundef 925, ptr noundef %10664, ptr noundef %10666, ptr noundef %10668, i32 noundef %10669) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10671:                                            ; preds = %10644
  %10672 = add nsw i32 %10561, 5
  store i32 %10672, ptr @test_count, align 4, !tbaa !5
  %10673 = load ptr, ptr %64, align 8, !tbaa !9
  %10674 = load ptr, ptr %66, align 8, !tbaa !9
  %10675 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %10673, ptr noundef %10674) #12
  %10676 = icmp eq i32 %10675, -1
  br i1 %10676, label %10677, label %10699

10677:                                            ; preds = %10671
  %10678 = load i32, ptr %1549, align 4, !tbaa !5
  %10679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10680 = call i32 @s2n_print_stacktrace(ptr noundef %10679) #12
  %10681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10682 = trunc nuw i8 %10681 to i1
  br i1 %10682, label %10683, label %10687

10683:                                            ; preds = %10677
  %10684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10685 = call i32 @fileno(ptr noundef %10684) #12
  %10686 = call i32 @isatty(i32 noundef %10685) #12
  %.not1545 = icmp eq i32 %10686, 0
  br i1 %.not1545, label %10687, label %10688

10687:                                            ; preds = %10683, %10677
  br label %10688

10688:                                            ; preds = %10683, %10687
  %.str.5.sink5400 = phi ptr [ @.str.5, %10687 ], [ @.str.2, %10683 ]
  store i32 %10678, ptr %1549, align 4, !tbaa !5
  %10689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10690 = load i32, ptr @test_count, align 4, !tbaa !5
  %10691 = load i32, ptr %1495, align 4, !tbaa !5
  %10692 = call ptr @s2n_strerror(i32 noundef %10691, ptr noundef nonnull @.str.4) #12
  %10693 = load i32, ptr %1495, align 4, !tbaa !5
  %10694 = call ptr @s2n_strerror_debug(i32 noundef %10693, ptr noundef nonnull @.str.4) #12
  %10695 = load i32, ptr %1549, align 4, !tbaa !5
  %10696 = call ptr @strerror(i32 noundef %10695) #12
  %10697 = load i32, ptr %1549, align 4, !tbaa !5
  %10698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10689, ptr noundef nonnull %.str.5.sink5400, i32 noundef %10690, ptr noundef nonnull @.str.197, ptr noundef nonnull @.str.1, i32 noundef 927, ptr noundef %10692, ptr noundef %10694, ptr noundef %10696, i32 noundef %10697) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10699:                                            ; preds = %10671
  %10700 = call i32 @s2n_io_pair_close(ptr noundef nonnull %67) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %67) #12
  %10701 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %66) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %66) #12
  %10702 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %65) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #12
  %10703 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %64) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %64) #12
  %10704 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %63) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %63) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %68) #12
  %10705 = call ptr @s2n_config_new_minimal() #12
  store ptr %10705, ptr %68, align 8, !tbaa !9
  %10706 = load i32, ptr @test_count, align 4, !tbaa !5
  %10707 = add nsw i32 %10706, 1
  store i32 %10707, ptr @test_count, align 4, !tbaa !5
  %10708 = icmp eq ptr %10705, null
  br i1 %10708, label %10709, label %10731

10709:                                            ; preds = %10699
  %10710 = load i32, ptr %1549, align 4, !tbaa !5
  %10711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10712 = call i32 @s2n_print_stacktrace(ptr noundef %10711) #12
  %10713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10714 = trunc nuw i8 %10713 to i1
  br i1 %10714, label %10715, label %10719

10715:                                            ; preds = %10709
  %10716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10717 = call i32 @fileno(ptr noundef %10716) #12
  %10718 = call i32 @isatty(i32 noundef %10717) #12
  %.not1544 = icmp eq i32 %10718, 0
  br i1 %.not1544, label %10719, label %10720

10719:                                            ; preds = %10715, %10709
  br label %10720

10720:                                            ; preds = %10715, %10719
  %.str.5.sink5409 = phi ptr [ @.str.5, %10719 ], [ @.str.2, %10715 ]
  store i32 %10710, ptr %1549, align 4, !tbaa !5
  %10721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10722 = load i32, ptr @test_count, align 4, !tbaa !5
  %10723 = load i32, ptr %1495, align 4, !tbaa !5
  %10724 = call ptr @s2n_strerror(i32 noundef %10723, ptr noundef nonnull @.str.4) #12
  %10725 = load i32, ptr %1495, align 4, !tbaa !5
  %10726 = call ptr @s2n_strerror_debug(i32 noundef %10725, ptr noundef nonnull @.str.4) #12
  %10727 = load i32, ptr %1549, align 4, !tbaa !5
  %10728 = call ptr @strerror(i32 noundef %10727) #12
  %10729 = load i32, ptr %1549, align 4, !tbaa !5
  %10730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10721, ptr noundef nonnull %.str.5.sink5409, i32 noundef %10722, ptr noundef nonnull @.str.179, ptr noundef nonnull @.str.1, i32 noundef 933, ptr noundef %10724, ptr noundef %10726, ptr noundef %10728, i32 noundef %10729) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10731:                                            ; preds = %10699
  %10732 = add nsw i32 %10706, 2
  store i32 %10732, ptr @test_count, align 4, !tbaa !5
  %10733 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %10705, ptr noundef nonnull @.str.13) #12
  %10734 = icmp eq i32 %10733, -1
  br i1 %10734, label %10735, label %10757

10735:                                            ; preds = %10731
  %10736 = load i32, ptr %1549, align 4, !tbaa !5
  %10737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10738 = call i32 @s2n_print_stacktrace(ptr noundef %10737) #12
  %10739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10740 = trunc nuw i8 %10739 to i1
  br i1 %10740, label %10741, label %10745

10741:                                            ; preds = %10735
  %10742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10743 = call i32 @fileno(ptr noundef %10742) #12
  %10744 = call i32 @isatty(i32 noundef %10743) #12
  %.not1543 = icmp eq i32 %10744, 0
  br i1 %.not1543, label %10745, label %10746

10745:                                            ; preds = %10741, %10735
  br label %10746

10746:                                            ; preds = %10741, %10745
  %.str.5.sink5418 = phi ptr [ @.str.5, %10745 ], [ @.str.2, %10741 ]
  store i32 %10736, ptr %1549, align 4, !tbaa !5
  %10747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10748 = load i32, ptr @test_count, align 4, !tbaa !5
  %10749 = load i32, ptr %1495, align 4, !tbaa !5
  %10750 = call ptr @s2n_strerror(i32 noundef %10749, ptr noundef nonnull @.str.4) #12
  %10751 = load i32, ptr %1495, align 4, !tbaa !5
  %10752 = call ptr @s2n_strerror_debug(i32 noundef %10751, ptr noundef nonnull @.str.4) #12
  %10753 = load i32, ptr %1549, align 4, !tbaa !5
  %10754 = call ptr @strerror(i32 noundef %10753) #12
  %10755 = load i32, ptr %1549, align 4, !tbaa !5
  %10756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10747, ptr noundef nonnull %.str.5.sink5418, i32 noundef %10748, ptr noundef nonnull @.str.180, ptr noundef nonnull @.str.1, i32 noundef 934, ptr noundef %10750, ptr noundef %10752, ptr noundef %10754, i32 noundef %10755) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10757:                                            ; preds = %10731
  %10758 = load i32, ptr @test_count, align 4, !tbaa !5
  %10759 = add nsw i32 %10758, 1
  store i32 %10759, ptr @test_count, align 4, !tbaa !5
  %10760 = load ptr, ptr %68, align 8, !tbaa !9
  %10761 = load ptr, ptr %62, align 8, !tbaa !9
  %10762 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %10760, ptr noundef %10761) #12
  %10763 = icmp eq i32 %10762, -1
  br i1 %10763, label %10764, label %10786

10764:                                            ; preds = %10757
  %10765 = load i32, ptr %1549, align 4, !tbaa !5
  %10766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10767 = call i32 @s2n_print_stacktrace(ptr noundef %10766) #12
  %10768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10769 = trunc nuw i8 %10768 to i1
  br i1 %10769, label %10770, label %10774

10770:                                            ; preds = %10764
  %10771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10772 = call i32 @fileno(ptr noundef %10771) #12
  %10773 = call i32 @isatty(i32 noundef %10772) #12
  %.not1542 = icmp eq i32 %10773, 0
  br i1 %.not1542, label %10774, label %10775

10774:                                            ; preds = %10770, %10764
  br label %10775

10775:                                            ; preds = %10770, %10774
  %.str.5.sink5427 = phi ptr [ @.str.5, %10774 ], [ @.str.2, %10770 ]
  store i32 %10765, ptr %1549, align 4, !tbaa !5
  %10776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10777 = load i32, ptr @test_count, align 4, !tbaa !5
  %10778 = load i32, ptr %1495, align 4, !tbaa !5
  %10779 = call ptr @s2n_strerror(i32 noundef %10778, ptr noundef nonnull @.str.4) #12
  %10780 = load i32, ptr %1495, align 4, !tbaa !5
  %10781 = call ptr @s2n_strerror_debug(i32 noundef %10780, ptr noundef nonnull @.str.4) #12
  %10782 = load i32, ptr %1549, align 4, !tbaa !5
  %10783 = call ptr @strerror(i32 noundef %10782) #12
  %10784 = load i32, ptr %1549, align 4, !tbaa !5
  %10785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10776, ptr noundef nonnull %.str.5.sink5427, i32 noundef %10777, ptr noundef nonnull @.str.181, ptr noundef nonnull @.str.1, i32 noundef 935, ptr noundef %10779, ptr noundef %10781, ptr noundef %10783, i32 noundef %10784) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10786:                                            ; preds = %10757
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #12
  %10787 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %10787, ptr %69, align 8, !tbaa !9
  %10788 = load i32, ptr @test_count, align 4, !tbaa !5
  %10789 = add nsw i32 %10788, 1
  store i32 %10789, ptr @test_count, align 4, !tbaa !5
  %10790 = icmp eq ptr %10787, null
  br i1 %10790, label %10791, label %10813

10791:                                            ; preds = %10786
  %10792 = load i32, ptr %1549, align 4, !tbaa !5
  %10793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10794 = call i32 @s2n_print_stacktrace(ptr noundef %10793) #12
  %10795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10796 = trunc nuw i8 %10795 to i1
  br i1 %10796, label %10797, label %10801

10797:                                            ; preds = %10791
  %10798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10799 = call i32 @fileno(ptr noundef %10798) #12
  %10800 = call i32 @isatty(i32 noundef %10799) #12
  %.not1541 = icmp eq i32 %10800, 0
  br i1 %.not1541, label %10801, label %10802

10801:                                            ; preds = %10797, %10791
  br label %10802

10802:                                            ; preds = %10797, %10801
  %.str.5.sink5436 = phi ptr [ @.str.5, %10801 ], [ @.str.2, %10797 ]
  store i32 %10792, ptr %1549, align 4, !tbaa !5
  %10803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10804 = load i32, ptr @test_count, align 4, !tbaa !5
  %10805 = load i32, ptr %1495, align 4, !tbaa !5
  %10806 = call ptr @s2n_strerror(i32 noundef %10805, ptr noundef nonnull @.str.4) #12
  %10807 = load i32, ptr %1495, align 4, !tbaa !5
  %10808 = call ptr @s2n_strerror_debug(i32 noundef %10807, ptr noundef nonnull @.str.4) #12
  %10809 = load i32, ptr %1549, align 4, !tbaa !5
  %10810 = call ptr @strerror(i32 noundef %10809) #12
  %10811 = load i32, ptr %1549, align 4, !tbaa !5
  %10812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10803, ptr noundef nonnull %.str.5.sink5436, i32 noundef %10804, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.1, i32 noundef 939, ptr noundef %10806, ptr noundef %10808, ptr noundef %10810, i32 noundef %10811) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10813:                                            ; preds = %10786
  %10814 = add nsw i32 %10788, 2
  store i32 %10814, ptr @test_count, align 4, !tbaa !5
  %10815 = load ptr, ptr %68, align 8, !tbaa !9
  %10816 = call i32 @s2n_connection_set_config(ptr noundef nonnull %10787, ptr noundef %10815) #12
  %10817 = icmp eq i32 %10816, -1
  br i1 %10817, label %10818, label %10840

10818:                                            ; preds = %10813
  %10819 = load i32, ptr %1549, align 4, !tbaa !5
  %10820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10821 = call i32 @s2n_print_stacktrace(ptr noundef %10820) #12
  %10822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10823 = trunc nuw i8 %10822 to i1
  br i1 %10823, label %10824, label %10828

10824:                                            ; preds = %10818
  %10825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10826 = call i32 @fileno(ptr noundef %10825) #12
  %10827 = call i32 @isatty(i32 noundef %10826) #12
  %.not1540 = icmp eq i32 %10827, 0
  br i1 %.not1540, label %10828, label %10829

10828:                                            ; preds = %10824, %10818
  br label %10829

10829:                                            ; preds = %10824, %10828
  %.str.5.sink5445 = phi ptr [ @.str.5, %10828 ], [ @.str.2, %10824 ]
  store i32 %10819, ptr %1549, align 4, !tbaa !5
  %10830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10831 = load i32, ptr @test_count, align 4, !tbaa !5
  %10832 = load i32, ptr %1495, align 4, !tbaa !5
  %10833 = call ptr @s2n_strerror(i32 noundef %10832, ptr noundef nonnull @.str.4) #12
  %10834 = load i32, ptr %1495, align 4, !tbaa !5
  %10835 = call ptr @s2n_strerror_debug(i32 noundef %10834, ptr noundef nonnull @.str.4) #12
  %10836 = load i32, ptr %1549, align 4, !tbaa !5
  %10837 = call ptr @strerror(i32 noundef %10836) #12
  %10838 = load i32, ptr %1549, align 4, !tbaa !5
  %10839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10830, ptr noundef nonnull %.str.5.sink5445, i32 noundef %10831, ptr noundef nonnull @.str.183, ptr noundef nonnull @.str.1, i32 noundef 940, ptr noundef %10833, ptr noundef %10835, ptr noundef %10837, i32 noundef %10838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10840:                                            ; preds = %10813
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #12
  %10841 = call ptr @s2n_config_new_minimal() #12
  store ptr %10841, ptr %70, align 8, !tbaa !9
  %10842 = load i32, ptr @test_count, align 4, !tbaa !5
  %10843 = add nsw i32 %10842, 1
  store i32 %10843, ptr @test_count, align 4, !tbaa !5
  %10844 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %10841, ptr noundef nonnull @.str.13) #12
  %10845 = icmp eq i32 %10844, -1
  br i1 %10845, label %10846, label %10868

10846:                                            ; preds = %10840
  %10847 = load i32, ptr %1549, align 4, !tbaa !5
  %10848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10849 = call i32 @s2n_print_stacktrace(ptr noundef %10848) #12
  %10850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10851 = trunc nuw i8 %10850 to i1
  br i1 %10851, label %10852, label %10856

10852:                                            ; preds = %10846
  %10853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10854 = call i32 @fileno(ptr noundef %10853) #12
  %10855 = call i32 @isatty(i32 noundef %10854) #12
  %.not1539 = icmp eq i32 %10855, 0
  br i1 %.not1539, label %10856, label %10857

10856:                                            ; preds = %10852, %10846
  br label %10857

10857:                                            ; preds = %10852, %10856
  %.str.5.sink5454 = phi ptr [ @.str.5, %10856 ], [ @.str.2, %10852 ]
  store i32 %10847, ptr %1549, align 4, !tbaa !5
  %10858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10859 = load i32, ptr @test_count, align 4, !tbaa !5
  %10860 = load i32, ptr %1495, align 4, !tbaa !5
  %10861 = call ptr @s2n_strerror(i32 noundef %10860, ptr noundef nonnull @.str.4) #12
  %10862 = load i32, ptr %1495, align 4, !tbaa !5
  %10863 = call ptr @s2n_strerror_debug(i32 noundef %10862, ptr noundef nonnull @.str.4) #12
  %10864 = load i32, ptr %1549, align 4, !tbaa !5
  %10865 = call ptr @strerror(i32 noundef %10864) #12
  %10866 = load i32, ptr %1549, align 4, !tbaa !5
  %10867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10858, ptr noundef nonnull %.str.5.sink5454, i32 noundef %10859, ptr noundef nonnull @.str.185, ptr noundef nonnull @.str.1, i32 noundef 943, ptr noundef %10861, ptr noundef %10863, ptr noundef %10865, i32 noundef %10866) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10868:                                            ; preds = %10840
  %10869 = load i32, ptr @test_count, align 4, !tbaa !5
  %10870 = add nsw i32 %10869, 1
  store i32 %10870, ptr @test_count, align 4, !tbaa !5
  %10871 = load ptr, ptr %70, align 8, !tbaa !9
  %10872 = icmp eq ptr %10871, null
  br i1 %10872, label %10873, label %10895

10873:                                            ; preds = %10868
  %10874 = load i32, ptr %1549, align 4, !tbaa !5
  %10875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10876 = call i32 @s2n_print_stacktrace(ptr noundef %10875) #12
  %10877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10878 = trunc nuw i8 %10877 to i1
  br i1 %10878, label %10879, label %10883

10879:                                            ; preds = %10873
  %10880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10881 = call i32 @fileno(ptr noundef %10880) #12
  %10882 = call i32 @isatty(i32 noundef %10881) #12
  %.not1538 = icmp eq i32 %10882, 0
  br i1 %.not1538, label %10883, label %10884

10883:                                            ; preds = %10879, %10873
  br label %10884

10884:                                            ; preds = %10879, %10883
  %.str.5.sink5463 = phi ptr [ @.str.5, %10883 ], [ @.str.2, %10879 ]
  store i32 %10874, ptr %1549, align 4, !tbaa !5
  %10885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10886 = load i32, ptr @test_count, align 4, !tbaa !5
  %10887 = load i32, ptr %1495, align 4, !tbaa !5
  %10888 = call ptr @s2n_strerror(i32 noundef %10887, ptr noundef nonnull @.str.4) #12
  %10889 = load i32, ptr %1495, align 4, !tbaa !5
  %10890 = call ptr @s2n_strerror_debug(i32 noundef %10889, ptr noundef nonnull @.str.4) #12
  %10891 = load i32, ptr %1549, align 4, !tbaa !5
  %10892 = call ptr @strerror(i32 noundef %10891) #12
  %10893 = load i32, ptr %1549, align 4, !tbaa !5
  %10894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10885, ptr noundef nonnull %.str.5.sink5463, i32 noundef %10886, ptr noundef nonnull @.str.184, ptr noundef nonnull @.str.1, i32 noundef 944, ptr noundef %10888, ptr noundef %10890, ptr noundef %10892, i32 noundef %10893) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10895:                                            ; preds = %10868
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #12
  %10896 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %10896, ptr %71, align 8, !tbaa !9
  %10897 = load i32, ptr @test_count, align 4, !tbaa !5
  %10898 = add nsw i32 %10897, 1
  store i32 %10898, ptr @test_count, align 4, !tbaa !5
  %10899 = icmp eq ptr %10896, null
  br i1 %10899, label %10900, label %10922

10900:                                            ; preds = %10895
  %10901 = load i32, ptr %1549, align 4, !tbaa !5
  %10902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10903 = call i32 @s2n_print_stacktrace(ptr noundef %10902) #12
  %10904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10905 = trunc nuw i8 %10904 to i1
  br i1 %10905, label %10906, label %10910

10906:                                            ; preds = %10900
  %10907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10908 = call i32 @fileno(ptr noundef %10907) #12
  %10909 = call i32 @isatty(i32 noundef %10908) #12
  %.not1537 = icmp eq i32 %10909, 0
  br i1 %.not1537, label %10910, label %10911

10910:                                            ; preds = %10906, %10900
  br label %10911

10911:                                            ; preds = %10906, %10910
  %.str.5.sink5472 = phi ptr [ @.str.5, %10910 ], [ @.str.2, %10906 ]
  store i32 %10901, ptr %1549, align 4, !tbaa !5
  %10912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10913 = load i32, ptr @test_count, align 4, !tbaa !5
  %10914 = load i32, ptr %1495, align 4, !tbaa !5
  %10915 = call ptr @s2n_strerror(i32 noundef %10914, ptr noundef nonnull @.str.4) #12
  %10916 = load i32, ptr %1495, align 4, !tbaa !5
  %10917 = call ptr @s2n_strerror_debug(i32 noundef %10916, ptr noundef nonnull @.str.4) #12
  %10918 = load i32, ptr %1549, align 4, !tbaa !5
  %10919 = call ptr @strerror(i32 noundef %10918) #12
  %10920 = load i32, ptr %1549, align 4, !tbaa !5
  %10921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10912, ptr noundef nonnull %.str.5.sink5472, i32 noundef %10913, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.1, i32 noundef 948, ptr noundef %10915, ptr noundef %10917, ptr noundef %10919, i32 noundef %10920) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10922:                                            ; preds = %10895
  %10923 = add nsw i32 %10897, 2
  store i32 %10923, ptr @test_count, align 4, !tbaa !5
  %10924 = load ptr, ptr %70, align 8, !tbaa !9
  %10925 = call i32 @s2n_connection_set_config(ptr noundef nonnull %10896, ptr noundef %10924) #12
  %10926 = icmp eq i32 %10925, -1
  br i1 %10926, label %10927, label %10949

10927:                                            ; preds = %10922
  %10928 = load i32, ptr %1549, align 4, !tbaa !5
  %10929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10930 = call i32 @s2n_print_stacktrace(ptr noundef %10929) #12
  %10931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10932 = trunc nuw i8 %10931 to i1
  br i1 %10932, label %10933, label %10937

10933:                                            ; preds = %10927
  %10934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10935 = call i32 @fileno(ptr noundef %10934) #12
  %10936 = call i32 @isatty(i32 noundef %10935) #12
  %.not1536 = icmp eq i32 %10936, 0
  br i1 %.not1536, label %10937, label %10938

10937:                                            ; preds = %10933, %10927
  br label %10938

10938:                                            ; preds = %10933, %10937
  %.str.5.sink5481 = phi ptr [ @.str.5, %10937 ], [ @.str.2, %10933 ]
  store i32 %10928, ptr %1549, align 4, !tbaa !5
  %10939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10940 = load i32, ptr @test_count, align 4, !tbaa !5
  %10941 = load i32, ptr %1495, align 4, !tbaa !5
  %10942 = call ptr @s2n_strerror(i32 noundef %10941, ptr noundef nonnull @.str.4) #12
  %10943 = load i32, ptr %1495, align 4, !tbaa !5
  %10944 = call ptr @s2n_strerror_debug(i32 noundef %10943, ptr noundef nonnull @.str.4) #12
  %10945 = load i32, ptr %1549, align 4, !tbaa !5
  %10946 = call ptr @strerror(i32 noundef %10945) #12
  %10947 = load i32, ptr %1549, align 4, !tbaa !5
  %10948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10939, ptr noundef nonnull %.str.5.sink5481, i32 noundef %10940, ptr noundef nonnull @.str.188, ptr noundef nonnull @.str.1, i32 noundef 949, ptr noundef %10942, ptr noundef %10944, ptr noundef %10946, i32 noundef %10947) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10949:                                            ; preds = %10922
  %10950 = load i32, ptr @test_count, align 4, !tbaa !5
  %10951 = add nsw i32 %10950, 1
  store i32 %10951, ptr @test_count, align 4, !tbaa !5
  %10952 = load ptr, ptr %71, align 8, !tbaa !9
  %10953 = call i32 @s2n_connection_set_blinding(ptr noundef %10952, i32 noundef 1) #12
  %10954 = icmp eq i32 %10953, -1
  br i1 %10954, label %10955, label %10977

10955:                                            ; preds = %10949
  %10956 = load i32, ptr %1549, align 4, !tbaa !5
  %10957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10958 = call i32 @s2n_print_stacktrace(ptr noundef %10957) #12
  %10959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10960 = trunc nuw i8 %10959 to i1
  br i1 %10960, label %10961, label %10965

10961:                                            ; preds = %10955
  %10962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10963 = call i32 @fileno(ptr noundef %10962) #12
  %10964 = call i32 @isatty(i32 noundef %10963) #12
  %.not1535 = icmp eq i32 %10964, 0
  br i1 %.not1535, label %10965, label %10966

10965:                                            ; preds = %10961, %10955
  br label %10966

10966:                                            ; preds = %10961, %10965
  %.str.5.sink5490 = phi ptr [ @.str.5, %10965 ], [ @.str.2, %10961 ]
  store i32 %10956, ptr %1549, align 4, !tbaa !5
  %10967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10968 = load i32, ptr @test_count, align 4, !tbaa !5
  %10969 = load i32, ptr %1495, align 4, !tbaa !5
  %10970 = call ptr @s2n_strerror(i32 noundef %10969, ptr noundef nonnull @.str.4) #12
  %10971 = load i32, ptr %1495, align 4, !tbaa !5
  %10972 = call ptr @s2n_strerror_debug(i32 noundef %10971, ptr noundef nonnull @.str.4) #12
  %10973 = load i32, ptr %1549, align 4, !tbaa !5
  %10974 = call ptr @strerror(i32 noundef %10973) #12
  %10975 = load i32, ptr %1549, align 4, !tbaa !5
  %10976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10967, ptr noundef nonnull %.str.5.sink5490, i32 noundef %10968, ptr noundef nonnull @.str.198, ptr noundef nonnull @.str.1, i32 noundef 950, ptr noundef %10970, ptr noundef %10972, ptr noundef %10974, i32 noundef %10975) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10977:                                            ; preds = %10949
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %72) #12
  store i64 0, ptr %72, align 8
  %10978 = load i32, ptr @test_count, align 4, !tbaa !5
  %10979 = add nsw i32 %10978, 1
  store i32 %10979, ptr @test_count, align 4, !tbaa !5
  %10980 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %72) #12
  %10981 = icmp eq i32 %10980, -1
  br i1 %10981, label %10982, label %11004

10982:                                            ; preds = %10977
  %10983 = load i32, ptr %1549, align 4, !tbaa !5
  %10984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10985 = call i32 @s2n_print_stacktrace(ptr noundef %10984) #12
  %10986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10987 = trunc nuw i8 %10986 to i1
  br i1 %10987, label %10988, label %10992

10988:                                            ; preds = %10982
  %10989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10990 = call i32 @fileno(ptr noundef %10989) #12
  %10991 = call i32 @isatty(i32 noundef %10990) #12
  %.not1534 = icmp eq i32 %10991, 0
  br i1 %.not1534, label %10992, label %10993

10992:                                            ; preds = %10988, %10982
  br label %10993

10993:                                            ; preds = %10988, %10992
  %.str.5.sink5499 = phi ptr [ @.str.5, %10992 ], [ @.str.2, %10988 ]
  store i32 %10983, ptr %1549, align 4, !tbaa !5
  %10994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10995 = load i32, ptr @test_count, align 4, !tbaa !5
  %10996 = load i32, ptr %1495, align 4, !tbaa !5
  %10997 = call ptr @s2n_strerror(i32 noundef %10996, ptr noundef nonnull @.str.4) #12
  %10998 = load i32, ptr %1495, align 4, !tbaa !5
  %10999 = call ptr @s2n_strerror_debug(i32 noundef %10998, ptr noundef nonnull @.str.4) #12
  %11000 = load i32, ptr %1549, align 4, !tbaa !5
  %11001 = call ptr @strerror(i32 noundef %11000) #12
  %11002 = load i32, ptr %1549, align 4, !tbaa !5
  %11003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10994, ptr noundef nonnull %.str.5.sink5499, i32 noundef %10995, ptr noundef nonnull @.str.191, ptr noundef nonnull @.str.1, i32 noundef 953, ptr noundef %10997, ptr noundef %10999, ptr noundef %11001, i32 noundef %11002) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11004:                                            ; preds = %10977
  %11005 = load i32, ptr @test_count, align 4, !tbaa !5
  %11006 = add nsw i32 %11005, 1
  store i32 %11006, ptr @test_count, align 4, !tbaa !5
  %11007 = load ptr, ptr %71, align 8, !tbaa !9
  %11008 = load ptr, ptr %69, align 8, !tbaa !9
  %11009 = call i32 @s2n_connections_set_io_pair(ptr noundef %11007, ptr noundef %11008, ptr noundef nonnull %72) #12
  %11010 = icmp eq i32 %11009, -1
  br i1 %11010, label %11011, label %11033

11011:                                            ; preds = %11004
  %11012 = load i32, ptr %1549, align 4, !tbaa !5
  %11013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11014 = call i32 @s2n_print_stacktrace(ptr noundef %11013) #12
  %11015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11016 = trunc nuw i8 %11015 to i1
  br i1 %11016, label %11017, label %11021

11017:                                            ; preds = %11011
  %11018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11019 = call i32 @fileno(ptr noundef %11018) #12
  %11020 = call i32 @isatty(i32 noundef %11019) #12
  %.not1533 = icmp eq i32 %11020, 0
  br i1 %.not1533, label %11021, label %11022

11021:                                            ; preds = %11017, %11011
  br label %11022

11022:                                            ; preds = %11017, %11021
  %.str.5.sink5508 = phi ptr [ @.str.5, %11021 ], [ @.str.2, %11017 ]
  store i32 %11012, ptr %1549, align 4, !tbaa !5
  %11023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11024 = load i32, ptr @test_count, align 4, !tbaa !5
  %11025 = load i32, ptr %1495, align 4, !tbaa !5
  %11026 = call ptr @s2n_strerror(i32 noundef %11025, ptr noundef nonnull @.str.4) #12
  %11027 = load i32, ptr %1495, align 4, !tbaa !5
  %11028 = call ptr @s2n_strerror_debug(i32 noundef %11027, ptr noundef nonnull @.str.4) #12
  %11029 = load i32, ptr %1549, align 4, !tbaa !5
  %11030 = call ptr @strerror(i32 noundef %11029) #12
  %11031 = load i32, ptr %1549, align 4, !tbaa !5
  %11032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11023, ptr noundef nonnull %.str.5.sink5508, i32 noundef %11024, ptr noundef nonnull @.str.192, ptr noundef nonnull @.str.1, i32 noundef 954, ptr noundef %11026, ptr noundef %11028, ptr noundef %11030, i32 noundef %11031) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11033:                                            ; preds = %11004
  %11034 = load i32, ptr @test_count, align 4, !tbaa !5
  %11035 = add nsw i32 %11034, 1
  store i32 %11035, ptr @test_count, align 4, !tbaa !5
  %11036 = load ptr, ptr %68, align 8, !tbaa !9
  %11037 = getelementptr inbounds i8, ptr %11036, i64 312
  %11038 = load i8, ptr %11037, align 8
  %11039 = and i8 %11038, 1
  %.not1425 = icmp eq i8 %11039, 0
  br i1 %.not1425, label %11062, label %11040

11040:                                            ; preds = %11033
  %11041 = load i32, ptr %1549, align 4, !tbaa !5
  %11042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11043 = call i32 @s2n_print_stacktrace(ptr noundef %11042) #12
  %11044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11045 = trunc nuw i8 %11044 to i1
  br i1 %11045, label %11046, label %11050

11046:                                            ; preds = %11040
  %11047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11048 = call i32 @fileno(ptr noundef %11047) #12
  %11049 = call i32 @isatty(i32 noundef %11048) #12
  %.not1532 = icmp eq i32 %11049, 0
  br i1 %.not1532, label %11050, label %11051

11050:                                            ; preds = %11046, %11040
  br label %11051

11051:                                            ; preds = %11046, %11050
  %.str.5.sink5517 = phi ptr [ @.str.5, %11050 ], [ @.str.2, %11046 ]
  store i32 %11041, ptr %1549, align 4, !tbaa !5
  %11052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11053 = load i32, ptr @test_count, align 4, !tbaa !5
  %11054 = load i32, ptr %1495, align 4, !tbaa !5
  %11055 = call ptr @s2n_strerror(i32 noundef %11054, ptr noundef nonnull @.str.4) #12
  %11056 = load i32, ptr %1495, align 4, !tbaa !5
  %11057 = call ptr @s2n_strerror_debug(i32 noundef %11056, ptr noundef nonnull @.str.4) #12
  %11058 = load i32, ptr %1549, align 4, !tbaa !5
  %11059 = call ptr @strerror(i32 noundef %11058) #12
  %11060 = load i32, ptr %1549, align 4, !tbaa !5
  %11061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11052, ptr noundef nonnull %.str.5.sink5517, i32 noundef %11053, ptr noundef nonnull @.str.193, ptr noundef nonnull @.str.1, i32 noundef 956, ptr noundef %11055, ptr noundef %11057, ptr noundef %11059, i32 noundef %11060) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11062:                                            ; preds = %11033
  %11063 = add nsw i32 %11034, 2
  store i32 %11063, ptr @test_count, align 4, !tbaa !5
  %11064 = getelementptr inbounds i8, ptr %11036, i64 304
  %11065 = load ptr, ptr %11064, align 8, !tbaa !72
  %11066 = icmp eq ptr %11065, null
  br i1 %11066, label %11089, label %11067

11067:                                            ; preds = %11062
  %11068 = load i32, ptr %1549, align 4, !tbaa !5
  %11069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11070 = call i32 @s2n_print_stacktrace(ptr noundef %11069) #12
  %11071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11072 = trunc nuw i8 %11071 to i1
  br i1 %11072, label %11073, label %11077

11073:                                            ; preds = %11067
  %11074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11075 = call i32 @fileno(ptr noundef %11074) #12
  %11076 = call i32 @isatty(i32 noundef %11075) #12
  %.not1426 = icmp eq i32 %11076, 0
  br i1 %.not1426, label %11077, label %11078

11077:                                            ; preds = %11073, %11067
  br label %11078

11078:                                            ; preds = %11073, %11077
  %.str.5.sink5526 = phi ptr [ @.str.5, %11077 ], [ @.str.2, %11073 ]
  store i32 %11068, ptr %1549, align 4, !tbaa !5
  %11079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11080 = load i32, ptr @test_count, align 4, !tbaa !5
  %11081 = load i32, ptr %1495, align 4, !tbaa !5
  %11082 = call ptr @s2n_strerror(i32 noundef %11081, ptr noundef nonnull @.str.4) #12
  %11083 = load i32, ptr %1495, align 4, !tbaa !5
  %11084 = call ptr @s2n_strerror_debug(i32 noundef %11083, ptr noundef nonnull @.str.4) #12
  %11085 = load i32, ptr %1549, align 4, !tbaa !5
  %11086 = call ptr @strerror(i32 noundef %11085) #12
  %11087 = load i32, ptr %1549, align 4, !tbaa !5
  %11088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11079, ptr noundef nonnull %.str.5.sink5526, i32 noundef %11080, ptr noundef nonnull @.str.194, ptr noundef nonnull @.str.1, i32 noundef 957, ptr noundef %11082, ptr noundef %11084, ptr noundef %11086, i32 noundef %11087) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11089:                                            ; preds = %11062
  %11090 = add nsw i32 %11034, 3
  store i32 %11090, ptr @test_count, align 4, !tbaa !5
  %11091 = load ptr, ptr %70, align 8, !tbaa !9
  %11092 = getelementptr inbounds i8, ptr %11091, i64 312
  %11093 = load i8, ptr %11092, align 8
  %11094 = and i8 %11093, 1
  %.not1427 = icmp eq i8 %11094, 0
  br i1 %.not1427, label %11117, label %11095

11095:                                            ; preds = %11089
  %11096 = load i32, ptr %1549, align 4, !tbaa !5
  %11097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11098 = call i32 @s2n_print_stacktrace(ptr noundef %11097) #12
  %11099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11100 = trunc nuw i8 %11099 to i1
  br i1 %11100, label %11101, label %11105

11101:                                            ; preds = %11095
  %11102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11103 = call i32 @fileno(ptr noundef %11102) #12
  %11104 = call i32 @isatty(i32 noundef %11103) #12
  %.not1531 = icmp eq i32 %11104, 0
  br i1 %.not1531, label %11105, label %11106

11105:                                            ; preds = %11101, %11095
  br label %11106

11106:                                            ; preds = %11101, %11105
  %.str.5.sink5535 = phi ptr [ @.str.5, %11105 ], [ @.str.2, %11101 ]
  store i32 %11096, ptr %1549, align 4, !tbaa !5
  %11107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11108 = load i32, ptr @test_count, align 4, !tbaa !5
  %11109 = load i32, ptr %1495, align 4, !tbaa !5
  %11110 = call ptr @s2n_strerror(i32 noundef %11109, ptr noundef nonnull @.str.4) #12
  %11111 = load i32, ptr %1495, align 4, !tbaa !5
  %11112 = call ptr @s2n_strerror_debug(i32 noundef %11111, ptr noundef nonnull @.str.4) #12
  %11113 = load i32, ptr %1549, align 4, !tbaa !5
  %11114 = call ptr @strerror(i32 noundef %11113) #12
  %11115 = load i32, ptr %1549, align 4, !tbaa !5
  %11116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11107, ptr noundef nonnull %.str.5.sink5535, i32 noundef %11108, ptr noundef nonnull @.str.195, ptr noundef nonnull @.str.1, i32 noundef 959, ptr noundef %11110, ptr noundef %11112, ptr noundef %11114, i32 noundef %11115) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11117:                                            ; preds = %11089
  %11118 = add nsw i32 %11034, 4
  store i32 %11118, ptr @test_count, align 4, !tbaa !5
  %11119 = getelementptr inbounds i8, ptr %11091, i64 304
  %11120 = load ptr, ptr %11119, align 8, !tbaa !72
  %11121 = icmp eq ptr %11120, null
  br i1 %11121, label %11144, label %11122

11122:                                            ; preds = %11117
  %11123 = load i32, ptr %1549, align 4, !tbaa !5
  %11124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11125 = call i32 @s2n_print_stacktrace(ptr noundef %11124) #12
  %11126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11127 = trunc nuw i8 %11126 to i1
  br i1 %11127, label %11128, label %11132

11128:                                            ; preds = %11122
  %11129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11130 = call i32 @fileno(ptr noundef %11129) #12
  %11131 = call i32 @isatty(i32 noundef %11130) #12
  %.not1428 = icmp eq i32 %11131, 0
  br i1 %.not1428, label %11132, label %11133

11132:                                            ; preds = %11128, %11122
  br label %11133

11133:                                            ; preds = %11128, %11132
  %.str.5.sink5544 = phi ptr [ @.str.5, %11132 ], [ @.str.2, %11128 ]
  store i32 %11123, ptr %1549, align 4, !tbaa !5
  %11134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11135 = load i32, ptr @test_count, align 4, !tbaa !5
  %11136 = load i32, ptr %1495, align 4, !tbaa !5
  %11137 = call ptr @s2n_strerror(i32 noundef %11136, ptr noundef nonnull @.str.4) #12
  %11138 = load i32, ptr %1495, align 4, !tbaa !5
  %11139 = call ptr @s2n_strerror_debug(i32 noundef %11138, ptr noundef nonnull @.str.4) #12
  %11140 = load i32, ptr %1549, align 4, !tbaa !5
  %11141 = call ptr @strerror(i32 noundef %11140) #12
  %11142 = load i32, ptr %1549, align 4, !tbaa !5
  %11143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11134, ptr noundef nonnull %.str.5.sink5544, i32 noundef %11135, ptr noundef nonnull @.str.199, ptr noundef nonnull @.str.1, i32 noundef 960, ptr noundef %11137, ptr noundef %11139, ptr noundef %11141, i32 noundef %11142) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11144:                                            ; preds = %11117
  %11145 = add nsw i32 %11034, 5
  store i32 %11145, ptr @test_count, align 4, !tbaa !5
  %11146 = load ptr, ptr %69, align 8, !tbaa !9
  %11147 = load ptr, ptr %71, align 8, !tbaa !9
  %11148 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %11146, ptr noundef %11147) #12
  %11149 = icmp eq i32 %11148, -1
  br i1 %11149, label %11172, label %11150

11150:                                            ; preds = %11144
  %11151 = load i32, ptr %1549, align 4, !tbaa !5
  %11152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11153 = call i32 @s2n_print_stacktrace(ptr noundef %11152) #12
  %11154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11155 = trunc nuw i8 %11154 to i1
  br i1 %11155, label %11156, label %11160

11156:                                            ; preds = %11150
  %11157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11158 = call i32 @fileno(ptr noundef %11157) #12
  %11159 = call i32 @isatty(i32 noundef %11158) #12
  %.not1429 = icmp eq i32 %11159, 0
  br i1 %.not1429, label %11160, label %11161

11160:                                            ; preds = %11156, %11150
  br label %11161

11161:                                            ; preds = %11156, %11160
  %.str.5.sink5553 = phi ptr [ @.str.5, %11160 ], [ @.str.2, %11156 ]
  store i32 %11151, ptr %1549, align 4, !tbaa !5
  %11162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11163 = load i32, ptr @test_count, align 4, !tbaa !5
  %11164 = load i32, ptr %1495, align 4, !tbaa !5
  %11165 = call ptr @s2n_strerror(i32 noundef %11164, ptr noundef nonnull @.str.4) #12
  %11166 = load i32, ptr %1495, align 4, !tbaa !5
  %11167 = call ptr @s2n_strerror_debug(i32 noundef %11166, ptr noundef nonnull @.str.4) #12
  %11168 = load i32, ptr %1549, align 4, !tbaa !5
  %11169 = call ptr @strerror(i32 noundef %11168) #12
  %11170 = load i32, ptr %1549, align 4, !tbaa !5
  %11171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11162, ptr noundef nonnull %.str.5.sink5553, i32 noundef %11163, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.1, i32 noundef 964, ptr noundef %11165, ptr noundef %11167, ptr noundef %11169, i32 noundef %11170) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11172:                                            ; preds = %11144
  %11173 = load i32, ptr @test_count, align 4, !tbaa !5
  %11174 = add nsw i32 %11173, 1
  store i32 %11174, ptr @test_count, align 4, !tbaa !5
  %11175 = load i32, ptr %1495, align 4, !tbaa !5
  %11176 = icmp eq i32 %11175, 335544366
  br i1 %11176, label %11199, label %11177

11177:                                            ; preds = %11172
  %11178 = load i32, ptr %1549, align 4, !tbaa !5
  %11179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11180 = call i32 @s2n_print_stacktrace(ptr noundef %11179) #12
  %11181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11182 = trunc nuw i8 %11181 to i1
  br i1 %11182, label %11183, label %11187

11183:                                            ; preds = %11177
  %11184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11185 = call i32 @fileno(ptr noundef %11184) #12
  %11186 = call i32 @isatty(i32 noundef %11185) #12
  %.not1430 = icmp eq i32 %11186, 0
  br i1 %.not1430, label %11187, label %11188

11187:                                            ; preds = %11183, %11177
  br label %11188

11188:                                            ; preds = %11183, %11187
  %.str.5.sink5562 = phi ptr [ @.str.5, %11187 ], [ @.str.2, %11183 ]
  store i32 %11178, ptr %1549, align 4, !tbaa !5
  %11189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11190 = load i32, ptr @test_count, align 4, !tbaa !5
  %11191 = load i32, ptr %1495, align 4, !tbaa !5
  %11192 = call ptr @s2n_strerror(i32 noundef %11191, ptr noundef nonnull @.str.4) #12
  %11193 = load i32, ptr %1495, align 4, !tbaa !5
  %11194 = call ptr @s2n_strerror_debug(i32 noundef %11193, ptr noundef nonnull @.str.4) #12
  %11195 = load i32, ptr %1549, align 4, !tbaa !5
  %11196 = call ptr @strerror(i32 noundef %11195) #12
  %11197 = load i32, ptr %1549, align 4, !tbaa !5
  %11198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11189, ptr noundef nonnull %.str.5.sink5562, i32 noundef %11190, ptr noundef nonnull @.str.201, ptr noundef nonnull @.str.1, i32 noundef 964, ptr noundef %11192, ptr noundef %11194, ptr noundef %11196, i32 noundef %11197) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11199:                                            ; preds = %11172
  %11200 = add nsw i32 %11173, 2
  store i32 %11200, ptr @test_count, align 4, !tbaa !5
  %11201 = call ptr @s2n_strerror_debug(i32 noundef 335544366, ptr noundef nonnull @.str.4) #12
  %11202 = icmp eq ptr %11201, null
  br i1 %11202, label %11203, label %11225

11203:                                            ; preds = %11199
  %11204 = load i32, ptr %1549, align 4, !tbaa !5
  %11205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11206 = call i32 @s2n_print_stacktrace(ptr noundef %11205) #12
  %11207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11208 = trunc nuw i8 %11207 to i1
  br i1 %11208, label %11209, label %11213

11209:                                            ; preds = %11203
  %11210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11211 = call i32 @fileno(ptr noundef %11210) #12
  %11212 = call i32 @isatty(i32 noundef %11211) #12
  %.not1530 = icmp eq i32 %11212, 0
  br i1 %.not1530, label %11213, label %11214

11213:                                            ; preds = %11209, %11203
  br label %11214

11214:                                            ; preds = %11209, %11213
  %.str.5.sink5571 = phi ptr [ @.str.5, %11213 ], [ @.str.2, %11209 ]
  store i32 %11204, ptr %1549, align 4, !tbaa !5
  %11215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11216 = load i32, ptr @test_count, align 4, !tbaa !5
  %11217 = load i32, ptr %1495, align 4, !tbaa !5
  %11218 = call ptr @s2n_strerror(i32 noundef %11217, ptr noundef nonnull @.str.4) #12
  %11219 = load i32, ptr %1495, align 4, !tbaa !5
  %11220 = call ptr @s2n_strerror_debug(i32 noundef %11219, ptr noundef nonnull @.str.4) #12
  %11221 = load i32, ptr %1549, align 4, !tbaa !5
  %11222 = call ptr @strerror(i32 noundef %11221) #12
  %11223 = load i32, ptr %1549, align 4, !tbaa !5
  %11224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11215, ptr noundef nonnull %.str.5.sink5571, i32 noundef %11216, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 964, ptr noundef %11218, ptr noundef %11220, ptr noundef %11222, i32 noundef %11223) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11225:                                            ; preds = %11199
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %11226 = call i32 @s2n_io_pair_close(ptr noundef nonnull %72) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %72) #12
  %11227 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %71) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #12
  %11228 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %70) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #12
  %11229 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %69) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #12
  %11230 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %68) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %68) #12
  %11231 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %62) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #12
  %11232 = load i32, ptr @test_count, align 4, !tbaa !5
  %11233 = add nsw i32 %11232, 1
  store i32 %11233, ptr @test_count, align 4, !tbaa !5
  %11234 = call i32 @s2n_config_disable_x509_time_verification(ptr noundef null) #12
  %11235 = icmp eq i32 %11234, -1
  br i1 %11235, label %11258, label %11236

11236:                                            ; preds = %11225
  %11237 = load i32, ptr %1549, align 4, !tbaa !5
  %11238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11239 = call i32 @s2n_print_stacktrace(ptr noundef %11238) #12
  %11240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11241 = trunc nuw i8 %11240 to i1
  br i1 %11241, label %11242, label %11246

11242:                                            ; preds = %11236
  %11243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11244 = call i32 @fileno(ptr noundef %11243) #12
  %11245 = call i32 @isatty(i32 noundef %11244) #12
  %.not1431 = icmp eq i32 %11245, 0
  br i1 %.not1431, label %11246, label %11247

11246:                                            ; preds = %11242, %11236
  br label %11247

11247:                                            ; preds = %11242, %11246
  %.str.5.sink5580 = phi ptr [ @.str.5, %11246 ], [ @.str.2, %11242 ]
  store i32 %11237, ptr %1549, align 4, !tbaa !5
  %11248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11249 = load i32, ptr @test_count, align 4, !tbaa !5
  %11250 = load i32, ptr %1495, align 4, !tbaa !5
  %11251 = call ptr @s2n_strerror(i32 noundef %11250, ptr noundef nonnull @.str.4) #12
  %11252 = load i32, ptr %1495, align 4, !tbaa !5
  %11253 = call ptr @s2n_strerror_debug(i32 noundef %11252, ptr noundef nonnull @.str.4) #12
  %11254 = load i32, ptr %1549, align 4, !tbaa !5
  %11255 = call ptr @strerror(i32 noundef %11254) #12
  %11256 = load i32, ptr %1549, align 4, !tbaa !5
  %11257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11248, ptr noundef nonnull %.str.5.sink5580, i32 noundef %11249, ptr noundef nonnull @.str.202, ptr noundef nonnull @.str.1, i32 noundef 972, ptr noundef %11251, ptr noundef %11253, ptr noundef %11255, i32 noundef %11256) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11258:                                            ; preds = %11225
  %11259 = load i32, ptr @test_count, align 4, !tbaa !5
  %11260 = add nsw i32 %11259, 1
  store i32 %11260, ptr @test_count, align 4, !tbaa !5
  %11261 = load i32, ptr %1495, align 4, !tbaa !5
  %11262 = icmp eq i32 %11261, 402653193
  br i1 %11262, label %11285, label %11263

11263:                                            ; preds = %11258
  %11264 = load i32, ptr %1549, align 4, !tbaa !5
  %11265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11266 = call i32 @s2n_print_stacktrace(ptr noundef %11265) #12
  %11267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11268 = trunc nuw i8 %11267 to i1
  br i1 %11268, label %11269, label %11273

11269:                                            ; preds = %11263
  %11270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11271 = call i32 @fileno(ptr noundef %11270) #12
  %11272 = call i32 @isatty(i32 noundef %11271) #12
  %.not1432 = icmp eq i32 %11272, 0
  br i1 %.not1432, label %11273, label %11274

11273:                                            ; preds = %11269, %11263
  br label %11274

11274:                                            ; preds = %11269, %11273
  %.str.5.sink5589 = phi ptr [ @.str.5, %11273 ], [ @.str.2, %11269 ]
  store i32 %11264, ptr %1549, align 4, !tbaa !5
  %11275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11276 = load i32, ptr @test_count, align 4, !tbaa !5
  %11277 = load i32, ptr %1495, align 4, !tbaa !5
  %11278 = call ptr @s2n_strerror(i32 noundef %11277, ptr noundef nonnull @.str.4) #12
  %11279 = load i32, ptr %1495, align 4, !tbaa !5
  %11280 = call ptr @s2n_strerror_debug(i32 noundef %11279, ptr noundef nonnull @.str.4) #12
  %11281 = load i32, ptr %1549, align 4, !tbaa !5
  %11282 = call ptr @strerror(i32 noundef %11281) #12
  %11283 = load i32, ptr %1549, align 4, !tbaa !5
  %11284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11275, ptr noundef nonnull %.str.5.sink5589, i32 noundef %11276, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 972, ptr noundef %11278, ptr noundef %11280, ptr noundef %11282, i32 noundef %11283) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11285:                                            ; preds = %11258
  %11286 = add nsw i32 %11259, 2
  store i32 %11286, ptr @test_count, align 4, !tbaa !5
  %11287 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %11288 = icmp eq ptr %11287, null
  br i1 %11288, label %11289, label %11311

11289:                                            ; preds = %11285
  %11290 = load i32, ptr %1549, align 4, !tbaa !5
  %11291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11292 = call i32 @s2n_print_stacktrace(ptr noundef %11291) #12
  %11293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11294 = trunc nuw i8 %11293 to i1
  br i1 %11294, label %11295, label %11299

11295:                                            ; preds = %11289
  %11296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11297 = call i32 @fileno(ptr noundef %11296) #12
  %11298 = call i32 @isatty(i32 noundef %11297) #12
  %.not1529 = icmp eq i32 %11298, 0
  br i1 %.not1529, label %11299, label %11300

11299:                                            ; preds = %11295, %11289
  br label %11300

11300:                                            ; preds = %11295, %11299
  %.str.5.sink5598 = phi ptr [ @.str.5, %11299 ], [ @.str.2, %11295 ]
  store i32 %11290, ptr %1549, align 4, !tbaa !5
  %11301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11302 = load i32, ptr @test_count, align 4, !tbaa !5
  %11303 = load i32, ptr %1495, align 4, !tbaa !5
  %11304 = call ptr @s2n_strerror(i32 noundef %11303, ptr noundef nonnull @.str.4) #12
  %11305 = load i32, ptr %1495, align 4, !tbaa !5
  %11306 = call ptr @s2n_strerror_debug(i32 noundef %11305, ptr noundef nonnull @.str.4) #12
  %11307 = load i32, ptr %1549, align 4, !tbaa !5
  %11308 = call ptr @strerror(i32 noundef %11307) #12
  %11309 = load i32, ptr %1549, align 4, !tbaa !5
  %11310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11301, ptr noundef nonnull %.str.5.sink5598, i32 noundef %11302, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 972, ptr noundef %11304, ptr noundef %11306, ptr noundef %11308, i32 noundef %11309) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11311:                                            ; preds = %11285
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %73) #12
  %11312 = call ptr @s2n_config_new() #12
  store ptr %11312, ptr %73, align 8, !tbaa !9
  %11313 = load i32, ptr @test_count, align 4, !tbaa !5
  %11314 = add nsw i32 %11313, 1
  store i32 %11314, ptr @test_count, align 4, !tbaa !5
  %11315 = icmp eq ptr %11312, null
  br i1 %11315, label %11316, label %11338

11316:                                            ; preds = %11311
  %11317 = load i32, ptr %1549, align 4, !tbaa !5
  %11318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11319 = call i32 @s2n_print_stacktrace(ptr noundef %11318) #12
  %11320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11321 = trunc nuw i8 %11320 to i1
  br i1 %11321, label %11322, label %11326

11322:                                            ; preds = %11316
  %11323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11324 = call i32 @fileno(ptr noundef %11323) #12
  %11325 = call i32 @isatty(i32 noundef %11324) #12
  %.not1528 = icmp eq i32 %11325, 0
  br i1 %.not1528, label %11326, label %11327

11326:                                            ; preds = %11322, %11316
  br label %11327

11327:                                            ; preds = %11322, %11326
  %.str.5.sink5607 = phi ptr [ @.str.5, %11326 ], [ @.str.2, %11322 ]
  store i32 %11317, ptr %1549, align 4, !tbaa !5
  %11328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11329 = load i32, ptr @test_count, align 4, !tbaa !5
  %11330 = load i32, ptr %1495, align 4, !tbaa !5
  %11331 = call ptr @s2n_strerror(i32 noundef %11330, ptr noundef nonnull @.str.4) #12
  %11332 = load i32, ptr %1495, align 4, !tbaa !5
  %11333 = call ptr @s2n_strerror_debug(i32 noundef %11332, ptr noundef nonnull @.str.4) #12
  %11334 = load i32, ptr %1549, align 4, !tbaa !5
  %11335 = call ptr @strerror(i32 noundef %11334) #12
  %11336 = load i32, ptr %1549, align 4, !tbaa !5
  %11337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11328, ptr noundef nonnull %.str.5.sink5607, i32 noundef %11329, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 977, ptr noundef %11331, ptr noundef %11333, ptr noundef %11335, i32 noundef %11336) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11338:                                            ; preds = %11311
  %11339 = add nsw i32 %11313, 2
  store i32 %11339, ptr @test_count, align 4, !tbaa !5
  %11340 = load i32, ptr %11312, align 8
  %11341 = and i32 %11340, 64
  %11342 = icmp eq i32 %11341, 0
  br i1 %11342, label %11365, label %11343

11343:                                            ; preds = %11338
  %11344 = load i32, ptr %1549, align 4, !tbaa !5
  %11345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11346 = call i32 @s2n_print_stacktrace(ptr noundef %11345) #12
  %11347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11348 = trunc nuw i8 %11347 to i1
  br i1 %11348, label %11349, label %11353

11349:                                            ; preds = %11343
  %11350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11351 = call i32 @fileno(ptr noundef %11350) #12
  %11352 = call i32 @isatty(i32 noundef %11351) #12
  %.not1433 = icmp eq i32 %11352, 0
  br i1 %.not1433, label %11353, label %11354

11353:                                            ; preds = %11349, %11343
  br label %11354

11354:                                            ; preds = %11349, %11353
  %.str.5.sink5616 = phi ptr [ @.str.5, %11353 ], [ @.str.2, %11349 ]
  store i32 %11344, ptr %1549, align 4, !tbaa !5
  %11355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11356 = load i32, ptr @test_count, align 4, !tbaa !5
  %11357 = load i32, ptr %1495, align 4, !tbaa !5
  %11358 = call ptr @s2n_strerror(i32 noundef %11357, ptr noundef nonnull @.str.4) #12
  %11359 = load i32, ptr %1495, align 4, !tbaa !5
  %11360 = call ptr @s2n_strerror_debug(i32 noundef %11359, ptr noundef nonnull @.str.4) #12
  %11361 = load i32, ptr %1549, align 4, !tbaa !5
  %11362 = call ptr @strerror(i32 noundef %11361) #12
  %11363 = load i32, ptr %1549, align 4, !tbaa !5
  %11364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11355, ptr noundef nonnull %.str.5.sink5616, i32 noundef %11356, ptr noundef nonnull @.str.203, ptr noundef nonnull @.str.1, i32 noundef 978, ptr noundef %11358, ptr noundef %11360, ptr noundef %11362, i32 noundef %11363) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11365:                                            ; preds = %11338
  %11366 = add nsw i32 %11313, 3
  store i32 %11366, ptr @test_count, align 4, !tbaa !5
  %11367 = call i32 @s2n_config_disable_x509_time_verification(ptr noundef nonnull %11312) #12
  %11368 = icmp eq i32 %11367, -1
  br i1 %11368, label %11369, label %11391

11369:                                            ; preds = %11365
  %11370 = load i32, ptr %1549, align 4, !tbaa !5
  %11371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11372 = call i32 @s2n_print_stacktrace(ptr noundef %11371) #12
  %11373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11374 = trunc nuw i8 %11373 to i1
  br i1 %11374, label %11375, label %11379

11375:                                            ; preds = %11369
  %11376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11377 = call i32 @fileno(ptr noundef %11376) #12
  %11378 = call i32 @isatty(i32 noundef %11377) #12
  %.not1527 = icmp eq i32 %11378, 0
  br i1 %.not1527, label %11379, label %11380

11379:                                            ; preds = %11375, %11369
  br label %11380

11380:                                            ; preds = %11375, %11379
  %.str.5.sink5625 = phi ptr [ @.str.5, %11379 ], [ @.str.2, %11375 ]
  store i32 %11370, ptr %1549, align 4, !tbaa !5
  %11381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11382 = load i32, ptr @test_count, align 4, !tbaa !5
  %11383 = load i32, ptr %1495, align 4, !tbaa !5
  %11384 = call ptr @s2n_strerror(i32 noundef %11383, ptr noundef nonnull @.str.4) #12
  %11385 = load i32, ptr %1495, align 4, !tbaa !5
  %11386 = call ptr @s2n_strerror_debug(i32 noundef %11385, ptr noundef nonnull @.str.4) #12
  %11387 = load i32, ptr %1549, align 4, !tbaa !5
  %11388 = call ptr @strerror(i32 noundef %11387) #12
  %11389 = load i32, ptr %1549, align 4, !tbaa !5
  %11390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11381, ptr noundef nonnull %.str.5.sink5625, i32 noundef %11382, ptr noundef nonnull @.str.204, ptr noundef nonnull @.str.1, i32 noundef 980, ptr noundef %11384, ptr noundef %11386, ptr noundef %11388, i32 noundef %11389) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11391:                                            ; preds = %11365
  %11392 = load i32, ptr @test_count, align 4, !tbaa !5
  %11393 = add nsw i32 %11392, 1
  store i32 %11393, ptr @test_count, align 4, !tbaa !5
  %11394 = load ptr, ptr %73, align 8, !tbaa !9
  %11395 = load i32, ptr %11394, align 8
  %11396 = and i32 %11395, 64
  %.not1434 = icmp eq i32 %11396, 0
  br i1 %.not1434, label %11397, label %11419

11397:                                            ; preds = %11391
  %11398 = load i32, ptr %1549, align 4, !tbaa !5
  %11399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11400 = call i32 @s2n_print_stacktrace(ptr noundef %11399) #12
  %11401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11402 = trunc nuw i8 %11401 to i1
  br i1 %11402, label %11403, label %11407

11403:                                            ; preds = %11397
  %11404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11405 = call i32 @fileno(ptr noundef %11404) #12
  %11406 = call i32 @isatty(i32 noundef %11405) #12
  %.not1435 = icmp eq i32 %11406, 0
  br i1 %.not1435, label %11407, label %11408

11407:                                            ; preds = %11403, %11397
  br label %11408

11408:                                            ; preds = %11403, %11407
  %.str.5.sink5634 = phi ptr [ @.str.5, %11407 ], [ @.str.2, %11403 ]
  store i32 %11398, ptr %1549, align 4, !tbaa !5
  %11409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11410 = load i32, ptr @test_count, align 4, !tbaa !5
  %11411 = load i32, ptr %1495, align 4, !tbaa !5
  %11412 = call ptr @s2n_strerror(i32 noundef %11411, ptr noundef nonnull @.str.4) #12
  %11413 = load i32, ptr %1495, align 4, !tbaa !5
  %11414 = call ptr @s2n_strerror_debug(i32 noundef %11413, ptr noundef nonnull @.str.4) #12
  %11415 = load i32, ptr %1549, align 4, !tbaa !5
  %11416 = call ptr @strerror(i32 noundef %11415) #12
  %11417 = load i32, ptr %1549, align 4, !tbaa !5
  %11418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11409, ptr noundef nonnull %.str.5.sink5634, i32 noundef %11410, ptr noundef nonnull @.str.205, ptr noundef nonnull @.str.1, i32 noundef 981, ptr noundef %11412, ptr noundef %11414, ptr noundef %11416, i32 noundef %11417) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11419:                                            ; preds = %11391
  %11420 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %73) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %73) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #12
  %11421 = call ptr @s2n_config_new() #12
  store ptr %11421, ptr %74, align 8, !tbaa !9
  %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 = icmp eq ptr %11421, null
  br i1 %11424, label %11425, label %11447

11425:                                            ; preds = %11419
  %11426 = load i32, ptr %1549, align 4, !tbaa !5
  %11427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11428 = call i32 @s2n_print_stacktrace(ptr noundef %11427) #12
  %11429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11430 = trunc nuw i8 %11429 to i1
  br i1 %11430, label %11431, label %11435

11431:                                            ; preds = %11425
  %11432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11433 = call i32 @fileno(ptr noundef %11432) #12
  %11434 = call i32 @isatty(i32 noundef %11433) #12
  %.not1526 = icmp eq i32 %11434, 0
  br i1 %.not1526, label %11435, label %11436

11435:                                            ; preds = %11431, %11425
  br label %11436

11436:                                            ; preds = %11431, %11435
  %.str.5.sink5643 = phi ptr [ @.str.5, %11435 ], [ @.str.2, %11431 ]
  store i32 %11426, ptr %1549, align 4, !tbaa !5
  %11437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11438 = load i32, ptr @test_count, align 4, !tbaa !5
  %11439 = load i32, ptr %1495, align 4, !tbaa !5
  %11440 = call ptr @s2n_strerror(i32 noundef %11439, ptr noundef nonnull @.str.4) #12
  %11441 = load i32, ptr %1495, align 4, !tbaa !5
  %11442 = call ptr @s2n_strerror_debug(i32 noundef %11441, ptr noundef nonnull @.str.4) #12
  %11443 = load i32, ptr %1549, align 4, !tbaa !5
  %11444 = call ptr @strerror(i32 noundef %11443) #12
  %11445 = load i32, ptr %1549, align 4, !tbaa !5
  %11446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11437, ptr noundef nonnull %.str.5.sink5643, i32 noundef %11438, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 990, ptr noundef %11440, ptr noundef %11442, ptr noundef %11444, i32 noundef %11445) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11447:                                            ; preds = %11419
  call void @llvm.lifetime.start.p0(i64 60, ptr nonnull %75) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(60) %75, i8 0, i64 60, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %76) #12
  store i16 0, ptr %76, align 2, !tbaa !77
  %11448 = call i32 @s2n_config_get_supported_groups(ptr noundef null, ptr noundef nonnull %75, i16 noundef zeroext 30, ptr noundef nonnull %76) #12
  %11449 = load i32, ptr @test_count, align 4, !tbaa !5
  %11450 = add nsw i32 %11449, 1
  store i32 %11450, ptr @test_count, align 4, !tbaa !5
  %11451 = icmp eq i32 %11448, -1
  br i1 %11451, label %11474, label %11452

11452:                                            ; preds = %11447
  %11453 = load i32, ptr %1549, 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
  %.not1436 = icmp eq i32 %11461, 0
  br i1 %.not1436, label %11462, label %11463

11462:                                            ; preds = %11458, %11452
  br label %11463

11463:                                            ; preds = %11458, %11462
  %.str.5.sink5652 = phi ptr [ @.str.5, %11462 ], [ @.str.2, %11458 ]
  store i32 %11453, ptr %1549, 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 %1495, align 4, !tbaa !5
  %11467 = call ptr @s2n_strerror(i32 noundef %11466, ptr noundef nonnull @.str.4) #12
  %11468 = load i32, ptr %1495, align 4, !tbaa !5
  %11469 = call ptr @s2n_strerror_debug(i32 noundef %11468, ptr noundef nonnull @.str.4) #12
  %11470 = load i32, ptr %1549, align 4, !tbaa !5
  %11471 = call ptr @strerror(i32 noundef %11470) #12
  %11472 = load i32, ptr %1549, align 4, !tbaa !5
  %11473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11464, ptr noundef nonnull %.str.5.sink5652, i32 noundef %11465, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.1, i32 noundef 996, ptr noundef %11467, ptr noundef %11469, ptr noundef %11471, i32 noundef %11472) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11474:                                            ; preds = %11447
  %11475 = add nsw i32 %11449, 2
  store i32 %11475, ptr @test_count, align 4, !tbaa !5
  %11476 = load i32, ptr %1495, align 4, !tbaa !5
  %11477 = icmp eq i32 %11476, 402653193
  br i1 %11477, label %11500, label %11478

11478:                                            ; preds = %11474
  %11479 = load i32, ptr %1549, align 4, !tbaa !5
  %11480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11481 = call i32 @s2n_print_stacktrace(ptr noundef %11480) #12
  %11482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11483 = trunc nuw i8 %11482 to i1
  br i1 %11483, label %11484, label %11488

11484:                                            ; preds = %11478
  %11485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11486 = call i32 @fileno(ptr noundef %11485) #12
  %11487 = call i32 @isatty(i32 noundef %11486) #12
  %.not1437 = icmp eq i32 %11487, 0
  br i1 %.not1437, label %11488, label %11489

11488:                                            ; preds = %11484, %11478
  br label %11489

11489:                                            ; preds = %11484, %11488
  %.str.5.sink5661 = phi ptr [ @.str.5, %11488 ], [ @.str.2, %11484 ]
  store i32 %11479, ptr %1549, align 4, !tbaa !5
  %11490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11491 = load i32, ptr @test_count, align 4, !tbaa !5
  %11492 = load i32, ptr %1495, align 4, !tbaa !5
  %11493 = call ptr @s2n_strerror(i32 noundef %11492, ptr noundef nonnull @.str.4) #12
  %11494 = load i32, ptr %1495, align 4, !tbaa !5
  %11495 = call ptr @s2n_strerror_debug(i32 noundef %11494, ptr noundef nonnull @.str.4) #12
  %11496 = load i32, ptr %1549, align 4, !tbaa !5
  %11497 = call ptr @strerror(i32 noundef %11496) #12
  %11498 = load i32, ptr %1549, align 4, !tbaa !5
  %11499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11490, ptr noundef nonnull %.str.5.sink5661, i32 noundef %11491, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 996, ptr noundef %11493, ptr noundef %11495, ptr noundef %11497, i32 noundef %11498) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11500:                                            ; preds = %11474
  %11501 = add nsw i32 %11449, 3
  store i32 %11501, ptr @test_count, align 4, !tbaa !5
  %11502 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %11503 = icmp eq ptr %11502, null
  br i1 %11503, label %11504, label %11526

11504:                                            ; preds = %11500
  %11505 = load i32, ptr %1549, align 4, !tbaa !5
  %11506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11507 = call i32 @s2n_print_stacktrace(ptr noundef %11506) #12
  %11508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11509 = trunc nuw i8 %11508 to i1
  br i1 %11509, label %11510, label %11514

11510:                                            ; preds = %11504
  %11511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11512 = call i32 @fileno(ptr noundef %11511) #12
  %11513 = call i32 @isatty(i32 noundef %11512) #12
  %.not1525 = icmp eq i32 %11513, 0
  br i1 %.not1525, label %11514, label %11515

11514:                                            ; preds = %11510, %11504
  br label %11515

11515:                                            ; preds = %11510, %11514
  %.str.5.sink5670 = phi ptr [ @.str.5, %11514 ], [ @.str.2, %11510 ]
  store i32 %11505, ptr %1549, align 4, !tbaa !5
  %11516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11517 = load i32, ptr @test_count, align 4, !tbaa !5
  %11518 = load i32, ptr %1495, align 4, !tbaa !5
  %11519 = call ptr @s2n_strerror(i32 noundef %11518, ptr noundef nonnull @.str.4) #12
  %11520 = load i32, ptr %1495, align 4, !tbaa !5
  %11521 = call ptr @s2n_strerror_debug(i32 noundef %11520, ptr noundef nonnull @.str.4) #12
  %11522 = load i32, ptr %1549, align 4, !tbaa !5
  %11523 = call ptr @strerror(i32 noundef %11522) #12
  %11524 = load i32, ptr %1549, align 4, !tbaa !5
  %11525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11516, ptr noundef nonnull %.str.5.sink5670, i32 noundef %11517, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 996, ptr noundef %11519, ptr noundef %11521, ptr noundef %11523, i32 noundef %11524) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11526:                                            ; preds = %11500
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %11527 = load i32, ptr @test_count, align 4, !tbaa !5
  %11528 = add nsw i32 %11527, 1
  store i32 %11528, ptr @test_count, align 4, !tbaa !5
  %11529 = load i16, ptr %76, align 2, !tbaa !77
  %11530 = icmp eq i16 %11529, 0
  br i1 %11530, label %11553, label %11531

11531:                                            ; preds = %11526
  %11532 = load i32, ptr %1549, align 4, !tbaa !5
  %11533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11534 = call i32 @s2n_print_stacktrace(ptr noundef %11533) #12
  %11535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11536 = trunc nuw i8 %11535 to i1
  br i1 %11536, label %11537, label %11541

11537:                                            ; preds = %11531
  %11538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11539 = call i32 @fileno(ptr noundef %11538) #12
  %11540 = call i32 @isatty(i32 noundef %11539) #12
  %.not1438 = icmp eq i32 %11540, 0
  br i1 %.not1438, label %11541, label %11542

11541:                                            ; preds = %11537, %11531
  br label %11542

11542:                                            ; preds = %11537, %11541
  %.str.5.sink5679 = phi ptr [ @.str.5, %11541 ], [ @.str.2, %11537 ]
  store i32 %11532, ptr %1549, align 4, !tbaa !5
  %11543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11544 = load i32, ptr @test_count, align 4, !tbaa !5
  %11545 = load i32, ptr %1495, align 4, !tbaa !5
  %11546 = call ptr @s2n_strerror(i32 noundef %11545, ptr noundef nonnull @.str.4) #12
  %11547 = load i32, ptr %1495, align 4, !tbaa !5
  %11548 = call ptr @s2n_strerror_debug(i32 noundef %11547, ptr noundef nonnull @.str.4) #12
  %11549 = load i32, ptr %1549, align 4, !tbaa !5
  %11550 = call ptr @strerror(i32 noundef %11549) #12
  %11551 = load i32, ptr %1549, align 4, !tbaa !5
  %11552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11543, ptr noundef nonnull %.str.5.sink5679, i32 noundef %11544, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.1, i32 noundef 997, ptr noundef %11546, ptr noundef %11548, ptr noundef %11550, i32 noundef %11551) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11553:                                            ; preds = %11526
  %11554 = load ptr, ptr %74, align 8, !tbaa !9
  %11555 = call i32 @s2n_config_get_supported_groups(ptr noundef %11554, ptr noundef null, i16 noundef zeroext 30, ptr noundef nonnull %76) #12
  %11556 = load i32, ptr @test_count, align 4, !tbaa !5
  %11557 = add nsw i32 %11556, 1
  store i32 %11557, ptr @test_count, align 4, !tbaa !5
  %11558 = icmp eq i32 %11555, -1
  br i1 %11558, label %11581, label %11559

11559:                                            ; preds = %11553
  %11560 = load i32, ptr %1549, align 4, !tbaa !5
  %11561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11562 = call i32 @s2n_print_stacktrace(ptr noundef %11561) #12
  %11563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11564 = trunc nuw i8 %11563 to i1
  br i1 %11564, label %11565, label %11569

11565:                                            ; preds = %11559
  %11566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11567 = call i32 @fileno(ptr noundef %11566) #12
  %11568 = call i32 @isatty(i32 noundef %11567) #12
  %.not1439 = icmp eq i32 %11568, 0
  br i1 %.not1439, label %11569, label %11570

11569:                                            ; preds = %11565, %11559
  br label %11570

11570:                                            ; preds = %11565, %11569
  %.str.5.sink5688 = phi ptr [ @.str.5, %11569 ], [ @.str.2, %11565 ]
  store i32 %11560, ptr %1549, align 4, !tbaa !5
  %11571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11572 = load i32, ptr @test_count, align 4, !tbaa !5
  %11573 = load i32, ptr %1495, align 4, !tbaa !5
  %11574 = call ptr @s2n_strerror(i32 noundef %11573, ptr noundef nonnull @.str.4) #12
  %11575 = load i32, ptr %1495, align 4, !tbaa !5
  %11576 = call ptr @s2n_strerror_debug(i32 noundef %11575, ptr noundef nonnull @.str.4) #12
  %11577 = load i32, ptr %1549, align 4, !tbaa !5
  %11578 = call ptr @strerror(i32 noundef %11577) #12
  %11579 = load i32, ptr %1549, align 4, !tbaa !5
  %11580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11571, ptr noundef nonnull %.str.5.sink5688, i32 noundef %11572, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.1, i32 noundef 1000, ptr noundef %11574, ptr noundef %11576, ptr noundef %11578, i32 noundef %11579) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11581:                                            ; preds = %11553
  %11582 = add nsw i32 %11556, 2
  store i32 %11582, ptr @test_count, align 4, !tbaa !5
  %11583 = load i32, ptr %1495, align 4, !tbaa !5
  %11584 = icmp eq i32 %11583, 402653193
  br i1 %11584, label %11607, label %11585

11585:                                            ; preds = %11581
  %11586 = load i32, ptr %1549, align 4, !tbaa !5
  %11587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11588 = call i32 @s2n_print_stacktrace(ptr noundef %11587) #12
  %11589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11590 = trunc nuw i8 %11589 to i1
  br i1 %11590, label %11591, label %11595

11591:                                            ; preds = %11585
  %11592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11593 = call i32 @fileno(ptr noundef %11592) #12
  %11594 = call i32 @isatty(i32 noundef %11593) #12
  %.not1440 = icmp eq i32 %11594, 0
  br i1 %.not1440, label %11595, label %11596

11595:                                            ; preds = %11591, %11585
  br label %11596

11596:                                            ; preds = %11591, %11595
  %.str.5.sink5697 = phi ptr [ @.str.5, %11595 ], [ @.str.2, %11591 ]
  store i32 %11586, ptr %1549, align 4, !tbaa !5
  %11597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11598 = load i32, ptr @test_count, align 4, !tbaa !5
  %11599 = load i32, ptr %1495, align 4, !tbaa !5
  %11600 = call ptr @s2n_strerror(i32 noundef %11599, ptr noundef nonnull @.str.4) #12
  %11601 = load i32, ptr %1495, align 4, !tbaa !5
  %11602 = call ptr @s2n_strerror_debug(i32 noundef %11601, ptr noundef nonnull @.str.4) #12
  %11603 = load i32, ptr %1549, align 4, !tbaa !5
  %11604 = call ptr @strerror(i32 noundef %11603) #12
  %11605 = load i32, ptr %1549, align 4, !tbaa !5
  %11606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11597, ptr noundef nonnull %.str.5.sink5697, i32 noundef %11598, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 1000, ptr noundef %11600, ptr noundef %11602, ptr noundef %11604, i32 noundef %11605) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11607:                                            ; preds = %11581
  %11608 = add nsw i32 %11556, 3
  store i32 %11608, ptr @test_count, align 4, !tbaa !5
  %11609 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %11610 = icmp eq ptr %11609, null
  br i1 %11610, label %11611, label %11633

11611:                                            ; preds = %11607
  %11612 = load i32, ptr %1549, align 4, !tbaa !5
  %11613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11614 = call i32 @s2n_print_stacktrace(ptr noundef %11613) #12
  %11615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11616 = trunc nuw i8 %11615 to i1
  br i1 %11616, label %11617, label %11621

11617:                                            ; preds = %11611
  %11618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11619 = call i32 @fileno(ptr noundef %11618) #12
  %11620 = call i32 @isatty(i32 noundef %11619) #12
  %.not1524 = icmp eq i32 %11620, 0
  br i1 %.not1524, label %11621, label %11622

11621:                                            ; preds = %11617, %11611
  br label %11622

11622:                                            ; preds = %11617, %11621
  %.str.5.sink5706 = phi ptr [ @.str.5, %11621 ], [ @.str.2, %11617 ]
  store i32 %11612, ptr %1549, align 4, !tbaa !5
  %11623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11624 = load i32, ptr @test_count, align 4, !tbaa !5
  %11625 = load i32, ptr %1495, align 4, !tbaa !5
  %11626 = call ptr @s2n_strerror(i32 noundef %11625, ptr noundef nonnull @.str.4) #12
  %11627 = load i32, ptr %1495, align 4, !tbaa !5
  %11628 = call ptr @s2n_strerror_debug(i32 noundef %11627, ptr noundef nonnull @.str.4) #12
  %11629 = load i32, ptr %1549, align 4, !tbaa !5
  %11630 = call ptr @strerror(i32 noundef %11629) #12
  %11631 = load i32, ptr %1549, align 4, !tbaa !5
  %11632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11623, ptr noundef nonnull %.str.5.sink5706, i32 noundef %11624, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 1000, ptr noundef %11626, ptr noundef %11628, ptr noundef %11630, i32 noundef %11631) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11633:                                            ; preds = %11607
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %11634 = load i32, ptr @test_count, align 4, !tbaa !5
  %11635 = add nsw i32 %11634, 1
  store i32 %11635, ptr @test_count, align 4, !tbaa !5
  %11636 = load i16, ptr %76, align 2, !tbaa !77
  %11637 = icmp eq i16 %11636, 0
  br i1 %11637, label %11660, label %11638

11638:                                            ; preds = %11633
  %11639 = load i32, ptr %1549, align 4, !tbaa !5
  %11640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11641 = call i32 @s2n_print_stacktrace(ptr noundef %11640) #12
  %11642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11643 = trunc nuw i8 %11642 to i1
  br i1 %11643, label %11644, label %11648

11644:                                            ; preds = %11638
  %11645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11646 = call i32 @fileno(ptr noundef %11645) #12
  %11647 = call i32 @isatty(i32 noundef %11646) #12
  %.not1441 = icmp eq i32 %11647, 0
  br i1 %.not1441, label %11648, label %11649

11648:                                            ; preds = %11644, %11638
  br label %11649

11649:                                            ; preds = %11644, %11648
  %.str.5.sink5715 = phi ptr [ @.str.5, %11648 ], [ @.str.2, %11644 ]
  store i32 %11639, ptr %1549, align 4, !tbaa !5
  %11650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11651 = load i32, ptr @test_count, align 4, !tbaa !5
  %11652 = load i32, ptr %1495, align 4, !tbaa !5
  %11653 = call ptr @s2n_strerror(i32 noundef %11652, ptr noundef nonnull @.str.4) #12
  %11654 = load i32, ptr %1495, align 4, !tbaa !5
  %11655 = call ptr @s2n_strerror_debug(i32 noundef %11654, ptr noundef nonnull @.str.4) #12
  %11656 = load i32, ptr %1549, align 4, !tbaa !5
  %11657 = call ptr @strerror(i32 noundef %11656) #12
  %11658 = load i32, ptr %1549, align 4, !tbaa !5
  %11659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11650, ptr noundef nonnull %.str.5.sink5715, i32 noundef %11651, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.1, i32 noundef 1001, ptr noundef %11653, ptr noundef %11655, ptr noundef %11657, i32 noundef %11658) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11660:                                            ; preds = %11633
  %11661 = load ptr, ptr %74, align 8, !tbaa !9
  %11662 = call i32 @s2n_config_get_supported_groups(ptr noundef %11661, ptr noundef nonnull %75, i16 noundef zeroext 30, ptr noundef null) #12
  %11663 = load i32, ptr @test_count, align 4, !tbaa !5
  %11664 = add nsw i32 %11663, 1
  store i32 %11664, ptr @test_count, align 4, !tbaa !5
  %11665 = icmp eq i32 %11662, -1
  br i1 %11665, label %11688, label %11666

11666:                                            ; preds = %11660
  %11667 = load i32, ptr %1549, 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
  %.not1442 = icmp eq i32 %11675, 0
  br i1 %.not1442, label %11676, label %11677

11676:                                            ; preds = %11672, %11666
  br label %11677

11677:                                            ; preds = %11672, %11676
  %.str.5.sink5724 = phi ptr [ @.str.5, %11676 ], [ @.str.2, %11672 ]
  store i32 %11667, ptr %1549, 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 %1495, align 4, !tbaa !5
  %11681 = call ptr @s2n_strerror(i32 noundef %11680, ptr noundef nonnull @.str.4) #12
  %11682 = load i32, ptr %1495, align 4, !tbaa !5
  %11683 = call ptr @s2n_strerror_debug(i32 noundef %11682, ptr noundef nonnull @.str.4) #12
  %11684 = load i32, ptr %1549, align 4, !tbaa !5
  %11685 = call ptr @strerror(i32 noundef %11684) #12
  %11686 = load i32, ptr %1549, align 4, !tbaa !5
  %11687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11678, ptr noundef nonnull %.str.5.sink5724, i32 noundef %11679, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.1, i32 noundef 1004, ptr noundef %11681, ptr noundef %11683, ptr noundef %11685, i32 noundef %11686) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11688:                                            ; preds = %11660
  %11689 = add nsw i32 %11663, 2
  store i32 %11689, ptr @test_count, align 4, !tbaa !5
  %11690 = load i32, ptr %1495, align 4, !tbaa !5
  %11691 = icmp eq i32 %11690, 402653193
  br i1 %11691, label %11714, label %11692

11692:                                            ; preds = %11688
  %11693 = load i32, ptr %1549, align 4, !tbaa !5
  %11694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11695 = call i32 @s2n_print_stacktrace(ptr noundef %11694) #12
  %11696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11697 = trunc nuw i8 %11696 to i1
  br i1 %11697, label %11698, label %11702

11698:                                            ; preds = %11692
  %11699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11700 = call i32 @fileno(ptr noundef %11699) #12
  %11701 = call i32 @isatty(i32 noundef %11700) #12
  %.not1443 = icmp eq i32 %11701, 0
  br i1 %.not1443, label %11702, label %11703

11702:                                            ; preds = %11698, %11692
  br label %11703

11703:                                            ; preds = %11698, %11702
  %.str.5.sink5733 = phi ptr [ @.str.5, %11702 ], [ @.str.2, %11698 ]
  store i32 %11693, ptr %1549, align 4, !tbaa !5
  %11704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11705 = load i32, ptr @test_count, align 4, !tbaa !5
  %11706 = load i32, ptr %1495, align 4, !tbaa !5
  %11707 = call ptr @s2n_strerror(i32 noundef %11706, ptr noundef nonnull @.str.4) #12
  %11708 = load i32, ptr %1495, align 4, !tbaa !5
  %11709 = call ptr @s2n_strerror_debug(i32 noundef %11708, ptr noundef nonnull @.str.4) #12
  %11710 = load i32, ptr %1549, align 4, !tbaa !5
  %11711 = call ptr @strerror(i32 noundef %11710) #12
  %11712 = load i32, ptr %1549, align 4, !tbaa !5
  %11713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11704, ptr noundef nonnull %.str.5.sink5733, i32 noundef %11705, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 1004, ptr noundef %11707, ptr noundef %11709, ptr noundef %11711, i32 noundef %11712) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11714:                                            ; preds = %11688
  %11715 = add nsw i32 %11663, 3
  store i32 %11715, ptr @test_count, align 4, !tbaa !5
  %11716 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %11717 = icmp eq ptr %11716, null
  br i1 %11717, label %11718, label %11740

11718:                                            ; preds = %11714
  %11719 = load i32, ptr %1549, align 4, !tbaa !5
  %11720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11721 = call i32 @s2n_print_stacktrace(ptr noundef %11720) #12
  %11722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11723 = trunc nuw i8 %11722 to i1
  br i1 %11723, label %11724, label %11728

11724:                                            ; preds = %11718
  %11725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11726 = call i32 @fileno(ptr noundef %11725) #12
  %11727 = call i32 @isatty(i32 noundef %11726) #12
  %.not1523 = icmp eq i32 %11727, 0
  br i1 %.not1523, label %11728, label %11729

11728:                                            ; preds = %11724, %11718
  br label %11729

11729:                                            ; preds = %11724, %11728
  %.str.5.sink5742 = phi ptr [ @.str.5, %11728 ], [ @.str.2, %11724 ]
  store i32 %11719, ptr %1549, align 4, !tbaa !5
  %11730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11731 = load i32, ptr @test_count, align 4, !tbaa !5
  %11732 = load i32, ptr %1495, align 4, !tbaa !5
  %11733 = call ptr @s2n_strerror(i32 noundef %11732, ptr noundef nonnull @.str.4) #12
  %11734 = load i32, ptr %1495, align 4, !tbaa !5
  %11735 = call ptr @s2n_strerror_debug(i32 noundef %11734, ptr noundef nonnull @.str.4) #12
  %11736 = load i32, ptr %1549, align 4, !tbaa !5
  %11737 = call ptr @strerror(i32 noundef %11736) #12
  %11738 = load i32, ptr %1549, align 4, !tbaa !5
  %11739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11730, ptr noundef nonnull %.str.5.sink5742, i32 noundef %11731, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 1004, ptr noundef %11733, ptr noundef %11735, ptr noundef %11737, i32 noundef %11738) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11740:                                            ; preds = %11714
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %11741 = load i32, ptr @test_count, align 4, !tbaa !5
  %11742 = add nsw i32 %11741, 1
  store i32 %11742, ptr @test_count, align 4, !tbaa !5
  %11743 = load i16, ptr %76, align 2, !tbaa !77
  %11744 = icmp eq i16 %11743, 0
  br i1 %11744, label %11767, label %11745

11745:                                            ; preds = %11740
  %11746 = load i32, ptr %1549, align 4, !tbaa !5
  %11747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11748 = call i32 @s2n_print_stacktrace(ptr noundef %11747) #12
  %11749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11750 = trunc nuw i8 %11749 to i1
  br i1 %11750, label %11751, label %11755

11751:                                            ; preds = %11745
  %11752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11753 = call i32 @fileno(ptr noundef %11752) #12
  %11754 = call i32 @isatty(i32 noundef %11753) #12
  %.not1444 = icmp eq i32 %11754, 0
  br i1 %.not1444, label %11755, label %11756

11755:                                            ; preds = %11751, %11745
  br label %11756

11756:                                            ; preds = %11751, %11755
  %.str.5.sink5751 = phi ptr [ @.str.5, %11755 ], [ @.str.2, %11751 ]
  store i32 %11746, ptr %1549, align 4, !tbaa !5
  %11757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11758 = load i32, ptr @test_count, align 4, !tbaa !5
  %11759 = load i32, ptr %1495, align 4, !tbaa !5
  %11760 = call ptr @s2n_strerror(i32 noundef %11759, ptr noundef nonnull @.str.4) #12
  %11761 = load i32, ptr %1495, align 4, !tbaa !5
  %11762 = call ptr @s2n_strerror_debug(i32 noundef %11761, ptr noundef nonnull @.str.4) #12
  %11763 = load i32, ptr %1549, align 4, !tbaa !5
  %11764 = call ptr @strerror(i32 noundef %11763) #12
  %11765 = load i32, ptr %1549, align 4, !tbaa !5
  %11766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11757, ptr noundef nonnull %.str.5.sink5751, i32 noundef %11758, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.1, i32 noundef 1005, ptr noundef %11760, ptr noundef %11762, ptr noundef %11764, i32 noundef %11765) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11767:                                            ; preds = %11740
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %76) #12
  call void @llvm.lifetime.end.p0(i64 60, ptr nonnull %75) #12
  %11768 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %74) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #12
  %11769 = call ptr @s2n_config_new() #12
  store ptr %11769, ptr %77, align 8, !tbaa !9
  %11770 = load i32, ptr @test_count, align 4, !tbaa !5
  %11771 = add nsw i32 %11770, 1
  store i32 %11771, ptr @test_count, align 4, !tbaa !5
  %11772 = icmp eq ptr %11769, null
  br i1 %11772, label %11774, label %11796

.lr.ph1842:                                       ; preds = %.preheader1806
  %11773 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_supported_groups_extension, i64 8), align 8
  br label %12126

11774:                                            ; preds = %12052, %11767
  %11775 = load i32, ptr %1549, align 4, !tbaa !5
  %11776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11777 = call i32 @s2n_print_stacktrace(ptr noundef %11776) #12
  %11778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11779 = trunc nuw i8 %11778 to i1
  br i1 %11779, label %11780, label %11784

11780:                                            ; preds = %11774
  %11781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11782 = call i32 @fileno(ptr noundef %11781) #12
  %11783 = call i32 @isatty(i32 noundef %11782) #12
  %.not1522 = icmp eq i32 %11783, 0
  br i1 %.not1522, label %11784, label %11785

11784:                                            ; preds = %11780, %11774
  br label %11785

11785:                                            ; preds = %11780, %11784
  %.str.5.sink5760 = phi ptr [ @.str.5, %11784 ], [ @.str.2, %11780 ]
  store i32 %11775, ptr %1549, align 4, !tbaa !5
  %11786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11787 = load i32, ptr @test_count, align 4, !tbaa !5
  %11788 = load i32, ptr %1495, align 4, !tbaa !5
  %11789 = call ptr @s2n_strerror(i32 noundef %11788, ptr noundef nonnull @.str.4) #12
  %11790 = load i32, ptr %1495, align 4, !tbaa !5
  %11791 = call ptr @s2n_strerror_debug(i32 noundef %11790, ptr noundef nonnull @.str.4) #12
  %11792 = load i32, ptr %1549, align 4, !tbaa !5
  %11793 = call ptr @strerror(i32 noundef %11792) #12
  %11794 = load i32, ptr %1549, align 4, !tbaa !5
  %11795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11786, ptr noundef nonnull %.str.5.sink5760, i32 noundef %11787, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 1018, ptr noundef %11789, ptr noundef %11791, ptr noundef %11793, i32 noundef %11794) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11796:                                            ; preds = %11767
  %11797 = add nsw i32 %11770, 2
  store i32 %11797, ptr @test_count, align 4, !tbaa !5
  %11798 = load ptr, ptr @__const.main.policies, align 16, !tbaa !9
  %11799 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %11769, ptr noundef %11798) #12
  %11800 = icmp eq i32 %11799, -1
  br i1 %11800, label %11801, label %11823

11801:                                            ; preds = %12058, %11796
  %11802 = load i32, ptr %1549, align 4, !tbaa !5
  %11803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11804 = call i32 @s2n_print_stacktrace(ptr noundef %11803) #12
  %11805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11806 = trunc nuw i8 %11805 to i1
  br i1 %11806, label %11807, label %11811

11807:                                            ; preds = %11801
  %11808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11809 = call i32 @fileno(ptr noundef %11808) #12
  %11810 = call i32 @isatty(i32 noundef %11809) #12
  %.not1521 = icmp eq i32 %11810, 0
  br i1 %.not1521, label %11811, label %11812

11811:                                            ; preds = %11807, %11801
  br label %11812

11812:                                            ; preds = %11807, %11811
  %.str.5.sink5769 = phi ptr [ @.str.5, %11811 ], [ @.str.2, %11807 ]
  store i32 %11802, ptr %1549, align 4, !tbaa !5
  %11813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11814 = load i32, ptr @test_count, align 4, !tbaa !5
  %11815 = load i32, ptr %1495, align 4, !tbaa !5
  %11816 = call ptr @s2n_strerror(i32 noundef %11815, ptr noundef nonnull @.str.4) #12
  %11817 = load i32, ptr %1495, align 4, !tbaa !5
  %11818 = call ptr @s2n_strerror_debug(i32 noundef %11817, ptr noundef nonnull @.str.4) #12
  %11819 = load i32, ptr %1549, align 4, !tbaa !5
  %11820 = call ptr @strerror(i32 noundef %11819) #12
  %11821 = load i32, ptr %1549, align 4, !tbaa !5
  %11822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11813, ptr noundef nonnull %.str.5.sink5769, i32 noundef %11814, ptr noundef nonnull @.str.210, ptr noundef nonnull @.str.1, i32 noundef 1019, ptr noundef %11816, ptr noundef %11818, ptr noundef %11820, i32 noundef %11821) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11823:                                            ; preds = %11796
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %78) #12
  store i32 0, ptr %78, align 4, !tbaa !5
  %11824 = load i32, ptr @test_count, align 4, !tbaa !5
  %11825 = add nsw i32 %11824, 1
  store i32 %11825, ptr @test_count, align 4, !tbaa !5
  %11826 = load ptr, ptr %77, align 8, !tbaa !9
  %11827 = getelementptr inbounds i8, ptr %11826, i64 96
  %11828 = load ptr, ptr %11827, align 8, !tbaa !15
  %11829 = getelementptr inbounds i8, ptr %11828, i64 16
  %11830 = load ptr, ptr %11829, align 8, !tbaa !78
  %11831 = call i32 @s2n_kem_preferences_groups_available(ptr noundef %11830, ptr noundef nonnull %78) #12
  %11832 = call zeroext i1 @s2n_result_is_ok(i32 %11831)
  br i1 %11832, label %11855, label %11833

11833:                                            ; preds = %12063, %11823
  %11834 = load i32, ptr %1549, align 4, !tbaa !5
  %11835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11836 = call i32 @s2n_print_stacktrace(ptr noundef %11835) #12
  %11837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11838 = trunc nuw i8 %11837 to i1
  br i1 %11838, label %11839, label %11843

11839:                                            ; preds = %11833
  %11840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11841 = call i32 @fileno(ptr noundef %11840) #12
  %11842 = call i32 @isatty(i32 noundef %11841) #12
  %.not1512 = icmp eq i32 %11842, 0
  br i1 %.not1512, label %11843, label %11844

11843:                                            ; preds = %11839, %11833
  br label %11844

11844:                                            ; preds = %11839, %11843
  %.str.5.sink5778 = phi ptr [ @.str.5, %11843 ], [ @.str.2, %11839 ]
  store i32 %11834, ptr %1549, align 4, !tbaa !5
  %11845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11846 = load i32, ptr @test_count, align 4, !tbaa !5
  %11847 = load i32, ptr %1495, align 4, !tbaa !5
  %11848 = call ptr @s2n_strerror(i32 noundef %11847, ptr noundef nonnull @.str.4) #12
  %11849 = load i32, ptr %1495, align 4, !tbaa !5
  %11850 = call ptr @s2n_strerror_debug(i32 noundef %11849, ptr noundef nonnull @.str.4) #12
  %11851 = load i32, ptr %1549, align 4, !tbaa !5
  %11852 = call ptr @strerror(i32 noundef %11851) #12
  %11853 = load i32, ptr %1549, align 4, !tbaa !5
  %11854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11845, ptr noundef nonnull %.str.5.sink5778, i32 noundef %11846, ptr noundef nonnull @.str.211, ptr noundef nonnull @.str.1, i32 noundef 1023, ptr noundef %11848, ptr noundef %11850, ptr noundef %11852, i32 noundef %11853) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11855:                                            ; preds = %11823
  %11856 = load ptr, ptr %77, align 8, !tbaa !9
  %11857 = getelementptr inbounds i8, ptr %11856, i64 96
  %11858 = load ptr, ptr %11857, align 8, !tbaa !15
  %11859 = getelementptr inbounds i8, ptr %11858, i64 40
  %11860 = load ptr, ptr %11859, align 8, !tbaa !79
  %11861 = load i8, ptr %11860, align 8, !tbaa !80
  %11862 = zext i8 %11861 to i32
  %11863 = load i32, ptr %78, align 4, !tbaa !5
  %11864 = add i32 %11863, %11862
  store i32 %11864, ptr %78, align 4, !tbaa !5
  %11865 = load i32, ptr @test_count, align 4, !tbaa !5
  %11866 = add nsw i32 %11865, 1
  store i32 %11866, ptr @test_count, align 4, !tbaa !5
  %.not1513 = icmp eq i32 %11864, 0
  br i1 %.not1513, label %11867, label %.lr.ph.preheader

11867:                                            ; preds = %12073, %11855
  %11868 = load i32, ptr %1549, align 4, !tbaa !5
  %11869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11870 = call i32 @s2n_print_stacktrace(ptr noundef %11869) #12
  %11871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11872 = trunc nuw i8 %11871 to i1
  br i1 %11872, label %11873, label %11877

11873:                                            ; preds = %11867
  %11874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11875 = call i32 @fileno(ptr noundef %11874) #12
  %11876 = call i32 @isatty(i32 noundef %11875) #12
  %.not1514 = icmp eq i32 %11876, 0
  br i1 %.not1514, label %11877, label %11878

11877:                                            ; preds = %11873, %11867
  br label %11878

11878:                                            ; preds = %11873, %11877
  %.str.5.sink5787 = phi ptr [ @.str.5, %11877 ], [ @.str.2, %11873 ]
  store i32 %11868, ptr %1549, align 4, !tbaa !5
  %11879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11880 = load i32, ptr @test_count, align 4, !tbaa !5
  %11881 = load i32, ptr %1495, align 4, !tbaa !5
  %11882 = call ptr @s2n_strerror(i32 noundef %11881, ptr noundef nonnull @.str.4) #12
  %11883 = load i32, ptr %1495, align 4, !tbaa !5
  %11884 = call ptr @s2n_strerror_debug(i32 noundef %11883, ptr noundef nonnull @.str.4) #12
  %11885 = load i32, ptr %1549, align 4, !tbaa !5
  %11886 = call ptr @strerror(i32 noundef %11885) #12
  %11887 = load i32, ptr %1549, align 4, !tbaa !5
  %11888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11879, ptr noundef nonnull %.str.5.sink5787, i32 noundef %11880, ptr noundef nonnull @.str.212, ptr noundef nonnull @.str.1, i32 noundef 1025, ptr noundef %11882, ptr noundef %11884, ptr noundef %11886, i32 noundef %11887) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.lr.ph.preheader:                                 ; preds = %11855
  call void @llvm.lifetime.start.p0(i64 60, ptr nonnull %79) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(60) %79, i8 0, i64 60, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %80) #12
  store i16 11, ptr %80, align 2, !tbaa !77
  br label %.lr.ph

11889:                                            ; preds = %11975
  %11890 = add nuw nsw i64 %.012231832, 1
  %11891 = load i32, ptr %78, align 4, !tbaa !5
  %11892 = zext i32 %11891 to i64
  %11893 = icmp ult i64 %11890, %11892
  br i1 %11893, label %.lr.ph, label %._crit_edge, !llvm.loop !82

._crit_edge:                                      ; preds = %11889
  %.pre1873 = load ptr, ptr %77, align 8, !tbaa !9
  %11894 = add nsw i32 %11976, 2
  store i32 %11894, ptr @test_count, align 4, !tbaa !5
  %11895 = trunc i32 %11891 to i16
  %11896 = call i32 @s2n_config_get_supported_groups(ptr noundef %.pre1873, ptr noundef nonnull %79, i16 noundef zeroext %11895, ptr noundef nonnull %80) #12
  %11897 = icmp eq i32 %11896, -1
  br i1 %11897, label %12001, label %12023

.lr.ph:                                           ; preds = %.lr.ph.preheader, %11889
  %.012231832 = phi i64 [ %11890, %11889 ], [ 0, %.lr.ph.preheader ]
  %11898 = load ptr, ptr %77, align 8, !tbaa !9
  %11899 = trunc i64 %.012231832 to i16
  %11900 = call i32 @s2n_config_get_supported_groups(ptr noundef %11898, ptr noundef nonnull %79, i16 noundef zeroext %11899, ptr noundef nonnull %80) #12
  %11901 = load i32, ptr @test_count, align 4, !tbaa !5
  %11902 = add nsw i32 %11901, 1
  store i32 %11902, ptr @test_count, align 4, !tbaa !5
  %11903 = icmp eq i32 %11900, -1
  br i1 %11903, label %11925, label %.loopexit1865

.loopexit1865:                                    ; preds = %.lr.ph, %.lr.ph.1
  %11904 = load i32, ptr %1549, align 4, !tbaa !5
  %11905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11906 = call i32 @s2n_print_stacktrace(ptr noundef %11905) #12
  %11907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11908 = trunc nuw i8 %11907 to i1
  br i1 %11908, label %11909, label %11913

11909:                                            ; preds = %.loopexit1865
  %11910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11911 = call i32 @fileno(ptr noundef %11910) #12
  %11912 = call i32 @isatty(i32 noundef %11911) #12
  %.not1517 = icmp eq i32 %11912, 0
  br i1 %.not1517, label %11913, label %11914

11913:                                            ; preds = %11909, %.loopexit1865
  br label %11914

11914:                                            ; preds = %11909, %11913
  %.str.5.sink5796 = phi ptr [ @.str.5, %11913 ], [ @.str.2, %11909 ]
  store i32 %11904, ptr %1549, align 4, !tbaa !5
  %11915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11916 = load i32, ptr @test_count, align 4, !tbaa !5
  %11917 = load i32, ptr %1495, align 4, !tbaa !5
  %11918 = call ptr @s2n_strerror(i32 noundef %11917, ptr noundef nonnull @.str.4) #12
  %11919 = load i32, ptr %1495, align 4, !tbaa !5
  %11920 = call ptr @s2n_strerror_debug(i32 noundef %11919, ptr noundef nonnull @.str.4) #12
  %11921 = load i32, ptr %1549, align 4, !tbaa !5
  %11922 = call ptr @strerror(i32 noundef %11921) #12
  %11923 = load i32, ptr %1549, align 4, !tbaa !5
  %11924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11915, ptr noundef nonnull %.str.5.sink5796, i32 noundef %11916, ptr noundef nonnull @.str.206, ptr noundef nonnull @.str.1, i32 noundef 1032, ptr noundef %11918, ptr noundef %11920, ptr noundef %11922, i32 noundef %11923) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11925:                                            ; preds = %.lr.ph
  %11926 = add nsw i32 %11901, 2
  store i32 %11926, ptr @test_count, align 4, !tbaa !5
  %11927 = load i32, ptr %1495, align 4, !tbaa !5
  %11928 = icmp eq i32 %11927, 469762120
  br i1 %11928, label %11950, label %.loopexit1866

.loopexit1866:                                    ; preds = %11925, %12091
  %11929 = load i32, ptr %1549, align 4, !tbaa !5
  %11930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11931 = call i32 @s2n_print_stacktrace(ptr noundef %11930) #12
  %11932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11933 = trunc nuw i8 %11932 to i1
  br i1 %11933, label %11934, label %11938

11934:                                            ; preds = %.loopexit1866
  %11935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11936 = call i32 @fileno(ptr noundef %11935) #12
  %11937 = call i32 @isatty(i32 noundef %11936) #12
  %.not1518 = icmp eq i32 %11937, 0
  br i1 %.not1518, label %11938, label %11939

11938:                                            ; preds = %11934, %.loopexit1866
  br label %11939

11939:                                            ; preds = %11934, %11938
  %.str.5.sink5805 = phi ptr [ @.str.5, %11938 ], [ @.str.2, %11934 ]
  store i32 %11929, ptr %1549, align 4, !tbaa !5
  %11940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11941 = load i32, ptr @test_count, align 4, !tbaa !5
  %11942 = load i32, ptr %1495, align 4, !tbaa !5
  %11943 = call ptr @s2n_strerror(i32 noundef %11942, ptr noundef nonnull @.str.4) #12
  %11944 = load i32, ptr %1495, align 4, !tbaa !5
  %11945 = call ptr @s2n_strerror_debug(i32 noundef %11944, ptr noundef nonnull @.str.4) #12
  %11946 = load i32, ptr %1549, align 4, !tbaa !5
  %11947 = call ptr @strerror(i32 noundef %11946) #12
  %11948 = load i32, ptr %1549, align 4, !tbaa !5
  %11949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11940, ptr noundef nonnull %.str.5.sink5805, i32 noundef %11941, ptr noundef nonnull @.str.213, ptr noundef nonnull @.str.1, i32 noundef 1032, ptr noundef %11943, ptr noundef %11945, ptr noundef %11947, i32 noundef %11948) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11950:                                            ; preds = %11925
  %11951 = add nsw i32 %11901, 3
  store i32 %11951, ptr @test_count, align 4, !tbaa !5
  %11952 = call ptr @s2n_strerror_debug(i32 noundef 469762120, ptr noundef nonnull @.str.4) #12
  %11953 = icmp eq ptr %11952, null
  br i1 %11953, label %.loopexit1867, label %11975

.loopexit1867:                                    ; preds = %11950, %12095
  %11954 = load i32, ptr %1549, align 4, !tbaa !5
  %11955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11956 = call i32 @s2n_print_stacktrace(ptr noundef %11955) #12
  %11957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11958 = trunc nuw i8 %11957 to i1
  br i1 %11958, label %11959, label %11963

11959:                                            ; preds = %.loopexit1867
  %11960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11961 = call i32 @fileno(ptr noundef %11960) #12
  %11962 = call i32 @isatty(i32 noundef %11961) #12
  %.not1520 = icmp eq i32 %11962, 0
  br i1 %.not1520, label %11963, label %11964

11963:                                            ; preds = %11959, %.loopexit1867
  br label %11964

11964:                                            ; preds = %11959, %11963
  %.str.5.sink5814 = phi ptr [ @.str.5, %11963 ], [ @.str.2, %11959 ]
  store i32 %11954, ptr %1549, align 4, !tbaa !5
  %11965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11966 = load i32, ptr @test_count, align 4, !tbaa !5
  %11967 = load i32, ptr %1495, align 4, !tbaa !5
  %11968 = call ptr @s2n_strerror(i32 noundef %11967, ptr noundef nonnull @.str.4) #12
  %11969 = load i32, ptr %1495, align 4, !tbaa !5
  %11970 = call ptr @s2n_strerror_debug(i32 noundef %11969, ptr noundef nonnull @.str.4) #12
  %11971 = load i32, ptr %1549, align 4, !tbaa !5
  %11972 = call ptr @strerror(i32 noundef %11971) #12
  %11973 = load i32, ptr %1549, align 4, !tbaa !5
  %11974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11965, ptr noundef nonnull %.str.5.sink5814, i32 noundef %11966, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 1032, ptr noundef %11968, ptr noundef %11970, ptr noundef %11972, i32 noundef %11973) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11975:                                            ; preds = %11950
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %11976 = load i32, ptr @test_count, align 4, !tbaa !5
  %11977 = add nsw i32 %11976, 1
  store i32 %11977, ptr @test_count, align 4, !tbaa !5
  %11978 = load i16, ptr %80, align 2, !tbaa !77
  %11979 = icmp eq i16 %11978, 0
  br i1 %11979, label %11889, label %.loopexit1868

.loopexit1868:                                    ; preds = %11975, %12099
  %11980 = load i32, ptr %1549, align 4, !tbaa !5
  %11981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11982 = call i32 @s2n_print_stacktrace(ptr noundef %11981) #12
  %11983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11984 = trunc nuw i8 %11983 to i1
  br i1 %11984, label %11985, label %11989

11985:                                            ; preds = %.loopexit1868
  %11986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11987 = call i32 @fileno(ptr noundef %11986) #12
  %11988 = call i32 @isatty(i32 noundef %11987) #12
  %.not1519 = icmp eq i32 %11988, 0
  br i1 %.not1519, label %11989, label %11990

11989:                                            ; preds = %11985, %.loopexit1868
  br label %11990

11990:                                            ; preds = %11985, %11989
  %.str.5.sink5823 = phi ptr [ @.str.5, %11989 ], [ @.str.2, %11985 ]
  store i32 %11980, ptr %1549, align 4, !tbaa !5
  %11991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11992 = load i32, ptr @test_count, align 4, !tbaa !5
  %11993 = load i32, ptr %1495, align 4, !tbaa !5
  %11994 = call ptr @s2n_strerror(i32 noundef %11993, ptr noundef nonnull @.str.4) #12
  %11995 = load i32, ptr %1495, align 4, !tbaa !5
  %11996 = call ptr @s2n_strerror_debug(i32 noundef %11995, ptr noundef nonnull @.str.4) #12
  %11997 = load i32, ptr %1549, align 4, !tbaa !5
  %11998 = call ptr @strerror(i32 noundef %11997) #12
  %11999 = load i32, ptr %1549, align 4, !tbaa !5
  %12000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11991, ptr noundef nonnull %.str.5.sink5823, i32 noundef %11992, ptr noundef nonnull @.str.207, ptr noundef nonnull @.str.1, i32 noundef 1033, ptr noundef %11994, ptr noundef %11996, ptr noundef %11998, i32 noundef %11999) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12001:                                            ; preds = %._crit_edge.1, %._crit_edge
  %12002 = load i32, ptr %1549, align 4, !tbaa !5
  %12003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12004 = call i32 @s2n_print_stacktrace(ptr noundef %12003) #12
  %12005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12006 = trunc nuw i8 %12005 to i1
  br i1 %12006, label %12007, label %12011

12007:                                            ; preds = %12001
  %12008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12009 = call i32 @fileno(ptr noundef %12008) #12
  %12010 = call i32 @isatty(i32 noundef %12009) #12
  %.not1516 = icmp eq i32 %12010, 0
  br i1 %.not1516, label %12011, label %12012

12011:                                            ; preds = %12007, %12001
  br label %12012

12012:                                            ; preds = %12007, %12011
  %.str.5.sink5832 = phi ptr [ @.str.5, %12011 ], [ @.str.2, %12007 ]
  store i32 %12002, ptr %1549, align 4, !tbaa !5
  %12013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12014 = load i32, ptr @test_count, align 4, !tbaa !5
  %12015 = load i32, ptr %1495, align 4, !tbaa !5
  %12016 = call ptr @s2n_strerror(i32 noundef %12015, ptr noundef nonnull @.str.4) #12
  %12017 = load i32, ptr %1495, align 4, !tbaa !5
  %12018 = call ptr @s2n_strerror_debug(i32 noundef %12017, ptr noundef nonnull @.str.4) #12
  %12019 = load i32, ptr %1549, align 4, !tbaa !5
  %12020 = call ptr @strerror(i32 noundef %12019) #12
  %12021 = load i32, ptr %1549, align 4, !tbaa !5
  %12022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12013, ptr noundef nonnull %.str.5.sink5832, i32 noundef %12014, ptr noundef nonnull @.str.214, ptr noundef nonnull @.str.1, i32 noundef 1037, ptr noundef %12016, ptr noundef %12018, ptr noundef %12020, i32 noundef %12021) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12023:                                            ; preds = %._crit_edge
  %12024 = load i32, ptr @test_count, align 4, !tbaa !5
  %12025 = add nsw i32 %12024, 1
  store i32 %12025, ptr @test_count, align 4, !tbaa !5
  %12026 = load i16, ptr %80, align 2, !tbaa !77
  %12027 = zext i16 %12026 to i32
  %12028 = load i32, ptr %78, align 4, !tbaa !5
  %12029 = icmp eq i32 %12028, %12027
  br i1 %12029, label %12052, label %12030

12030:                                            ; preds = %12113, %12023
  %12031 = load i32, ptr %1549, align 4, !tbaa !5
  %12032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12033 = call i32 @s2n_print_stacktrace(ptr noundef %12032) #12
  %12034 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12035 = trunc nuw i8 %12034 to i1
  br i1 %12035, label %12036, label %12040

12036:                                            ; preds = %12030
  %12037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12038 = call i32 @fileno(ptr noundef %12037) #12
  %12039 = call i32 @isatty(i32 noundef %12038) #12
  %.not1515 = icmp eq i32 %12039, 0
  br i1 %.not1515, label %12040, label %12041

12040:                                            ; preds = %12036, %12030
  br label %12041

12041:                                            ; preds = %12036, %12040
  %.str.5.sink5841 = phi ptr [ @.str.5, %12040 ], [ @.str.2, %12036 ]
  store i32 %12031, ptr %1549, align 4, !tbaa !5
  %12042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12043 = load i32, ptr @test_count, align 4, !tbaa !5
  %12044 = load i32, ptr %1495, align 4, !tbaa !5
  %12045 = call ptr @s2n_strerror(i32 noundef %12044, ptr noundef nonnull @.str.4) #12
  %12046 = load i32, ptr %1495, align 4, !tbaa !5
  %12047 = call ptr @s2n_strerror_debug(i32 noundef %12046, ptr noundef nonnull @.str.4) #12
  %12048 = load i32, ptr %1549, align 4, !tbaa !5
  %12049 = call ptr @strerror(i32 noundef %12048) #12
  %12050 = load i32, ptr %1549, align 4, !tbaa !5
  %12051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12042, ptr noundef nonnull %.str.5.sink5841, i32 noundef %12043, ptr noundef nonnull @.str.215, ptr noundef nonnull @.str.1, i32 noundef 1038, ptr noundef %12045, ptr noundef %12047, ptr noundef %12049, i32 noundef %12050) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12052:                                            ; preds = %12023
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %80) #12
  call void @llvm.lifetime.end.p0(i64 60, ptr nonnull %79) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #12
  %12053 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %77) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #12
  %12054 = call ptr @s2n_config_new() #12
  store ptr %12054, ptr %77, align 8, !tbaa !9
  %12055 = load i32, ptr @test_count, align 4, !tbaa !5
  %12056 = add nsw i32 %12055, 1
  store i32 %12056, ptr @test_count, align 4, !tbaa !5
  %12057 = icmp eq ptr %12054, null
  br i1 %12057, label %11774, label %12058

12058:                                            ; preds = %12052
  %12059 = add nsw i32 %12055, 2
  store i32 %12059, ptr @test_count, align 4, !tbaa !5
  %12060 = load ptr, ptr getelementptr inbounds (i8, ptr @__const.main.policies, i64 8), align 8, !tbaa !9
  %12061 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %12054, ptr noundef %12060) #12
  %12062 = icmp eq i32 %12061, -1
  br i1 %12062, label %11801, label %12063

12063:                                            ; preds = %12058
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %78) #12
  store i32 0, ptr %78, align 4, !tbaa !5
  %12064 = load i32, ptr @test_count, align 4, !tbaa !5
  %12065 = add nsw i32 %12064, 1
  store i32 %12065, ptr @test_count, align 4, !tbaa !5
  %12066 = load ptr, ptr %77, align 8, !tbaa !9
  %12067 = getelementptr inbounds i8, ptr %12066, i64 96
  %12068 = load ptr, ptr %12067, align 8, !tbaa !15
  %12069 = getelementptr inbounds i8, ptr %12068, i64 16
  %12070 = load ptr, ptr %12069, align 8, !tbaa !78
  %12071 = call i32 @s2n_kem_preferences_groups_available(ptr noundef %12070, ptr noundef nonnull %78) #12
  %12072 = call zeroext i1 @s2n_result_is_ok(i32 %12071)
  br i1 %12072, label %12073, label %11833

12073:                                            ; preds = %12063
  %12074 = load ptr, ptr %77, align 8, !tbaa !9
  %12075 = getelementptr inbounds i8, ptr %12074, i64 96
  %12076 = load ptr, ptr %12075, align 8, !tbaa !15
  %12077 = getelementptr inbounds i8, ptr %12076, i64 40
  %12078 = load ptr, ptr %12077, align 8, !tbaa !79
  %12079 = load i8, ptr %12078, align 8, !tbaa !80
  %12080 = zext i8 %12079 to i32
  %12081 = load i32, ptr %78, align 4, !tbaa !5
  %12082 = add i32 %12081, %12080
  store i32 %12082, ptr %78, align 4, !tbaa !5
  %12083 = load i32, ptr @test_count, align 4, !tbaa !5
  %12084 = add nsw i32 %12083, 1
  store i32 %12084, ptr @test_count, align 4, !tbaa !5
  %.not1513.1 = icmp eq i32 %12082, 0
  br i1 %.not1513.1, label %11867, label %.lr.ph.preheader.1

.lr.ph.preheader.1:                               ; preds = %12073
  call void @llvm.lifetime.start.p0(i64 60, ptr nonnull %79) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(60) %79, i8 0, i64 60, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %80) #12
  store i16 11, ptr %80, align 2, !tbaa !77
  br label %.lr.ph.1

.lr.ph.1:                                         ; preds = %12104, %.lr.ph.preheader.1
  %.012231832.1 = phi i64 [ %12105, %12104 ], [ 0, %.lr.ph.preheader.1 ]
  %12085 = load ptr, ptr %77, align 8, !tbaa !9
  %12086 = trunc i64 %.012231832.1 to i16
  %12087 = call i32 @s2n_config_get_supported_groups(ptr noundef %12085, ptr noundef nonnull %79, i16 noundef zeroext %12086, ptr noundef nonnull %80) #12
  %12088 = load i32, ptr @test_count, align 4, !tbaa !5
  %12089 = add nsw i32 %12088, 1
  store i32 %12089, ptr @test_count, align 4, !tbaa !5
  %12090 = icmp eq i32 %12087, -1
  br i1 %12090, label %12091, label %.loopexit1865

12091:                                            ; preds = %.lr.ph.1
  %12092 = add nsw i32 %12088, 2
  store i32 %12092, ptr @test_count, align 4, !tbaa !5
  %12093 = load i32, ptr %1495, align 4, !tbaa !5
  %12094 = icmp eq i32 %12093, 469762120
  br i1 %12094, label %12095, label %.loopexit1866

12095:                                            ; preds = %12091
  %12096 = add nsw i32 %12088, 3
  store i32 %12096, ptr @test_count, align 4, !tbaa !5
  %12097 = call ptr @s2n_strerror_debug(i32 noundef 469762120, ptr noundef nonnull @.str.4) #12
  %12098 = icmp eq ptr %12097, null
  br i1 %12098, label %.loopexit1867, label %12099

12099:                                            ; preds = %12095
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %12100 = load i32, ptr @test_count, align 4, !tbaa !5
  %12101 = add nsw i32 %12100, 1
  store i32 %12101, ptr @test_count, align 4, !tbaa !5
  %12102 = load i16, ptr %80, align 2, !tbaa !77
  %12103 = icmp eq i16 %12102, 0
  br i1 %12103, label %12104, label %.loopexit1868

12104:                                            ; preds = %12099
  %12105 = add nuw nsw i64 %.012231832.1, 1
  %12106 = load i32, ptr %78, align 4, !tbaa !5
  %12107 = zext i32 %12106 to i64
  %12108 = icmp ult i64 %12105, %12107
  br i1 %12108, label %.lr.ph.1, label %._crit_edge.1, !llvm.loop !82

._crit_edge.1:                                    ; preds = %12104
  %.pre1874 = load ptr, ptr %77, align 8, !tbaa !9
  %12109 = add nsw i32 %12100, 2
  store i32 %12109, ptr @test_count, align 4, !tbaa !5
  %12110 = trunc i32 %12106 to i16
  %12111 = call i32 @s2n_config_get_supported_groups(ptr noundef %.pre1874, ptr noundef nonnull %79, i16 noundef zeroext %12110, ptr noundef nonnull %80) #12
  %12112 = icmp eq i32 %12111, -1
  br i1 %12112, label %12001, label %12113

12113:                                            ; preds = %._crit_edge.1
  %12114 = load i32, ptr @test_count, align 4, !tbaa !5
  %12115 = add nsw i32 %12114, 1
  store i32 %12115, ptr @test_count, align 4, !tbaa !5
  %12116 = load i16, ptr %80, align 2, !tbaa !77
  %12117 = zext i16 %12116 to i32
  %12118 = load i32, ptr %78, align 4, !tbaa !5
  %12119 = icmp eq i32 %12118, %12117
  br i1 %12119, label %.preheader1806, label %12030

.preheader1806:                                   ; preds = %12113
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %80) #12
  call void @llvm.lifetime.end.p0(i64 60, ptr nonnull %79) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %78) #12
  %12120 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %77) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #12
  %12121 = load ptr, ptr @security_policy_selection, align 8, !tbaa !83
  %.not14451838 = icmp eq ptr %12121, null
  br i1 %.not14451838, label %.thread1804, label %.lr.ph1842

12122:                                            ; preds = %.loopexit
  %12123 = add i64 %.012241839, 1
  %12124 = getelementptr inbounds [0 x %struct.s2n_security_policy_selection], ptr @security_policy_selection, i64 0, i64 %12123
  %12125 = load ptr, ptr %12124, align 8, !tbaa !83
  %.not1445 = icmp eq ptr %12125, null
  br i1 %.not1445, label %.thread1804, label %12126, !llvm.loop !85

12126:                                            ; preds = %.lr.ph1842, %12122
  %12127 = phi ptr [ @security_policy_selection, %.lr.ph1842 ], [ %12124, %12122 ]
  %.11840 = phi i32 [ 0, %.lr.ph1842 ], [ %.4, %12122 ]
  %.012241839 = phi i64 [ 0, %.lr.ph1842 ], [ %12123, %12122 ]
  %12128 = getelementptr inbounds i8, ptr %12127, i64 8
  %12129 = load ptr, ptr %12128, align 8, !tbaa !86
  %12130 = load i32, ptr @test_count, align 4, !tbaa !5
  %12131 = add nsw i32 %12130, 1
  store i32 %12131, ptr @test_count, align 4, !tbaa !5
  %12132 = icmp eq ptr %12129, null
  br i1 %12132, label %12133, label %12155

12133:                                            ; preds = %12126
  %12134 = load i32, ptr %1549, align 4, !tbaa !5
  %12135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12136 = call i32 @s2n_print_stacktrace(ptr noundef %12135) #12
  %12137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12138 = trunc nuw i8 %12137 to i1
  br i1 %12138, label %12139, label %12143

12139:                                            ; preds = %12133
  %12140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12141 = call i32 @fileno(ptr noundef %12140) #12
  %12142 = call i32 @isatty(i32 noundef %12141) #12
  %.not1511 = icmp eq i32 %12142, 0
  br i1 %.not1511, label %12143, label %12144

12143:                                            ; preds = %12139, %12133
  br label %12144

12144:                                            ; preds = %12139, %12143
  %.str.5.sink5850 = phi ptr [ @.str.5, %12143 ], [ @.str.2, %12139 ]
  store i32 %12134, ptr %1549, align 4, !tbaa !5
  %12145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12146 = load i32, ptr @test_count, align 4, !tbaa !5
  %12147 = load i32, ptr %1495, align 4, !tbaa !5
  %12148 = call ptr @s2n_strerror(i32 noundef %12147, ptr noundef nonnull @.str.4) #12
  %12149 = load i32, ptr %1495, align 4, !tbaa !5
  %12150 = call ptr @s2n_strerror_debug(i32 noundef %12149, ptr noundef nonnull @.str.4) #12
  %12151 = load i32, ptr %1549, align 4, !tbaa !5
  %12152 = call ptr @strerror(i32 noundef %12151) #12
  %12153 = load i32, ptr %1549, align 4, !tbaa !5
  %12154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12145, ptr noundef nonnull %.str.5.sink5850, i32 noundef %12146, ptr noundef nonnull @.str.216, ptr noundef nonnull @.str.1, i32 noundef 1047, ptr noundef %12148, ptr noundef %12150, ptr noundef %12152, i32 noundef %12153) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12155:                                            ; preds = %12126
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %81) #12
  store i32 0, ptr %81, align 4, !tbaa !5
  %12156 = add nsw i32 %12130, 2
  store i32 %12156, ptr @test_count, align 4, !tbaa !5
  %12157 = getelementptr inbounds i8, ptr %12129, i64 16
  %12158 = load ptr, ptr %12157, align 8, !tbaa !78
  %12159 = call i32 @s2n_kem_preferences_groups_available(ptr noundef %12158, ptr noundef nonnull %81) #12
  %12160 = call zeroext i1 @s2n_result_is_ok(i32 %12159)
  br i1 %12160, label %12183, label %12161

12161:                                            ; preds = %12155
  %12162 = load i32, ptr %1549, align 4, !tbaa !5
  %12163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12164 = call i32 @s2n_print_stacktrace(ptr noundef %12163) #12
  %12165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12166 = trunc nuw i8 %12165 to i1
  br i1 %12166, label %12167, label %12171

12167:                                            ; preds = %12161
  %12168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12169 = call i32 @fileno(ptr noundef %12168) #12
  %12170 = call i32 @isatty(i32 noundef %12169) #12
  %.not1446 = icmp eq i32 %12170, 0
  br i1 %.not1446, label %12171, label %12172

12171:                                            ; preds = %12167, %12161
  br label %12172

12172:                                            ; preds = %12167, %12171
  %.str.5.sink5859 = phi ptr [ @.str.5, %12171 ], [ @.str.2, %12167 ]
  store i32 %12162, ptr %1549, align 4, !tbaa !5
  %12173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12174 = load i32, ptr @test_count, align 4, !tbaa !5
  %12175 = load i32, ptr %1495, align 4, !tbaa !5
  %12176 = call ptr @s2n_strerror(i32 noundef %12175, ptr noundef nonnull @.str.4) #12
  %12177 = load i32, ptr %1495, align 4, !tbaa !5
  %12178 = call ptr @s2n_strerror_debug(i32 noundef %12177, ptr noundef nonnull @.str.4) #12
  %12179 = load i32, ptr %1549, align 4, !tbaa !5
  %12180 = call ptr @strerror(i32 noundef %12179) #12
  %12181 = load i32, ptr %1549, align 4, !tbaa !5
  %12182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12173, ptr noundef nonnull %.str.5.sink5859, i32 noundef %12174, ptr noundef nonnull @.str.217, ptr noundef nonnull @.str.1, i32 noundef 1050, ptr noundef %12176, ptr noundef %12178, ptr noundef %12180, i32 noundef %12181) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12183:                                            ; preds = %12155
  %12184 = getelementptr inbounds i8, ptr %12129, i64 40
  %12185 = load ptr, ptr %12184, align 8, !tbaa !79
  %12186 = load i8, ptr %12185, align 8, !tbaa !80
  %12187 = zext i8 %12186 to i32
  %12188 = load i32, ptr %81, align 4, !tbaa !5
  %12189 = add i32 %12188, %12187
  store i32 %12189, ptr %81, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %82) #12
  %12190 = call ptr @s2n_config_new() #12
  store ptr %12190, ptr %82, align 8, !tbaa !9
  %12191 = load i32, ptr @test_count, align 4, !tbaa !5
  %12192 = add nsw i32 %12191, 1
  store i32 %12192, ptr @test_count, align 4, !tbaa !5
  %12193 = icmp eq ptr %12190, null
  br i1 %12193, label %12194, label %12216

12194:                                            ; preds = %12183
  %12195 = load i32, ptr %1549, align 4, !tbaa !5
  %12196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12197 = call i32 @s2n_print_stacktrace(ptr noundef %12196) #12
  %12198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12199 = trunc nuw i8 %12198 to i1
  br i1 %12199, label %12200, label %12204

12200:                                            ; preds = %12194
  %12201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12202 = call i32 @fileno(ptr noundef %12201) #12
  %12203 = call i32 @isatty(i32 noundef %12202) #12
  %.not1510 = icmp eq i32 %12203, 0
  br i1 %.not1510, label %12204, label %12205

12204:                                            ; preds = %12200, %12194
  br label %12205

12205:                                            ; preds = %12200, %12204
  %.str.5.sink5868 = phi ptr [ @.str.5, %12204 ], [ @.str.2, %12200 ]
  store i32 %12195, ptr %1549, align 4, !tbaa !5
  %12206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12207 = load i32, ptr @test_count, align 4, !tbaa !5
  %12208 = load i32, ptr %1495, align 4, !tbaa !5
  %12209 = call ptr @s2n_strerror(i32 noundef %12208, ptr noundef nonnull @.str.4) #12
  %12210 = load i32, ptr %1495, align 4, !tbaa !5
  %12211 = call ptr @s2n_strerror_debug(i32 noundef %12210, ptr noundef nonnull @.str.4) #12
  %12212 = load i32, ptr %1549, align 4, !tbaa !5
  %12213 = call ptr @strerror(i32 noundef %12212) #12
  %12214 = load i32, ptr %1549, align 4, !tbaa !5
  %12215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12206, ptr noundef nonnull %.str.5.sink5868, i32 noundef %12207, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 1054, ptr noundef %12209, ptr noundef %12211, ptr noundef %12213, i32 noundef %12214) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12216:                                            ; preds = %12183
  %12217 = getelementptr inbounds i8, ptr %12190, i64 96
  store ptr %12129, ptr %12217, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 60, ptr nonnull %83) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(60) %83, i8 0, i64 60, i1 false)
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %84) #12
  store i16 0, ptr %84, align 2, !tbaa !77
  %12218 = add nsw i32 %12191, 2
  store i32 %12218, ptr @test_count, align 4, !tbaa !5
  %12219 = call i32 @s2n_config_get_supported_groups(ptr noundef nonnull %12190, ptr noundef nonnull %83, i16 noundef zeroext 30, ptr noundef nonnull %84) #12
  %12220 = icmp eq i32 %12219, -1
  br i1 %12220, label %12221, label %12243

12221:                                            ; preds = %12216
  %12222 = load i32, ptr %1549, align 4, !tbaa !5
  %12223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12224 = call i32 @s2n_print_stacktrace(ptr noundef %12223) #12
  %12225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12226 = trunc nuw i8 %12225 to i1
  br i1 %12226, label %12227, label %12231

12227:                                            ; preds = %12221
  %12228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12229 = call i32 @fileno(ptr noundef %12228) #12
  %12230 = call i32 @isatty(i32 noundef %12229) #12
  %.not1509 = icmp eq i32 %12230, 0
  br i1 %.not1509, label %12231, label %12232

12231:                                            ; preds = %12227, %12221
  br label %12232

12232:                                            ; preds = %12227, %12231
  %.str.5.sink5877 = phi ptr [ @.str.5, %12231 ], [ @.str.2, %12227 ]
  store i32 %12222, ptr %1549, align 4, !tbaa !5
  %12233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12234 = load i32, ptr @test_count, align 4, !tbaa !5
  %12235 = load i32, ptr %1495, align 4, !tbaa !5
  %12236 = call ptr @s2n_strerror(i32 noundef %12235, ptr noundef nonnull @.str.4) #12
  %12237 = load i32, ptr %1495, align 4, !tbaa !5
  %12238 = call ptr @s2n_strerror_debug(i32 noundef %12237, ptr noundef nonnull @.str.4) #12
  %12239 = load i32, ptr %1549, align 4, !tbaa !5
  %12240 = call ptr @strerror(i32 noundef %12239) #12
  %12241 = load i32, ptr %1549, align 4, !tbaa !5
  %12242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12233, ptr noundef nonnull %.str.5.sink5877, i32 noundef %12234, ptr noundef nonnull @.str.218, ptr noundef nonnull @.str.1, i32 noundef 1060, ptr noundef %12236, ptr noundef %12238, ptr noundef %12240, i32 noundef %12241) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12243:                                            ; preds = %12216
  %12244 = load i32, ptr @test_count, align 4, !tbaa !5
  %12245 = add nsw i32 %12244, 1
  store i32 %12245, ptr @test_count, align 4, !tbaa !5
  %12246 = load i16, ptr %84, align 2, !tbaa !77
  %12247 = zext i16 %12246 to i32
  %12248 = load i32, ptr %81, align 4, !tbaa !5
  %12249 = icmp eq i32 %12248, %12247
  br i1 %12249, label %12272, label %12250

12250:                                            ; preds = %12243
  %12251 = load i32, ptr %1549, align 4, !tbaa !5
  %12252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12253 = call i32 @s2n_print_stacktrace(ptr noundef %12252) #12
  %12254 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12255 = trunc nuw i8 %12254 to i1
  br i1 %12255, label %12256, label %12260

12256:                                            ; preds = %12250
  %12257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12258 = call i32 @fileno(ptr noundef %12257) #12
  %12259 = call i32 @isatty(i32 noundef %12258) #12
  %.not1447 = icmp eq i32 %12259, 0
  br i1 %.not1447, label %12260, label %12261

12260:                                            ; preds = %12256, %12250
  br label %12261

12261:                                            ; preds = %12256, %12260
  %.str.5.sink5886 = phi ptr [ @.str.5, %12260 ], [ @.str.2, %12256 ]
  store i32 %12251, ptr %1549, align 4, !tbaa !5
  %12262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12263 = load i32, ptr @test_count, align 4, !tbaa !5
  %12264 = load i32, ptr %1495, align 4, !tbaa !5
  %12265 = call ptr @s2n_strerror(i32 noundef %12264, ptr noundef nonnull @.str.4) #12
  %12266 = load i32, ptr %1495, align 4, !tbaa !5
  %12267 = call ptr @s2n_strerror_debug(i32 noundef %12266, ptr noundef nonnull @.str.4) #12
  %12268 = load i32, ptr %1549, align 4, !tbaa !5
  %12269 = call ptr @strerror(i32 noundef %12268) #12
  %12270 = load i32, ptr %1549, align 4, !tbaa !5
  %12271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12262, ptr noundef nonnull %.str.5.sink5886, i32 noundef %12263, ptr noundef nonnull @.str.219, ptr noundef nonnull @.str.1, i32 noundef 1061, ptr noundef %12265, ptr noundef %12267, ptr noundef %12269, i32 noundef %12270) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12272:                                            ; preds = %12243
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %85) #12
  %12273 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %12273, ptr %85, align 8, !tbaa !9
  %12274 = load i32, ptr @test_count, align 4, !tbaa !5
  %12275 = add nsw i32 %12274, 1
  store i32 %12275, ptr @test_count, align 4, !tbaa !5
  %12276 = icmp eq ptr %12273, null
  br i1 %12276, label %12277, label %12299

12277:                                            ; preds = %12272
  %12278 = load i32, ptr %1549, 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
  %.not1508 = icmp eq i32 %12286, 0
  br i1 %.not1508, label %12287, label %12288

12287:                                            ; preds = %12283, %12277
  br label %12288

12288:                                            ; preds = %12283, %12287
  %.str.5.sink5895 = phi ptr [ @.str.5, %12287 ], [ @.str.2, %12283 ]
  store i32 %12278, ptr %1549, 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 %1495, align 4, !tbaa !5
  %12292 = call ptr @s2n_strerror(i32 noundef %12291, ptr noundef nonnull @.str.4) #12
  %12293 = load i32, ptr %1495, align 4, !tbaa !5
  %12294 = call ptr @s2n_strerror_debug(i32 noundef %12293, ptr noundef nonnull @.str.4) #12
  %12295 = load i32, ptr %1549, align 4, !tbaa !5
  %12296 = call ptr @strerror(i32 noundef %12295) #12
  %12297 = load i32, ptr %1549, align 4, !tbaa !5
  %12298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12289, ptr noundef nonnull %.str.5.sink5895, i32 noundef %12290, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 1064, ptr noundef %12292, ptr noundef %12294, ptr noundef %12296, i32 noundef %12297) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12299:                                            ; preds = %12272
  %12300 = add nsw i32 %12274, 2
  store i32 %12300, ptr @test_count, align 4, !tbaa !5
  %12301 = load ptr, ptr %82, align 8, !tbaa !9
  %12302 = call i32 @s2n_connection_set_config(ptr noundef nonnull %12273, ptr noundef %12301) #12
  %12303 = icmp eq i32 %12302, -1
  br i1 %12303, label %12304, label %12326

12304:                                            ; preds = %12299
  %12305 = load i32, ptr %1549, 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
  %.not1507 = icmp eq i32 %12313, 0
  br i1 %.not1507, label %12314, label %12315

12314:                                            ; preds = %12310, %12304
  br label %12315

12315:                                            ; preds = %12310, %12314
  %.str.5.sink5904 = phi ptr [ @.str.5, %12314 ], [ @.str.2, %12310 ]
  store i32 %12305, ptr %1549, 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 %1495, align 4, !tbaa !5
  %12319 = call ptr @s2n_strerror(i32 noundef %12318, ptr noundef nonnull @.str.4) #12
  %12320 = load i32, ptr %1495, align 4, !tbaa !5
  %12321 = call ptr @s2n_strerror_debug(i32 noundef %12320, ptr noundef nonnull @.str.4) #12
  %12322 = load i32, ptr %1549, align 4, !tbaa !5
  %12323 = call ptr @strerror(i32 noundef %12322) #12
  %12324 = load i32, ptr %1549, align 4, !tbaa !5
  %12325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12316, ptr noundef nonnull %.str.5.sink5904, i32 noundef %12317, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 1065, 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 = load ptr, ptr %85, align 8, !tbaa !9
  %12328 = getelementptr inbounds i8, ptr %12327, i64 220
  store i8 34, ptr %12328, align 4, !tbaa !87
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %86) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %86, i8 0, i64 40, i1 false)
  %12329 = load i32, ptr @test_count, align 4, !tbaa !5
  %12330 = add nsw i32 %12329, 1
  store i32 %12330, ptr @test_count, align 4, !tbaa !5
  %12331 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %86, i32 noundef 0) #12
  %12332 = icmp eq i32 %12331, -1
  br i1 %12332, label %12333, label %12355

12333:                                            ; preds = %12326
  %12334 = load i32, ptr %1549, align 4, !tbaa !5
  %12335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12336 = call i32 @s2n_print_stacktrace(ptr noundef %12335) #12
  %12337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12338 = trunc nuw i8 %12337 to i1
  br i1 %12338, label %12339, label %12343

12339:                                            ; preds = %12333
  %12340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12341 = call i32 @fileno(ptr noundef %12340) #12
  %12342 = call i32 @isatty(i32 noundef %12341) #12
  %.not1506 = icmp eq i32 %12342, 0
  br i1 %.not1506, label %12343, label %12344

12343:                                            ; preds = %12339, %12333
  br label %12344

12344:                                            ; preds = %12339, %12343
  %.str.5.sink5913 = phi ptr [ @.str.5, %12343 ], [ @.str.2, %12339 ]
  store i32 %12334, ptr %1549, align 4, !tbaa !5
  %12345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12346 = load i32, ptr @test_count, align 4, !tbaa !5
  %12347 = load i32, ptr %1495, align 4, !tbaa !5
  %12348 = call ptr @s2n_strerror(i32 noundef %12347, ptr noundef nonnull @.str.4) #12
  %12349 = load i32, ptr %1495, align 4, !tbaa !5
  %12350 = call ptr @s2n_strerror_debug(i32 noundef %12349, ptr noundef nonnull @.str.4) #12
  %12351 = load i32, ptr %1549, align 4, !tbaa !5
  %12352 = call ptr @strerror(i32 noundef %12351) #12
  %12353 = load i32, ptr %1549, align 4, !tbaa !5
  %12354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12345, ptr noundef nonnull %.str.5.sink5913, i32 noundef %12346, ptr noundef nonnull @.str.220, ptr noundef nonnull @.str.1, i32 noundef 1070, ptr noundef %12348, ptr noundef %12350, ptr noundef %12352, i32 noundef %12353) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12355:                                            ; preds = %12326
  %12356 = load i32, ptr @test_count, align 4, !tbaa !5
  %12357 = add nsw i32 %12356, 1
  store i32 %12357, ptr @test_count, align 4, !tbaa !5
  %12358 = load ptr, ptr %85, align 8, !tbaa !9
  %12359 = call i32 %11773(ptr noundef %12358, ptr noundef nonnull %86) #12
  %12360 = icmp eq i32 %12359, -1
  br i1 %12360, label %12361, label %12383

12361:                                            ; preds = %12355
  %12362 = load i32, ptr %1549, align 4, !tbaa !5
  %12363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12364 = call i32 @s2n_print_stacktrace(ptr noundef %12363) #12
  %12365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12366 = trunc nuw i8 %12365 to i1
  br i1 %12366, label %12367, label %12371

12367:                                            ; preds = %12361
  %12368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12369 = call i32 @fileno(ptr noundef %12368) #12
  %12370 = call i32 @isatty(i32 noundef %12369) #12
  %.not1505 = icmp eq i32 %12370, 0
  br i1 %.not1505, label %12371, label %12372

12371:                                            ; preds = %12367, %12361
  br label %12372

12372:                                            ; preds = %12367, %12371
  %.str.5.sink5922 = phi ptr [ @.str.5, %12371 ], [ @.str.2, %12367 ]
  store i32 %12362, ptr %1549, align 4, !tbaa !5
  %12373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12374 = load i32, ptr @test_count, align 4, !tbaa !5
  %12375 = load i32, ptr %1495, align 4, !tbaa !5
  %12376 = call ptr @s2n_strerror(i32 noundef %12375, ptr noundef nonnull @.str.4) #12
  %12377 = load i32, ptr %1495, align 4, !tbaa !5
  %12378 = call ptr @s2n_strerror_debug(i32 noundef %12377, ptr noundef nonnull @.str.4) #12
  %12379 = load i32, ptr %1549, align 4, !tbaa !5
  %12380 = call ptr @strerror(i32 noundef %12379) #12
  %12381 = load i32, ptr %1549, align 4, !tbaa !5
  %12382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12373, ptr noundef nonnull %.str.5.sink5922, i32 noundef %12374, ptr noundef nonnull @.str.221, ptr noundef nonnull @.str.1, i32 noundef 1071, ptr noundef %12376, ptr noundef %12378, ptr noundef %12380, i32 noundef %12381) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12383:                                            ; preds = %12355
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %87) #12
  store i16 0, ptr %87, align 2, !tbaa !77
  %12384 = load i32, ptr @test_count, align 4, !tbaa !5
  %12385 = add nsw i32 %12384, 1
  store i32 %12385, ptr @test_count, align 4, !tbaa !5
  %12386 = call i32 @s2n_supported_groups_parse_count(ptr noundef nonnull %86, ptr noundef nonnull %87) #12
  %12387 = call zeroext i1 @s2n_result_is_ok(i32 %12386)
  br i1 %12387, label %12410, label %12388

12388:                                            ; preds = %12383
  %12389 = load i32, ptr %1549, align 4, !tbaa !5
  %12390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12391 = call i32 @s2n_print_stacktrace(ptr noundef %12390) #12
  %12392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12393 = trunc nuw i8 %12392 to i1
  br i1 %12393, label %12394, label %12398

12394:                                            ; preds = %12388
  %12395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12396 = call i32 @fileno(ptr noundef %12395) #12
  %12397 = call i32 @isatty(i32 noundef %12396) #12
  %.not1448 = icmp eq i32 %12397, 0
  br i1 %.not1448, label %12398, label %12399

12398:                                            ; preds = %12394, %12388
  br label %12399

12399:                                            ; preds = %12394, %12398
  %.str.5.sink5931 = phi ptr [ @.str.5, %12398 ], [ @.str.2, %12394 ]
  store i32 %12389, ptr %1549, align 4, !tbaa !5
  %12400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12401 = load i32, ptr @test_count, align 4, !tbaa !5
  %12402 = load i32, ptr %1495, align 4, !tbaa !5
  %12403 = call ptr @s2n_strerror(i32 noundef %12402, ptr noundef nonnull @.str.4) #12
  %12404 = load i32, ptr %1495, align 4, !tbaa !5
  %12405 = call ptr @s2n_strerror_debug(i32 noundef %12404, ptr noundef nonnull @.str.4) #12
  %12406 = load i32, ptr %1549, align 4, !tbaa !5
  %12407 = call ptr @strerror(i32 noundef %12406) #12
  %12408 = load i32, ptr %1549, align 4, !tbaa !5
  %12409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12400, ptr noundef nonnull %.str.5.sink5931, i32 noundef %12401, ptr noundef nonnull @.str.222, ptr noundef nonnull @.str.1, i32 noundef 1074, ptr noundef %12403, ptr noundef %12405, ptr noundef %12407, i32 noundef %12408) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12410:                                            ; preds = %12383
  %12411 = load i32, ptr @test_count, align 4, !tbaa !5
  %12412 = add nsw i32 %12411, 1
  store i32 %12412, ptr @test_count, align 4, !tbaa !5
  %12413 = load i16, ptr %87, align 2, !tbaa !77
  %12414 = zext i16 %12413 to i32
  %12415 = load i32, ptr %81, align 4, !tbaa !5
  %12416 = icmp eq i32 %12415, %12414
  br i1 %12416, label %.preheader, label %12418

.preheader:                                       ; preds = %12410
  %12417 = load i16, ptr %84, align 2, !tbaa !77
  %.not14511834.not = icmp eq i16 %12417, 0
  br i1 %.not14511834.not, label %.loopexit, label %.lr.ph1837

12418:                                            ; preds = %12410
  %12419 = load i32, ptr %1549, align 4, !tbaa !5
  %12420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12421 = call i32 @s2n_print_stacktrace(ptr noundef %12420) #12
  %12422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12423 = trunc nuw i8 %12422 to i1
  br i1 %12423, label %12424, label %12428

12424:                                            ; preds = %12418
  %12425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12426 = call i32 @fileno(ptr noundef %12425) #12
  %12427 = call i32 @isatty(i32 noundef %12426) #12
  %.not1449 = icmp eq i32 %12427, 0
  br i1 %.not1449, label %12428, label %12429

12428:                                            ; preds = %12424, %12418
  br label %12429

12429:                                            ; preds = %12424, %12428
  %.str.5.sink5940 = phi ptr [ @.str.5, %12428 ], [ @.str.2, %12424 ]
  store i32 %12419, ptr %1549, align 4, !tbaa !5
  %12430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12431 = load i32, ptr @test_count, align 4, !tbaa !5
  %12432 = load i32, ptr %1495, align 4, !tbaa !5
  %12433 = call ptr @s2n_strerror(i32 noundef %12432, ptr noundef nonnull @.str.4) #12
  %12434 = load i32, ptr %1495, align 4, !tbaa !5
  %12435 = call ptr @s2n_strerror_debug(i32 noundef %12434, ptr noundef nonnull @.str.4) #12
  %12436 = load i32, ptr %1549, align 4, !tbaa !5
  %12437 = call ptr @strerror(i32 noundef %12436) #12
  %12438 = load i32, ptr %1549, align 4, !tbaa !5
  %12439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12430, ptr noundef nonnull %.str.5.sink5940, i32 noundef %12431, ptr noundef nonnull @.str.223, ptr noundef nonnull @.str.1, i32 noundef 1075, ptr noundef %12433, ptr noundef %12435, ptr noundef %12437, i32 noundef %12438) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.lr.ph1837:                                       ; preds = %.preheader, %12472
  %.012251835 = phi i64 [ %12473, %12472 ], [ 0, %.preheader ]
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %88) #12
  store i16 0, ptr %88, align 2, !tbaa !77
  %12440 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %86, ptr noundef nonnull %88) #12
  %12441 = icmp sgt i32 %12440, -1
  br i1 %12441, label %12442, label %12471

12442:                                            ; preds = %.lr.ph1837
  %12443 = load i32, ptr @test_count, align 4, !tbaa !5
  %12444 = add nsw i32 %12443, 1
  store i32 %12444, ptr @test_count, align 4, !tbaa !5
  %12445 = load i16, ptr %88, align 2, !tbaa !77
  %12446 = getelementptr inbounds [30 x i16], ptr %83, i64 0, i64 %.012251835
  %12447 = load i16, ptr %12446, align 2, !tbaa !77
  %12448 = icmp eq i16 %12445, %12447
  br i1 %12448, label %12472, label %12449

12449:                                            ; preds = %12442
  %12450 = load i32, ptr %1549, align 4, !tbaa !5
  %12451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12452 = call i32 @s2n_print_stacktrace(ptr noundef %12451) #12
  %12453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12454 = trunc nuw i8 %12453 to i1
  br i1 %12454, label %12455, label %12459

12455:                                            ; preds = %12449
  %12456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12457 = call i32 @fileno(ptr noundef %12456) #12
  %12458 = call i32 @isatty(i32 noundef %12457) #12
  %.not1450 = icmp eq i32 %12458, 0
  br i1 %.not1450, label %12459, label %12460

12459:                                            ; preds = %12455, %12449
  br label %12460

12460:                                            ; preds = %12455, %12459
  %.str.5.sink5949 = phi ptr [ @.str.5, %12459 ], [ @.str.2, %12455 ]
  store i32 %12450, ptr %1549, align 4, !tbaa !5
  %12461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12462 = load i32, ptr @test_count, align 4, !tbaa !5
  %12463 = load i32, ptr %1495, align 4, !tbaa !5
  %12464 = call ptr @s2n_strerror(i32 noundef %12463, ptr noundef nonnull @.str.4) #12
  %12465 = load i32, ptr %1495, align 4, !tbaa !5
  %12466 = call ptr @s2n_strerror_debug(i32 noundef %12465, ptr noundef nonnull @.str.4) #12
  %12467 = load i32, ptr %1549, align 4, !tbaa !5
  %12468 = call ptr @strerror(i32 noundef %12467) #12
  %12469 = load i32, ptr %1549, align 4, !tbaa !5
  %12470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12461, ptr noundef nonnull %.str.5.sink5949, i32 noundef %12462, ptr noundef nonnull @.str.224, ptr noundef nonnull @.str.1, i32 noundef 1084, ptr noundef %12464, ptr noundef %12466, ptr noundef %12468, i32 noundef %12469) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12471:                                            ; preds = %.lr.ph1837
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %88) #12
  br label %.loopexit

12472:                                            ; preds = %12442
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %88) #12
  %12473 = add nuw nsw i64 %.012251835, 1
  %12474 = load i16, ptr %84, align 2, !tbaa !77
  %12475 = zext i16 %12474 to i64
  %.not1451 = icmp ult i64 %12473, %12475
  br i1 %.not1451, label %.lr.ph1837, label %.loopexit, !llvm.loop !88

.loopexit:                                        ; preds = %12472, %.preheader, %12471
  %.not14511812 = phi i1 [ true, %12471 ], [ false, %.preheader ], [ false, %12472 ]
  %.4 = phi i32 [ -1, %12471 ], [ %.11840, %.preheader ], [ %.11840, %12472 ]
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %87) #12
  %12476 = call i32 @s2n_stuffer_free(ptr noundef nonnull %86) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %86) #12
  %12477 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %85) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %85) #12
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %84) #12
  call void @llvm.lifetime.end.p0(i64 60, ptr nonnull %83) #12
  %12478 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %82) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %82) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %81) #12
  br i1 %.not14511812, label %.loopexit1876, label %12122

.thread1804:                                      ; preds = %12122, %.preheader1806
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %89) #12
  store ptr null, ptr %89, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %90) #12
  store ptr null, ptr %90, align 8, !tbaa !9
  %12479 = load i32, ptr @test_count, align 4, !tbaa !5
  %12480 = add nsw i32 %12479, 1
  store i32 %12480, ptr @test_count, align 4, !tbaa !5
  %12481 = call i32 @s2n_test_cert_permutation_load_server_chain(ptr noundef nonnull %89, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.228) #12
  %12482 = icmp eq i32 %12481, -1
  br i1 %12482, label %12483, label %12505

12483:                                            ; preds = %.thread1804
  %12484 = load i32, ptr %1549, align 4, !tbaa !5
  %12485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12486 = call i32 @s2n_print_stacktrace(ptr noundef %12485) #12
  %12487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12488 = trunc nuw i8 %12487 to i1
  br i1 %12488, label %12489, label %12493

12489:                                            ; preds = %12483
  %12490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12491 = call i32 @fileno(ptr noundef %12490) #12
  %12492 = call i32 @isatty(i32 noundef %12491) #12
  %.not1504 = icmp eq i32 %12492, 0
  br i1 %.not1504, label %12493, label %12494

12493:                                            ; preds = %12489, %12483
  br label %12494

12494:                                            ; preds = %12489, %12493
  %.str.5.sink5958 = phi ptr [ @.str.5, %12493 ], [ @.str.2, %12489 ]
  store i32 %12484, ptr %1549, align 4, !tbaa !5
  %12495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12496 = load i32, ptr @test_count, align 4, !tbaa !5
  %12497 = load i32, ptr %1495, align 4, !tbaa !5
  %12498 = call ptr @s2n_strerror(i32 noundef %12497, ptr noundef nonnull @.str.4) #12
  %12499 = load i32, ptr %1495, align 4, !tbaa !5
  %12500 = call ptr @s2n_strerror_debug(i32 noundef %12499, ptr noundef nonnull @.str.4) #12
  %12501 = load i32, ptr %1549, align 4, !tbaa !5
  %12502 = call ptr @strerror(i32 noundef %12501) #12
  %12503 = load i32, ptr %1549, align 4, !tbaa !5
  %12504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12495, ptr noundef nonnull %.str.5.sink5958, i32 noundef %12496, ptr noundef nonnull @.str.229, ptr noundef nonnull @.str.1, i32 noundef 1093, ptr noundef %12498, ptr noundef %12500, ptr noundef %12502, i32 noundef %12503) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12505:                                            ; preds = %.thread1804
  %12506 = load i32, ptr @test_count, align 4, !tbaa !5
  %12507 = add nsw i32 %12506, 1
  store i32 %12507, ptr @test_count, align 4, !tbaa !5
  %12508 = call i32 @s2n_test_cert_permutation_load_server_chain(ptr noundef nonnull %90, ptr noundef nonnull @.str.225, ptr noundef nonnull @.str.226, ptr noundef nonnull @.str.227, ptr noundef nonnull @.str.230) #12
  %12509 = icmp eq i32 %12508, -1
  br i1 %12509, label %12510, label %12532

12510:                                            ; preds = %12505
  %12511 = load i32, ptr %1549, align 4, !tbaa !5
  %12512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12513 = call i32 @s2n_print_stacktrace(ptr noundef %12512) #12
  %12514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12515 = trunc nuw i8 %12514 to i1
  br i1 %12515, label %12516, label %12520

12516:                                            ; preds = %12510
  %12517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12518 = call i32 @fileno(ptr noundef %12517) #12
  %12519 = call i32 @isatty(i32 noundef %12518) #12
  %.not1503 = icmp eq i32 %12519, 0
  br i1 %.not1503, label %12520, label %12521

12520:                                            ; preds = %12516, %12510
  br label %12521

12521:                                            ; preds = %12516, %12520
  %.str.5.sink5967 = phi ptr [ @.str.5, %12520 ], [ @.str.2, %12516 ]
  store i32 %12511, ptr %1549, align 4, !tbaa !5
  %12522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12523 = load i32, ptr @test_count, align 4, !tbaa !5
  %12524 = load i32, ptr %1495, align 4, !tbaa !5
  %12525 = call ptr @s2n_strerror(i32 noundef %12524, ptr noundef nonnull @.str.4) #12
  %12526 = load i32, ptr %1495, align 4, !tbaa !5
  %12527 = call ptr @s2n_strerror_debug(i32 noundef %12526, ptr noundef nonnull @.str.4) #12
  %12528 = load i32, ptr %1549, align 4, !tbaa !5
  %12529 = call ptr @strerror(i32 noundef %12528) #12
  %12530 = load i32, ptr %1549, align 4, !tbaa !5
  %12531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12522, ptr noundef nonnull %.str.5.sink5967, i32 noundef %12523, ptr noundef nonnull @.str.231, ptr noundef nonnull @.str.1, i32 noundef 1094, ptr noundef %12525, ptr noundef %12527, ptr noundef %12529, i32 noundef %12530) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12532:                                            ; preds = %12505
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %91) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %91, ptr noundef nonnull align 8 dereferenceable(64) @security_policy_rfc9151, i64 64, i1 false), !tbaa.struct !89
  %12533 = getelementptr inbounds i8, ptr %91, i64 56
  store i8 1, ptr %12533, align 8, !tbaa !90
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %92) #12
  %12534 = call ptr @s2n_config_new() #12
  store ptr %12534, ptr %92, align 8, !tbaa !9
  %12535 = load i32, ptr @test_count, align 4, !tbaa !5
  %12536 = add nsw i32 %12535, 1
  store i32 %12536, ptr @test_count, align 4, !tbaa !5
  %12537 = load ptr, ptr %90, align 8, !tbaa !9
  %12538 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %12534, ptr noundef %12537) #12
  %12539 = icmp eq i32 %12538, -1
  br i1 %12539, label %12540, label %12562

12540:                                            ; preds = %12532
  %12541 = load i32, ptr %1549, align 4, !tbaa !5
  %12542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12543 = call i32 @s2n_print_stacktrace(ptr noundef %12542) #12
  %12544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12545 = trunc nuw i8 %12544 to i1
  br i1 %12545, label %12546, label %12550

12546:                                            ; preds = %12540
  %12547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12548 = call i32 @fileno(ptr noundef %12547) #12
  %12549 = call i32 @isatty(i32 noundef %12548) #12
  %.not1502 = icmp eq i32 %12549, 0
  br i1 %.not1502, label %12550, label %12551

12550:                                            ; preds = %12546, %12540
  br label %12551

12551:                                            ; preds = %12546, %12550
  %.str.5.sink5976 = phi ptr [ @.str.5, %12550 ], [ @.str.2, %12546 ]
  store i32 %12541, ptr %1549, align 4, !tbaa !5
  %12552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12553 = load i32, ptr @test_count, align 4, !tbaa !5
  %12554 = load i32, ptr %1495, align 4, !tbaa !5
  %12555 = call ptr @s2n_strerror(i32 noundef %12554, ptr noundef nonnull @.str.4) #12
  %12556 = load i32, ptr %1495, align 4, !tbaa !5
  %12557 = call ptr @s2n_strerror_debug(i32 noundef %12556, ptr noundef nonnull @.str.4) #12
  %12558 = load i32, ptr %1549, align 4, !tbaa !5
  %12559 = call ptr @strerror(i32 noundef %12558) #12
  %12560 = load i32, ptr %1549, align 4, !tbaa !5
  %12561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12552, ptr noundef nonnull %.str.5.sink5976, i32 noundef %12553, ptr noundef nonnull @.str.232, ptr noundef nonnull @.str.1, i32 noundef 1105, ptr noundef %12555, ptr noundef %12557, ptr noundef %12559, i32 noundef %12560) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12562:                                            ; preds = %12532
  %12563 = load i32, ptr @test_count, align 4, !tbaa !5
  %12564 = add nsw i32 %12563, 1
  store i32 %12564, ptr @test_count, align 4, !tbaa !5
  %12565 = load ptr, ptr %92, align 8, !tbaa !9
  %12566 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %12565, ptr noundef nonnull %91) #12
  %12567 = call zeroext i1 @s2n_result_is_ok(i32 %12566)
  br i1 %12567, label %12590, label %12568

12568:                                            ; preds = %12562
  %12569 = load i32, ptr %1549, align 4, !tbaa !5
  %12570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12571 = call i32 @s2n_print_stacktrace(ptr noundef %12570) #12
  %12572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12573 = trunc nuw i8 %12572 to i1
  br i1 %12573, label %12574, label %12578

12574:                                            ; preds = %12568
  %12575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12576 = call i32 @fileno(ptr noundef %12575) #12
  %12577 = call i32 @isatty(i32 noundef %12576) #12
  %.not1452 = icmp eq i32 %12577, 0
  br i1 %.not1452, label %12578, label %12579

12578:                                            ; preds = %12574, %12568
  br label %12579

12579:                                            ; preds = %12574, %12578
  %.str.5.sink5985 = phi ptr [ @.str.5, %12578 ], [ @.str.2, %12574 ]
  store i32 %12569, ptr %1549, align 4, !tbaa !5
  %12580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12581 = load i32, ptr @test_count, align 4, !tbaa !5
  %12582 = load i32, ptr %1495, align 4, !tbaa !5
  %12583 = call ptr @s2n_strerror(i32 noundef %12582, ptr noundef nonnull @.str.4) #12
  %12584 = load i32, ptr %1495, align 4, !tbaa !5
  %12585 = call ptr @s2n_strerror_debug(i32 noundef %12584, ptr noundef nonnull @.str.4) #12
  %12586 = load i32, ptr %1549, align 4, !tbaa !5
  %12587 = call ptr @strerror(i32 noundef %12586) #12
  %12588 = load i32, ptr %1549, align 4, !tbaa !5
  %12589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12580, ptr noundef nonnull %.str.5.sink5985, i32 noundef %12581, ptr noundef nonnull @.str.233, ptr noundef nonnull @.str.1, i32 noundef 1106, ptr noundef %12583, ptr noundef %12585, ptr noundef %12587, i32 noundef %12588) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12590:                                            ; preds = %12562
  %12591 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %92) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %92) #12
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %93) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %93, ptr noundef nonnull align 8 dereferenceable(64) @security_policy_rfc9151, i64 64, i1 false), !tbaa.struct !89
  %12592 = getelementptr inbounds i8, ptr %93, i64 56
  store i8 0, ptr %12592, align 8, !tbaa !90
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %94) #12
  %12593 = call ptr @s2n_config_new() #12
  store ptr %12593, ptr %94, align 8, !tbaa !9
  %12594 = load i32, ptr @test_count, align 4, !tbaa !5
  %12595 = add nsw i32 %12594, 1
  store i32 %12595, ptr @test_count, align 4, !tbaa !5
  %12596 = load ptr, ptr %89, align 8, !tbaa !9
  %12597 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %12593, ptr noundef %12596) #12
  %12598 = icmp eq i32 %12597, -1
  br i1 %12598, label %12599, label %12621

12599:                                            ; preds = %12590
  %12600 = load i32, ptr %1549, 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
  %.not1501 = icmp eq i32 %12608, 0
  br i1 %.not1501, label %12609, label %12610

12609:                                            ; preds = %12605, %12599
  br label %12610

12610:                                            ; preds = %12605, %12609
  %.str.5.sink5994 = phi ptr [ @.str.5, %12609 ], [ @.str.2, %12605 ]
  store i32 %12600, ptr %1549, 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 %1495, align 4, !tbaa !5
  %12614 = call ptr @s2n_strerror(i32 noundef %12613, ptr noundef nonnull @.str.4) #12
  %12615 = load i32, ptr %1495, align 4, !tbaa !5
  %12616 = call ptr @s2n_strerror_debug(i32 noundef %12615, ptr noundef nonnull @.str.4) #12
  %12617 = load i32, ptr %1549, align 4, !tbaa !5
  %12618 = call ptr @strerror(i32 noundef %12617) #12
  %12619 = load i32, ptr %1549, align 4, !tbaa !5
  %12620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12611, ptr noundef nonnull %.str.5.sink5994, i32 noundef %12612, ptr noundef nonnull @.str.234, ptr noundef nonnull @.str.1, i32 noundef 1115, ptr noundef %12614, ptr noundef %12616, ptr noundef %12618, i32 noundef %12619) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12621:                                            ; preds = %12590
  %12622 = load i32, ptr @test_count, align 4, !tbaa !5
  %12623 = add nsw i32 %12622, 1
  store i32 %12623, ptr @test_count, align 4, !tbaa !5
  %12624 = load ptr, ptr %94, align 8, !tbaa !9
  %12625 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %12624, ptr noundef nonnull %93) #12
  %12626 = call zeroext i1 @s2n_result_is_ok(i32 %12625)
  br i1 %12626, label %12649, label %12627

12627:                                            ; preds = %12621
  %12628 = load i32, ptr %1549, 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
  %.not1453 = icmp eq i32 %12636, 0
  br i1 %.not1453, label %12637, label %12638

12637:                                            ; preds = %12633, %12627
  br label %12638

12638:                                            ; preds = %12633, %12637
  %.str.5.sink6003 = phi ptr [ @.str.5, %12637 ], [ @.str.2, %12633 ]
  store i32 %12628, ptr %1549, 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 %1495, align 4, !tbaa !5
  %12642 = call ptr @s2n_strerror(i32 noundef %12641, ptr noundef nonnull @.str.4) #12
  %12643 = load i32, ptr %1495, align 4, !tbaa !5
  %12644 = call ptr @s2n_strerror_debug(i32 noundef %12643, ptr noundef nonnull @.str.4) #12
  %12645 = load i32, ptr %1549, align 4, !tbaa !5
  %12646 = call ptr @strerror(i32 noundef %12645) #12
  %12647 = load i32, ptr %1549, align 4, !tbaa !5
  %12648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12639, ptr noundef nonnull %.str.5.sink6003, i32 noundef %12640, ptr noundef nonnull @.str.235, ptr noundef nonnull @.str.1, i32 noundef 1116, 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 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %94) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %94) #12
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %93) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %95) #12
  %12651 = call ptr @s2n_config_new_minimal() #12
  store ptr %12651, ptr %95, align 8, !tbaa !9
  %12652 = load i32, ptr @test_count, align 4, !tbaa !5
  %12653 = add nsw i32 %12652, 1
  store i32 %12653, ptr @test_count, align 4, !tbaa !5
  %12654 = call i32 @s2n_config_set_cert_chain_and_key_defaults(ptr noundef %12651, ptr noundef nonnull %89, i32 noundef 1) #12
  %12655 = icmp eq i32 %12654, -1
  br i1 %12655, label %12656, label %12678

12656:                                            ; preds = %12649
  %12657 = load i32, ptr %1549, align 4, !tbaa !5
  %12658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12659 = call i32 @s2n_print_stacktrace(ptr noundef %12658) #12
  %12660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12661 = trunc nuw i8 %12660 to i1
  br i1 %12661, label %12662, label %12666

12662:                                            ; preds = %12656
  %12663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12664 = call i32 @fileno(ptr noundef %12663) #12
  %12665 = call i32 @isatty(i32 noundef %12664) #12
  %.not1500 = icmp eq i32 %12665, 0
  br i1 %.not1500, label %12666, label %12667

12666:                                            ; preds = %12662, %12656
  br label %12667

12667:                                            ; preds = %12662, %12666
  %.str.5.sink6012 = phi ptr [ @.str.5, %12666 ], [ @.str.2, %12662 ]
  store i32 %12657, ptr %1549, align 4, !tbaa !5
  %12668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12669 = load i32, ptr @test_count, align 4, !tbaa !5
  %12670 = load i32, ptr %1495, align 4, !tbaa !5
  %12671 = call ptr @s2n_strerror(i32 noundef %12670, ptr noundef nonnull @.str.4) #12
  %12672 = load i32, ptr %1495, align 4, !tbaa !5
  %12673 = call ptr @s2n_strerror_debug(i32 noundef %12672, ptr noundef nonnull @.str.4) #12
  %12674 = load i32, ptr %1549, align 4, !tbaa !5
  %12675 = call ptr @strerror(i32 noundef %12674) #12
  %12676 = load i32, ptr %1549, align 4, !tbaa !5
  %12677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12668, ptr noundef nonnull %.str.5.sink6012, i32 noundef %12669, ptr noundef nonnull @.str.236, ptr noundef nonnull @.str.1, i32 noundef 1130, ptr noundef %12671, ptr noundef %12673, ptr noundef %12675, i32 noundef %12676) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12678:                                            ; preds = %12649
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %96) #12
  store i32 0, ptr %96, align 4, !tbaa !5
  %12679 = load i32, ptr @test_count, align 4, !tbaa !5
  %12680 = add nsw i32 %12679, 1
  store i32 %12680, ptr @test_count, align 4, !tbaa !5
  %12681 = load ptr, ptr %95, align 8, !tbaa !9
  %12682 = getelementptr inbounds i8, ptr %12681, i64 16
  %12683 = load ptr, ptr %12682, align 8, !tbaa !91
  %12684 = call i32 @s2n_map_size(ptr noundef %12683, ptr noundef nonnull %96) #12
  %12685 = call zeroext i1 @s2n_result_is_ok(i32 %12684)
  br i1 %12685, label %12708, label %12686

12686:                                            ; preds = %12678
  %12687 = load i32, ptr %1549, align 4, !tbaa !5
  %12688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12689 = call i32 @s2n_print_stacktrace(ptr noundef %12688) #12
  %12690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12691 = trunc nuw i8 %12690 to i1
  br i1 %12691, label %12692, label %12696

12692:                                            ; preds = %12686
  %12693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12694 = call i32 @fileno(ptr noundef %12693) #12
  %12695 = call i32 @isatty(i32 noundef %12694) #12
  %.not1454 = icmp eq i32 %12695, 0
  br i1 %.not1454, label %12696, label %12697

12696:                                            ; preds = %12692, %12686
  br label %12697

12697:                                            ; preds = %12692, %12696
  %.str.5.sink6021 = phi ptr [ @.str.5, %12696 ], [ @.str.2, %12692 ]
  store i32 %12687, ptr %1549, align 4, !tbaa !5
  %12698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12699 = load i32, ptr @test_count, align 4, !tbaa !5
  %12700 = load i32, ptr %1495, align 4, !tbaa !5
  %12701 = call ptr @s2n_strerror(i32 noundef %12700, ptr noundef nonnull @.str.4) #12
  %12702 = load i32, ptr %1495, align 4, !tbaa !5
  %12703 = call ptr @s2n_strerror_debug(i32 noundef %12702, ptr noundef nonnull @.str.4) #12
  %12704 = load i32, ptr %1549, align 4, !tbaa !5
  %12705 = call ptr @strerror(i32 noundef %12704) #12
  %12706 = load i32, ptr %1549, align 4, !tbaa !5
  %12707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12698, ptr noundef nonnull %.str.5.sink6021, i32 noundef %12699, ptr noundef nonnull @.str.237, ptr noundef nonnull @.str.1, i32 noundef 1134, ptr noundef %12701, ptr noundef %12703, ptr noundef %12705, i32 noundef %12706) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12708:                                            ; preds = %12678
  %12709 = load i32, ptr @test_count, align 4, !tbaa !5
  %12710 = add nsw i32 %12709, 1
  store i32 %12710, ptr @test_count, align 4, !tbaa !5
  %12711 = load i32, ptr %96, align 4, !tbaa !5
  %12712 = icmp eq i32 %12711, 0
  br i1 %12712, label %12735, label %12713

12713:                                            ; preds = %12708
  %12714 = load i32, ptr %1549, align 4, !tbaa !5
  %12715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12716 = call i32 @s2n_print_stacktrace(ptr noundef %12715) #12
  %12717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12718 = trunc nuw i8 %12717 to i1
  br i1 %12718, label %12719, label %12723

12719:                                            ; preds = %12713
  %12720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12721 = call i32 @fileno(ptr noundef %12720) #12
  %12722 = call i32 @isatty(i32 noundef %12721) #12
  %.not1455 = icmp eq i32 %12722, 0
  br i1 %.not1455, label %12723, label %12724

12723:                                            ; preds = %12719, %12713
  br label %12724

12724:                                            ; preds = %12719, %12723
  %.str.5.sink6030 = phi ptr [ @.str.5, %12723 ], [ @.str.2, %12719 ]
  store i32 %12714, ptr %1549, align 4, !tbaa !5
  %12725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12726 = load i32, ptr @test_count, align 4, !tbaa !5
  %12727 = load i32, ptr %1495, align 4, !tbaa !5
  %12728 = call ptr @s2n_strerror(i32 noundef %12727, ptr noundef nonnull @.str.4) #12
  %12729 = load i32, ptr %1495, align 4, !tbaa !5
  %12730 = call ptr @s2n_strerror_debug(i32 noundef %12729, ptr noundef nonnull @.str.4) #12
  %12731 = load i32, ptr %1549, align 4, !tbaa !5
  %12732 = call ptr @strerror(i32 noundef %12731) #12
  %12733 = load i32, ptr %1549, align 4, !tbaa !5
  %12734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12725, ptr noundef nonnull %.str.5.sink6030, i32 noundef %12726, ptr noundef nonnull @.str.238, ptr noundef nonnull @.str.1, i32 noundef 1135, ptr noundef %12728, ptr noundef %12730, ptr noundef %12732, i32 noundef %12733) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12735:                                            ; preds = %12708
  %12736 = add nsw i32 %12709, 2
  store i32 %12736, ptr @test_count, align 4, !tbaa !5
  %12737 = load ptr, ptr %95, align 8, !tbaa !9
  %12738 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %12737, ptr noundef nonnull %91) #12
  %12739 = call zeroext i1 @s2n_result_is_error(i32 %12738)
  br i1 %12739, label %12762, label %12740

12740:                                            ; preds = %12735
  %12741 = load i32, ptr %1549, align 4, !tbaa !5
  %12742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12743 = call i32 @s2n_print_stacktrace(ptr noundef %12742) #12
  %12744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12745 = trunc nuw i8 %12744 to i1
  br i1 %12745, label %12746, label %12750

12746:                                            ; preds = %12740
  %12747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12748 = call i32 @fileno(ptr noundef %12747) #12
  %12749 = call i32 @isatty(i32 noundef %12748) #12
  %.not1456 = icmp eq i32 %12749, 0
  br i1 %.not1456, label %12750, label %12751

12750:                                            ; preds = %12746, %12740
  br label %12751

12751:                                            ; preds = %12746, %12750
  %.str.5.sink6039 = phi ptr [ @.str.5, %12750 ], [ @.str.2, %12746 ]
  store i32 %12741, ptr %1549, align 4, !tbaa !5
  %12752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12753 = load i32, ptr @test_count, align 4, !tbaa !5
  %12754 = load i32, ptr %1495, align 4, !tbaa !5
  %12755 = call ptr @s2n_strerror(i32 noundef %12754, ptr noundef nonnull @.str.4) #12
  %12756 = load i32, ptr %1495, align 4, !tbaa !5
  %12757 = call ptr @s2n_strerror_debug(i32 noundef %12756, ptr noundef nonnull @.str.4) #12
  %12758 = load i32, ptr %1549, align 4, !tbaa !5
  %12759 = call ptr @strerror(i32 noundef %12758) #12
  %12760 = load i32, ptr %1549, align 4, !tbaa !5
  %12761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12752, ptr noundef nonnull %.str.5.sink6039, i32 noundef %12753, ptr noundef nonnull @.str.239, ptr noundef nonnull @.str.1, i32 noundef 1139, ptr noundef %12755, ptr noundef %12757, ptr noundef %12759, i32 noundef %12760) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12762:                                            ; preds = %12735
  %12763 = load i32, ptr @test_count, align 4, !tbaa !5
  %12764 = add nsw i32 %12763, 1
  store i32 %12764, ptr @test_count, align 4, !tbaa !5
  %12765 = load i32, ptr %1495, align 4, !tbaa !5
  %12766 = icmp eq i32 %12765, 469762133
  br i1 %12766, label %12789, label %12767

12767:                                            ; preds = %12762
  %12768 = load i32, ptr %1549, align 4, !tbaa !5
  %12769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12770 = call i32 @s2n_print_stacktrace(ptr noundef %12769) #12
  %12771 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12772 = trunc nuw i8 %12771 to i1
  br i1 %12772, label %12773, label %12777

12773:                                            ; preds = %12767
  %12774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12775 = call i32 @fileno(ptr noundef %12774) #12
  %12776 = call i32 @isatty(i32 noundef %12775) #12
  %.not1457 = icmp eq i32 %12776, 0
  br i1 %.not1457, label %12777, label %12778

12777:                                            ; preds = %12773, %12767
  br label %12778

12778:                                            ; preds = %12773, %12777
  %.str.5.sink6048 = phi ptr [ @.str.5, %12777 ], [ @.str.2, %12773 ]
  store i32 %12768, ptr %1549, align 4, !tbaa !5
  %12779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12780 = load i32, ptr @test_count, align 4, !tbaa !5
  %12781 = load i32, ptr %1495, align 4, !tbaa !5
  %12782 = call ptr @s2n_strerror(i32 noundef %12781, ptr noundef nonnull @.str.4) #12
  %12783 = load i32, ptr %1495, align 4, !tbaa !5
  %12784 = call ptr @s2n_strerror_debug(i32 noundef %12783, ptr noundef nonnull @.str.4) #12
  %12785 = load i32, ptr %1549, align 4, !tbaa !5
  %12786 = call ptr @strerror(i32 noundef %12785) #12
  %12787 = load i32, ptr %1549, align 4, !tbaa !5
  %12788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12779, ptr noundef nonnull %.str.5.sink6048, i32 noundef %12780, ptr noundef nonnull @.str.240, ptr noundef nonnull @.str.1, i32 noundef 1139, ptr noundef %12782, ptr noundef %12784, ptr noundef %12786, i32 noundef %12787) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12789:                                            ; preds = %12762
  %12790 = add nsw i32 %12763, 2
  store i32 %12790, ptr @test_count, align 4, !tbaa !5
  %12791 = call ptr @s2n_strerror_debug(i32 noundef 469762133, ptr noundef nonnull @.str.4) #12
  %12792 = icmp eq ptr %12791, null
  br i1 %12792, label %12793, label %12815

12793:                                            ; preds = %12789
  %12794 = load i32, ptr %1549, align 4, !tbaa !5
  %12795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12796 = call i32 @s2n_print_stacktrace(ptr noundef %12795) #12
  %12797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12798 = trunc nuw i8 %12797 to i1
  br i1 %12798, label %12799, label %12803

12799:                                            ; preds = %12793
  %12800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12801 = call i32 @fileno(ptr noundef %12800) #12
  %12802 = call i32 @isatty(i32 noundef %12801) #12
  %.not1499 = icmp eq i32 %12802, 0
  br i1 %.not1499, label %12803, label %12804

12803:                                            ; preds = %12799, %12793
  br label %12804

12804:                                            ; preds = %12799, %12803
  %.str.5.sink6057 = phi ptr [ @.str.5, %12803 ], [ @.str.2, %12799 ]
  store i32 %12794, ptr %1549, align 4, !tbaa !5
  %12805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12806 = load i32, ptr @test_count, align 4, !tbaa !5
  %12807 = load i32, ptr %1495, align 4, !tbaa !5
  %12808 = call ptr @s2n_strerror(i32 noundef %12807, ptr noundef nonnull @.str.4) #12
  %12809 = load i32, ptr %1495, align 4, !tbaa !5
  %12810 = call ptr @s2n_strerror_debug(i32 noundef %12809, ptr noundef nonnull @.str.4) #12
  %12811 = load i32, ptr %1549, align 4, !tbaa !5
  %12812 = call ptr @strerror(i32 noundef %12811) #12
  %12813 = load i32, ptr %1549, align 4, !tbaa !5
  %12814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12805, ptr noundef nonnull %.str.5.sink6057, i32 noundef %12806, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 1139, ptr noundef %12808, ptr noundef %12810, ptr noundef %12812, i32 noundef %12813) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12815:                                            ; preds = %12789
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %96) #12
  %12816 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %95) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %97) #12
  %12817 = call ptr @s2n_config_new() #12
  store ptr %12817, ptr %97, align 8, !tbaa !9
  %12818 = load i32, ptr @test_count, align 4, !tbaa !5
  %12819 = add nsw i32 %12818, 1
  store i32 %12819, ptr @test_count, align 4, !tbaa !5
  %12820 = load ptr, ptr %89, align 8, !tbaa !9
  %12821 = call i32 @s2n_config_build_domain_name_to_cert_map(ptr noundef %12817, ptr noundef %12820) #12
  %12822 = icmp eq i32 %12821, -1
  br i1 %12822, label %12823, label %12845

12823:                                            ; preds = %12815
  %12824 = load i32, ptr %1549, align 4, !tbaa !5
  %12825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12826 = call i32 @s2n_print_stacktrace(ptr noundef %12825) #12
  %12827 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12828 = trunc nuw i8 %12827 to i1
  br i1 %12828, label %12829, label %12833

12829:                                            ; preds = %12823
  %12830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12831 = call i32 @fileno(ptr noundef %12830) #12
  %12832 = call i32 @isatty(i32 noundef %12831) #12
  %.not1498 = icmp eq i32 %12832, 0
  br i1 %.not1498, label %12833, label %12834

12833:                                            ; preds = %12829, %12823
  br label %12834

12834:                                            ; preds = %12829, %12833
  %.str.5.sink6066 = phi ptr [ @.str.5, %12833 ], [ @.str.2, %12829 ]
  store i32 %12824, ptr %1549, align 4, !tbaa !5
  %12835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12836 = load i32, ptr @test_count, align 4, !tbaa !5
  %12837 = load i32, ptr %1495, align 4, !tbaa !5
  %12838 = call ptr @s2n_strerror(i32 noundef %12837, ptr noundef nonnull @.str.4) #12
  %12839 = load i32, ptr %1495, align 4, !tbaa !5
  %12840 = call ptr @s2n_strerror_debug(i32 noundef %12839, ptr noundef nonnull @.str.4) #12
  %12841 = load i32, ptr %1549, align 4, !tbaa !5
  %12842 = call ptr @strerror(i32 noundef %12841) #12
  %12843 = load i32, ptr %1549, align 4, !tbaa !5
  %12844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12835, ptr noundef nonnull %.str.5.sink6066, i32 noundef %12836, ptr noundef nonnull @.str.241, ptr noundef nonnull @.str.1, i32 noundef 1145, ptr noundef %12838, ptr noundef %12840, ptr noundef %12842, i32 noundef %12843) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12845:                                            ; preds = %12815
  %12846 = load i32, ptr @test_count, align 4, !tbaa !5
  %12847 = add nsw i32 %12846, 1
  store i32 %12847, ptr @test_count, align 4, !tbaa !5
  %12848 = load ptr, ptr %97, align 8, !tbaa !9
  %12849 = call i32 @s2n_config_get_num_default_certs(ptr noundef %12848) #12
  %12850 = icmp eq i32 %12849, 0
  br i1 %12850, label %12873, label %12851

12851:                                            ; preds = %12845
  %12852 = load i32, ptr %1549, align 4, !tbaa !5
  %12853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12854 = call i32 @s2n_print_stacktrace(ptr noundef %12853) #12
  %12855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12856 = trunc nuw i8 %12855 to i1
  br i1 %12856, label %12857, label %12861

12857:                                            ; preds = %12851
  %12858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12859 = call i32 @fileno(ptr noundef %12858) #12
  %12860 = call i32 @isatty(i32 noundef %12859) #12
  %.not1458 = icmp eq i32 %12860, 0
  br i1 %.not1458, label %12861, label %12862

12861:                                            ; preds = %12857, %12851
  br label %12862

12862:                                            ; preds = %12857, %12861
  %.str.5.sink6075 = phi ptr [ @.str.5, %12861 ], [ @.str.2, %12857 ]
  store i32 %12852, ptr %1549, align 4, !tbaa !5
  %12863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12864 = load i32, ptr @test_count, align 4, !tbaa !5
  %12865 = load i32, ptr %1495, align 4, !tbaa !5
  %12866 = call ptr @s2n_strerror(i32 noundef %12865, ptr noundef nonnull @.str.4) #12
  %12867 = load i32, ptr %1495, align 4, !tbaa !5
  %12868 = call ptr @s2n_strerror_debug(i32 noundef %12867, ptr noundef nonnull @.str.4) #12
  %12869 = load i32, ptr %1549, align 4, !tbaa !5
  %12870 = call ptr @strerror(i32 noundef %12869) #12
  %12871 = load i32, ptr %1549, align 4, !tbaa !5
  %12872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12863, ptr noundef nonnull %.str.5.sink6075, i32 noundef %12864, ptr noundef nonnull @.str.242, ptr noundef nonnull @.str.1, i32 noundef 1148, ptr noundef %12866, ptr noundef %12868, ptr noundef %12870, i32 noundef %12871) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12873:                                            ; preds = %12845
  %12874 = load i32, ptr @test_count, align 4, !tbaa !5
  %12875 = add nsw i32 %12874, 1
  store i32 %12875, ptr @test_count, align 4, !tbaa !5
  %12876 = load ptr, ptr %97, align 8, !tbaa !9
  %12877 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %12876, ptr noundef nonnull %91) #12
  %12878 = call zeroext i1 @s2n_result_is_error(i32 %12877)
  br i1 %12878, label %12901, label %12879

12879:                                            ; preds = %12873
  %12880 = load i32, ptr %1549, align 4, !tbaa !5
  %12881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12882 = call i32 @s2n_print_stacktrace(ptr noundef %12881) #12
  %12883 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12884 = trunc nuw i8 %12883 to i1
  br i1 %12884, label %12885, label %12889

12885:                                            ; preds = %12879
  %12886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12887 = call i32 @fileno(ptr noundef %12886) #12
  %12888 = call i32 @isatty(i32 noundef %12887) #12
  %.not1459 = icmp eq i32 %12888, 0
  br i1 %.not1459, label %12889, label %12890

12889:                                            ; preds = %12885, %12879
  br label %12890

12890:                                            ; preds = %12885, %12889
  %.str.5.sink6084 = phi ptr [ @.str.5, %12889 ], [ @.str.2, %12885 ]
  store i32 %12880, ptr %1549, align 4, !tbaa !5
  %12891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12892 = load i32, ptr @test_count, align 4, !tbaa !5
  %12893 = load i32, ptr %1495, align 4, !tbaa !5
  %12894 = call ptr @s2n_strerror(i32 noundef %12893, ptr noundef nonnull @.str.4) #12
  %12895 = load i32, ptr %1495, align 4, !tbaa !5
  %12896 = call ptr @s2n_strerror_debug(i32 noundef %12895, ptr noundef nonnull @.str.4) #12
  %12897 = load i32, ptr %1549, align 4, !tbaa !5
  %12898 = call ptr @strerror(i32 noundef %12897) #12
  %12899 = load i32, ptr %1549, align 4, !tbaa !5
  %12900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12891, ptr noundef nonnull %.str.5.sink6084, i32 noundef %12892, ptr noundef nonnull @.str.239, ptr noundef nonnull @.str.1, i32 noundef 1152, ptr noundef %12894, ptr noundef %12896, ptr noundef %12898, i32 noundef %12899) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12901:                                            ; preds = %12873
  %12902 = load i32, ptr @test_count, align 4, !tbaa !5
  %12903 = add nsw i32 %12902, 1
  store i32 %12903, ptr @test_count, align 4, !tbaa !5
  %12904 = load i32, ptr %1495, align 4, !tbaa !5
  %12905 = icmp eq i32 %12904, 469762133
  br i1 %12905, label %12928, label %12906

12906:                                            ; preds = %12901
  %12907 = load i32, ptr %1549, align 4, !tbaa !5
  %12908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12909 = call i32 @s2n_print_stacktrace(ptr noundef %12908) #12
  %12910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12911 = trunc nuw i8 %12910 to i1
  br i1 %12911, label %12912, label %12916

12912:                                            ; preds = %12906
  %12913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12914 = call i32 @fileno(ptr noundef %12913) #12
  %12915 = call i32 @isatty(i32 noundef %12914) #12
  %.not1460 = icmp eq i32 %12915, 0
  br i1 %.not1460, label %12916, label %12917

12916:                                            ; preds = %12912, %12906
  br label %12917

12917:                                            ; preds = %12912, %12916
  %.str.5.sink6093 = phi ptr [ @.str.5, %12916 ], [ @.str.2, %12912 ]
  store i32 %12907, ptr %1549, align 4, !tbaa !5
  %12918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12919 = load i32, ptr @test_count, align 4, !tbaa !5
  %12920 = load i32, ptr %1495, align 4, !tbaa !5
  %12921 = call ptr @s2n_strerror(i32 noundef %12920, ptr noundef nonnull @.str.4) #12
  %12922 = load i32, ptr %1495, align 4, !tbaa !5
  %12923 = call ptr @s2n_strerror_debug(i32 noundef %12922, ptr noundef nonnull @.str.4) #12
  %12924 = load i32, ptr %1549, align 4, !tbaa !5
  %12925 = call ptr @strerror(i32 noundef %12924) #12
  %12926 = load i32, ptr %1549, align 4, !tbaa !5
  %12927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12918, ptr noundef nonnull %.str.5.sink6093, i32 noundef %12919, ptr noundef nonnull @.str.240, ptr noundef nonnull @.str.1, i32 noundef 1152, ptr noundef %12921, ptr noundef %12923, ptr noundef %12925, i32 noundef %12926) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12928:                                            ; preds = %12901
  %12929 = add nsw i32 %12902, 2
  store i32 %12929, ptr @test_count, align 4, !tbaa !5
  %12930 = call ptr @s2n_strerror_debug(i32 noundef 469762133, ptr noundef nonnull @.str.4) #12
  %12931 = icmp eq ptr %12930, null
  br i1 %12931, label %12932, label %12954

12932:                                            ; preds = %12928
  %12933 = load i32, ptr %1549, align 4, !tbaa !5
  %12934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12935 = call i32 @s2n_print_stacktrace(ptr noundef %12934) #12
  %12936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12937 = trunc nuw i8 %12936 to i1
  br i1 %12937, label %12938, label %12942

12938:                                            ; preds = %12932
  %12939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12940 = call i32 @fileno(ptr noundef %12939) #12
  %12941 = call i32 @isatty(i32 noundef %12940) #12
  %.not1497 = icmp eq i32 %12941, 0
  br i1 %.not1497, label %12942, label %12943

12942:                                            ; preds = %12938, %12932
  br label %12943

12943:                                            ; preds = %12938, %12942
  %.str.5.sink6102 = phi ptr [ @.str.5, %12942 ], [ @.str.2, %12938 ]
  store i32 %12933, ptr %1549, align 4, !tbaa !5
  %12944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12945 = load i32, ptr @test_count, align 4, !tbaa !5
  %12946 = load i32, ptr %1495, align 4, !tbaa !5
  %12947 = call ptr @s2n_strerror(i32 noundef %12946, ptr noundef nonnull @.str.4) #12
  %12948 = load i32, ptr %1495, align 4, !tbaa !5
  %12949 = call ptr @s2n_strerror_debug(i32 noundef %12948, ptr noundef nonnull @.str.4) #12
  %12950 = load i32, ptr %1549, align 4, !tbaa !5
  %12951 = call ptr @strerror(i32 noundef %12950) #12
  %12952 = load i32, ptr %1549, align 4, !tbaa !5
  %12953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12944, ptr noundef nonnull %.str.5.sink6102, i32 noundef %12945, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 1152, ptr noundef %12947, ptr noundef %12949, ptr noundef %12951, i32 noundef %12952) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12954:                                            ; preds = %12928
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %12955 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %97) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %97) #12
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %98) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(64) %98, ptr noundef nonnull align 8 dereferenceable(64) @security_policy_rfc9151, i64 64, i1 false), !tbaa.struct !89
  %12956 = load i32, ptr @test_count, align 4, !tbaa !5
  %12957 = add nsw i32 %12956, 1
  store i32 %12957, ptr @test_count, align 4, !tbaa !5
  %12958 = getelementptr inbounds i8, ptr %98, i64 48
  %12959 = load ptr, ptr %12958, align 8, !tbaa !92
  %12960 = icmp eq ptr %12959, null
  br i1 %12960, label %12961, label %12983

12961:                                            ; preds = %12954
  %12962 = load i32, ptr %1549, align 4, !tbaa !5
  %12963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12964 = call i32 @s2n_print_stacktrace(ptr noundef %12963) #12
  %12965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12966 = trunc nuw i8 %12965 to i1
  br i1 %12966, label %12967, label %12971

12967:                                            ; preds = %12961
  %12968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12969 = call i32 @fileno(ptr noundef %12968) #12
  %12970 = call i32 @isatty(i32 noundef %12969) #12
  %.not1496 = icmp eq i32 %12970, 0
  br i1 %.not1496, label %12971, label %12972

12971:                                            ; preds = %12967, %12961
  br label %12972

12972:                                            ; preds = %12967, %12971
  %.str.5.sink6111 = phi ptr [ @.str.5, %12971 ], [ @.str.2, %12967 ]
  store i32 %12962, ptr %1549, align 4, !tbaa !5
  %12973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12974 = load i32, ptr @test_count, align 4, !tbaa !5
  %12975 = load i32, ptr %1495, align 4, !tbaa !5
  %12976 = call ptr @s2n_strerror(i32 noundef %12975, ptr noundef nonnull @.str.4) #12
  %12977 = load i32, ptr %1495, align 4, !tbaa !5
  %12978 = call ptr @s2n_strerror_debug(i32 noundef %12977, ptr noundef nonnull @.str.4) #12
  %12979 = load i32, ptr %1549, align 4, !tbaa !5
  %12980 = call ptr @strerror(i32 noundef %12979) #12
  %12981 = load i32, ptr %1549, align 4, !tbaa !5
  %12982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12973, ptr noundef nonnull %.str.5.sink6111, i32 noundef %12974, ptr noundef nonnull @.str.243, ptr noundef nonnull @.str.1, i32 noundef 1166, ptr noundef %12976, ptr noundef %12978, ptr noundef %12980, i32 noundef %12981) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12983:                                            ; preds = %12954
  %12984 = add nsw i32 %12956, 2
  store i32 %12984, ptr @test_count, align 4, !tbaa !5
  %12985 = getelementptr inbounds i8, ptr %98, i64 32
  %12986 = load ptr, ptr %12985, align 8, !tbaa !93
  %12987 = icmp eq ptr %12986, null
  br i1 %12987, label %12988, label %13010

12988:                                            ; preds = %12983
  %12989 = load i32, ptr %1549, align 4, !tbaa !5
  %12990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12991 = call i32 @s2n_print_stacktrace(ptr noundef %12990) #12
  %12992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12993 = trunc nuw i8 %12992 to i1
  br i1 %12993, label %12994, label %12998

12994:                                            ; preds = %12988
  %12995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12996 = call i32 @fileno(ptr noundef %12995) #12
  %12997 = call i32 @isatty(i32 noundef %12996) #12
  %.not1495 = icmp eq i32 %12997, 0
  br i1 %.not1495, label %12998, label %12999

12998:                                            ; preds = %12994, %12988
  br label %12999

12999:                                            ; preds = %12994, %12998
  %.str.5.sink6120 = phi ptr [ @.str.5, %12998 ], [ @.str.2, %12994 ]
  store i32 %12989, ptr %1549, align 4, !tbaa !5
  %13000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13001 = load i32, ptr @test_count, align 4, !tbaa !5
  %13002 = load i32, ptr %1495, align 4, !tbaa !5
  %13003 = call ptr @s2n_strerror(i32 noundef %13002, ptr noundef nonnull @.str.4) #12
  %13004 = load i32, ptr %1495, align 4, !tbaa !5
  %13005 = call ptr @s2n_strerror_debug(i32 noundef %13004, ptr noundef nonnull @.str.4) #12
  %13006 = load i32, ptr %1549, align 4, !tbaa !5
  %13007 = call ptr @strerror(i32 noundef %13006) #12
  %13008 = load i32, ptr %1549, align 4, !tbaa !5
  %13009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13000, ptr noundef nonnull %.str.5.sink6120, i32 noundef %13001, ptr noundef nonnull @.str.244, ptr noundef nonnull @.str.1, i32 noundef 1167, ptr noundef %13003, ptr noundef %13005, ptr noundef %13007, i32 noundef %13008) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13010:                                            ; preds = %12983
  %13011 = add nsw i32 %12956, 3
  store i32 %13011, ptr @test_count, align 4, !tbaa !5
  %13012 = load i8, ptr %12959, align 8, !tbaa !94
  %.not1461 = icmp eq i8 %13012, 0
  br i1 %.not1461, label %13013, label %13035

13013:                                            ; preds = %13010
  %13014 = load i32, ptr %1549, align 4, !tbaa !5
  %13015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13016 = call i32 @s2n_print_stacktrace(ptr noundef %13015) #12
  %13017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13018 = trunc nuw i8 %13017 to i1
  br i1 %13018, label %13019, label %13023

13019:                                            ; preds = %13013
  %13020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13021 = call i32 @fileno(ptr noundef %13020) #12
  %13022 = call i32 @isatty(i32 noundef %13021) #12
  %.not1462 = icmp eq i32 %13022, 0
  br i1 %.not1462, label %13023, label %13024

13023:                                            ; preds = %13019, %13013
  br label %13024

13024:                                            ; preds = %13019, %13023
  %.str.5.sink6129 = phi ptr [ @.str.5, %13023 ], [ @.str.2, %13019 ]
  store i32 %13014, ptr %1549, align 4, !tbaa !5
  %13025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13026 = load i32, ptr @test_count, align 4, !tbaa !5
  %13027 = load i32, ptr %1495, align 4, !tbaa !5
  %13028 = call ptr @s2n_strerror(i32 noundef %13027, ptr noundef nonnull @.str.4) #12
  %13029 = load i32, ptr %1495, align 4, !tbaa !5
  %13030 = call ptr @s2n_strerror_debug(i32 noundef %13029, ptr noundef nonnull @.str.4) #12
  %13031 = load i32, ptr %1549, align 4, !tbaa !5
  %13032 = call ptr @strerror(i32 noundef %13031) #12
  %13033 = load i32, ptr %1549, align 4, !tbaa !5
  %13034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13025, ptr noundef nonnull %.str.5.sink6129, i32 noundef %13026, ptr noundef nonnull @.str.245, ptr noundef nonnull @.str.1, i32 noundef 1168, ptr noundef %13028, ptr noundef %13030, ptr noundef %13032, i32 noundef %13033) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13035:                                            ; preds = %13010
  %13036 = add nsw i32 %12956, 4
  store i32 %13036, ptr @test_count, align 4, !tbaa !5
  %13037 = load i8, ptr %12986, align 8, !tbaa !96
  %.not1463 = icmp eq i8 %13037, 0
  br i1 %.not1463, label %13038, label %13060

13038:                                            ; preds = %13035
  %13039 = load i32, ptr %1549, align 4, !tbaa !5
  %13040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13041 = call i32 @s2n_print_stacktrace(ptr noundef %13040) #12
  %13042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13043 = trunc nuw i8 %13042 to i1
  br i1 %13043, label %13044, label %13048

13044:                                            ; preds = %13038
  %13045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13046 = call i32 @fileno(ptr noundef %13045) #12
  %13047 = call i32 @isatty(i32 noundef %13046) #12
  %.not1464 = icmp eq i32 %13047, 0
  br i1 %.not1464, label %13048, label %13049

13048:                                            ; preds = %13044, %13038
  br label %13049

13049:                                            ; preds = %13044, %13048
  %.str.5.sink6138 = phi ptr [ @.str.5, %13048 ], [ @.str.2, %13044 ]
  store i32 %13039, ptr %1549, align 4, !tbaa !5
  %13050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13051 = load i32, ptr @test_count, align 4, !tbaa !5
  %13052 = load i32, ptr %1495, align 4, !tbaa !5
  %13053 = call ptr @s2n_strerror(i32 noundef %13052, ptr noundef nonnull @.str.4) #12
  %13054 = load i32, ptr %1495, align 4, !tbaa !5
  %13055 = call ptr @s2n_strerror_debug(i32 noundef %13054, ptr noundef nonnull @.str.4) #12
  %13056 = load i32, ptr %1549, align 4, !tbaa !5
  %13057 = call ptr @strerror(i32 noundef %13056) #12
  %13058 = load i32, ptr %1549, align 4, !tbaa !5
  %13059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13050, ptr noundef nonnull %.str.5.sink6138, i32 noundef %13051, ptr noundef nonnull @.str.246, ptr noundef nonnull @.str.1, i32 noundef 1169, ptr noundef %13053, ptr noundef %13055, ptr noundef %13057, i32 noundef %13058) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13060:                                            ; preds = %13035
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %99) #12
  %13061 = call ptr @s2n_config_new() #12
  store ptr %13061, ptr %99, align 8, !tbaa !9
  %13062 = load i32, ptr @test_count, align 4, !tbaa !5
  %13063 = add nsw i32 %13062, 1
  store i32 %13063, ptr @test_count, align 4, !tbaa !5
  %13064 = icmp eq ptr %13061, null
  br i1 %13064, label %13065, label %13087

13065:                                            ; preds = %13060
  %13066 = load i32, ptr %1549, align 4, !tbaa !5
  %13067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13068 = call i32 @s2n_print_stacktrace(ptr noundef %13067) #12
  %13069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13070 = trunc nuw i8 %13069 to i1
  br i1 %13070, label %13071, label %13075

13071:                                            ; preds = %13065
  %13072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13073 = call i32 @fileno(ptr noundef %13072) #12
  %13074 = call i32 @isatty(i32 noundef %13073) #12
  %.not1494 = icmp eq i32 %13074, 0
  br i1 %.not1494, label %13075, label %13076

13075:                                            ; preds = %13071, %13065
  br label %13076

13076:                                            ; preds = %13071, %13075
  %.str.5.sink6147 = phi ptr [ @.str.5, %13075 ], [ @.str.2, %13071 ]
  store i32 %13066, ptr %1549, align 4, !tbaa !5
  %13077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13078 = load i32, ptr @test_count, align 4, !tbaa !5
  %13079 = load i32, ptr %1495, align 4, !tbaa !5
  %13080 = call ptr @s2n_strerror(i32 noundef %13079, ptr noundef nonnull @.str.4) #12
  %13081 = load i32, ptr %1495, align 4, !tbaa !5
  %13082 = call ptr @s2n_strerror_debug(i32 noundef %13081, ptr noundef nonnull @.str.4) #12
  %13083 = load i32, ptr %1549, align 4, !tbaa !5
  %13084 = call ptr @strerror(i32 noundef %13083) #12
  %13085 = load i32, ptr %1549, align 4, !tbaa !5
  %13086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13077, ptr noundef nonnull %.str.5.sink6147, i32 noundef %13078, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 1172, ptr noundef %13080, ptr noundef %13082, ptr noundef %13084, i32 noundef %13085) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13087:                                            ; preds = %13060
  %13088 = add nsw i32 %13062, 2
  store i32 %13088, ptr @test_count, align 4, !tbaa !5
  %13089 = load ptr, ptr %90, align 8, !tbaa !9
  %13090 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %13061, ptr noundef %13089) #12
  %13091 = icmp eq i32 %13090, -1
  br i1 %13091, label %13092, label %13114

13092:                                            ; preds = %13087
  %13093 = load i32, ptr %1549, align 4, !tbaa !5
  %13094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13095 = call i32 @s2n_print_stacktrace(ptr noundef %13094) #12
  %13096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13097 = trunc nuw i8 %13096 to i1
  br i1 %13097, label %13098, label %13102

13098:                                            ; preds = %13092
  %13099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13100 = call i32 @fileno(ptr noundef %13099) #12
  %13101 = call i32 @isatty(i32 noundef %13100) #12
  %.not1493 = icmp eq i32 %13101, 0
  br i1 %.not1493, label %13102, label %13103

13102:                                            ; preds = %13098, %13092
  br label %13103

13103:                                            ; preds = %13098, %13102
  %.str.5.sink6156 = phi ptr [ @.str.5, %13102 ], [ @.str.2, %13098 ]
  store i32 %13093, ptr %1549, align 4, !tbaa !5
  %13104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13105 = load i32, ptr @test_count, align 4, !tbaa !5
  %13106 = load i32, ptr %1495, align 4, !tbaa !5
  %13107 = call ptr @s2n_strerror(i32 noundef %13106, ptr noundef nonnull @.str.4) #12
  %13108 = load i32, ptr %1495, align 4, !tbaa !5
  %13109 = call ptr @s2n_strerror_debug(i32 noundef %13108, ptr noundef nonnull @.str.4) #12
  %13110 = load i32, ptr %1549, align 4, !tbaa !5
  %13111 = call ptr @strerror(i32 noundef %13110) #12
  %13112 = load i32, ptr %1549, align 4, !tbaa !5
  %13113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13104, ptr noundef nonnull %.str.5.sink6156, i32 noundef %13105, ptr noundef nonnull @.str.232, ptr noundef nonnull @.str.1, i32 noundef 1173, ptr noundef %13107, ptr noundef %13109, ptr noundef %13111, i32 noundef %13112) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13114:                                            ; preds = %13087
  %13115 = load i32, ptr @test_count, align 4, !tbaa !5
  %13116 = add nsw i32 %13115, 1
  store i32 %13116, ptr @test_count, align 4, !tbaa !5
  %13117 = load ptr, ptr %99, align 8, !tbaa !9
  %13118 = getelementptr inbounds i8, ptr %13117, i64 16
  %13119 = load ptr, ptr %13118, align 8, !tbaa !91
  %13120 = call i32 @s2n_map_unlock(ptr noundef %13119) #12
  %13121 = call zeroext i1 @s2n_result_is_ok(i32 %13120)
  br i1 %13121, label %13144, label %13122

13122:                                            ; preds = %13114
  %13123 = load i32, ptr %1549, align 4, !tbaa !5
  %13124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13125 = call i32 @s2n_print_stacktrace(ptr noundef %13124) #12
  %13126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13127 = trunc nuw i8 %13126 to i1
  br i1 %13127, label %13128, label %13132

13128:                                            ; preds = %13122
  %13129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13130 = call i32 @fileno(ptr noundef %13129) #12
  %13131 = call i32 @isatty(i32 noundef %13130) #12
  %.not1465 = icmp eq i32 %13131, 0
  br i1 %.not1465, label %13132, label %13133

13132:                                            ; preds = %13128, %13122
  br label %13133

13133:                                            ; preds = %13128, %13132
  %.str.5.sink6165 = phi ptr [ @.str.5, %13132 ], [ @.str.2, %13128 ]
  store i32 %13123, ptr %1549, align 4, !tbaa !5
  %13134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13135 = load i32, ptr @test_count, align 4, !tbaa !5
  %13136 = load i32, ptr %1495, align 4, !tbaa !5
  %13137 = call ptr @s2n_strerror(i32 noundef %13136, ptr noundef nonnull @.str.4) #12
  %13138 = load i32, ptr %1495, align 4, !tbaa !5
  %13139 = call ptr @s2n_strerror_debug(i32 noundef %13138, ptr noundef nonnull @.str.4) #12
  %13140 = load i32, ptr %1549, align 4, !tbaa !5
  %13141 = call ptr @strerror(i32 noundef %13140) #12
  %13142 = load i32, ptr %1549, align 4, !tbaa !5
  %13143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13134, ptr noundef nonnull %.str.5.sink6165, i32 noundef %13135, ptr noundef nonnull @.str.247, ptr noundef nonnull @.str.1, i32 noundef 1179, ptr noundef %13137, ptr noundef %13139, ptr noundef %13141, i32 noundef %13142) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13144:                                            ; preds = %13114
  %13145 = getelementptr inbounds i8, ptr %98, i64 56
  store i8 1, ptr %13145, align 8, !tbaa !90
  %13146 = load i32, ptr @test_count, align 4, !tbaa !5
  %13147 = add nsw i32 %13146, 1
  store i32 %13147, ptr @test_count, align 4, !tbaa !5
  %13148 = load ptr, ptr %99, align 8, !tbaa !9
  %13149 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %13148, ptr noundef nonnull %98) #12
  %13150 = call zeroext i1 @s2n_result_is_error(i32 %13149)
  br i1 %13150, label %13173, label %13151

13151:                                            ; preds = %13144
  %13152 = load i32, ptr %1549, align 4, !tbaa !5
  %13153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13154 = call i32 @s2n_print_stacktrace(ptr noundef %13153) #12
  %13155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13156 = trunc nuw i8 %13155 to i1
  br i1 %13156, label %13157, label %13161

13157:                                            ; preds = %13151
  %13158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13159 = call i32 @fileno(ptr noundef %13158) #12
  %13160 = call i32 @isatty(i32 noundef %13159) #12
  %.not1466 = icmp eq i32 %13160, 0
  br i1 %.not1466, label %13161, label %13162

13161:                                            ; preds = %13157, %13151
  br label %13162

13162:                                            ; preds = %13157, %13161
  %.str.5.sink6174 = phi ptr [ @.str.5, %13161 ], [ @.str.2, %13157 ]
  store i32 %13152, ptr %1549, align 4, !tbaa !5
  %13163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13164 = load i32, ptr @test_count, align 4, !tbaa !5
  %13165 = load i32, ptr %1495, align 4, !tbaa !5
  %13166 = call ptr @s2n_strerror(i32 noundef %13165, ptr noundef nonnull @.str.4) #12
  %13167 = load i32, ptr %1495, align 4, !tbaa !5
  %13168 = call ptr @s2n_strerror_debug(i32 noundef %13167, ptr noundef nonnull @.str.4) #12
  %13169 = load i32, ptr %1549, align 4, !tbaa !5
  %13170 = call ptr @strerror(i32 noundef %13169) #12
  %13171 = load i32, ptr %1549, align 4, !tbaa !5
  %13172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13163, ptr noundef nonnull %.str.5.sink6174, i32 noundef %13164, ptr noundef nonnull @.str.248, ptr noundef nonnull @.str.1, i32 noundef 1185, ptr noundef %13166, ptr noundef %13168, ptr noundef %13170, i32 noundef %13171) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13173:                                            ; preds = %13144
  %13174 = load i32, ptr @test_count, align 4, !tbaa !5
  %13175 = add nsw i32 %13174, 1
  store i32 %13175, ptr @test_count, align 4, !tbaa !5
  %13176 = load i32, ptr %1495, align 4, !tbaa !5
  %13177 = icmp eq i32 %13176, 402653227
  br i1 %13177, label %13200, label %13178

13178:                                            ; preds = %13173
  %13179 = load i32, ptr %1549, align 4, !tbaa !5
  %13180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13181 = call i32 @s2n_print_stacktrace(ptr noundef %13180) #12
  %13182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13183 = trunc nuw i8 %13182 to i1
  br i1 %13183, label %13184, label %13188

13184:                                            ; preds = %13178
  %13185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13186 = call i32 @fileno(ptr noundef %13185) #12
  %13187 = call i32 @isatty(i32 noundef %13186) #12
  %.not1467 = icmp eq i32 %13187, 0
  br i1 %.not1467, label %13188, label %13189

13188:                                            ; preds = %13184, %13178
  br label %13189

13189:                                            ; preds = %13184, %13188
  %.str.5.sink6183 = phi ptr [ @.str.5, %13188 ], [ @.str.2, %13184 ]
  store i32 %13179, ptr %1549, align 4, !tbaa !5
  %13190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13191 = load i32, ptr @test_count, align 4, !tbaa !5
  %13192 = load i32, ptr %1495, align 4, !tbaa !5
  %13193 = call ptr @s2n_strerror(i32 noundef %13192, ptr noundef nonnull @.str.4) #12
  %13194 = load i32, ptr %1495, align 4, !tbaa !5
  %13195 = call ptr @s2n_strerror_debug(i32 noundef %13194, ptr noundef nonnull @.str.4) #12
  %13196 = load i32, ptr %1549, align 4, !tbaa !5
  %13197 = call ptr @strerror(i32 noundef %13196) #12
  %13198 = load i32, ptr %1549, align 4, !tbaa !5
  %13199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13190, ptr noundef nonnull %.str.5.sink6183, i32 noundef %13191, ptr noundef nonnull @.str.249, ptr noundef nonnull @.str.1, i32 noundef 1185, ptr noundef %13193, ptr noundef %13195, ptr noundef %13197, i32 noundef %13198) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13200:                                            ; preds = %13173
  %13201 = add nsw i32 %13174, 2
  store i32 %13201, ptr @test_count, align 4, !tbaa !5
  %13202 = call ptr @s2n_strerror_debug(i32 noundef 402653227, ptr noundef nonnull @.str.4) #12
  %13203 = icmp eq ptr %13202, null
  br i1 %13203, label %13204, label %13226

13204:                                            ; preds = %13200
  %13205 = load i32, ptr %1549, align 4, !tbaa !5
  %13206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13207 = call i32 @s2n_print_stacktrace(ptr noundef %13206) #12
  %13208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13209 = trunc nuw i8 %13208 to i1
  br i1 %13209, label %13210, label %13214

13210:                                            ; preds = %13204
  %13211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13212 = call i32 @fileno(ptr noundef %13211) #12
  %13213 = call i32 @isatty(i32 noundef %13212) #12
  %.not1492 = icmp eq i32 %13213, 0
  br i1 %.not1492, label %13214, label %13215

13214:                                            ; preds = %13210, %13204
  br label %13215

13215:                                            ; preds = %13210, %13214
  %.str.5.sink6192 = phi ptr [ @.str.5, %13214 ], [ @.str.2, %13210 ]
  store i32 %13205, ptr %1549, align 4, !tbaa !5
  %13216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13217 = load i32, ptr @test_count, align 4, !tbaa !5
  %13218 = load i32, ptr %1495, align 4, !tbaa !5
  %13219 = call ptr @s2n_strerror(i32 noundef %13218, ptr noundef nonnull @.str.4) #12
  %13220 = load i32, ptr %1495, align 4, !tbaa !5
  %13221 = call ptr @s2n_strerror_debug(i32 noundef %13220, ptr noundef nonnull @.str.4) #12
  %13222 = load i32, ptr %1549, align 4, !tbaa !5
  %13223 = call ptr @strerror(i32 noundef %13222) #12
  %13224 = load i32, ptr %1549, align 4, !tbaa !5
  %13225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13216, ptr noundef nonnull %.str.5.sink6192, i32 noundef %13217, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 1185, ptr noundef %13219, ptr noundef %13221, ptr noundef %13223, i32 noundef %13224) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13226:                                            ; preds = %13200
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  store i8 0, ptr %13145, align 8, !tbaa !90
  %13227 = load i32, ptr @test_count, align 4, !tbaa !5
  %13228 = add nsw i32 %13227, 1
  store i32 %13228, ptr @test_count, align 4, !tbaa !5
  %13229 = load ptr, ptr %99, align 8, !tbaa !9
  %13230 = call i32 @s2n_config_validate_loaded_certificates(ptr noundef %13229, ptr noundef nonnull %98) #12
  %13231 = call zeroext i1 @s2n_result_is_ok(i32 %13230)
  br i1 %13231, label %13254, label %13232

13232:                                            ; preds = %13226
  %13233 = load i32, ptr %1549, align 4, !tbaa !5
  %13234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13235 = call i32 @s2n_print_stacktrace(ptr noundef %13234) #12
  %13236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13237 = trunc nuw i8 %13236 to i1
  br i1 %13237, label %13238, label %13242

13238:                                            ; preds = %13232
  %13239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13240 = call i32 @fileno(ptr noundef %13239) #12
  %13241 = call i32 @isatty(i32 noundef %13240) #12
  %.not1468 = icmp eq i32 %13241, 0
  br i1 %.not1468, label %13242, label %13243

13242:                                            ; preds = %13238, %13232
  br label %13243

13243:                                            ; preds = %13238, %13242
  %.str.5.sink6201 = phi ptr [ @.str.5, %13242 ], [ @.str.2, %13238 ]
  store i32 %13233, ptr %1549, align 4, !tbaa !5
  %13244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13245 = load i32, ptr @test_count, align 4, !tbaa !5
  %13246 = load i32, ptr %1495, align 4, !tbaa !5
  %13247 = call ptr @s2n_strerror(i32 noundef %13246, ptr noundef nonnull @.str.4) #12
  %13248 = load i32, ptr %1495, align 4, !tbaa !5
  %13249 = call ptr @s2n_strerror_debug(i32 noundef %13248, ptr noundef nonnull @.str.4) #12
  %13250 = load i32, ptr %1549, align 4, !tbaa !5
  %13251 = call ptr @strerror(i32 noundef %13250) #12
  %13252 = load i32, ptr %1549, align 4, !tbaa !5
  %13253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13244, ptr noundef nonnull %.str.5.sink6201, i32 noundef %13245, ptr noundef nonnull @.str.235, ptr noundef nonnull @.str.1, i32 noundef 1189, ptr noundef %13247, ptr noundef %13249, ptr noundef %13251, i32 noundef %13252) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13254:                                            ; preds = %13226
  %13255 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %99) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %99) #12
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %98) #12
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %91) #12
  %13256 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %90) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #12
  %13257 = call i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef nonnull %89) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %100) #12
  %13258 = call ptr @s2n_config_new() #12
  store ptr %13258, ptr %100, align 8, !tbaa !9
  %13259 = load i32, ptr @test_count, align 4, !tbaa !5
  %13260 = add nsw i32 %13259, 1
  store i32 %13260, ptr @test_count, align 4, !tbaa !5
  %13261 = icmp eq ptr %13258, null
  br i1 %13261, label %13262, label %13284

13262:                                            ; preds = %13254
  %13263 = load i32, ptr %1549, align 4, !tbaa !5
  %13264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13265 = call i32 @s2n_print_stacktrace(ptr noundef %13264) #12
  %13266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13267 = trunc nuw i8 %13266 to i1
  br i1 %13267, label %13268, label %13272

13268:                                            ; preds = %13262
  %13269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13270 = call i32 @fileno(ptr noundef %13269) #12
  %13271 = call i32 @isatty(i32 noundef %13270) #12
  %.not1491 = icmp eq i32 %13271, 0
  br i1 %.not1491, label %13272, label %13273

13272:                                            ; preds = %13268, %13262
  br label %13273

13273:                                            ; preds = %13268, %13272
  %.str.5.sink6210 = phi ptr [ @.str.5, %13272 ], [ @.str.2, %13268 ]
  store i32 %13263, ptr %1549, align 4, !tbaa !5
  %13274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13275 = load i32, ptr @test_count, align 4, !tbaa !5
  %13276 = load i32, ptr %1495, align 4, !tbaa !5
  %13277 = call ptr @s2n_strerror(i32 noundef %13276, ptr noundef nonnull @.str.4) #12
  %13278 = load i32, ptr %1495, align 4, !tbaa !5
  %13279 = call ptr @s2n_strerror_debug(i32 noundef %13278, ptr noundef nonnull @.str.4) #12
  %13280 = load i32, ptr %1549, align 4, !tbaa !5
  %13281 = call ptr @strerror(i32 noundef %13280) #12
  %13282 = load i32, ptr %1549, align 4, !tbaa !5
  %13283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13274, ptr noundef nonnull %.str.5.sink6210, i32 noundef %13275, ptr noundef nonnull @.str.250, ptr noundef nonnull @.str.1, i32 noundef 1200, ptr noundef %13277, ptr noundef %13279, ptr noundef %13281, i32 noundef %13282) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13284:                                            ; preds = %13254
  %13285 = add nsw i32 %13259, 2
  store i32 %13285, ptr @test_count, align 4, !tbaa !5
  %13286 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %13258, ptr noundef nonnull @.str.251) #12
  %13287 = icmp eq i32 %13286, -1
  br i1 %13287, label %13288, label %13310

13288:                                            ; preds = %13284
  %13289 = load i32, ptr %1549, align 4, !tbaa !5
  %13290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13291 = call i32 @s2n_print_stacktrace(ptr noundef %13290) #12
  %13292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13293 = trunc nuw i8 %13292 to i1
  br i1 %13293, label %13294, label %13298

13294:                                            ; preds = %13288
  %13295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13296 = call i32 @fileno(ptr noundef %13295) #12
  %13297 = call i32 @isatty(i32 noundef %13296) #12
  %.not1490 = icmp eq i32 %13297, 0
  br i1 %.not1490, label %13298, label %13299

13298:                                            ; preds = %13294, %13288
  br label %13299

13299:                                            ; preds = %13294, %13298
  %.str.5.sink6219 = phi ptr [ @.str.5, %13298 ], [ @.str.2, %13294 ]
  store i32 %13289, ptr %1549, align 4, !tbaa !5
  %13300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13301 = load i32, ptr @test_count, align 4, !tbaa !5
  %13302 = load i32, ptr %1495, align 4, !tbaa !5
  %13303 = call ptr @s2n_strerror(i32 noundef %13302, ptr noundef nonnull @.str.4) #12
  %13304 = load i32, ptr %1495, align 4, !tbaa !5
  %13305 = call ptr @s2n_strerror_debug(i32 noundef %13304, ptr noundef nonnull @.str.4) #12
  %13306 = load i32, ptr %1549, align 4, !tbaa !5
  %13307 = call ptr @strerror(i32 noundef %13306) #12
  %13308 = load i32, ptr %1549, align 4, !tbaa !5
  %13309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13300, ptr noundef nonnull %.str.5.sink6219, i32 noundef %13301, ptr noundef nonnull @.str.252, ptr noundef nonnull @.str.1, i32 noundef 1202, ptr noundef %13303, ptr noundef %13305, ptr noundef %13307, i32 noundef %13308) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13310:                                            ; preds = %13284
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %101) #12
  %13311 = call ptr @s2n_config_new() #12
  store ptr %13311, ptr %101, align 8, !tbaa !9
  %13312 = load i32, ptr @test_count, align 4, !tbaa !5
  %13313 = add nsw i32 %13312, 1
  store i32 %13313, ptr @test_count, align 4, !tbaa !5
  %13314 = icmp eq ptr %13311, null
  br i1 %13314, label %13315, label %13337

13315:                                            ; preds = %13310
  %13316 = load i32, ptr %1549, align 4, !tbaa !5
  %13317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13318 = call i32 @s2n_print_stacktrace(ptr noundef %13317) #12
  %13319 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13320 = trunc nuw i8 %13319 to i1
  br i1 %13320, label %13321, label %13325

13321:                                            ; preds = %13315
  %13322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13323 = call i32 @fileno(ptr noundef %13322) #12
  %13324 = call i32 @isatty(i32 noundef %13323) #12
  %.not1489 = icmp eq i32 %13324, 0
  br i1 %.not1489, label %13325, label %13326

13325:                                            ; preds = %13321, %13315
  br label %13326

13326:                                            ; preds = %13321, %13325
  %.str.5.sink6228 = phi ptr [ @.str.5, %13325 ], [ @.str.2, %13321 ]
  store i32 %13316, ptr %1549, align 4, !tbaa !5
  %13327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13328 = load i32, ptr @test_count, align 4, !tbaa !5
  %13329 = load i32, ptr %1495, align 4, !tbaa !5
  %13330 = call ptr @s2n_strerror(i32 noundef %13329, ptr noundef nonnull @.str.4) #12
  %13331 = load i32, ptr %1495, align 4, !tbaa !5
  %13332 = call ptr @s2n_strerror_debug(i32 noundef %13331, ptr noundef nonnull @.str.4) #12
  %13333 = load i32, ptr %1549, align 4, !tbaa !5
  %13334 = call ptr @strerror(i32 noundef %13333) #12
  %13335 = load i32, ptr %1549, align 4, !tbaa !5
  %13336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13327, ptr noundef nonnull %.str.5.sink6228, i32 noundef %13328, ptr noundef nonnull @.str.253, ptr noundef nonnull @.str.1, i32 noundef 1205, ptr noundef %13330, ptr noundef %13332, ptr noundef %13334, i32 noundef %13335) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13337:                                            ; preds = %13310
  %13338 = add nsw i32 %13312, 2
  store i32 %13338, ptr @test_count, align 4, !tbaa !5
  %13339 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %13311, ptr noundef nonnull @.str.254) #12
  %13340 = icmp eq i32 %13339, -1
  br i1 %13340, label %13341, label %13363

13341:                                            ; preds = %13337
  %13342 = load i32, ptr %1549, align 4, !tbaa !5
  %13343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13344 = call i32 @s2n_print_stacktrace(ptr noundef %13343) #12
  %13345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13346 = trunc nuw i8 %13345 to i1
  br i1 %13346, label %13347, label %13351

13347:                                            ; preds = %13341
  %13348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13349 = call i32 @fileno(ptr noundef %13348) #12
  %13350 = call i32 @isatty(i32 noundef %13349) #12
  %.not1488 = icmp eq i32 %13350, 0
  br i1 %.not1488, label %13351, label %13352

13351:                                            ; preds = %13347, %13341
  br label %13352

13352:                                            ; preds = %13347, %13351
  %.str.5.sink6237 = phi ptr [ @.str.5, %13351 ], [ @.str.2, %13347 ]
  store i32 %13342, ptr %1549, align 4, !tbaa !5
  %13353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13354 = load i32, ptr @test_count, align 4, !tbaa !5
  %13355 = load i32, ptr %1495, align 4, !tbaa !5
  %13356 = call ptr @s2n_strerror(i32 noundef %13355, ptr noundef nonnull @.str.4) #12
  %13357 = load i32, ptr %1495, align 4, !tbaa !5
  %13358 = call ptr @s2n_strerror_debug(i32 noundef %13357, ptr noundef nonnull @.str.4) #12
  %13359 = load i32, ptr %1549, align 4, !tbaa !5
  %13360 = call ptr @strerror(i32 noundef %13359) #12
  %13361 = load i32, ptr %1549, align 4, !tbaa !5
  %13362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13353, ptr noundef nonnull %.str.5.sink6237, i32 noundef %13354, ptr noundef nonnull @.str.255, ptr noundef nonnull @.str.1, i32 noundef 1207, ptr noundef %13356, ptr noundef %13358, ptr noundef %13360, i32 noundef %13361) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13363:                                            ; preds = %13337
  %13364 = load ptr, ptr %100, align 8, !tbaa !9
  %13365 = load ptr, ptr %101, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #12
  %13366 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %13366, ptr %102, align 8, !tbaa !9
  %13367 = load i32, ptr @test_count, align 4, !tbaa !5
  %13368 = add nsw i32 %13367, 1
  store i32 %13368, ptr @test_count, align 4, !tbaa !5
  %13369 = icmp eq ptr %13366, null
  br i1 %13369, label %13370, label %13392

13370:                                            ; preds = %13586, %13363
  %13371 = load i32, ptr %1549, align 4, !tbaa !5
  %13372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13373 = call i32 @s2n_print_stacktrace(ptr noundef %13372) #12
  %13374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13375 = trunc nuw i8 %13374 to i1
  br i1 %13375, label %13376, label %13380

13376:                                            ; preds = %13370
  %13377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13378 = call i32 @fileno(ptr noundef %13377) #12
  %13379 = call i32 @isatty(i32 noundef %13378) #12
  %.not1487 = icmp eq i32 %13379, 0
  br i1 %.not1487, label %13380, label %13381

13380:                                            ; preds = %13376, %13370
  br label %13381

13381:                                            ; preds = %13376, %13380
  %.str.5.sink6246 = phi ptr [ @.str.5, %13380 ], [ @.str.2, %13376 ]
  store i32 %13371, ptr %1549, align 4, !tbaa !5
  %13382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13383 = load i32, ptr @test_count, align 4, !tbaa !5
  %13384 = load i32, ptr %1495, align 4, !tbaa !5
  %13385 = call ptr @s2n_strerror(i32 noundef %13384, ptr noundef nonnull @.str.4) #12
  %13386 = load i32, ptr %1495, align 4, !tbaa !5
  %13387 = call ptr @s2n_strerror_debug(i32 noundef %13386, ptr noundef nonnull @.str.4) #12
  %13388 = load i32, ptr %1549, align 4, !tbaa !5
  %13389 = call ptr @strerror(i32 noundef %13388) #12
  %13390 = load i32, ptr %1549, align 4, !tbaa !5
  %13391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13382, ptr noundef nonnull %.str.5.sink6246, i32 noundef %13383, ptr noundef nonnull @.str.187, ptr noundef nonnull @.str.1, i32 noundef 1215, ptr noundef %13385, ptr noundef %13387, ptr noundef %13389, i32 noundef %13390) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13392:                                            ; preds = %13363
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #12
  %13393 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %13393, ptr %103, align 8, !tbaa !9
  %13394 = load i32, ptr @test_count, align 4, !tbaa !5
  %13395 = add nsw i32 %13394, 1
  store i32 %13395, ptr @test_count, align 4, !tbaa !5
  %13396 = icmp eq ptr %13393, null
  br i1 %13396, label %13397, label %13419

13397:                                            ; preds = %13594, %13392
  %13398 = load i32, ptr %1549, align 4, !tbaa !5
  %13399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13400 = call i32 @s2n_print_stacktrace(ptr noundef %13399) #12
  %13401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13402 = trunc nuw i8 %13401 to i1
  br i1 %13402, label %13403, label %13407

13403:                                            ; preds = %13397
  %13404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13405 = call i32 @fileno(ptr noundef %13404) #12
  %13406 = call i32 @isatty(i32 noundef %13405) #12
  %.not1486 = icmp eq i32 %13406, 0
  br i1 %.not1486, label %13407, label %13408

13407:                                            ; preds = %13403, %13397
  br label %13408

13408:                                            ; preds = %13403, %13407
  %.str.5.sink6255 = phi ptr [ @.str.5, %13407 ], [ @.str.2, %13403 ]
  store i32 %13398, ptr %1549, align 4, !tbaa !5
  %13409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13410 = load i32, ptr @test_count, align 4, !tbaa !5
  %13411 = load i32, ptr %1495, align 4, !tbaa !5
  %13412 = call ptr @s2n_strerror(i32 noundef %13411, ptr noundef nonnull @.str.4) #12
  %13413 = load i32, ptr %1495, align 4, !tbaa !5
  %13414 = call ptr @s2n_strerror_debug(i32 noundef %13413, ptr noundef nonnull @.str.4) #12
  %13415 = load i32, ptr %1549, align 4, !tbaa !5
  %13416 = call ptr @strerror(i32 noundef %13415) #12
  %13417 = load i32, ptr %1549, align 4, !tbaa !5
  %13418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13409, ptr noundef nonnull %.str.5.sink6255, i32 noundef %13410, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.1, i32 noundef 1218, ptr noundef %13412, ptr noundef %13414, ptr noundef %13416, i32 noundef %13417) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13419:                                            ; preds = %13392
  %13420 = add nsw i32 %13394, 2
  store i32 %13420, ptr @test_count, align 4, !tbaa !5
  %13421 = load ptr, ptr %102, align 8, !tbaa !9
  %13422 = call i32 @s2n_connection_set_config(ptr noundef %13421, ptr noundef %13364) #12
  %13423 = icmp eq i32 %13422, -1
  br i1 %13423, label %13424, label %13446

13424:                                            ; preds = %13599, %13419
  %13425 = load i32, ptr %1549, align 4, !tbaa !5
  %13426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13427 = call i32 @s2n_print_stacktrace(ptr noundef %13426) #12
  %13428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13429 = trunc nuw i8 %13428 to i1
  br i1 %13429, label %13430, label %13434

13430:                                            ; preds = %13424
  %13431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13432 = call i32 @fileno(ptr noundef %13431) #12
  %13433 = call i32 @isatty(i32 noundef %13432) #12
  %.not1485 = icmp eq i32 %13433, 0
  br i1 %.not1485, label %13434, label %13435

13434:                                            ; preds = %13430, %13424
  br label %13435

13435:                                            ; preds = %13430, %13434
  %.str.5.sink6264 = phi ptr [ @.str.5, %13434 ], [ @.str.2, %13430 ]
  store i32 %13425, ptr %1549, align 4, !tbaa !5
  %13436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13437 = load i32, ptr @test_count, align 4, !tbaa !5
  %13438 = load i32, ptr %1495, align 4, !tbaa !5
  %13439 = call ptr @s2n_strerror(i32 noundef %13438, ptr noundef nonnull @.str.4) #12
  %13440 = load i32, ptr %1495, align 4, !tbaa !5
  %13441 = call ptr @s2n_strerror_debug(i32 noundef %13440, ptr noundef nonnull @.str.4) #12
  %13442 = load i32, ptr %1549, align 4, !tbaa !5
  %13443 = call ptr @strerror(i32 noundef %13442) #12
  %13444 = load i32, ptr %1549, align 4, !tbaa !5
  %13445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13436, ptr noundef nonnull %.str.5.sink6264, i32 noundef %13437, ptr noundef nonnull @.str.256, ptr noundef nonnull @.str.1, i32 noundef 1220, ptr noundef %13439, ptr noundef %13441, ptr noundef %13443, i32 noundef %13444) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13446:                                            ; preds = %13419
  %13447 = load ptr, ptr %103, align 8, !tbaa !9
  %13448 = getelementptr inbounds i8, ptr %13447, i64 8
  store ptr null, ptr %13448, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %104) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %104, i8 0, i64 80, i1 false)
  %13449 = load i32, ptr @test_count, align 4, !tbaa !5
  %13450 = add nsw i32 %13449, 1
  store i32 %13450, ptr @test_count, align 4, !tbaa !5
  %13451 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %104) #12
  %13452 = call zeroext i1 @s2n_result_is_ok(i32 %13451)
  br i1 %13452, label %13475, label %13453

13453:                                            ; preds = %13604, %13446
  %13454 = load i32, ptr %1549, align 4, !tbaa !5
  %13455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13456 = call i32 @s2n_print_stacktrace(ptr noundef %13455) #12
  %13457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13458 = trunc nuw i8 %13457 to i1
  br i1 %13458, label %13459, label %13463

13459:                                            ; preds = %13453
  %13460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13461 = call i32 @fileno(ptr noundef %13460) #12
  %13462 = call i32 @isatty(i32 noundef %13461) #12
  %.not1480 = icmp eq i32 %13462, 0
  br i1 %.not1480, label %13463, label %13464

13463:                                            ; preds = %13459, %13453
  br label %13464

13464:                                            ; preds = %13459, %13463
  %.str.5.sink6273 = phi ptr [ @.str.5, %13463 ], [ @.str.2, %13459 ]
  store i32 %13454, ptr %1549, align 4, !tbaa !5
  %13465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13466 = load i32, ptr @test_count, align 4, !tbaa !5
  %13467 = load i32, ptr %1495, align 4, !tbaa !5
  %13468 = call ptr @s2n_strerror(i32 noundef %13467, ptr noundef nonnull @.str.4) #12
  %13469 = load i32, ptr %1495, align 4, !tbaa !5
  %13470 = call ptr @s2n_strerror_debug(i32 noundef %13469, ptr noundef nonnull @.str.4) #12
  %13471 = load i32, ptr %1549, align 4, !tbaa !5
  %13472 = call ptr @strerror(i32 noundef %13471) #12
  %13473 = load i32, ptr %1549, align 4, !tbaa !5
  %13474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13465, ptr noundef nonnull %.str.5.sink6273, i32 noundef %13466, ptr noundef nonnull @.str.257, ptr noundef nonnull @.str.1, i32 noundef 1227, ptr noundef %13468, ptr noundef %13470, ptr noundef %13472, i32 noundef %13473) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13475:                                            ; preds = %13446
  %13476 = load i32, ptr @test_count, align 4, !tbaa !5
  %13477 = add nsw i32 %13476, 1
  store i32 %13477, ptr @test_count, align 4, !tbaa !5
  %13478 = load ptr, ptr %102, align 8, !tbaa !9
  %13479 = load ptr, ptr %103, align 8, !tbaa !9
  %13480 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %13478, ptr noundef %13479, ptr noundef nonnull %104) #12
  %13481 = call zeroext i1 @s2n_result_is_ok(i32 %13480)
  br i1 %13481, label %13504, label %13482

13482:                                            ; preds = %13611, %13475
  %13483 = load i32, ptr %1549, align 4, !tbaa !5
  %13484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13485 = call i32 @s2n_print_stacktrace(ptr noundef %13484) #12
  %13486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13487 = trunc nuw i8 %13486 to i1
  br i1 %13487, label %13488, label %13492

13488:                                            ; preds = %13482
  %13489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13490 = call i32 @fileno(ptr noundef %13489) #12
  %13491 = call i32 @isatty(i32 noundef %13490) #12
  %.not1481 = icmp eq i32 %13491, 0
  br i1 %.not1481, label %13492, label %13493

13492:                                            ; preds = %13488, %13482
  br label %13493

13493:                                            ; preds = %13488, %13492
  %.str.5.sink6282 = phi ptr [ @.str.5, %13492 ], [ @.str.2, %13488 ]
  store i32 %13483, ptr %1549, align 4, !tbaa !5
  %13494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13495 = load i32, ptr @test_count, align 4, !tbaa !5
  %13496 = load i32, ptr %1495, align 4, !tbaa !5
  %13497 = call ptr @s2n_strerror(i32 noundef %13496, ptr noundef nonnull @.str.4) #12
  %13498 = load i32, ptr %1495, align 4, !tbaa !5
  %13499 = call ptr @s2n_strerror_debug(i32 noundef %13498, ptr noundef nonnull @.str.4) #12
  %13500 = load i32, ptr %1549, align 4, !tbaa !5
  %13501 = call ptr @strerror(i32 noundef %13500) #12
  %13502 = load i32, ptr %1549, align 4, !tbaa !5
  %13503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13494, ptr noundef nonnull %.str.5.sink6282, i32 noundef %13495, ptr noundef nonnull @.str.258, ptr noundef nonnull @.str.1, i32 noundef 1228, ptr noundef %13497, ptr noundef %13499, ptr noundef %13501, i32 noundef %13502) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13504:                                            ; preds = %13475
  %13505 = load i32, ptr @test_count, align 4, !tbaa !5
  %13506 = add nsw i32 %13505, 1
  store i32 %13506, ptr @test_count, align 4, !tbaa !5
  %13507 = load ptr, ptr %103, align 8, !tbaa !9
  %13508 = load ptr, ptr %102, align 8, !tbaa !9
  %13509 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %13507, ptr noundef %13508) #12
  %13510 = icmp eq i32 %13509, -1
  br i1 %13510, label %13533, label %13511

13511:                                            ; preds = %13618, %13504
  %13512 = load i32, ptr %1549, align 4, !tbaa !5
  %13513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13514 = call i32 @s2n_print_stacktrace(ptr noundef %13513) #12
  %13515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13516 = trunc nuw i8 %13515 to i1
  br i1 %13516, label %13517, label %13521

13517:                                            ; preds = %13511
  %13518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13519 = call i32 @fileno(ptr noundef %13518) #12
  %13520 = call i32 @isatty(i32 noundef %13519) #12
  %.not1482 = icmp eq i32 %13520, 0
  br i1 %.not1482, label %13521, label %13522

13521:                                            ; preds = %13517, %13511
  br label %13522

13522:                                            ; preds = %13517, %13521
  %.str.5.sink6291 = phi ptr [ @.str.5, %13521 ], [ @.str.2, %13517 ]
  store i32 %13512, ptr %1549, align 4, !tbaa !5
  %13523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13524 = load i32, ptr @test_count, align 4, !tbaa !5
  %13525 = load i32, ptr %1495, align 4, !tbaa !5
  %13526 = call ptr @s2n_strerror(i32 noundef %13525, ptr noundef nonnull @.str.4) #12
  %13527 = load i32, ptr %1495, align 4, !tbaa !5
  %13528 = call ptr @s2n_strerror_debug(i32 noundef %13527, ptr noundef nonnull @.str.4) #12
  %13529 = load i32, ptr %1549, align 4, !tbaa !5
  %13530 = call ptr @strerror(i32 noundef %13529) #12
  %13531 = load i32, ptr %1549, align 4, !tbaa !5
  %13532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13523, ptr noundef nonnull %.str.5.sink6291, i32 noundef %13524, ptr noundef nonnull @.str.200, ptr noundef nonnull @.str.1, i32 noundef 1235, ptr noundef %13526, ptr noundef %13528, ptr noundef %13530, i32 noundef %13531) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13533:                                            ; preds = %13504
  %13534 = load i32, ptr @test_count, align 4, !tbaa !5
  %13535 = add nsw i32 %13534, 1
  store i32 %13535, ptr @test_count, align 4, !tbaa !5
  %13536 = load i32, ptr %1495, align 4, !tbaa !5
  %13537 = icmp eq i32 %13536, 402653272
  br i1 %13537, label %13560, label %13538

13538:                                            ; preds = %13625, %13533
  %13539 = load i32, ptr %1549, align 4, !tbaa !5
  %13540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13541 = call i32 @s2n_print_stacktrace(ptr noundef %13540) #12
  %13542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13543 = trunc nuw i8 %13542 to i1
  br i1 %13543, label %13544, label %13548

13544:                                            ; preds = %13538
  %13545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13546 = call i32 @fileno(ptr noundef %13545) #12
  %13547 = call i32 @isatty(i32 noundef %13546) #12
  %.not1483 = icmp eq i32 %13547, 0
  br i1 %.not1483, label %13548, label %13549

13548:                                            ; preds = %13544, %13538
  br label %13549

13549:                                            ; preds = %13544, %13548
  %.str.5.sink6300 = phi ptr [ @.str.5, %13548 ], [ @.str.2, %13544 ]
  store i32 %13539, ptr %1549, align 4, !tbaa !5
  %13550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13551 = load i32, ptr @test_count, align 4, !tbaa !5
  %13552 = load i32, ptr %1495, align 4, !tbaa !5
  %13553 = call ptr @s2n_strerror(i32 noundef %13552, ptr noundef nonnull @.str.4) #12
  %13554 = load i32, ptr %1495, align 4, !tbaa !5
  %13555 = call ptr @s2n_strerror_debug(i32 noundef %13554, ptr noundef nonnull @.str.4) #12
  %13556 = load i32, ptr %1549, align 4, !tbaa !5
  %13557 = call ptr @strerror(i32 noundef %13556) #12
  %13558 = load i32, ptr %1549, align 4, !tbaa !5
  %13559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13550, ptr noundef nonnull %.str.5.sink6300, i32 noundef %13551, ptr noundef nonnull @.str.259, ptr noundef nonnull @.str.1, i32 noundef 1235, ptr noundef %13553, ptr noundef %13555, ptr noundef %13557, i32 noundef %13558) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13560:                                            ; preds = %13533
  %13561 = add nsw i32 %13534, 2
  store i32 %13561, ptr @test_count, align 4, !tbaa !5
  %13562 = call ptr @s2n_strerror_debug(i32 noundef 402653272, ptr noundef nonnull @.str.4) #12
  %13563 = icmp eq ptr %13562, null
  br i1 %13563, label %13564, label %13586

13564:                                            ; preds = %13630, %13560
  %13565 = load i32, ptr %1549, align 4, !tbaa !5
  %13566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13567 = call i32 @s2n_print_stacktrace(ptr noundef %13566) #12
  %13568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13569 = trunc nuw i8 %13568 to i1
  br i1 %13569, label %13570, label %13574

13570:                                            ; preds = %13564
  %13571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13572 = call i32 @fileno(ptr noundef %13571) #12
  %13573 = call i32 @isatty(i32 noundef %13572) #12
  %.not1484 = icmp eq i32 %13573, 0
  br i1 %.not1484, label %13574, label %13575

13574:                                            ; preds = %13570, %13564
  br label %13575

13575:                                            ; preds = %13570, %13574
  %.str.5.sink6309 = phi ptr [ @.str.5, %13574 ], [ @.str.2, %13570 ]
  store i32 %13565, ptr %1549, align 4, !tbaa !5
  %13576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13577 = load i32, ptr @test_count, align 4, !tbaa !5
  %13578 = load i32, ptr %1495, align 4, !tbaa !5
  %13579 = call ptr @s2n_strerror(i32 noundef %13578, ptr noundef nonnull @.str.4) #12
  %13580 = load i32, ptr %1495, align 4, !tbaa !5
  %13581 = call ptr @s2n_strerror_debug(i32 noundef %13580, ptr noundef nonnull @.str.4) #12
  %13582 = load i32, ptr %1549, align 4, !tbaa !5
  %13583 = call ptr @strerror(i32 noundef %13582) #12
  %13584 = load i32, ptr %1549, align 4, !tbaa !5
  %13585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13576, ptr noundef nonnull %.str.5.sink6309, i32 noundef %13577, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 1235, ptr noundef %13579, ptr noundef %13581, ptr noundef %13583, i32 noundef %13584) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13586:                                            ; preds = %13560
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %13587 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %104) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %104) #12
  %13588 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %103) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #12
  %13589 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %102) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %102) #12
  %13590 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %13590, ptr %102, align 8, !tbaa !9
  %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 = icmp eq ptr %13590, null
  br i1 %13593, label %13370, label %13594

13594:                                            ; preds = %13586
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %103) #12
  %13595 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %13595, ptr %103, align 8, !tbaa !9
  %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 = icmp eq ptr %13595, null
  br i1 %13598, label %13397, label %13599

13599:                                            ; preds = %13594
  %13600 = add nsw i32 %13596, 2
  store i32 %13600, ptr @test_count, align 4, !tbaa !5
  %13601 = load ptr, ptr %102, align 8, !tbaa !9
  %13602 = call i32 @s2n_connection_set_config(ptr noundef %13601, ptr noundef %13365) #12
  %13603 = icmp eq i32 %13602, -1
  br i1 %13603, label %13424, label %13604

13604:                                            ; preds = %13599
  %13605 = load ptr, ptr %103, align 8, !tbaa !9
  %13606 = getelementptr inbounds i8, ptr %13605, i64 8
  store ptr null, ptr %13606, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 80, ptr nonnull %104) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(80) %104, i8 0, i64 80, i1 false)
  %13607 = load i32, ptr @test_count, align 4, !tbaa !5
  %13608 = add nsw i32 %13607, 1
  store i32 %13608, ptr @test_count, align 4, !tbaa !5
  %13609 = call i32 @s2n_io_stuffer_pair_init(ptr noundef nonnull %104) #12
  %13610 = call zeroext i1 @s2n_result_is_ok(i32 %13609)
  br i1 %13610, label %13611, label %13453

13611:                                            ; preds = %13604
  %13612 = load i32, ptr @test_count, align 4, !tbaa !5
  %13613 = add nsw i32 %13612, 1
  store i32 %13613, ptr @test_count, align 4, !tbaa !5
  %13614 = load ptr, ptr %102, align 8, !tbaa !9
  %13615 = load ptr, ptr %103, align 8, !tbaa !9
  %13616 = call i32 @s2n_connections_set_io_stuffer_pair(ptr noundef %13614, ptr noundef %13615, ptr noundef nonnull %104) #12
  %13617 = call zeroext i1 @s2n_result_is_ok(i32 %13616)
  br i1 %13617, label %13618, label %13482

13618:                                            ; preds = %13611
  %13619 = load i32, ptr @test_count, align 4, !tbaa !5
  %13620 = add nsw i32 %13619, 1
  store i32 %13620, ptr @test_count, align 4, !tbaa !5
  %13621 = load ptr, ptr %103, align 8, !tbaa !9
  %13622 = load ptr, ptr %102, align 8, !tbaa !9
  %13623 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %13621, ptr noundef %13622) #12
  %13624 = icmp eq i32 %13623, -1
  br i1 %13624, label %13625, label %13511

13625:                                            ; preds = %13618
  %13626 = load i32, ptr @test_count, align 4, !tbaa !5
  %13627 = add nsw i32 %13626, 1
  store i32 %13627, ptr @test_count, align 4, !tbaa !5
  %13628 = load i32, ptr %1495, align 4, !tbaa !5
  %13629 = icmp eq i32 %13628, 402653272
  br i1 %13629, label %13630, label %13538

13630:                                            ; preds = %13625
  %13631 = add nsw i32 %13626, 2
  store i32 %13631, ptr @test_count, align 4, !tbaa !5
  %13632 = call ptr @s2n_strerror_debug(i32 noundef 402653272, ptr noundef nonnull @.str.4) #12
  %13633 = icmp eq ptr %13632, null
  br i1 %13633, label %13564, label %13634

13634:                                            ; preds = %13630
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %13635 = call i32 @s2n_io_stuffer_pair_free(ptr noundef nonnull %104) #12
  call void @llvm.lifetime.end.p0(i64 80, ptr nonnull %104) #12
  %13636 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %103) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %103) #12
  %13637 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %102) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %102) #12
  %13638 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %101) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %101) #12
  %13639 = call i32 @s2n_config_ptr_free(ptr noundef nonnull %100) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %100) #12
  call void @llvm.lifetime.start.p0(i64 176, ptr nonnull %105) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(176) %105, ptr noundef nonnull align 16 dereferenceable(176) @__const.main.sslv2_client_hello, i64 176, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %106) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %106, i8 0, i64 24, i1 false)
  %13640 = load i32, ptr @test_count, align 4, !tbaa !5
  %13641 = add nsw i32 %13640, 1
  store i32 %13641, ptr @test_count, align 4, !tbaa !5
  %13642 = call i32 @s2n_blob_init(ptr noundef nonnull %106, ptr noundef nonnull %105, i32 noundef 176) #12
  %13643 = icmp eq i32 %13642, -1
  br i1 %13643, label %13644, label %13666

13644:                                            ; preds = %13634
  %13645 = load i32, ptr %1549, align 4, !tbaa !5
  %13646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13647 = call i32 @s2n_print_stacktrace(ptr noundef %13646) #12
  %13648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13649 = trunc nuw i8 %13648 to i1
  br i1 %13649, label %13650, label %13654

13650:                                            ; preds = %13644
  %13651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13652 = call i32 @fileno(ptr noundef %13651) #12
  %13653 = call i32 @isatty(i32 noundef %13652) #12
  %.not1479 = icmp eq i32 %13653, 0
  br i1 %.not1479, label %13654, label %13655

13654:                                            ; preds = %13650, %13644
  br label %13655

13655:                                            ; preds = %13650, %13654
  %.str.5.sink6318 = phi ptr [ @.str.5, %13654 ], [ @.str.2, %13650 ]
  store i32 %13645, ptr %1549, align 4, !tbaa !5
  %13656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13657 = load i32, ptr @test_count, align 4, !tbaa !5
  %13658 = load i32, ptr %1495, align 4, !tbaa !5
  %13659 = call ptr @s2n_strerror(i32 noundef %13658, ptr noundef nonnull @.str.4) #12
  %13660 = load i32, ptr %1495, align 4, !tbaa !5
  %13661 = call ptr @s2n_strerror_debug(i32 noundef %13660, ptr noundef nonnull @.str.4) #12
  %13662 = load i32, ptr %1549, align 4, !tbaa !5
  %13663 = call ptr @strerror(i32 noundef %13662) #12
  %13664 = load i32, ptr %1549, align 4, !tbaa !5
  %13665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13656, ptr noundef nonnull %.str.5.sink6318, i32 noundef %13657, ptr noundef nonnull @.str.260, ptr noundef nonnull @.str.1, i32 noundef 1252, ptr noundef %13659, ptr noundef %13661, ptr noundef %13663, i32 noundef %13664) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13666:                                            ; preds = %13634
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #12
  %13667 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %13667, ptr %107, align 8, !tbaa !9
  %13668 = load i32, ptr @test_count, align 4, !tbaa !5
  %13669 = add nsw i32 %13668, 1
  store i32 %13669, ptr @test_count, align 4, !tbaa !5
  %13670 = icmp eq ptr %13667, null
  br i1 %13670, label %13671, label %13693

13671:                                            ; preds = %13666
  %13672 = load i32, ptr %1549, align 4, !tbaa !5
  %13673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13674 = call i32 @s2n_print_stacktrace(ptr noundef %13673) #12
  %13675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13676 = trunc nuw i8 %13675 to i1
  br i1 %13676, label %13677, label %13681

13677:                                            ; preds = %13671
  %13678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13679 = call i32 @fileno(ptr noundef %13678) #12
  %13680 = call i32 @isatty(i32 noundef %13679) #12
  %.not1478 = icmp eq i32 %13680, 0
  br i1 %.not1478, label %13681, label %13682

13681:                                            ; preds = %13677, %13671
  br label %13682

13682:                                            ; preds = %13677, %13681
  %.str.5.sink6327 = phi ptr [ @.str.5, %13681 ], [ @.str.2, %13677 ]
  store i32 %13672, ptr %1549, align 4, !tbaa !5
  %13683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13684 = load i32, ptr @test_count, align 4, !tbaa !5
  %13685 = load i32, ptr %1495, align 4, !tbaa !5
  %13686 = call ptr @s2n_strerror(i32 noundef %13685, ptr noundef nonnull @.str.4) #12
  %13687 = load i32, ptr %1495, align 4, !tbaa !5
  %13688 = call ptr @s2n_strerror_debug(i32 noundef %13687, ptr noundef nonnull @.str.4) #12
  %13689 = load i32, ptr %1549, align 4, !tbaa !5
  %13690 = call ptr @strerror(i32 noundef %13689) #12
  %13691 = load i32, ptr %1549, align 4, !tbaa !5
  %13692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13683, ptr noundef nonnull %.str.5.sink6327, i32 noundef %13684, ptr noundef nonnull @.str.182, ptr noundef nonnull @.str.1, i32 noundef 1258, ptr noundef %13686, ptr noundef %13688, ptr noundef %13690, i32 noundef %13691) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13693:                                            ; preds = %13666
  %13694 = getelementptr inbounds i8, ptr %13667, i64 8
  store ptr null, ptr %13694, align 8, !tbaa !25
  %13695 = getelementptr inbounds i8, ptr %13667, i64 217
  store i8 20, ptr %13695, align 1, !tbaa !98
  %13696 = getelementptr inbounds i8, ptr %13667, i64 218
  store i8 33, ptr %13696, align 2, !tbaa !99
  %13697 = add nsw i32 %13668, 2
  store i32 %13697, ptr @test_count, align 4, !tbaa !5
  %13698 = getelementptr inbounds i8, ptr %13667, i64 2016
  %13699 = call i32 @s2n_stuffer_write(ptr noundef nonnull %13698, ptr noundef nonnull %106) #12
  %13700 = icmp eq i32 %13699, -1
  br i1 %13700, label %13701, label %13723

13701:                                            ; preds = %13693
  %13702 = load i32, ptr %1549, align 4, !tbaa !5
  %13703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13704 = call i32 @s2n_print_stacktrace(ptr noundef %13703) #12
  %13705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13706 = trunc nuw i8 %13705 to i1
  br i1 %13706, label %13707, label %13711

13707:                                            ; preds = %13701
  %13708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13709 = call i32 @fileno(ptr noundef %13708) #12
  %13710 = call i32 @isatty(i32 noundef %13709) #12
  %.not1477 = icmp eq i32 %13710, 0
  br i1 %.not1477, label %13711, label %13712

13711:                                            ; preds = %13707, %13701
  br label %13712

13712:                                            ; preds = %13707, %13711
  %.str.5.sink6336 = phi ptr [ @.str.5, %13711 ], [ @.str.2, %13707 ]
  store i32 %13702, ptr %1549, align 4, !tbaa !5
  %13713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13714 = load i32, ptr @test_count, align 4, !tbaa !5
  %13715 = load i32, ptr %1495, align 4, !tbaa !5
  %13716 = call ptr @s2n_strerror(i32 noundef %13715, ptr noundef nonnull @.str.4) #12
  %13717 = load i32, ptr %1495, align 4, !tbaa !5
  %13718 = call ptr @s2n_strerror_debug(i32 noundef %13717, ptr noundef nonnull @.str.4) #12
  %13719 = load i32, ptr %1549, align 4, !tbaa !5
  %13720 = call ptr @strerror(i32 noundef %13719) #12
  %13721 = load i32, ptr %1549, align 4, !tbaa !5
  %13722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13713, ptr noundef nonnull %.str.5.sink6336, i32 noundef %13714, ptr noundef nonnull @.str.261, ptr noundef nonnull @.str.1, i32 noundef 1269, ptr noundef %13716, ptr noundef %13718, ptr noundef %13720, i32 noundef %13721) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13723:                                            ; preds = %13693
  %13724 = load i32, ptr @test_count, align 4, !tbaa !5
  %13725 = add nsw i32 %13724, 1
  store i32 %13725, ptr @test_count, align 4, !tbaa !5
  %13726 = call i32 @s2n_client_hello_recv(ptr noundef nonnull %13667) #12
  %13727 = icmp eq i32 %13726, -1
  br i1 %13727, label %13750, label %13728

13728:                                            ; preds = %13723
  %13729 = load i32, ptr %1549, align 4, !tbaa !5
  %13730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13731 = call i32 @s2n_print_stacktrace(ptr noundef %13730) #12
  %13732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13733 = trunc nuw i8 %13732 to i1
  br i1 %13733, label %13734, label %13738

13734:                                            ; preds = %13728
  %13735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13736 = call i32 @fileno(ptr noundef %13735) #12
  %13737 = call i32 @isatty(i32 noundef %13736) #12
  %.not1469 = icmp eq i32 %13737, 0
  br i1 %.not1469, label %13738, label %13739

13738:                                            ; preds = %13734, %13728
  br label %13739

13739:                                            ; preds = %13734, %13738
  %.str.5.sink6345 = phi ptr [ @.str.5, %13738 ], [ @.str.2, %13734 ]
  store i32 %13729, ptr %1549, align 4, !tbaa !5
  %13740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13741 = load i32, ptr @test_count, align 4, !tbaa !5
  %13742 = load i32, ptr %1495, align 4, !tbaa !5
  %13743 = call ptr @s2n_strerror(i32 noundef %13742, ptr noundef nonnull @.str.4) #12
  %13744 = load i32, ptr %1495, align 4, !tbaa !5
  %13745 = call ptr @s2n_strerror_debug(i32 noundef %13744, ptr noundef nonnull @.str.4) #12
  %13746 = load i32, ptr %1549, align 4, !tbaa !5
  %13747 = call ptr @strerror(i32 noundef %13746) #12
  %13748 = load i32, ptr %1549, align 4, !tbaa !5
  %13749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13740, ptr noundef nonnull %.str.5.sink6345, i32 noundef %13741, ptr noundef nonnull @.str.262, ptr noundef nonnull @.str.1, i32 noundef 1270, ptr noundef %13743, ptr noundef %13745, ptr noundef %13747, i32 noundef %13748) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13750:                                            ; preds = %13723
  %13751 = load i32, ptr @test_count, align 4, !tbaa !5
  %13752 = add nsw i32 %13751, 1
  store i32 %13752, ptr @test_count, align 4, !tbaa !5
  %13753 = load i32, ptr %1495, align 4, !tbaa !5
  %13754 = icmp eq i32 %13753, 402653272
  br i1 %13754, label %13777, label %13755

13755:                                            ; preds = %13750
  %13756 = load i32, ptr %1549, align 4, !tbaa !5
  %13757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13758 = call i32 @s2n_print_stacktrace(ptr noundef %13757) #12
  %13759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13760 = trunc nuw i8 %13759 to i1
  br i1 %13760, label %13761, label %13765

13761:                                            ; preds = %13755
  %13762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13763 = call i32 @fileno(ptr noundef %13762) #12
  %13764 = call i32 @isatty(i32 noundef %13763) #12
  %.not1470 = icmp eq i32 %13764, 0
  br i1 %.not1470, label %13765, label %13766

13765:                                            ; preds = %13761, %13755
  br label %13766

13766:                                            ; preds = %13761, %13765
  %.str.5.sink6354 = phi ptr [ @.str.5, %13765 ], [ @.str.2, %13761 ]
  store i32 %13756, ptr %1549, align 4, !tbaa !5
  %13767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13768 = load i32, ptr @test_count, align 4, !tbaa !5
  %13769 = load i32, ptr %1495, align 4, !tbaa !5
  %13770 = call ptr @s2n_strerror(i32 noundef %13769, ptr noundef nonnull @.str.4) #12
  %13771 = load i32, ptr %1495, align 4, !tbaa !5
  %13772 = call ptr @s2n_strerror_debug(i32 noundef %13771, ptr noundef nonnull @.str.4) #12
  %13773 = load i32, ptr %1549, align 4, !tbaa !5
  %13774 = call ptr @strerror(i32 noundef %13773) #12
  %13775 = load i32, ptr %1549, align 4, !tbaa !5
  %13776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13767, ptr noundef nonnull %.str.5.sink6354, i32 noundef %13768, ptr noundef nonnull @.str.259, ptr noundef nonnull @.str.1, i32 noundef 1270, ptr noundef %13770, ptr noundef %13772, ptr noundef %13774, i32 noundef %13775) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13777:                                            ; preds = %13750
  %13778 = add nsw i32 %13751, 2
  store i32 %13778, ptr @test_count, align 4, !tbaa !5
  %13779 = call ptr @s2n_strerror_debug(i32 noundef 402653272, ptr noundef nonnull @.str.4) #12
  %13780 = icmp eq ptr %13779, null
  br i1 %13780, label %13781, label %13803

13781:                                            ; preds = %13777
  %13782 = load i32, ptr %1549, align 4, !tbaa !5
  %13783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13784 = call i32 @s2n_print_stacktrace(ptr noundef %13783) #12
  %13785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13786 = trunc nuw i8 %13785 to i1
  br i1 %13786, label %13787, label %13791

13787:                                            ; preds = %13781
  %13788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13789 = call i32 @fileno(ptr noundef %13788) #12
  %13790 = call i32 @isatty(i32 noundef %13789) #12
  %.not1476 = icmp eq i32 %13790, 0
  br i1 %.not1476, label %13791, label %13792

13791:                                            ; preds = %13787, %13781
  br label %13792

13792:                                            ; preds = %13787, %13791
  %.str.5.sink6363 = phi ptr [ @.str.5, %13791 ], [ @.str.2, %13787 ]
  store i32 %13782, ptr %1549, align 4, !tbaa !5
  %13793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13794 = load i32, ptr @test_count, align 4, !tbaa !5
  %13795 = load i32, ptr %1495, align 4, !tbaa !5
  %13796 = call ptr @s2n_strerror(i32 noundef %13795, ptr noundef nonnull @.str.4) #12
  %13797 = load i32, ptr %1495, align 4, !tbaa !5
  %13798 = call ptr @s2n_strerror_debug(i32 noundef %13797, ptr noundef nonnull @.str.4) #12
  %13799 = load i32, ptr %1549, align 4, !tbaa !5
  %13800 = call ptr @strerror(i32 noundef %13799) #12
  %13801 = load i32, ptr %1549, align 4, !tbaa !5
  %13802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13793, ptr noundef nonnull %.str.5.sink6363, i32 noundef %13794, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 1270, ptr noundef %13796, ptr noundef %13798, ptr noundef %13800, i32 noundef %13801) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13803:                                            ; preds = %13777
  store i32 0, ptr %1495, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %1549, align 4, !tbaa !5
  %13804 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %107) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %106) #12
  call void @llvm.lifetime.end.p0(i64 176, ptr nonnull %105) #12
  %13805 = call i32 @s2n_cleanup() #12
  %13806 = icmp eq i32 %13805, -1
  br i1 %13806, label %13807, label %13829

13807:                                            ; preds = %13803
  %13808 = load i32, ptr %1549, align 4, !tbaa !5
  %13809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13810 = call i32 @s2n_print_stacktrace(ptr noundef %13809) #12
  %13811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13812 = trunc nuw i8 %13811 to i1
  br i1 %13812, label %13813, label %13817

13813:                                            ; preds = %13807
  %13814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13815 = call i32 @fileno(ptr noundef %13814) #12
  %13816 = call i32 @isatty(i32 noundef %13815) #12
  %.not1475 = icmp eq i32 %13816, 0
  br i1 %.not1475, label %13817, label %13818

13817:                                            ; preds = %13813, %13807
  br label %13818

13818:                                            ; preds = %13813, %13817
  %.str.5.sink6372 = phi ptr [ @.str.5, %13817 ], [ @.str.2, %13813 ]
  store i32 %13808, ptr %1549, align 4, !tbaa !5
  %13819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13820 = load i32, ptr @test_count, align 4, !tbaa !5
  %13821 = load i32, ptr %1495, align 4, !tbaa !5
  %13822 = call ptr @s2n_strerror(i32 noundef %13821, ptr noundef nonnull @.str.4) #12
  %13823 = load i32, ptr %1495, align 4, !tbaa !5
  %13824 = call ptr @s2n_strerror_debug(i32 noundef %13823, ptr noundef nonnull @.str.4) #12
  %13825 = load i32, ptr %1549, align 4, !tbaa !5
  %13826 = call ptr @strerror(i32 noundef %13825) #12
  %13827 = load i32, ptr %1549, align 4, !tbaa !5
  %13828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13819, ptr noundef nonnull %.str.5.sink6372, i32 noundef %13820, ptr noundef nonnull @.str.263, ptr noundef nonnull @.str.1, i32 noundef 1274, ptr noundef %13822, ptr noundef %13824, ptr noundef %13826, i32 noundef %13827) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13829:                                            ; preds = %13803
  %13830 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %13831 = icmp eq i32 %13830, -1
  br i1 %13831, label %13832, label %13854

13832:                                            ; preds = %13829
  %13833 = load i32, ptr %1549, align 4, !tbaa !5
  %13834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13835 = call i32 @s2n_print_stacktrace(ptr noundef %13834) #12
  %13836 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13837 = trunc nuw i8 %13836 to i1
  br i1 %13837, label %13838, label %13842

13838:                                            ; preds = %13832
  %13839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13840 = call i32 @fileno(ptr noundef %13839) #12
  %13841 = call i32 @isatty(i32 noundef %13840) #12
  %.not1474 = icmp eq i32 %13841, 0
  br i1 %.not1474, label %13842, label %13843

13842:                                            ; preds = %13838, %13832
  br label %13843

13843:                                            ; preds = %13838, %13842
  %.str.5.sink6381 = phi ptr [ @.str.5, %13842 ], [ @.str.2, %13838 ]
  store i32 %13833, ptr %1549, align 4, !tbaa !5
  %13844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13845 = load i32, ptr @test_count, align 4, !tbaa !5
  %13846 = load i32, ptr %1495, align 4, !tbaa !5
  %13847 = call ptr @s2n_strerror(i32 noundef %13846, ptr noundef nonnull @.str.4) #12
  %13848 = load i32, ptr %1495, align 4, !tbaa !5
  %13849 = call ptr @s2n_strerror_debug(i32 noundef %13848, ptr noundef nonnull @.str.4) #12
  %13850 = load i32, ptr %1549, align 4, !tbaa !5
  %13851 = call ptr @strerror(i32 noundef %13850) #12
  %13852 = load i32, ptr %1549, align 4, !tbaa !5
  %13853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13844, ptr noundef nonnull %.str.5.sink6381, i32 noundef %13845, ptr noundef nonnull @.str.264, ptr noundef nonnull @.str.1, i32 noundef 1274, ptr noundef %13847, ptr noundef %13849, ptr noundef %13851, i32 noundef %13852) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13854:                                            ; preds = %13829
  %13855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13856 = trunc nuw i8 %13855 to i1
  br i1 %13856, label %13857, label %13868

13857:                                            ; preds = %13854
  %13858 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13859 = call i32 @fileno(ptr noundef %13858) #12
  %13860 = call i32 @isatty(i32 noundef %13859) #12
  %.not1471 = icmp eq i32 %13860, 0
  br i1 %.not1471, label %13868, label %13861

13861:                                            ; preds = %13857
  %13862 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1473 = icmp eq i32 %13862, 0
  %13863 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1473, label %13866, label %13864

13864:                                            ; preds = %13861
  %13865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13863, ptr noundef nonnull @.str.265, i32 noundef %13862) #12
  br label %.loopexit1876

13866:                                            ; preds = %13861
  %13867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13863, ptr noundef nonnull @.str.266) #12
  br label %.loopexit1876

13868:                                            ; preds = %13857, %13854
  %13869 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1472 = icmp eq i32 %13869, 0
  %13870 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1472, label %13873, label %13871

13871:                                            ; preds = %13868
  %13872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13870, ptr noundef nonnull @.str.267, i32 noundef %13869) #12
  br label %.loopexit1876

13873:                                            ; preds = %13868
  %13874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13870, ptr noundef nonnull @.str.268) #12
  br label %.loopexit1876

.loopexit1876:                                    ; preds = %.loopexit, %.thread, %13866, %13864, %13873, %13871
  %.6 = phi i32 [ 0, %13871 ], [ 0, %13873 ], [ 0, %13864 ], [ 0, %13866 ], [ -1, %.thread ], [ %.4, %.loopexit ]
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 12000, ptr nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #12
  ret i32 %.6
}

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

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare i32 @s2n_disable_tls13_in_test(...) local_unnamed_addr #2

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

declare i32 @s2n_find_security_policy_from_version(ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_read_test_pem(ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2

declare ptr @s2n_config_new() local_unnamed_addr #2

declare ptr @s2n_fetch_default_config() local_unnamed_addr #2

declare i32 @s2n_enable_tls13_in_test(...) local_unnamed_addr #2

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_is_in_fips_mode() local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_get_security_policy(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_psk_selection_callback(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare void @s2n_debug_info_reset() local_unnamed_addr #2

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

declare ptr @s2n_test_psk_new(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_psk_free(ptr noundef) local_unnamed_addr #2

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

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

declare i32 @s2n_config_get_ctx(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_ctx(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain_and_key(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @s2n_config_get_single_default_cert(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_extension_data(ptr noundef, i32 noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_cert_chain_and_key_new(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_free_cert_chain_and_key(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_cert_chain_and_key_defaults(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_send_buffer_size(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_verify_after_sign(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_renegotiate_request_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_config_set_npn(ptr noundef, i1 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_config_set_crl_lookup_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_config_set_cert_validation_cb(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare zeroext i8 @s2n_x509_ocsp_stapling_supported() local_unnamed_addr #2

declare i32 @s2n_config_set_status_request_type(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_verification_ca_location(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_read_test_pem_and_len(ptr noundef, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #2

declare i32 @s2n_config_add_cert_chain(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare ptr @strrchr(ptr noundef, i32 noundef) local_unnamed_addr #10

declare i32 @s2n_calculate_stacktrace() local_unnamed_addr #2

declare i32 @s2n_pkey_check_key_exists(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_set_async_pkey_callback(ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_config_load_system_certs(ptr noundef) local_unnamed_addr #2

declare ptr @s2n_config_new_minimal() local_unnamed_addr #2

declare i32 @s2n_config_wipe_trust_store(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_x509_trust_store_from_ca_file(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare ptr @X509_STORE_get0_objects(ptr noundef) local_unnamed_addr #2

declare i32 @OPENSSL_sk_num(ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden ptr @ossl_check_const_X509_OBJECT_sk_type(ptr noundef) local_unnamed_addr #11

; Function Attrs: nounwind
declare i32 @setenv(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #5

declare zeroext i1 @s2n_libcrypto_is_libressl() local_unnamed_addr #2

; Function Attrs: nofree nounwind
declare noundef i32 @unsetenv(ptr nocapture noundef readonly) local_unnamed_addr #1

declare i32 @s2n_config_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_set_server_name(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_config_disable_x509_time_verification(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_get_supported_groups(ptr noundef, ptr noundef, i16 noundef zeroext, ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_kem_preferences_groups_available(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_supported_groups_parse_count(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_read_uint16(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_test_cert_permutation_load_server_chain(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_validate_loaded_certificates(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_map_size(ptr noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) local_unnamed_addr #11

declare i32 @s2n_config_build_domain_name_to_cert_map(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_get_num_default_certs(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_map_unlock(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_stuffer_pair_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_io_stuffer_pair_init(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connections_set_io_stuffer_pair(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_client_hello_recv(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #10 = { mustprogress nofree nounwind willreturn memory(argmem: read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { 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 #12 = { nounwind }
attributes #13 = { nounwind willreturn memory(none) }
attributes #14 = { cold nounwind }
attributes #15 = { noreturn nounwind }
attributes #16 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 96}
!16 = !{!"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, !17, i64 24, !18, 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, !19, i64 144, !10, i64 152, !19, i64 160, !19, 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, !20, i64 304, !21, 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, !18, i64 448}
!17 = !{!"certs_by_type", !7, i64 0}
!18 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!19 = !{!"long", !7, i64 0}
!20 = !{!"s2n_x509_trust_store", !10, i64 0, !6, i64 8}
!21 = !{!"short", !7, i64 0}
!22 = !{!23, !10, i64 24}
!23 = !{!"s2n_security_policy", !7, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !12, i64 56, !7, i64 57}
!24 = !{!16, !6, i64 232}
!25 = !{!26, !10, i64 8}
!26 = !{!"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, !27, i64 160, !19, i64 168, !19, 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, !28, i64 240, !10, i64 632, !10, i64 640, !29, i64 648, !34, i64 1144, !37, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !39, i64 1776, !39, i64 1816, !39, i64 1856, !39, i64 1896, !6, i64 1936, !19, i64 1944, !7, i64 1952, !39, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !40, i64 2004, !40, i64 2008, !41, i64 2016, !21, i64 2208, !6, i64 2212, !21, i64 2216, !19, i64 2224, !7, i64 2232, !19, i64 2240, !19, i64 2248, !19, i64 2256, !40, i64 2264, !40, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !18, i64 2792, !6, i64 2816, !18, i64 2824, !18, i64 2848, !18, i64 2872, !43, i64 2896, !45, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !18, i64 3784, !6, i64 3808, !47, i64 3816, !7, i64 3848, !39, i64 3992, !18, i64 4032, !18, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !21, i64 4084, !21, i64 4086, !6, i64 4088, !6, i64 4092, !18, i64 4096, !6, i64 4120, !48, i64 4128, !40, i64 4176, !7, i64 4180, !7, i64 4181}
!27 = !{!"s2n_timer", !19, i64 0}
!28 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!29 = !{!"s2n_kex_parameters", !30, i64 0, !31, i64 8, !7, i64 24, !31, i64 56, !32, i64 72, !32, i64 184, !7, i64 296, !33, i64 360, !18, i64 448, !18, i64 472}
!30 = !{!"s2n_dh_params", !10, i64 0}
!31 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!32 = !{!"s2n_kem_group_params", !10, i64 0, !33, i64 8, !31, i64 96}
!33 = !{!"s2n_kem_params", !10, i64 0, !18, i64 8, !18, i64 32, !18, i64 56, !12, i64 80}
!34 = !{!"s2n_handshake_parameters", !35, i64 0, !35, i64 48, !18, i64 96, !6, i64 120, !36, 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}
!35 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!36 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!37 = !{!"s2n_psk_parameters", !6, i64 0, !38, i64 8, !21, i64 40, !21, i64 42, !10, i64 48, !6, i64 56}
!38 = !{!"s2n_array", !18, i64 0, !6, i64 24, !6, i64 28}
!39 = !{!"s2n_stuffer", !18, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!40 = !{!"", !6, i64 0}
!41 = !{!"s2n_handshake", !39, 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, !42, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!42 = !{!"s2n_offered_early_data", !10, i64 0}
!43 = !{!"s2n_client_hello", !18, i64 0, !44, i64 24, !18, i64 728, !18, i64 752, !18, 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}
!44 = !{!"", !7, i64 0, !18, i64 672, !21, i64 696}
!45 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !21, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !46, i64 48, !12, i64 52}
!46 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!47 = !{!"s2n_ticket_fields", !18, i64 0, !6, i64 24}
!48 = !{!"s2n_post_handshake", !39, i64 0, !7, i64 40}
!49 = !{!7, !7, i64 0}
!50 = !{!16, !10, i64 336}
!51 = !{!16, !10, i64 344}
!52 = !{!16, !7, i64 297}
!53 = !{!26, !21, i64 4084}
!54 = !{!16, !6, i64 396}
!55 = !{!26, !6, i64 1688}
!56 = !{!57, !6, i64 24}
!57 = !{!"s2n_cert_chain_and_key", !10, i64 0, !10, i64 8, !18, i64 16, !18, i64 40, !10, i64 64, !10, i64 72, !10, i64 80}
!58 = !{!16, !6, i64 416}
!59 = !{!16, !6, i64 420}
!60 = !{!16, !10, i64 432}
!61 = !{!16, !10, i64 424}
!62 = !{!16, !10, i64 256}
!63 = !{!16, !10, i64 264}
!64 = !{!16, !10, i64 272}
!65 = !{!16, !10, i64 280}
!66 = distinct !{!66, !67}
!67 = !{!"llvm.loop.mustprogress"}
!68 = !{!69, !10, i64 0}
!69 = !{!"s2n_debug_info", !10, i64 0, !10, i64 8}
!70 = !{!69, !10, i64 8}
!71 = !{!57, !10, i64 8}
!72 = !{!16, !10, i64 304}
!73 = distinct !{!73, !67}
!74 = distinct !{!74, !67}
!75 = distinct !{!75, !67}
!76 = distinct !{!76, !67}
!77 = !{!21, !21, i64 0}
!78 = !{!23, !10, i64 16}
!79 = !{!23, !10, i64 40}
!80 = !{!81, !7, i64 0}
!81 = !{!"s2n_ecc_preferences", !7, i64 0, !10, i64 8}
!82 = distinct !{!82, !67}
!83 = !{!84, !10, i64 0}
!84 = !{!"s2n_security_policy_selection", !10, i64 0, !10, i64 8, !6, i64 16, !6, i64 16, !6, i64 16}
!85 = distinct !{!85, !67}
!86 = !{!84, !10, i64 8}
!87 = !{!26, !7, i64 220}
!88 = distinct !{!88, !67}
!89 = !{i64 0, i64 1, !49, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 8, !9, i64 32, i64 8, !9, i64 40, i64 8, !9, i64 48, i64 8, !9, i64 56, i64 1, !11, i64 57, i64 2, !49}
!90 = !{!23, !12, i64 56}
!91 = !{!16, !10, i64 16}
!92 = !{!23, !10, i64 48}
!93 = !{!23, !10, i64 32}
!94 = !{!95, !7, i64 0}
!95 = !{!"s2n_certificate_key_preferences", !7, i64 0, !10, i64 8}
!96 = !{!97, !7, i64 0}
!97 = !{!"s2n_signature_preferences", !7, i64 0, !10, i64 8}
!98 = !{!26, !7, i64 217}
!99 = !{!26, !7, i64 218}


; Effective O3 passes: ADCEPass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopInstSimplifyPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass